陈昶聿
4 天以前 a408612ed9bb08aefec80b001bc53f686491c33c
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -302,8 +302,7 @@
    public AjaxResult querySubtaskList(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
        ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
        serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
        PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
        serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskEntity);
        // 该 SQL 已内置 limit ${pageSize} OFFSET ${pageNum},不再走 PageHelper,避免两套分页叠加产生两个 LIMIT
        return success(serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskEntity));
    }
@@ -317,8 +316,8 @@
    public TableDataInfo querySubtaskListAgain(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
        ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
        serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
        // 该 SQL 未内置 limit,使用 PageHelper 分页;只调用一次,getDataTable 可基于 Page 取到正确 total
        PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
        serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity);
        return getDataTable(serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity));
    }
@@ -692,6 +691,10 @@
     * manualInfo - visitCount = 1 && currentPreachForm = "1"
     * voiceInfo - visitCount = 1 && currentPreachForm = "3"
     * smsInfo - visitCount = 1 && currentPreachForm = "4"
     * manualSuccessInfo - visitCount = 1 && currentPreachForm = "1" && sendstate = 6
     * voiceSuccessInfo - visitCount = 1 && currentPreachForm = "3" && sendstate = 6
     * smsSuccessInfo - visitCount = 1 && currentPreachForm = "4" && sendstate = 6
     * wechatSuccessInfo - visitCount = 1 && currentPreachForm = "5" && sendstate = 6
     * wechatInfo - visitCount = 1 && currentPreachForm = "5"
     * abnormalInfo - visitCount = 1 && excep = "1"
     * needFollowUpAgainInfo - visitCount > 1 && sendstate != 4
@@ -710,6 +713,8 @@
     * taskSituation5Info - taskSituation = 5
     * taskSituation6Info - taskSituation = 7
     * manuallyCalledInfo - isManuallyCalled = 1L
     * firstDischargeCountInfo - visitCount = 1
     * againFollowUpPushCountInfo - visitCount = 2 && visitDeptCode = sys.smartor.center.dept
     * filterCountList - taskSituation = 6 && sendstate = 4
     *
     */
@@ -812,8 +817,18 @@
        LoginUser loginUser = getLoginUser();
        String orgid = loginUser.getUser().getOrgid();
        serviceSubtaskCountReq.setOrgid(orgid);
        PageUtils.startPageByPost(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
        return success(serviceSubtaskService.getSfStatisticsScriptDetails(serviceSubtaskCountReq));
        //注意:这里不能再调用 PageUtils.startPageByPost。
        //返回结构是 Map,且不传 type 时会执行两条 SQL,PageHelper 只作用于第一条 SQL,
        //分页已放到 Service 里按题目(scriptid)完成,保证 total 是题目总数。
        Map<String, Object> details = serviceSubtaskService.getSfStatisticsScriptDetails(serviceSubtaskCountReq);
        AjaxResult ajax = success(details.get("data"));
        //兼容旧前端:data 仍然是 {scriptid: 题目} 的 Map;
        //同时按 RuoYi 习惯补上 rows/total/pageNum/pageSize 方便前端分页
        ajax.put("rows", details.get("rows"));
        ajax.put("total", details.get("total"));
        ajax.put("pageNum", details.get("pageNum"));
        ajax.put("pageSize", details.get("pageSize"));
        return ajax;
    }
    /**
@@ -909,6 +924,17 @@
    }
    /**
     * 手动发送问卷模板的微信功能
     *
     * @param subid
     * @return
     */
    @GetMapping(value = "/weChatSubTask/{subid}")
    public Map<String, Object> weChatSubTask(@PathVariable("subid") Long subid) {
        return serviceSubtaskService.weChatSubTask(subid);
    }
    /**
     * 跳转中间页
     *
     * @param taskId