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 a5359725..9ad6a31d 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 @@ -126,7 +126,7 @@ public class EbomApi extends BaseApi { @ApiOperation("生成虚拟包") @LogRecord(success = "生成虚拟包:物料编码:{{#gvbom.materialNo}} 版本:{{#gvbom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#paramDto.bomRowId}}", type = "生成虚拟包") - public ResultVO generateVirtualPackage(@RequestBody VirtualPackageParamDto paramDto) { + public ResultVO generateVirtualPackage(@RequestBody VirtualPackageParamDto paramDto) throws IOException { VUtils.isTure(CollUtil.isEmpty(paramDto.getVirtualPackageValue())).throwMessage("请选择要生成的虚拟包"); //检查-是否已 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 6779e1dd..b2dd9d68 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 @@ -644,8 +644,8 @@ public class BomNewEbomParentService extends ServiceImpl getAllocationFactoryBomTree(AllocationFactoryBomQuery param) throws ExecutionException, InterruptedException { - List allBom = getAllBom(param.getBomRowId(), 0); + List allBom = getAllBom(param.getBomRowId(), 1); materialMainService.intiMaterialInfo(allBom, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); return CTreePBomUtils.toTree(param.getBomRowId(), allBom, BomNewPbomParentVO::getParentRowId, BomNewPbomParentVO::getBomRowId); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java index b0d6afa7..f8e0be9b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java @@ -48,7 +48,7 @@ public class VirtualPackageFor21 extends VirtualPackageBase { BomNewEbomParentEntity makingPackage=null; - if((parent.getVirtrualPackageEnum()| VirtualPackageTypeEnum.MAKING_PACKAGE.getValue())!=VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()) { + if((parent.getVirtrualPackageEnum()& VirtualPackageTypeEnum.MAKING_PACKAGE.getValue())!=VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()) { //构建构建发货包下制作包 makingPackage = buildParentVirtualPackage( parent.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE,"001"); //构建构建发货包下直发 @@ -69,13 +69,15 @@ public class VirtualPackageFor21 extends VirtualPackageBase { } List child = getChild(); //将产品子级放制作包下 - for (BomNewEbomParentVO item : child) { + if(Objects.nonNull(makingPackage)) { + for (BomNewEbomParentVO item : child) { - BomNewEbomChildEntity itemUp = new BomNewEbomChildEntity(); - itemUp.setRowId(item.getRowId()); - itemUp.setParentRowId(makingPackage.getRowId()); - this.childResult.add(itemUp); + BomNewEbomChildEntity itemUp = new BomNewEbomChildEntity(); + itemUp.setRowId(item.getRowId()); + itemUp.setParentRowId(makingPackage.getRowId()); + this.childResult.add(itemUp); + } } parent.setVirtrualPackageEnum(virtualPackageValue.stream().collect(Collectors.summingInt(u->u))); parentResult.add(parent); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java index 068f6fb6..3341e79e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java @@ -2,6 +2,7 @@ package com.nflg.product.bomnew.service.domain.OriginalBom; import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.toolkit.IdWorker; @@ -127,6 +128,7 @@ public abstract class BaseConvert { parentEntity.setCreatedBy(SessionUtil.getUserCode()); parentEntity.setCreatedTime(LocalDateTime.now()); parentEntity.setShouldBomExist(material.getShouldBomExist()); + parentEntity.setTotalWeight(NumberUtil.mul(parentEntity.getUnitWeight(),parentEntity.getNum()) ); if (StrUtil.isNotBlank(material.getMaterialCategoryCode()) &&(material.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) || material.getMaterialCategoryCode().startsWith("30") || ( material.getMaterialCategoryCode().startsWith("20") && material.getMaterialGetType().equals(MaterialGetEnum.developing.getValue())))){ @@ -156,6 +158,7 @@ public abstract class BaseConvert { childEntity.setCreatedBy(SessionUtil.getUserCode()); childEntity.setRemark(material.getRemark()); childEntity.setShouldBomExist(material.getShouldBomExist()); + childEntity.setTotalWeight(NumberUtil.mul(childEntity.getUnitWeight(),childEntity.getNum())); this.resultChild.add(childEntity); return childEntity;