1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
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;
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.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
 *
 * @author ruoyi
 * @date 2021-11-23
 */
@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();
        List<EthicalReviewVO> list = serviceEthicalreviewopinionsService.selectVOList(ethicalReviewVO);
        return getDataTable(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("获取伦理审查专家意见详细信息")
    /**
     * 获取伦理审查专家意见详细信息
     */
    //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceEthicalreviewopinionsService.getById(id));
    }
 
    @ApiOperation("新增伦理审查专家意见")
    /**
     * 新增伦理审查专家意见
     */
    //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:add')")
    @Log(title = "新增伦理审查专家意见", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public AjaxResult add(@RequestBody ServiceEthicalreviewopinions serviceEthicalreviewopinions) {
        boolean save = serviceEthicalreviewopinionsService.save(serviceEthicalreviewopinions);
        return AjaxResult.success(serviceEthicalreviewopinions);
    }
 
    @ApiOperation("修改伦理审查专家意见")
    /**
     * 修改伦理审查专家意见
     */
    //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:edit')")
    @Log(title = "伦理审查专家意见", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
//    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceEthicalreviewopinions 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("删除伦理审查专家意见")
    /**
     * 删除伦理审查专家意见
     */
    //// @PreAuthorize("@ss.hasPermi('project:ethicalreviewopinions:remove')")
    @Log(title = "伦理审查专家意见", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    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);
    }
 
}