From 9cca3c83458907a3e2326689197a1a4d5d10dfaa Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 15 Jul 2025 15:00:18 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E8=BF=90=E5=8D=95=E5=BD=95?= =?UTF-8?q?=E5=85=A5/=E8=BF=90=E5=8D=95=E4=BF=AE=E6=94=B9/=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E6=89=B9=E9=87=8F=E5=BD=95=E5=85=A5/=E7=BD=91?= =?UTF-8?q?=E7=82=B9=E8=B4=B9=E7=94=A8=E7=94=B3=E8=AF=B7=EF=BC=9A=E7=9B=AE?= =?UTF-8?q?=E7=9A=84=E5=9B=BD=E3=80=81=E4=BA=A7=E5=93=81=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=81=E5=AF=84=E4=BB=B6=E5=9B=BD=E5=AE=B6=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E9=9C=80=E8=A6=81=E5=92=8C=E8=B5=B7=E5=A7=8B?= =?UTF-8?q?=E7=BD=91=E7=82=B9=E4=B8=80=E8=87=B4,=20=E6=8A=A5=E4=BB=B7?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91=E6=94=B9=E4=B8=BA=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=A7=8B=E5=8F=91=E7=BD=91=E7=82=B9=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/emis/service/IEmisWaybillService.java | 4 ++++ .../impl/EmisWaybillAjustApplyServiceImpl.java | 2 ++ .../emis/service/impl/EmisWaybillServiceImpl.java | 15 ++++++++++++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java index f2e9e2fad..5988b5ab6 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java @@ -146,6 +146,10 @@ public interface IEmisWaybillService extends IDataAuditService public int realSubmitOrder(EmisWaybill emisWaybill) throws EmisBizError; + + public void checkCountry(EmisWaybill emisWaybill) throws EmisBizError; + + /** * OMS下单 * @param emisWaybill diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java index 4e927c315..b3e7fda57 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java @@ -134,6 +134,8 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements // 检查月结客户首次签约日期,首次签约之前开的不允许修改 checkFirstSigningDay(emisWaybillOld, getEmisWaybillNewFromJson(emisWaybillAjustApply)); + emisWaybillService.checkCountry(getEmisWaybillNewFromJson(emisWaybillAjustApply)); + // 检查月结/现金客户额度 // bug:1657 调整后逻辑:单证部同事 员工表标识“单证专属”岗位登记的网点费用申请,不用判断 现金额度和月结客户额度 boolean isDZZS=checkIsDZZS(emisWaybillAjustApply.getApplyManCode()); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 2f7445acc..4bbf4d391 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -3287,13 +3287,17 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } } - private void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError { + public void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError { EmisTransLine emisTransLine = new EmisTransLine(); emisTransLine.setLineCode(emisWaybillSave.getTransLineType()); List emisTransLines = emisTransLineMapper.selectEmisTransLineList(emisTransLine); - if(CollectionUtil.isEmpty(emisTransLines)){ + EmisSite siteByCode = getSiteByCode(emisWaybillSave.getStartSiteCode()); + if(CollectionUtil.isEmpty(emisTransLines)||Objects.isNull(siteByCode)){ return; } + if(!siteByCode.getCountryCode().equals(emisTransLines.get(0).getFromCountry())){ + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "始发网点与所选线路不匹配" ); + } if(emisWaybillSave.getSendCountry().equals(emisTransLines.get(0).getFromCountry())){ return; } @@ -3511,6 +3515,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb checkFeeWaybill.setTotalVolume(emisWaybillSave.getTotalVolume()); checkFeeWaybill.setSendSiteCode(emisWaybillSave.getSendSiteCode()); + checkFeeWaybill.setStartSiteCode(emisWaybillSave.getStartSiteCode()); checkFeeWaybill.setDispatchUnderlingSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode()); checkFeeWaybill.setCustomsClear(emisWaybillSave.getCustomsClear()); checkFeeWaybill.setCustomsEclaration(emisWaybillSave.getCustomsEclaration()); @@ -3899,9 +3904,13 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb emisWaybill.setSendDate(new Date()); } + if (StringUtils.isBlank(emisWaybill.getStartSiteCode())) { + emisWaybill.setStartSiteCode(emisWaybill.getSendSiteCode()); + } + // bug: 1704 按照运单号开单日期去报价表抓取对应的报价进行计算 List emisQuotePriceList=getValidQuotePriceList(emisWaybill.getTransLineType(),emisWaybill.getProductType(), - emisWaybill.getSendSiteCode(),emisWaybill.getDispatchUnderlingSiteCode(), + emisWaybill.getStartSiteCode(),emisWaybill.getDispatchUnderlingSiteCode(), emisWaybill.getCalcFeeType(),emisWaybill.getCustomerCode(),emisWaybill.getCustNo(),emisWaybill.getSendDate() );