采购订单推送委外订单校验,委外订单生成备料明细取消校验
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> | 		<clazz>nccloud.web.pu.poorder.action.PushScOrderAction</clazz> | ||||||
| 		<btncode>OrderTOSaleBill</btncode> | 		<btncode>OrderTOSaleBill</btncode> | ||||||
| 	</action> | 	</action> | ||||||
|  | 	<action> | ||||||
|  | 		<name>pu.poorder.pushScOrderCheck</name> | ||||||
|  | 		<label>采购订单生成协同销售订单校验</label> | ||||||
|  | 		<clazz>nccloud.web.pu.poorder.action.PushScOrderCheck</clazz> | ||||||
|  | 	</action> | ||||||
| 
 | 
 | ||||||
| </actions> | </actions> | ||||||
|  |  | ||||||
|  | @ -174,6 +174,7 @@ | ||||||
|       <appcode>401200000,401200002,401200004,401200006</appcode> |       <appcode>401200000,401200002,401200004,401200006</appcode> | ||||||
|         <actions> |         <actions> | ||||||
|             <action>pu.poorder.pushScOrderAction</action> |             <action>pu.poorder.pushScOrderAction</action> | ||||||
|  |             <action>pu.poorder.pushScOrderCheck</action> | ||||||
|         </actions> |         </actions> | ||||||
|     </authorize> |     </authorize> | ||||||
| </authorizes> | </authorizes> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue