diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1ExtDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1ExtDTO.java index 4de92909..429a1912 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1ExtDTO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1ExtDTO.java @@ -43,4 +43,6 @@ public class T1ExtDTO { * 是否是直发包 */ private boolean isZFB = false; + + private Long childRowId; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomExportToSAP.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomExportToSAP.java index a1cc42ac..71314654 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomExportToSAP.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomExportToSAP.java @@ -137,7 +137,7 @@ public class BomNewEbomExportToSAP { private void addToT1(T1ExtDTO dto) { if (StrUtil.equals(dto.getPOSTP(), BomConstant.PROJECT_TYPE_TEMPORARY) - || children.stream().noneMatch(c -> StrUtil.equals(c.getIDNRK(), dto.getIDNRK()) && StrUtil.equals(c.getMATNR(), dto.getMATNR()))) { + || children.stream().noneMatch(c -> Objects.equals(c.getChildRowId(), dto.getChildRowId()))) { children.add(dto); } } @@ -157,6 +157,7 @@ public class BomNewEbomExportToSAP { t.setIDNRK(""); t.setPOTX1(child.getMaterialDesc()); } + t.setChildRowId(child.getRowId()); return t; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java index 7c66debb..128de216 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java @@ -200,6 +200,7 @@ public class BomNewPbomExportToSAPImpl implements IBomNewPbomExportToSAP { t.setIDNRK(""); t.setPOTX1(child.getMaterialDesc()); } + t.setChildRowId(child.getRowId()); return t; } @@ -259,7 +260,7 @@ public class BomNewPbomExportToSAPImpl implements IBomNewPbomExportToSAP { private void addToT1(T1ExtDTO dto) { if (StrUtil.equals(dto.getPOSTP(), BomConstant.PROJECT_TYPE_TEMPORARY) - || children.stream().noneMatch(c -> StrUtil.equals(c.getIDNRK(), dto.getIDNRK()) && StrUtil.equals(c.getMATNR(), dto.getMATNR()))) { + || children.stream().noneMatch(c -> Objects.equals(c.getChildRowId(), dto.getChildRowId()))) { children.add(dto); } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index cdf3d62f..4f761055 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -15,6 +15,7 @@ import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; +import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1ExtDTO; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; @@ -403,12 +404,12 @@ public class DQBomService { sapDto.setI_WERKS("1"); sapDto.setI_STLAN("1"); sapDto.setI_EMPNO(root.getCreatedBy()); - List t1s = new ArrayList<>(); + List t1s = new ArrayList<>(); String dateYMD = DateUtil.format(new Date(), "yyyyMMdd"); datas.forEach(d -> { if (StrUtil.equals(BomConstant.PROJECT_TYPE_TEMPORARY, d.getProjectType()) - || t1s.stream().noneMatch(c -> StrUtil.equals(c.getIDNRK(), d.getMaterialNo()) && StrUtil.equals(c.getMATNR(), d.getParentMaterialNo()))) { - T1DTO t1 = new T1DTO(); + || t1s.stream().noneMatch(c -> Objects.equals(c.getChildRowId(), d.getRowId()))) { + T1ExtDTO t1 = new T1ExtDTO(); t1.setID(RandomUtil.randomNumbers(5)); t1.setMATNR(d.getParentMaterialNo()); t1.setMENGE(d.getNum().toString()); @@ -426,11 +427,12 @@ public class DQBomService { t1.setMEINS(bm.getMaterialUnit()); } } + t1.setChildRowId(d.getRowId()); t1s.add(t1); } }); - sapDto.setT1(t1s); + sapDto.setT1(Convert.toList(T1DTO.class, t1s)); SapStatusEnum state = SapStatusEnum.PUB_ERROR_ALL; List liErrMsg = null; try {