备料重算取消自定义项已下达数量更新

This commit is contained in:
lihao 2025-12-03 14:22:34 +08:00
parent 5661894e83
commit 6143a2b316
2 changed files with 609 additions and 0 deletions

View File

@ -0,0 +1,276 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nc.bs.mmpac.pickm.rule.subitems.transfer;
import java.util.ArrayList;
import java.util.List;
import nc.bs.framework.common.NCLocator;
import nc.bs.mmpac.pickm.rule.subitems.PickmSubItemBuilderUtils;
import nc.bs.mmpac.pickm.rule.subitems.cache.PickmSubItemBuilderDateCache;
import nc.itf.mmpac.pickm.IPickmQueryService;
import nc.util.mmf.framework.base.MMNumberUtil;
import nc.util.mmf.framework.base.MMValueCheck;
import nc.vo.bd.bom.bom0202.enumeration.ControlEnum;
import nc.vo.bd.bom.bom0202.enumeration.SupplyModeEnum;
import nc.vo.bd.bom.bom0202.paramvo.BomItemParamForPickm;
import nc.vo.bd.bom.bom0202.paramvo.BomItemResultVOForPickm;
import nc.vo.bd.bom.bom0202.paramvo.BomWipParamForPickm;
import nc.vo.bd.bom.bom0202.paramvo.dpac.ResultForMoVO;
import nc.vo.mmpac.pickm.consts.PickmLangConsts;
import nc.vo.mmpac.pickm.entity.AggPickmVO;
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
import nc.vo.mmpac.pickm.entity.PickmItemVO;
import nc.vo.mmpac.pickm.entity.PickmTransTypeVO;
import nc.vo.mmpac.pickm.enumeration.FreplaceinfoEnum;
import nc.vo.mmpac.pickm.enumeration.FsourcetypeEnum;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDateTime;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.calculator.HslParseUtil;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nccloud.pubitf.arap.openapi.IGatheringbillOpenService;
public class PickmSubItemTransferFromBom extends PickmSubItemTransfer {
public PickmSubItemTransferFromBom(PickmSubItemBuilderDateCache cache) {
super(cache);
}
public PickmItemVO[] processTransfer(PickmHeadVO pickmHeadVO) throws BusinessException {
PickmSubItemBuilderUtils keyUtils = new PickmSubItemBuilderUtils(this.subItemdateCache);
String[] keys = keyUtils.getKey(pickmHeadVO);
if (MMValueCheck.isEmpty(keys)) {
return null;
} else {
List<PickmItemVO> subItemList = new ArrayList();
for(String key : keys) {
BomItemResultVOForPickm bomItemResultParam = (BomItemResultVOForPickm)this.subItemdateCache.getAggBomMap().get(key);
if (null != bomItemResultParam) {
if (!MMValueCheck.isEmpty(bomItemResultParam.getBkititem()) && bomItemResultParam.getBkititem().booleanValue()) {
pickmHeadVO.setBkititem(bomItemResultParam.getBkititem());
}
if (MMValueCheck.isNotEmpty(bomItemResultParam.getBomItemparam())) {
BomItemParamForPickm[] bomItems = bomItemResultParam.getBomItemparam();
for(BomItemParamForPickm bomItem : bomItems) {
if (MMValueCheck.isNotEmpty(bomItem.getBomitemparent())) {
this.subItemdateCache.getBomItemParentMap().put(bomItem.getCbom_bid(), bomItem.getBomitemparent());
}
PickmItemVO item = this.createSubItem(pickmHeadVO, bomItemResultParam, bomItem);
List<PickmItemVO> pickmFormWipList = new ArrayList();
if (!FsourcetypeEnum.WWBILL_STATE.equalsValue(pickmHeadVO.getFsourcetype()) && MMValueCheck.isNotEmpty(bomItem.getBomwipparams())) {
UFDouble bodyNum = UFDouble.ZERO_DBL;
for(BomWipParamForPickm wipPara : bomItem.getBomwipparams()) {
bodyNum = MMNumberUtil.add(new UFDouble[]{bodyNum, wipPara.getNnum()});
}
PickmTransTypeVO pickmTransTypeVO = (PickmTransTypeVO)this.subItemdateCache.getPickmTransTypeVOMap().get(pickmHeadVO.getVbusitypeid());
UFBoolean isConsiderDissipationnum = MMValueCheck.isEmpty(pickmTransTypeVO.getBcontainwaste()) ? UFBoolean.FALSE : pickmTransTypeVO.getBcontainwaste();
PickmSubItemTransferFromWIP wipUtils = new PickmSubItemTransferFromWIP(this.subItemdateCache);
pickmFormWipList = wipUtils.trans(pickmHeadVO.getNnumber(), pickmHeadVO.getNastnum(), bodyNum, bomItem.getNitemnum(), bomItem.getNitemnumwithloss(), item, bomItem.getBomwipparams(), isConsiderDissipationnum);
}
if (MMValueCheck.isEmpty(pickmFormWipList)) {
subItemList.add(item);
} else {
subItemList.addAll(pickmFormWipList);
}
}
}
}
}
return (PickmItemVO[])subItemList.toArray(new PickmItemVO[0]);
}
}
private PickmItemVO createSubItem(PickmHeadVO pickmHeadVO, BomItemResultVOForPickm bomVO, BomItemParamForPickm bomItem) throws BusinessException {
PickmItemVO pickmItemVO = new PickmItemVO();
pickmItemVO.setStatus(2);
this.setBaseInfo(pickmHeadVO, pickmItemVO, bomVO, bomItem);
this.setBackInfo(pickmItemVO, bomItem);
this.setReplaceInfo(pickmItemVO, bomItem);
this.setNumberValue(pickmHeadVO, pickmItemVO, bomItem);
this.setOrgAndStock(pickmHeadVO, pickmItemVO, bomItem);
this.setFreeItem(pickmItemVO, bomItem);
this.setVdefItem(pickmItemVO, bomItem);
if(pickmHeadVO.getCpickmid() != null) {
//20251202 备料重算取消更新备料计划子表自定义项已下达数量
this.setVbdef16(pickmHeadVO,pickmItemVO, bomItem);
}
return pickmItemVO;
}
private void setVdefItem(PickmItemVO pickmItemVO, BomItemParamForPickm bomItem) {
pickmItemVO.setVbdef1(bomItem.getVdef1());
pickmItemVO.setVbdef2(bomItem.getVdef2());
pickmItemVO.setVbdef3(bomItem.getVdef3());
pickmItemVO.setVbdef4(bomItem.getVdef4());
pickmItemVO.setVbdef5(bomItem.getVdef5());
pickmItemVO.setVbdef6(bomItem.getVdef6());
pickmItemVO.setVbdef7(bomItem.getVdef7());
pickmItemVO.setVbdef8(bomItem.getVdef8());
pickmItemVO.setVbdef9(bomItem.getVdef9());
pickmItemVO.setVbdef10(bomItem.getVdef10());
pickmItemVO.setVbdef11(bomItem.getVdef11());
pickmItemVO.setVbdef12(bomItem.getVdef12());
pickmItemVO.setVbdef13(bomItem.getVdef13());
pickmItemVO.setVbdef14(bomItem.getVdef14());
pickmItemVO.setVbdef15(bomItem.getVdef15());
// pickmItemVO.setVbdef16("15");
pickmItemVO.setVbdef17(bomItem.getVdef17());
pickmItemVO.setVbdef18(bomItem.getVdef18());
pickmItemVO.setVbdef19(bomItem.getVdef19());
pickmItemVO.setVbdef20(bomItem.getVdef20());
}
private void setVbdef16(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, BomItemParamForPickm bomItem) throws BusinessException {
IPickmQueryService service= ((IPickmQueryService) NCLocator.getInstance()
.lookup(IPickmQueryService.class));
AggPickmVO aggPickmVO = service.querySingleBillByPk(pickmHeadVO.getCpickmid());
PickmItemVO[] pickmItemVOs = (PickmItemVO[])aggPickmVO.getChildrenVO();
if (pickmItemVOs != null && pickmItemVOs.length > 0) {
for (PickmItemVO pickmItemVO1 : pickmItemVOs) {
if(null != pickmItemVO.getCbombid() && null != pickmItemVO1.getCbombid()){
if(pickmItemVO1.getCbombid().equals(pickmItemVO.getCbombid())) {
pickmItemVO.setVbdef16(pickmItemVO1.getVbdef16());
}
}
}
}
// pickmItemVO.setVbdef16("15");
}
private void setOrgAndStock(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, BomItemParamForPickm bomItemVO) {
PickmTransferSourceFactory factory = new PickmTransferSourceFactory(this.subItemdateCache);
factory.setSouceInfo(pickmHeadVO, pickmItemVO, bomItemVO.getIleadtimenum(), (String)null, (UFDateTime)null);
}
private void setBaseInfo(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, BomItemResultVOForPickm bomVO, BomItemParamForPickm bomItemVO) {
pickmItemVO.setPk_group(pickmHeadVO.getPk_group());
pickmItemVO.setPk_org(pickmHeadVO.getPk_org());
pickmItemVO.setPk_org_v(pickmHeadVO.getPk_org_v());
pickmItemVO.setCbombid(bomItemVO.getCbom_bid());
pickmItemVO.setFbomtype(bomVO.getFbomtype());
pickmItemVO.setVbomrowno(bomItemVO.getVrowno());
pickmItemVO.setBautobuilt(UFBoolean.TRUE);
pickmItemVO.setVbbomversion(bomItemVO.getVitemversion());
if (!MMValueCheck.isEmpty(bomItemVO.getVitemversion()) && !MMValueCheck.isEmpty(this.subItemdateCache.getItemBOMVersionNo()) && this.subItemdateCache.getItemBOMVersionNo().containsKey(bomItemVO.getVitemversion())) {
ResultForMoVO result = (ResultForMoVO)this.subItemdateCache.getItemBOMVersionNo().get(bomItemVO.getVitemversion());
if (!MMValueCheck.isEmpty(result)) {
pickmItemVO.setVbbomversionnumber(result.getBomVersion());
}
}
pickmItemVO.setVbpbomversion(bomItemVO.getVpackversion());
if (!MMValueCheck.isEmpty(bomItemVO.getVpackversion()) && !MMValueCheck.isEmpty(this.subItemdateCache.getItemBOMVersionNo()) && this.subItemdateCache.getItemBOMVersionNo().containsKey(bomItemVO.getVpackversion())) {
ResultForMoVO result = (ResultForMoVO)this.subItemdateCache.getItemBOMVersionNo().get(bomItemVO.getVpackversion());
if (!MMValueCheck.isEmpty(result)) {
pickmItemVO.setVbpbomversionnumber(result.getBomVersion());
}
}
pickmItemVO.setCbmaterialid(bomItemVO.getCmaterialid());
pickmItemVO.setCbmaterialvid(bomItemVO.getCmaterialvid());
pickmItemVO.setCbunitid(bomItemVO.getCmeasureid());
pickmItemVO.setCbastunitid(bomItemVO.getCassmeasureid());
if (MMValueCheck.isEmpty(HslParseUtil.getUFDoubleHsl(bomItemVO.getVchangerate()))) {
ExceptionUtils.wrappBusinessException(PickmLangConsts.getERR_BOMHSLNULL());
}
pickmItemVO.setVbchangerate(bomItemVO.getVchangerate());
pickmItemVO.setFitemtype(bomItemVO.getFitemtype() - 1);
pickmItemVO.setFitemsource(bomItemVO.getFitemsource() - 1);
pickmItemVO.setFsupplytype(bomItemVO.getFsupplymode() - 1);
pickmItemVO.setBcandeliver(bomItemVO.getBdeliver());
pickmItemVO.setVbmatchcode(bomItemVO.getVmatingno());
pickmItemVO.setBmainmaterial(bomItemVO.getBmainmaterial());
pickmItemVO.setBunibatch(bomItemVO.getBbmixbatch());
pickmItemVO.setBchkitemforwr(bomItemVO.getBbkititemcheck());
if (bomItemVO.getFcontrol().equals(Integer.valueOf(ControlEnum.CONTROL.value().toString()))) {
pickmItemVO.setBcontroll(UFBoolean.TRUE);
} else {
pickmItemVO.setBcontroll(UFBoolean.FALSE);
}
if (MMValueCheck.isNotEmpty(bomVO.getBkititem()) && bomVO.getBkititem().booleanValue() && MMValueCheck.isNotEmpty(bomItemVO.getBkitmaterial()) && bomItemVO.getBkitmaterial().booleanValue()) {
pickmItemVO.setBkitmaterial(bomItemVO.getBkitmaterial());
}
pickmItemVO.setBupwardround(bomItemVO.getBupint());
if (bomItemVO.getBcustommaterial() != null) {
pickmItemVO.setBcustomermaterial(bomItemVO.getBcustommaterial());
} else {
pickmItemVO.setBcustomermaterial(UFBoolean.FALSE);
}
if (bomItemVO.getBprojectmaterial() != null) {
pickmItemVO.setBprojectmaterial(bomItemVO.getBprojectmaterial());
} else {
pickmItemVO.setBprojectmaterial(UFBoolean.FALSE);
}
pickmItemVO.setNfixshrinknum(bomItemVO.getNbfixshrinknum());
pickmItemVO.setNfixshrinkastnum(bomItemVO.getNbfixshrinkastnum());
}
private void setBackInfo(PickmItemVO pickmItemVO, BomItemParamForPickm bomItemVO) {
pickmItemVO.setFbackflushtype(bomItemVO.getFbackflushtype());
pickmItemVO.setFbackflushtime(bomItemVO.getFbackflushtime());
}
private void setReplaceInfo(PickmItemVO pickmItemVO, BomItemParamForPickm bomItemVO) {
pickmItemVO.setBcanreplace(bomItemVO.getBcanreplace());
if (!MMValueCheck.isEmpty(pickmItemVO.getBcanreplace()) && pickmItemVO.getBcanreplace().booleanValue()) {
pickmItemVO.setFreplacetype(bomItemVO.getFreplacetype());
}
if (!MMValueCheck.isEmpty(pickmItemVO.getBcanreplace()) && pickmItemVO.getBcanreplace().booleanValue()) {
pickmItemVO.setFreplaceinfo(Integer.valueOf(FreplaceinfoEnum.NOTREPLACE.value().toString()));
} else {
pickmItemVO.setFreplaceinfo(Integer.valueOf(FreplaceinfoEnum.CANNOTREPLACE.value().toString()));
}
}
private void setNumberValue(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, BomItemParamForPickm bomItemVO) {
boolean isFixQuantifySupply = bomItemVO.getFsupplymode().equals(Integer.valueOf(SupplyModeEnum.FIX_QUANTIFY_SUPPLY.value().toString()));
UFDouble itemNum = bomItemVO.getNitemnumwithloss();
UFDouble itemNoDisspationNum = bomItemVO.getNitemnum();
boolean upint = MMValueCheck.isEmpty(bomItemVO.getBupint()) ? false : bomItemVO.getBupint().booleanValue();
pickmItemVO.setBupwardround(UFBoolean.valueOf(upint));
PickmSubItemSetterNum numUtil = new PickmSubItemSetterNum(this.subItemdateCache);
numUtil.setNumValue(pickmHeadVO, pickmItemVO, isFixQuantifySupply, pickmHeadVO.getNnumber(), itemNum, itemNoDisspationNum);
}
private void setFreeItem(PickmItemVO pickmItem, BomItemParamForPickm bomItemVO) {
pickmItem.setCbproductorid(bomItemVO.getCproductorid());
if (!pickmItem.getBprojectmaterial().booleanValue()) {
pickmItem.setCbprojectid(bomItemVO.getCprojectid());
}
pickmItem.setCbvendorid(bomItemVO.getCvendorid());
if (!pickmItem.getBcustomermaterial().booleanValue()) {
pickmItem.setCbcustomerid(bomItemVO.getCcustomerid());
}
pickmItem.setCbffileid(bomItemVO.getCffileid());
pickmItem.setVbfree1(bomItemVO.getVfree1());
pickmItem.setVbfree2(bomItemVO.getVfree2());
pickmItem.setVbfree3(bomItemVO.getVfree3());
pickmItem.setVbfree4(bomItemVO.getVfree4());
pickmItem.setVbfree5(bomItemVO.getVfree5());
pickmItem.setVbfree6(bomItemVO.getVfree6());
pickmItem.setVbfree7(bomItemVO.getVfree7());
pickmItem.setVbfree8(bomItemVO.getVfree8());
pickmItem.setVbfree9(bomItemVO.getVfree9());
pickmItem.setVbfree10(bomItemVO.getVfree10());
}
}

