From 596834ce4e233130d61888128fe66a0c008543dd Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期二, 13 十月 2026 09:15:51 +0800
Subject: [PATCH] 修改了报销校验

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
index 526a61d..c1f68fd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
@@ -6,7 +6,9 @@
 
 import com.ruoyi.common.annotation.NotRepeatCommit;
 import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.enums.OrganEnum;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
@@ -130,17 +132,20 @@
     @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ServiceDonationwitness serviceDonationwitness) {
-        boolean save = serviceDonationwitnessService.save(serviceDonationwitness);
-        log.info("鏂板鎹愮尞瑙佽瘉鏄惁鎴愬姛锛歿},id涓猴細{},infoId涓猴細{}", save, serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
-//        if (save) {
-//            //鐢熸垚鈥滄崘鐚�呯紪鍙封��
-//            ServiceDonatebaseinfo serviceDonatebaseinfo = serviceDonatebaseinfoService.getById(serviceDonationwitness.getInfoid());
-//            log.info("serviceDonatebaseinfo鐨勪俊鎭负{}", serviceDonatebaseinfo);
-//            String donorno = serviceDonatebaseinfoService.getDonateNumber(serviceDonatebaseinfo);
-//            log.info("鐢熸垚鐨勬崘鐚�呯紪鍙蜂负:{}", donorno);
-//            serviceDonatebaseinfo.setDonorno(donorno);
-//            serviceDonatebaseinfoService.updateById(serviceDonatebaseinfo);
-//        }
+        log.info("鏂板鎹愮尞瑙佽瘉infoId涓猴細{}", serviceDonationwitness.getInfoid());
+        ServiceDonationwitness sd = new ServiceDonationwitness();
+        sd.setInfoid(serviceDonationwitness.getInfoid());
+        sd.setDel_flag(0);
+        List<ServiceDonationwitness> serviceDonationwitnesses = serviceDonationwitnessService.selectServiceDonationwitnessList(sd);
+        if (CollectionUtils.isEmpty(serviceDonationwitnesses)) {
+            boolean save = serviceDonationwitnessService.save(serviceDonationwitness);
+            log.info("鏂板鎹愮尞瑙佽瘉鏄惁鎴愬姛锛歿},id涓猴細{},infoId涓猴細{}", save, serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
+        } else {
+            log.info("鏂板鎹愮尞瑙佽瘉id涓猴細{}", serviceDonationwitnesses.get(0).getId());
+            serviceDonationwitness.setId(serviceDonationwitnesses.get(0).getId());
+            serviceDonationwitnessService.updateById(serviceDonationwitness);
+        }
+
         return AjaxResult.success(serviceDonationwitness);
     }
 
@@ -207,18 +212,16 @@
         String name = "浜轰綋鍣ㄥ畼鎹愮尞鑾峰彇瑙佽瘉鐧昏琛╛" + dataMap.get("XM") + "_" + newTime;
         //杈撳嚭鏂囨。璺緞鍙婂悕绉�
         File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
-        Writer out = null;
-
-        try {
-            out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"));
-
-        } catch (FileNotFoundException e1) {
-            e1.printStackTrace();
+        if (t == null) {
+            throw new ServiceException("妯℃澘鍔犺浇澶辫触锛岃妫�鏌ユā鏉挎枃浠舵槸鍚﹀瓨鍦�", HttpStatus.NO_CONTENT);
         }
-        try {
+
+        // Writer 蹇呴』鍏抽棴/鍒锋柊锛欱ufferedWriter 甯︾紦鍐诧紝涓嶅叧闂細閫犳垚鏂囦欢鍙ユ焺娉勬紡涓斿唴瀹瑰彲鑳戒笉瀹屾暣
+        try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) {
             t.process(dataMap, out);
-        } catch (TemplateException e) {
-            e.printStackTrace();
+        } catch (TemplateException | IOException e) {
+            log.error("鐢熸垚妯℃澘鏂囨。澶辫触, name={}", name, e);
+            throw new ServiceException("鐢熸垚鏂囨。澶辫触", HttpStatus.ERROR);
         }
         Map<String, Object> map = new HashMap<>();
         map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");

--
Gitblit v1.9.3