审批后推送流程生产订单到启源qms

This commit is contained in:
lihao 2025-08-29 14:28:45 +08:00
parent ee338de1da
commit d9c232ab26
2 changed files with 24 additions and 3 deletions

View File

@ -56,9 +56,12 @@ public class PMOApproveBP {
// 审批后推送流程生产订单到艾普MES
processer.addAfterRule(new AfterApproveSyncEpicMesRule());
// 审批后推送流程生产订单到艾普MES
// 审批后推送流程生产订单到PLM
processer.addAfterRule(new AfterApproveSyncPLMRule());
// 审批后推送流程生产订单到启源qms
processer.addAfterRule(new AfterApproveSyncEpicQMSRule());
}
public PMOAggVO[] approveCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) {

View File

@ -7,6 +7,7 @@ package nc.bs.mmpac.pmo.pac0002.bp.rule;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import nc.bs.dao.BaseDAO;
import nc.bs.dao.DAOException;
@ -20,6 +21,7 @@ import nc.vo.mmpac.wr.param.WrSerialCodeMarkParamForMO;
import nc.vo.pu.m20.entity.PraybillItemVO;
import nc.vo.pu.m20.entity.PraybillVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nccloud.commons.lang.ArrayUtils;
@ -34,6 +36,7 @@ public class WithUpdatePickmRule implements IRule<PMOAggVO> {
if (!ArrayUtils.isEmpty(vos)) {
try {
List<String> pk= new ArrayList<String>();
List<Map<String,Object>> updateList = new ArrayList<>();
for (PMOAggVO vo : vos) {
PMOItemVO[] praybillItemVOS=vo.getChildrenVO();
for (PMOItemVO praybillItemVO : praybillItemVOS) {
@ -42,8 +45,12 @@ public class WithUpdatePickmRule implements IRule<PMOAggVO> {
}
}
}
if(!updateList.isEmpty()){
// 回写已经下达数量
updetaPmoNum(updateList);
}
if(!pk.isEmpty()){
//回写是否下方为是
//回写是否下达为否
updetaPmo(pk);
}
@ -71,9 +78,20 @@ public class WithUpdatePickmRule implements IRule<PMOAggVO> {
} else {
result = "'" + (String) arrayList.get(0) + "'";
}
String sql = " update mm_pickm_b set vbdef13='N' where mm_pickm_b.cpickm_bid in(" + result + ")";
String sql = " update mm_pickm_b set vbdef13='N' where mm_pickm_b.cpickm_bid in(" + result + ") and mm_pickm_b.vbdef16='0' ";
BaseDAO dao = new BaseDAO();
dao.executeUpdate(sql);
}
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(vbdef16) -TO_NUMBER('"+((UFDouble)updateMap.get("num")).toString()+"')) where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'";
dao.executeUpdate(sql);
}
}
}