From f58daf900b67edf391a154dec36ee8ec6bd1dedd Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Wed, 22 Oct 2025 10:01:07 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=A1=AE=E8=AE=A4=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=99=84=E4=BB=B6=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E8=B0=83=E6=95=B4=EF=BC=9B2=E3=80=81?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E7=AE=A1=E7=90=86=E5=B7=B2=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E7=94=A8=E5=BC=80=E7=A5=A8=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../funds/invoice/InvoiceRecordsMapper.java | 17 +++++++++++++---- .../funds/invoice/InvoiceServiceImpl.java | 8 +++++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java index f7089501c..368609f6b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java @@ -8,6 +8,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceAmountRespVO; import com.cf.imes.module.system.controller.admin.funds.invoice.vo.InvoiceDetailsPageReqVO; import com.cf.imes.module.system.dal.dataobject.funds.invoice.InvoiceRecordsDO; +import com.cf.imes.module.system.enums.pay.InvoiceStatusEnum; import org.apache.ibatis.annotations.Mapper; @Mapper @@ -15,18 +16,26 @@ public interface InvoiceRecordsMapper extends BaseMapperX { default PageResult selectInvoiceRecordsPage(InvoiceDetailsPageReqVO pageReqVO) { - return selectPage(pageReqVO, new LambdaQueryWrapperX() + Integer status = pageReqVO.getStatus(); + LambdaQueryWrapperX queryWrapperX = new LambdaQueryWrapperX() .eq(InvoiceRecordsDO::getDeleted, false) .eqIfPresent(InvoiceRecordsDO::getOrganId, pageReqVO.getOrganId()) .likeIfPresent(InvoiceRecordsDO::getInvoiceNo, pageReqVO.getInvoiceNo()) - .eqIfPresent(InvoiceRecordsDO::getStatus, pageReqVO.getStatus()) + .eqIfPresent(InvoiceRecordsDO::getStatus, status) .likeIfPresent(InvoiceRecordsDO::getCreator, pageReqVO.getCreator()) .likeIfPresent(InvoiceRecordsDO::getInvoicePerson, pageReqVO.getInvoicePerson()) .geIfPresent(InvoiceRecordsDO::getInvoiceAmount, pageReqVO.getInvoiceAmountStart()) .leIfPresent(InvoiceRecordsDO::getInvoiceAmount, pageReqVO.getInvoiceAmountEnd()) .betweenIfPresent(InvoiceRecordsDO::getCreateTime, pageReqVO.getCreateTime()) - .betweenIfPresent(InvoiceRecordsDO::getInvoiceTime, pageReqVO.getInvoiceTime()) - .orderByDesc(InvoiceRecordsDO::getId)); + .betweenIfPresent(InvoiceRecordsDO::getInvoiceTime, pageReqVO.getInvoiceTime()); + if (InvoiceStatusEnum.INVOICINGSUCCESSFUL.getCode().equals(status)) { + // 已开票按开票时间 + queryWrapperX.orderByDesc(InvoiceRecordsDO::getInvoiceTime); + } else { + // 待开票按申请时间 + queryWrapperX.orderByDesc(InvoiceRecordsDO::getCreateTime); + } + return selectPage(pageReqVO, queryWrapperX); } /** diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java index cbcca4d06..8c606f0ea 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java @@ -56,7 +56,7 @@ import java.util.List; import java.util.Locale; import java.util.Optional; -import static cn.hutool.core.date.DatePattern.NORM_DATE_FORMATTER; +import static cn.hutool.core.date.DatePattern.PURE_DATETIME_PATTERN; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.framework.common.util.json.JsonUtils.parseObject; import static com.cf.imes.framework.common.util.json.JsonUtils.toJsonString; @@ -345,6 +345,7 @@ public class InvoiceServiceImpl implements InvoiceService { // 获取对应组织的抬头信息 InvoiceTitleInfoDO invoiceTitleInfoDO = validTitleOrg(invoiceRecordsDO.getInvoiceTitleId(), invoiceRecordsDO.getOrganId()); + LocalDateTime now = LocalDateTime.now(); if (reqVO.isAgree()) { // 同意开票 // 更新发票申请记录状态 @@ -357,8 +358,8 @@ public class InvoiceServiceImpl implements InvoiceService { if (ObjectUtil.isNull(file) || file.isEmpty()) { throw new ServiceException(ORG_INVOICE_AGREE_FILE_NULL_ERROR); } - LocalDateTime now = LocalDateTime.now(); - String invoiceFileName = invoiceTitleInfoDO.getInvoiceTitle() + "-" + LocalDateTimeUtil.format(now, NORM_DATE_FORMATTER) + invoiceRecordsDO.getInvoiceAmount() + getFileExtension(file.getOriginalFilename()); + + String invoiceFileName = invoiceTitleInfoDO.getInvoiceTitle() + "-" + LocalDateTimeUtil.format(now, PURE_DATETIME_PATTERN) + "-" + invoiceRecordsDO.getInvoiceAmount().stripTrailingZeros().toPlainString() + getFileExtension(file.getOriginalFilename()); String filePath = fileApi.createFile(IoUtil.readBytes(file.getInputStream()), invoiceFileName); invoiceRecordsDO.setInvoiceAttachmentPath(filePath); invoiceRecordsDO.setInvoiceAttachmentName(invoiceFileName); @@ -370,6 +371,7 @@ public class InvoiceServiceImpl implements InvoiceService { invoiceRecordsDO.setStatus(InvoiceStatusEnum.INVOICINGFAILED.getCode()); String remark = Optional.ofNullable(reqVO.getRemark()).orElseThrow(() -> new ServiceException(INVOICING_REJECT_REASON)); invoiceRecordsDO.setRemark(remark); + invoiceRecordsDO.setInvoiceTime(now); // 更新购买记录状态 purchaseRecordDOS.forEach(f -> f.setIsInvocing(InvoiceStatusEnum.INVOICABLE.getCode()));