From d08acc96d37e12dfe6129b2b7c2c408ec017b681 Mon Sep 17 00:00:00 2001 From: swb <jpy123456> Date: Fri, 06 Sep 2024 11:12:03 +0800 Subject: [PATCH] fix:修改立行立改责任主体 --- screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 1 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 f03423f..95cd1df 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; + /** * ������������������������������������ * @@ -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; + } + } -- Gitblit v1.8.0