From da0cb6ec9344641c5d1820e099131b58149b3fbc Mon Sep 17 00:00:00 2001 From: swb <jpy123456> Date: Fri, 15 Nov 2024 08:44:30 +0800 Subject: [PATCH] fix:国控站显示提交 --- screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 108 insertions(+), 4 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java index c631c98..eed86f4 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java +++ b/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; + /** * ������������������������������������ * @@ -41,13 +54,104 @@ * @return */ @Override - public ResponsibilityUnit selectAreaUnit(Integer code) { + public List<ResponsibilityUnit> selectAreaUnit(Integer code) { QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); wrapper.eq("area_code",code); wrapper.eq("is_del",0); wrapper.eq("state",0); wrapper.eq("is_invalid",0); - ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectOne(wrapper); - return responsibilityUnit; + 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.getUnitId().equals(38)){ + areaMap1.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery.getUnitId()); + responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode()); + responsibilityUnitQuery.setUnitName("������������������������"); + } + if (responsibilityUnitQuery.getUnitId().equals(1)){ + 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)){ + //������������������ + QueryWrapper<ResponsibilityUnit> wr = new QueryWrapper<>(); + wr.eq("area_code",responsibilityUnitQuery.getAreaCode()); + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectOne(wr); + Integer integer = areaMap1.get(responsibilityUnitQuery.getAreaCode()); + ResponsibilityUnitQuery rsUnitQuery = new ResponsibilityUnitQuery(); + rsUnitQuery.setUnitId(integer); + rsUnitQuery.setParentCode(responsibilityUnitQuery.getParentCode()); + if (responsibilityUnitQuery.getAreaCode().equals(210381)){ + rsUnitQuery.setUnitName(responsibilityUnit.getUnitName()); + }else { + rsUnitQuery.setUnitName(responsibilityUnit.getUnitName()); + } + 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; + } + } -- Gitblit v1.8.0