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.time.LocalTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.ArrayList;
|
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 serviceSubtask) {
|
ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
|
List<ServiceSubtask> list = serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO);
|
ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(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 serviceSubtask = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, ServiceSubtask.class);
|
ServiceTaskVO ivrTaskVO = serviceSubtaskService.queryTaskByCondition(serviceSubtask);
|
return success(ivrTaskVO);
|
}
|
|
/**
|
* 电话回调任务(上海)
|
*/
|
@ApiOperation("电话回调任务")
|
@PostMapping("/phoneCallBack")
|
public AjaxResult phoneCallBack(@RequestBody PhoneCallBackVO phoneCallBackVO) {
|
serviceSubtaskService.phoneCallBack(phoneCallBackVO);
|
return success();
|
}
|
|
@ApiOperation("电话ASR通话回调(雨绮)")
|
@PostMapping("/phoneCallBackYQ")
|
public PhoneCallBackYQVO phoneCallBackYQ(@RequestBody PhoneCallReqYQVO phoneCallReqYQVO) {
|
log.error("电话ASR通话回调(雨绮) ?{}", phoneCallReqYQVO);
|
PhoneCallBackYQVO phoneCallBackYQVO = serviceSubtaskService.phoneCallBackYQ(phoneCallReqYQVO);
|
return phoneCallBackYQVO;
|
}
|
|
/**
|
* 电话回调任务(雨绮)
|
*/
|
@ApiOperation("电话回调任务(雨绮)")
|
@PostMapping("/taskPull")
|
public List<PullTaskVO> taskPull() {
|
log.error("电话回调任务(雨绮)");
|
List<PullTaskVO> pullTaskVOList = serviceSubtaskService.taskPull();
|
log.error("电话回调任务(雨绮):{}", pullTaskVOList);
|
return pullTaskVOList;
|
}
|
|
/**
|
* 患者问题结果记录
|
*/
|
@ApiOperation("患者问题结果记录(电话)")
|
@PostMapping("/saveQuestionAnswerPhone")
|
public AjaxResult saveQuestionAnswerPhone(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
|
return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
|
}
|
|
/**
|
* 通话记录回调
|
*/
|
@ApiOperation("通话记录回调")
|
@PostMapping("/recordAccept")
|
public AjaxResult recordAccept(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
|
return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
|
}
|
|
/**
|
* 获取每个月的随访、复诊量
|
*/
|
@ApiOperation("获取每个月的随访、复诊量")
|
@PostMapping("/getSfFzInfoEveryMonth")
|
public TableDataInfo getSfFzInfoEveryMonth(@RequestBody ServiceSubtaskCountReq serviceSubtaskCountReq) {
|
return getDataTable(serviceSubtaskService.getSfFzInfoEveryMonth(serviceSubtaskCountReq));
|
}
|
|
}
|