采购订单推送委外订单校验,委外订单生成备料明细取消校验
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