From 888f728a537e15b67685bc293c2ab9c7f8c53f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AD=A3=40=E7=94=A8=E5=8F=8B?= Date: Thu, 10 Apr 2025 15:15:24 +0800 Subject: [PATCH] =?UTF-8?q?ic=5F=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3=E4=BA=A4=E6=98=93=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=92=8C=E4=BE=9B=E5=BA=94=E5=95=86=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ic/m45/APIPurchaseInMaitainImpl.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ic/src/private/nccloud/api/impl/ic/m45/APIPurchaseInMaitainImpl.java b/ic/src/private/nccloud/api/impl/ic/m45/APIPurchaseInMaitainImpl.java index 5a1826e..f370ac8 100644 --- a/ic/src/private/nccloud/api/impl/ic/m45/APIPurchaseInMaitainImpl.java +++ b/ic/src/private/nccloud/api/impl/ic/m45/APIPurchaseInMaitainImpl.java @@ -7,7 +7,9 @@ import java.util.List; import java.util.Map; import java.util.Set; +import nc.impl.pubapp.pattern.data.vo.VOQuery; import nc.vo.ic.org.OrgInfoQuery; +import nc.vo.pu.m23.entity.ArriveHeaderVO; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -57,6 +59,9 @@ public class APIPurchaseInMaitainImpl implements IAPIPurchaseInMaitain { // 1、传入数据基本非空校验 BillVOsCheckRule checker = new BillVOsCheckRule(new CheckPurchaseInSaveValidator()); + + //添加供应商和交易类型为空赋值 + fillHeadDataBeforeCheck(vos); checker.check(vos); // 2、编码翻译成pk aggVOList = TransferCodeToPKTool.transferAggVO(aggVOList); @@ -83,6 +88,28 @@ public class APIPurchaseInMaitainImpl implements IAPIPurchaseInMaitain { return tool.insert(vos); } + private void fillHeadDataBeforeCheck(PurchaseInVO[] vos) { + for(PurchaseInVO vo : vos) { + if(StringUtils.isEmpty(vo.getHead().getVtrantypecode())){ + //设置默认交易类型 + vo.getHead().setVtrantypecode("45-01"); + } + if(StringUtils.isEmpty(vo.getHead().getCvendorid())){ + //根据上游获取数据 + PurchaseInBodyVO[] bodys = vo.getBodys(); + String csourcetype = bodys[0].getCsourcetype(); + String csourcebillhid = bodys[0].getCsourcebillhid(); + if("23".equals(csourcetype)&&StringUtils.isNotEmpty(csourcebillhid)){ + //上游到货单 + ArriveHeaderVO[] srcHVOs = new VOQuery<>(ArriveHeaderVO.class).query(new String[]{csourcebillhid}); + if(ArrayUtils.isNotEmpty(srcHVOs)){ + vo.getHead().setCvendorid(srcHVOs[0].getPk_supplier()); + } + } + } + } + } + @Override public PurchaseInVO[] update(List> paramList) throws BusinessException {