From 6806e06dad145cbfe1dcec4f551891c6005d7d59 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 19 五月 2026 10:31:43 +0800
Subject: [PATCH] 新增InfoID获取伦理审查发起详细信息挡口,获取捐献工作流新增7个状态字段数据

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java |   87 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 80 insertions(+), 7 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 0b804b0..92d3be2 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
@@ -1,19 +1,23 @@
 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.annotation.UniqueCheck;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
 import com.ruoyi.project.domain.dto.ReviewInitiateBaseInfoDTO;
-import com.ruoyi.project.domain.dto.WitnessBaseInfoDTO;
 import com.ruoyi.project.domain.vo.ReviewInitiateBaseInfoVO;
 import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
 import com.ruoyi.project.service.IServiceEthicalreviewinitiateService;
+import com.ruoyi.project.service.IServiceEthicalreviewopinionsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
@@ -28,13 +32,15 @@
  * @author ls
  * @date 2025-12-20
  */
-@Api(description = "浼︾悊瀹℃煡鍙戣捣")
+@Api(description = "浼︾悊瀹℃煡鍙戣捣",tags = {"浼︾悊瀹℃煡鍙戣捣"})
 @RestController
 @RequestMapping("/project/ethicalreviewinitiate")
 public class ServiceEthicalreviewinitiateController extends BaseController {
     @Autowired
     private IServiceEthicalreviewinitiateService serviceEthicalreviewinitiateService;
 
+    @Autowired
+    private IServiceEthicalreviewopinionsService serviceEthicalreviewopinionsService;
 //    /**
 //     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
 //     */
@@ -85,19 +91,54 @@
     @ApiOperation("鑾峰彇浼︾悊瀹℃煡鍙戣捣璇︾粏淇℃伅")
     @GetMapping(value = "/getInfo/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return AjaxResult.success(serviceEthicalreviewinitiateService.getById(id));
+        ServiceEthicalreviewinitiate serviceEthicalreviewinitiate= serviceEthicalreviewinitiateService.getById(id);
+        QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
+        ethicalreviewopinionsWrapper.eq("nitiate_Id",id);
+        List<ServiceEthicalreviewopinions>  ethicalreviewopinionsList= serviceEthicalreviewopinionsService.list(ethicalreviewopinionsWrapper);
+        serviceEthicalreviewinitiate.setEthicalreviewopinionsList(ethicalreviewopinionsList);
+        return AjaxResult.success(serviceEthicalreviewinitiate);
+    }
+
+    /**
+     * 鑾峰彇浼︾悊瀹℃煡鍙戣捣璇︾粏淇℃伅
+     */
+    @ApiOperation("InfoID鑾峰彇浼︾悊瀹℃煡鍙戣捣璇︾粏淇℃伅")
+    @GetMapping(value = "/getInfoID")
+    public AjaxResult getInfoId(Long InfoId) {
+        QueryWrapper<ServiceEthicalreviewinitiate> ethicalreviewinitiateQueryWrapper=new QueryWrapper<>();
+        ethicalreviewinitiateQueryWrapper.eq("InfoId",InfoId);
+        ServiceEthicalreviewinitiate serviceEthicalreviewinitiate= serviceEthicalreviewinitiateService.getOne(ethicalreviewinitiateQueryWrapper);
+        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);
     }
 
     /**
      * 鏂板浼︾悊瀹℃煡鍙戣捣
      */
     @ApiOperation("鏂板浼︾悊瀹℃煡鍙戣捣")
-    // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:add')")
-    @Log(title = "浼︾悊瀹℃煡鍙戣捣", businessType = BusinessType.INSERT)
+    @UniqueCheck(
+            fields = {"infoid"},
+            entityClass = ServiceEthicalreviewinitiate.class,
+            serviceClass = IServiceEthicalreviewinitiateService.class,
+            message = "鏂板浼︾悊瀹℃煡鐨刬nfoid宸插瓨鍦�,鏃犳硶淇濆瓨!"
+    )
     @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
-        return toAjax(serviceEthicalreviewinitiateService.save(serviceEthicalreviewinitiate));
+       boolean result=serviceEthicalreviewinitiateService.save(serviceEthicalreviewinitiate);
+        if (result) {
+            for(ServiceEthicalreviewopinions row: serviceEthicalreviewinitiate.getEthicalreviewopinionsList()){
+                row.setNitiateId(serviceEthicalreviewinitiate.getId());
+                serviceEthicalreviewopinionsService.save(row);
+            }
+            return AjaxResult.success(serviceEthicalreviewinitiate.getId());
+        } else
+            return AjaxResult.error();
     }
 
     /**
@@ -109,7 +150,17 @@
     @PostMapping("/edit")
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
-        return toAjax(serviceEthicalreviewinitiateService.updateById(serviceEthicalreviewinitiate));
+        boolean result=serviceEthicalreviewinitiateService.updateById(serviceEthicalreviewinitiate);
+        if (result) {
+            QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
+            ethicalreviewopinionsWrapper.eq("nitiate_id",serviceEthicalreviewinitiate.getId());
+            serviceEthicalreviewopinionsService.remove(ethicalreviewopinionsWrapper);
+            for(ServiceEthicalreviewopinions row: serviceEthicalreviewinitiate.getEthicalreviewopinionsList()){
+                    serviceEthicalreviewopinionsService.save(row);
+            }
+            return AjaxResult.success();
+        } else
+            return AjaxResult.error();
     }
 
     /**
@@ -122,4 +173,26 @@
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(serviceEthicalreviewinitiateService.removeByIds(Arrays.asList(ids)));
     }
+
+    /**
+     * 淇敼浼︾悊瀹℃煡鍙戣捣
+     */
+    @ApiOperation("浼︾悊瀹℃煡缁堟")
+    @GetMapping("/stop")
+    public AjaxResult stop(long id) {
+        QueryWrapper<ServiceEthicalreviewinitiate> ethicalreviewinitiateQueryWrapper=new QueryWrapper<>();
+        ethicalreviewinitiateQueryWrapper.eq("id",id);
+        ServiceEthicalreviewinitiate serviceEthicalreviewinitiate =new ServiceEthicalreviewinitiate();
+        serviceEthicalreviewinitiate.setStatus("2");
+        boolean result=serviceEthicalreviewinitiateService.update(serviceEthicalreviewinitiate,ethicalreviewinitiateQueryWrapper);
+        if (result) {
+            QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
+            ethicalreviewopinionsWrapper.eq("nitiate_id",id);
+            ServiceEthicalreviewopinions serviceEthicalreviewopinions =new ServiceEthicalreviewopinions();
+            serviceEthicalreviewopinions.setReceiveStatus("5");
+            serviceEthicalreviewopinionsService.update(serviceEthicalreviewopinions,ethicalreviewopinionsWrapper);
+            return AjaxResult.success();
+        } else
+            return AjaxResult.error();
+    }
 }

--
Gitblit v1.9.3