备料计划下达请购生产订单,已下达数量优化
This commit is contained in:
		
							parent
							
								
									2de07b466b
								
							
						
					
					
						commit
						deeca7d760
					
				|  | @ -169,7 +169,7 @@ public class PickmToBuyingreqAction implements ICommonAction { | |||
|     private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException { | ||||
|         BaseDAO dao = new BaseDAO(); | ||||
|         for (Map<String, Object> updateMap : updateList) { | ||||
|             String sql = " update  mm_pickm_b set vbdef16 = '"+((UFDouble)updateMap.get("num")).toString()+"'  where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'"; | ||||
|             String sql = " update  mm_pickm_b set vbdef16 = TO_CHAR(TO_NUMBER(CASE WHEN vbdef16 IS NULL OR vbdef16 = '~' OR vbdef16 = '~' THEN '0'  ELSE vbdef16 END) + TO_NUMBER('"+((UFDouble)updateMap.get("num")).toString()+"'))  where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'"; | ||||
|             dao.executeUpdate(sql); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -116,7 +116,7 @@ public class PickmToPmo implements ICommonAction { | |||
|     private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException { | ||||
|         BaseDAO dao = new BaseDAO(); | ||||
|         for (Map<String, Object> updateMap : updateList) { | ||||
|             String sql = " update  mm_pickm_b set vbdef16 = '"+((UFDouble)updateMap.get("num")).toString()+"'  where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'"; | ||||
|             String sql = " update  mm_pickm_b set vbdef16 = TO_CHAR(TO_NUMBER(CASE WHEN vbdef16 IS NULL OR vbdef16 = '~' OR vbdef16 = '~' THEN '0'  ELSE vbdef16 END) + TO_NUMBER('"+((UFDouble)updateMap.get("num")).toString()+"'))  where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'"; | ||||
|             dao.executeUpdate(sql); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -31,6 +31,7 @@ import nc.util.mmf.framework.gc.GCUpdateBPTemplate; | |||
| import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; | ||||
| import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; | ||||
| import nc.vo.mmpac.pmo.pac0002.util.PmoSagaUtil; | ||||
| import nc.bs.mmpac.pmo.pac0002.bp.rule.UpdatePickmDef16Rule; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | @ -217,6 +218,9 @@ public class PMOUpdateBP { | |||
|         processer.addAfterRule(planStartTimeChangeRule); | ||||
|         IRule<PMOAggVO> updateAfterToMesRule = new UpdateAfterToMesRule(); | ||||
|         processer.addAfterRule(updateAfterToMesRule); | ||||
| 
 | ||||
|         ICompareRule<PMOAggVO> UpdatePickmRule = new UpdatePickmDef16Rule();//sunfj2025.09.26 | ||||
|         processer.addAfterRule(UpdatePickmRule); | ||||
|     } | ||||
| 
 | ||||
|     public List<String> getCheckInfoList() { | ||||
|  |  | |||
|  | @ -0,0 +1,73 @@ | |||
| package nc.bs.mmpac.pmo.pac0002.bp.rule; | ||||
| 
 | ||||
| import nc.bs.dao.BaseDAO; | ||||
| import nc.bs.dao.DAOException; | ||||
| import nc.bs.framework.common.NCLocator; | ||||
| import nc.bs.trade.business.HYPubBO; | ||||
| import nc.impl.pubapp.pattern.rule.ICompareRule; | ||||
| import nc.itf.uap.IUAPQueryBS; | ||||
| import nc.jdbc.framework.processor.ColumnListProcessor; | ||||
| import nc.jdbc.framework.processor.ColumnProcessor; | ||||
| import nc.util.mmf.framework.base.MMValueCheck; | ||||
| import nc.vo.mmpac.pickm.entity.PickmItemVO; | ||||
| import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; | ||||
| import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.lang.UFDate; | ||||
| import nc.vo.pub.lang.UFDateTime; | ||||
| import nc.vo.pub.lang.UFDouble; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| public class UpdatePickmDef16Rule implements ICompareRule<PMOAggVO> { | ||||
| 
 | ||||
| 
 | ||||
|     public void process(PMOAggVO[] vos, PMOAggVO[] originVOs) { | ||||
|         if (!MMValueCheck.isEmpty(vos)) { | ||||
|             List<Map<String,Object>> updateList = new ArrayList<>(); | ||||
|             for (PMOAggVO vo : vos) { | ||||
|                 for (PMOAggVO originVO : originVOs) { | ||||
|                     if(vo.getParentVO().getCpmohid().equals(originVO.getParentVO().getCpmohid())) { | ||||
|                         for (PMOItemVO voitemVo:vo.getChildrenVO()){ | ||||
|                             if("55A3".equals(voitemVo.getVsrctype())){ | ||||
|                                 Map<String,Object> updateMap = new HashMap<String,Object>(); | ||||
|                                 updateMap.put("pk",voitemVo.getVsrcbid()); | ||||
|                                 updateMap.put("beforenum",voitemVo.getNastnum()); | ||||
|                                 updateMap.put("afternum", UFDouble.ZERO_DBL); | ||||
|                                 for (PMOItemVO originItemVO:originVO.getChildrenVO()){ | ||||
|                                     if(voitemVo.getCpmohid().equals(originItemVO.getCpmohid())) { | ||||
|                                         updateMap.put("afternum",originItemVO.getNastnum()); | ||||
|                                         updateList.add(updateMap); | ||||
|                                     } | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             if (updateList.size() > 0) { | ||||
|                 try { | ||||
|                     updetaPmoNum(updateList); | ||||
|                 } catch (DAOException e) { | ||||
|                     throw new RuntimeException(e); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException { | ||||
|         BaseDAO dao = new BaseDAO(); | ||||
|         for (Map<String, Object> updateMap : updateList) { | ||||
| //            String sql = " update  mm_pickm_b set vbdef16 = TO_CHAR(TO_NUMBER(vbdef16) -"+updateMap.get("num")+")  where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'"; | ||||
|             String sql = " update  mm_pickm_b set vbdef16 =  TO_CHAR(TO_NUMBER(CASE WHEN vbdef16 IS NULL OR vbdef16 = '~' OR vbdef16 = '~' THEN '0'  ELSE vbdef16 END) -TO_NUMBER('"+((UFDouble)updateMap.get("beforenum")).toString()+"'))+TO_NUMBER('"+((UFDouble)updateMap.get("afternum")).toString()+"'))  where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'"; | ||||
| 
 | ||||
|             // dao.executeUpdate(sql); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
		Loading…
	
		Reference in New Issue