| | |
| | | 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 |
| | |
| | | |
| | | @Autowired |
| | | private ResponsibilityUnitMapper responsibilityUnitMapper; |
| | | |
| | | @Autowired |
| | | private AllocationService allocationService; |
| | | |
| | | /** |
| | | * 根据上级区域编码或者数据 |
| | | * |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |