From d9c232ab26461c9c4407806edfb73b78138a8831 Mon Sep 17 00:00:00 2001 From: lihao Date: Fri, 29 Aug 2025 14:28:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=90=8E=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95=E5=88=B0?= =?UTF-8?q?=E5=90=AF=E6=BA=90qms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java | 5 ++++- .../pac0002/bp/rule/WithUpdatePickmRule.java | 22 +++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java index 1fc773f..c7f5e50 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java @@ -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) { diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/WithUpdatePickmRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/WithUpdatePickmRule.java index c8a3977..807e40f 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/WithUpdatePickmRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/WithUpdatePickmRule.java @@ -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 { if (!ArrayUtils.isEmpty(vos)) { try { List pk= new ArrayList(); + List> updateList = new ArrayList<>(); for (PMOAggVO vo : vos) { PMOItemVO[] praybillItemVOS=vo.getChildrenVO(); for (PMOItemVO praybillItemVO : praybillItemVOS) { @@ -42,8 +45,12 @@ public class WithUpdatePickmRule implements IRule { } } } + if(!updateList.isEmpty()){ +// 鍥炲啓宸茬粡涓嬭揪鏁伴噺 + updetaPmoNum(updateList); + } if(!pk.isEmpty()){ - //鍥炲啓鏄惁涓嬫柟涓烘槸 + //鍥炲啓鏄惁涓嬭揪涓哄惁 updetaPmo(pk); } @@ -71,9 +78,20 @@ public class WithUpdatePickmRule implements IRule { } 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> updateList) throws DAOException { + BaseDAO dao = new BaseDAO(); + for (Map 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); + } + + + } }