songhuangfeng123
2022-08-03 81695c67562b55493a2e98263223c5440e28feed
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;
    }
}