陈昶聿
12 小时以前 a9d3da5b62ed78a9e4d50e774672b3f0f658fd4a
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -329,18 +329,41 @@
            }
            //获取该患者所有的执行状态
            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());
                map.put("preachform", item.getPreachform());
                map.put("compensateTime", item.getCompensateTime());
                return map;
            }).collect(Collectors.toList());
            serviceTaskVO.setPreachformList(resultList);
//            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());
//                map.put("preachform", item.getPreachform());
//                map.put("compensateTime", item.getCompensateTime());
//                return map;
//            }).collect(Collectors.toList());
//            serviceTaskVO.setPreachformList(resultList);
//            String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
//            serviceTaskVO.setPreachform(result);
        }
        if(StringUtils.isNotEmpty(serviceTaskVO.getPreachformDesc())){
            //直接通过PreachformDesc生成List返回
            try {
                List<Map<String, Object>> mapList = objectMapper.readValue(serviceTaskVO.getPreachformDesc(), List.class);
                serviceTaskVO.setPreachformList(mapList);
            }catch (Exception e) {
            }
        }else {
            if(CollectionUtils.isNotEmpty(list)){
                //获取该患者所有的执行状态
                List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformLists.stream()
                        .filter((item -> item.getSubid().equals(list.get(0).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());
                    map.put("preachform", item.getPreachform());
                    map.put("compensateTime", item.getCompensateTime());
                    return map;
                }).collect(Collectors.toList());
                serviceTaskVO.setPreachformList(resultList);
            }
        }
        serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
        return serviceTaskVO;
@@ -493,6 +516,7 @@
        if (patMedInhospList.size() > 0) {
            serviceSubtask1.setIsVisitAgain(2);
            serviceSubtask1.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";患者再入院了" : "患者再入院了");
            serviceSubtask1.setSendstate(4L);
            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
            return "无需再次随访,患者再入院了";
        } else if (serviceSubtask1.getSendstate() == 4L) {
@@ -2521,6 +2545,29 @@
    }
    /**
     * 获取专病随访统计比例
     *
     * @param serviceSubtaskCountReq
     * @return
     */
    @Override
    @Cacheable(value = "specialSfStatistics", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
    public List<ServiceSubtaskStatistic> getSpecialSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
        log.info("getSpecialSfStatistics的入参为:{}", serviceSubtaskCountReq);
        String groupKey = "drcode";
        if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
            groupKey = "drcode";
        } else {
            groupKey = "task_name";
        }
        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
        serviceSubtaskCountReq.setGroupKey(groupKey);
        serviceSubtaskStatistics = serviceSubtaskMapper.getSpecialSfStatistics(serviceSubtaskCountReq);
        return serviceSubtaskStatistics;
    }
    /**
     * 随访统计-及时率统计
     *
     * @param serviceSubtaskCountReq
@@ -2996,7 +3043,6 @@
        }
        return serviceSubtaskStatistic;
    }
    /**
     * 首次随访统计
     *