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); + } + } + + } + } +}