备料重算取消更新备料计划自定义项16
This commit is contained in:
parent
bbbe3c1cf3
commit
53ecf46d08
|
|
@ -0,0 +1,493 @@
|
|||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package nc.bs.mmpac.pickm.rule.rebuild;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import nc.bs.framework.common.NCLocator;
|
||||
import nc.bs.mmpac.pickm.bp.query.PickmQueryItemsByPKsBP;
|
||||
import nc.bs.mmpac.pickm.rule.subitems.PSCPickmSubItemBuilderControler;
|
||||
import nc.bs.mmpac.pickm.rule.subitems.PickmSubItemBuilderControler;
|
||||
import nc.itf.mmpac.pickm.IPickmQueryService;
|
||||
import nc.jdbc.framework.generator.SequenceGenerator;
|
||||
import nc.mmpac.pacpub.utils.PACMDKeyUtil;
|
||||
import nc.util.mmf.framework.base.MMArrayUtil;
|
||||
import nc.util.mmf.framework.base.MMMapUtil;
|
||||
import nc.util.mmf.framework.base.MMNumberUtil;
|
||||
import nc.util.mmf.framework.base.MMValueCheck;
|
||||
import nc.vo.mmpac.pickm.consts.PickmLangConsts;
|
||||
import nc.vo.mmpac.pickm.entity.AggPickmVO;
|
||||
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||
import nc.vo.mmpac.pickm.enumeration.FreplaceinfoEnum;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.lang.UFBoolean;
|
||||
import nc.vo.pub.lang.UFDouble;
|
||||
import nc.vo.pubapp.pattern.pub.MapList;
|
||||
import nc.vo.pubapp.util.VORowNoUtils;
|
||||
|
||||
public class PickmSubItemReBuilid {
|
||||
private static final String[] updateAttributes = new String[]{"fitemtype", "fitemsource", "cbunitid", "cbastunitid", "vbchangerate", "drequiredate", "bcontroll", "nquotnum", "nquotastnum", "vpmoprocessno", "vdmoprocessno", "vprocesscode", "cwkid", "cfeedid", "cdeliverorgid", "cdeliverorgvid", "coutstockid", "csupplyorgid", "csupplyorgvid", "cinstockid", "pk_batchcode", "vbatchcode", "cstockmanid", "nplanoutnum", "nplanoutastnum", "bcandeliver", "bcanreplace", "pk_realsubs", "freplacetype", "nreplaceorder", "vreplacequotiety", "creplacesrcid", "creplacescheme", "vgroupratio", "bgroupkey", "vreplacegroup", "cgroupkeyrowid", "freplaceinfo", "fbackflushtype", "fbackflushtime", "fsupplytype", "vbmatchcode", "bmainmaterial", "bkitmaterial", "bcustomermaterial", "bprojectmaterial", "bupwardround", "nunitnum", "nunitastnum", "bautobuilt", "cbombid", "crtopacid", "vbbomversion", "vbbomversionnumber", "vbpbomversion", "vbpbomversionnumber", "nunituseastnum", "nunitusenum", "clocationid", "ctplcustomerid", "cvmivenderid", "ndissipationum", "nwithdissipationum", "nwithdissipatioastnum", "nnormaloutnum", "vbackflushtype", "boverissue", "bunibatch", "nfixshrinknum", "nfixshrinkastnum", "bchkitemforwr"};
|
||||
private boolean isFromMO;
|
||||
private Map<String, AggPickmVO> preAggVOMap = new HashMap();
|
||||
|
||||
public PickmSubItemReBuilid(boolean isMo) {
|
||||
this.isFromMO = isMo;
|
||||
}
|
||||
|
||||
public void reBuilder(AggPickmVO[] vos) throws BusinessException {
|
||||
if (!MMValueCheck.isEmpty(vos)) {
|
||||
Map<String, UFDouble> realSubNumMap = new HashMap();
|
||||
if (this.isFromMO) {
|
||||
for(AggPickmVO vo : vos) {
|
||||
PickmItemVO[] itemVOs = (PickmItemVO[])vo.getChildren(PickmItemVO.class);
|
||||
if (!MMArrayUtil.isEmpty(itemVOs)) {
|
||||
for(PickmItemVO itemVO : itemVOs) {
|
||||
if (!MMValueCheck.isEmpty(itemVO.getPk_realsubs())) {
|
||||
if (!MMValueCheck.isEmpty(realSubNumMap) && realSubNumMap.containsKey(itemVO.getPk_realsubs())) {
|
||||
realSubNumMap.put(itemVO.getPk_realsubs(), MMNumberUtil.add(new UFDouble[]{(UFDouble)realSubNumMap.get(itemVO.getPk_realsubs()), itemVO.getNplanoutnum()}));
|
||||
} else {
|
||||
realSubNumMap.put(itemVO.getPk_realsubs(), itemVO.getNplanoutnum());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
List<String> hids = new ArrayList();
|
||||
|
||||
for(AggPickmVO vo : vos) {
|
||||
if (MMValueCheck.isNotEmpty(vo.getParentVO().getCpickmid())) {
|
||||
hids.add(vo.getParentVO().getCpickmid());
|
||||
}
|
||||
}
|
||||
|
||||
if (MMValueCheck.isNotEmpty(hids)) {
|
||||
PickmQueryItemsByPKsBP query = new PickmQueryItemsByPKsBP();
|
||||
PickmItemVO[] itemVOs = query.queryItemsByHeadPks((String[])hids.toArray(new String[0]));
|
||||
if (MMValueCheck.isNotEmpty(itemVOs)) {
|
||||
for(PickmItemVO itemVO : itemVOs) {
|
||||
if (!MMValueCheck.isEmpty(itemVO.getPk_realsubs())) {
|
||||
if (!MMValueCheck.isEmpty(realSubNumMap) && realSubNumMap.containsKey(itemVO.getPk_realsubs())) {
|
||||
realSubNumMap.put(itemVO.getPk_realsubs(), MMNumberUtil.add(new UFDouble[]{(UFDouble)realSubNumMap.get(itemVO.getPk_realsubs()), itemVO.getNplanoutnum()}));
|
||||
} else {
|
||||
realSubNumMap.put(itemVO.getPk_realsubs(), itemVO.getNplanoutnum());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IPickmQueryService service= ((IPickmQueryService) NCLocator.getInstance()
|
||||
.lookup(IPickmQueryService.class));
|
||||
|
||||
|
||||
this.createPreAggMap(vos);
|
||||
List<AggPickmVO> newBuildVOs = new ArrayList();
|
||||
List<AggPickmVO> newPSCVOs = new ArrayList();
|
||||
|
||||
for(AggPickmVO aggvo : vos) {
|
||||
if ("55E3".equals(aggvo.getParentVO().getVsourcebilltype())) {
|
||||
AggPickmVO newAggVO = new AggPickmVO();
|
||||
newAggVO.setParentVO(aggvo.getParentVO());
|
||||
newPSCVOs.add(newAggVO);
|
||||
} else {
|
||||
newBuildVOs.add((AggPickmVO)aggvo.clone());
|
||||
}
|
||||
AggPickmVO aggPickmVO = service.querySingleBillByPk(aggvo.getParentVO().getCpickmid());
|
||||
PickmItemVO[] pickmItemVOs = (PickmItemVO[])aggPickmVO.getChildrenVO();
|
||||
for (PickmItemVO pickmItemVO : pickmItemVOs) {
|
||||
for (PickmItemVO aggPickmVO1 :(PickmItemVO[]) aggvo.getChildrenVO()) {
|
||||
if(aggPickmVO1.getCpickm_bid().equals(pickmItemVO.getCpickm_bid())) {
|
||||
aggPickmVO1.setVbdef16(pickmItemVO.getVbdef16());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!MMValueCheck.isEmpty(newPSCVOs)) {
|
||||
PSCPickmSubItemBuilderControler subPSItemBuilder = new PSCPickmSubItemBuilderControler();
|
||||
AggPickmVO[] aggvos = subPSItemBuilder.process((AggPickmVO[])newPSCVOs.toArray(new AggPickmVO[0]), UFBoolean.TRUE);
|
||||
|
||||
for(AggPickmVO aggvo : aggvos) {
|
||||
AggPickmVO preaggvo = (AggPickmVO)this.preAggVOMap.get(aggvo.getPrimaryKey());
|
||||
this.matchItem(preaggvo, aggvo);
|
||||
}
|
||||
}
|
||||
|
||||
if (!MMValueCheck.isEmpty(newBuildVOs)) {
|
||||
PickmSubItemBuilderControler subItemBuilder = new PickmSubItemBuilderControler();
|
||||
if (MMValueCheck.isNotEmpty(realSubNumMap)) {
|
||||
subItemBuilder.setRealSubNum(realSubNumMap);
|
||||
}
|
||||
|
||||
AggPickmVO[] aggvos = subItemBuilder.process((AggPickmVO[])newBuildVOs.toArray(new AggPickmVO[0]), this.isFromMO);
|
||||
if (MMValueCheck.isNotEmpty(aggvos)) {
|
||||
for(AggPickmVO aggvo : aggvos) {
|
||||
AggPickmVO preaggvo = (AggPickmVO)this.preAggVOMap.get(aggvo.getPrimaryKey());
|
||||
this.matchItem(preaggvo, aggvo);
|
||||
String k ="10";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
private void matchItem(AggPickmVO preaggvo, AggPickmVO newaggvo) {
|
||||
Map<String, PickmItemVO> preItemMap = this.getItemMap(preaggvo);
|
||||
MapList<String, PickmItemVO> newItemMap = this.getMD5ItemMap(newaggvo);
|
||||
List<String> userBuiltItemIDs = this.getUserBuiltItemIDs(preaggvo);
|
||||
if (MMValueCheck.isEmpty(preaggvo.getChildren(PickmItemVO.class))) {
|
||||
if (!MMValueCheck.isEmpty(newaggvo.getChildren(PickmItemVO.class))) {
|
||||
preaggvo.setChildrenVO(this.getNewItems(preaggvo.getParentVO().getCpickmid(), (PickmItemVO[])newaggvo.getChildrenVO()));
|
||||
}
|
||||
} else {
|
||||
PickmItemVO[] preItems = (PickmItemVO[])preaggvo.getChildren(PickmItemVO.class);
|
||||
Map<String, String> idMap = new HashMap();
|
||||
Map<String, String> noIdMap = new HashMap();
|
||||
|
||||
for(PickmItemVO item : preItems) {
|
||||
if (!MMValueCheck.isTrue(item.getBautobuilt())) {
|
||||
if (!MMValueCheck.isEmpty(item.getCreplacesrcid()) && (!MMValueCheck.isNotEmpty(userBuiltItemIDs) || !userBuiltItemIDs.contains(item.getCreplacesrcid()))) {
|
||||
this.setDeleteItemValue(item);
|
||||
}
|
||||
} else {
|
||||
String key = this.getMatchKey(item);
|
||||
if (!MMMapUtil.isEmpty(newItemMap) && newItemMap.containsKey(key)) {
|
||||
if (newItemMap.containsKey(key)) {
|
||||
List<PickmItemVO> newItems = newItemMap.get(key);
|
||||
Iterator var15 = newItems.iterator();
|
||||
if (var15.hasNext()) {
|
||||
PickmItemVO newItem = (PickmItemVO)var15.next();
|
||||
if (MMValueCheck.isNotEmpty(newItem.getCpickm_bid())) {
|
||||
if (MMValueCheck.isNotEmpty(item.getCpickm_bid())) {
|
||||
idMap.put(newItem.getCpickm_bid(), item.getCpickm_bid());
|
||||
} else {
|
||||
item.setCpickm_bid(newItem.getCpickm_bid());
|
||||
}
|
||||
}
|
||||
|
||||
if (FreplaceinfoEnum.REPLACED.equalsValue(newItem.getFreplaceinfo()) && MMValueCheck.isEmpty(newItem.getCgroupkeyrowid())) {
|
||||
if (MMValueCheck.isEmpty(item.getCpickm_bid())) {
|
||||
item.setCpickm_bid(newItem.getCpickm_bid());
|
||||
}
|
||||
|
||||
noIdMap.put(newItem.getVrowno(), item.getCpickm_bid());
|
||||
}
|
||||
|
||||
if (MMValueCheck.isNotEmpty(newItem.getCreplacesrcid()) && MMValueCheck.isTrue(newItem.getBgroupkey())) {
|
||||
if (MMValueCheck.isEmpty(item.getCpickm_bid())) {
|
||||
item.setCpickm_bid(newItem.getCpickm_bid());
|
||||
}
|
||||
|
||||
noIdMap.put(newItem.getCreplacesrcid() + newItem.getVreplacegroup(), item.getCpickm_bid());
|
||||
}
|
||||
|
||||
this.updatePreItem(item, newItem);
|
||||
newItemMap.get(key).remove(newItem);
|
||||
}
|
||||
|
||||
if (MMValueCheck.isEmpty(newItemMap.get(key))) {
|
||||
newItemMap.remove(key);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.setDeleteItemValue(item);
|
||||
this.setReplItemValue(item, preItemMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (MMValueCheck.isNotEmpty(newItemMap)) {
|
||||
PickmItemVO[] items = preItems;
|
||||
|
||||
for(String key : newItemMap.keySet()) {
|
||||
items = this.addNewItem(items, (PickmItemVO[])newItemMap.get(key).toArray(new PickmItemVO[0]), noIdMap);
|
||||
}
|
||||
|
||||
preaggvo.setChildrenVO(items);
|
||||
}
|
||||
|
||||
if (!MMValueCheck.isEmpty(preaggvo.getChildrenVO())) {
|
||||
Map<String, String> idNoMap = new HashMap();
|
||||
|
||||
for(PickmItemVO item : (PickmItemVO[])preaggvo.getChildrenVO()) {
|
||||
if (MMValueCheck.isNotEmpty(item.getCpickm_bid())) {
|
||||
idNoMap.put(item.getCpickm_bid(), item.getVrowno());
|
||||
}
|
||||
}
|
||||
|
||||
for(PickmItemVO item : (PickmItemVO[])preaggvo.getChildrenVO()) {
|
||||
if (MMValueCheck.isNotEmpty(item.getCgroupkeyrowid())) {
|
||||
if (MMValueCheck.isNotEmpty(idMap) && idMap.containsKey(item.getCgroupkeyrowid())) {
|
||||
item.setCgroupkeyrowid((String)idMap.get(item.getCgroupkeyrowid()));
|
||||
} else if (MMValueCheck.isNotEmpty(noIdMap) && noIdMap.containsKey(item.getCgroupkeyrowid())) {
|
||||
item.setCgroupkeyrowid((String)noIdMap.get(item.getCgroupkeyrowid()));
|
||||
}
|
||||
}
|
||||
|
||||
if (MMValueCheck.isNotEmpty(item.getCreplacesrcid())) {
|
||||
if (MMValueCheck.isNotEmpty(idMap) && idMap.containsKey(item.getCreplacesrcid())) {
|
||||
item.setCreplacesrcid((String)idMap.get(item.getCreplacesrcid()));
|
||||
} else if (MMValueCheck.isNotEmpty(noIdMap) && noIdMap.containsKey(item.getCreplacesrcid())) {
|
||||
item.setCreplacesrcid((String)noIdMap.get(item.getCreplacesrcid()));
|
||||
}
|
||||
|
||||
if (idNoMap.containsKey(item.getCreplacesrcid())) {
|
||||
if (MMValueCheck.isEmpty(item.getVreplacegroup())) {
|
||||
item.setVbnote(PickmLangConsts.getReplace_ISEQNUMBER(new String[]{(String)idNoMap.get(item.getCreplacesrcid())}));
|
||||
} else {
|
||||
item.setVbnote(PickmLangConsts.getRepBodyNote_Group_Msg((String)idNoMap.get(item.getCreplacesrcid())));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private PickmItemVO[] getNewItems(String cpickmid, PickmItemVO[] items) {
|
||||
for(PickmItemVO item : items) {
|
||||
item.setCpickmid(cpickmid);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
private List<String> getUserBuiltItemIDs(AggPickmVO preaggvo) {
|
||||
if (MMValueCheck.isEmpty(preaggvo.getChildren(PickmItemVO.class))) {
|
||||
return null;
|
||||
} else {
|
||||
List<String> ids = new ArrayList();
|
||||
PickmItemVO[] preItems = (PickmItemVO[])preaggvo.getChildren(PickmItemVO.class);
|
||||
|
||||
for(PickmItemVO item : preItems) {
|
||||
if (!MMValueCheck.isTrue(item.getBautobuilt()) && MMValueCheck.isEmpty(item.getCreplacesrcid())) {
|
||||
ids.add(item.getCpickm_bid());
|
||||
}
|
||||
}
|
||||
|
||||
return ids;
|
||||
}
|
||||
}
|
||||
|
||||
private void updatePreItem(PickmItemVO preItemVO, PickmItemVO newItemVO) {
|
||||
if (preItemVO.getStatus() != 2) {
|
||||
preItemVO.setStatus(1);
|
||||
}
|
||||
|
||||
for(String attr : updateAttributes) {
|
||||
if(attr.equals("vbdef16")){
|
||||
continue;
|
||||
}
|
||||
preItemVO.setAttributeValue(attr, newItemVO.getAttributeValue(attr));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private PickmItemVO[] addNewItem(PickmItemVO[] preItems, PickmItemVO[] newItems, Map<String, String> noIdMap) {
|
||||
List<PickmItemVO> returnItems = new ArrayList();
|
||||
UFDouble vrowno = UFDouble.ZERO_DBL;
|
||||
|
||||
for(PickmItemVO preItem : preItems) {
|
||||
vrowno = MMNumberUtil.max(vrowno, VORowNoUtils.getUFDouble(preItem.getVrowno()));
|
||||
returnItems.add(preItem);
|
||||
}
|
||||
|
||||
String newRowno = vrowno.toString();
|
||||
|
||||
for(PickmItemVO newItem : newItems) {
|
||||
String oldNo = newItem.getVrowno();
|
||||
if (FreplaceinfoEnum.REPLACED.equalsValue(newItem.getFreplaceinfo()) && MMValueCheck.isEmpty(newItem.getCgroupkeyrowid())) {
|
||||
if (MMValueCheck.isEmpty(newItem.getCpickm_bid())) {
|
||||
newItem.setCpickm_bid((new SequenceGenerator()).generate());
|
||||
}
|
||||
|
||||
noIdMap.put(oldNo, newItem.getCpickm_bid());
|
||||
}
|
||||
|
||||
if (MMValueCheck.isNotEmpty(newItem.getCreplacesrcid()) && MMValueCheck.isTrue(newItem.getBgroupkey())) {
|
||||
if (MMValueCheck.isEmpty(newItem.getCpickm_bid())) {
|
||||
newItem.setCpickm_bid((new SequenceGenerator()).generate());
|
||||
}
|
||||
|
||||
noIdMap.put(newItem.getCreplacesrcid() + newItem.getVreplacegroup(), newItem.getCpickm_bid());
|
||||
}
|
||||
|
||||
newRowno = VORowNoUtils.getRowNoAfterByRule(newRowno.toString(), 10);
|
||||
newItem.setCpickmid(preItems[0].getCpickmid());
|
||||
newItem.setStatus(2);
|
||||
newItem.setVrowno(newRowno);
|
||||
returnItems.add(newItem);
|
||||
}
|
||||
|
||||
return (PickmItemVO[])returnItems.toArray(new PickmItemVO[0]);
|
||||
}
|
||||
|
||||
private void setReplItemValue(PickmItemVO item, Map<String, PickmItemVO> preItemMap) {
|
||||
if (item.getCreplacesrcid() != null && preItemMap.containsKey(item.getCreplacesrcid())) {
|
||||
if (((PickmItemVO)preItemMap.get(item.getCreplacesrcid())).getCbombid() != null || ((PickmItemVO)preItemMap.get(item.getCreplacesrcid())).getCrtopacid() != null) {
|
||||
item.setCreplacesrcid((String)null);
|
||||
item.setPk_realsubs((String)null);
|
||||
item.setNreplaceorder((Integer)null);
|
||||
item.setVreplacequotiety((String)null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setDeleteItemValue(PickmItemVO item) {
|
||||
if (item.getStatus() != 2) {
|
||||
item.setStatus(1);
|
||||
}
|
||||
|
||||
item.setNunitnum(UFDouble.ZERO_DBL);
|
||||
item.setNunitastnum(UFDouble.ZERO_DBL);
|
||||
item.setNquotnum(UFDouble.ZERO_DBL);
|
||||
item.setNquotastnum(UFDouble.ZERO_DBL);
|
||||
item.setNunitusenum(UFDouble.ZERO_DBL);
|
||||
item.setNunituseastnum(UFDouble.ZERO_DBL);
|
||||
item.setNplanoutnum(UFDouble.ZERO_DBL);
|
||||
item.setNplanoutastnum(UFDouble.ZERO_DBL);
|
||||
item.setNfixshrinknum(UFDouble.ZERO_DBL);
|
||||
item.setNfixshrinkastnum(UFDouble.ZERO_DBL);
|
||||
item.setNdissipationum(UFDouble.ZERO_DBL);
|
||||
item.setVreplacequotiety((String)null);
|
||||
item.setCreplacesrcid((String)null);
|
||||
item.setNreplaceorder((Integer)null);
|
||||
item.setVreplacequotiety((String)null);
|
||||
item.setFreplaceinfo((Integer)null);
|
||||
item.setVbnote(PickmLangConsts.getMSG_RebuildDeleteItem());
|
||||
}
|
||||
|
||||
private void createPreAggMap(AggPickmVO[] aggvos) {
|
||||
for(AggPickmVO aggvo : aggvos) {
|
||||
this.preAggVOMap.put(aggvo.getPrimaryKey(), aggvo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Map<String, PickmItemVO> getItemMap(AggPickmVO aggvo) {
|
||||
if (MMValueCheck.isEmpty(aggvo.getChildren(PickmItemVO.class))) {
|
||||
return null;
|
||||
} else {
|
||||
PickmItemVO[] items = (PickmItemVO[])aggvo.getChildren(PickmItemVO.class);
|
||||
Map<String, PickmItemVO> itemMap = new HashMap();
|
||||
|
||||
for(PickmItemVO item : items) {
|
||||
if (item.getCpickm_bid() != null) {
|
||||
itemMap.put(item.getCpickm_bid(), item);
|
||||
}
|
||||
}
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
}
|
||||
|
||||
private MapList<String, PickmItemVO> getMD5ItemMap(AggPickmVO aggvo) {
|
||||
if (MMValueCheck.isEmpty(aggvo.getChildren(PickmItemVO.class))) {
|
||||
return null;
|
||||
} else {
|
||||
PickmItemVO[] items = (PickmItemVO[])aggvo.getChildren(PickmItemVO.class);
|
||||
MapList<String, PickmItemVO> itemMap = new MapList();
|
||||
|
||||
for(PickmItemVO item : items) {
|
||||
String key = this.getMatchKey(item);
|
||||
itemMap.put(key, item);
|
||||
}
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
}
|
||||
|
||||
private String getMatchKey(PickmItemVO item) {
|
||||
StringBuffer key = new StringBuffer();
|
||||
if (item.getFbomtype() != null) {
|
||||
key.append(item.getFbomtype());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getVbomrowno() != null) {
|
||||
key.append(item.getVbomrowno());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getVprocessno() != null) {
|
||||
key.append(item.getVprocessno());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getOpacprocessno() != null) {
|
||||
key.append(item.getOpacprocessno());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbmaterialvid() != null) {
|
||||
key.append(item.getCbmaterialvid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbastunitid() != null) {
|
||||
key.append(item.getCbastunitid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbprojectid() != null) {
|
||||
key.append(item.getCbprojectid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbproductorid() != null) {
|
||||
key.append(item.getCbproductorid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbvendorid() != null) {
|
||||
key.append(item.getCbvendorid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbcustomerid() != null) {
|
||||
key.append(item.getCbcustomerid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
if (item.getCbffileid() != null) {
|
||||
key.append(item.getCbffileid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
for(int i = 1; i < 11; ++i) {
|
||||
if (item.getAttributeValue("vbfree" + i) != null) {
|
||||
key.append(item.getAttributeValue("vbfree" + i));
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
}
|
||||
|
||||
if (item.getVpscsrcpickmbid() != null) {
|
||||
key.append(item.getCbvendorid());
|
||||
} else {
|
||||
key.append("~");
|
||||
}
|
||||
|
||||
return PACMDKeyUtil.getMD5String(key.toString());
|
||||
}
|
||||
}
|
||||
|
|
@ -67,7 +67,6 @@ public class PickmSubItemTransferFromBom extends PickmSubItemTransfer {
|
|||
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()});
|
||||
}
|
||||
|
|
@ -104,7 +103,7 @@ public class PickmSubItemTransferFromBom extends PickmSubItemTransfer {
|
|||
this.setVdefItem(pickmItemVO, bomItem);
|
||||
if(pickmHeadVO.getCpickmid() != null) {
|
||||
//20251202 备料重算取消更新备料计划子表自定义项已下达数量
|
||||
this.setVbdef16(pickmHeadVO,pickmItemVO, bomItem);
|
||||
// this.setVbdef16(pickmHeadVO,pickmItemVO, bomItem);
|
||||
}
|
||||
return pickmItemVO;
|
||||
}
|
||||
|
|
@ -130,6 +129,7 @@ public class PickmSubItemTransferFromBom extends PickmSubItemTransfer {
|
|||
pickmItemVO.setVbdef18(bomItem.getVdef18());
|
||||
pickmItemVO.setVbdef19(bomItem.getVdef19());
|
||||
pickmItemVO.setVbdef20(bomItem.getVdef20());
|
||||
pickmItemVO.setVbnote(bomItem.getVnote());
|
||||
}
|
||||
private void setVbdef16(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, BomItemParamForPickm bomItem) throws BusinessException {
|
||||
IPickmQueryService service= ((IPickmQueryService) NCLocator.getInstance()
|
||||
|
|
@ -140,14 +140,14 @@ public class PickmSubItemTransferFromBom extends PickmSubItemTransfer {
|
|||
for (PickmItemVO pickmItemVO1 : pickmItemVOs) {
|
||||
if(null != pickmItemVO.getCbombid() && null != pickmItemVO1.getCbombid()){
|
||||
if(pickmItemVO1.getCbombid().equals(pickmItemVO.getCbombid())) {
|
||||
pickmItemVO.setVbdef16(pickmItemVO1.getVbdef16());
|
||||
// pickmItemVO.setVbdef16(pickmItemVO1.getVbdef16());
|
||||
// pickmItemVO.setVbnote(pickmItemVO1.getVbnote());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 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);
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ public class PickmSubItemTransferFromRT extends PickmSubItemTransfer {
|
|||
this.setVdefItem(pickmItemVO, opacItemVO);
|
||||
if(pickmHeadVO.getCpickmid() != null) {
|
||||
//20251202 备料重算取消更新备料计划子表自定义项已下达数量
|
||||
this.setVbdef16(pickmHeadVO,pickmItemVO, opacItemVO);
|
||||
// this.setVbdef16(pickmHeadVO,pickmItemVO, opacItemVO);
|
||||
}
|
||||
return pickmItemVO;
|
||||
}
|
||||
|
|
@ -173,6 +173,7 @@ public class PickmSubItemTransferFromRT extends PickmSubItemTransfer {
|
|||
pickmItemVO.setVbdef18(opacItemVO.getVdef18());
|
||||
pickmItemVO.setVbdef19(opacItemVO.getVdef19());
|
||||
pickmItemVO.setVbdef20(opacItemVO.getVdef20());
|
||||
pickmItemVO.setVbnote(opacItemVO.getVnote());
|
||||
}
|
||||
|
||||
private void setBaseInfo(PickmHeadVO pickmHeadVO, PickmItemVO pickmItemVO, RtItemParamForPickm opacItemVO, Map<String, MOSubItemRtParam> moParamMap) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue