虚拟包图号+转Ebom
This commit is contained in:
parent
b1a3a82515
commit
df856477cb
|
|
@ -313,7 +313,7 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable {
|
|||
private Integer virtualPartIs;
|
||||
|
||||
@ApiModelProperty("0-非虚拟包 1-发货包 2-制作包 4-直发包 8-发货前装配包")
|
||||
private Integer virtualPartType;
|
||||
private Integer virtualPartType=0;
|
||||
|
||||
@ApiModelProperty("生成虚拟包的跟节点物料编码")
|
||||
private String virtualPartRootMaterialNo;
|
||||
|
|
|
|||
|
|
@ -61,11 +61,31 @@ public abstract class VirtualPackageBase {
|
|||
* @param virtualPackageTypeEnums
|
||||
* @return
|
||||
*/
|
||||
protected void generateVMNo(List<BomNewEbomParentVO> child,VirtualPackageTypeEnum ... virtualPackageTypeEnums){
|
||||
protected void generateVMNoFor31(String parentDrawingNo, List<BomNewEbomParentVO> child,VirtualPackageTypeEnum ... virtualPackageTypeEnums){
|
||||
List<AddVirtrualMaterialDTO> params=new ArrayList<>();
|
||||
for ( BomNewEbomParentVO ch: child ) {
|
||||
for (VirtualPackageTypeEnum vpy : virtualPackageTypeEnums) {
|
||||
params.add(buildAddMaterialParamDo(StrUtil.join("",ch.getRowId().toString(), vpy.getConMaterialName()), ch.getDrawingNo(), ch.getMaterialName(), vpy));
|
||||
String vDrawingNo = String.join("","(",parentDrawingNo,")","(",ch.getMaterialName(),")","(",vpy.getConMaterialName(),")" );
|
||||
params.add(buildAddMaterialParamDo(StrUtil.join("",ch.getRowId().toString(), vpy.getConMaterialName()), vDrawingNo, vDrawingNo, vpy));
|
||||
}
|
||||
}
|
||||
List<AddVirtrualMaterialDTO> addM = params.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList());
|
||||
vMNos= SpringUtil.getBean(MaterialService.class).batchAddMaterial(addM);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 申请虚拟包
|
||||
* @param child
|
||||
* @param virtualPackageTypeEnums
|
||||
* @return
|
||||
*/
|
||||
protected void generateVMNoF21(String materialDesc, List<BomNewEbomParentVO> child,VirtualPackageTypeEnum ... virtualPackageTypeEnums){
|
||||
List<AddVirtrualMaterialDTO> params=new ArrayList<>();
|
||||
for ( BomNewEbomParentVO ch: child ) {
|
||||
for (VirtualPackageTypeEnum vpy : virtualPackageTypeEnums) {
|
||||
String vDrawingNo = String.join("","(",materialDesc,")","(",vpy.getConMaterialName(),")" );
|
||||
params.add(buildAddMaterialParamDo(StrUtil.join("",ch.getRowId().toString(), vpy.getConMaterialName()), vDrawingNo, vDrawingNo, vpy));
|
||||
}
|
||||
}
|
||||
List<AddVirtrualMaterialDTO> addM = params.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList());
|
||||
|
|
@ -76,16 +96,12 @@ public abstract class VirtualPackageBase {
|
|||
//申请物料编码
|
||||
private AddVirtrualMaterialDTO buildAddMaterialParamDo(String key, String drawingNo, String materialName, VirtualPackageTypeEnum virtualPackageType){
|
||||
|
||||
String vDrawingNo = String.join("","(",drawingNo,")","(",virtualPackageType.getConMaterialName(),")" );
|
||||
String vMaterialName = StrUtil.join("","(",materialName,")","(",virtualPackageType.getConMaterialName(),")");
|
||||
String vMaterialDesc = StrUtil.join("", "(",drawingNo,")" ,"(", materialName,")","(",virtualPackageType.getConMaterialName(),")");
|
||||
|
||||
List<MaterialMainEntity> oldMaterialList = SpringUtil.getBean(MaterialMainService.class).lambdaQuery().eq(MaterialMainEntity::getDrawingNo, vDrawingNo)
|
||||
List<MaterialMainEntity> oldMaterialList = SpringUtil.getBean(MaterialMainService.class).lambdaQuery().eq(MaterialMainEntity::getDrawingNo, drawingNo)
|
||||
.list();
|
||||
AddVirtrualMaterialDTO ent=new AddVirtrualMaterialDTO();
|
||||
if(CollUtil.isNotEmpty(oldMaterialList)){
|
||||
ent.setKey(key);
|
||||
ent.setDrawingNo(vDrawingNo);
|
||||
ent.setDrawingNo(drawingNo);
|
||||
ent.setMaterialNo(oldMaterialList.get(0).getMaterialNo());
|
||||
ent.setMaterialName(oldMaterialList.get(0).getMaterialName());
|
||||
ent.setMaterialDesc(oldMaterialList.get(0).getMaterialDesc());
|
||||
|
|
@ -93,9 +109,9 @@ public abstract class VirtualPackageBase {
|
|||
}
|
||||
else {
|
||||
ent.setKey(key);
|
||||
ent.setDrawingNo(vDrawingNo);
|
||||
ent.setMaterialName(vMaterialName);
|
||||
ent.setMaterialDesc(vMaterialDesc);
|
||||
ent.setDrawingNo(drawingNo);
|
||||
ent.setMaterialName(materialName);
|
||||
ent.setMaterialDesc(materialName);
|
||||
ent.setMaterialCategoryCode(virtualPackageType.getMaterialCategoryCode());
|
||||
}
|
||||
return ent;
|
||||
|
|
|
|||
|
|
@ -45,10 +45,10 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
|
|||
BomNewEbomParentVO vo= Convert.convert(BomNewEbomParentVO.class,parent );
|
||||
|
||||
if(virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (parent.getVirtrualPackageEnum()| VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue())!=VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()){
|
||||
generateVMNo(ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE);
|
||||
generateVMNoF21(parent.getMaterialDesc(), ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE);
|
||||
}
|
||||
else {
|
||||
generateVMNo(ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
||||
generateVMNoF21(parent.getMaterialDesc(),ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -44,11 +44,11 @@ public class VirtualPackageFor31 extends VirtualPackageBase {
|
|||
//生成虚拟包
|
||||
if(CollUtil.isNotEmpty(child)) {
|
||||
if (virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue() & parent.getVirtrualPackageEnum()) != VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()){
|
||||
generateVMNo(child , VirtualPackageTypeEnum.DELIVERY_PACKAGE,VirtualPackageTypeEnum.MAKING_PACKAGE
|
||||
generateVMNoFor31(parent.getDrawingNo(), child , VirtualPackageTypeEnum.DELIVERY_PACKAGE,VirtualPackageTypeEnum.MAKING_PACKAGE
|
||||
,VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE);
|
||||
}
|
||||
else {
|
||||
generateVMNo(child, VirtualPackageTypeEnum.DELIVERY_PACKAGE, VirtualPackageTypeEnum.MAKING_PACKAGE
|
||||
generateVMNoFor31(parent.getDrawingNo(),child, VirtualPackageTypeEnum.DELIVERY_PACKAGE, VirtualPackageTypeEnum.MAKING_PACKAGE
|
||||
, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue