liusheng
8 小时以前 c62e26954e41360fc6a2efc874815aa84f8b0073
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -7,17 +7,22 @@
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.core.redis.RedisCache;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.PreachFormEnum;
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.mapper.PatMedInhospMapper;
import com.smartor.mapper.PatMedOuthospMapper;
import com.smartor.service.IServiceSubtaskRecordService;
import com.smartor.service.IServiceSubtaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -58,7 +63,8 @@
        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
            ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
            serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
            serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
            if (ObjectUtils.isNotEmpty((serviceSubtask.getTaskid())))
                serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
            serviceSubtask.setServiceSubtaskRecordList(serviceSubtaskRecordService.selectServiceSubtaskRecordList(serviceSubtaskRecord));
        }
        Map<String, Object> map = serviceSubtaskService.patItemCount(serviceSubtaskVO);
@@ -77,6 +83,36 @@
        return getDataTable2(total, list);
//        return getDataTable(serviceSubtaskService.patItem(ivrTaskcall));
    }
    /**
     * 导出单一任务(随访宣教)列表
     */
    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
    @Log(title = "单一任务(随访宣教)", businessType = BusinessType.EXPORT)
    @PostMapping("/patItemExport")
    public void patItemExport(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) {
        List<ServiceSubtask> serviceSubtaskList = null;
        if (serviceSubtaskVO != null) {
            if (serviceSubtaskVO.getPageNum() != null && serviceSubtaskVO.getPageSize() != null)
                PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
            serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
        }
        List<ServiceSubtaskExprot> serviceSubtaskExprots = null;
        if (!CollectionUtils.isEmpty(serviceSubtaskList)) {
            serviceSubtaskExprots = DtoConversionUtils.sourceToTarget(serviceSubtaskList, ServiceSubtaskExprot.class);
            for (ServiceSubtaskExprot serviceSubtaskExprot : serviceSubtaskExprots) {
                String pf = PreachFormEnum.getDescByCode(serviceSubtaskExprot.getPreachform());
                serviceSubtaskExprot.setPreachform(pf);
            }
        }
        ExcelUtil<ServiceSubtaskExprot> util = new ExcelUtil<ServiceSubtaskExprot>(ServiceSubtaskExprot.class);
        util.exportExcel(response, serviceSubtaskExprots, "患者随访信息表单");
    }
    /**
     * 查询患者随访信息
@@ -125,6 +161,20 @@
        util.exportExcel(response, list, "单一任务(随访)数据");
    }
    /**
     * 再次随访数据查询
     */
    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
    @Log(title = "再次随访数据查询", businessType = BusinessType.EXPORT)
    @PostMapping("/querySubtaskListAgain")
    public TableDataInfo querySubtaskListAgain(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
        PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
        serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskVO);
        return getDataTable(serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskVO));
    }
    /**
     * 获取单一任务(随访)详细信息
     */
@@ -146,6 +196,7 @@
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        ivrTaskVO.setCreateBy(user.getNickName());
        ivrTaskVO.setUpdateBy(user.getNickName());
        ivrTaskVO.setOrgid(user.getOrgid());
        return success(serviceSubtaskService.insertOrUpdateTask(ivrTaskVO));
    }
@@ -153,6 +204,7 @@
    @ApiOperation("修改子任务")
    @PostMapping("/update")
    public AjaxResult update(@RequestBody ServiceSubtask serviceSubtask) {
        serviceSubtask.setUpdateBy(getLoginUser().getUser().getNickName());
        return toAjax(serviceSubtaskService.updateServiceSubtask(serviceSubtask));
    }
@@ -160,8 +212,16 @@
    @PostMapping("/addSubTask")
    public AjaxResult addSubTask(@RequestBody ServiceSubtask serviceSubtask) {
        SysUser user = getLoginUser().getUser();
        serviceSubtask.setOrgid(user.getOrgid());
        if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
        return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask));
    }
    @ApiOperation("患者再次随访")
    @PostMapping("/addSubTaskAgain")
    public AjaxResult addSubTaskAgain(@RequestBody ServiceSubtask serviceSubtask) {
        SysUser user = getLoginUser().getUser();
        if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid());
        return success(serviceSubtaskService.addSubTaskAgain(serviceSubtask));
    }
    /**
@@ -190,8 +250,8 @@
    @PostMapping("/phoneCallBackYQ")
    public PhoneCallBackYQVO phoneCallBackYQ(@RequestBody PhoneCallReqYQVO phoneCallReqYQVO) {
        log.error("电话ASR通话回调(雨绮) ?{}", phoneCallReqYQVO);
        SysUser user = getLoginUser().getUser();
        phoneCallReqYQVO.setOrgid(user.getOrgid());
//        SysUser user = getLoginUser().getUser();
//        phoneCallReqYQVO.setOrgid(user.getOrgid());
        PhoneCallBackYQVO phoneCallBackYQVO = serviceSubtaskService.phoneCallBackYQ(phoneCallReqYQVO);
        return phoneCallBackYQVO;
    }
@@ -204,6 +264,8 @@
    public List<PullTaskVO> taskPull() {
        log.error("电话任务拉取(雨绮)");
        List<PullTaskVO> pullTaskVOList = serviceSubtaskService.taskPull();
//        List<PullTaskVO> pullTaskVOList = new ArrayList<>();
        log.error("电话任务拉取(雨绮):{}", pullTaskVOList);
        return pullTaskVOList;
    }
@@ -214,8 +276,8 @@
    @ApiOperation("患者问题结果记录(电话)")
    @PostMapping("/saveQuestionAnswerPhone")
    public AjaxResult saveQuestionAnswerPhone(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
        SysUser user = getLoginUser().getUser();
        serviceSubTaskDetailReq.setOrgid(user.getOrgid());
//        SysUser user = getLoginUser().getUser();
//        serviceSubTaskDetailReq.setOrgid(user.getOrgid());
        return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
    }
@@ -236,8 +298,8 @@
    public AjaxResult recordAccept(@RequestBody PhoneCallRecordVO phoneCallRecordVO) {
        log.error("通话记录回调(雨绮):{}", phoneCallRecordVO);
//        return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
        SysUser user = getLoginUser().getUser();
        phoneCallRecordVO.setOrgid(user.getOrgid());
//        SysUser user = getLoginUser().getUser();
//        phoneCallRecordVO.setOrgid(user.getOrgid());
        serviceSubtaskService.recordAccept(phoneCallRecordVO);
        return success();
    }
@@ -263,4 +325,16 @@
        return success(serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
    }
    /**
     * 随访统计导出
     */
    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
    @Log(title = "随访统计导出)", businessType = BusinessType.EXPORT)
    @PostMapping("/getSfStatisticsExport")
    public void export(HttpServletResponse response, ServiceSubtaskCountReq serviceSubtaskCountReq) {
        List<ServiceSubtaskStatistic> sfStatistics = serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq);
        ExcelUtil<ServiceSubtaskStatistic> util = new ExcelUtil<ServiceSubtaskStatistic>(ServiceSubtaskStatistic.class);
        util.exportExcel(response, sfStatistics, "随访统计导出");
    }
}