diff --git a/mmpac/src/client/yyconfig/modules/mmpac/pickm/config/action/pickm_action.xml b/mmpac/src/client/yyconfig/modules/mmpac/pickm/config/action/pickm_action.xml
index 3162bcf..e2511db 100644
--- a/mmpac/src/client/yyconfig/modules/mmpac/pickm/config/action/pickm_action.xml
+++ b/mmpac/src/client/yyconfig/modules/mmpac/pickm/config/action/pickm_action.xml
@@ -169,7 +169,7 @@
mmpac.pickm.pom
-
+
nccloud.web.mmpac.pickm.action.PickmToPmo
diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java
index dddb0e2..1bea306 100644
--- a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java
+++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java
@@ -3,6 +3,7 @@ package nc.bs.mmpac.pickm.bp;
import java.util.ArrayList;
import java.util.List;
+import nc.bs.mmpac.pickm.bp.rule.AfterupdateSyncEpicMesRule;
import nc.bs.mmpac.pickm.plugin.PickmPluginPoint;
import nc.bs.mmpac.pickm.rule.PSCPickmRewriteMoPickmUpdateRule;
import nc.bs.mmpac.pickm.rule.PickmAutoApproveAfterSaveRule;
@@ -203,6 +204,7 @@ public class PickmUpdateBP {
// ױ
ICompareRule subMoAdjustSuggestRule = new PickmSubMoAdjustSuggestRule(this.checkInfo);
processer.addAfterRule(subMoAdjustSuggestRule);
+ processer.addAfterRule(new AfterupdateSyncEpicMesRule());
}
/**
diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java
index 9141a29..f51a0cb 100644
--- a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java
+++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java
@@ -2,6 +2,7 @@ package nc.bs.mmpac.pickm.bp;
import java.util.Map;
+import nc.bs.mmpac.pickm.bp.rule.AfterupdateSyncEpicMesRule;
import nc.bs.mmpac.pickm.plugin.PickmPluginPoint;
import nc.bs.mmpac.pickm.rule.PickmCheckItemMaterialPermissionRule;
import nc.bs.mmpac.pickm.rule.PickmCheckMaterialPermissionRule;
@@ -222,6 +223,9 @@ public class PickmUpdateForMOBP {
// ױ
ICompareRule subMoAdjustSuggestRule = new PickmSubMoAdjustSuggestRule(this.checkInfo);
aroundProcesser.addAfterRule(subMoAdjustSuggestRule);
+
+
+ aroundProcesser.addAfterRule(new AfterupdateSyncEpicMesRule());
}
}
diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterupdateSyncEpicMesRule.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterupdateSyncEpicMesRule.java
new file mode 100644
index 0000000..b5777a6
--- /dev/null
+++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/rule/AfterupdateSyncEpicMesRule.java
@@ -0,0 +1,67 @@
+package nc.bs.mmpac.pickm.bp.rule;
+
+
+import nc.bs.logging.Log;
+import nc.bs.mmpac.pmo.pac0002.bp.rule.util.SyncEpicMesUtil;
+import nc.impl.pubapp.pattern.rule.IRule;
+import nc.itf.mmpac.pmo.pac0002.IPMOMaintainService;
+import nc.itf.mmpac.pmo.pac0002.IPMOQueryService;
+import nc.util.mmf.framework.base.MMValueCheck;
+import nc.vo.mmpac.pickm.entity.AggPickmVO;
+import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
+import nc.vo.pub.BusinessException;
+import nccloud.framework.service.ServiceLocator;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * ϼƻĺmes
+ *
+ * @author mzr
+ * @date 2025/7/15
+ */
+public class AfterupdateSyncEpicMesRule implements IRule {
+
+ private static final String LOG_INFO_NAME = "dldzlog";
+
+ private static final Log logDl = Log.getInstance(LOG_INFO_NAME);
+
+ @Override
+ public void process(AggPickmVO[] aggPickmVOS) {
+ if (MMValueCheck.isEmpty(aggPickmVOS)) {
+ return;
+ }
+
+ for (AggPickmVO aggPickmVO : aggPickmVOS) {
+
+ IPMOQueryService queryService= ServiceLocator.find(IPMOQueryService.class);
+ List list = new ArrayList();
+ if(null!=aggPickmVO.getParentVO().getFsourcetype() &&aggPickmVO.getParentVO().getFsourcetype().equals("55A2")){
+ try {
+ PMOAggVO[] pmoAggVO = queryService.queryPMOAggVOByBid(new String[Integer.parseInt(aggPickmVO.getParentVO().getCsourcebillid())]);
+ if(null!=pmoAggVO){
+ for (PMOAggVO pmoAggVO1 : pmoAggVO) {
+ if (pmoAggVO1.getParentVO().getFbillstatus().equals("1")){
+ list.add(pmoAggVO1);
+ }
+ }
+ }
+
+ } catch (BusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ if (list.size() > 0) {
+ SyncEpicMesUtil mesUtil = new SyncEpicMesUtil();
+ String n = "N";
+ try {
+ mesUtil.processData((PMOAggVO[])list.toArray(new PMOAggVO[list.size()]),n);
+ } catch (BusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ }
+ }
+}