From 81695c67562b55493a2e98263223c5440e28feed Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期三, 03 八月 2022 14:18:58 +0800 Subject: [PATCH] 合并fix --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java | 80 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 76 insertions(+), 4 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 d1c2a5b..6aab315 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; @@ -16,14 +18,13 @@ import com.gkhy.safePlatform.equipment.repository.EquipmentInfoRepository; 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 +53,10 @@ @Autowired private EquipmentCheckStandardDetailService equipmentCheckStandardDetailService; + + @DubboReference(check = false) + private AccountDepartmentService accountDepartmentService; + @Override public ResultVO queryAll(PageQuery<EquipmentInfoQueryCriteria> pageQuery) { Long pageIndex = pageQuery.getPageIndex(); @@ -87,6 +92,29 @@ 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());}); + checkDetailList.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()));}); + checkDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); + repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));}); + }); return new SearchResultVO<>( true, @@ -110,6 +138,7 @@ if(equipmentInfo == null){ return null; } + EquipmentInfoDto infoDto = BeanCopyUtils.copyBean(equipmentInfo, EquipmentInfoDto.class); //设备保养 @@ -150,6 +179,27 @@ 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());}); + checkDetailList.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()));}); + checkDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));}); + repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));}); return infoDto; } @@ -245,4 +295,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