1、确认开票上传附件文件名格式调整;2、发票管理已开票用开票时间排序;

This commit is contained in:
gaoqr
2025-10-22 10:01:07 +08:00
parent f02f6ee220
commit f58daf900b
2 changed files with 18 additions and 7 deletions
@@ -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<InvoiceRecordsDO> {
default PageResult<InvoiceRecordsDO> selectInvoiceRecordsPage(InvoiceDetailsPageReqVO pageReqVO) {
return selectPage(pageReqVO, new LambdaQueryWrapperX<InvoiceRecordsDO>()
Integer status = pageReqVO.getStatus();
LambdaQueryWrapperX<InvoiceRecordsDO> queryWrapperX = new LambdaQueryWrapperX<InvoiceRecordsDO>()
.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);
}
/**
@@ -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()));