From 8c215c8be0f5076e8c95daf1b2203440ca7dfcad Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 23 十月 2026 13:42:50 +0800
Subject: [PATCH] 修改了报销校验

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
index 4dc7e41..167f43d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
@@ -87,6 +87,13 @@
     @PostMapping("/add")
     @NotRepeatCommit(key = "param:arg[1]", value = 30000)
     public AjaxResult add(@RequestBody ServiceFunddetail serviceFunddetail) {
+        // 2026-10-15锛氶檮浠舵枃浠跺悕瑙勮寖浜屾鏍¢獙锛堜笌鍓嶇 opo-web/src/utils/fileNameCheck.js 鍚屽彛寰勶紝
+        // 鐩殑鏄槻姝㈢粫杩囧墠绔洿鎺ヨ皟鎺ュ彛淇濆瓨涓嶅悎瑙勯檮浠跺悕锛夈�傛柊澧炲満鏅病鏈夊巻鍙查檮浠讹紝鐢ㄤ弗鏍兼ā寮忋��
+        String nameError = com.ruoyi.project.common.AttachmentNameValidator
+                .checkJsonList(serviceFunddetail.getInvoicefiles(), serviceFunddetail.getAnnexfiles());
+        if (nameError != null) {
+            return AjaxResult.error("闄勪欢鏂囦欢鍚嶄笉绗﹀悎瑕佹眰锛屾棤娉曚繚瀛橈細" + nameError);
+        }
         boolean save = serviceFunddetailService.save(serviceFunddetail);
         return AjaxResult.success(serviceFunddetail);
     }
@@ -101,6 +108,24 @@
     @NotRepeatCommit(key = "param:arg[1]", value = 30000)
     public AjaxResult edit(@RequestBody ServiceFunddetail serviceFunddetail) {
         log.info("淇敼鐨勬暟鎹俊鎭細{}", serviceFunddetail);
+        // 2026-10-15锛氶檮浠舵枃浠跺悕瑙勮寖浜屾鏍¢獙銆備慨鏀瑰満鏅寜涓氬姟鍙e緞"鍙牎楠屾湰娆″彉鏇寸殑闄勪欢"锛�
+        // 淇濆瓨鍓嶈鏄庣粏宸插瓨鍦ㄧ殑鍘嗗彶闄勪欢鍚嶄笉鍙備笌鏍¢獙锛屽惁鍒欒�佸崟鎹紙鍘嗗彶涓嶅悎瑙勫悕鍗犳瘮寰堥珮锛夋敼涓噾棰濋兘瀛樹笉杩涘幓銆�
+        java.util.Set<String> existingNames = new java.util.HashSet<>();
+        if (serviceFunddetail.getId() != null) {
+            ServiceFunddetail oldDetail = serviceFunddetailService.getById(serviceFunddetail.getId());
+            if (oldDetail != null) {
+                existingNames.addAll(com.ruoyi.project.common.AttachmentNameValidator
+                        .collectNames(oldDetail.getInvoicefiles()));
+                existingNames.addAll(com.ruoyi.project.common.AttachmentNameValidator
+                        .collectNames(oldDetail.getAnnexfiles()));
+            }
+        }
+        String nameError = com.ruoyi.project.common.AttachmentNameValidator
+                .checkJsonListForUpdate(existingNames, serviceFunddetail.getInvoicefiles(),
+                        serviceFunddetail.getAnnexfiles());
+        if (nameError != null) {
+            return AjaxResult.error("闄勪欢鏂囦欢鍚嶄笉绗﹀悎瑕佹眰锛屾棤娉曚繚瀛橈細" + nameError);
+        }
         return toAjax(serviceFunddetailService.updateById(serviceFunddetail));
     }
 

--
Gitblit v1.9.3