screen-api/src/main/java/com/moral/api/controller/AllocationController.java
@@ -11,6 +11,7 @@ import com.moral.api.pojo.ext.allocation.AllocationExcelExt; import com.moral.api.pojo.ext.allocation.AllocationExt; import com.moral.api.pojo.ext.allocation.AllocationPageExt; import com.moral.api.pojo.query.ResponsibilityUnitQuery; import com.moral.api.pojo.query.allocation.*; import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; import com.moral.api.pojo.vo.allocation.AllocationListExcelVo; @@ -18,6 +19,7 @@ import com.moral.api.pojo.vo.allocation.AllocationVo; import com.moral.api.pojo.vo.file.FileAddressVo; import com.moral.api.service.AllocationService; import com.moral.api.service.ResponsibilityUnitService; import com.moral.api.utils.*; import com.moral.constant.Constants; import com.moral.constant.PageResult; @@ -53,6 +55,8 @@ private String basePath; @Autowired private AllocationService allocationService; @Autowired private ResponsibilityUnitService responsibilityUnitService; @ApiOperation(value = "污染类型", notes = "污染类型") @@ -274,4 +278,12 @@ return basePath.replaceAll(StringUtils.BACKSLASH.concat(StringUtils.BACKSLASH), StringUtils.SLASH).concat(StringUtils.SLASH).concat(path); } @GetMapping("unitQuery") @ApiOperation("显示责任主体") public ResultMessage unitQuery(){ List<ResponsibilityUnitQuery> responsibilityUnitQueries = responsibilityUnitService.unitQuery(); return ResultMessage.ok(responsibilityUnitQueries); } } screen-api/src/main/java/com/moral/api/pojo/query/ResponsibilityUnitQuery.java
New file @@ -0,0 +1,43 @@ package com.moral.api.pojo.query; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; /** * Description //todo * * @author swb * @ClassName ResponsibilityUnitQuery * @date 2024.09.03 15:18 */ @Data @EqualsAndHashCode(callSuper = false) public class ResponsibilityUnitQuery extends Model<ResponsibilityUnitQuery> { //责任单位id private Integer unitId; /** * 单位名称 */ private String unitName; /** * 所属编码 */ private Integer areaCode; /** * 上级编码 */ private Integer parentCode; /* * 子级地区 * */ @TableField(exist = false) private List<ResponsibilityUnitQuery> children; } screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java
@@ -28,7 +28,7 @@ private String allocationNum; @ApiModelProperty(value = "责任单位id") private Integer unitId; private List<Integer> unitId; @ApiModelProperty(value = "污染分类id") private Integer polluteType; screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.pojo.query.ResponsibilityUnitQuery; public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> { @@ -23,5 +24,11 @@ List<ResponsibilityUnit> selectAreaUnit(Integer code); /** * 显示责任主体 * @return */ List<ResponsibilityUnitQuery> unitQuery(); } screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -211,9 +211,13 @@ public Map<String, Object> selectUnitView(Map<String, Object> map) { QueryWrapper<Allocation> wrapper = new QueryWrapper<>(); //获取用户信息 List<Integer> list = this.unitResult(); if (!ObjectUtils.isEmpty(map.get("unitId"))){ wrapper.in("unit_id",map.get("unitId").toString()); String unitId = map.get("unitId").toString(); // unitId.split(","); List<String> list1 = Arrays.asList(unitId.split(",")); wrapper.in("unit_id",list1); }else { if (!ObjectUtils.isEmpty(list)){ Integer integer = list.get(0); @@ -373,7 +377,11 @@ //获取用户信息 List<Integer> list = this.unitResult(); if (!ObjectUtils.isEmpty(map.get("unitId"))){ wrapper.in("unit_id",map.get("unitId").toString()); String unitId = map.get("unitId").toString(); // unitId.split(","); List<String> list1 = Arrays.asList(unitId.split(",")); wrapper.in("unit_id",list1); // wrapper.in("unit_id",map.get("unitId").toString()); }else { if (!ObjectUtils.isEmpty(list)){ Integer integer = list.get(0); screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
@@ -1,15 +1,24 @@ package com.moral.api.service.impl; import org.apache.xmlbeans.impl.xb.xsdschema.Public; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.mapper.ResponsibilityUnitMapper; import com.moral.api.pojo.query.ResponsibilityUnitQuery; import com.moral.api.service.AllocationService; import com.moral.api.service.ResponsibilityUnitService; @Service @@ -17,6 +26,10 @@ @Autowired private ResponsibilityUnitMapper responsibilityUnitMapper; @Autowired private AllocationService allocationService; /** * 根据上级区域编码或者数据 * @@ -50,4 +63,91 @@ List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper); return responsibilityUnits; } /** * 显示责任主体 * * @return */ @Override public List<ResponsibilityUnitQuery> unitQuery() { List<Integer> list = allocationService.unitResult(); LambdaQueryWrapper<ResponsibilityUnit> wrapper = new LambdaQueryWrapper<>(); if (!ObjectUtils.isEmpty(list)){ wrapper.in(ResponsibilityUnit::getUnitId,list); } List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper); ArrayList<ResponsibilityUnitQuery> sysAreas = new ArrayList<>(); for (ResponsibilityUnit responsibilityUnit : responsibilityUnits) { ResponsibilityUnitQuery responsibilityUnitQuery = new ResponsibilityUnitQuery(); BeanUtils.copyProperties(responsibilityUnit,responsibilityUnitQuery); sysAreas.add(responsibilityUnitQuery); } Map<Integer, Integer> areaMap1 = new HashMap<>(); Map<Integer, ResponsibilityUnitQuery> areaMap = new HashMap<>(); for (ResponsibilityUnitQuery responsibilityUnitQuery : sysAreas) { if (responsibilityUnitQuery.getUnitName().equals("市大气办")){ areaMap1.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery.getUnitId()); responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode()); responsibilityUnitQuery.setUnitName("江苏省——盐城市"); } if (responsibilityUnitQuery.getUnitName().equals("海城监控中心")){ areaMap1.put(responsibilityUnitQuery.getAreaCode(),responsibilityUnitQuery.getUnitId()); responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode()); responsibilityUnitQuery.setUnitName("辽宁省——海城市"); } areaMap.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery); responsibilityUnitQuery.setChildren(new ArrayList<>());//初始化children集合 } //遍历所有城市,判断是否有父城市,如果有则添加到父城市中。 for (int i = 0; i < sysAreas.size(); i++) { ResponsibilityUnitQuery responsibilityUnitQuery = sysAreas.get(i); Integer parentCode = responsibilityUnitQuery.getParentCode(); ResponsibilityUnitQuery parentArea = areaMap.get(parentCode); if (responsibilityUnitQuery.getAreaCode().equals(210381)|| responsibilityUnitQuery.getAreaCode().equals(320900)){ Integer integer = areaMap1.get(responsibilityUnitQuery.getAreaCode()); ResponsibilityUnitQuery rsUnitQuery = new ResponsibilityUnitQuery(); rsUnitQuery.setUnitId(integer); rsUnitQuery.setParentCode(responsibilityUnitQuery.getParentCode()); if (responsibilityUnitQuery.getAreaCode().equals(210381)){ rsUnitQuery.setUnitName("海城监控中心"); }else { rsUnitQuery.setUnitName("市大气办"); } rsUnitQuery.setAreaCode(responsibilityUnitQuery.getAreaCode()); rsUnitQuery.setChildren(new ArrayList<>()); List<ResponsibilityUnitQuery> children = responsibilityUnitQuery.getChildren(); children.add(rsUnitQuery); responsibilityUnitQuery.setChildren(children); } if (ObjectUtils.isEmpty(parentArea)){ continue; } List<ResponsibilityUnitQuery> children = parentArea.getChildren(); children.add(responsibilityUnitQuery); sysAreas.remove(responsibilityUnitQuery); i--; } /* if (!ObjectUtils.isEmpty(sysAreas.get(0).getChildren())){ ArrayList<ResponsibilityUnitQuery> result = new ArrayList<>(); for (ResponsibilityUnitQuery responsibilityUnitQuery : sysAreas) { ArrayList<ResponsibilityUnitQuery> responsibilityUnitQueries = new ArrayList<>(); responsibilityUnitQueries.add(responsibilityUnitQuery); ResponsibilityUnitQuery responsibilityUnitQuery1 = new ResponsibilityUnitQuery(); SysArea areaByCode = sysAreaService.getAreaByCode(responsibilityUnitQuery.getParentCode()); responsibilityUnitQuery1.setParentCode(areaByCode.getParentCode()); responsibilityUnitQuery1.setAreaCode(areaByCode.getAreaCode()); responsibilityUnitQuery1.setUnitName(areaByCode.getAreaName()); responsibilityUnitQuery1.setUnitId(areaByCode.getAreaCode()); responsibilityUnitQuery1.setChildren(responsibilityUnitQueries); result.add(responsibilityUnitQuery1); } return result; }*/ return sysAreas; } } screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml
@@ -43,8 +43,11 @@ <where> 1 = 1 and allocationextension.is_del = 0 <if test="allocation.unitId != null and allocation.unitId != 0"> and t1.unit_id = #{allocation.unitId} <if test="allocation.unitId != null and allocation.unitId.size != 0"> and t1.unit_id in <foreach collection="allocation.unitId" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach> </if> <if test="allocation.polluteType != null and allocation.polluteType != 0"> and t1.pollute_type = #{allocation.polluteType} screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java
@@ -2,6 +2,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.ibatis.annotations.Update; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; @@ -18,6 +19,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.pojo.dto.responsibilityUnit.ResponsibilityUnitQuery; import com.moral.api.service.ResponsibilityUnitService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; @@ -115,4 +117,13 @@ responsibilityUnitService.removeById(unitId); return ResultMessage.ok(); } @GetMapping("query") @ApiOperation("显示已有的责任单位") public ResultMessage query(){ List<ResponsibilityUnitQuery> responsibilityUnitQueries = responsibilityUnitService.unitQuery(); return ResultMessage.ok(responsibilityUnitQueries); } } screen-manage/src/main/java/com/moral/api/pojo/dto/responsibilityUnit/ResponsibilityUnitQuery.java
New file @@ -0,0 +1,43 @@ package com.moral.api.pojo.dto.responsibilityUnit; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; /** * Description //todo * * @author swb * @ClassName ResponsibilityUnitQuery * @date 2024.09.03 11:47 */ @Data @EqualsAndHashCode(callSuper = false) public class ResponsibilityUnitQuery extends Model<ResponsibilityUnitQuery> { //责任单位id private Integer unitId; /** * 单位名称 */ private String unitName; /** * 所属编码 */ private Integer areaCode; /** * 上级编码 */ private Integer parentCode; /* * 子级地区 * */ @TableField(exist = false) private List<ResponsibilityUnitQuery> children; } screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.pojo.dto.responsibilityUnit.ResponsibilityUnitQuery; public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> { @@ -18,4 +19,6 @@ void updateState(Integer unitId); void updateInvalid(Integer unitId,String code); List<ResponsibilityUnitQuery> unitQuery(); } screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
@@ -1,6 +1,7 @@ package com.moral.api.service.impl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -8,11 +9,15 @@ import org.springframework.web.context.request.ServletRequestAttributes; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.function.Predicate; import javax.servlet.http.HttpServletRequest; import com.alibaba.fastjson.JSONArray; @@ -20,9 +25,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.datatype.jsr310.ser.YearSerializer; import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.entity.SysArea; import com.moral.api.mapper.ResponsibilityUnitMapper; import com.moral.api.pojo.dto.responsibilityUnit.ResponsibilityUnitQuery; import com.moral.api.pojo.redisBean.AccountInfoDTO; import com.moral.api.service.ResponsibilityUnitService; import com.moral.api.service.SysAreaService; @@ -82,19 +89,21 @@ // wrapper.eq("is_invalid",0); int page = Integer.parseInt(parameters.get("page").toString()); int size = Integer.parseInt(parameters.get("size").toString()); Object parentName1 = parameters.get("parentCode"); Object areaName1 = parameters.get("areaCode"); Object unitId = parameters.get("unitId"); // Object parentName1 = parameters.get("parentCode"); // Object areaName1 = parameters.get("areaCode"); //名称模糊查询 if (!ObjectUtils.isEmpty(parameters.get("name"))){ wrapper.like("unit_name",parameters.get("name").toString()); } //上级区域查询 /* //上级区域查询 if (!ObjectUtils.isEmpty(parentName1)){ wrapper.eq("parent_code",Integer.parseInt(parentName1.toString())); } }*/ //所属区域查询 if (!ObjectUtils.isEmpty(areaName1)){ wrapper.eq("parent_code",Integer.parseInt(areaName1.toString())); if (!ObjectUtils.isEmpty(unitId)){ // List<String> list = Arrays.asList(unitId.toString().split(",")); wrapper.eq("unit_id",unitId.toString()); } Page<ResponsibilityUnit> pageList = new Page<>(page, size); Page<ResponsibilityUnit> responsibilityUnitPage = responsibilityUnitMapper.selectPage(pageList, wrapper); @@ -183,6 +192,65 @@ } @Override public List<ResponsibilityUnitQuery> unitQuery() { List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(null); ArrayList<ResponsibilityUnitQuery> sysAreas = new ArrayList<>(); for (ResponsibilityUnit responsibilityUnit : responsibilityUnits) { ResponsibilityUnitQuery responsibilityUnitQuery = new ResponsibilityUnitQuery(); BeanUtils.copyProperties(responsibilityUnit,responsibilityUnitQuery); sysAreas.add(responsibilityUnitQuery); } Map<Integer, Integer> areaMap1 = new HashMap<>(); Map<Integer, ResponsibilityUnitQuery> areaMap = new HashMap<>(); for (ResponsibilityUnitQuery responsibilityUnitQuery : sysAreas) { if (responsibilityUnitQuery.getUnitName().equals("市大气办")){ areaMap1.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery.getUnitId()); responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode()); responsibilityUnitQuery.setUnitName("江苏省——盐城市"); } if (responsibilityUnitQuery.getUnitName().equals("海城监控中心")){ areaMap1.put(responsibilityUnitQuery.getAreaCode(),responsibilityUnitQuery.getUnitId()); responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode()); responsibilityUnitQuery.setUnitName("辽宁省——海城市"); } areaMap.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery); responsibilityUnitQuery.setChildren(new ArrayList<>());//初始化children集合 } //遍历所有城市,判断是否有父城市,如果有则添加到父城市中。 for (int i = 0; i < sysAreas.size(); i++) { ResponsibilityUnitQuery responsibilityUnitQuery = sysAreas.get(i); Integer parentCode = responsibilityUnitQuery.getParentCode(); ResponsibilityUnitQuery parentArea = areaMap.get(parentCode); if (responsibilityUnitQuery.getAreaCode().equals(210381)|| responsibilityUnitQuery.getAreaCode().equals(320900)){ Integer integer = areaMap1.get(responsibilityUnitQuery.getAreaCode()); ResponsibilityUnitQuery rsUnitQuery = new ResponsibilityUnitQuery(); rsUnitQuery.setUnitId(integer); rsUnitQuery.setParentCode(responsibilityUnitQuery.getParentCode()); if (responsibilityUnitQuery.getAreaCode().equals(210381)){ rsUnitQuery.setUnitName("海城监控中心"); }else { rsUnitQuery.setUnitName("市大气办"); } rsUnitQuery.setAreaCode(responsibilityUnitQuery.getAreaCode()); rsUnitQuery.setChildren(new ArrayList<>()); List<ResponsibilityUnitQuery> children = responsibilityUnitQuery.getChildren(); children.add(rsUnitQuery); responsibilityUnitQuery.setChildren(children); } if (ObjectUtils.isEmpty(parentArea)){ continue; } List<ResponsibilityUnitQuery> children = parentArea.getChildren(); children.add(responsibilityUnitQuery); sysAreas.remove(responsibilityUnitQuery); i--; } return sysAreas; } /** * 获取用户信息