From 9d99f8bf60e4cc0feacbe6afe3113c3b044c3675 Mon Sep 17 00:00:00 2001 From: 10001392 <1055202292@qq.com> Date: Thu, 5 Dec 2024 14:43:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF?= =?UTF-8?q?=E3=80=91=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ProcessRouteTaskService.java | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) 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())) {