From 5c2bad4ef54f1cd70de6481bbcea589d313c4ae8 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Mon, 26 May 2025 18:57:40 +0800 Subject: [PATCH 1/9] =?UTF-8?q?demand:1.=E5=AE=9A=E5=88=B6=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=8E=92=E9=99=A4=E5=BA=9F=E5=BC=83=E7=9A=84=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=20=20=202.=E5=AE=9A=E5=88=B6=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=9A=E5=8A=A1=E5=91=98=E5=8F=96=E5=80=BC?= =?UTF-8?q?=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/EmisSettleInvoiceChRecordServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java index b3012f46a..a0362e5ed 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java @@ -17,6 +17,7 @@ import java.util.Date; import java.util.List; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -140,7 +141,7 @@ public class EmisSettleInvoiceChRecordServiceImpl extends EmisBaseService implem Future> future = executor.submit(() -> { PageHelper.startPage(currentPage, pageSize); List list = this.selectEmisSettleInvoiceChRecordListAll( - emisSettleInvoiceChRecord); + emisSettleInvoiceChRecord).stream().filter(i->!"3".equals(i.getOpenChStatus())).collect(Collectors.toList()); if (list == null || list.isEmpty()) { return new ArrayList<>(); @@ -170,7 +171,7 @@ public class EmisSettleInvoiceChRecordServiceImpl extends EmisBaseService implem // 付款日期 vo.setPayDate(InvoiceExportHelper.processPayDate(record.getExportPayDays())); // 业务员 - vo.setSalesmen(record.getSalesmen()); + vo.setSalesmen(record.getApplyManName()); // 快递公司 vo.setExpressCompany(record.getSalesmen()); // 面单单号 From 9d911d5db51bbd25bc050705f6dbdd64fe8a804d Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 May 2025 14:21:58 +0800 Subject: [PATCH 2/9] =?UTF-8?q?demand:=E5=AE=9A=E5=88=B6=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E4=BC=98=E5=8C=96=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmisSettleInvoiceChRecordMapper.java | 9 +++ .../EmisSettleInvoiceChRecordServiceImpl.java | 45 +++++++++-- .../EmisSettleInvoiceChRecordMapper.xml | 75 +++++++++++++++++++ 3 files changed, 123 insertions(+), 6 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleInvoiceChRecordMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleInvoiceChRecordMapper.java index cd1d4886a..cad7ac6cb 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleInvoiceChRecordMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleInvoiceChRecordMapper.java @@ -106,4 +106,13 @@ public interface EmisSettleInvoiceChRecordMapper extends BaseMapper selectExtraFieldsByApplySeqNos( + @Param("applySeqNoList") List applySeqNoList); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java index a0362e5ed..169272500 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleInvoiceChRecordServiceImpl.java @@ -11,10 +11,7 @@ package com.xdadan.erp.emis.service.impl; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -38,6 +35,7 @@ import com.xdadan.erp.emis.service.openbill.hx.HXOrderGoods; import com.xdadan.erp.emis.service.openbill.hx.HXOrderInfo; import com.xdadan.erp.emis.service.openbill.hx.HXSdk; import com.xdadan.erp.emis.utils.WaybillHelper; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -217,14 +215,49 @@ public class EmisSettleInvoiceChRecordServiceImpl extends EmisBaseService implem } @Override - public List selectEmisSettleInvoiceChRecordListAll(EmisSettleInvoiceChRecord emisSettleInvoiceChRecord) { + public List selectEmisSettleInvoiceChRecordListAll( + EmisSettleInvoiceChRecord emisSettleInvoiceChRecord) { long startTime = System.currentTimeMillis(); - List emisSettleInvoiceChRecords = emisSettleInvoiceChRecordMapper.selectEmisSettleInvoiceChRecordListAll(emisSettleInvoiceChRecord); + if (StringUtil.isNotBlank(emisSettleInvoiceChRecord.getInvoiceNo())) { + List emisSettleInvoiceChRecords = emisSettleInvoiceChRecordMapper + .selectEmisSettleInvoiceChRecordList(emisSettleInvoiceChRecord); + setEmisSettleInvoiceChRecords(emisSettleInvoiceChRecords); + return emisSettleInvoiceChRecords; + } + List emisSettleInvoiceChRecords = emisSettleInvoiceChRecordMapper + .selectEmisSettleInvoiceChRecordListAll(emisSettleInvoiceChRecord); long endTime = System.currentTimeMillis(); log.info("查询渠道开票记录列表完成, 耗时: {}ms", (endTime - startTime)); return emisSettleInvoiceChRecords; } + private void setEmisSettleInvoiceChRecords(List emisSettleInvoiceChRecords) { + List applySeqNoList = emisSettleInvoiceChRecords.stream() + .map(EmisSettleInvoiceChRecord::getApplySeqNo) + .collect(Collectors.toList()); + + if (!CollectionUtils.isEmpty(applySeqNoList)) { + List extraInfoList = emisSettleInvoiceChRecordMapper + .selectExtraFieldsByApplySeqNos(applySeqNoList); + + Map extraInfoMap = extraInfoList.stream() + .collect(Collectors.toMap( + EmisSettleInvoiceChRecord::getApplySeqNo, + record -> record, + (existing, replacement) -> existing)); + + emisSettleInvoiceChRecords.forEach(record -> { + EmisSettleInvoiceChRecord extraInfo = extraInfoMap.get(record.getApplySeqNo()); + if (extraInfo != null) { + record.setSendMonth(extraInfo.getSendMonth()); + record.setSettleType(extraInfo.getSettleType()); + record.setOpenBillRemark(extraInfo.getOpenBillRemark()); + record.setPayDays(extraInfo.getPayDays()); + } + }); + } + } + @Override public int checkHasSendToHx(String applySeqNo) diff --git a/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml index 8b444716a..c16b8d136 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml @@ -705,4 +705,79 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + \ No newline at end of file From ec274798ed9e48a5972670a5b6d9517662aa0999 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 May 2025 16:55:59 +0800 Subject: [PATCH 3/9] =?UTF-8?q?demand:=E6=8A=A5=E4=BB=B7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9E=E6=89=B9=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8A=A5=E4=BB=B7=E6=8E=A5=E5=8F=A3=20committer:=20he?= =?UTF-8?q?yu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/emis/EmisQuotePriceController.java | 19 ++++++++++ .../emis/service/IEmisQuotePriceService.java | 8 ++++ .../impl/EmisQuotePriceServiceImpl.java | 38 +++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisQuotePriceController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisQuotePriceController.java index 557252370..f6301328b 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisQuotePriceController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisQuotePriceController.java @@ -164,6 +164,25 @@ public class EmisQuotePriceController extends EmisBaseController } } + /** + * 批量修改费用报价 + */ + @PreAuthorize("@ss.hasPermi('emis:emisQuotePrice:edit')") + @Log(title = "费用报价", businessType = BusinessType.UPDATE) + @PutMapping("/batch") + public AjaxResult batchEdit(@RequestBody List emisQuotePriceList) { + try { + return toAjax(emisQuotePriceService.batchUpdateEmisQuotePrice(emisQuotePriceList)); + } catch (Exception ex) { + ex.printStackTrace(); + // 返回自定义异常 + if (ex instanceof EmisBizError) { + return AjaxResult.error(ex.getMessage(), ((EmisBizError) ex).getErrorCode()); + } + return AjaxResult.error("服务器异常,联系客服"); + } + } + /** * 删除费用报价 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisQuotePriceService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisQuotePriceService.java index ae23f0216..c65105187 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisQuotePriceService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisQuotePriceService.java @@ -70,4 +70,12 @@ public interface IEmisQuotePriceService * @return 结果 */ public int deleteEmisQuotePriceByQuoteId(Long quoteId); + + /** + * 批量修改费用报价 + * + * @param emisQuotePriceList 费用报价列表 + * @return 结果 + */ + public int batchUpdateEmisQuotePrice(List emisQuotePriceList) throws EmisBizError; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java index 2818f6631..a155f97e5 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisQuotePriceServiceImpl.java @@ -152,4 +152,42 @@ public class EmisQuotePriceServiceImpl implements IEmisQuotePriceService return emisQuotePriceMapper.deleteEmisQuotePriceByQuoteId(quoteId); } + /** + * 批量修改费用报价 + * + * @param emisQuotePriceList 费用报价列表 + * @return 结果 + */ + @Override + @Transactional + public int batchUpdateEmisQuotePrice(List emisQuotePriceList) throws EmisBizError { + if (CollectionUtil.isEmpty(emisQuotePriceList)) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "费用报价列表不能为空"); + } + + int successCount = 0; + for (EmisQuotePrice emisQuotePrice : emisQuotePriceList) { + try { + // 检查是否重复 + List listOld = emisQuotePriceMapper.checkUnique(emisQuotePrice); + if (!CollectionUtil.isEmpty(listOld)) { + String estNameStr = ""; + for (EmisQuotePrice item : listOld) { + estNameStr = estNameStr + item.getQuoteName() + ","; + } + throw new EmisBizError(EmisBizErrorType.EXISTS, "报价重复[" + estNameStr + "]"); + } + + // 更新主表 + int ret = emisQuotePriceMapper.updateEmisQuotePrice(emisQuotePrice); + if (ret > 0) { + successCount++; + } + } catch (Exception e) { + throw new EmisBizError(EmisBizErrorType.SYS_EXCEPTION, "批量修改费用报价失败:" + e.getMessage()); + } + } + return successCount; + } + } From ace2a5034d2ad5f66dbae375e61ed8c95a274c77 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 May 2025 18:49:21 +0800 Subject: [PATCH 4/9] =?UTF-8?q?demand:TMS-=E7=8E=B0=E9=87=91=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E7=95=8C=E9=9D=A2/=E6=9C=88=E7=BB=93=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E7=95=8C=E9=9D=A2/=E5=8F=91=E7=A5=A8=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E7=95=8C=E9=9D=A2=E6=96=B0=E5=A2=9E=E9=99=90=E5=88=B6?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E6=97=B6=E9=97=B4=E4=B8=8D=E8=83=BD=E6=97=A9?= =?UTF-8?q?=E4=BA=8E=E5=BD=93=E5=A4=A9=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisSettlePayRecordServiceImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java index 9e7692aa7..a5a80ab1a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java @@ -11,6 +11,9 @@ package com.xdadan.erp.emis.service.impl; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -150,6 +153,9 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I } } + // 校验交易日期不能晚于当天 + checkTradeDate(emisSettlePayRecord); + emisSettlePayRecord.setSettleBillNo(WaybillHelper.formatQueryValue(emisSettlePayRecord.getSettleBillNo())); // 多账单合并收款 String [] settleBillNoArr = emisSettlePayRecord.getSettleBillNo().split(","); @@ -232,6 +238,19 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I return 1; } + private static void checkTradeDate(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { + if (emisSettlePayRecord.getTradeDate() != null) { + LocalDate tradeDate = emisSettlePayRecord.getTradeDate().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + LocalDate today = LocalDate.now(); + if (tradeDate.isAfter(today)) { + throw new EmisBizError(EmisBizErrorType.FAIL, + "交易时间不能晚于当天(" + today.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ")"); + } + } + } + /** * 收款退款 * @param id From db4e658ec175875118b476bb31300c88dd6fc858 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 May 2025 18:58:44 +0800 Subject: [PATCH 5/9] =?UTF-8?q?demand:TMS-=E7=8E=B0=E9=87=91=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E7=95=8C=E9=9D=A2/=E6=9C=88=E7=BB=93=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E7=95=8C=E9=9D=A2/=E5=8F=91=E7=A5=A8=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E7=95=8C=E9=9D=A2=E6=96=B0=E5=A2=9E=E9=99=90=E5=88=B6?= =?UTF-8?q?=E4=BA=A4=E6=98=93/=E9=80=80=E6=AC=BE=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=97=A9=E4=BA=8E=E5=BD=93=E5=A4=A9=20commit?= =?UTF-8?q?ter:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisSettlePayRecordServiceImpl.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java index a5a80ab1a..734000195 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java @@ -154,7 +154,7 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I } // 校验交易日期不能晚于当天 - checkTradeDate(emisSettlePayRecord); + checkDate(emisSettlePayRecord); emisSettlePayRecord.setSettleBillNo(WaybillHelper.formatQueryValue(emisSettlePayRecord.getSettleBillNo())); // 多账单合并收款 @@ -238,17 +238,26 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I return 1; } - private static void checkTradeDate(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { + private static void checkDate(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { + LocalDate today = LocalDate.now(); if (emisSettlePayRecord.getTradeDate() != null) { LocalDate tradeDate = emisSettlePayRecord.getTradeDate().toInstant() .atZone(ZoneId.systemDefault()) .toLocalDate(); - LocalDate today = LocalDate.now(); if (tradeDate.isAfter(today)) { throw new EmisBizError(EmisBizErrorType.FAIL, "交易时间不能晚于当天(" + today.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ")"); } } + if (emisSettlePayRecord.getRefundDate() != null) { + LocalDate refundDate = emisSettlePayRecord.getRefundDate().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + if (refundDate.isAfter(today)) { + throw new EmisBizError(EmisBizErrorType.FAIL, + "退款时间不能晚于当天(" + today.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ")"); + } + } } /** From 31259ec806275aa93ab547897c2fdb05a96bc5dc Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 28 May 2025 10:52:56 +0800 Subject: [PATCH 6/9] =?UTF-8?q?demand:TMS=E7=B3=BB=E7=BB=9F-=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E5=BD=95=E5=85=A5=E9=99=90=E5=88=B6=EF=BC=9A=E5=AF=84?= =?UTF-8?q?=E4=BB=B6=E5=9B=BD=E5=AE=B6=E5=92=8C=E7=9B=AE=E7=9A=84=E5=9B=BD?= =?UTF-8?q?=E5=AE=B6=E9=9C=80=E8=A6=81=E5=92=8C=E6=89=80=E9=80=89=E7=BA=BF?= =?UTF-8?q?=E8=B7=AF=E4=B8=80=E8=87=B4=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/EmisWaybillServiceImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 05859f9b1..e1e85f073 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 @@ -1451,6 +1451,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 检查是否已锁单 checkDBBillIsLock(emisWaybillOld); + // 校验寄件国家是否匹配线路 + checkCountry(emisWaybillSave); + emisWaybillSave.setId(emisWaybillOld.getId()); // 把历史发货日期带过来用于重新计算预估到到时间 @@ -3023,6 +3026,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb throw new EmisBizError(EmisBizErrorType.FAIL, "单号与子单号相同,请换单号"); } + // 校验寄件国家是否匹配线路 + checkCountry(emisWaybillSave); + // 子单号做扣减 if ("1".equals(emisWaybillSave.getBlGenSubbill())) { Integer subBillCount = emisElectronicSitePagService.getTotalAvailablePagCount(emisWaybillSave.getSendSiteCode(), "T7080", "1002"); @@ -3208,6 +3214,19 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } } + private void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError { + EmisTransLine emisTransLine = new EmisTransLine(); + emisTransLine.setLineCode(emisWaybillSave.getTransLineType()); + List emisTransLines = emisTransLineMapper.selectEmisTransLineList(emisTransLine); + if(CollectionUtil.isEmpty(emisTransLines)){ + return; + } + if(emisWaybillSave.getSendCountry().equals(emisTransLines.get(0).getFromCountry())){ + return; + } + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "寄件国家与所选线路不匹配" ); + } + public int bindSalesmen(String empCode,String customerCode) throws EmisBizError { From 90357b26eea12877130339b7d092150ff4a953c0 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 28 May 2025 13:26:19 +0800 Subject: [PATCH 7/9] =?UTF-8?q?demand:=E6=A3=80=E6=9F=A5=E6=9C=88=E7=BB=93?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E9=A6=96=E6=AC=A1=E7=AD=BE=E7=BA=A6=E6=97=A5?= =?UTF-8?q?=E6=9C=9Fbug=E4=BF=AE=E6=94=B9=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xdadan/erp/emis/service/EmisBaseService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 11df6c884..f681dd9c8 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -4062,6 +4062,9 @@ public class EmisBaseService { * @throws EmisBizError */ protected void checkFirstSigningDay(EmisWaybill emisWaybillOld, EmisWaybill emisWaybillNew) throws EmisBizError { + if ("1".equals(emisWaybillNew.getPaymentType())) { + return; + } if (emisWaybillOld == null || emisWaybillOld.getOrderDate() == null || emisWaybillNew == null || StringUtil.isBlank(emisWaybillNew.getCustNo())) { return; } From 1e2f0fea1780636431f38ba52a2c29a6baedcc66 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 29 May 2025 14:22:33 +0800 Subject: [PATCH 8/9] =?UTF-8?q?demand:=20=20TMS=E7=B3=BB=E7=BB=9F=20-=20?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=B4=A6=E5=8D=95=E7=AE=A1=E7=90=86=20-=20?= =?UTF-8?q?=E6=94=B6=E6=AC=BE=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=20-=20?= =?UTF-8?q?=E7=BC=B4=E6=AC=BE=E5=AE=A2=E6=88=B7=E6=98=AF=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E9=A1=B9=EF=BC=8C=E4=BD=86=E6=98=AF=E6=AD=A4=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=9A=84=E7=BC=B4=E6=AC=BE=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E5=91=A2=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisSettlePayRecordServiceImpl.java | 57 +++++++++++++------ 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java index 734000195..2009df0ae 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java @@ -26,6 +26,7 @@ import com.xdadan.erp.emis.service.EmisBaseService; import com.xdadan.erp.emis.service.IEmisSettleBillService; import com.xdadan.erp.emis.service.IEmisSettleSubBillService; import com.xdadan.erp.emis.utils.WaybillHelper; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; @@ -135,23 +136,8 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I @Override public int insertEmisSettlePayRecord(EmisSettlePayRecord emisSettlePayRecord,String payId) throws EmisBizError { - if(StringUtils.isEmpty(emisSettlePayRecord.getSettleBillNo())){ - throw new EmisBizError(EmisBizErrorType.FAIL,"账单编号不能为空"); - } - -// || BigDecimal.ZERO.compareTo(emisSettlePayRecord.getPayMoney()) == 0 - if("1".equals(emisSettlePayRecord.getRecType())) { - if (emisSettlePayRecord.getPayMoney() == null ) { - throw new EmisBizError(EmisBizErrorType.FAIL, "收款金额不能为空"); - } - } - -// || BigDecimal.ZERO.compareTo(emisSettlePayRecord.getRefundMoney()) == 0 - else if("2".equals(emisSettlePayRecord.getRecType())) { - if (emisSettlePayRecord.getRefundMoney()== null ) { - throw new EmisBizError(EmisBizErrorType.FAIL, "退款金额不能为空"); - } - } + // 非空校验 + checkParam(emisSettlePayRecord); // 校验交易日期不能晚于当天 checkDate(emisSettlePayRecord); @@ -238,6 +224,43 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I return 1; } + private static void checkParam(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { + if(StringUtils.isEmpty(emisSettlePayRecord.getSettleBillNo())){ + throw new EmisBizError(EmisBizErrorType.FAIL,"账单编号不能为空"); + } + + if("1".equals(emisSettlePayRecord.getRecType())) { + if (emisSettlePayRecord.getPayMoney() == null) { + throw new EmisBizError(EmisBizErrorType.FAIL, "收款金额不能为空"); + } + if (StringUtil.isBlank(emisSettlePayRecord.getPayType())) { + throw new EmisBizError(EmisBizErrorType.FAIL, "支付方式不能为空"); + } + if (StringUtil.isBlank(emisSettlePayRecord.getPayMan())) { + throw new EmisBizError(EmisBizErrorType.FAIL, "收款人不能为空"); + } + if (emisSettlePayRecord.getTradeDate() == null) { + throw new EmisBizError(EmisBizErrorType.FAIL, "交易日期不能为空"); + } + } else if("2".equals(emisSettlePayRecord.getRecType())) { + if (emisSettlePayRecord.getRefundMoney() == null) { + throw new EmisBizError(EmisBizErrorType.FAIL, "退款金额不能为空"); + } + if (StringUtil.isBlank(emisSettlePayRecord.getPayMan())) { + throw new EmisBizError(EmisBizErrorType.FAIL, "退款人不能为空"); + } + if (StringUtil.isBlank(emisSettlePayRecord.getRefundMode())) { + throw new EmisBizError(EmisBizErrorType.FAIL, "退款方式不能为空"); + } + if (StringUtil.isBlank(emisSettlePayRecord.getRefundReason())) { + throw new EmisBizError(EmisBizErrorType.FAIL, "退款原因不能为空"); + } + if (emisSettlePayRecord.getRefundDate() == null) { + throw new EmisBizError(EmisBizErrorType.FAIL, "退款日期不能为空"); + } + } + } + private static void checkDate(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { LocalDate today = LocalDate.now(); if (emisSettlePayRecord.getTradeDate() != null) { From 94f31075dd5c55025273d705d94964eba0da8304 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 29 May 2025 17:07:29 +0800 Subject: [PATCH 9/9] =?UTF-8?q?demand:=20=E8=88=AA=E7=BA=BF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2/=E5=AF=BC=E5=87=BA=E6=8C=89=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E8=A6=81=E6=B1=82=E8=B0=83=E6=95=B4=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EmisSettleInvoiceChRecordMapper.xml | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml index c16b8d136..ba7a519da 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml @@ -171,12 +171,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and EXISTS( - select 1 from emis_settle_bill x2,emis_settle_invoice_bill_rel x3,emis_settle_sub_bill x4 - where x2.del_flag = '0' and x3.del_flag = '0' and x4.del_flag='0' - and a.apply_seq_no=x3.apply_seq_no - and x2.settle_bill_no=x3.settle_bill_no - and x4.settle_bill_no=x2.settle_bill_no - and FIND_IN_SET(x4.`bill_code`,#{params.billCode}) + select 1 from + emis_settle_invoice_rel rel + where a.apply_seq_no=rel.apply_seq_no and + rel.del_flag = '0' + and FIND_IN_SET(rel.`bill_no`,#{params.billCode}) )