From 1bdd6405e8caffc058066bdd26cb6de1ea9cf7ea Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期二, 09 八月 2022 18:35:39 +0800 Subject: [PATCH] 8-9fix --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java | 76 +++++++++++++++++++++++++++++++++++-- 1 files changed, 71 insertions(+), 5 deletions(-) diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java index b0c60ad..1c87836 100644 --- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java +++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java @@ -1,13 +1,17 @@ package com.gkhy.safePlatform.equipment.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 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.equipment.entity.*; import com.gkhy.safePlatform.equipment.model.dto.req.*; +import com.gkhy.safePlatform.equipment.repository.EquipmentTypeMngRepository; import com.gkhy.safePlatform.equipment.repository.KeypointEquipmentInfoRepository; import com.gkhy.safePlatform.equipment.service.*; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import com.gkhy.safePlatform.commons.enums.ResultCodes; @@ -20,8 +24,7 @@ import org.springframework.util.StringUtils; import java.io.Serializable; -import java.util.Arrays; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -51,6 +54,15 @@ @Autowired private EquipmentCheckStandardDetailService equipmentCheckStandardDetailService; + + @DubboReference(check = false) + private AccountDepartmentService accountDepartmentService; + + @Autowired + private EquipmentInfoService equipmentInfoService; + + @Autowired + private EquipmentTypeMngRepository equipmentTypeMngRepository; @Override public ResultVO queryAll(PageQuery<KeypointEquipmentInfoQueryCriteria> pageQuery) { @@ -62,8 +74,7 @@ QueryHelpPlus.getPredicate(KeypointEquipmentInfo.class, pageQuery.getSearchParams())); List<KeypointEquipmentInfoDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), KeypointEquipmentInfoDto.class); - // TODO:获取所属部门名称 - + Set<Long> collectTypeIdSet = new HashSet(); //获取额外信息 respList.forEach(f->{ //设备保养 @@ -89,11 +100,45 @@ criteria2.setInfoTpe(3); List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2); f.setRepaireDetailList(repairDetailList); + + // --------------------------- 获取设备设施类型管理ID----------------------- + collectTypeIdSet.add(f.getEquipmentTypeId()); + + // --------------------------- 获取部门信息----------------------- + //收集所用到的部门ID + Set<Long> collectDepIdSet = new HashSet(); + collectDepIdSet.add(f.getDepartmentId()); + 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 = equipmentInfoService.getDepName(collectDepIdSet); + + //set + f.setDepartmentName(depNameMap.get(f.getDepartmentId())); + 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()));}); }); + + + //获取设备设施类型名称 + if(!collectTypeIdSet.isEmpty()){ + List<EquipmentTypeMng> typeMngList = equipmentTypeMngRepository.selectList(new QueryWrapper<EquipmentTypeMng>().in("id",collectTypeIdSet)); + Map<Long, String> typePool = new HashMap<>(); + typeMngList.forEach(f->{ + typePool.put(f.getId(),f.getTypeName()); + }); + respList.forEach(f->{ + f.setEquipmentTypeName(typePool.get(f.getEquipmentTypeId())); + }); + } + return new SearchResultVO<>( true, pageIndex, - pageSize, + pageSize,page.getPages(), page.getTotal(), respList, ResultCodes.OK @@ -153,6 +198,27 @@ List<EquipmentTakecareStardardDetail> takecareStardardDetailList = equipmentTakecareStardardDetailService.queryAll(criteria4); infoDto.setTakecareStardardeDetailList(takecareStardardDetailList); + // --------------------------- 获取部门信息----------------------- + //收集所用到的部门ID + Set<Long> collectDepIdSet = new HashSet(); + collectDepIdSet.add(infoDto.getDepartmentId()); + 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 = equipmentInfoService.getDepName(collectDepIdSet); + + //set + infoDto.setDepartmentName(depNameMap.get(infoDto.getDepartmentId())); + 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()));}); + + EquipmentTypeMng typeMng = equipmentTypeMngRepository.selectOne(new QueryWrapper<EquipmentTypeMng>().eq("id",infoDto.getEquipmentTypeId())); + if(typeMng != null){ + infoDto.setEquipmentTypeName(typeMng.getTypeName()); + } return infoDto; } -- Gitblit v1.9.2