From 27e6bc3df3e39e0d0b147b155a89ad6837ea972b Mon Sep 17 00:00:00 2001 From: cjl <909710561@qq.com> Date: Mon, 06 Jan 2025 09:19:24 +0800 Subject: [PATCH] Merge branch 'cjl' into dev --- screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java | 139 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 113 insertions(+), 26 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java index 8c018ed..5676646 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java @@ -1,24 +1,35 @@ 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; import org.springframework.web.context.request.RequestContextHolder; 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; +import com.alibaba.fastjson.JSONObject; 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; @@ -52,7 +63,6 @@ if (ObjectUtils.isEmpty(units)){ responsibilityUnit.setIsDel(Constants.NOT_DELETE); responsibilityUnit.setCreateTime(new Date()); - responsibilityUnit.setState(0); responsibilityUnit.setIsInvalid(0); responsibilityUnit.setCreateId(accountInfoDTO.getAccount().getId()); responsibilityUnit.setCreateName(accountInfoDTO.getAccount().getUserName()); @@ -60,6 +70,7 @@ responsibilityUnit.setUpdateId(accountInfoDTO.getAccount().getId()); responsibilityUnit.setUpdateName(accountInfoDTO.getAccount().getUserName()); responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnit.setValue(JSONArray.toJSONString(responsibilityUnit.getParentCodeList())); responsibilityUnitMapper.insert(responsibilityUnit); return 200; } @@ -75,34 +86,38 @@ public Map<String, Object> selectUnit(Map<String, Object> parameters) { QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); wrapper.eq("is_del",Constants.NOT_DELETE); +// 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); for (ResponsibilityUnit record : responsibilityUnitPage.getRecords()) { Integer areaCode = record.getAreaCode(); - SysArea areaName = sysAreaService.select(areaCode); + SysArea sysArea= sysAreaService.select(areaCode); Integer parentCode = record.getParentCode(); - SysArea parentName = sysAreaService.select(parentCode); - if (ObjectUtils.isEmpty(areaName) || ObjectUtils.isEmpty(parentName)){ + SysArea parentArea = sysAreaService.select(parentCode); + if (ObjectUtils.isEmpty(sysArea) || ObjectUtils.isEmpty(parentArea)){ continue; } - record.setAreaName(areaName.getAreaName()); - record.setParentName(parentName.getAreaName()); + record.setAreaName(sysArea.getAreaName()); + record.setParentName(parentArea.getAreaName()); + record.setParentCodeList(JSONObject.parseObject(record.getValue(),List.class)); } Map<String, Object> result = new LinkedHashMap<>(); result.put("total", pageList.getTotal()); @@ -124,14 +139,17 @@ public Integer updateUnit(ResponsibilityUnit responsibilityUnit) { QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); wrapper.eq("unit_name",responsibilityUnit.getUnitName()); - List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper); - if (ObjectUtils.isEmpty(units)){ - AccountInfoDTO account = getAccount(); - responsibilityUnit.setUpdateId(account.getAccount().getId()); - responsibilityUnit.setUpdateName(account.getAccount().getUserName()); - responsibilityUnit.setUpdateTime(new Date()); - responsibilityUnitMapper.updateById(responsibilityUnit); - return 200; + wrapper.eq("area_code",responsibilityUnit.getAreaCode()); + ResponsibilityUnit responsibilityUnit2 = responsibilityUnitMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(responsibilityUnit2)){ + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnit.setValue(JSONArray.toJSONString(responsibilityUnit.getParentCodeList())); +// responsibilityUnit.setParentCodeList(JSONObject.parseObject(responsibilityUnit.getValue(),List.class)); + responsibilityUnitMapper.updateById(responsibilityUnit); + return 200; } return -1; } @@ -142,9 +160,9 @@ * */ @Override - public void updateState(Integer id) { - ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id); - responsibilityUnit.setState(1); + public void updateState(Integer unitId) { + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId); + responsibilityUnit.setState(Constants.NOT_DELETE); AccountInfoDTO account = getAccount(); responsibilityUnit.setUpdateId(account.getAccount().getId()); responsibilityUnit.setUpdateName(account.getAccount().getUserName()); @@ -155,12 +173,13 @@ /** * ������������ - * @param id + * @param unitId * @param code */ @Override - public void updateInvalid(Integer id, String code) { - ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id); + public void updateInvalid(Integer unitId, String code) { + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId); + responsibilityUnit.setIsInvalid(1); if (!ObjectUtils.isEmpty(code)){ responsibilityUnit.setInvalidReason(code); @@ -173,7 +192,75 @@ } + @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.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--; + } + return sysAreas; + + } + + + /** + * ������������������ + * @return + */ private AccountInfoDTO getAccount(){ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); String token = request.getHeader("token"); -- Gitblit v1.8.0