From 3d0a463d1a40199c77fcc9e33252eb35aa1d5138 Mon Sep 17 00:00:00 2001 From: mzr Date: Sat, 25 Oct 2025 20:51:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(ic):=20=E6=88=90=E5=A5=97=E9=A2=86?= =?UTF-8?q?=E6=96=99=E6=8E=A5=E5=8F=A3-=E8=AE=BE=E7=BD=AE=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E6=97=A5=E6=9C=9F,=20=E5=A6=82=E6=9E=9C=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E6=97=A5=E6=9C=9F=E5=B0=8F=E4=BA=8E2025-11-02?= =?UTF-8?q?=EF=BC=8C=E5=88=99=E5=8D=95=E6=8D=AE=E6=97=A5=E6=9C=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA2025-11-02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ic/m4d/APIMaterialOutMaintainImpl.java | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java b/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java index b862503c..085873a4 100644 --- a/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java +++ b/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java @@ -28,6 +28,7 @@ import nc.vo.mmpac.pickm.entity.AggPickmVO; import nc.vo.mmpac.pickm.entity.PickmItemVO; import nc.vo.pub.BusinessException; import nc.vo.pub.VOStatus; +import nc.vo.pub.lang.UFDate; import nc.vo.pub.lang.UFDouble; import nc.vo.scmpub.check.billvalidate.BillVOsCheckRule; import nc.vo.scmpub.res.billtype.ICBillType; @@ -89,7 +90,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { // if (isSpecialCase) { // processPickingPlanSpecialLogic(vos); // } - //其他数据填充 + // 其他数据填充 new MaterialOutSaveFillValue().setDefaultValue(vos); IMaterialOutMaintainAPI materialOut = NCLocator.getInstance().lookup(IMaterialOutMaintainAPI.class); @@ -121,7 +122,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { // if (isSpecialCase) { // processPickingPlanSpecialLogic(vos); // } - //其他数据填充 + // 其他数据填充 new MaterialOutSaveFillValue().setDefaultValue(vos); IMaterialOutMaintainAPI materialOut = NCLocator.getInstance().lookup(IMaterialOutMaintainAPI.class); @@ -245,7 +246,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { roigBvo.setAttributeValue(battr, newBvo.getAttributeValue(battr)); bfields.add(battr); } - //设置货位序列号孙表,把原来的孙表删除,修改的货位置为新增 + // 设置货位序列号孙表,把原来的孙表删除,修改的货位置为新增 if (null != newBvo.getLocationVOs()) { List allloc = new ArrayList(); if (null != deleteLoc && null != deleteLoc.get(roigBvo.getCgeneralbid())) { @@ -262,7 +263,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { } // 翻译货位 ICAPILocationVOUtils.translate(materialOutVOs); - //其他数据填充 + // 其他数据填充 new MaterialOutUpdateFillValue().setDefaultValue(materialOutVOs, bfields); } } @@ -273,9 +274,9 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { tool.doBeforeInsert(materialOutVOs); IWmsSyncUtils utils = NCLocator.getInstance().lookup(IWmsSyncUtils.class); - //2025年10月15日14点25分--重新覆盖单据转换规则转换的项目字段--wms对接公司存在备料计划与材料出库明细项目字段不一致情况--star + // 2025年10月15日14点25分--重新覆盖单据转换规则转换的项目字段--wms对接公司存在备料计划与材料出库明细项目字段不一致情况--star if (utils != null && utils.isWMS()) { - //获取originBill里表体的主键和项目字段形成Map,再遍历materialOutVOs去替换明细的项目 + // 获取originBill里表体的主键和项目字段形成Map,再遍历materialOutVOs去替换明细的项目 Map originProjectMap = new HashMap<>(); for (MaterialOutVO originBill : originBills) { MaterialOutBodyVO[] originBodys = originBill.getBodys(); @@ -298,7 +299,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { } } } - //2025年10月15日14点25分--重新覆盖单据转换规则转换的项目字段--wms对接公司存在备料计划与材料出库明细项目字段不一致情况--end + // 2025年10月15日14点25分--重新覆盖单据转换规则转换的项目字段--wms对接公司存在备料计划与材料出库明细项目字段不一致情况--end MaterialOutVO[] updateVOS = NCLocator.getInstance().lookup(IMaterialOutMaintain.class).update(materialOutVOs, originBills); // 如果是WMS系统 则自动签字 if (utils != null && utils.isWMS()) { @@ -433,6 +434,21 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { UFDouble num = new UFDouble(paramMap.get("num").toString()); for (MaterialOutVO vo : vos) { MaterialOutHeadVO headVo = vo.getHead(); + UFDate dbilldate = headVo.getDbilldate(); + // 设置单据日期, 如果单据日期小于2025-11-02,则单据日期设置为2025-11-02 + UFDate ufDate = new UFDate("2025-11-02"); + if (dbilldate != null) { + int i = dbilldate.compareTo(ufDate); + if (i < 0) { + headVo.setDbilldate(ufDate); + } + } else { + UFDate nowDate = new UFDate(); + int i = nowDate.compareTo(ufDate); + if (i < 0) { + headVo.setDbilldate(ufDate); + } + } // 设置 vdef9 启源领料id if (MMValueCheck.isNotEmpty(paramMap.get("vdef9"))) { headVo.setVdef9(paramMap.get("vdef9").toString());