陈昶聿
14 小时以前 5aebdcd55024a3b475ead61c34b89b9605af6055
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -184,6 +184,10 @@
        List<ServiceSubtask> list = selectServiceSubtaskList(serviceSubtaskVO);
        ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
        if(ObjectUtils.isEmpty(serviceTask)){
            log.error("找不到对应的serviceTask, orgid:{}, taskid: {}", serviceSubtask.getOrgid(), serviceSubtask.getTaskid());
            return null;
        }
        if (CollectionUtils.isEmpty(list) || list.size() == 0) {
            ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class);
            ObjectMapper objectMapper = new ObjectMapper();
@@ -2440,6 +2444,27 @@
        List<ServiceSubtask> followUpSuccessInfo = new ArrayList<>();
        //记录首次随访失败详情
        List<ServiceSubtask> followUpFailInfo = new ArrayList<>();
        //记录首次随访人工详情
        List<ServiceSubtask> manualInfo = new ArrayList<>();
        //记录首次随访短信详情
        List<ServiceSubtask> smsInfo = new ArrayList<>();
        //记录首次随访微信详情
        List<ServiceSubtask> wechatInfo = new ArrayList<>();
        //记录再次应随访详情
        List<ServiceSubtask> needFollowUpAgainInfo = new ArrayList<>();
        //记录再次待随访详情
        List<ServiceSubtask> pendingFollowUpAgainInfo = new ArrayList<>();
        //记录再次随访成功详情
        List<ServiceSubtask> followUpSuccessAgainInfo= new ArrayList<>();
        //记录再次随访失败详情
        List<ServiceSubtask> followUpFailAgainInfo = new ArrayList<>();
        //记录首次随访人工详情
        List<ServiceSubtask> manualAgainInfo = new ArrayList<>();
        //记录首次随访短信详情
        List<ServiceSubtask> smsAgainInfo = new ArrayList<>();
        //记录首次随访微信详情
        List<ServiceSubtask> wechatAgainInfo= new ArrayList<>();
        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
            //无需随访人次
@@ -2483,31 +2508,46 @@
                } else {
                    serviceSubtaskStatistic.setFollowUpRate("0.00%");
                }
                //首次随访人工
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
                    serviceSubtaskStatistic.setManual(serviceSubtaskStatistic.getManual() + 1L);
                    manualInfo.add(serviceSubtask);
                }
                //首次随访短信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
                    serviceSubtaskStatistic.setSms(serviceSubtaskStatistic.getSms() + 1L);
                    smsInfo.add(serviceSubtask);
                }
                //首次随访微信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
                    serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                    wechatInfo.add(serviceSubtask);
                }
                //结果异常
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
                    serviceSubtaskStatistic.setAbnormal(serviceSubtaskStatistic.getAbnormal() + 1L);
                }
            }//二次出院随访
            else if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
                //再次应随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                    serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
                    needFollowUpAgainInfo.add(serviceSubtask);
                }
                //再次待随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
                    serviceSubtaskStatistic.setPendingFollowUpAgain(serviceSubtaskStatistic.getPendingFollowUpAgain() + 1L);
                    pendingFollowUpAgainInfo.add(serviceSubtask);
                }
                //再次随访成功
                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)) {
                    serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
                    followUpSuccessAgainInfo.add(serviceSubtask);
                }
                //再次随访失败
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
                    serviceSubtaskStatistic.setFollowUpFailAgain(serviceSubtaskStatistic.getFollowUpFailAgain() + 1L);
                    followUpFailAgainInfo.add(serviceSubtask);
                }
                if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
                    double rate = (double) (serviceSubtaskStatistic.getFollowUpSuccessAgain() + serviceSubtaskStatistic.getFollowUpFailAgain()) / serviceSubtaskStatistic.getNeedFollowUpAgain();
@@ -2515,15 +2555,22 @@
                } else {
                    serviceSubtaskStatistic.setFollowUpRateAgain("0.00%");
                }
                //再次随访人工
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
                    serviceSubtaskStatistic.setManualAgain(serviceSubtaskStatistic.getManualAgain() + 1L);
                    manualAgainInfo.add(serviceSubtask);
                }
                //再次随访短信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
                    serviceSubtaskStatistic.setSmsAgain(serviceSubtaskStatistic.getSmsAgain() + 1L);
                    smsAgainInfo.add(serviceSubtask);
                }
                //再次随访微信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
                    serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
                    wechatAgainInfo.add(serviceSubtask);
                }
                //再次异常
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
                    serviceSubtaskStatistic.setAbnormalAgain(serviceSubtaskStatistic.getAbnormalAgain() + 1L);
                }
@@ -2557,6 +2604,26 @@
        serviceSubtaskStatistic.setFollowUpSuccessInfo(followUpSuccessInfo);
        //记录首次随访失败详情
        serviceSubtaskStatistic.setFollowUpFailInfo(followUpFailInfo);
        //记录首次随访人工详情
        serviceSubtaskStatistic.setManualInfo(manualInfo);
        //记录首次随访短信详情
        serviceSubtaskStatistic.setSmsInfo(smsInfo);
        //记录首次随访微信详情
        serviceSubtaskStatistic.setWechatInfo(wechatInfo);
        //记录再次应随访详情
        serviceSubtaskStatistic.setNeedFollowUpAgainInfo(needFollowUpAgainInfo);
        //记录再次待随访详情
        serviceSubtaskStatistic.setPendingFollowUpAgainInfo(pendingFollowUpAgainInfo);
        //记录再次随访成功详情
        serviceSubtaskStatistic.setFollowUpSuccessAgainInfo(followUpSuccessAgainInfo);
        //记录再次随访失败详情
        serviceSubtaskStatistic.setFollowUpFailAgainInfo(followUpFailAgainInfo);
        //记录再次随访人工详情
        serviceSubtaskStatistic.setManualAgainInfo(manualAgainInfo);
        //记录再次随访短信详情
        serviceSubtaskStatistic.setSmsAgainInfo(smsAgainInfo);
        //记录再次随访微信详情
        serviceSubtaskStatistic.setWechatAgainInfo(wechatAgainInfo);
        return serviceSubtaskStatistic;
    }