陈昶聿
13 小时以前 9cf5ea33a17c3f16c3c864ff5ff3182d29dea8f5
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -231,7 +231,8 @@
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        List<ServiceSubtaskPreachform> serviceSubtaskPreachformLists =
                    serviceSubtaskPreachformMapper.selectBySubtask(serviceSubtask);
        for (ServiceSubtask serviceSubtask1 : list) {
            PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
            if (!serviceSubtask1.getHospType().equals("2")) {
@@ -288,10 +289,9 @@
            }
            //获取该患者所有的执行状态
            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
            serviceSubtaskPreachform.setSubid(serviceSubtask1.getId());
            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList =
                serviceSubtaskPreachformLists.stream().filter((item -> item.getSubid().equals(serviceSubtask1.getId())
                            && item.getTaskid().equals(serviceTask.getTaskid()))).collect(Collectors.toList());
            List<Map<String, Object>> resultList = serviceSubtaskPreachformList.stream().map(item -> {
                Map<String, Object> map = new HashMap<>();
                map.put("sort", item.getSort());
@@ -2566,18 +2566,24 @@
                } else {
                    serviceSubtaskStatistic.setFollowUpRate("0.00%");
                }
                //首次随访人工
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
                //首次随访人工 (不统计不执行)
                if (serviceSubtask.getSendstate() != null
                        && !serviceSubtask.getSendstate().equals(4L)
                        && serviceSubtask.getPreachform().equals("1")) {
                    serviceSubtaskStatistic.setManual(serviceSubtaskStatistic.getManual() + 1L);
                    manualInfo.add(serviceSubtask);
                }
                //首次随访短信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
                //首次随访短信(不统计不执行)
                if (serviceSubtask.getSendstate() != null
                        && !serviceSubtask.getSendstate().equals(4L)
                        && serviceSubtask.getPreachform().equals("4")) {
                    serviceSubtaskStatistic.setSms(serviceSubtaskStatistic.getSms() + 1L);
                    smsInfo.add(serviceSubtask);
                }
                //首次随访微信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
                //首次随访微信(不统计不执行)
                if (serviceSubtask.getSendstate() != null
                        && !serviceSubtask.getSendstate().equals(4L)
                        && serviceSubtask.getPreachform().equals("5")) {
                    serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
                    wechatInfo.add(serviceSubtask);
                }
@@ -2613,18 +2619,24 @@
                } else {
                    serviceSubtaskStatistic.setFollowUpRateAgain("0.00%");
                }
                //再次随访人工
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
                //再次随访人工(不统计不执行)
                if (serviceSubtask.getSendstate() != null
                        && !serviceSubtask.getSendstate().equals(4L)
                        && serviceSubtask.getPreachform().equals("1")) {
                    serviceSubtaskStatistic.setManualAgain(serviceSubtaskStatistic.getManualAgain() + 1L);
                    manualAgainInfo.add(serviceSubtask);
                }
                //再次随访短信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
                //再次随访短信(不统计不执行)
                if (serviceSubtask.getSendstate() != null
                        && !serviceSubtask.getSendstate().equals(4L)
                        && serviceSubtask.getPreachform().equals("4")) {
                    serviceSubtaskStatistic.setSmsAgain(serviceSubtaskStatistic.getSmsAgain() + 1L);
                    smsAgainInfo.add(serviceSubtask);
                }
                //再次随访微信
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
                //再次随访微信(不统计不执行)
                if (serviceSubtask.getSendstate() != null
                        && !serviceSubtask.getSendstate().equals(4L)
                        && serviceSubtask.getPreachform().equals("5")) {
                    serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
                    wechatAgainInfo.add(serviceSubtask);
                }
@@ -3132,12 +3144,12 @@
                BigDecimal finishedSum = new BigDecimal(0);
                //完成比例
                Double finishedPercentage = null;
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyAllCount())){
                    finishedSum = new BigDecimal(serviceSubtaskStatistic.getJoyAllCount());
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyCount())){
                    finishedSum = new BigDecimal(serviceSubtaskStatistic.getJoyCount());
                }
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyCount())){
                    sum = new BigDecimal(serviceSubtaskStatistic.getJoyCount());
                if(ObjectUtils.isNotEmpty(serviceSubtaskStatistic.getJoyAllCount())){
                    sum = new BigDecimal(serviceSubtaskStatistic.getJoyAllCount());
                }
                if(sum.intValue() != 0){
                    finishedPercentage = finishedSum.divide(sum, 2, RoundingMode.HALF_UP).doubleValue();