From 36f0ff3555de508fb472c6472b47630b5a1c8d10 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期三, 20 五月 2026 16:46:16 +0800
Subject: [PATCH] 捐献器官分配分配状态修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java |  128 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 113 insertions(+), 15 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 aa54460..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,21 +1,30 @@
 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.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.ServiceEthicalreviewopinions;
+import com.ruoyi.project.domain.dto.ReviewInitiateBaseInfoDTO;
+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.*;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 浼︾悊瀹℃煡鍙戣捣Controller
@@ -23,23 +32,45 @@
  * @author ls
  * @date 2025-12-20
  */
-@Api(description = "浼︾悊瀹℃煡鍙戣捣")
+@Api(description = "浼︾悊瀹℃煡鍙戣捣",tags = {"浼︾悊瀹℃煡鍙戣捣"})
 @RestController
-@RequestMapping("/system/ethicalreviewinitiate")
+@RequestMapping("/project/ethicalreviewinitiate")
 public class ServiceEthicalreviewinitiateController extends BaseController {
     @Autowired
     private IServiceEthicalreviewinitiateService serviceEthicalreviewinitiateService;
 
+    @Autowired
+    private IServiceEthicalreviewopinionsService serviceEthicalreviewopinionsService;
+//    /**
+//     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
+//     */
+//    @ApiOperation("鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃")
+//    // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:list')")
+//    @PostMapping("/list")
+//    public TableDataInfo list(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
+//        startPage();
+//        List<ServiceEthicalreviewinitiate> list = serviceEthicalreviewinitiateService.queryList(serviceEthicalreviewinitiate);
+//        return getDataTable(list);
+//    }
+
     /**
-     * 鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃
+     * 浼︾悊瀹℃煡鍩烘湰淇℃伅闆嗗悎
      */
-    @ApiOperation("鏌ヨ浼︾悊瀹℃煡鍙戣捣鍒楄〃")
+    @ApiOperation("浼︾悊瀹℃煡鍩烘湰淇℃伅闆嗗悎")
     // @PreAuthorize("@ss.hasPermi('system:ethicalreviewinitiate:list')")
-    @PostMapping("/list")
-    public TableDataInfo list(ServiceEthicalreviewinitiate serviceEthicalreviewinitiate) {
-        startPage();
-        List<ServiceEthicalreviewinitiate> list = serviceEthicalreviewinitiateService.queryList(serviceEthicalreviewinitiate);
-        return getDataTable(list);
+    @PostMapping("/reviewinitiateBaseInfoList")
+    public Map<String, Object> reviewinitiateBaseInfoList(@RequestBody ReviewInitiateBaseInfoVO reviewInitiateBaseInfoVO) {
+        Integer offset = PageUtils.getOffset(reviewInitiateBaseInfoVO.getPageNum(), reviewInitiateBaseInfoVO.getPageSize());
+        reviewInitiateBaseInfoVO.setPageNum(offset);
+        List<ReviewInitiateBaseInfoDTO> list = serviceEthicalreviewinitiateService.reviewinitiateBaseInfoList(reviewInitiateBaseInfoVO);
+
+        //鑾峰彇鎬绘暟
+        reviewInitiateBaseInfoVO.setPageNum(null);
+        reviewInitiateBaseInfoVO.setPageSize(null);
+        Integer totalCount = 0;
+        List<ReviewInitiateBaseInfoDTO> total = serviceEthicalreviewinitiateService.reviewinitiateBaseInfoList(reviewInitiateBaseInfoVO);
+        if (!CollectionUtils.isEmpty(total)) totalCount = total.size();
+        return getDataTable(list,totalCount);
     }
 
     /**
@@ -60,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();
     }
 
     /**
@@ -84,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();
     }
 
     /**
@@ -97,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