From e5ebda0499e40ef2264fc636ce7c841f51cd0a9b Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 22 Oct 2025 09:41:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=A1=A3=E6=A1=88=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E4=BF=A1=E6=81=AF=E9=A1=B5=E7=AD=BE=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=AD=97=E6=AE=B5=E5=88=A4=E6=96=AD=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E7=94=9F=E6=88=90=E6=89=B9=E6=AC=A1=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmo/pac0002/PMOMaintainServiceImpl.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/mmpac/src/private/nc/impl/mmpac/pmo/pac0002/PMOMaintainServiceImpl.java b/mmpac/src/private/nc/impl/mmpac/pmo/pac0002/PMOMaintainServiceImpl.java index 37e41dd9..56562e7f 100644 --- a/mmpac/src/private/nc/impl/mmpac/pmo/pac0002/PMOMaintainServiceImpl.java +++ b/mmpac/src/private/nc/impl/mmpac/pmo/pac0002/PMOMaintainServiceImpl.java @@ -10,6 +10,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; + +import nc.bs.dao.BaseDAO; +import nc.bs.dao.DAOException; import nc.bs.framework.common.NCLocator; import nc.bs.mmpac.pmo.pac0002.bp.PMOAdjustBP; import nc.bs.mmpac.pmo.pac0002.bp.PMOApproveBP; @@ -31,6 +34,7 @@ import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckParentProcedureNoRule; import nc.bs.trade.business.HYPubBO; import nc.impl.pubapp.bd.userdef.UserDefSaveRule; import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; +import nc.itf.bd.material.baseinfo.IMaterialBaseInfoQueryService; import nc.itf.mmpac.pmo.pac0002.IPMOMaintainService; import nc.itf.uap.rbac.IUserManageQuery_C; import nc.jdbc.framework.generator.SequenceGenerator; @@ -45,6 +49,8 @@ import nc.util.mmf.framework.base.MMValueCheck; import nc.util.mmf.framework.gc.GCBillTransferTool; import nc.util.mmf.framework.gc.GCPseudoColUtil; import nc.vo.bd.feature.ffile.entity.AggFFileVO; +import nc.vo.bd.material.MaterialVO; +import nc.vo.bd.material.stock.MaterialStockVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemMeasureParam; @@ -289,7 +295,9 @@ public class PMOMaintainServiceImpl implements IPMOMaintainService { for (PMOAggVO vo : aggvos) { for(PMOItemVO itemVO : vo.getChildrenVO()) { if(itemVO.getPk_org().equals(org)) { - xbitemList.add(itemVO); + if(checkMaterial(itemVO.getCmaterialvid(),itemVO.getPk_org())){ + xbitemList.add(itemVO); + } } } } @@ -319,7 +327,30 @@ public class PMOMaintainServiceImpl implements IPMOMaintainService { } return MMArrayUtil.isEmpty(aggvos) ? null : (new PMOBPUtil()).fillVOInfo4AID(aggvos); } + private boolean checkMaterial(String cmaterialid,String org) throws BusinessException { + // 根据物料档案库存信息页签批次管理字段判断是否生成批次号,只有勾选批次管理的物料才生成生产批次号 + MaterialVO[] vos = NCLocator.getInstance().lookup(IMaterialBaseInfoQueryService.class).queryDataByPks(new String[]{cmaterialid}); + for (MaterialVO vo : vos) { + String whereSql = " pk_material='" + vo.getPk_material() + "' and pk_org='" + org + "' and nvl(dr,0)=0 "; + List list = null; + try { + list = (List) new BaseDAO().retrieveByClause(MaterialStockVO.class, whereSql); + } catch (DAOException e) { + e.printStackTrace(); + } + if(!list.isEmpty()){ + for (MaterialStockVO materialStockVO:list){ + if(materialStockVO.getWholemanaflag().booleanValue()) { + return true; + } + } + } + + } + + return false; + } public PMOAggVO[] fillVOInfo4KF(PMOAggVO[] aggvos) throws BusinessException { if (MMArrayUtil.isEmpty(aggvos)) { return null;