diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/TestApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/TestApi.java index 3d90fa6a..238fe4cc 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/TestApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/TestApi.java @@ -40,10 +40,10 @@ public class TestApi { List t1s = new ArrayList<>(); T1DTO t1 = new T1DTO(); t1.setID(RandomUtil.randomNumbers(5)); - t1.setMATNR("2200022146"); - t1.setIDNRK("2100724596"); + t1.setMATNR("2100677191"); + t1.setIDNRK("1100002498"); t1.setMEINS("PC"); - t1.setMENGE("1.00"); + t1.setMENGE("3.00"); t1.setPOSTP("L"); t1.setDATUM(dateYMD); t1s.add(t1); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java index fc0ddf28..a6098bfb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java @@ -112,30 +112,23 @@ public class DQBomImportService { //将导入图号重设为主物料图号 Set pMaterialNos = parents.stream().map(BomNewDQbomParentEntity::getMaterialNo).collect(Collectors.toSet()); List oldParents = dQBomParentService.getLatestByMaterialNo(pMaterialNos); - Set cMaterialNos = children.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toSet()); - cMaterialNos.addAll(pMaterialNos); - List materialBaseInfos = materialMainService.getMaterialBaseInfo(new ArrayList<>(cMaterialNos)); parents.forEach(p -> { - BomNewDQbomParentEntity oldParent = oldParents.stream().filter(op -> op.getMaterialNo().equals(p.getMaterialNo())).findFirst().orElse(null); + BomNewDQbomParentEntity oldParent = oldParents.stream() + .filter(op -> op.getMaterialNo().equals(p.getMaterialNo())) + .findFirst() + .orElse(null); if (!Objects.isNull(oldParent) && Objects.equals(oldParent.getStatus(), DQBomStatusEnum.WAIT_CONVERT.getValue())) { dQBomParentService.getBaseMapper().deleteById(oldParent.getRowId()); dQBomChildService.deleteAllChildren(oldParent.getRowId()); } - BaseMaterialVO vo = materialBaseInfos.stream().filter(m -> m.getMaterialNo().equals(p.getMaterialNo())).findFirst().orElse(null); - if (!Objects.isNull(vo)) { - p.setDrawingNo(vo.getDrawingNo()); - } }); dQBomParentService.setLastVersionIs0(pMaterialNos); dQBomParentService.saveBatch(parents); - children.forEach(c -> { - BaseMaterialVO vo = materialBaseInfos.stream().filter(m -> m.getMaterialNo().equals(c.getMaterialNo())).findFirst().orElse(null); - if (!Objects.isNull(vo)) { - c.setDrawingNo(vo.getDrawingNo()); - } - }); dQBomChildService.saveBatch(children); - BomNewDQbomParentEntity root = parents.stream().filter(p -> p.getRootIs() == 1).findFirst().orElseThrow(() -> new NflgBusinessException(STATE.BusinessError, "根节点不存在")); + BomNewDQbomParentEntity root = parents.stream() + .filter(p -> p.getRootIs() == 1) + .findFirst() + .orElseThrow(() -> new NflgBusinessException(STATE.BusinessError, "根节点不存在")); dQBomService.checkException(root.getRowId()); } @@ -143,15 +136,6 @@ public class DQBomImportService { List children) throws JsonProcessingException { log.debug("checkInconsistentData,entity:" + JsonUtil.toJson(parent)); BomNewDQbomParentEntity oldParent = dQBomParentService.getLatestByMaterialNo(parent.getMaterialNo()); - // if (parent.getRowId() > 0) { - // old = dQBomParentService.getLatestByMaterialNo(parent.getMaterialNo()); - // } else { - // old = dQBomChildService.lambdaQuery() - // .eq(BomNewDQbomChildEntity::getParentRowId, parent.getRowId()) - // .eq(BomNewDQbomChildEntity::getMaterialNo, parent.getMaterialNo()) - // .one(); - // } - //BomNewDQbomParentEntity oldParent = dQBomParentService.getLatestByMaterialNo(parent.getMaterialNo()); boolean isSame = true; if (Objects.isNull(oldParent)) { return false; @@ -171,8 +155,6 @@ public class DQBomImportService { isSame = cc.size() == oc.size() && cc.stream().filter(c -> c.getProjectType().equals(BomConstant.PROJECT_TYPE_TEMPORARY)).count() == oc.stream().filter(c -> c.getProjectType().equals(BomConstant.PROJECT_TYPE_TEMPORARY)).count() && Sets.difference(cc.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toSet()), oc.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toSet())).isEmpty(); - //VUtils.isTure(isSame).throwMessage("导入的数据已存在,请勿重复导入"); - for (BomNewDQbomChildEntity ccc : cc) { if (!checkInconsistentData(parent.getRowId(), ccc, parents, children)) { isSame = false; @@ -249,15 +231,6 @@ public class DQBomImportService { ); } - // List noProjectType = datas.stream().filter(u -> !TYPES.contains(u.getProjectType())) - // .map(BaseImportExcelDTO::getRowNum) - // .collect(Collectors.toList()); - // if (!noProjectType.isEmpty()) { - // errorMsg.addAll(noProjectType.stream().map(n -> OperationErrorMsgVO.create("第" + n + "行", "项目类别不正确")) - // .collect(Collectors.toList()) - // ); - // } - List remarkTooLong = datas.stream().filter(u -> StringUtil.CountForMysql(u.getRemark()) > 200) .map(BaseImportExcelDTO::getRowNum) .collect(Collectors.toList()); @@ -267,6 +240,18 @@ public class DQBomImportService { ); } + List materialNos = datas.stream().map(DQbomExcelVO::getMaterialNo).distinct().collect(Collectors.toList()); + List materialBaseInfos = materialMainService.getMaterialBaseInfo(materialNos); + datas.forEach(d -> { + BaseMaterialVO vo = materialBaseInfos.stream() + .filter(m -> m.getMaterialNo().equals(d.getMaterialNo())) + .findFirst() + .orElse(null); + if (!Objects.isNull(vo)) { + d.setDrawingNo(vo.getDrawingNo()); + } + }); + return errorMsg; } 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 568adeda..cf05d9ca 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 @@ -390,7 +390,7 @@ public class DQBomService { ImportSapParamDTO sapDto = new ImportSapParamDTO(); sapDto.setZID(RandomUtil.randomNumbers(5)); sapDto.setI_WERKS("1"); - sapDto.setI_STLAN("2"); + sapDto.setI_STLAN("1"); List t1s = new ArrayList<>(); String dateYMD = DateUtil.format(new Date(), "yyyyMMdd"); datas.forEach(d -> {