| | |
| | | package com.ruoyi.web.controller.smartor; |
| | | |
| | | import com.github.pagehelper.ISelect; |
| | | import com.ruoyi.common.annotation.Log; |
| | | 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.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import com.ruoyi.common.utils.RSAPublicKeyExample; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.smartor.domain.SvyTask; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.service.ISvyTaskService; |
| | | import com.smartor.service.ISvyTaskSingleService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 综合问卷任务(任务)Controller |
| | | * 问卷任务(任务)Controller |
| | | * |
| | | * @author ruoyi |
| | | * @date 2024-06-12 |
| | | */ |
| | | @Slf4j |
| | | @Api(description = " 问卷任务(任务)") |
| | | @RestController |
| | | @RequestMapping("/smartor/svytask") |
| | | public class SvyTaskController extends BaseController |
| | | { |
| | | public class SvyTaskController extends BaseController { |
| | | @Autowired |
| | | private ISvyTaskService svyTaskService; |
| | | |
| | | @Autowired |
| | | private ISvyTaskSingleService iSvyTaskSingleService; |
| | | |
| | | @Value("${pub_key}") |
| | | private String pub_key; |
| | | |
| | | @Value("${pri_key}") |
| | | private String pri_key; |
| | | |
| | | /** |
| | | * 查询综合问卷任务(任务)列表 |
| | | * 查询问卷任务(任务)列表 |
| | | */ |
| | | @ApiOperation("查询问卷任务(任务)列表") |
| | | @PreAuthorize("@ss.hasPermi('system:task:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(SvyTask svyTask) |
| | | { |
| | | startPage(); |
| | | @PostMapping("/list") |
| | | public TableDataInfo list(@RequestBody SvyTask svyTask) { |
| | | PageUtils.startPageByPost(svyTask.getPageNum(), svyTask.getPageSize()); |
| | | List<SvyTask> list = svyTaskService.selectSvyTaskList(svyTask); |
| | | return getDataTable(list); |
| | | List<SvyTaskVO> svyTaskVOS = DtoConversionUtils.sourceToTarget(list, SvyTaskVO.class); |
| | | if (CollectionUtils.isNotEmpty(svyTaskVOS)) { |
| | | for (SvyTaskVO svyTaskVO : svyTaskVOS) { |
| | | SvyTaskSingle svyTaskSingle = new SvyTaskSingle(); |
| | | svyTaskSingle.setTaskid(svyTaskVO.getTaskid()); |
| | | List<SvyTaskSingle> svyTaskSingles = iSvyTaskSingleService.selectSvyTaskSingleList(svyTaskSingle); |
| | | if (CollectionUtils.isNotEmpty(svyTaskSingles)) { |
| | | //已发送 |
| | | long yfs = svyTaskSingles.stream().filter(svyTaskcall1 -> svyTaskcall1.getSendstate() != null && svyTaskcall1.getSendstate() == 3L).collect(Collectors.toList()).stream().count(); |
| | | //未发送 |
| | | long wfs = svyTaskSingles.stream().filter(svyTaskcall1 -> svyTaskcall1.getSendstate() != null && svyTaskcall1.getSendstate() == 2L).collect(Collectors.toList()).stream().count(); |
| | | svyTaskVO.setYfs(yfs); |
| | | svyTaskVO.setWfs(wfs); |
| | | |
| | | } |
| | | } |
| | | //获取total |
| | | long total = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | svyTask.setPageNum(null); |
| | | svyTask.setPageSize(null); |
| | | svyTaskService.selectSvyTaskList(svyTask); |
| | | } |
| | | }); |
| | | |
| | | return getDataTable2(total, svyTaskVOS); |
| | | |
| | | } |
| | | |
| | | return getDataTable2(0, list); |
| | | } |
| | | |
| | | /** |
| | | * 导出综合问卷任务(任务)列表 |
| | | * 导出问卷任务(任务)列表 |
| | | */ |
| | | @ApiOperation("导出问卷任务(任务)列表") |
| | | @PreAuthorize("@ss.hasPermi('system:task:export')") |
| | | @Log(title = "综合问卷任务(任务)", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, SvyTask svyTask) |
| | | { |
| | | public void export(HttpServletResponse response, SvyTask svyTask) { |
| | | List<SvyTask> list = svyTaskService.selectSvyTaskList(svyTask); |
| | | ExcelUtil<SvyTask> util = new ExcelUtil<SvyTask>(SvyTask.class); |
| | | util.exportExcel(response, list, "综合问卷任务(任务)数据"); |
| | | } |
| | | |
| | | /** |
| | | * 获取综合问卷任务(任务)详细信息 |
| | | * 获取问卷任务(任务)详细信息 |
| | | */ |
| | | @ApiOperation("获取问卷任务(任务)详细信息") |
| | | @PreAuthorize("@ss.hasPermi('system:task:query')") |
| | | @GetMapping(value = "/{taskid}") |
| | | public AjaxResult getInfo(@PathVariable("taskid") Long taskid) |
| | | { |
| | | public AjaxResult getInfo(@PathVariable("taskid") Long taskid) { |
| | | return success(svyTaskService.selectSvyTaskByTaskid(taskid)); |
| | | } |
| | | |
| | | /** |
| | | * 新增综合问卷任务(任务) |
| | | * 新增问卷任务(任务) |
| | | */ |
| | | @ApiOperation("新增问卷任务(任务)") |
| | | @PreAuthorize("@ss.hasPermi('system:task:add')") |
| | | @Log(title = "综合问卷任务(任务)", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody SvyTask svyTask) |
| | | { |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody SvyTask svyTask) { |
| | | return toAjax(svyTaskService.insertSvyTask(svyTask)); |
| | | } |
| | | |
| | | /** |
| | | * 修改综合问卷任务(任务) |
| | | * 修改问卷任务(任务) |
| | | */ |
| | | @ApiOperation("修改问卷任务(任务)") |
| | | @PreAuthorize("@ss.hasPermi('system:task:edit')") |
| | | @Log(title = "综合问卷任务(任务)", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody SvyTask svyTask) |
| | | { |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody SvyTask svyTask) { |
| | | return toAjax(svyTaskService.updateSvyTask(svyTask)); |
| | | } |
| | | |
| | | /** |
| | | * 删除综合问卷任务(任务) |
| | | * 删除问卷任务(任务) |
| | | */ |
| | | @ApiOperation("删除问卷任务(任务)") |
| | | @PreAuthorize("@ss.hasPermi('system:task:remove')") |
| | | @Log(title = "综合问卷任务(任务)", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{taskids}") |
| | | public AjaxResult remove(@PathVariable Long[] taskids) |
| | | { |
| | | @Log(title = "问卷任务(任务)", businessType = BusinessType.DELETE) |
| | | @GetMapping("/{taskids}") |
| | | public AjaxResult remove(@PathVariable Long[] taskids) { |
| | | return toAjax(svyTaskService.deleteSvyTaskByTaskids(taskids)); |
| | | } |
| | | |
| | | /** |
| | | * 通过任务ID和患者ID获取单个人的题目信息 |
| | | * |
| | | * @return |
| | | */ |
| | | @ApiOperation("通过任务ID和患者ID获取单个人的题目信息") |
| | | @PostMapping("/getSvyScriptInfoByCondition") |
| | | public TableDataInfo getScriptInfoByCondition(@RequestBody ServiceTaskScriptQues ivrTaskScriptQues) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(ivrTaskScriptQues.getParam1(), pri_key)); |
| | | Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(ivrTaskScriptQues.getParam2(), pri_key)); |
| | | log.info("tid和pid的值为:{},{}", tid, pid); |
| | | return getDataTable(svyTaskService.getScriptInfoByCondition(tid, pid)); |
| | | } |
| | | } |