package com.ruoyi.web.controller.smartor; 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.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; 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.poi.ExcelUtil; import com.smartor.domain.*; import com.smartor.service.IServiceSubtaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 单一任务(随访)Controller * * @author ruoyi * @date 2024-02-02 */ @Slf4j @Api(description = "单一任务(随访宣教)") @RestController @RequestMapping("/smartor/serviceSubtask") public class ServiceSubtaskController extends BaseController { @Autowired private IServiceSubtaskService serviceSubtaskService; /** * 查询患者随访信息 */ @ApiOperation("查询患者随访信息") @PreAuthorize("@ss.hasPermi('system:taskcall:list')") @PostMapping("/patItem") public TableDataInfo patItem(@RequestBody ServiceSubtask ivrTaskcall) { PageUtils.startPageByPost(ivrTaskcall.getPageNum(), ivrTaskcall.getPageSize()); return getDataTable(serviceSubtaskService.patItem(ivrTaskcall)); } /** * 导出单一任务(随访宣教)列表 */ @PreAuthorize("@ss.hasPermi('system:taskcall:export')") @Log(title = "单一任务(随访宣教)", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ServiceSubtask ivrTaskcall) { List list = serviceSubtaskService.selectServiceSubtaskList(ivrTaskcall); ExcelUtil util = new ExcelUtil(ServiceSubtask.class); util.exportExcel(response, list, "单一任务(随访)数据"); } /** * 获取单一任务(随访)详细信息 */ @PreAuthorize("@ss.hasPermi('system:taskcall:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(serviceSubtaskService.selectServiceSubtaskById(id)); } /** * 新增或修改删除单一任务 */ @ApiOperation("新增或修改删除单一任务") @PreAuthorize("@ss.hasPermi('system:task:add')") @Log(title = "单一任务(随访)", businessType = BusinessType.INSERT) @PostMapping("/insertOrUpdateTask") public AjaxResult insertOrUpdateHeTask(@RequestBody ServiceTaskVO ivrTaskVO) { LoginUser loginUser = getLoginUser(); SysUser user = loginUser.getUser(); ivrTaskVO.setCreateBy(user.getNickName()); return toAjax(serviceSubtaskService.insertOrUpdateTask(ivrTaskVO)); } /** * 根据条件查询任务信息 */ @ApiOperation("根据条件查询任务信息") @PostMapping("/queryTaskByCondition") public AjaxResult queryTaskByCondition(@RequestBody ServiceSubtaskVO ivrTaskcallVO) { //根据入参查询信息 ServiceSubtask ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, ServiceSubtask.class); ServiceTaskVO ivrTaskVO = serviceSubtaskService.queryTaskByCondition(ivrTaskcall); return success(ivrTaskVO); } /** * 电话回调任务(上海) */ @ApiOperation("电话回调任务") @PostMapping("/phoneCallBack") public AjaxResult phoneCallBack(@RequestBody PhoneCallBackVO phoneCallBackVO) { // log.error("电话回调任务成功了不?{}", phoneCallBackVO); serviceSubtaskService.phoneCallBack(phoneCallBackVO); return success(); } /** * 患者问题结果记录 */ @ApiOperation("患者问题结果记录") @PostMapping("/saveQuestionAnswer") public AjaxResult saveQuestionAnswer(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) { return toAjax(serviceSubtaskService.saveQuestionAnswer(serviceSubTaskDetailReq)); } }