From 71208807c939f9fabb829725bc8365fd4089250e Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期四, 14 五月 2026 14:27:50 +0800
Subject: [PATCH] 伦理审查专家新增获取伦理审查专家接收、获取伦理审查专家数量、专家统计详情、专家类型、伦理审查id、专家编号

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java |  101 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 83 insertions(+), 18 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
index cf6bbe4..34c95fd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
@@ -1,5 +1,8 @@
 package com.ruoyi.web.controller.project;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.NotRepeatCommit;
 import com.ruoyi.common.annotation.RepeatSubmit;
@@ -7,15 +10,25 @@
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.project.domain.ServiceDonateorganBase;
+import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
 import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
 import com.ruoyi.project.domain.vo.EthicalReviewVO;
+import com.ruoyi.project.domain.vo.EthicalreviewopinionsTotalVO;
+import com.ruoyi.project.service.IServiceEthicalreviewinitiateService;
 import com.ruoyi.project.service.IServiceEthicalreviewopinionsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 浼︾悊瀹℃煡涓撳鎰忚Controller
@@ -25,21 +38,27 @@
  */
 @RestController
 @RequestMapping("/project/ethicalreviewopinions")
+@Api(description = "浼︾悊瀹℃煡涓撳鎰忚",tags={"浼︾悊瀹℃煡涓撳鎰忚"})
 public class ServiceEthicalreviewopinionsController extends BaseController {
     @Autowired
     private IServiceEthicalreviewopinionsService serviceEthicalreviewopinionsService;
 
+    @Autowired
+    private IServiceEthicalreviewinitiateService serviceEthicalreviewinitiateService;
+
+    @ApiOperation("鏌ヨ浼︾悊瀹℃煡涓撳鎰忚鍒楄〃")
     /**
      * 鏌ヨ浼︾悊瀹℃煡涓撳鎰忚鍒楄〃
      */
     //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:list')")
     @GetMapping("/list")
-    public TableDataInfo list(ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
-        startPage();
-        List<ServiceEthicalreviewopinions> list = serviceEthicalreviewopinionsService.queryList(serviceEthicalreviewopinions);
-        return getDataTable(list);
+    public Map<String, Object> list(ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
+        serviceEthicalreviewopinionsService.updateTimeOut();
+        Page<ServiceEthicalreviewopinions> list = serviceEthicalreviewopinionsService.queryListByPage(serviceEthicalreviewopinions);
+        return getDataTable(list.getRecords(), (int) list.getTotal());
     }
 
+    @ApiOperation("鏌ヨ鎹愮尞淇℃伅浼︾悊瀹℃煡涓撳鎰忚鍒楄〃")
     @GetMapping("/listnew")
     public TableDataInfo listnew(EthicalReviewVO ethicalReviewVO) {
         startPage();
@@ -48,18 +67,19 @@
     }
 
 
-    /**
-     * 瀵煎嚭浼︾悊瀹℃煡涓撳鎰忚鍒楄〃
-     */
-    //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:export')")
-    @Log(title = "浼︾悊瀹℃煡涓撳鎰忚", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
-        List<ServiceEthicalreviewopinions> list = serviceEthicalreviewopinionsService.queryList(serviceEthicalreviewopinions);
-        ExcelUtil<ServiceEthicalreviewopinions> util = new ExcelUtil<ServiceEthicalreviewopinions>(ServiceEthicalreviewopinions.class);
-        return util.exportExcel(list, "浼︾悊瀹℃煡涓撳鎰忚鏁版嵁");
-    }
+//    /**
+//     * 瀵煎嚭浼︾悊瀹℃煡涓撳鎰忚鍒楄〃
+//     */
+//    //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:export')")
+//    @Log(title = "浼︾悊瀹℃煡涓撳鎰忚", businessType = BusinessType.EXPORT)
+//    @GetMapping("/export")
+//    public AjaxResult export(ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
+//        List<ServiceEthicalreviewopinions> list = serviceEthicalreviewopinionsService.queryList(serviceEthicalreviewopinions);
+//        ExcelUtil<ServiceEthicalreviewopinions> util = new ExcelUtil<ServiceEthicalreviewopinions>(ServiceEthicalreviewopinions.class);
+//        return util.exportExcel(list, "浼︾悊瀹℃煡涓撳鎰忚鏁版嵁");
+//    }
 
+    @ApiOperation("鑾峰彇浼︾悊瀹℃煡涓撳鎰忚璇︾粏淇℃伅")
     /**
      * 鑾峰彇浼︾悊瀹℃煡涓撳鎰忚璇︾粏淇℃伅
      */
@@ -69,18 +89,19 @@
         return AjaxResult.success(serviceEthicalreviewopinionsService.getById(id));
     }
 
+    @ApiOperation("鏂板浼︾悊瀹℃煡涓撳鎰忚")
     /**
      * 鏂板浼︾悊瀹℃煡涓撳鎰忚
      */
     //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:add')")
-    @Log(title = "浼︾悊瀹℃煡涓撳鎰忚", businessType = BusinessType.INSERT)
+    @Log(title = "鏂板浼︾悊瀹℃煡涓撳鎰忚", businessType = BusinessType.INSERT)
     @PostMapping("/add")
-//    @NotRepeatCommit(key = "param:arg[1]", value = 30000)
     public AjaxResult add(@RequestBody ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
         boolean save = serviceEthicalreviewopinionsService.save(serviceEthicalreviewopinions);
         return AjaxResult.success(serviceEthicalreviewopinions);
     }
 
+    @ApiOperation("浼︾悊瀹℃煡涓撳鎰忚")
     /**
      * 淇敼浼︾悊瀹℃煡涓撳鎰忚
      */
@@ -89,9 +110,18 @@
     @PostMapping("/edit")
 //    @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
-        return toAjax(serviceEthicalreviewopinionsService.updateById(serviceEthicalreviewopinions));
+        boolean res=serviceEthicalreviewopinionsService.updateById(serviceEthicalreviewopinions);
+        if(res&&serviceEthicalreviewopinions.getExpertType().equals("1")){
+            QueryWrapper<ServiceEthicalreviewinitiate> ethicalreviewinitiateQueryWrapper=new QueryWrapper<>();
+            ethicalreviewinitiateQueryWrapper.eq("id",serviceEthicalreviewopinions.getNitiateId());
+            ServiceEthicalreviewinitiate serviceEthicalreviewinitiate =new ServiceEthicalreviewinitiate();
+            serviceEthicalreviewinitiate.setStatus("2");
+            res=serviceEthicalreviewinitiateService.update(serviceEthicalreviewinitiate,ethicalreviewinitiateQueryWrapper);
+        }
+        return toAjax(res);
     }
 
