备料重算后同步mes

This commit is contained in:
lihao 2025-07-31 16:34:19 +08:00
parent d715da0077
commit c96e75e6f6
4 changed files with 74 additions and 1 deletions

View File

@ -169,7 +169,7 @@
</action>
<action>
<name>mmpac.pickm.pom</name>
<label>备料计划-请购</label>
<label>备料计划-流程生产订单</label>
<clazz>nccloud.web.mmpac.pickm.action.PickmToPmo
</clazz>
</action>

View File

@ -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<AggPickmVO> subMoAdjustSuggestRule = new PickmSubMoAdjustSuggestRule(this.checkInfo);
processer.addAfterRule(subMoAdjustSuggestRule);
processer.addAfterRule(new AfterupdateSyncEpicMesRule());
}
/**

View File

@ -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<AggPickmVO> subMoAdjustSuggestRule = new PickmSubMoAdjustSuggestRule(this.checkInfo);
aroundProcesser.addAfterRule(subMoAdjustSuggestRule);
aroundProcesser.addAfterRule(new AfterupdateSyncEpicMesRule());
}
}

View File

@ -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<AggPickmVO> {
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<PMOAggVO> list = new ArrayList<PMOAggVO>();
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);
}
}
}
}
}