备料计划下达请购生产订单,已下达数量优化
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 {
|
private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException {
|
||||||
BaseDAO dao = new BaseDAO();
|
BaseDAO dao = new BaseDAO();
|
||||||
for (Map<String, Object> updateMap : updateList) {
|
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);
|
dao.executeUpdate(sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ public class PickmToPmo implements ICommonAction {
|
||||||
private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException {
|
private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException {
|
||||||
BaseDAO dao = new BaseDAO();
|
BaseDAO dao = new BaseDAO();
|
||||||
for (Map<String, Object> updateMap : updateList) {
|
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);
|
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.PMOAggVO;
|
||||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
|
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
|
||||||
import nc.vo.mmpac.pmo.pac0002.util.PmoSagaUtil;
|
import nc.vo.mmpac.pmo.pac0002.util.PmoSagaUtil;
|
||||||
|
import nc.bs.mmpac.pmo.pac0002.bp.rule.UpdatePickmDef16Rule;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -217,6 +218,9 @@ public class PMOUpdateBP {
|
||||||
processer.addAfterRule(planStartTimeChangeRule);
|
processer.addAfterRule(planStartTimeChangeRule);
|
||||||
IRule<PMOAggVO> updateAfterToMesRule = new UpdateAfterToMesRule();
|
IRule<PMOAggVO> updateAfterToMesRule = new UpdateAfterToMesRule();
|
||||||
processer.addAfterRule(updateAfterToMesRule);
|
processer.addAfterRule(updateAfterToMesRule);
|
||||||
|
|
||||||
|
ICompareRule<PMOAggVO> UpdatePickmRule = new UpdatePickmDef16Rule();//sunfj2025.09.26
|
||||||
|
processer.addAfterRule(UpdatePickmRule);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getCheckInfoList() {
|
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