diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 323a7164..5fbb0feb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -484,7 +484,7 @@ public class EbomApi extends BaseApi { */ @GetMapping("getSource") @ApiOperation("获取对应的原始bom") - public ResultVO getSource(@Valid @RequestParam("rowId") @NotNull Long rowId) { + public ResultVO> getSource(@Valid @RequestParam("rowId") @NotNull Long rowId) { return ResultVO.success(bomNewEbomParentService.getSource(rowId)); } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index 61332f08..4effc2a9 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -2305,25 +2305,31 @@ public class BomNewEbomParentService extends ServiceImpl getSource(Long rowId) { VUtils.isTure(Objects.isNull(rowId) || rowId == 0).throwMessage("无效的数据"); BomNewEbomParentEntity parent = getById(rowId); if (!Objects.isNull(parent)) { - if (parent.getSourceRowId() != 0) { - BomNewOriginalParentEntity op = originalParentService.getById(parent.getSourceRowId()); - if (!Objects.isNull(op)) { - return Convert.convert(BomOriginalListVO.class, op); + if (StrUtil.isNotBlank(parent.getSourceRowId())) { + List rowIds = Arrays.stream(parent.getSourceRowId().split(",")).map(Long::valueOf).collect(Collectors.toList()); + List originals = originalParentService.lambdaQuery() + .in(BomNewOriginalParentEntity::getRowId, rowIds) + .list(); + if (CollUtil.isNotEmpty(originals)) { + return Convert.toList(BomOriginalListVO.class, originals); } } } else { BomNewEbomChildEntity child = ebomChildService.getById(rowId); if (!Objects.isNull(child)) { - if (child.getSourceRowId() != 0) { - BomNewOriginalChildEntity oc = originalChildService.getById(child.getSourceRowId()); - if (!Objects.isNull(oc)) { - return Convert.convert(BomOriginalListVO.class, oc); + if (StrUtil.isNotBlank(child.getSourceRowId())) { + List rowIds = Arrays.stream(child.getSourceRowId().split(",")).map(Long::valueOf).collect(Collectors.toList()); + List originals = originalChildService.lambdaQuery() + .in(BomNewOriginalChildEntity::getRowId, rowIds) + .list(); + if (CollUtil.isNotEmpty(originals)) { + return Convert.toList(BomOriginalListVO.class, originals); } } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java index 10be5913..aee621f3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java @@ -73,7 +73,7 @@ public class EBomEdit { parent.setCurrentVersion("A00"); parent.setDeviseName(SessionUtil.getRealName()); parent.setDeptName(SessionUtil.getDepartName()); - parent.setSourceRowId("0"); + parent.setSourceRowId(""); parent.setSource(source); parent.setStatus(EBomStatusEnum.WAIT_CHECK.getValue()); parent.setNum(new BigDecimal(1)); @@ -201,7 +201,7 @@ public class EBomEdit { child.setSource(source); child.setCreatedTime(LocalDateTime.now()); child.setCreatedBy(SessionUtil.getUserCode()); - child.setSourceRowId("0"); + child.setSourceRowId(""); child.setParentRowId(parentEntity.getRowId()); if(StrUtil.isEmpty(child.getOrderNumber())){ child.setOrderNumber("00"); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index bade296c..147e5c55 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -200,7 +200,7 @@ public class EBomToPBom { BomNewEbomParentVO lastVirtualPackage = getLastVirtualPackage(vo, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE); if (Objects.nonNull(lastVirtualPackage)) { liftingLayerSummary(lastVirtualPackage, vo); - vo.setSourceRowId(vo.getParentRowId()); + vo.setSourceRowId(String.valueOf(vo.getParentRowId())); vo.setSourceParentMaterialNo(getParentMaterialNo(vo.getBomRowId())); vo.setParentRowId(lastVirtualPackage.getBomRowId()); result.add(vo); @@ -215,7 +215,7 @@ public class EBomToPBom { BomNewEbomParentVO lastVirtualPackage = getLastVirtualPackage(vo, VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE); if (Objects.nonNull(lastVirtualPackage)) { liftingLayerSummary(lastVirtualPackage, vo); - vo.setSourceRowId(vo.getParentRowId()); + vo.setSourceRowId(String.valueOf(vo.getParentRowId())); vo.setSourceParentMaterialNo(getParentMaterialNo(vo.getBomRowId())); vo.setParentRowId(lastVirtualPackage.getBomRowId()); result.add(vo); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java index 558d1d2a..eeca95b7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java @@ -193,7 +193,7 @@ public abstract class VirtualPackageBase { parent.setBomExist(1); parent.setMaterialUnit("PC"); parent.setMaterialOriginalUnit("PC"); - parent.setSourceRowId(0L); + parent.setSourceRowId(""); parent.setLastVersionIs(1); parent.setNum(new BigDecimal(1)); parent.setDeviseUserCode(SessionUtil.getUserCode()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java index 73fe5526..e51275e1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java @@ -323,7 +323,7 @@ public class OriginalBomToEBomConvert extends BaseConvert { eBomParent.setSource(EBomSourceEnum.FROM_BOM.getValue()); eBomParent.setCurrentVersion(VersionUtil.getNextVersion(Objects.isNull(ebom) ? "" : VersionUtil.getNextVersion(ebom.getCurrentVersion()) )); eBomParent.setConvertToEbomTime(LocalDateTime.now()); - eBomParent.setSourceRowId(parentEnt.getBomRowId()); + eBomParent.setSourceRowId(String.valueOf(parentEnt.getBomRowId())); eBomParent.setLastVersionIs(1); eBomParent.setEditStatus(EbomEditStatusEnum.HANDLER_CREATED.getValue()); //eBomParent.setModifyTime(LocalDateTime.now());