From 83942be780d0560baa75c15e1124cc2bc997510b Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 20 十月 2026 15:07:40 +0800
Subject: [PATCH] 捐献器官移植新增,修改,删除新新数据同步捐献器官费用表明细

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 54 insertions(+), 2 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 9d4e17c..ef0c43c 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,9 +8,13 @@
 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.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;
@@ -33,6 +38,8 @@
 public class ServiceDonatecomporganController extends BaseController {
     @Autowired
     private IServiceDonatecomporganService serviceDonatecomporganService;
+    @Autowired
+    private IServiceDonorchargeorganService serviceDonorchargeorganService;
 
     /**
      * 鏌ヨ鎹愮尞鍣ㄥ畼绉绘鍒楄〃
@@ -79,6 +86,11 @@
     @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);
     }
 
@@ -91,7 +103,20 @@
     @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);
     }
 
     /**
@@ -102,7 +127,20 @@
     @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);
     }
 
     @ApiOperation("鏂板鎴栦慨鏀规崘鐚櫒瀹樼Щ妞�")
@@ -118,6 +156,8 @@
             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);
@@ -125,6 +165,18 @@
                 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);
     }

--
Gitblit v1.9.3