From 56ba708b25e1834eeb6c0366945b2c1fbafcfbe5 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期三, 10 八月 2022 15:38:31 +0800 Subject: [PATCH] 序列化前段修改fix --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 89 insertions(+), 8 deletions(-) diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java index 6124c5e..ba3e45f 100644 --- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java +++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService; +import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; @@ -14,16 +16,16 @@ import com.gkhy.safePlatform.equipment.model.dto.req.*; import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto; import com.gkhy.safePlatform.equipment.repository.EquipmentInfoRepository; +import com.gkhy.safePlatform.equipment.repository.EquipmentTypeMngRepository; import com.gkhy.safePlatform.equipment.service.*; import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.io.Serializable; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -52,6 +54,13 @@ @Autowired private EquipmentCheckStandardDetailService equipmentCheckStandardDetailService; + + @DubboReference(check = false) + private AccountDepartmentService accountDepartmentService; + + @Autowired + private EquipmentTypeMngRepository equipmentTypeMngRepository; + @Override public ResultVO queryAll(PageQuery<EquipmentInfoQueryCriteria> pageQuery) { Long pageIndex = pageQuery.getPageIndex(); @@ -75,8 +84,8 @@ EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria(); criteria1.setEquipmentId(f.getId()); criteria1.setInfoTpe(pageQuery.getSearchParams().getInfoType()); - List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1); - f.setCheckDetailList(checkDetailList); + List<EquipmentTestDetail> testDetailList = equipmentTestDetailService.queryAll(criteria1); + f.setTestDetailList(testDetailList); //设备检查 TODO @@ -87,11 +96,34 @@ criteria2.setInfoTpe(pageQuery.getSearchParams().getInfoType()); List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2); f.setRepaireDetailList(repairDetailList); + + + // --------------------------- 获取部门信息----------------------- + //收集所用到的部门ID + Set<Long> collectDepIdSet = new HashSet(); + collectDepIdSet.add(f.getDepartmentId()); + collectDepIdSet.add(f.getLeadingDepartmentId()); + collectDepIdSet.add(f.getLeadingPersonDepartmentId()); + takecareDetailList.forEach(info->{collectDepIdSet.add(info.getLeadingPersonDepartmentId());}); + testDetailList.forEach(info->{collectDepIdSet.add(info.getTestPersonDepartmentId());}); + repairDetailList.forEach(info->{collectDepIdSet.add(info.getRepairPersonDepartmentId());}); + + //获取部门名集合 + Map<Long,String> depNameMap = getDepName(collectDepIdSet); + + //set + f.setDepartmentName(depNameMap.get(f.getDepartmentId())); + f.setLeadingDepartmentName(depNameMap.get(f.getLeadingDepartmentId())); + f.setLeadingPersonDepartmentName(depNameMap.get(f.getLeadingPersonDepartmentId())); + takecareDetailList.forEach(info->{info.setLeadingPersonDepartmentName(depNameMap.get(info.getLeadingPersonDepartmentId()));}); + testDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); + repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));}); + }); return new SearchResultVO<>( true, pageIndex, - pageSize, + pageSize,page.getPages(), page.getTotal(), respList, ResultCodes.OK @@ -110,6 +142,7 @@ if(equipmentInfo == null){ return null; } + EquipmentInfoDto infoDto = BeanCopyUtils.copyBean(equipmentInfo, EquipmentInfoDto.class); //设备保养 @@ -123,8 +156,8 @@ EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria(); criteria1.setEquipmentId(infoDto.getId()); criteria1.setInfoTpe(infoDto.getInfoType()); - List<EquipmentTestDetail> checkDetailList = equipmentTestDetailService.queryAll(criteria1); - infoDto.setCheckDetailList(checkDetailList); + List<EquipmentTestDetail> testDetailList = equipmentTestDetailService.queryAll(criteria1); + infoDto.setTestDetailList(testDetailList); //设备检查 TODO @@ -150,6 +183,32 @@ List<EquipmentTakecareStardardDetail> takecareStardardDetailList = equipmentTakecareStardardDetailService.queryAll(criteria4); infoDto.setTakecareStardardeDetailList(takecareStardardDetailList); + + // --------------------------- 获取部门信息----------------------- + //收集所用到的部门ID + Set<Long> collectDepIdSet = new HashSet(); + collectDepIdSet.add(infoDto.getDepartmentId()); + collectDepIdSet.add(infoDto.getLeadingDepartmentId()); + collectDepIdSet.add(infoDto.getLeadingPersonDepartmentId()); + takecareDetailList.forEach(info->{collectDepIdSet.add(info.getLeadingPersonDepartmentId());}); + testDetailList.forEach(info->{collectDepIdSet.add(info.getTestPersonDepartmentId());}); + repairDetailList.forEach(info->{collectDepIdSet.add(info.getRepairPersonDepartmentId());}); + + //获取部门名集合 + Map<Long,String> depNameMap = getDepName(collectDepIdSet); + + //set + infoDto.setDepartmentName(depNameMap.get(infoDto.getDepartmentId())); + infoDto.setLeadingDepartmentName(depNameMap.get(infoDto.getLeadingDepartmentId())); + infoDto.setLeadingPersonDepartmentName(depNameMap.get(infoDto.getLeadingPersonDepartmentId())); + takecareDetailList.forEach(info->{info.setLeadingPersonDepartmentName(depNameMap.get(info.getLeadingPersonDepartmentId()));}); + testDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); + repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));}); + + EquipmentTypeMng typeMng = equipmentTypeMngRepository.selectOne(new QueryWrapper<EquipmentTypeMng>().eq("id",infoDto.getEquipmentTypeId())); + if(typeMng != null){ + infoDto.setEquipmentTypeName(typeMng.getTypeName()); + } return infoDto; } @@ -245,4 +304,26 @@ return this.listMaps(wrapper); } + + @Override + public Map<Long,String> getDepName(Set<Long> collectDepIdSet) { + Map<Long, String> depPool = new HashMap<>(); + collectDepIdSet.forEach(depId ->{ + // 设置部门名称 + if (!depPool.containsKey(depId)) { + try { + ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(depId); + if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { + if (rpcResult.getData() != null) { + DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData(); + depPool.put(dep.getDepId(), dep.getDepName()); + } + } + } catch (Exception e) { + log.error("exception",e); + } + } + }); + return depPool; + } } \ No newline at end of file -- Gitblit v1.9.2