注释同步修改备料计划
This commit is contained in:
		
							parent
							
								
									bd21c31e4e
								
							
						
					
					
						commit
						8f069cf389
					
				|  | @ -8,7 +8,6 @@ package nc.bs.mmpac.pmo.pac0002.bp; | |||
| import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOToFinishPickMRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule; | ||||
| import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule; | ||||
| import nc.impl.pubapp.pattern.rule.IFilterRule; | ||||
|  | @ -43,9 +42,9 @@ public class PMOFinishBP { | |||
|     private void addFinishAfterRule(CompareAroundProcesser<PMOAggVO> processer) { | ||||
|         IRule<PMOAggVO> finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule(); | ||||
|         processer.addAfterRule(finishPutPlanRule); | ||||
|         /** 同步修改备料计划完成(生产订单强制完工时) */ | ||||
|         IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule(); | ||||
|         processer.addAfterRule(pMOToFinishPickMRule); | ||||
| //        /** 同步修改备料计划完成(生产订单强制完工时) */ | ||||
| //        IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule(); | ||||
| //        processer.addAfterRule(pMOToFinishPickMRule); | ||||
|     } | ||||
| 
 | ||||
|     public PMOAggVO[] finishCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) { | ||||
|  |  | |||
|  | @ -5,13 +5,16 @@ | |||
| 
 | ||||
| package nc.bs.mmpac.pmo.pac0002.bp; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import nc.bs.mmpac.pmo.pac0002.bp.service.PMOBPService; | ||||
| import nc.bs.mmpac.pmo.pac0002.bp.util.PMOBPUtil; | ||||
| import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterRowStatusRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.PMOToFinishPickMRule; | ||||
| import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule; | ||||
| import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule; | ||||
| import nc.impl.pubapp.pattern.rule.IRule; | ||||
|  | @ -28,11 +31,6 @@ import nc.vo.pub.BusinessException; | |||
| import nc.vo.pub.CircularlyAccessibleValueObject; | ||||
| import nc.vo.pubapp.pattern.exception.ExceptionUtils; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| public class PMORowFinishBP { | ||||
|     public PMORowFinishBP() { | ||||
|     } | ||||
|  | @ -88,10 +86,10 @@ public class PMORowFinishBP { | |||
|             returnvos[0].setChildrenVO((CircularlyAccessibleValueObject[])newitemMap.values().toArray(new PMOItemVO[0])); | ||||
|             processer.after(returnvos, returnvos); | ||||
| 
 | ||||
|             /** 同步修改备料计划完成(生产订单强制完工时) */ | ||||
|             IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule(); | ||||
|             pMOToFinishPickMRule.process(newaggvos); | ||||
|             /** ******************** */ | ||||
| //            /** 同步修改备料计划完成(生产订单强制完工时) */ | ||||
| //            IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule(); | ||||
| //            pMOToFinishPickMRule.process(newaggvos); | ||||
| //            /** ******************** */ | ||||
| 
 | ||||
|             PMOAggVO newaggvo = PMOBPService.getIPMOQueryService().queryByPk(vos[0].getParentVO().getCpmohid()); | ||||
|             return new PMOAggVO[]{newaggvo}; | ||||
|  |  | |||
|  | @ -27,52 +27,53 @@ public class PMOToFinishPickMRule | |||
|          *			3.若为完工状态,则根据生产订单明细表中生产订单行查询备料计划 | ||||
|          *			4.修改备料计划为完成状态(3) | ||||
|          */ | ||||
|         for(int i = 0; i < vos.length; i++) { | ||||
|             PMOAggVO vo = vos[i]; | ||||
|             PMOItemVO[] items =  vo.getChildrenVO(); | ||||
|             //循环生产订单明细 | ||||
|             for(int j = 0; j < items.length; j++) { | ||||
|                 PMOItemVO item = items[j]; | ||||
|                 //查看生产订单行状态是否为完工(2) | ||||
|                 int fitemStatus = item.getFitemstatus(); | ||||
|                 if(fitemStatus != 2) { | ||||
|                     continue; | ||||
|                 } | ||||
|                 //根据生产订单行查询备料计划 | ||||
|                 String cmoid = item.getCmoid(); | ||||
|                 String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'"; | ||||
|                 IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class); | ||||
|                 // 根据主键查询得到aggvo | ||||
|                 try { | ||||
|                     @SuppressWarnings("unchecked") | ||||
|                     ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false); | ||||
|                     if(aggVOs.size() <= 0) { | ||||
|                         continue; | ||||
|                     } | ||||
|                     //数组转换 | ||||
|                     AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()]; | ||||
|                     boolean flag = false; | ||||
|                     for(int z=0; z<aggVOs.size(); z++) { | ||||
|                         AggPickmVO aggPickmVO = aggVOs.get(z); | ||||
|                         PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO(); | ||||
|                         Integer fbillstatus = pickmHeadVO.getFbillstatus(); | ||||
|                         //已经位完工态的备料计划不修改 | ||||
|                         if(fbillstatus != 2){ | ||||
|                             aggVOsArr[z] =aggVOs.get(z); | ||||
|                             flag = true; | ||||
|                         } | ||||
|                     } | ||||
|                     if(flag) { | ||||
|                         //备料计划完工 | ||||
|                         IPickmMaintainService ipickmMaintainService = NCLocator.getInstance().lookup(IPickmMaintainService.class); | ||||
|                         ipickmMaintainService.finishPickm(aggVOsArr); | ||||
|                     } | ||||
|                 }catch(BusinessException e) { | ||||
|                     // TODO Auto-generated catch block | ||||
|                     e.printStackTrace(); | ||||
|                 } | ||||
| 
 | ||||
|             } | ||||
|         } | ||||
|         //20250514弃用 | ||||
| //        for(int i = 0; i < vos.length; i++) { | ||||
| //            PMOAggVO vo = vos[i]; | ||||
| //            PMOItemVO[] items =  vo.getChildrenVO(); | ||||
| //            //循环生产订单明细 | ||||
| //            for(int j = 0; j < items.length; j++) { | ||||
| //                PMOItemVO item = items[j]; | ||||
| //                //查看生产订单行状态是否为完工(2) | ||||
| //                int fitemStatus = item.getFitemstatus(); | ||||
| //                if(fitemStatus != 2) { | ||||
| //                    continue; | ||||
| //                } | ||||
| //                //根据生产订单行查询备料计划 | ||||
| //                String cmoid = item.getCmoid(); | ||||
| //                String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'"; | ||||
| //                IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class); | ||||
| //                // 根据主键查询得到aggvo | ||||
| //                try { | ||||
| //                    @SuppressWarnings("unchecked") | ||||
| //                    ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false); | ||||
| //                    if(aggVOs.size() <= 0) { | ||||
| //                        continue; | ||||
| //                    } | ||||
| //                    //数组转换 | ||||
| //                    AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()]; | ||||
| //                    boolean flag = false; | ||||
| //                    for(int z=0; z<aggVOs.size(); z++) { | ||||
| //                        AggPickmVO aggPickmVO = aggVOs.get(z); | ||||
| //                        PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO(); | ||||
| //                        Integer fbillstatus = pickmHeadVO.getFbillstatus(); | ||||
| //                        //已经位完工态的备料计划不修改 | ||||
| //                        if(fbillstatus != 2){ | ||||
| //                            aggVOsArr[z] =aggVOs.get(z); | ||||
| //                            flag = true; | ||||
| //                        } | ||||
| //                    } | ||||
| //                    if(flag) { | ||||
| //                        //备料计划完工 | ||||
| //                        IPickmMaintainService ipickmMaintainService = NCLocator.getInstance().lookup(IPickmMaintainService.class); | ||||
| //                        ipickmMaintainService.finishPickm(aggVOsArr); | ||||
| //                    } | ||||
| //                }catch(BusinessException e) { | ||||
| //                    // TODO Auto-generated catch block | ||||
| //                    e.printStackTrace(); | ||||
| //                } | ||||
| // | ||||
| //            } | ||||
| //        } | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -5,8 +5,25 @@ | |||
| 
 | ||||
