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); }