From b5fc4cd4d568c8a632c7f18c5f934de525ff9646 Mon Sep 17 00:00:00 2001 From: siontion Date: Tue, 6 Aug 2024 15:23:51 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=8E=B7=E5=8F=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=92=8C=E7=89=A9=E6=96=99=E3=80=91=E6=9B=B4=E6=96=B0=E7=89=A9?= =?UTF-8?q?=E6=96=99=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/biz/manager/ChanjetManager.java | 60 ++++++++++--------- .../module/biz/manager/ChanjetSchedule.java | 14 ++--- 2 files changed, 38 insertions(+), 36 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 3e9fe2ad..62bef0f7 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 @@ -883,7 +883,7 @@ public class ChanjetManager { // 子项目处理 // 相同物料累计数量 - voList.stream().collect(Collectors.groupingBy(QuerySaleOrderListResDTO::getMaterialId)).forEach((mid, mList) -> { + voList.stream().collect(Collectors.groupingBy(QuerySaleOrderListResDTO::getMaterialCode)).forEach((mid, mList) -> { ProjectOrderSubDO subDO = new ProjectOrderSubDO(); BeanUtil.copyProperties(mList.get(0), subDO); @@ -891,34 +891,36 @@ public class ChanjetManager { for(SaleOrderDetail saleOrderDetail : saleOrder.getSaleOrderDetails()){ - for(Integer idx=0;idx(){{ - eq(MaterialDO::getName,mList.get(0).getMaterialName()); - eq(MaterialDO::getCode,mList.get(0).getMaterialCode()); - eq(MaterialDO::getSpec,mList.get(0).getMaterialSpec()); - eq(MaterialDO::getColor,color); - }}); - if(materialDOWithColor== null){ - materialDOWithColor = new MaterialDO(); - materialDOWithColor.setCode(mList.get(0).getMaterialCode()+"-"+color); - materialDOWithColor.setName(mList.get(0).getMaterialName()+"-"+color); - materialDOWithColor.setShortName(mList.get(0).getMaterialName()+"-"+color); - materialDOWithColor.setColor(color); - materialDOWithColor.setSpec(mList.get(0).getMaterialSpec()); - materialDOWithColor.setExternalCode(mList.get(0).getMaterialCode()); - materialDOWithColor.setStatus(ValidStatusEnum.VALID.getCode()); - materialDOWithColor.setUnit(mList.get(0).getUnit()); - materialDOWithColor.setMaterialType(mList.get(0).getMaterialType()); - materialDOWithColor.setInventoryProperty(6); - - materialMapper.insert(materialDOWithColor); - - subDO.setMaterialId(materialDOWithColor.getId()); + if(saleOrderDetail.getInventory().getCode().equals(mid)) { + for (Integer idx = 0; idx < saleOrderDetail.getDynamicPropertyValues().size(); idx++) { + if (saleOrderDetail.getDynamicPropertyKeys().get(idx).contains("freeItem".toLowerCase()) + && !StringUtils.isEmpty(saleOrderDetail.getDynamicPropertyValues().get(idx))) { + + String color = saleOrderDetail.getDynamicPropertyValues().get(idx); + + MaterialDO materialDOWithColor = materialMapper.selectOne(new LambdaQueryWrapper() {{ + eq(MaterialDO::getName, mList.get(0).getMaterialName()); + eq(MaterialDO::getCode, mList.get(0).getMaterialCode()); + eq(MaterialDO::getSpec, mList.get(0).getMaterialSpec()); + eq(MaterialDO::getColor, color); + }}); + if (materialDOWithColor == null) { + materialDOWithColor = new MaterialDO(); + materialDOWithColor.setCode(mList.get(0).getMaterialCode() + "-" + color); + materialDOWithColor.setName(mList.get(0).getMaterialName() + "-" + color); + materialDOWithColor.setShortName(mList.get(0).getMaterialName() + "-" + color); + materialDOWithColor.setColor(color); + materialDOWithColor.setSpec(mList.get(0).getMaterialSpec()); + materialDOWithColor.setExternalCode(mList.get(0).getMaterialCode()); + materialDOWithColor.setStatus(ValidStatusEnum.VALID.getCode()); + materialDOWithColor.setUnit(mList.get(0).getUnit()); + materialDOWithColor.setMaterialType(mList.get(0).getMaterialType()); + materialDOWithColor.setInventoryProperty(6); + + materialMapper.insert(materialDOWithColor); + + subDO.setMaterialId(materialDOWithColor.getId()); + } } } } diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetSchedule.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetSchedule.java index dbf3daf4..535a53d2 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetSchedule.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetSchedule.java @@ -175,8 +175,8 @@ public class ChanjetSchedule { @Transactional(rollbackFor = Exception.class) public void queryProcessBom(String projectOrderCode) throws ChanjetApiException { TenantContextHolder.setTenantId(new Long(2)); - // 存在新物料标记位 - final Boolean[] hasNewMat = {false}; +// // 存在新物料标记位 +// final Boolean[] hasNewMat = {false}; ProjectOrderDO projectOrderDO = projectOrderMapper.selectOne(ProjectOrderDO::getCode,projectOrderCode); List projectOrderSubDOS = projectOrderSubMapper.selectListAll(projectOrderCode); List codes = new ArrayList<>(); @@ -186,11 +186,11 @@ public class ChanjetSchedule { List bomMaterialVOS = queryProcessBom(so.getProjectSubCode(), so.getWarehouseId()); if (CollUtil.isNotEmpty(bomMaterialVOS)) { - bomMaterialVOS.forEach(mo->{ - if(materialMapper.selectOne(MaterialDO::getCode,mo.getProjectSubCode())==null){ - hasNewMat[0] = true; - } - }); +// bomMaterialVOS.forEach(mo->{ +// if(materialMapper.selectOne(MaterialDO::getCode,mo.getProjectSubCode())==null){ +// hasNewMat[0] = true; +// } +// }); List insertList = BeanUtils.toBean(bomMaterialVOS, TplusLastestBomDO.class);