diff --git a/ic/src/private/nc/bs/ic/m4c/insert/InsertBP.java b/ic/src/private/nc/bs/ic/m4c/insert/InsertBP.java
new file mode 100644
index 0000000..e5f6e41
--- /dev/null
+++ b/ic/src/private/nc/bs/ic/m4c/insert/InsertBP.java
@@ -0,0 +1,132 @@
+package nc.bs.ic.m4c.insert;
+
+import nc.bs.ic.general.insert.IInsertBP;
+import nc.bs.ic.general.insert.rule.after.RewriteQCInsertRule;
+import nc.bs.ic.general.insert.rule.before.CheckCliabilityValue;
+import nc.bs.ic.general.rule.after.AtpAfterUpdate;
+import nc.bs.ic.general.rule.before.CtplcustomeridCheck;
+import nc.bs.ic.general.rule.before.InvAttributeCheck;
+import nc.bs.ic.m4c.base.BPPlugInPoint;
+import nc.bs.ic.m4c.base.rule.FillCostOrgRule;
+import nc.bs.ic.m4c.base.rule.ReturnBarcodeCheck;
+import nc.bs.ic.m4c.base.rule.ReturnDbizdateCheck;
+import nc.bs.ic.m4c.base.rule.SaleOutCloseBusiLogRule;
+import nc.bs.ic.m4c.base.rule.SaleOutDefaultValueSet;
+import nc.bs.ic.m4c.base.rule.SaleOutFillInvoiceNumRule;
+import nc.bs.ic.m4c.base.rule.SaleOutFromInvoiceCheckRule;
+import nc.bs.ic.m4c.base.rule.SaleOutMarginProcess;
+import nc.bs.ic.m4c.base.rule.SaleOutRetMarginProRule;
+import nc.bs.ic.m4c.base.rule.SaleOutVOScaleCheckRule;
+import nc.bs.ic.m4c.base.rule.SaleOutValueValidCheck;
+import nc.bs.ic.m4c.insert.rule.InsertRewriteMMDP;
+import nc.bs.ic.m4c.insert.rule.ReWrite5720InsertRule;
+import nc.bs.ic.m4c.insert.rule.ReWrite5730InsertRule;
+import nc.bs.ic.m4c.insert.rule.ReWrite6020InsertRule;
+import nc.bs.ic.m4c.insert.rule.ReWrite6030InsertRule;
+import nc.bs.ic.m4c.insert.rule.ReWriteICInsertRule;
+import nc.bs.ic.m4c.insert.rule.ReWriteSOInsertForPushSaveRule;
+import nc.bs.ic.m4c.insert.rule.ReWriteSOInsertRule;
+import nc.bs.ic.m4c.insert.rule.SaleOutCheckRule;
+import nc.bs.ic.m4c.insert.rule.credit.RenovateARByHidsBeginRule;
+import nc.bs.ic.m4c.insert.rule.credit.RenovateARByHidsEndRule;
+import nc.bs.ic.m4c.sign.rule.AfterSigningSynchronizeRuleRZ;
+import nc.bs.ic.pub.base.ICAroundProcesser;
+import nc.bs.ic.pub.base.IInsertRuleProvider;
+import nc.impl.pubapp.pattern.rule.processer.AroundProcesser;
+import nc.vo.credit.engrossmaintain.pub.action.M4CEngrossAction;
+import nc.vo.ic.general.define.MetaNameConst;
+import nc.vo.ic.m4c.entity.SaleOutVO;
+import nccloud.bs.ic.mobile.component.operation.rule.MobAfterSaveMessageRule;
+
+/**
+ *
+ * 销售出库单新增BP:
+ * 推式保存时调用
+ *
+ *
+ * @author chenlla
+ * @version 6.0
+ * @time 2010-1-26下午04:58:23
+ * @since
+ */
+public class InsertBP implements IInsertBP,
+ IInsertRuleProvider {
+
+ private boolean isPush = false;
+
+ public InsertBP(boolean isPush) {
+ this.isPush = isPush;
+ }
+
+ public InsertBP() {
+ this(false);
+ }
+
+ @Override
+ public void addAfterRule(SaleOutVO[] vos, AroundProcesser processor) {
+ // 信用
+ processor.addAfterRule(new RenovateARByHidsEndRule(M4CEngrossAction.M4CInsert));
+ processor.addAfterRule(new ReWriteICInsertRule());
+ /*
+ * 放在现存量更新规则之后,因为回写销售订单,发货单时,如果出库数量等于订单数量,
+ * 订单自动行关闭,行关闭会执行预留解除,导致现存量更新时,处理预留业务产生错误
+ */
+ if (this.isPush) {
+ ((ICAroundProcesser) processor).addAfterRuleAt(
+ new ReWriteSOInsertForPushSaveRule(), AtpAfterUpdate.class);
+ // processor.addAfterRule(new ReWriteSOInsertForPushSaveRule());
+ } else {
+ ((ICAroundProcesser) processor).addAfterRuleAt(
+ new ReWriteSOInsertRule(), AtpAfterUpdate.class);
+ // processor.addAfterRule(new ReWriteSOInsertRule());
+ }
+ processor.addAfterRule(new RewriteQCInsertRule());
+ processor.addAfterRule(new SaleOutCloseBusiLogRule());
+ processor.addAfterRule(new SaleOutFillInvoiceNumRule());
+ processor.addAfterRule(new InsertRewriteMMDP());
+ // 新增保存回写出口明细
+ processor.addAfterRule(new ReWrite5730InsertRule());
+ // 新增保存回写出口合同
+ processor.addAfterRule(new ReWrite5720InsertRule());
+ // 新增保存回写转口明细
+ processor.addAfterRule(new ReWrite6030InsertRule());
+ // 新增保存回写转口合同
+ processor.addAfterRule(new ReWrite6020InsertRule());
+ // 2020年3月2日 新增保存移动业务消息
+ processor.addAfterRule(new MobAfterSaveMessageRule());
+
+ //2025年5月27日 新增保存推送锐制
+ processor.addAfterFinalRule(new AfterSigningSynchronizeRuleRZ());
+
+ }
+
+ @Override
+ public void addBeforeRule(SaleOutVO[] vos,
+ AroundProcesser processor) {
+ processor.addBeforeRule(new FillCostOrgRule());
+ ((ICAroundProcesser) processor).addBeforeRuleAt(
+ new SaleOutDefaultValueSet(), InvAttributeCheck.class);
+ processor.addBeforeRule(new SaleOutCheckRule());
+ processor.addBeforeRule(new SaleOutValueValidCheck());
+ processor.addBeforeRule(new SaleOutFromInvoiceCheckRule());
+ processor.addBeforeRule(new CtplcustomeridCheck());
+ processor.addBeforeRule(new SaleOutMarginProcess());
+ // 红字退回倒挤
+ processor.addBeforeRule(new SaleOutRetMarginProRule());
+ // 利润中心校验规则
+ processor.addBeforeRule(new CheckCliabilityValue(MetaNameConst.CIOLIABILITYOID, MetaNameConst.CLIABILITYOID));
+ processor.addBeforeRule(new ReturnBarcodeCheck());
+ processor.addBeforeRule(new ReturnDbizdateCheck());
+ processor.addBeforeRule(new SaleOutVOScaleCheckRule());
+ // 信用
+ processor.addBeforeRule(new RenovateARByHidsBeginRule(M4CEngrossAction.M4CInsert));
+ }
+
+ @Override
+ public SaleOutVO[] insert(SaleOutVO[] bills) {
+ M4CInsertBPTemplate insertBP =
+ new M4CInsertBPTemplate(BPPlugInPoint.InsertBP, this);
+ SaleOutVO[] insertvo = insertBP.insert(bills);
+ return insertvo;
+ }
+}
diff --git a/ic/src/private/nc/bs/ic/m4c/sign/SignBP.java b/ic/src/private/nc/bs/ic/m4c/sign/SignBP.java
index 5db1626..6a067ff 100644
--- a/ic/src/private/nc/bs/ic/m4c/sign/SignBP.java
+++ b/ic/src/private/nc/bs/ic/m4c/sign/SignBP.java
@@ -56,8 +56,6 @@ public class SignBP implements ISignBP, ISignRuleProvider
processor.addAfterRule(new AfterSigningSynchronizeRuleMES());
// 盘点(审批后传MES)
- // 销售出库签字后 同步到锐制
- processor.addAfterRule(new AfterSigningSynchronizeRuleRZ());
}
public void addBeforeRule(SaleOutVO[] vos, AroundProcesser processor) {
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java
index 88142f2..37241db 100644
--- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java
@@ -194,7 +194,8 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule {
// detailItem.put("wlzdycs01", body.getCinwarehouseid());
// 工作中心 生产部门ID
// detailItem.put("scgc_wbid", transferCodeByPk(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, body.getCdeptid()));
- detailItem.put("scgc_wbid", body.getCdeptid());
+// detailItem.put("scgc_wbid", body.getCdeptid());
+ detailItem.put("cjbz_wbid", body.getCdeptid());
// 备注说明
detailItem.put("bzsm", body.getVnote());