负计划(采购入库校验最终需求数量)

This commit is contained in:
lihao 2025-10-21 18:36:30 +08:00
parent 5d46717594
commit c2d403c9ba
3 changed files with 81 additions and 3 deletions

View File

@ -0,0 +1,34 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nc.impl.ic.m45.action;
import nc.bs.ic.m45.insert.InsertBP;
import nc.bs.pu.m23.plugin.ArriveActionPlugInPoint;
import nc.impl.ic.general.InsertActionTemplate;
import nc.impl.ic.m45.action.rule.XbPushTo45BeforeProcess;
import nc.impl.ic.m45.base.ActionPlugInPoint;
import nc.impl.pu.m23.maintain.rule.CheckBillDateRule;
import nc.impl.pubapp.pattern.rule.processer.AroundProcesser;
import nc.vo.ic.m45.entity.PurchaseInVO;
import nc.vo.pu.m23.entity.ArriveVO;
public class InsertAction {
public InsertAction() {
}
public PurchaseInVO[] insert(PurchaseInVO[] bills) {
AroundProcesser<PurchaseInVO> processer = new AroundProcesser(ActionPlugInPoint.InsertAction);
addBeforeRule(processer);
InsertActionTemplate<PurchaseInVO> insertAction = new InsertActionTemplate(ActionPlugInPoint.InsertAction, new InsertBP());
return (PurchaseInVO[])insertAction.insert(bills);
}
private void addBeforeRule(AroundProcesser<PurchaseInVO> processer) {
processer.addBeforeRule(new XbPushTo45BeforeProcess());
}
}

View File

@ -0,0 +1,44 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nc.impl.ic.m45.action.rule;
import nc.impl.pubapp.pattern.rule.IFilterRule;
import nc.vo.ic.m45.entity.PurchaseInBodyVO;
import nc.vo.ic.m45.entity.PurchaseInVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDouble;
public class XbPushTo45BeforeProcess implements IFilterRule<PurchaseInVO> {
public XbPushTo45BeforeProcess() {
}
public PurchaseInVO[] process(PurchaseInVO[] vos) {
PurchaseInVO[] retvos = vos;
if(retvos == null || retvos.length == 0){
return retvos;
}
for (PurchaseInVO vo : vos) {
if(vo.getHead().getPrimaryKey() == null){
for (PurchaseInBodyVO body:vo.getBodys()){
if(null!=body.getAttributeValue("vbdef33") && body.getNshouldnum().compareTo(new UFDouble(String.valueOf(body.getAttributeValue("vbdef33"))))>0){
try {
throw new BusinessException("入库数量大于最终需求数量不能生成采购入库!");
} catch (BusinessException e) {
throw new RuntimeException(e);
}
}
}
}
}
return retvos;
}
}

View File

@ -190,9 +190,9 @@ public class InboundPubServiceImpl implements IInboundPubService {
for(ArriveItemVO body : bodys) {
body.setTs((UFDateTime)Bid_ts1.get(body.getPk_arriveorder_b()));
if(null!=body.getAttributeValue("vbdef33") && body.getNastnum().compareTo(body.getAttributeValue("vbdef33"))<0){
throw new BusinessException("入库数量大于最终需求数量不能生成采购入库!");
}
// if(null!=body.getAttributeValue("vbdef33") && body.getNastnum().compareTo(new UFDouble(String.valueOf(body.getAttributeValue("vbdef33"))))>0){
// throw new BusinessException("入库数量大于最终需求数量不能生成采购入库!");
// }
}
}