采购订单推送委外订单校验,委外订单生成备料明细取消校验
This commit is contained in:
parent
daa822bc63
commit
c14f537ba7
|
@ -0,0 +1,145 @@
|
|||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package nc.bs.mmpac.pickm.rule.subitems.datas;
|
||||
|
||||
import nc.bs.mmpac.pickm.adapter.BomServiceAdapter;
|
||||
import nc.bs.mmpac.pickm.rule.subitems.cache.PickmSubItemBuilderDateCache;
|
||||
import nc.bs.pubapp.AppBsContext;
|
||||
import nc.pubitf.sc.m61.mm.SCOrderQtyResultParamForPickm;
|
||||
import nc.util.mmf.framework.base.MMNumberUtil;
|
||||
import nc.util.mmf.framework.base.MMValueCheck;
|
||||
import nc.vo.bd.bom.bom0202.paramvo.BomItemQueryParamForPickm;
|
||||
import nc.vo.bd.vermatch.enumeration.MfgTypeEnum;
|
||||
import nc.vo.mmpac.mo.param.MOSubItemQueryResultVO4Pickm;
|
||||
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.enumeration.FsourcetypeEnum;
|
||||
import nc.vo.pub.lang.UFDouble;
|
||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||
|
||||
public class PickmSubItemDataFromBom {
|
||||
private PickmSubItemBuilderDateCache subItemdateCache;
|
||||
|
||||
public PickmSubItemDataFromBom(PickmSubItemBuilderDateCache cache) {
|
||||
this.subItemdateCache = cache;
|
||||
}
|
||||
|
||||
public void getSubItemDataFromBom(AggPickmVO[] aggVOs) {
|
||||
for(AggPickmVO aggPickmVO : aggVOs) {
|
||||
PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
|
||||
if (FsourcetypeEnum.WWBILL_STATE.equalsValue(pickmHeadVO.getFsourcetype())) {
|
||||
if(!"61-Cxx-01".equals(pickmHeadVO.getVfirsttrantype())){
|
||||
if (MMValueCheck.isEmpty(pickmHeadVO.getVbomversion())) {
|
||||
ExceptionUtils.wrappBusinessException(PickmLangConsts.getHIT_BOMNULL());
|
||||
}
|
||||
|
||||
BomItemQueryParamForPickm param = this.getBomQueryParamFromSc(pickmHeadVO, pickmHeadVO.getVbomversion());
|
||||
this.subItemdateCache.setBomQueryParamList(param);
|
||||
}
|
||||
} else {
|
||||
if (FsourcetypeEnum.MOBILL_STATE.equalsValue(pickmHeadVO.getFsourcetype())) {
|
||||
if (pickmHeadVO.getVbomversion() == null && pickmHeadVO.getVpbomversion() == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (pickmHeadVO.getVbomversion() != null) {
|
||||
BomItemQueryParamForPickm param = this.getBomQueryParamFromMO(pickmHeadVO, pickmHeadVO.getVbomversion());
|
||||
this.subItemdateCache.setBomQueryParamList(param);
|
||||
}
|
||||
|
||||
if (pickmHeadVO.getVpbomversion() != null) {
|
||||
BomItemQueryParamForPickm param = this.getBomQueryParamFromMO(pickmHeadVO, pickmHeadVO.getVpbomversion());
|
||||
this.subItemdateCache.setBomQueryParamList(param);
|
||||
}
|
||||
}
|
||||
|
||||
if (FsourcetypeEnum.HAND_STATE.equalsValue(pickmHeadVO.getFsourcetype())) {
|
||||
if (pickmHeadVO.getVbomversion() == null && pickmHeadVO.getVpbomversion() == null) {
|
||||
ExceptionUtils.wrappBusinessException(PickmLangConsts.getHIT_BOMNULL());
|
||||
}
|
||||
|
||||
if (pickmHeadVO.getVbomversion() != null) {
|
||||
BomItemQueryParamForPickm param = this.getBomQueryParamFromHand(pickmHeadVO, pickmHeadVO.getVbomversion());
|
||||
this.subItemdateCache.setBomQueryParamList(param);
|
||||
}
|
||||
|
||||
if (pickmHeadVO.getVpbomversion() != null) {
|
||||
BomItemQueryParamForPickm param = this.getBomQueryParamFromHand(pickmHeadVO, pickmHeadVO.getVpbomversion());
|
||||
this.subItemdateCache.setBomQueryParamList(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.subItemdateCache.setAggBomMap(BomServiceAdapter.queryBomItemForPI_New((BomItemQueryParamForPickm[])this.subItemdateCache.getBomQueryParamList().toArray(new BomItemQueryParamForPickm[0])));
|
||||
}
|
||||
|
||||
private BomItemQueryParamForPickm getBomQueryParamFromMO(PickmHeadVO headVO, String bomID) {
|
||||
BomItemQueryParamForPickm param = new BomItemQueryParamForPickm();
|
||||
String key = null;
|
||||
if ("55A2".equals(headVO.getVsourcebilltype())) {
|
||||
String var10000 = headVO.getCsourcebillrowid();
|
||||
key = var10000 + headVO.getVsourcebilltype();
|
||||
} else if ("55C2".equals(headVO.getVsourcebilltype())) {
|
||||
String var6 = headVO.getCsourcebillid();
|
||||
key = var6 + headVO.getVsourcebilltype();
|
||||
}
|
||||
|
||||
MOSubItemQueryResultVO4Pickm moparam = (MOSubItemQueryResultVO4Pickm)this.subItemdateCache.getMoDataMap().get(key);
|
||||
param.setCbomid(bomID);
|
||||
param.setDemandDate(moparam.getTplanstarttime().getDate());
|
||||
param.setCcustomerid(headVO.getCcustomerid());
|
||||
param.setCprojectid(headVO.getCprojectid());
|
||||
param.setManuTpye(Integer.valueOf(MfgTypeEnum.PRODUCTION.getEnumValue().getValue()));
|
||||
param.setCbomQuery(false);
|
||||
param.setPk_org(headVO.getPk_org());
|
||||
if (MMNumberUtil.isEqualZero(headVO.getNnumber())) {
|
||||
param.setNnum(UFDouble.ONE_DBL);
|
||||
} else {
|
||||
param.setNnum(headVO.getNnumber());
|
||||
}
|
||||
|
||||
param.setCsrcid(key + param.getCbomid() + param.getDemandDate() + param.getCcustomerid() + param.getCprojectid());
|
||||
return param;
|
||||
}
|
||||
|
||||
private BomItemQueryParamForPickm getBomQueryParamFromSc(PickmHeadVO headVO, String bomID) {
|
||||
BomItemQueryParamForPickm param = new BomItemQueryParamForPickm();
|
||||
String key = headVO.getCsourcebillrowid();
|
||||
SCOrderQtyResultParamForPickm scparam = this.subItemdateCache.getScDataMap(key);
|
||||
param.setCbomid(bomID);
|
||||
param.setDemandDate(scparam.getDplanarrvdate());
|
||||
param.setCcustomerid(headVO.getCcustomerid());
|
||||
param.setCprojectid(headVO.getCprojectid());
|
||||
param.setManuTpye(Integer.valueOf(MfgTypeEnum.ENTRUST.getEnumValue().getValue()));
|
||||
param.setCbomQuery(false);
|
||||
param.setPk_org(headVO.getPk_org());
|
||||
param.setNnum(headVO.getNnumber());
|
||||
param.setCsrcid(key + param.getCbomid() + param.getDemandDate() + param.getCcustomerid() + param.getCprojectid());
|
||||
return param;
|
||||
}
|
||||
|
||||
private BomItemQueryParamForPickm getBomQueryParamFromHand(PickmHeadVO headVO, String bomID) {
|
||||
BomItemQueryParamForPickm param = new BomItemQueryParamForPickm();
|
||||
String key = headVO.getCsourcebillrowid();
|
||||
param.setCbomid(bomID);
|
||||
param.setDemandDate(AppBsContext.getInstance().getBusiDate());
|
||||
param.setCcustomerid(headVO.getCcustomerid());
|
||||
param.setCprojectid(headVO.getCprojectid());
|
||||
param.setManuTpye(Integer.valueOf(MfgTypeEnum.PRODUCTION.getEnumValue().getValue()));
|
||||
param.setCbomQuery(false);
|
||||
param.setPk_org(headVO.getPk_org());
|
||||
if (MMNumberUtil.isEqualZero(headVO.getNnumber())) {
|
||||
param.setNnum(UFDouble.ONE_DBL);
|
||||
} else {
|
||||
param.setNnum(headVO.getNnumber());
|
||||
}
|
||||
|
||||
param.setCsrcid(key + param.getCbomid() + param.getDemandDate() + param.getCcustomerid() + param.getCprojectid());
|
||||
return param;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package nccloud.web.pu.poorder.action;
|
||||
|
||||
import nc.bs.dao.BaseDAO;
|
||||
import nc.impl.pubapp.pattern.data.bill.BillQuery;
|
||||
import nc.itf.scmpub.reference.uap.pf.PfServiceScmUtil;
|
||||
import nc.jdbc.framework.processor.MapListProcessor;
|
||||
import nc.vo.pu.m21.entity.OrderVO;
|
||||
import nc.vo.pub.lang.UFBoolean;
|
||||
import nc.vo.sc.m61.entity.SCOrderVO;
|
||||
import nc.vo.sc.m61.entity.context.SCOrderContxt;
|
||||
import nccloud.framework.core.json.IJson;
|
||||
import nccloud.framework.web.action.itf.ICommonAction;
|
||||
import nccloud.framework.web.container.IRequest;
|
||||
import nccloud.framework.web.json.JsonFactory;
|
||||
import nccloud.framework.web.ui.pattern.billcard.BillCard;
|
||||
import nccloud.web.sc.scorder.entity.QueryInfoSCOrder;
|
||||
import nccloud.web.sc.scorder.util.SCOrderBillCardOperator;
|
||||
import nccloud.web.scmpub.pub.resexp.PfResumeExceptionNccUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class PushScOrderCheck implements ICommonAction {
|
||||
public PushScOrderCheck() {
|
||||
}
|
||||
public Object doAction(IRequest request) {
|
||||
|
||||
String read = request.read();
|
||||
|
||||
Map<String, Object> paraMap = (Map) JsonFactory.create().fromJson(read, Map.class);
|
||||
try {
|
||||
String[] hids =paraMap.get("pk").toString().split(",");
|
||||
String sql = "select csrcid from sc_order_b where dr = 0 and csrcid = '" +hids[0]+"'";
|
||||
BaseDAO dao = new BaseDAO();
|
||||
ArrayList<HashMap<String, Object>> al = (ArrayList<HashMap<String, Object>>)dao.executeQuery(sql, new MapListProcessor());
|
||||
return al;
|
||||
} catch (Exception ex) {
|
||||
return PfResumeExceptionNccUtils.handleResumeException(ex);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -387,5 +387,10 @@
|
|||
<clazz>nccloud.web.pu.poorder.action.PushScOrderAction</clazz>
|
||||
<btncode>OrderTOSaleBill</btncode>
|
||||
</action>
|
||||
<action>
|
||||
<name>pu.poorder.pushScOrderCheck</name>
|
||||
<label>采购订单生成协同销售订单校验</label>
|
||||
<clazz>nccloud.web.pu.poorder.action.PushScOrderCheck</clazz>
|
||||
</action>
|
||||
|
||||
</actions>
|
||||
|
|
|
@ -174,6 +174,7 @@
|
|||
<appcode>401200000,401200002,401200004,401200006</appcode>
|
||||
<actions>
|
||||
<action>pu.poorder.pushScOrderAction</action>
|
||||
<action>pu.poorder.pushScOrderCheck</action>
|
||||
</actions>
|
||||
</authorize>
|
||||
</authorizes>
|
||||
|
|
Loading…
Reference in New Issue