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/ServiceDonatecomporganController.java |   84 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 69 insertions(+), 15 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
index 706b61d..222be9f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.web.controller.project;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.controller.BaseController;
@@ -7,16 +8,18 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
 import com.ruoyi.project.domain.ServiceDonatecomporgan;
+import com.ruoyi.project.domain.ServiceDonorchargeorgan;
 import com.ruoyi.project.service.IServiceDonatecomporganService;
+import com.ruoyi.project.service.IServiceDonorchargeorganService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
@@ -35,12 +38,14 @@
 public class ServiceDonatecomporganController extends BaseController {
     @Autowired
     private IServiceDonatecomporganService serviceDonatecomporganService;
+    @Autowired
+    private IServiceDonorchargeorganService serviceDonorchargeorganService;
 
     /**
      * 鏌ヨ鎹愮尞鍣ㄥ畼绉绘鍒楄〃
      */
     @ApiOperation("鏌ヨ鎹愮尞鍣ㄥ畼绉绘鍒楄〃")
-    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:list')")
+    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:list')")
     @GetMapping("/list")
     public TableDataInfo list(ServiceDonatecomporgan serviceDonatecomporgan) {
         startPage();
@@ -52,7 +57,7 @@
      * 瀵煎嚭鎹愮尞鍣ㄥ畼绉绘鍒楄〃
      */
     @ApiOperation("瀵煎嚭鎹愮尞鍣ㄥ畼绉绘鍒楄〃")
-    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:export')")
+    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:export')")
     @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult export(ServiceDonatecomporgan serviceDonatecomporgan) {
@@ -65,7 +70,7 @@
      * 鑾峰彇鎹愮尞鍣ㄥ畼绉绘璇︾粏淇℃伅
      */
     @ApiOperation("鑾峰彇鎹愮尞鍣ㄥ畼绉绘璇︾粏淇℃伅")
-    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:query')")
+    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
         return AjaxResult.success(serviceDonatecomporganService.getById(id));
@@ -75,12 +80,17 @@
      * 鏂板鎹愮尞鍣ㄥ畼绉绘
      */
     @ApiOperation("鏂板鎹愮尞鍣ㄥ畼绉绘")
-    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:add')")
+    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:add')")
     @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.INSERT)
     @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ServiceDonatecomporgan serviceDonatecomporgan) {
         boolean save = serviceDonatecomporganService.save(serviceDonatecomporgan);
+        if(save){
+            ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonatecomporgan, ServiceDonorchargeorgan.class);
+            serviceDonorchargeorgan.setReceiveTime(serviceDonatecomporgan.getTransplanttime());
+            serviceDonorchargeorganService.save(serviceDonorchargeorgan);
+        }
         return AjaxResult.success(serviceDonatecomporgan);
     }
 
@@ -88,29 +98,52 @@
      * 淇敼鎹愮尞鍣ㄥ畼绉绘
      */
     @ApiOperation("淇敼鎹愮尞鍣ㄥ畼绉绘")
-    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:edit')")
+    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:edit')")
     @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceDonatecomporgan serviceDonatecomporgan) {
-        return toAjax(serviceDonatecomporganService.updateById(serviceDonatecomporgan));
+        boolean result=serviceDonatecomporganService.updateById(serviceDonatecomporgan);
+        if(result){
+            ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonatecomporgan, ServiceDonorchargeorgan.class);
+            serviceDonorchargeorgan.setReceiveTime(serviceDonatecomporgan.getTransplanttime());
+            QueryWrapper<ServiceDonorchargeorgan> queryWrapper=new QueryWrapper();
+            queryWrapper.eq("InfoID",serviceDonorchargeorgan.getInfoid())
+                    .eq("OrganNo",serviceDonorchargeorgan.getOrganno());
+            List<ServiceDonorchargeorgan> lists= serviceDonorchargeorganService.list(queryWrapper);
+            if(lists.size()>0) {
+                serviceDonorchargeorgan.setId(lists.get(0).getId());
+                serviceDonorchargeorganService.updateById(serviceDonorchargeorgan);
+            }
+        }
+        return toAjax(result);
     }
 
     /**
      * 鍒犻櫎鎹愮尞鍣ㄥ畼绉绘
      */
     @ApiOperation("鍒犻櫎鎹愮尞鍣ㄥ畼绉绘")
