From 4865dc7156334faf8f4c1ee8011bffb03a28bcc5 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 15 五月 2026 13:50:57 +0800
Subject: [PATCH] 理审查专家新增获专家状态统计

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 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 b1ae8c4..1478d4d 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,7 @@
 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;
@@ -11,9 +13,17 @@
 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.EthicalreviewopinionsStateTotalVO;
+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.*;
 
@@ -29,20 +39,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 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();
@@ -63,6 +80,7 @@
 //        return util.exportExcel(list, "浼︾悊瀹℃煡涓撳鎰忚鏁版嵁");
 //    }
 
+    @ApiOperation("鑾峰彇浼︾悊瀹℃煡涓撳鎰忚璇︾粏淇℃伅")
     /**
      * 鑾峰彇浼︾悊瀹℃煡涓撳鎰忚璇︾粏淇℃伅
      */
@@ -72,17 +90,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")
     public AjaxResult add(@RequestBody ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
         boolean save = serviceEthicalreviewopinionsService.save(serviceEthicalreviewopinions);
         return AjaxResult.success(serviceEthicalreviewopinions);
     }
 
+    @ApiOperation("淇敼浼︾悊瀹℃煡涓撳鎰忚")
     /**
      * 淇敼浼︾悊瀹℃煡涓撳鎰忚
      */
@@ -91,9 +111,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("涓讳换濮斿憳")&&serviceEthicalreviewopinions.getReceiveStatus().equals("5")){
+            QueryWrapper<ServiceEthicalreviewinitiate> ethicalreviewinitiateQueryWrapper=new QueryWrapper<>();
+            ethicalreviewinitiateQueryWrapper.eq("id",serviceEthicalreviewopinions.getNitiateId());
+            ServiceEthicalreviewinitiate serviceEthicalreviewinitiate =new ServiceEthicalreviewinitiate();
+            serviceEthicalreviewinitiate.setStatus("3");
+            res=serviceEthicalreviewinitiateService.update(serviceEthicalreviewinitiate,ethicalreviewinitiateQueryWrapper);
+        }
+        return toAjax(res);
     }
 
+    @ApiOperation("鍒犻櫎浼︾悊瀹℃煡涓撳鎰忚")
     /**
      * 鍒犻櫎浼︾悊瀹℃煡涓撳鎰忚
      */
@@ -103,4 +132,44 @@
     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);
+    }
+
+
+    @ApiOperation("涓撳鐘舵�佺粺璁�")
+    @GetMapping(value = "/stateTotal")
+    public List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo) {
+        return serviceEthicalreviewopinionsService.stateTotal(expertNo);
+    }
+
 }

--
Gitblit v1.9.3