From 1a6cc4ba3b5b4fe5e346b46649affc4aefe171ff Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期一, 08 六月 2026 16:02:27 +0800
Subject: [PATCH] 修改伦理审查发起批量修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
index 25237de..ba22934 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
@@ -108,10 +108,12 @@
         QueryWrapper<ServiceEthicalreviewinitiate> ethicalreviewinitiateQueryWrapper=new QueryWrapper<>();
         ethicalreviewinitiateQueryWrapper.eq("InfoId",InfoId);
         ServiceEthicalreviewinitiate serviceEthicalreviewinitiate= serviceEthicalreviewinitiateService.getOne(ethicalreviewinitiateQueryWrapper);
-        QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
-        ethicalreviewopinionsWrapper.eq("nitiate_Id",serviceEthicalreviewinitiate.getId());
-        List<ServiceEthicalreviewopinions>  ethicalreviewopinionsList= serviceEthicalreviewopinionsService.list(ethicalreviewopinionsWrapper);
-        serviceEthicalreviewinitiate.setEthicalreviewopinionsList(ethicalreviewopinionsList);
+        if(serviceEthicalreviewinitiate!=null&&serviceEthicalreviewinitiate.getId()!=null) {
+            QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper = new QueryWrapper<>();
+            ethicalreviewopinionsWrapper.eq("nitiate_Id", serviceEthicalreviewinitiate.getId());
+            List<ServiceEthicalreviewopinions> ethicalreviewopinionsList = serviceEthicalreviewopinionsService.list(ethicalreviewopinionsWrapper);
+            serviceEthicalreviewinitiate.setEthicalreviewopinionsList(ethicalreviewopinionsList);
+        }
         return AjaxResult.success(serviceEthicalreviewinitiate);
     }
 
@@ -150,11 +152,28 @@
     public AjaxResult edit(@RequestBody ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
         boolean result=serviceEthicalreviewinitiateService.updateById(serviceEthicalreviewinitiate);
         if (result) {
+            String ids="";
+            for(ServiceEthicalreviewopinions row: serviceEthicalreviewinitiate.getEthicalreviewopinionsList()){
+                if(ObjectUtils.isNotEmpty(row.getId())) {
+                    if (ids.length() < 1)
+                        ids += row.getId();
+                    else
+                        ids += "," + row.getId();
+                }
+            }
+
             QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
             ethicalreviewopinionsWrapper.eq("nitiate_id",serviceEthicalreviewinitiate.getId());
+            if (ids.length() > 0) {
+                ethicalreviewopinionsWrapper.notIn("id", ids.split(","));
+            }
             serviceEthicalreviewopinionsService.remove(ethicalreviewopinionsWrapper);
             for(ServiceEthicalreviewopinions row: serviceEthicalreviewinitiate.getEthicalreviewopinionsList()){
+                if(ObjectUtils.isNotEmpty(row.getId())){
+                    serviceEthicalreviewopinionsService.updateById(row);
+                }else {
                     serviceEthicalreviewopinionsService.save(row);
+                }
             }
             return AjaxResult.success();
         } else

--
Gitblit v1.9.3