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] =?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