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 |   65 +++++++++++++++++++-------------
 1 files changed, 38 insertions(+), 27 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 212a970..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,12 +6,15 @@
 
 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;
 import com.ruoyi.project.domain.ServiceDonatebaseinfo;
 import com.ruoyi.project.domain.ServiceDonateorgan;
+import com.ruoyi.project.domain.ServiceDonationwitnessorgan;
 import com.ruoyi.project.domain.vo.DonationWitnessVO;
 import com.ruoyi.project.domain.vo.TimeVO;
 import com.ruoyi.project.service.IBaseOnlyvalueService;
@@ -80,7 +83,7 @@
      * 鏌ヨ鎹愮尞瑙佽瘉鍒楄〃
      */
     @ApiOperation("鑾峰彇鎹愮尞瑙佽瘉鍒楄〃")
-    //@PreAuthorize("@ss.hasPermi('project:donationwitness:list')")
+    //// @PreAuthorize("@ss.hasPermi('project:donationwitness:list')")
     @GetMapping("/list")
     public TableDataInfo list(ServiceDonationwitness serviceDonationwitness) {
         startPage();
@@ -101,7 +104,7 @@
      * 瀵煎嚭鎹愮尞瑙佽瘉鍒楄〃
      */
     @ApiOperation("瀵煎嚭鎹愮尞瑙佽瘉鍒楄〃")
-    //@PreAuthorize("@ss.hasPermi('project:donationwitness:export')")
+    //// @PreAuthorize("@ss.hasPermi('project:donationwitness:export')")
     @Log(title = "鎹愮尞瑙佽瘉", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult export(ServiceDonationwitness serviceDonationwitness) {
@@ -114,7 +117,7 @@
      * 鑾峰彇鎹愮尞瑙佽瘉璇︾粏淇℃伅
      */
     @ApiOperation("閫氳繃id鑾峰彇瑙佽瘉淇℃伅")
-    //@PreAuthorize("@ss.hasPermi('project:donationwitness:query')")
+    //// @PreAuthorize("@ss.hasPermi('project:donationwitness:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
         return AjaxResult.success(serviceDonationwitnessService.getById(id));
@@ -124,22 +127,25 @@
      * 鏂板鎹愮尞瑙佽瘉
      */
     @ApiOperation("鏂板鎹愮尞瑙佽瘉")
-    //@PreAuthorize("@ss.hasPermi('project:donationwitness:add')")
+    //// @PreAuthorize("@ss.hasPermi('project:donationwitness:add')")
     @Log(title = "鎹愮尞瑙佽瘉", businessType = BusinessType.INSERT)
     @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);
     }
 
@@ -147,7 +153,7 @@
      * 淇敼鎹愮尞瑙佽瘉
      */
     @ApiOperation("淇敼鎹愮尞瑙佽瘉")
-    //@PreAuthorize("@ss.hasPermi('project:donationwitness:edit')")
+    //// @PreAuthorize("@ss.hasPermi('project:donationwitness:edit')")
     @Log(title = "鎹愮尞瑙佽瘉", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
     @RepeatSubmit
@@ -170,7 +176,7 @@
      * 鍒犻櫎鎹愮尞瑙佽瘉
      */
     @ApiOperation("鍒犻櫎鎹愮尞瑙佽瘉")
-    //@PreAuthorize("@ss.hasPermi('project:donationwitness:remove')")
+    //// @PreAuthorize("@ss.hasPermi('project:donationwitness:remove')")
     @Log(title = "鎹愮尞瑙佽瘉", businessType = BusinessType.DELETE)
     @GetMapping("/remove/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
@@ -206,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");
@@ -548,6 +552,13 @@
         Boolean i = null;
         for (ServiceDonationwitness serviceDonationwitness : serviceDonationwitnessList) {
             log.info("鎹愮尞瑙佽瘉绠$悊id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
+            ServiceDonationwitness sd2 = new ServiceDonationwitness();
+            sd2.setInfoid(serviceDonationwitness.getInfoid());
+            sd2.setDel_flag(0);
+            List<ServiceDonationwitness> serviceDonationwitnesses = serviceDonationwitnessService.queryList(sd2);
+            if (!CollectionUtils.isEmpty(serviceDonationwitnesses)) {
+                serviceDonationwitness.setId(serviceDonationwitnesses.get(0).getId());
+            }
             if (serviceDonationwitness.getId() == null) {
                 i = serviceDonationwitnessService.save(serviceDonationwitness);
             } else {

--
Gitblit v1.9.3