| package nc.bs.mmpac.wr.bp; | ||||
| 
 | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import nc.bs.mmpac.wr.plugin.WrPluginPoint; | ||||
| import nc.bs.mmpac.wr.rule.*; | ||||
| import nc.bs.mmpac.wr.rule.WrAuditAndApplyCheckRule; | ||||
| import nc.bs.mmpac.wr.rule.WrAuditAndProdInRule; | ||||
| import nc.bs.mmpac.wr.rule.WrCheckMaterialPermissionRule; | ||||
| import nc.bs.mmpac.wr.rule.WrCheckMoIsCloseRule; | ||||
| import nc.bs.mmpac.wr.rule.WrCheckTranstypeCodeRule; | ||||
| import nc.bs.mmpac.wr.rule.WrClearNullBodyRule; | ||||
| import nc.bs.mmpac.wr.rule.WrFillInsertDataRule; | ||||
| import nc.bs.mmpac.wr.rule.WrHeadNotNullRule; | ||||
| import nc.bs.mmpac.wr.rule.WrIsSaveAndApproveRule; | ||||
| import nc.bs.mmpac.wr.rule.WrNoneMainProductBomCheckRule; | ||||
| import nc.bs.mmpac.wr.rule.WrPickFilterRule; | ||||
| import nc.bs.mmpac.wr.rule.WrQualityFilterRule; | ||||
| import nc.bs.mmpac.wr.rule.WrRowNoRule; | ||||
| import nc.bs.mmpac.wr.rule.WrSetDefaultValueWhenInsertRule; | ||||
| import nc.bs.mmpac.wr.rule.WrSetItemDefaultValueRule; | ||||
| import nc.bs.mmpac.wr.rule.WrSetQualityVODefaultValueRule; | ||||
| import nc.bs.mmpac.wr.rule.batch.WrCreateBatProdRule; | ||||
| import nc.bs.mmpac.wr.rule.batch.WrCreateBatchCodeRule; | ||||
| import nc.bs.mmpac.wr.rule.check.WrNullRule; | ||||
|  | @ -17,7 +34,12 @@ import nc.bs.mmpac.wr.rule.mo.WrMORewriteRule; | |||
| import nc.bs.mmpac.wr.rule.output.WrOutputNotNullRule; | ||||
| import nc.bs.mmpac.wr.rule.pick.WrPickNotNullRule; | ||||
| import nc.bs.mmpac.wr.rule.putplan.WrInsertRewriteWrNumForPutPlanRule; | ||||
| import nc.bs.mmpac.wr.rule.serialno.*; | ||||
| import nc.bs.mmpac.wr.rule.serialno.WrMoSerialNoMarkIRule; | ||||
| import nc.bs.mmpac.wr.rule.serialno.WrSerialNoAutoCreateBeforeRule; | ||||
| import nc.bs.mmpac.wr.rule.serialno.WrSerialNoCheckCodeRepeat; | ||||
| import nc.bs.mmpac.wr.rule.serialno.WrSerialNoCheckRule; | ||||
| import nc.bs.mmpac.wr.rule.serialno.WrSerialNoSaveRule; | ||||
| import nc.bs.mmpac.wr.rule.serialno.WrSnSynToQualtiyRule; | ||||
| import nc.bs.mmpub.rule.MMATOMaterialCheckRule; | ||||
| import nc.bs.mmpub.rule.MMAutoMaterialAssignRule; | ||||
| import nc.bs.pubapp.pub.rule.FieldLengthCheckRule; | ||||
|  | @ -30,10 +52,11 @@ import nc.util.mmf.busi.rule.MMBillCodeCheckAndTrantypeRule; | |||
| import nc.util.mmf.busi.rule.MMCheckMaterialVirtualRule; | ||||
| import nc.util.mmf.busi.rule.MMCreateBillcodeAndTrantypecodeRule; | ||||
| import nc.util.mmf.framework.gc.GCInsertBPTemplate; | ||||
| import nc.vo.mmpac.wr.entity.*; | ||||
| 
 | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import nc.vo.mmpac.wr.entity.AggWrVO; | ||||
