songhuangfeng123
2022-08-10 56ba708b25e1834eeb6c0366945b2c1fbafcfbe5
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,6 +96,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());});
            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,
@@ -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;
    }
}