diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java index 116da8d9..289c63e1 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java @@ -19,9 +19,7 @@ import com.nflg.product.technology.job.PBomFormalTreeTask; import com.nflg.product.technology.mapper.master.ProcessRouteTaskAssemblyMapper; import com.nflg.product.technology.mapper.master.ProcessRouteTaskMapper; import com.nflg.product.technology.mapper.master.ProcessRouteTaskProcessesMapper; -import com.nflg.product.technology.pojo.entity.ProcessRouteTaskAssemblyEntity; -import com.nflg.product.technology.pojo.entity.ProcessRouteTaskEntity; -import com.nflg.product.technology.pojo.entity.ProcessRouteTaskProcessesEntity; +import com.nflg.product.technology.pojo.entity.*; import com.nflg.product.technology.pojo.query.ProcessRouteTaskQuery; import com.nflg.product.technology.pojo.vo.*; import nflg.product.common.constant.STATE; @@ -55,6 +53,8 @@ public class ProcessRouteTaskService extends ServiceImpl taskProcessesEntityList = processRouteTaskProcessesService.lambdaQuery().eq(ProcessRouteTaskProcessesEntity::getTaskRowId, rowId).list(); if (ObjectUtil.isNotEmpty(taskProcessesEntityList)) { processRouteTaskVO.setProcessesVOList(Convert.toList(ProcessRouteTaskProcessesVO.class, taskProcessesEntityList)); + initWorkCenterField(processRouteTaskVO.getProcessesVOList(), processRouteTaskEntity.getFactory()); } List taskAssemblyEntityList = processRouteTaskAssemblyService.lambdaQuery().eq(ProcessRouteTaskAssemblyEntity::getTaskRowId, rowId).list(); if (ObjectUtil.isNotEmpty(taskAssemblyEntityList)) { processRouteTaskVO.setAssemblyVOList(Convert.toList(ProcessRouteTaskAssemblyVO.class, taskAssemblyEntityList)); + initMaterialDesc(processRouteTaskVO.getAssemblyVOList()); } return processRouteTaskVO; } + private void initMaterialDesc(List assemblyVOList) { + Set materialNos = new HashSet<>(); + assemblyVOList.forEach(item -> { + materialNos.add(item.getMaterialNo()); + materialNos.add(item.getParentMaterialNo()); + }); + List materialMainEntities = this.materialMainService.lambdaQuery().in(MaterialMainEntity::getMaterialNo, materialNos).list(); + if (CollUtil.isNotEmpty(materialMainEntities)) { + Map materialMap = materialMainEntities.stream().collect(Collectors.toMap(MaterialMainEntity::getMaterialNo, MaterialMainEntity::getMaterialDesc,(k1, k2)->k1)); + assemblyVOList.forEach(item -> { + item.setMaterialDesc(materialMap.get(item.getMaterialNo())); + item.setParentMaterialDesc(materialMap.get(item.getParentMaterialNo())); + }); + } + } + + private void initWorkCenterField(List processesVOList, String factory) { + if (ObjectUtil.isEmpty(factory)) { + return; + } + Set workCenterSet = processesVOList.stream().map(ProcessRouteTaskProcessesVO::getWorkCenter).collect(Collectors.toSet()); + List workCenterEntityList = this.processWorkCenterService.lambdaQuery().in(ProcessWorkCenterEntity::getWorkCenter, workCenterSet).list(); + if (CollUtil.isNotEmpty(workCenterEntityList)) { + processesVOList.forEach(processesVO -> { + List matchWorkCenters = workCenterEntityList.stream().filter(item -> item.getFactory().equals(factory) && item.getWorkCenter().equals(processesVO.getWorkCenter())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(matchWorkCenters)) { + processesVO.setWorkCenterName(matchWorkCenters.get(0).getName()); + processesVO.setStandardTextCode(matchWorkCenters.get(0).getStandardTextCode()); + processesVO.setStandardTextCodeDescription(matchWorkCenters.get(0).getStandardTextCodeDescription()); + } + }); + } + } + @Transactional(rollbackFor = Exception.class) public void save(ProcessRouteTaskVO processRouteTaskVO) { if (!"tempSave".equals(processRouteTaskVO.getSaveType())) {