View File

@ -0,0 +1,333 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nc.bs.mmpac.pickm.rule.subitems.transfer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import nc.bs.framework.common.NCLocator;
import nc.bs.mmpac.pickm.rule.subitems.PickmSubItemBuilderUtils;
import nc.bs.mmpac.pickm.rule.subitems.cache.PickmSubItemBuilderDateCache;
import nc.itf.mmpac.pickm.IPickmQueryService;
import nc.util.mmf.framework.base.MMNumberUtil;
import nc.util.mmf.framework.base.MMValueCheck;
import nc.vo.bd.bom.bom0202.enumeration.SupplyModeEnum;
import nc.vo.bd.bom.bom0202.paramvo.BomWipParamForPickm;
import nc.vo.bd.rt.rt0008.entity.pac.RtItemParamForPickm;
import nc.vo.bd.rt.rt0008.entity.pac.RtQueryResultForPickm;
import nc.vo.bd.rt.rt0008.enumeration.FcontrolEnum;
import nc.vo.mmpac.mo.param.MOSubItemQueryResultVO4Pickm;
import nc.vo.mmpac.mo.param.MOSubItemRtParam;
import nc.vo.mmpac.pickm.entity.AggPickmVO;
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
import nc.vo.mmpac.pickm.entity.PickmItemVO;
import nc.vo.mmpac.pickm.entity.PickmTransTypeVO;
import nc.vo.mmpac.pickm.enumeration.FbackflushtypeEnum;
import nc.vo.mmpac.pickm.enumeration.FitemsourceEnum;
import nc.vo.mmpac.pickm.enumeration.FreplaceinfoEnum;
import nc.vo.mmpac.pickm.enumeration.FsourcetypeEnum;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDouble;
public class PickmSubItemTransferFromRT extends PickmSubItemTransfer {
public PickmSubItemTransferFromRT(PickmSubItemBuilderDateCache cache) {
super(cache);
}
public PickmItemVO[] processTransfer(PickmHeadVO pickmHeadVO) throws BusinessException {
PickmSubItemBuilderUtils keyUtils = new PickmSubItemBuilderUtils(this.subItemdateCache);
String[] keys = keyUtils.getKey(pickmHeadVO);
if (MMValueCheck.isEmpty(keys)) {
return null;
} else {
Map<String, MOSubItemRtParam> moParamMap = this.getMOParams(pickmHeadVO);
if (MMValueCheck.isEmpty(moParamMap)) {
return null;
} else {
List<PickmItemVO> subItemList = new ArrayList();
for(String key : keys) {
RtQueryResultForPickm resultVO = (RtQueryResultForPickm)this.subItemdateCache.getRtMap().get(key);
if (!MMValueCheck.isEmpty(resultVO) && !MMValueCheck.isEmpty(resultVO.getRtItemParam())) {
pickmHeadVO.setBkititem(resultVO.getBkititem());
for(RtItemParamForPickm opacitem : resultVO.getRtItemParam()) {
MOSubItemRtParam moParam = (MOSubItemRtParam)moParamMap.get(opacitem.getCrt_bid());
if (!MMValueCheck.isEmpty(moParam)) {
PickmItemVO item = this.createSubItem(pickmHeadVO, opacitem, moParamMap);
List<PickmItemVO> pickmFormWipList = new ArrayList();
if (MMValueCheck.isNotEmpty(opacitem.getBomwipparams())) {
UFDouble bodyNum = UFDouble.ZERO_DBL;
for(BomWipParamForPickm wipPara : opacitem.getBomwipparams()) {
bodyNum = MMNumberUtil.add(new UFDouble[]{bodyNum, wipPara.getNnum()});
}
PickmTransTypeVO pickmTransTypeVO = (PickmTransTypeVO)this.subItemdateCache.getPickmTransTypeVOMap().get(pickmHeadVO.getVbusitypeid());
UFBoolean isConsiderDissipationnum = MMValueCheck.isEmpty(pickmTransTypeVO.getBcontainwaste()) ? UFBoolean.FALSE : pickmTransTypeVO.getBcontainwaste();
PickmSubItemTransferFromWIP wipUtils = new PickmSubItemTransferFromWIP(this.subItemdateCache);
pickmFormWipList = wipUtils.trans(((MOSubItemRtParam)moParamMap.get(opacitem.getCrt_bid())).getNplannum(), ((MOSubItemRtParam)moParamMap.get(opacitem.getCrt_bid())).getNplanastnum(), bodyNum, opacitem.getNitemnum(), opacitem.getNitemnumwithloss(), item, opacitem.getBomwipparams(), isConsiderDissipationnum);
}
if (MMValueCheck.isEmpty(pickmFormWipList)) {
subItemList.add(item);
} else {
subItemList.addAll(pickmFormWipList);
}
}
}
}
}
return (PickmItemVO[])subItemList.toArray(new PickmItemVO[0]);
}
}
}
private Map<String, MOSubItemRtParam> getMOParams(PickmHeadVO pickmHeadVO) {
String moID = null;
if ("55A2".equals(pickmHeadVO.getVsourcebilltype())) {
moID = pickmHeadVO.getCsourcebillrowid() + "55A2";
} else if ("55C2".equals(pickmHeadVO.getVsourcebilltype())) {
moID = pickmHeadVO.getCsourcebillid() + "55C2";
}
MOSubItemQueryResultVO4Pickm param = null;
if (this.subItemdateCache.getMoDataMap().containsKey(moID)) {
param = (MOSubItemQueryResultVO4Pickm)this.subItemdateCache.getMoDataMap().get(moID);
}
if (param != null && !MMValueCheck.isEmpty(param.getVproceParams())) {
Map<String, MOSubItemRtParam> numMap = new HashMap();
for(MOSubItemRtParam rtParam : param.getVproceParams()) {
numMap.put(rtParam.getVfromvrtbid(), rtParam);
}
return numMap;
} else {
return null;
}
}
private PickmItemVO createSubItem(PickmHeadVO pickmHeadVO, RtItemParamForPickm opacItemVO, Map<String, MOSubItemRtParam> moParamMap) throws BusinessException {
PickmItemVO pickmItemVO = new PickmItemVO();
pickmItemVO.setStatus(2);
this.setBaseInfo(pickmHeadVO, pickmItemVO, opacItemVO, moParamMap);
this.setBackInfo(pickmItemVO, opacItemVO);
this.setReplaceInfo(pickmItemVO, opacItemVO);
this.setNumberValue(pickmHeadVO, pickmItemVO, opacItemVO, moParamMap);
this.setDeliverOrgOIDAndVID(pickmHeadVO, pickmItemVO, opacItemVO, moParamMap);
this.setFreeItem(pickmItemVO, opacItemVO);
this.setVdefItem(pickmItemVO, opacItemVO);
if(pickmHeadVO.getCpickmid() != null) {
//20251202 备料重算取消更新备料计划子表自定义项已下达数量
this.setVbdef16(pickmHeadVO,pickmItemVO, opacItemVO);
}
return pickmItemVO;
}
private void setVbdef16(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO) throws BusinessException {
IPickmQueryService service= ((IPickmQueryService) NCLocator.getInstance()
.lookup(IPickmQueryService.class));
AggPickmVO aggPickmVO = service.querySingleBillByPk(pickmHeadVO.getCpickmid());
PickmItemVO[] pickmItemVOs = (PickmItemVO[])aggPickmVO.getChildrenVO();
if (pickmItemVOs != null && pickmItemVOs.length > 0) {
for (PickmItemVO pickmItemVO1 : pickmItemVOs) {
if(null != pickmItemVO.getCbombid() && null != pickmItemVO1.getCbombid()){
if(pickmItemVO1.getCbombid().equals(pickmItemVO.getCbombid())) {
pickmItemVO.setVbdef16(pickmItemVO1.getVbdef16());
}
}
}
}
}
private void setVdefItem(PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO) {
pickmItemVO.setVbdef1(opacItemVO.getVdef1());
pickmItemVO.setVbdef2(opacItemVO.getVdef2());
pickmItemVO.setVbdef3(opacItemVO.getVdef3());
pickmItemVO.setVbdef4(opacItemVO.getVdef4());
pickmItemVO.setVbdef5(opacItemVO.getVdef5());
pickmItemVO.setVbdef6(opacItemVO.getVdef6());
pickmItemVO.setVbdef7(opacItemVO.getVdef7());
pickmItemVO.setVbdef8(opacItemVO.getVdef8());
pickmItemVO.setVbdef9(opacItemVO.getVdef9());
pickmItemVO.setVbdef10(opacItemVO.getVdef10());
pickmItemVO.setVbdef11(opacItemVO.getVdef11());
pickmItemVO.setVbdef12(opacItemVO.getVdef12());
pickmItemVO.setVbdef13(opacItemVO.getVdef13());
pickmItemVO.setVbdef14(opacItemVO.getVdef14());
pickmItemVO.setVbdef15(opacItemVO.getVdef15());
// pickmItemVO.setVbdef16(opacItemVO.getVdef16());
pickmItemVO.setVbdef17(opacItemVO.getVdef17());
pickmItemVO.setVbdef18(opacItemVO.getVdef18());
pickmItemVO.setVbdef19(opacItemVO.getVdef19());
pickmItemVO.setVbdef20(opacItemVO.getVdef20());
}
private void setBaseInfo(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO, Map<String, MOSubItemRtParam> moParamMap) {
pickmItemVO.setPk_group(pickmHeadVO.getPk_group());
pickmItemVO.setPk_org(pickmHeadVO.getPk_org());
pickmItemVO.setPk_org_v(pickmHeadVO.getPk_org_v());
pickmItemVO.setBautobuilt(UFBoolean.TRUE);
pickmItemVO.setCrtopacid(opacItemVO.getCrt_opacid());
pickmItemVO.setVprocessno(opacItemVO.getVprocessno());
MOSubItemRtParam moParam = (MOSubItemRtParam)moParamMap.get(opacItemVO.getCrt_bid());
if (MMValueCheck.isNotEmpty(pickmHeadVO.getFsourcetype()) && FsourcetypeEnum.MOBILL_STATE.equalsValue(pickmHeadVO.getFsourcetype())) {
if ("55A2".equals(pickmHeadVO.getVsourcebilltype())) {
pickmItemVO.setVpmoprocessno(moParam.getVmoprocessid());
} else if ("55C2".equals(pickmHeadVO.getVsourcebilltype())) {
pickmItemVO.setVdmoprocessno(moParam.getVmoprocessid());
}
pickmItemVO.setVprocesscode(moParam.getCrcTypeid());
}
pickmItemVO.setCbombid(opacItemVO.getCbom_bid());
pickmItemVO.setVbomrowno(opacItemVO.getVbomrowno());
pickmItemVO.setFbomtype(opacItemVO.getFbomtype());
pickmItemVO.setVbbomversion(opacItemVO.getVitemversion());
pickmItemVO.setVbpbomversion(opacItemVO.getVpackversion());
Integer fitemsource = opacItemVO.getFitemsource();
if (MMValueCheck.isEmpty(fitemsource)) {
pickmItemVO.setFitemsource(Integer.valueOf(FitemsourceEnum.PREPARE.value().toString()));
} else {
pickmItemVO.setFitemsource(fitemsource - 1);
}
pickmItemVO.setBkitmaterial(opacItemVO.getBkitmaterial());
pickmItemVO.setBupwardround(opacItemVO.getBupint());
if (MMValueCheck.isEmpty(pickmItemVO.getFitemsource())) {
pickmItemVO.setFitemsource(Integer.valueOf(FitemsourceEnum.PREPARE.value().toString()));
}
pickmItemVO.setCbmaterialid(opacItemVO.getCmaterialid());
pickmItemVO.setCbmaterialvid(opacItemVO.getCmaterialvid());
pickmItemVO.setCbunitid(opacItemVO.getCmeasureid());
pickmItemVO.setCbastunitid(opacItemVO.getCassmeasureid());
pickmItemVO.setVbchangerate(opacItemVO.getVchangerate());
pickmItemVO.setFitemtype(opacItemVO.getFitemtype() - 1);
pickmItemVO.setFsupplytype(opacItemVO.getFsupplymode() - 1);
pickmItemVO.setCwkid(moParam.getCwkid());
pickmItemVO.setCfeedid(opacItemVO.getCfeedid());
pickmItemVO.setBcandeliver(UFBoolean.TRUE);
pickmItemVO.setBmainmaterial(UFBoolean.FALSE);
pickmItemVO.setBunibatch(opacItemVO.getBbmixbatch());
pickmItemVO.setBchkitemforwr(opacItemVO.getBbkititemcheck());
if (opacItemVO.getBcustommaterial() != null) {
pickmItemVO.setBcustomermaterial(opacItemVO.getBcustommaterial());
} else {
pickmItemVO.setBcustomermaterial(UFBoolean.FALSE);
}
if (opacItemVO.getBprojectmaterial() != null) {
pickmItemVO.setBprojectmaterial(opacItemVO.getBprojectmaterial());
} else {
pickmItemVO.setBprojectmaterial(UFBoolean.FALSE);
}
if (FcontrolEnum.CONTROLABLE.equalsValue(opacItemVO.getFcontrol())) {
pickmItemVO.setBcontroll(UFBoolean.TRUE);
} else {
pickmItemVO.setBcontroll(UFBoolean.FALSE);
}
pickmItemVO.setNfixshrinknum(opacItemVO.getNbfixshrinknum());
pickmItemVO.setNfixshrinkastnum(opacItemVO.getNbfixshrinkastnum());
pickmItemVO.setOpacprocessno(opacItemVO.getOpacprocessno());
}
private void setBackInfo(PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO) {
if (MMValueCheck.isNotEmpty(opacItemVO)) {
pickmItemVO.setFbackflushtype(opacItemVO.getFbackflushtype());
pickmItemVO.setFbackflushtime(opacItemVO.getFbackflushtime());
}
if (null == pickmItemVO.getFbackflushtype()) {
pickmItemVO.setFbackflushtype(FbackflushtypeEnum.BACKFLUSH_NONE.toInteger());
}
}
private void setReplaceInfo(PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO) {
if (MMValueCheck.isNotEmpty(opacItemVO)) {
pickmItemVO.setBcanreplace(opacItemVO.getBcanreplace());
if (!MMValueCheck.isEmpty(pickmItemVO.getBcanreplace()) && pickmItemVO.getBcanreplace().booleanValue()) {
pickmItemVO.setFreplacetype(opacItemVO.getFreplacetype());
}
if (!MMValueCheck.isEmpty(pickmItemVO.getBcanreplace()) && pickmItemVO.getBcanreplace().booleanValue()) {
pickmItemVO.setFreplaceinfo(Integer.valueOf(FreplaceinfoEnum.NOTREPLACE.value().toString()));
} else {
pickmItemVO.setFreplaceinfo(Integer.valueOf(FreplaceinfoEnum.CANNOTREPLACE.value().toString()));
}
}
}
private void setNumberValue(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO, Map<String, MOSubItemRtParam> moParamMap) {
boolean isFixQuantifySupply = opacItemVO.getFsupplymode().equals(Integer.valueOf(SupplyModeEnum.FIX_QUANTIFY_SUPPLY.value().toString()));
MOSubItemRtParam moParam = (MOSubItemRtParam)moParamMap.get(opacItemVO.getCrt_bid());
UFDouble itemNoDisspationNum = opacItemVO.getNitemnum();
UFDouble itemNum = opacItemVO.getNitemnumwithloss();
if (MMNumberUtil.isNotNullAndNotZero(itemNoDisspationNum)) {
pickmItemVO.setNdissipationum(MMNumberUtil.sub(MMNumberUtil.div(MMNumberUtil.sub(itemNum, new UFDouble[]{pickmItemVO.getNfixshrinknum()}), new UFDouble[]{itemNoDisspationNum}), new UFDouble[]{UFDouble.ONE_DBL}));
}
Integer sysdigit = (Integer)this.subItemdateCache.getDigitMap().get(pickmHeadVO.getPk_org());
pickmItemVO.setNdissipationum(MMNumberUtil.toDigitValue(pickmItemVO.getNdissipationum(), sysdigit));
if (!MMNumberUtil.isEqual(moParam.getNplannum(), pickmHeadVO.getNnumber()) && !isFixQuantifySupply && MMNumberUtil.isNotNullAndNotZero(pickmHeadVO.getNnumber()) && MMNumberUtil.isNotNullAndNotZero(moParam.getNplannum()) && MMValueCheck.isEmpty(moParam.getProcedureratio())) {
itemNoDisspationNum = MMNumberUtil.div(MMNumberUtil.multiply(new UFDouble[]{itemNoDisspationNum, moParam.getNplannum()}), new UFDouble[]{pickmHeadVO.getNnumber()});
itemNum = MMNumberUtil.add(new UFDouble[]{MMNumberUtil.div(MMNumberUtil.multiply(new UFDouble[]{MMNumberUtil.sub(itemNum, new UFDouble[]{opacItemVO.getNbfixshrinknum()}), moParam.getNplannum()}), new UFDouble[]{pickmHeadVO.getNnumber()}), opacItemVO.getNbfixshrinknum()});
}
boolean upint = false;
if (MMValueCheck.isNotEmpty(opacItemVO)) {
upint = opacItemVO.getBupint() == null ? false : opacItemVO.getBupint().booleanValue();
}
pickmItemVO.setBupwardround(UFBoolean.valueOf(upint));
PickmSubItemSetterNum numUtil = new PickmSubItemSetterNum(this.subItemdateCache);
numUtil.setNumValue(pickmHeadVO, pickmItemVO, isFixQuantifySupply, moParam.getNplannum(), itemNum, itemNoDisspationNum);
}
private void setDeliverOrgOIDAndVID(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO, Map<String, MOSubItemRtParam> moParamMap) {
PickmTransferSourceFactory factory = new PickmTransferSourceFactory(this.subItemdateCache);
MOSubItemRtParam moParam = (MOSubItemRtParam)moParamMap.get(opacItemVO.getCrt_bid());
factory.setSouceInfo(pickmHeadVO, pickmItemVO, opacItemVO.getIleadtimenum(), opacItemVO.getCwipid(), moParam.getTstarttime());
}
private void setFreeItem(PickmItemVO pickmItem, RtItemParamForPickm opacItemVO) {
pickmItem.setCbproductorid(opacItemVO.getCproductorid());
if (!pickmItem.getBprojectmaterial().booleanValue()) {
pickmItem.setCbprojectid(opacItemVO.getCprojectid());
}
pickmItem.setCbvendorid(opacItemVO.getCvendorid());
if (!pickmItem.getBcustomermaterial().booleanValue()) {
pickmItem.setCbcustomerid(opacItemVO.getCcustomerid());
}
pickmItem.setCbffileid(opacItemVO.getCffileid());
pickmItem.setVbfree1(opacItemVO.getVfree1());
pickmItem.setVbfree2(opacItemVO.getVfree2());
pickmItem.setVbfree3(opacItemVO.getVfree3());
pickmItem.setVbfree4(opacItemVO.getVfree4());
pickmItem.setVbfree5(opacItemVO.getVfree5());
pickmItem.setVbfree6(opacItemVO.getVfree6());
pickmItem.setVbfree7(opacItemVO.getVfree7());
pickmItem.setVbfree8(opacItemVO.getVfree8());
pickmItem.setVbfree9(opacItemVO.getVfree9());
pickmItem.setVbfree10(opacItemVO.getVfree10());
}
}