ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
@@ -1,5 +1,6 @@ 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; @@ -16,6 +17,7 @@ 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.*; @@ -109,6 +111,10 @@ public AjaxResult add(@RequestBody ServiceEthicalreviewinitiate 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(); @@ -140,4 +146,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(); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
@@ -13,9 +13,13 @@ 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; @@ -34,20 +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 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(); @@ -68,6 +79,7 @@ // return util.exportExcel(list, "伦理审查专家意见数据"); // } @ApiOperation("获取伦理审查专家意见详细信息") /** * 获取伦理审查专家意见详细信息 */ @@ -77,17 +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") public AjaxResult add(@RequestBody ServiceEthicalreviewopinions serviceEthicalreviewopinions) { boolean save = serviceEthicalreviewopinionsService.save(serviceEthicalreviewopinions); return AjaxResult.success(serviceEthicalreviewopinions); } @ApiOperation("伦理审查专家意见") /** * 修改伦理审查专家意见 */ @@ -96,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("删除伦理审查专家意见") /** * 删除伦理审查专家意见 */ @@ -114,9 +137,9 @@ */ @ApiOperation("获取伦理审查专家数量") @GetMapping(value = "/expertCount") public AjaxResult count(Integer InfoID) { public AjaxResult count(Integer nitiateId) { QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>(); ethicalreviewopinionsWrapper.eq("InfoID",InfoID); ethicalreviewopinionsWrapper.eq("nitiate_Id",nitiateId); long count =serviceEthicalreviewopinionsService.count(ethicalreviewopinionsWrapper); return AjaxResult.success(count); } @@ -124,13 +147,13 @@ /** * 获取伦理审查专家接收 */ @ApiOperation("获取伦理审查专家接收") @ApiOperation("获取伦理审查专家状态") @GetMapping("/receiveStatus") public AjaxResult receiveStatus(Integer InfoID,String DonorNo) { public AjaxResult receiveStatus(Integer nitiateId,String expertNo,String receiveStatus) { QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>(); ethicalreviewopinionsWrapper.eq("InfoID",InfoID).eq("DonorNo",DonorNo); ethicalreviewopinionsWrapper.eq("nitiate_Id",nitiateId).eq("expert_no",expertNo); ServiceEthicalreviewopinions serviceEthicalreviewopinions =new ServiceEthicalreviewopinions(); serviceEthicalreviewopinions.setReceiveStatus("1"); serviceEthicalreviewopinions.setReceiveStatus(receiveStatus); return toAjax(serviceEthicalreviewopinionsService.update(serviceEthicalreviewopinions,ethicalreviewopinionsWrapper)); } @@ -139,8 +162,8 @@ */ @ApiOperation("专家统计详情") @GetMapping(value = "/expertTotal") public AjaxResult expertTotal(String DonorNo) { return AjaxResult.success(serviceEthicalreviewopinionsService.expertTotal(DonorNo)); public List<EthicalreviewopinionsTotalVO> expertTotal(String expertNo) { return serviceEthicalreviewopinionsService.expertTotal(expertNo); } } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewinitiate.java
@@ -137,5 +137,9 @@ @ApiModelProperty("签名") @Excel(name = "签名") private String sigin; @ApiModelProperty("签名") @TableField(exist = false) private List<ServiceEthicalreviewopinions> ethicalreviewopinionsList; } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceEthicalreviewopinions.java
@@ -31,6 +31,13 @@ private Long id; /** * 伦理审查id */ @ApiModelProperty("伦理审查id") @Excel(name = "伦理审查id") private Long nitiateId; /** * 关联service_donatebaseinfo表的ID */ @ApiModelProperty("关联service_donatebaseinfo表的ID") @@ -86,6 +93,10 @@ @Excel(name = "专家结论 见字典 sys_0_1 ") private Long expertconclusion; @ApiModelProperty("专家编号") @Excel(name = "专家编号") private String expertNo; /** * 专家名字 */ @@ -125,9 +136,27 @@ /** * 接收状态 */ @ApiModelProperty("接收状态") @Excel(name = "接收状态") @ApiModelProperty("接收状态0待接收1未接收2已接收3超时4中止5完成") @Excel(name = "接收状态0待接收1未接收2已接收3超时4中止5完成") private String receiveStatus; /** 发起时间 */ @ApiModelProperty("发起时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "发起时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date startTime; /** 结束时间 */ @ApiModelProperty("结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date endTime; /** * 接收状态 */ @ApiModelProperty("专家类型0普通1专家") @Excel(name = "专家类型0普通1专家") private String expertType; } ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalReviewVO.java
@@ -571,6 +571,9 @@ @Excel(name = "专家结论 见字典 sys_0_1 ") private Long expertconclusion; @ApiModelProperty("专家编号") @Excel(name = "专家编号") private String expertNo; /** * 专家名字 @@ -619,7 +622,26 @@ /** * 接收状态 */ @ApiModelProperty("接收状态") @Excel(name = "接收状态") @ApiModelProperty("接收状态0待接收1未接收2已接收3超时4中止5完成") @Excel(name = "接收状态0待接收1未接收2已接收3超时4中止5完成") private String receiveStatus; /** 发起时间 */ @ApiModelProperty("发起时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "发起时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date startTime; /** 结束时间 */ @ApiModelProperty("结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date endTime; @ApiModelProperty("伦理审查id") @Excel(name = "伦理审查id") private String nitiateId; } ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java
@@ -31,4 +31,6 @@ Integer countNumber(TimeVO timeVO); List<EthicalreviewopinionsTotalVO> expertTotal(String DonorNo); Integer updateTimeOut(); } ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java
@@ -29,4 +29,6 @@ List<EthicalReviewVO> selectVOList(EthicalReviewVO ethicalReviewVO); List<EthicalreviewopinionsTotalVO> expertTotal(String DonorNo); Integer updateTimeOut(); } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
@@ -149,7 +149,12 @@ if (StringUtils.isNotEmpty(serviceEthicalreviewopinions.getOrganType())) { wrappers.eq(ServiceEthicalreviewopinions::getOrganType, serviceEthicalreviewopinions.getOrganType()); } if (ObjectUtils.isNotEmpty(serviceEthicalreviewopinions.getNitiateId())) { wrappers.eq(ServiceEthicalreviewopinions::getNitiateId, serviceEthicalreviewopinions.getNitiateId()); } if (ObjectUtils.isNotEmpty(serviceEthicalreviewopinions.getExpertNo())) { wrappers.eq(ServiceEthicalreviewopinions::getExpertNo, serviceEthicalreviewopinions.getExpertNo()); } int currentPage = (serviceEthicalreviewopinions.getPageNum() == null || serviceEthicalreviewopinions.getPageNum() < 1) ? 1 : serviceEthicalreviewopinions.getPageNum(); int size = (serviceEthicalreviewopinions.getPageSize() == null || serviceEthicalreviewopinions.getPageSize() < 1) ? 10 : serviceEthicalreviewopinions.getPageSize(); Page<ServiceEthicalreviewopinions> page = new Page<>(currentPage, size); @@ -162,17 +167,7 @@ @Override public List<EthicalReviewVO> selectVOList(EthicalReviewVO ethicalReviewVO) { SysUser user = SecurityUtils.getLoginUser().getUser(); List<SysRole> l = user.getRoles(); Boolean b = false; for (SysRole r : l) { if (r.getRoleId().longValue() == 3) { b = true; } } if (b) { ethicalReviewVO.setReporterno(user.getUserName()); } List<EthicalReviewVO> ethicalReviewVOS = serviceEthicalreviewopinionsMapper.selectVOList(ethicalReviewVO); for (EthicalReviewVO ethicalReviewVO1 : ethicalReviewVOS) { @@ -203,9 +198,13 @@ return ethicalReviewVOS; } public List<EthicalreviewopinionsTotalVO> expertTotal(String DonorNo) { public List<EthicalreviewopinionsTotalVO> expertTotal(String expertNo) { return serviceEthicalreviewopinionsMapper.expertTotal(DonorNo); return serviceEthicalreviewopinionsMapper.expertTotal(expertNo); } public Integer updateTimeOut() { return serviceEthicalreviewopinionsMapper.updateTimeOut(); } } ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
@@ -135,13 +135,12 @@ service_ethicalreviewopinions.dept_name as dept_name, service_ethicalreviewopinions.dept_code as dept_code, service_ethicalreviewopinions.organ_type as organ_type, service_ethicalreviewopinions.ConclusionOrder as conclusionorder FROM service_donatebaseinfo LEFT JOIN service_ethicalreviewopinions ON service_donatebaseinfo.ID = service_ethicalreviewopinions.InfoID service_ethicalreviewopinions.ConclusionOrder as conclusionorder, service_ethicalreviewopinions.nitiate_id as nitiateId, service_ethicalreviewopinions.expert_no as expertNo FROM service_donatebaseinfo LEFT JOIN service_ethicalreviewopinions ON service_donatebaseinfo.ID = service_ethicalreviewopinions.InfoID LEFT JOIN base_organization ON base_organization.OrganizationID = service_donatebaseinfo.TreatmentHospitalNo @@ -172,6 +171,8 @@ <if test="city != null and city != ''">and `base_organization`.`City` = #{city}</if> <if test="fcid != null ">and `service_ethicalreviewopinions`.`ID` = #{fcid}</if> <if test="workflow != null ">and `service_donatebaseinfo`.`workflow` = #{workflow}</if> <if test="nitiateId != null ">and `service_ethicalreviewopinions`.`nitiate_id` = #{nitiateId}</if> <if test="expertNo != null ">and `service_ethicalreviewopinions`.`expert_no` = #{expertNo}</if> </where> order by `service_ethicalreviewopinions`.`ConclusionTime` desc @@ -196,10 +197,15 @@ FROM service_ethicalreviewopinions <where> <if test="DonorNo != null ">DonorNo = #{DonorNo}</if> <if test="expertNo != null ">expert_no = #{expertNo}</if> </where> GROUP BY receive_status,ExpertOpinion,ConclusionAnnex </select> <update id="updateTimeOut" > UPDATE service_ethicalreviewopinions SET receive_status=0 WHERE end_time IS NOT NULL AND end_time <= NOW() </update> </mapper>