From 52f362970a6794a576c7f03117ef5e3ff742909b Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Wed, 19 Feb 2025 13:11:33 +0800 Subject: [PATCH] =?UTF-8?q?kitting=20=E4=BF=AE=E5=A4=8D=E6=8B=89=E5=8A=A8?= =?UTF-8?q?=E7=BB=84=E6=98=8E=E7=BB=86=E5=8F=AF=E4=BB=A5=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=8B=89=E5=8A=A8=E9=9B=B6=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesWorkOrderService.java | 50 +++++++++++----------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index e266462..4bae17e 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -981,7 +981,7 @@ public class MesWorkOrderService extends BaseMesService implements private void insertPullOrderInfo(MesWorkOrder mesWorkOrder,List bomPullList,MesPartPull mesPartPull,List mesPartPullDetailList,String organizeCode,int i, int roundPackQty){ // 计算所有拉动单的数量,生成拉动单 - Map pullDetailMap = mesPartPullDetailList.stream().collect(Collectors.toMap(MesPartPullDetail::getPullPartNo, Function.identity())); + Map> pullDetailMap = mesPartPullDetailList.stream().filter(item->!StringUtils.isEmpty(item.getPullPartNo())).collect(Collectors.groupingBy(MesPartPullDetail::getPullPartNo)); List pullDetailPartList = mesPartPullDetailList.stream().map(MesPartPullDetail::getPullPartNo).collect(Collectors.toList()); String kittingOrderNoRuleCode = mesConfigService.getCfgValue(organizeCode, "KITTING_ORDER_NO_RULE_CODE"); GenSerialNoModel genSerialNoModel = new GenSerialNoModel(kittingOrderNoRuleCode); @@ -1010,30 +1010,32 @@ public class MesWorkOrderService extends BaseMesService implements List filterBomList = bomPullList.stream().filter(item -> pullDetailPartList.contains(item.getItemPartNo())).collect(Collectors.toList()); for (MesBom mesBom : filterBomList) { MesPullingOrderPartInfo detail = new MesPullingOrderPartInfo(); - MesPartPullDetail mesPartPullDetail = pullDetailMap.get(mesBom.getItemPartNo()); - detail.setOrganizeCode(organizeCode); - detail.setPullCode(pullingOrder.getPullCode()); - detail.setPullingOrderNo(pullingOrder.getPullingOrderNo()); - detail.setWorkOrderNo(pullingOrder.getWorkOrderNo()); - detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq()); - detail.setCustOrderNo(pullingOrder.getCustOrderNo()); - detail.setPartNo(mesBom.getItemPartNo()); - detail.setPartName(mesBom.getItemPartName()); - double remainingQty = mesBom.getItemQty() - i * roundPackQty; - if (remainingQty < -roundPackQty){ - continue; - } - detail.setPullQty(remainingQty > 0 ? roundPackQty : (mesBom.getItemQty() - (i-1) * roundPackQty)); - detail.setCustOrderNo(pullingOrder.getCustOrderNo()); - detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq()); - detail.setWaterSeq(pullingOrder.getProductSeq()); - detail.setWorkCellCode(mesPartPullDetail.getWorkCellCode()); + List mesPartPullDetailList1 = pullDetailMap.get(mesBom.getItemPartNo()); + for (MesPartPullDetail mesPartPullDetail : mesPartPullDetailList1) { + detail.setOrganizeCode(organizeCode); + detail.setPullCode(pullingOrder.getPullCode()); + detail.setPullingOrderNo(pullingOrder.getPullingOrderNo()); + detail.setWorkOrderNo(pullingOrder.getWorkOrderNo()); + detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq()); + detail.setCustOrderNo(pullingOrder.getCustOrderNo()); + detail.setPartNo(mesBom.getItemPartNo()); + detail.setPartName(mesBom.getItemPartName()); + double remainingQty = mesBom.getItemQty() - i * roundPackQty; + if (remainingQty < -roundPackQty){ + continue; + } + detail.setPullQty(remainingQty > 0 ? roundPackQty : (mesBom.getItemQty() - (i-1) * roundPackQty)); + detail.setCustOrderNo(pullingOrder.getCustOrderNo()); + detail.setWorkOrderSeq(pullingOrder.getWorkOrderSeq()); + detail.setWaterSeq(pullingOrder.getProductSeq()); + detail.setWorkCellCode(mesPartPullDetail.getWorkCellCode()); // detail.setStatus(MesExtEnumUtil.PULL_ORDER_PART_STATUS.UN_SENTED.getValue());///明细已送料为1,未送料为0 - detail.setCustPartNo(pullingOrder.getCustPartNo()); - detail.setCarSeries(pullDetailMap.get(mesBom.getItemPartNo()) == null ? "" : pullDetailMap.get(mesBom.getItemPartNo()).getCarSeries()); - detail.setOrderFlag(pullingOrder.getOrderFlag()); - ConvertBean.serviceModelInitialize(detail, AuthUtil.getSessionUser().getUserName()); - pullingOrderPartInfoRao.insert(detail); + detail.setCustPartNo(pullingOrder.getCustPartNo()); + detail.setCarSeries(mesPartPullDetail.getCarSeries() == null ? "" : mesPartPullDetail.getCarSeries()); + detail.setOrderFlag(pullingOrder.getOrderFlag()); + ConvertBean.serviceModelInitialize(detail, AuthUtil.getSessionUser().getUserName()); + pullingOrderPartInfoRao.insert(detail); + } } }