| import nc.vo.mmpac.wr.entity.WrItemVO; | ||||
| import nc.vo.mmpac.wr.entity.WrPickVO; | ||||
| import nc.vo.mmpac.wr.entity.WrQualityVO; | ||||
| import nc.vo.mmpac.wr.entity.WrVO; | ||||
| 
 | ||||
| public class WrInsertBP { | ||||
| 	private boolean isOnlyInsert = false; | ||||
|  | @ -130,10 +153,10 @@ public class WrInsertBP { | |||
| 		processor.addAfterRule(moDiscadNumRewriteRule); | ||||
| 		IRule<AggWrVO> snSaveRule = new WrSerialNoSaveRule(); | ||||
| 		processor.addAfterRule(snSaveRule); | ||||
| 		/** 同步修改备料计划完成 */ | ||||
| 		IRule<AggWrVO> pickMFinishRule = new PickMFinishRule(); | ||||
| 		processor.addAfterRule(pickMFinishRule); | ||||
| 		/** ******************** */ | ||||
| //		/** ͬ²½Ð޸ı¸Áϼƻ®Íê³É */ | ||||
| //		IRule<AggWrVO> pickMFinishRule = new PickMFinishRule(); | ||||
| //		processor.addAfterRule(pickMFinishRule); | ||||
| //		/** ******************** */ | ||||
| 
 | ||||
| 		if (!this.isOnlyInsert) { | ||||
| 			processor.addAfterRule(new WrIsSaveAndApproveRule()); | ||||
|  |  | |||
|  | @ -27,69 +27,69 @@ public class PickMFinishRule extends Object implements IRule<AggWrVO> { | |||
| 		 * 业务逻辑: 1.根据生产报告子表中生产订单行查看生产订单明细表 2.查看生产订单明细行的状态是否为完工(2) | ||||
| 		 * 3.若为完工状态,则根据生成报告子表中生产订单行查询备料计划 4.修改备料计划为完成状态(3) | ||||
| 		 */ | ||||
| 		for (int i = 0; i < vos.length; i++) { | ||||
| 			AggWrVO vo = vos[i]; | ||||
| 			WrItemVO[] items = vo.getChildrenVO(); | ||||
| 			// 循环生产报告子表 | ||||
| 			for (int j = 0; j < items.length; j++) { | ||||
| 				WrItemVO item = items[j]; | ||||
| 				String cbmobid = item.getCbmobid(); | ||||
| 				String[] keys = { cbmobid }; | ||||
| 				// 生产订单行查询 | ||||
| 				PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys); | ||||
| 				// 查看生产订单行状态是否为完工(2) | ||||
| 				if (pmoItemvos.length > 0) { | ||||
| 					PMOItemVO pmoItem = pmoItemvos[0]; | ||||
| 					int fitemStatus = pmoItem.getFitemstatus(); | ||||
| 					if (fitemStatus != 2) { | ||||
| 						continue; | ||||
| 					} | ||||
| 					// 根据生产订单行查询备料计划 | ||||
| //         		BillQuery<AggPickmVO> query = new BillQuery<AggPickmVO>(AggPickmVO.class); | ||||
| //         		AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys); | ||||
| 
 | ||||
| 					String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'"; | ||||
| 					IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance() | ||||
| 							.lookup(IMDPersistenceQueryService.class); | ||||
| 					// 根据主键查询得到aggvo | ||||
| 					try { | ||||
| 						@SuppressWarnings("unchecked") | ||||
| 						ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService | ||||
| 								.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false); | ||||
| 						if (aggVOs.size() <= 0) { | ||||
| 							continue; | ||||
| 						} | ||||
| 						// 数组转换 | ||||
| 						AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()]; | ||||
| 						boolean flag = false; | ||||
| 						for (int z = 0; z < aggVOs.size(); z++) { | ||||
| 							AggPickmVO aggPickmVO = aggVOs.get(z); | ||||
| 							PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO(); | ||||
| 							Integer fbillstatus = pickmHeadVO.getFbillstatus(); | ||||
| 							if (fbillstatus != 2) { | ||||
| 								aggVOsArr[z] = aggVOs.get(z); | ||||
| 								flag = true; | ||||
| 							} | ||||
| 
 | ||||
| 						} | ||||
| 						if (flag) { | ||||
| 							// 备料计划完工 | ||||
| 							IPickmMaintainService ipickmMaintainService = NCLocator.getInstance() | ||||
| 									.lookup(IPickmMaintainService.class); | ||||
| 							ipickmMaintainService.finishPickm(aggVOsArr); | ||||
| 						} | ||||
| 					} catch (BusinessException e) { | ||||
| 						// TODO Auto-generated catch block | ||||
| 						e.printStackTrace(); | ||||
| 					} | ||||
| 
 | ||||
| 				} | ||||
| 
 | ||||
| 			} | ||||
| 		} | ||||
| 		AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlySerialNoVO(vos); | ||||
| 
 | ||||
| 		WrSerialNoDocInsertControl inSertControl = new WrSerialNoDocInsertControl(); | ||||
| 		inSertControl.process(aggChangeVOs); | ||||
| //		for (int i = 0; i < vos.length; i++) { | ||||
| //			AggWrVO vo = vos[i]; | ||||
| //			WrItemVO[] items = vo.getChildrenVO(); | ||||
| //			// 循环生产报告子表 | ||||
| //			for (int j = 0; j < items.length; j++) { | ||||
| //				WrItemVO item = items[j]; | ||||
| //				String cbmobid = item.getCbmobid(); | ||||
| //				String[] keys = { cbmobid }; | ||||
| //				// 生产订单行查询 | ||||
| //				PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys); | ||||
| //				// 查看生产订单行状态是否为完工(2) | ||||
| //				if (pmoItemvos.length > 0) { | ||||
| //					PMOItemVO pmoItem = pmoItemvos[0]; | ||||
| //					int fitemStatus = pmoItem.getFitemstatus(); | ||||
| //					if (fitemStatus != 2) { | ||||
| //						continue; | ||||
| //					} | ||||
| //					// 根据生产订单行查询备料计划 | ||||
| ////         		BillQuery<AggPickmVO> query = new BillQuery<AggPickmVO>(AggPickmVO.class); | ||||
| ////         		AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys); | ||||
| // | ||||
| //					String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'"; | ||||
| //					IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance() | ||||
| //							.lookup(IMDPersistenceQueryService.class); | ||||
| //					// 根据主键查询得到aggvo | ||||
| //					try { | ||||
| //						@SuppressWarnings("unchecked") | ||||
| //						ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService | ||||
| //								.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false); | ||||
| //						if (aggVOs.size() <= 0) { | ||||
| //							continue; | ||||
| //						} | ||||
| //						// 数组转换 | ||||
| //						AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()]; | ||||
| //						boolean flag = false; | ||||
| //						for (int z = 0; z < aggVOs.size(); z++) { | ||||
| //							AggPickmVO aggPickmVO = aggVOs.get(z); | ||||
| //							PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO(); | ||||
| //							Integer fbillstatus = pickmHeadVO.getFbillstatus(); | ||||
| //							if (fbillstatus != 2) { | ||||
| //								aggVOsArr[z] = aggVOs.get(z); | ||||
| //								flag = true; | ||||
| //							} | ||||
| // | ||||
| //						} | ||||
| //						if (flag) { | ||||
| //							// 备料计划完工 | ||||
| //							IPickmMaintainService ipickmMaintainService = NCLocator.getInstance() | ||||
| //									.lookup(IPickmMaintainService.class); | ||||
| //							ipickmMaintainService.finishPickm(aggVOsArr); | ||||
| //						} | ||||
| //					} catch (BusinessException e) { | ||||
| //						// TODO Auto-generated catch block | ||||
| //						e.printStackTrace(); | ||||
| //					} | ||||
| // | ||||
| //				} | ||||
| // | ||||
| //			} | ||||
| //		} | ||||
| //		AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlySerialNoVO(vos); | ||||
| // | ||||
| //		WrSerialNoDocInsertControl inSertControl = new WrSerialNoDocInsertControl(); | ||||
| //		inSertControl.process(aggChangeVOs); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue