备料计划转库存的其它入库

This commit is contained in:
mzr 2025-07-08 09:51:21 +08:00
parent f516e44a62
commit a951536045
1 changed files with 14 additions and 23 deletions

View File

@ -71,12 +71,12 @@ public class PickmToGeneralInAction implements ICommonAction {
ExceptionUtils.wrapBusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("5008100_0", "05008100-0009"));
}
// 过滤
AggPickmVO[] filterVOs = this.filterAggPickmVOForDirectTrans(aggVOs);
/*AggPickmVO[] filterVOs = this.filterAggPickmVO(aggVOs);
if (MMValueCheck.isEmpty(filterVOs)) {
ExceptionUtils.wrapBusinessException(PickmLangConsts.getErrNoDataToReqPickm());
}
}*/
// 转换数据
GeneralInVO[] inVOS = convertToGeneralInVO(filterVOs, null);
GeneralInVO[] inVOS = convertToGeneralInVO(aggVOs, null);
// 其它入库新增
IGeneralInMaintain generalInMaintain = ServiceLocator.find(IGeneralInMaintain.class);
GeneralInVO[] insertVos = generalInMaintain.insert(inVOS);
@ -113,24 +113,25 @@ public class PickmToGeneralInAction implements ICommonAction {
for (GeneralInVO inVO : inVOS) {
// 其它入库单的仓库交易类型取自业务参数设置的默认值
GeneralInHeadVO head = inVO.getHead();
head.setCtrantypeid("01");
head.setVtrantypecode("01");
head.setCtrantypeid("");
head.setVtrantypecode("");
head.setCwarehouseid("");
}
return inVOS;
}
/*
* 过滤备料计划 完成态非生产来源生产订单完工或关闭表体非发料非备料可执行量<0
* 过滤备料计划 审批通过=1上游生产订单行是投放状态
*/
private AggPickmVO[] filterAggPickmVOForDirectTrans(AggPickmVO[] aggvos) throws BusinessException {
private AggPickmVO[] filterAggPickmVO(AggPickmVO[] aggvos) throws BusinessException {
if (aggvos == null) {
return null;
}
List<AggPickmVO> resultVO = new ArrayList<AggPickmVO>();
List<AggPickmVO> resultVO = new ArrayList<>();
// 查询生产订单参数
List<MoQueryParam4Pickm> moParams = new ArrayList<MoQueryParam4Pickm>();
MapList<Integer, String> moidMap = new MapList<Integer, String>();
List<String> transTypeIds = new ArrayList<String>();
List<MoQueryParam4Pickm> moParams = new ArrayList<>();
MapList<Integer, String> moidMap = new MapList<>();
List<String> transTypeIds = new ArrayList<>();
for (AggPickmVO aggvo : aggvos) {
PickmHeadVO head = aggvo.getParentVO();
// 完成态
@ -154,12 +155,6 @@ public class PickmToGeneralInAction implements ICommonAction {
if (!FitemsourceEnum.PREPARE.equalsValue(item.getFitemsource())) {
continue;
}
// 2需求主数量>0
// 需求主数量=计划出库数量-累计出库数量-累计委外数量-累计待转数量-累计入库数量-预留
if (!MMNumberUtil.isGtZero(MMNumberUtil.sub(item.getNplanoutnum(), item.getNaccoutnum(),
item.getNatpnum(), item.getNpscnum(), item.getNtransnum(), item.getNtransinnum()))) {
continue;
}
itemList.add(item);
}
if (MMValueCheck.isEmpty(itemList)) {
@ -192,7 +187,7 @@ public class PickmToGeneralInAction implements ICommonAction {
Map<String, Boolean> isWWPickm =
wwService.isWWPickmTransType(transTypeIds.toArray(new String[0]));
// 查询来源生产订单是否为完工或关闭态
Map<String, UFBoolean> ismoFinisOrClose = new HashMap<String, UFBoolean>();
Map<String, UFBoolean> ismoFinisOrClose = new HashMap<>();
// 来源生产订单信息为空
if (!MMMapUtil.isEmpty(moidMap)) {
// 构造查询生产订单参数
@ -209,7 +204,7 @@ public class PickmToGeneralInAction implements ICommonAction {
}
// 循环上一轮结果过滤来源生产订单为关闭或完工的备料 计划
List<AggPickmVO> resultMoVO = new ArrayList<AggPickmVO>();
List<AggPickmVO> resultMoVO = new ArrayList<>();
for (AggPickmVO aggvo : resultVO) {
PickmHeadVO head = aggvo.getParentVO();
// 交易类型非生产
@ -227,10 +222,6 @@ public class PickmToGeneralInAction implements ICommonAction {
if (MaterialProdModeEnum.PRODMODE_PROD.equalsValue(head.getFprodmode())) {
moid = head.getCsourcebillrowid();
}
// 离散
if (MaterialProdModeEnum.PRODMODE_SEPPROD.equalsValue(head.getFprodmode())) {
moid = head.getCsourcebillid();
}
// 来源生产订单为完工或关闭态
if (MMValueCheck.isNotEmpty(ismoFinisOrClose) && ismoFinisOrClose.containsKey(moid)
&& MMValueCheck.isTrue(ismoFinisOrClose.get(moid))) {