Merge branch 'feature/DM/nflg-bom' of http://112.74.186.154:3000/nflj/nflg_project into feature/DM/nflg-bom
This commit is contained in:
commit
2ad0c12acf
|
|
@ -123,7 +123,7 @@ public abstract class VirtualPackageBase {
|
||||||
return ent;
|
return ent;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BomNewEbomParentEntity buildParentVirtualPackage(Long rowId,VirtualPackageTypeEnum virtualPackageTypeEnum) throws IOException {
|
protected BomNewEbomParentEntity buildParentVirtualPackage(Long rowId,VirtualPackageTypeEnum virtualPackageTypeEnum ,String orderNum) throws IOException {
|
||||||
|
|
||||||
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()
|
||||||
|
|
@ -141,7 +141,7 @@ public abstract class VirtualPackageBase {
|
||||||
// String materialNo = SpringUtil.getBean(MaterialService.class).addMaterial(drawingNo, vMaterialName,materialDesc, virtualPackageType.getMaterialCategoryCode());
|
// String materialNo = SpringUtil.getBean(MaterialService.class).addMaterial(drawingNo, vMaterialName,materialDesc, virtualPackageType.getMaterialCategoryCode());
|
||||||
BomNewEbomParentEntity parent =new BomNewEbomParentEntity();
|
BomNewEbomParentEntity parent =new BomNewEbomParentEntity();
|
||||||
parent.setRowId(IdWorker.getId());
|
parent.setRowId(IdWorker.getId());
|
||||||
parent.setOrderNumber("001");
|
parent.setOrderNumber(StrUtil.isNotBlank(orderNum) ? StrUtil.padPre(orderNum,3,"0"):"001");
|
||||||
parent.setDrawingNo(addM.getDrawingNo() );
|
parent.setDrawingNo(addM.getDrawingNo() );
|
||||||
parent.setMaterialNo(addM.getMaterialNo());
|
parent.setMaterialNo(addM.getMaterialNo());
|
||||||
parent.setMaterialName(addM.getMaterialName());
|
parent.setMaterialName(addM.getMaterialName());
|
||||||
|
|
|
||||||
|
|
@ -50,9 +50,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);
|
makingPackage = buildParentVirtualPackage( parent.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE,parent.getOrderNumber());
|
||||||
//构建构建发货包下直发
|
//构建构建发货包下直发
|
||||||
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,parent.getOrderNumber());
|
||||||
//构建产品-子级为制作包合直发包
|
//构建产品-子级为制作包合直发包
|
||||||
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 +63,7 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
|
||||||
if(Objects.isNull(makingPackage)){
|
if(Objects.isNull(makingPackage)){
|
||||||
makingPackage=getParentZhiZuo();
|
makingPackage=getParentZhiZuo();
|
||||||
}
|
}
|
||||||
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE);
|
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getOrderNumber());
|
||||||
buildChild(preAssemblyPackage, makingPackage.getRowId(), "001", VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getMaterialNo());
|
buildChild(preAssemblyPackage, makingPackage.getRowId(), "001", VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getMaterialNo());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,11 +62,11 @@ public class VirtualPackageFor31 extends VirtualPackageBase {
|
||||||
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);
|
BomNewEbomParentEntity deliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DELIVERY_PACKAGE,item.getOrderNumber());
|
||||||
//构建构建发货包下制作包
|
//构建构建发货包下制作包
|
||||||
makingPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE);
|
makingPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE,item.getOrderNumber());
|
||||||
//构建构建发货包下直发
|
//构建构建发货包下直发
|
||||||
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,item.getOrderNumber());
|
||||||
|
|
||||||
//构建-产品下发货包-子级
|
//构建-产品下发货包-子级
|
||||||
buildChild(deliveryPackage, bomRowId, "001", VirtualPackageTypeEnum.DELIVERY_PACKAGE,parent.getMaterialNo());
|
buildChild(deliveryPackage, bomRowId, "001", VirtualPackageTypeEnum.DELIVERY_PACKAGE,parent.getMaterialNo());
|
||||||
|
|
@ -82,7 +82,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);
|
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,item.getOrderNumber());
|
||||||
//构建构建发货前装配包
|
//构建构建发货前装配包
|
||||||
if(Objects.isNull(makingPackage)){
|
if(Objects.isNull(makingPackage)){
|
||||||
makingPackage=getParentZhiZuo();
|
makingPackage=getParentZhiZuo();
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.nflg.product.bomnew.service.domain.PBom;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.nflg.product.bomnew.constant.EBomConstant;
|
import com.nflg.product.bomnew.constant.EBomConstant;
|
||||||
import com.nflg.product.bomnew.constant.ProductionFactoryCodeInputTypeEnum;
|
import com.nflg.product.bomnew.constant.ProductionFactoryCodeInputTypeEnum;
|
||||||
import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum;
|
import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum;
|
||||||
|
|
@ -121,12 +122,12 @@ public class ConvertToMBom1020 extends ConvertToMBomBase{
|
||||||
private void initFac1020Info(List<ConvertToMBomDTO> childBomTree) {
|
private void initFac1020Info(List<ConvertToMBomDTO> childBomTree) {
|
||||||
|
|
||||||
for (ConvertToMBomDTO item : childBomTree) {
|
for (ConvertToMBomDTO item : childBomTree) {
|
||||||
item.setMaterialName(item.getMaterialName() + EBomConstant.XIAN_TAO_FACTORY_Name_1020);
|
item.setMaterialName(handlerMaterialNameFor1020(item.getMaterialName(), EBomConstant.XIAN_TAO_FACTORY_Name_1020) );
|
||||||
item.setProductionFactoryCode(EBomConstant.XIAN_TAO_FACTORY_CODE_1020);
|
item.setProductionFactoryCode(EBomConstant.XIAN_TAO_FACTORY_CODE_1020);
|
||||||
|
|
||||||
item.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.DEFAULT.getValue());
|
item.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.DEFAULT.getValue());
|
||||||
for (ConvertToMBomDTO itemChild : item.getChildNodes()) {
|
for (ConvertToMBomDTO itemChild : item.getChildNodes()) {
|
||||||
itemChild.setMaterialName(itemChild.getMaterialName() + EBomConstant.XIAN_TAO_FACTORY_Name_1020);
|
itemChild.setMaterialName(handlerMaterialNameFor1020(itemChild.getMaterialName(), EBomConstant.XIAN_TAO_FACTORY_Name_1020) );
|
||||||
itemChild.setProductionFactoryCode(EBomConstant.XIAN_TAO_FACTORY_CODE_1020);
|
itemChild.setProductionFactoryCode(EBomConstant.XIAN_TAO_FACTORY_CODE_1020);
|
||||||
|
|
||||||
itemChild.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.DEFAULT.getValue());
|
itemChild.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.DEFAULT.getValue());
|
||||||
|
|
@ -134,6 +135,17 @@ public class ConvertToMBom1020 extends ConvertToMBomBase{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String handlerMaterialNameFor1020(String materialName , String facName){
|
||||||
|
List<String> nameComp = VUtils.extractMessageByRegular(materialName);
|
||||||
|
if(CollUtil.isNotEmpty(nameComp) && nameComp.size()>=3){
|
||||||
|
return StrUtil.join("","(", nameComp.get(0) ,")", "(", nameComp.get(1), facName,")", "(",nameComp.get(2), ")" );
|
||||||
|
}
|
||||||
|
return materialName+facName;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理一般材料(提层)
|
* 处理一般材料(提层)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,10 @@ import com.nflg.product.bomnew.inteface.ThrowExceptionFunction;
|
||||||
import com.nflg.product.bomnew.inteface.TrueHandleFunction;
|
import com.nflg.product.bomnew.inteface.TrueHandleFunction;
|
||||||
import nflg.product.common.constant.STATE;
|
import nflg.product.common.constant.STATE;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author 大米
|
* @author 大米
|
||||||
|
|
@ -69,4 +72,21 @@ public class VUtils {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用正则表达式提取圆括号中的内容
|
||||||
|
* @param msg 输入的包含括号内容的字符串
|
||||||
|
* @return 包含所有括号内内容的列表
|
||||||
|
*/
|
||||||
|
public static List<String> extractMessageByRegular(String msg) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
// 使用正则表达式匹配任意非括号字符组成的括号内的内容
|
||||||
|
Pattern pattern = Pattern.compile("\\(([^()]*)\\)");
|
||||||
|
Matcher matcher = pattern.matcher(msg);
|
||||||
|
|
||||||
|
while (matcher.find()) {
|
||||||
|
list.add(matcher.group(1)); // group(1) 是第一个括号表达式匹配的内容
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue