负计划(到货单保存校验最终需求数量)
This commit is contained in:
		
							parent
							
								
									c2d403c9ba
								
							
						
					
					
						commit
						509fab347d
					
				|  | @ -30,6 +30,7 @@ import nc.vo.pub.BusinessException; | |||
| import nc.vo.pub.compiler.PfParameterVO; | ||||
| import nc.vo.pub.lang.UFBoolean; | ||||
| import nc.vo.pub.lang.UFDateTime; | ||||
| import nc.vo.pub.lang.UFDouble; | ||||
| import nc.vo.scmpub.util.ArrayUtil; | ||||
| import nc.vo.scmpub.util.BillBodySortUtils; | ||||
| import nc.vo.scmpub.util.TransferSortUtil; | ||||
|  | @ -163,9 +164,9 @@ public class TransferOrderAction implements ICommonAction { | |||
| 
 | ||||
|                 for (OrderVO vo : sorceVOs) { | ||||
|                     for (OrderItemVO itemVO:vo.getBVO()){ | ||||
|                         if(null != itemVO.getAttributeValue("vbdef33") && itemVO.getNastnum().compareTo(itemVO.getAttributeValue("vbdef33"))<0){ | ||||
|                             throw new BusinessException("采购数量大于最终需求数量不能生成采购订单!"); | ||||
|                         } | ||||
|                         // if(null != itemVO.getAttributeValue("vbdef33") && itemVO.getNastnum().compareTo(new UFDouble(String.valueOf(itemVO.getAttributeValue("vbdef33"))))>0){ | ||||
|                         //     throw new BusinessException("采购数量大于最终需求数量不能生成采购订单!"); | ||||
|                         // } | ||||
|                     } | ||||
|                 } | ||||
|                 AggregatedValueObject[] arrivos = service.runChangeDataAry("21", "23", sorceVOs, (PfParameterVO)null); | ||||
|  |  | |||
|  | @ -8,6 +8,7 @@ package nc.impl.pu.m23.maintain.action; | |||
| import nc.bs.pu.m23.maintain.ArriveInsertBP; | ||||
| import nc.bs.pu.m23.plugin.ArriveActionPlugInPoint; | ||||
| import nc.impl.pu.m23.maintain.rule.CheckBillDateRule; | ||||
| import nc.impl.pu.m23.maintain.rule.CheckFinalNumRule; | ||||
| import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; | ||||
| import nc.vo.pu.m23.entity.ArriveVO; | ||||
| import nc.vo.pu.m23.env.ArrivalUIToBSEnv; | ||||
|  | @ -19,6 +20,7 @@ public class ArriveInsertAction { | |||
|     public ArriveVO[] insertArrive(ArriveVO[] voArray, ArrivalUIToBSEnv env) { | ||||
|         AroundProcesser<ArriveVO> processer = new AroundProcesser(ArriveActionPlugInPoint.ArriveInsertAction); | ||||
|         addBeforeRule(processer); | ||||
| 
 | ||||
|         processer.addBeforeRule(new CheckBillDateRule()); | ||||
|         processer.before(voArray); | ||||
|         ArriveInsertBP bp = new ArriveInsertBP(env); | ||||
|  | @ -28,5 +30,6 @@ public class ArriveInsertAction { | |||
|     } | ||||
|     private void addBeforeRule(AroundProcesser<ArriveVO> processer) { | ||||
|         processer.addBeforeFinalRule(new CheckBillDateRule()); | ||||
|         processer.addBeforeRule(new CheckFinalNumRule()); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,42 @@ | |||
| package nc.impl.pu.m23.maintain.rule; | ||||
| 
 | ||||
| import nc.vo.pu.m23.entity.ArriveItemVO; | ||||
| import nc.vo.pu.m23.entity.ArriveVO; | ||||
| import nc.impl.pubapp.pattern.rule.IRule; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.lang.UFDateTime; | ||||
| import nc.vo.pub.lang.UFDouble; | ||||
| 
 | ||||
| /** | ||||
|  * 最终需求数量校验 | ||||
|  */ | ||||
| public class CheckFinalNumRule implements IRule<ArriveVO> { | ||||
|     public CheckFinalNumRule() { | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public void process(ArriveVO[] arriveVOS) { | ||||
|         for (ArriveVO vo : arriveVOS) { | ||||
|             if (vo.getPrimaryKey() != null) { | ||||
|                 continue; | ||||
|             } | ||||
|             if (vo == null || vo.getHVO() == null) { | ||||
|                 try { | ||||
|                     throw new BusinessException("到货单主信息不能为空"); | ||||
|                 } catch (BusinessException e) { | ||||
|                     throw new RuntimeException(e); | ||||
|                 } | ||||
|             } | ||||
|             ArriveItemVO[] bodys=vo.getBVO(); | ||||
|             for(ArriveItemVO body : bodys) { | ||||
|                 if(null!=body.getAttributeValue("vbdef33") && body.getNastnum().compareTo(new UFDouble(String.valueOf(body.getAttributeValue("vbdef33"))))>0){ | ||||
|                     try { | ||||
|                         throw new BusinessException("数量大于最终需求数量不能生成到货单!"); | ||||
|                     } catch (BusinessException e) { | ||||
|                         throw new RuntimeException(e); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue