精密-物料计划信息保存前校验
This commit is contained in:
parent
845677c59e
commit
cd9816e280
|
|
@ -0,0 +1,57 @@
|
||||||
|
package nc.impl.bd.material.plan;
|
||||||
|
|
||||||
|
import nc.bs.businessevent.IBusinessEvent;
|
||||||
|
import nc.bs.businessevent.IBusinessListener;
|
||||||
|
import nc.bs.businessevent.bd.BDCommonEvent;
|
||||||
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.logging.Log;
|
||||||
|
import nc.bs.uapbd.util.MyHelper;
|
||||||
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||||
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
|
import nc.vo.bd.material.plan.MaterialPlanVO;
|
||||||
|
import nc.vo.org.OrgVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 精密-物料计划信息保存前校验
|
||||||
|
*
|
||||||
|
* @author mzr
|
||||||
|
* @date 2025/10/30
|
||||||
|
*/
|
||||||
|
public class MaterialSaveBeforeCheckJMListener implements IBusinessListener {
|
||||||
|
private static final String LOG_INFO_NAME = "jmqylog";
|
||||||
|
private static final Log logger = Log.getInstance(LOG_INFO_NAME);
|
||||||
|
private BaseDAO baseDAO = new BaseDAO();
|
||||||
|
|
||||||
|
public void doAction(IBusinessEvent event) throws BusinessException {
|
||||||
|
BDCommonEvent e = (BDCommonEvent) event;
|
||||||
|
String eventType = event.getEventType();
|
||||||
|
Object[] objs = e.getObjs();
|
||||||
|
// 1003 修改前校验
|
||||||
|
if ("1003".equals(eventType)) {
|
||||||
|
String orgId = MyHelper.getStrValByCondition(OrgVO.getDefaultTableName(), OrgVO.PK_ORG, OrgVO.CODE + " = 'C038' and ISBUSINESSUNIT = 'Y'");
|
||||||
|
for (Object obj : objs) {
|
||||||
|
if (obj instanceof MaterialPlanVO planVO) {
|
||||||
|
String pkOrg = planVO.getPk_org();
|
||||||
|
// 组织判断,精密的才需校验
|
||||||
|
if (MMValueCheck.isNotEmpty(orgId) && orgId.equals(pkOrg)) {
|
||||||
|
String def2 = planVO.getDef2();// 启源物料编码/原系统物料编码
|
||||||
|
if (MMValueCheck.isNotEmpty(def2)) {
|
||||||
|
String countSql = "select count(1) from bd_materialplan where pk_org = '[pk_org]' and def2 = '[def2]'";
|
||||||
|
countSql = countSql.replace("[pk_org]", pkOrg).replace("[def2]", def2);
|
||||||
|
Integer num = (Integer) baseDAO.executeQuery(countSql, new ColumnProcessor());
|
||||||
|
if (num > 0) {
|
||||||
|
throw new BusinessException("原系统物料编码重复,请检查!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue