陈昶聿
10 小时以前 6a53d35b5d56e2f6bc64bbfe41579f6f32039c90
【丽水】随访增加 人工随访超时状态
已修改7个文件
73 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtask.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -654,7 +654,7 @@
                serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
            } else if (descByCode.equals("人工")) {
                setFailPreachForm(serviceSubtask, sendPreachform, "人工待执行", "2");
                setFailPreachForm(serviceSubtask, sendPreachform, "人工超时", "7");
            } else if (descByCode.equals("微信小程序")) {
                setFailPreachForm(serviceSubtask, sendPreachform, "微信小程序待执行", "2");
            }
@@ -849,6 +849,11 @@
                        serviceSubtask.setCurrentPreachform(preachform);
                        serviceSubtask.setSendstate(5L);
                        serviceSubtask.setRemark("setFailPreachForm方法 当前的preachform已经是最后一个了,全部执行失败");
                        //人工发送超时
                        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){
                            serviceSubtask.setSendstate(7L);
                            serviceSubtask.setRemark("setFailPreachForm方法 当前的preachform已经是最后一个了, 人工发送超时");
                        }
                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                        return true;
                    }
@@ -862,6 +867,11 @@
        serviceSubtask.setCurrentPreachform(preachform);
        serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
        serviceSubtask.setSendstate(3L);
        //人工发送超时
        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){
            serviceSubtask.setSendstate(7L);
            serviceSubtask.setRemark("人工发送超时");
        }
        if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
            //如果是宣教或通知,并且发送成功,则直接将serviceSubtask状态改成6L(这个患者是没有题做的,不会再触发接口进行状态修改)
            if (failSendstate.equals("2")) {
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -558,12 +558,23 @@
                //2判断一下,当前的sort是不是等于需要执行的总个数,如果等于的话,说明是最后一个,直接将servuce_subtask的状态改成5,执行失败就行了
                Long cs = currentSort.get();
                if (cs.equals(serviceSubtaskPreachforms.size())) {
                    if(serviceSubtask.getPreachform().equals("1")){
                        serviceSubtask.setSendstate(7L);
                        serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿 人工超时");
                    }else {
                    serviceSubtask.setSendstate(5L);
                    serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败");
                    }
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                    //修改发送方式的状态为失败
                    if(serviceSubtaskPreachform.getPreachform().equals("1")){
                        serviceSubtaskPreachform.setSendstate("7");
                        serviceSubtaskPreachform.setId(id.get());
                    }else {
                    serviceSubtaskPreachform.setSendstate("5");
                    serviceSubtaskPreachform.setId(id.get());
                    }
                    serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform);
                    continue;
                }
@@ -920,7 +931,7 @@
                }
            }
        } else if (descByCode.equals("人工")) {
            setSuccessPreachForm(serviceSubtask, sendPreachform, "人工待执行", "2");
            setSuccessPreachForm(serviceSubtask, sendPreachform, "人工超时", "7");
        }
    }
@@ -988,6 +999,11 @@
                    //说明全发送失败了
                    serviceSubtask.setSendstate(5L);
                    log.error("getSendPreachform方法 检查是否所有sendstate不等于9, 全失败了");
                    //人工发送超时
                    if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
                        serviceSubtask.setSendstate(7L);
                        serviceSubtask.setRemark("getSendPreachform方法 检查是否所有sendstate不等于9, 人工发送超时");
                    }
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                    //修改发送状态
                    setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -1071,6 +1087,11 @@
            ServiceSubtaskPreachform subtaskPreachform = new ServiceSubtaskPreachform();
            subtaskPreachform.setSendstate("5");
            subtaskPreachform.setId(id.get());
            //人工发送超时
            if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
                subtaskPreachform.setSendstate("7");
                subtaskPreachform.setRemark("人工发送超时");
            }
            return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform);
        }
        return 0;
@@ -1195,10 +1216,21 @@
                if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
            }
            serviceSubtaskPreachform1.setRemark(remark);
            if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
                serviceSubtaskPreachform1.setSendstate("7");
                serviceSubtaskPreachform1.setRemark("人工发送超时");
            }
            serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
            //如果当前的preachform已经是最后一个了,那直接将serviceSubtask的sendstate状态改成5就行了(全失败了)
            if (serviceSubtaskPreachform1.getSort() == sspCount.size()) {
                if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
                    serviceSubtask.setCurrentPreachform(preachform);
                    serviceSubtask.setSendstate(7L);
                    serviceSubtask.setRemark("setSuccessPreachForm方法,人工发送超时");
                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                    return true;
                }else {
                if (failSendstate.equals("4") || failSendstate.equals("5")) {
                    serviceSubtask.setCurrentPreachform(preachform);
                    serviceSubtask.setSendstate(5L);
@@ -1207,6 +1239,8 @@
                    return true;
                }
            }
            }
        } else {
            log.error("【定时任务中该患者没有查询到属于他的发送方式,subid:{},prechform:{},orgid:{}】", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
            return false;
@@ -1214,7 +1248,12 @@
        //将下一次的随访时间与当前执行方式记录一下
        serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
        serviceSubtask.setCurrentPreachform(preachform);
        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
            serviceSubtask.setSendstate(7L);
            serviceSubtask.setRemark("人工发送超时");
        }else {
        serviceSubtask.setSendstate(3L);
        }
        if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
            //如果是宣教或通知,并且发送成功,则直接将serviceSubtask状态改成6L(这个患者是没有题做的,不会再触发接口进行状态修改)
            if (failSendstate.equals("2")) {
smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -244,8 +244,8 @@
    /**
     * 发送状态
     */
//    @Excel(name = " 发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成\") ")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成")
//    @Excel(name = " 发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成 7 超时(人工)\") ")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成 7 超时(人工)")
    private Long sendstate;
    /**
smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java
@@ -54,7 +54,7 @@
     * <p>
     * 智能语音状态:1未执行  2已发送  3拒接拒访   4号码错误   5执行失败   6不执行   9完成
     * <p>
     * 人工随访状态:1未执行   2待人工确认  3拒接拒访  4号码错误   5执行失败   6不执行      9完成
     * 人工随访状态:1未执行   2待人工确认  3拒接拒访  4号码错误   5执行失败   6不执行  7 超时     9完成
     * <p>
     * 面访状态:1未执行   9完成
     */
smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
@@ -266,7 +266,7 @@
     * 发送状态
     */
    @Excel(name = " 发送状态 ")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成 7 超时(人工)")
    private Long sendstate;
    /**
smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
@@ -265,14 +265,14 @@
     * 发送状态
     */
    @Excel(name = " 发送状态 ")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成 7 超时(人工)")
    private Long sendstate;
    /**
     * 发送状态
     */
    @Excel(name = " 发送状态集合 ")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成")
    @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取)  2 待发送  3 已发送  4 不执行  5 发送失败 6 已完成 7 超时(人工)")
    private List<Long> sendstates;
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2637,8 +2637,8 @@
                    serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
                    pendingFollowUpInfo.add(serviceSubtask);
                }
                //首次随访失败
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
                //首次随访失败(包括随访失败+人工超时)
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                    serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                    followUpFailInfo.add(serviceSubtask);
                }
@@ -2867,7 +2867,7 @@
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
                    serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
                if (serviceSubtask.getSendstate() != null &&  (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                    serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                }
                if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
@@ -2985,7 +2985,7 @@
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
                    serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                }
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
                if (serviceSubtask.getSendstate() != null &&  (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                    serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                }
                if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {