精密-启源领料-单据日期赋值-代码调整,需要在开关账检查之前赋值
This commit is contained in:
parent
79177e6f96
commit
15790ede83
|
|
@ -8,7 +8,6 @@ import nc.bs.ic.general.insert.rule.before.InsertBeforeEventRule;
|
||||||
import nc.bs.ic.general.rule.after.AfterInsertRuleForRewriteSpecial;
|
import nc.bs.ic.general.rule.after.AfterInsertRuleForRewriteSpecial;
|
||||||
import nc.bs.ic.general.rule.after.AtpAfterUpdate;
|
import nc.bs.ic.general.rule.after.AtpAfterUpdate;
|
||||||
import nc.bs.ic.general.rule.before.CtplcustomeridCheck;
|
import nc.bs.ic.general.rule.before.CtplcustomeridCheck;
|
||||||
import nc.bs.ic.m45.insert.rule.PurchaseInProjectRule;
|
|
||||||
import nc.bs.ic.m4d.base.BPPlugInPoint;
|
import nc.bs.ic.m4d.base.BPPlugInPoint;
|
||||||
import nc.bs.ic.m4d.base.MaterialOutCheckRule;
|
import nc.bs.ic.m4d.base.MaterialOutCheckRule;
|
||||||
import nc.bs.ic.m4d.base.MaterialOutValueProcRule;
|
import nc.bs.ic.m4d.base.MaterialOutValueProcRule;
|
||||||
|
|
@ -109,7 +108,7 @@ public class InsertBP implements IInsertBP<MaterialOutVO>,
|
||||||
|
|
||||||
//2025年6月13日09点38分 -- 物料档案基本页签启用项目辅助属性+库存组织未启用项目,采购入库单保存时(包含接口导入)清除行项目,材料出库单保存时(包含接口导入)清除行项目
|
//2025年6月13日09点38分 -- 物料档案基本页签启用项目辅助属性+库存组织未启用项目,采购入库单保存时(包含接口导入)清除行项目,材料出库单保存时(包含接口导入)清除行项目
|
||||||
processor.addBeforeRule(new MaterialOutProjectRule());
|
processor.addBeforeRule(new MaterialOutProjectRule());
|
||||||
processor.addBeforeRule(new MaterialOutBillDateRule());
|
// processor.addBeforeRule(new MaterialOutBillDateRule());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
package nc.bs.ic.m4d.insert.rule;
|
|
||||||
|
|
||||||
import nc.bs.ic.pub.base.ICRule;
|
|
||||||
import nc.bs.uapbd.util.MyHelper;
|
|
||||||
import nc.util.mmf.framework.base.MMValueCheck;
|
|
||||||
import nc.vo.ic.general.define.ICBillHeadVO;
|
|
||||||
import nc.vo.ic.general.define.ICBillVO;
|
|
||||||
import nc.vo.ic.m4d.entity.MaterialOutVO;
|
|
||||||
import nc.vo.org.StockOrgVO;
|
|
||||||
import nc.vo.pub.BusinessException;
|
|
||||||
import nc.vo.pub.lang.UFDate;
|
|
||||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 精密-材料出库新增-单据日期赋值-启源领料
|
|
||||||
*
|
|
||||||
* @author mzr
|
|
||||||
* @date 2025/10/26
|
|
||||||
*/
|
|
||||||
public class MaterialOutBillDateRule extends ICRule<MaterialOutVO> {
|
|
||||||
@Override
|
|
||||||
public void process(MaterialOutVO[] vos) {
|
|
||||||
if (MMValueCheck.isEmpty(vos)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
for (ICBillVO vo : vos) {
|
|
||||||
ICBillHeadVO headVO = vo.getParentVO();
|
|
||||||
String pk_org = (String) headVO.getAttributeValue("pk_org");
|
|
||||||
String orgCode = MyHelper.transferField(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_STOCKORG, pk_org);
|
|
||||||
// 启源领料id
|
|
||||||
String vdef9 = headVO.getVdef9();
|
|
||||||
if ("C038".equals(orgCode) && MMValueCheck.isNotEmpty(vdef9)) {
|
|
||||||
// 启源传入的单据,单据日期增加校验
|
|
||||||
UFDate dbilldate = headVO.getDbilldate();
|
|
||||||
// 设置单据日期, 如果单据日期小于2025-11-02,则单据日期设置为2025-11-02
|
|
||||||
UFDate ufDate = new UFDate("2025-11-02");
|
|
||||||
if (dbilldate != null) {
|
|
||||||
int i = dbilldate.compareTo(ufDate);
|
|
||||||
if (i < 0) {
|
|
||||||
headVO.setDbilldate(ufDate);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
UFDate nowDate = new UFDate();
|
|
||||||
int i = nowDate.compareTo(ufDate);
|
|
||||||
if (i < 0) {
|
|
||||||
headVO.setDbilldate(ufDate);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (BusinessException e) {
|
|
||||||
ExceptionUtils.wrappException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -133,7 +133,7 @@ public class InsertBPTemplate<T extends ICBillVO> extends
|
||||||
//组织停用检查
|
//组织停用检查
|
||||||
processor.addBeforeRule(new ICStockOrgEnableCheckRule<T>());
|
processor.addBeforeRule(new ICStockOrgEnableCheckRule<T>());
|
||||||
// 精密-单据日期检查
|
// 精密-单据日期检查
|
||||||
// processor.addBeforeRule(new MaterialOutBillDateRule<T>());
|
processor.addBeforeRule(new MaterialOutBillDateRule<T>());
|
||||||
// 开关账检查
|
// 开关账检查
|
||||||
processor.addBeforeRule(new BaseAccountStatusCheck<T>());
|
processor.addBeforeRule(new BaseAccountStatusCheck<T>());
|
||||||
// 总数量,体积计算
|
// 总数量,体积计算
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package nc.bs.ic.general.rule.before;
|
||||||
|
|
||||||
|
import nc.bs.ic.pub.base.ICRule;
|
||||||
|
import nc.bs.uapbd.util.MyHelper;
|
||||||
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
|
import nc.vo.ic.general.define.ICBillHeadVO;
|
||||||
|
import nc.vo.ic.general.define.ICBillVO;
|
||||||
|
import nc.vo.ic.m4d.entity.MaterialOutVO;
|
||||||
|
import nc.vo.org.StockOrgVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pub.lang.UFDate;
|
||||||
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 精密-材料出库新增-单据日期赋值-启源领料
|
||||||
|
*
|
||||||
|
* @author mzr
|
||||||
|
* @date 2025/10/26
|
||||||
|
*/
|
||||||
|
public class MaterialOutBillDateRule<E extends ICBillVO> extends ICRule<E> {
|
||||||
|
@Override
|
||||||
|
public void process(E[] vos) {
|
||||||
|
if (MMValueCheck.isEmpty(vos)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
for (ICBillVO vo : vos) {
|
||||||
|
if (vo instanceof MaterialOutVO) {
|
||||||
|
ICBillHeadVO headVO = vo.getParentVO();
|
||||||
|
String pk_org = (String) headVO.getAttributeValue("pk_org");
|
||||||
|
String orgCode = MyHelper.transferField(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_STOCKORG, pk_org);
|
||||||
|
// 启源领料id
|
||||||
|
String vdef9 = headVO.getVdef9();
|
||||||
|
if ("C038".equals(orgCode) && MMValueCheck.isNotEmpty(vdef9)) {
|
||||||
|
// 启源传入的单据,单据日期增加校验
|
||||||
|
UFDate dbilldate = headVO.getDbilldate();
|
||||||
|
// 设置单据日期, 如果单据日期小于2025-11-02,则单据日期设置为2025-11-02
|
||||||
|
UFDate ufDate = new UFDate("2025-11-02");
|
||||||
|
if (dbilldate != null) {
|
||||||
|
int i = dbilldate.compareTo(ufDate);
|
||||||
|
if (i < 0) {
|
||||||
|
headVO.setDbilldate(ufDate);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
UFDate nowDate = new UFDate();
|
||||||
|
int i = nowDate.compareTo(ufDate);
|
||||||
|
if (i < 0) {
|
||||||
|
headVO.setDbilldate(ufDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
ExceptionUtils.wrappException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue