From 8828c220540a756f7b3c8fa5706205ca9a3a7184 Mon Sep 17 00:00:00 2001 From: siontion Date: Thu, 27 Jun 2024 14:04:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AE=A2=E5=8D=95=20?= =?UTF-8?q?=E5=8D=8A=E6=88=90=E5=93=81=E8=AE=A2=E5=8D=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunxi/mes/module/biz/manager/ChanjetManager.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java index ec75f022..b7d4b384 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java @@ -849,9 +849,9 @@ public class ChanjetManager { private void saveSemiFinishedOrder(MaterialDO materialDO,ProjectOrderSaveReqVO saveReqVO,Integer orderAmount){ // 查询当前物料子件物料信息 List bomDataList = queryProcessBom(materialDO.getCode(),saveReqVO.getWarehouseId()); - if(CollUtil.isNotEmpty(bomDataList) && bomDataList.stream().filter(mo->mo.getMaterialId()!=null && mo.getMaterialId().toString().startsWith("6")).count()>0){ + if(CollUtil.isNotEmpty(bomDataList) && bomDataList.stream().filter(mo->mo.getProjectSubCode()!=null && mo.getProjectSubCode().toString().startsWith("6")).count()>0){ - List mat6 = bomDataList.stream().filter(mo->mo.getMaterialId()!=null && mo.getMaterialId().toString().startsWith("6")).collect(Collectors.toList()); + List mat6 = bomDataList.stream().filter(mo->mo.getProjectSubCode()!=null && mo.getProjectSubCode().toString().startsWith("6")).collect(Collectors.toList()); ProjectOrderDO newProjectOrderDO =BeanUtil.toBean(projectOrderMapper.selectById(saveReqVO.getId()),ProjectOrderDO.class); @@ -859,12 +859,12 @@ public class ChanjetManager { List subDOList = new ArrayList<>(16); mat6.forEach(mo->{ - MaterialDO item = materialMapper.selectById(mo.getMaterialId()); + MaterialDO item = materialMapper.selectOne("code",mo.getProjectSubCode()); BigDecimal matAmount = new BigDecimal("0"); if(mo.getProduceQuantity()==null || mo.getProduceQuantity().equals(0)){ matAmount = matAmount.subtract(mo.getStockQuantity()).add(item.getInvSafe()); }else{ - matAmount = mo.getRequiredQuantity().divide(mo.getProduceQuantity()).multiply(new BigDecimal(orderAmount)).subtract(mo.getStockQuantity()).add(item.getInvSafe()); + matAmount = mo.getRequiredQuantity().divide(mo.getProduceQuantity()).multiply(new BigDecimal(orderAmount)).subtract(mo.getStockQuantity()).add(item.getInvSafe()==null?new BigDecimal(0):item.getInvSafe()); } if(matAmount.intValue()>0){ ProjectOrderSubDO subDO = new ProjectOrderSubDO(); @@ -881,6 +881,7 @@ public class ChanjetManager { newProjectOrderDO.setId(null) .setCode(newProjectOrderDO.getCode()+"-1") + .setExternalCode(newProjectOrderDO.getCode()+"-1") .setStatus(ValidStatusEnum.VALID.getCode()) .setOrderSource(ProjectOrderSourceEnum.INTERFACE.getCode()) .setOrderStatus(ProjectOrderStatusEnum.SAVE.getCode()) @@ -888,7 +889,7 @@ public class ChanjetManager { // 保存订单信息 projectOrderMapper.insert(newProjectOrderDO); - subDOList.stream().map(vo->vo.setProjectOrderId(newProjectOrderDO.getId())); + subDOList.stream().forEach(vo->vo.setProjectOrderId(newProjectOrderDO.getId())); projectOrderSubMapper.insertBatch(subDOList); }