-    @PreAuthorize("@ss.hasPermi('project:donatecomporgan:remove')")
+    // // @PreAuthorize("@ss.hasPermi('project:donatecomporgan:remove')")
     @Log(title = "鎹愮尞鍣ㄥ畼绉绘", businessType = BusinessType.DELETE)
     @GetMapping("/remove/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
-        return toAjax(serviceDonatecomporganService.removeByIds(Arrays.asList(ids)));
+        List<ServiceDonatecomporgan> donatecomporgans = serviceDonatecomporganService.listByIds(Arrays.asList(ids));
+        boolean result=serviceDonatecomporganService.removeByIds(Arrays.asList(ids));
+        if(result){
+            for (ServiceDonatecomporgan donatecomporgan : donatecomporgans) {
+                if (donatecomporgan.getInfoid() == null || StringUtils.isBlank(donatecomporgan.getOrganno())) {
+                    continue;
+                }
+                QueryWrapper<ServiceDonorchargeorgan> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("InfoID", donatecomporgan.getInfoid())
+                        .eq("OrganNo", donatecomporgan.getOrganno());
+                serviceDonorchargeorganService.remove(queryWrapper);
+            }
+        }
+        return toAjax(result);
     }
 
-
-    @RepeatSubmit
     @ApiOperation("鏂板鎴栦慨鏀规崘鐚櫒瀹樼Щ妞�")
-    @Log(title = "鎹愮尞瀹屾垚", businessType = BusinessType.UPDATE)
     @PostMapping("/saveOrUpdateDonatecomporgan")
     public AjaxResult saveOrUpdateDonatecomporgan(@RequestBody List<ServiceDonatecomporgan> serviceDonatecomporganList) {
         if (CollectionUtils.isEmpty(serviceDonatecomporganList)) {
@@ -119,12 +152,33 @@
         Boolean i = null;
         for (ServiceDonatecomporgan serviceDonatecompletion : serviceDonatecomporganList) {
             log.info("鎹愮尞鍣ㄥ畼绉绘id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonatecompletion.getId(), serviceDonatecompletion.getInfoid());
-            if (serviceDonatecompletion.getId() == null) {
+            ServiceDonatecomporgan sd = new ServiceDonatecomporgan();
+            sd.setInfoid(serviceDonatecompletion.getInfoid());
+            sd.setOrganno(serviceDonatecompletion.getOrganno());
+            sd.setDel_flag(0);
+            ServiceDonorchargeorgan serviceDonorchargeorgan = DtoConversionUtils.sourceToTarget(serviceDonatecompletion, ServiceDonorchargeorgan.class);
+            serviceDonorchargeorgan.setReceiveTime(serviceDonatecompletion.getTransplanttime());
+            List<ServiceDonatecomporgan> serviceDonatecomporgans = serviceDonatecomporganService.queryList(sd);
+            if (serviceDonatecompletion.getId() == null && CollectionUtils.isEmpty(serviceDonatecomporgans)) {
                 i = serviceDonatecomporganService.save(serviceDonatecompletion);
             } else {
+                serviceDonatecompletion.setId(serviceDonatecomporgans.get(0).getId());
                 i = serviceDonatecomporganService.updateById(serviceDonatecompletion);
             }
+            if (i) {
+                QueryWrapper<ServiceDonorchargeorgan> queryWrapper = new QueryWrapper();
+                queryWrapper.eq("InfoID", serviceDonorchargeorgan.getInfoid())
+                        .eq("OrganNo", serviceDonorchargeorgan.getOrganno());
+                List<ServiceDonorchargeorgan> lists = serviceDonorchargeorganService.list(queryWrapper);
+                if (lists.size() > 0) {
+                    serviceDonorchargeorgan.setId(lists.get(0).getId());
+                    serviceDonorchargeorganService.updateById(serviceDonorchargeorgan);
+                }else{
+                    serviceDonorchargeorganService.save(serviceDonorchargeorgan);
+                }
+            }
         }
-        return toAjax(i);
+        // 鍥炰紶甯︿富閿殑鍒楄〃锛屼究浜庡墠绔洖濉� id
+        return AjaxResult.success(serviceDonatecomporganList);
     }
 }

--
Gitblit v1.9.3