+    @ApiOperation("鍒犻櫎浼︾悊瀹℃煡涓撳鎰忚")
     /**
      * 鍒犻櫎浼︾悊瀹℃煡涓撳鎰忚
      */
@@ -101,4 +131,39 @@
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(serviceEthicalreviewopinionsService.removeByIds(Arrays.asList(ids)));
     }
+
+    /**
+     * 鑾峰彇浼︾悊瀹℃煡涓撳鏁伴噺
+     */
+    @ApiOperation("鑾峰彇浼︾悊瀹℃煡涓撳鏁伴噺")
+    @GetMapping(value = "/expertCount")
+    public AjaxResult count(Integer nitiateId) {
+        QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
+        ethicalreviewopinionsWrapper.eq("nitiate_Id",nitiateId);
+        long count =serviceEthicalreviewopinionsService.count(ethicalreviewopinionsWrapper);
+        return AjaxResult.success(count);
+    }
+
+    /**
+     * 鑾峰彇浼︾悊瀹℃煡涓撳鎺ユ敹
+     */
+    @ApiOperation("鑾峰彇浼︾悊瀹℃煡涓撳鐘舵��")
+    @GetMapping("/receiveStatus")
+    public AjaxResult receiveStatus(Integer nitiateId,String expertNo,String receiveStatus) {
+        QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
+        ethicalreviewopinionsWrapper.eq("nitiate_Id",nitiateId).eq("expert_no",expertNo);
+        ServiceEthicalreviewopinions serviceEthicalreviewopinions =new ServiceEthicalreviewopinions();
+        serviceEthicalreviewopinions.setReceiveStatus(receiveStatus);
+        return toAjax(serviceEthicalreviewopinionsService.update(serviceEthicalreviewopinions,ethicalreviewopinionsWrapper));
+    }
+
+    /**
+     * 鑾峰彇浼︾悊瀹℃煡涓撳鏁伴噺
+     */
+    @ApiOperation("涓撳缁熻璇︽儏")
+    @GetMapping(value = "/expertTotal")
+    public List<EthicalreviewopinionsTotalVO> expertTotal(String expertNo) {
+        return serviceEthicalreviewopinionsService.expertTotal(expertNo);
+    }
+
 }

--
Gitblit v1.9.3