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.domain.Result; 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.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.*; 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 list(ServiceEthicalreviewopinions serviceEthicalreviewopinions) { serviceEthicalreviewopinionsService.updateTimeOut(); Page list = serviceEthicalreviewopinionsService.queryListByPage(serviceEthicalreviewopinions); return getDataTable(list.getRecords(), (int) list.getTotal()); } @ApiOperation("查询捐献信息伦理审查专家意见列表") @GetMapping("/listnew") public TableDataInfo listnew(EthicalReviewVO ethicalReviewVO) { startPage(); List 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 list = serviceEthicalreviewopinionsService.queryList(serviceEthicalreviewopinions); // ExcelUtil util = new ExcelUtil(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 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 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 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 Result> expertTotal(String expertNo) { return Result.success(serviceEthicalreviewopinionsService.expertTotal(expertNo)) ; } @ApiOperation("专家状态统计") @GetMapping(value = "/stateTotal") public Result> stateTotal(String expertNo) { return Result.success(serviceEthicalreviewopinionsService.stateTotal(expertNo)); } }