From 92b57a06f0f0e92ff58268b64c48741ef030e924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 11 May 2024 15:34:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(ebom):=20=E4=BF=AE=E6=94=B9source=5Frow=5Fi?= =?UTF-8?q?d=E7=94=B1long=E5=8F=98=E4=B8=BAstring=E7=9A=84=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/EbomApi.java | 2 +- .../service/BomNewEbomParentService.java | 24 ++++++++++++------- .../bomnew/service/domain/EBom/EBomEdit.java | 4 ++-- .../service/domain/EBom/EBomToPBom.java | 4 ++-- .../domain/EBom/VirtualPackageBase.java | 2 +- .../OriginalBom/OriginalBomToEBomConvert.java | 2 +- 6 files changed, 22 insertions(+), 16 deletions(-) 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());