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())) { serviceSubtask.setSendstate(5L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败"); if(serviceSubtask.getPreachform().equals("1")){ serviceSubtask.setSendstate(7L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿 人工超时"); }else { serviceSubtask.setSendstate(5L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败"); } serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //修改发送方式的状态为失败 serviceSubtaskPreachform.setSendstate("5"); serviceSubtaskPreachform.setId(id.get()); 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,17 +1216,30 @@ 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 (failSendstate.equals("4") || failSendstate.equals("5")) { if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){ serviceSubtask.setCurrentPreachform(preachform); serviceSubtask.setSendstate(5L); serviceSubtask.setRemark("setSuccessPreachForm方法,当前的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); serviceSubtask.setRemark("setSuccessPreachForm方法,当前的preachform已经是最后一个了,全部执行失败"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); return true; } } } } else { log.error("【定时任务中该患者没有查询到属于他的发送方式,subid:{},prechform:{},orgid:{}】", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid()); @@ -1214,7 +1248,12 @@ //将下一次的随访时间与当前执行方式记录一下 serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime())); serviceSubtask.setCurrentPreachform(preachform); serviceSubtask.setSendstate(3L); 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) {