diff --git a/mmpac/src/private/nc/pubimpl/mmpac/pmo/wr/PublicPMOService4WrImpl.java b/mmpac/src/private/nc/pubimpl/mmpac/pmo/wr/PublicPMOService4WrImpl.java index 124f6ade..18b0e823 100644 --- a/mmpac/src/private/nc/pubimpl/mmpac/pmo/wr/PublicPMOService4WrImpl.java +++ b/mmpac/src/private/nc/pubimpl/mmpac/pmo/wr/PublicPMOService4WrImpl.java @@ -12,6 +12,8 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; + +import nc.bs.dao.BaseDAO; import nc.bs.framework.common.NCLocator; import nc.bs.mmpac.pmo.pac0002.bp.PMOCloseBP; import nc.bs.mmpac.pmo.pac0002.bp.query.PMOAggVOQueryBP; @@ -26,6 +28,7 @@ import nc.impl.pubapp.pattern.data.vo.VOQuery; import nc.impl.pubapp.pattern.data.vo.tool.VOConcurrentTool; import nc.itf.uap.IUAPQueryBS; import nc.jdbc.framework.processor.ColumnListProcessor; +import nc.jdbc.framework.processor.MapListProcessor; import nc.mmbd.utils.factoryparam.MMBDFactoryParameter; import nc.pubitf.mmpac.pmo.wr.IPublicPMOService4Wr; import nc.util.mmf.busi.measure.MeasureHelper; @@ -259,6 +262,20 @@ public class PublicPMOService4WrImpl implements IPublicPMOService4Wr { } if (totalWRnum.doubleValue() >= compareplanputnum.doubleValue() && !MMMapUtil.isEmpty(autodonepara)) { + BaseDAO dao = new BaseDAO(); + +// 查询备料计划 如果下游备料计划未出库数量小于0,生产订单自动完工取消 + String pickmsql = "select vbdef13 from mm_pickm_b where cpickmid in ( select cpickmid from mm_pickm where csourcebillrowid='" + item.getCmoid() + "' and dr=0) and dr = 0"; + List> hmateral = (List>) dao.executeQuery(pickmsql, new MapListProcessor()); + Boolean l=false; + for (Map map : hmateral) { + if(null != map.get("vbdef13") && new UFDouble(String.valueOf(map.get("vbdef13"))).compareTo(UFDouble.ZERO_DBL) <0) { + l=true; + } + } + if(l){ + continue; + } PMOHeadVO head = (PMOHeadVO)headMap.get(item.getCpmohid()); UFBoolean autoFlag = (UFBoolean)autodonepara.get(head.getCtrantypeid()); if (autoFlag.booleanValue()) {