解决MPR运算回写备料计划报错问题-张鑫0514
This commit is contained in:
		
							parent
							
								
									1492a58adb
								
							
						
					
					
						commit
						803f6ba915
					
				|  | @ -47,22 +47,20 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> { | |||
| 			String prodDeptid = plo.getCproddeptid(); | ||||
| 			String prodDeptvid = plo.getCproddeptvid(); | ||||
| 			Integer posource = plo.getFposource(); | ||||
|             if (PoSourceEnum.COMPUT == posource && MMValueCheck.isEmpty(prodDeptid) | ||||
|                     && MMValueCheck.isEmpty(prodDeptvid) && MMValueCheck.isNotEmpty(stockorgid) | ||||
|                     && MMValueCheck.isNotEmpty(stockorgvid)) { | ||||
| 			if (PoSourceEnum.COMPUT == posource && MMValueCheck.isEmpty(prodDeptid) && MMValueCheck.isEmpty(prodDeptvid) | ||||
| 					&& MMValueCheck.isNotEmpty(stockorgid) && MMValueCheck.isNotEmpty(stockorgvid)) { | ||||
| 				List<String> vids = map.get(stockorgid); | ||||
| 				if (null == vids) { | ||||
| 					List<String> list = new ArrayList<String>(); | ||||
| 					list.add(vid); | ||||
| 					map.put(stockorgid, list); | ||||
|                 } | ||||
|                 else { | ||||
| 				} else { | ||||
| 					vids.add(vid); | ||||
| 				} | ||||
| 			} | ||||
|             String vsrcbid = plo.getVsrcbid();//来源单据表体主键 | ||||
|             int fdemandbill = plo.getFdemandbill();//需求来源 | ||||
|             if (PoSourceEnum.COMPUT == posource && fdemandbill == 1) { | ||||
| 			String vsrcbid = plo.getVsrcbid();// 来源单据表体主键 | ||||
| 			// 需求来源为备料计划的才回写 | ||||
| 			if (PoSourceEnum.COMPUT == posource && plo.getFdemandbill() != null && plo.getFdemandbill() == 1) { | ||||
| 				vsrcbidList.add(vsrcbid); | ||||
| 			} | ||||
| 		} | ||||
|  | @ -70,31 +68,30 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> { | |||
| 			String[] vsrcbids = vsrcbidList.toArray(new String[vsrcbidList.size()]); | ||||
| 			Map<String, AggPickmVO> pickmVOMap; | ||||
| 			try { | ||||
|                 pickmVOMap = NCLocator.getInstance().lookup(IPickmPubQueryService.class) | ||||
|                         .queryPickm4Issue(vsrcbids); | ||||
| 				pickmVOMap = NCLocator.getInstance().lookup(IPickmPubQueryService.class).queryPickm4Issue(vsrcbids); | ||||
| 			} catch (BusinessException e) { | ||||
| 				throw new RuntimeException(e); | ||||
| 			} | ||||
| 			pickmVOMap.getClass(); | ||||
| 			for (AggregatedPoVO agg : vos) { | ||||
| 				PoVO plo = agg.getParentVO(); | ||||
|                 String vsrcbid = plo.getVsrcbid();//来源单据表体主键 | ||||
| 				String vsrcbid = plo.getVsrcbid();// 来源单据表体主键 | ||||
| 				AggPickmVO aggPickmVOData = pickmVOMap.get(vsrcbid); | ||||
| 				if (aggPickmVOData != null) { | ||||
| 					PickmItemVO[] children = (PickmItemVO[]) aggPickmVOData.getChildren(PickmItemVO.class); | ||||
|                     String vbdef5 = "";//合同编号 | ||||
|                     String vbdef6 = "";//合同销售订单号 | ||||
|                     String vbdef7 = "";//标前项目号 | ||||
| 					String vbdef5 = "";// 合同编号 | ||||
| 					String vbdef6 = "";// 合同销售订单号 | ||||
| 					String vbdef7 = "";// 标前项目号 | ||||
| 					for (PickmItemVO pickmItemVO : children) { | ||||
| 						if (pickmItemVO.getCpickm_bid().equals(vsrcbid)) { | ||||
|                             vbdef5 = pickmItemVO.getVbdef5();//合同编号 | ||||
|                             vbdef6 = pickmItemVO.getVbdef6();//合同销售订单号 | ||||
|                             vbdef7 = pickmItemVO.getVbdef7();//标前项目号 | ||||
| 							vbdef5 = pickmItemVO.getVbdef5();// 合同编号 | ||||
| 							vbdef6 = pickmItemVO.getVbdef6();// 合同销售订单号 | ||||
| 							vbdef7 = pickmItemVO.getVbdef7();// 标前项目号 | ||||
| 						} | ||||
| 					} | ||||
|                     plo.setVdef2(vbdef5);//合同编号 | ||||
|                     plo.setVdef3(vbdef6);//合同销售订单号 | ||||
|                     plo.setVdef4(vbdef7);//标前项目号 | ||||
| 					plo.setVdef2(vbdef5);// 合同编号 | ||||
| 					plo.setVdef3(vbdef6);// 合同销售订单号 | ||||
| 					plo.setVdef4(vbdef7);// 标前项目号 | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
|  | @ -103,10 +100,8 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> { | |||
| 		while (i.hasNext()) { | ||||
| 			String key = i.next(); | ||||
| 			List<String> vids = map.get(key); | ||||
|             Map<String, MaterialProdVO> results = | ||||
|                     MaterialPubService.queryMaterialProduceInfoByPks(vids.toArray(new String[0]), key, new String[] { | ||||
|                         MaterialProdVO.PK_PRODEPTDOC | ||||
|                     }); | ||||
| 			Map<String, MaterialProdVO> results = MaterialPubService.queryMaterialProduceInfoByPks( | ||||
| 					vids.toArray(new String[0]), key, new String[] { MaterialProdVO.PK_PRODEPTDOC }); | ||||
| 			for (AggregatedPoVO agg : vos) { | ||||
| 				PoVO plo = agg.getParentVO(); | ||||
| 				String vid = plo.getCmaterialvid(); | ||||
|  | @ -147,8 +142,7 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> { | |||
| 					} | ||||
| 				} | ||||
| 			} | ||||
|         } | ||||
|         catch (BusinessException e) { | ||||
| 		} catch (BusinessException e) { | ||||
| 			ExceptionUtils.wrappException(e); | ||||
| 		} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue