From fabd08d87d00bfdf1aacf473fd905fdd3c903ed3 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期五, 02 九月 2022 10:10:14 +0800 Subject: [PATCH] Merge branches 'genchuang' and 'master' of https://sinanoaq.cn:8888/r/safePlatform-out into genchuang --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java | 150 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 136 insertions(+), 14 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..1217145 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; } @@ -174,7 +233,15 @@ if(StringUtils.hasText(infoDto.getDelTakecareDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTakecareDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); - equipmentTakecareDetailService.removeByIds(idList); + + List<EquipmentTakecareDetail> delList = new ArrayList<>(); + idList.forEach(f->{ + EquipmentTakecareDetail info = new EquipmentTakecareDetail(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + equipmentTakecareDetailService.updateBatchById(delList); } @@ -189,7 +256,14 @@ if(StringUtils.hasText(infoDto.getDelTestDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTestDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); - equipmentTestDetailService.removeByIds(idList); + List<EquipmentTestDetail> delList = new ArrayList<>(); + idList.forEach(f->{ + EquipmentTestDetail info = new EquipmentTestDetail(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + equipmentTestDetailService.updateBatchById(delList); } //设备检查 TODO @@ -205,7 +279,14 @@ if(StringUtils.hasText(infoDto.getDelRepaireDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelRepaireDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); - equipmentRepairDetailService.removeByIds(idList); + List<EquipmentRepairDetail> delList = new ArrayList<>(); + idList.forEach(f->{ + EquipmentRepairDetail info = new EquipmentRepairDetail(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + equipmentRepairDetailService.updateBatchById(delList); } //保存检查标准 @@ -218,7 +299,14 @@ if(StringUtils.hasText(infoDto.getDelCheckStandardeDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelCheckStandardeDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); - equipmentCheckStandardDetailService.removeByIds(idList); + List<EquipmentCheckStandardDetail> delList = new ArrayList<>(); + idList.forEach(f->{ + EquipmentCheckStandardDetail info = new EquipmentCheckStandardDetail(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + equipmentCheckStandardDetailService.updateBatchById(delList); } //保存保养标准 @@ -231,7 +319,14 @@ if(StringUtils.hasText(infoDto.getDelTakecareStardardeDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTakecareStardardeDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); - equipmentTakecareStardardDetailService.removeByIds(idList); + List<EquipmentTakecareStardardDetail> delList = new ArrayList<>(); + idList.forEach(f->{ + EquipmentTakecareStardardDetail info = new EquipmentTakecareStardardDetail(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + equipmentTakecareStardardDetailService.updateBatchById(delList); } @@ -243,6 +338,33 @@ .select("stop_status as stopStatus,count(0) as count") .groupBy("stop_status"); - return this.listMaps(wrapper); + List<Map<String, Object>> list = this.listMaps(wrapper); + + + Map<String, Object> map = new HashMap<>(); + map.put("-1",equipmentInfoRepository.countOverTime());//超时未保养 + return list; + } + + @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