fix: 生成虚拟包时,将虚拟包的状态和处理状态设置为与父级节点一致

This commit is contained in:
曹鹏飞 2024-04-16 16:43:44 +08:00
parent bebf75f301
commit 0301b8e637
3 changed files with 12 additions and 18 deletions

View File

@ -12,7 +12,6 @@ import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import com.nflg.product.bomnew.service.BomNewEbomChildService;
import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.BomNewEbomParentService;
import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.service.MaterialMainService;
import com.nflg.product.bomnew.service.MaterialService; import com.nflg.product.bomnew.service.MaterialService;
@ -22,7 +21,6 @@ import lombok.Getter;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -120,7 +118,7 @@ public abstract class VirtualPackageBase {
return ent; return ent;
} }
protected BomNewEbomParentEntity buildParentVirtualPackage(Long rowId,VirtualPackageTypeEnum virtualPackageTypeEnum ,String orderNum) throws IOException { protected BomNewEbomParentEntity buildParentVirtualPackage(Long rowId, VirtualPackageTypeEnum virtualPackageTypeEnum, String orderNum, BomNewEbomParentEntity p) {
AddVirtrualMaterialDTO addM = vMNos.get(StrUtil.join("",rowId,virtualPackageTypeEnum.getConMaterialName())); AddVirtrualMaterialDTO addM = vMNos.get(StrUtil.join("",rowId,virtualPackageTypeEnum.getConMaterialName()));
BomNewEbomParentEntity oldParent= SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery() BomNewEbomParentEntity oldParent= SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery()
@ -160,7 +158,9 @@ public abstract class VirtualPackageBase {
parent.setCreatedBy(SessionUtil.getUserCode()); parent.setCreatedBy(SessionUtil.getUserCode());
parent.setDeptName(SessionUtil.getDepartName()); parent.setDeptName(SessionUtil.getDepartName());
parent.setSource(EBomSourceEnum.FROM_MDM.getValue()); parent.setSource(EBomSourceEnum.FROM_MDM.getValue());
parent.setModifyTime(LocalDateTime.now()); //parent.setModifyTime(LocalDateTime.now());
parent.setStatus(p.getStatus());
parent.setEditStatus(p.getEditStatus());
this.parentResult.add(parent); this.parentResult.add(parent);
return parent; return parent;
} }

View File

@ -7,7 +7,6 @@ import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -33,7 +32,7 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
* 31物料生成虚拟包 * 31物料生成虚拟包
*/ */
@Override @Override
public void generateVirtualPackage() throws IOException { public void generateVirtualPackage() {
BomNewEbomParentEntity parent = getParentByRowId(bomRowId); BomNewEbomParentEntity parent = getParentByRowId(bomRowId);
@ -50,9 +49,9 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
BomNewEbomParentEntity makingPackage=null; 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"); makingPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE, "001", parent);
//构建构建发货包下直发 //构建构建发货包下直发
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,"002"); BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, "002", parent);
//构建产品-子级为制作包合直发包 //构建产品-子级为制作包合直发包
buildChild(makingPackage, bomRowId, "001", VirtualPackageTypeEnum.MAKING_PACKAGE,parent.getMaterialNo()); buildChild(makingPackage, bomRowId, "001", VirtualPackageTypeEnum.MAKING_PACKAGE,parent.getMaterialNo());
buildChild(directDeliveryPackage, bomRowId, "002", VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,parent.getMaterialNo()); buildChild(directDeliveryPackage, bomRowId, "002", VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,parent.getMaterialNo());
@ -63,7 +62,7 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
if(Objects.isNull(makingPackage)){ if(Objects.isNull(makingPackage)){
makingPackage=getParentZhiZuo(parent.getDrawingNo()); makingPackage=getParentZhiZuo(parent.getDrawingNo());
} }
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getOrderNumber()); BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE, parent.getOrderNumber(), parent);
buildChild(preAssemblyPackage, makingPackage.getRowId(), "001", VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getMaterialNo()); buildChild(preAssemblyPackage, makingPackage.getRowId(), "001", VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getMaterialNo());
} }

View File

@ -2,19 +2,15 @@ package com.nflg.product.bomnew.service.domain.EBom;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.google.common.collect.ImmutableList;
import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.service.MaterialMainService;
import com.nflg.product.bomnew.util.EnumUtils;
import com.nflg.product.bomnew.util.VUtils;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
/** /**
@ -57,16 +53,15 @@ public class VirtualPackageFor31 extends VirtualPackageBase {
} }
for (BomNewEbomParentVO item : child) { for (BomNewEbomParentVO item : child) {
BomNewEbomParentEntity makingPackage=null; BomNewEbomParentEntity makingPackage=null;
if((VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()&parent.getVirtrualPackageEnum())!=VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()) { if((VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()&parent.getVirtrualPackageEnum())!=VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()) {
//构建发货包 //构建发货包
BomNewEbomParentEntity deliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DELIVERY_PACKAGE,item.getOrderNumber()); BomNewEbomParentEntity deliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, item.getOrderNumber(), parent);
//构建构建发货包下制作包 //构建构建发货包下制作包
makingPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE,"002"); makingPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE, "002", parent);
//构建构建发货包下直发 //构建构建发货包下直发
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,"001"); BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, "001", parent);
//构建-产品下发货包-子级 //构建-产品下发货包-子级
buildChild(deliveryPackage, bomRowId, item.getOrderNumber(), VirtualPackageTypeEnum.DELIVERY_PACKAGE,parent.getMaterialNo()); buildChild(deliveryPackage, bomRowId, item.getOrderNumber(), VirtualPackageTypeEnum.DELIVERY_PACKAGE,parent.getMaterialNo());
@ -82,7 +77,7 @@ public class VirtualPackageFor31 extends VirtualPackageBase {
} }
// 包含发货前装配包 // 包含发货前装配包
if (virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue() & parent.getVirtrualPackageEnum()) != VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) { if (virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue() & parent.getVirtrualPackageEnum()) != VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) {
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,item.getOrderNumber()); BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE, item.getOrderNumber(), parent);
//构建构建发货前装配包 //构建构建发货前装配包
if(Objects.isNull(makingPackage)){ if(Objects.isNull(makingPackage)){
makingPackage=getParentZhiZuo(item.getDrawingNo()); makingPackage=getParentZhiZuo(item.getDrawingNo());