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 79af38d5..1ac1bf0a 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 @@ -573,7 +573,7 @@ public class ChanjetManager { // materialIds.addAll(dataGroupById.keySet()); List doList = materialMapper.selectList(new LambdaQueryWrapper() {{ - in(MaterialDO::getId, dataGroupById.keySet()); + in(MaterialDO::getCode, dataGroupById.keySet()); }}); Map> existsDOGroupById = doList.stream().collect(Collectors.groupingBy(MaterialDO::getCode)); @@ -822,11 +822,25 @@ public class ChanjetManager { resDTO.setExternalId(values.get(0)); resDTO.setExternalCode(values.get(1)); resDTO.setCustomerId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(2))); -// MaterialDO materialDOByCode = materialMapper.selectOne(MaterialDO::getCode,values.get(9)); -// if(materialDOByCode!=null){ -// resDTO.setMaterialId(materialDOByCode.getId()); -// } - resDTO.setMaterialId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(3))); + MaterialDO materialDOByCode = materialMapper.selectOne(MaterialDO::getCode,values.get(9)); + if(materialDOByCode!=null){ + resDTO.setMaterialId(materialDOByCode.getId()); + }else{ + materialDOByCode = new MaterialDO(); + materialDOByCode.setCode(values.get(9)); + materialDOByCode.setName(values.get(10)); + materialDOByCode.setShortName(values.get(10)); + materialDOByCode.setSpec(values.get(11)); + materialDOByCode.setExternalCode(values.get(9)); + materialDOByCode.setStatus(ValidStatusEnum.VALID.getCode()); + materialDOByCode.setUnit(values.get(4)); + materialDOByCode.setMaterialType(values.get(12)); + materialDOByCode.setInventoryProperty(6); + + materialMapper.insert(materialDOByCode); + resDTO.setMaterialId(materialDOByCode.getId()); + } +// resDTO.setMaterialId(ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(3))); resDTO.setUnit(values.get(4)); resDTO.setAmount(new BigDecimal(values.get(5)).intValue()); resDTO.setWarehouseId(StringUtils.isEmpty(values.get(6)) ? null : ChanjetSpi.getIdPrefix() + Long.parseLong(values.get(6))); @@ -899,7 +913,7 @@ public class ChanjetManager { if(saleOrderDetail.getInventory().getCode().equals(mid)) { for (Integer idx = 0; idx < saleOrderDetail.getDynamicPropertyValues().size(); idx++) { - if (saleOrderDetail.getDynamicPropertyKeys().get(idx).contains("freeItem0".toLowerCase()) + if (saleOrderDetail.getDynamicPropertyKeys().get(idx).equals("freeItem0".toLowerCase()) && !StringUtils.isEmpty(saleOrderDetail.getDynamicPropertyValues().get(idx))) { String color = saleOrderDetail.getDynamicPropertyValues().get(idx); 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 dfb87cde..aa4b649b 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 @@ -245,7 +245,7 @@ public class ChanjetSchedule { // 判断物料编码+物料名称+规格+颜色是否存在 for (Integer idx = 0; idx < topLayer.getDynamicPropertyValues().size(); idx++) { - if (topLayer.getDynamicPropertyKeys().get(idx).contains("freeItem0".toLowerCase()) + if (topLayer.getDynamicPropertyKeys().get(idx).equals("freeItem0".toLowerCase()) && !StringUtils.isEmpty(topLayer.getDynamicPropertyValues().get(idx))) { String color = topLayer.getDynamicPropertyValues().get(idx); @@ -354,7 +354,7 @@ public class ChanjetSchedule { //判断物料编码+物料名称+规格+颜色是否存在 // 判断物料编码+物料名称+规格+颜色是否存在 for (Integer idx = 0; idx < dto.getDynamicPropertyValues().size(); idx++) { - if (dto.getDynamicPropertyKeys().get(idx).contains("freeitem0".toLowerCase()) + if (dto.getDynamicPropertyKeys().get(idx).equals("freeitem0".toLowerCase()) && !StringUtils.isEmpty(dto.getDynamicPropertyValues().get(idx))) { String color = dto.getDynamicPropertyValues().get(idx); @@ -440,11 +440,13 @@ public class ChanjetSchedule { if(dataList == null) dataList = new ArrayList<>(16); dataList.forEach(ro->{ TplusLastestStockDO tplusLastestStockDO = tplusLastestStockMapper.selectOne(TplusLastestStockDO::getWarehouseCode,ro.getWarehouseCode(),TplusLastestStockDO::getInventoryCode,ro.getInventoryCode()); + MaterialDO materialDO = materialMapper.selectOne(MaterialDO::getCode,ro.getInventoryCode()); if(tplusLastestStockDO== null){ tplusLastestStockDO = new TplusLastestStockDO(); tplusLastestStockDO.setId(null); tplusLastestStockDO.setWarehouseId(ro.getWarehouseID2()); - tplusLastestStockDO.setInventoryId(ro.getInventoryID2()); +// tplusLastestStockDO.setInventoryId(ro.getInventoryID2()); + tplusLastestStockDO.setInventoryId(materialDO==null?null:materialDO.getId().toString()); tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode()); tplusLastestStockDO.setWarehouseName(ro.getWarehouseName()); tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode()); @@ -461,7 +463,8 @@ public class ChanjetSchedule { // insertList.add(newDo); }else{ tplusLastestStockDO.setWarehouseId(ro.getWarehouseID2()); - tplusLastestStockDO.setInventoryId(ro.getInventoryID2()); +// tplusLastestStockDO.setInventoryId(ro.getInventoryID2()); + tplusLastestStockDO.setInventoryId(materialDO==null?null:materialDO.getId().toString()); tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode()); tplusLastestStockDO.setWarehouseName(ro.getWarehouseName()); tplusLastestStockDO.setWarehouseCode(ro.getWarehouseCode());