From 481d8165f26fc7e37f0e87f6444ac0340bb563a3 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 18:53:22 +0800
Subject: [PATCH] fix: 移植长辉已验证的四类接口 500/体验问题(不含物料颜色字段)

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java
index 0f9cdee..cafc397 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java
@@ -49,6 +49,8 @@
     default int submitAndResetAuditInfo(Long id, Integer status) {
         return update(null, new LambdaUpdateWrapper<CrmInvoiceDO>()
                 .eq(CrmInvoiceDO::getId, id)
+                .in(CrmInvoiceDO::getAuditStatus, CrmAuditStatusEnum.DRAFT.getStatus(),
+                        CrmAuditStatusEnum.REJECT.getStatus())
                 .set(CrmInvoiceDO::getAuditStatus, status)
                 .set(CrmInvoiceDO::getReviewerId, null)
                 .set(CrmInvoiceDO::getReviewerName, null)
@@ -72,6 +74,7 @@
                              String reviewerName, String reviewRemark) {
         return update(null, new LambdaUpdateWrapper<CrmInvoiceDO>()
                 .eq(CrmInvoiceDO::getId, id)
+                .eq(CrmInvoiceDO::getAuditStatus, CrmAuditStatusEnum.PROCESS.getStatus())
                 .set(CrmInvoiceDO::getAuditStatus, status)
                 .set(CrmInvoiceDO::getReviewerId, reviewerId)
                 .set(CrmInvoiceDO::getReviewerName, reviewerName)
@@ -79,6 +82,25 @@
                 .set(CrmInvoiceDO::getReviewRemark, reviewRemark));
     }
 
+    /**
+     * BPM 瀹℃壒缁撴潫鍚庡洖鍐欏紑绁ㄧ姸鎬�
+     *
+     * 浠呭綋寮�绁ㄤ粛澶勪簬銆屽鎵逛腑銆嶆椂鏇存柊锛岄伩鍏嶄笌鏃у鎵硅矾寰勯噸澶嶈鐩栥��
+     *
+     * @param id           寮�绁ㄧ紪鍙�
+     * @param status       鐩爣鐘舵�侊紙瀹℃牳閫氳繃 / 瀹℃牳涓嶉�氳繃 / 宸插彇娑堬級
+     * @param reviewRemark 瀹℃牳鎰忚
+     * @return 褰卞搷琛屾暟
+     */
+    default int updateAuditStatusByBpm(Long id, Integer status, String reviewRemark) {
+        return update(null, new LambdaUpdateWrapper<CrmInvoiceDO>()
+                .eq(CrmInvoiceDO::getId, id)
+                .eq(CrmInvoiceDO::getAuditStatus, CrmAuditStatusEnum.PROCESS.getStatus())
+                .set(CrmInvoiceDO::getAuditStatus, status)
+                .set(CrmInvoiceDO::getReviewTime, LocalDateTime.now())
+                .set(CrmInvoiceDO::getReviewRemark, reviewRemark));
+    }
+
     default PageResult<CrmInvoiceDO> selectPageByCustomerId(CrmInvoicePageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<CrmInvoiceDO>()
                 .eq(CrmInvoiceDO::getCustomerId, reqVO.getCustomerId()) // 蹇呴』浼犻��

--
Gitblit v1.9.3