陈昶聿
15 小时以前 75dd91a2aa8682d458fd3dc6df6a52feb43a0c89
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -104,10 +104,16 @@
    private IServiceOutPathService iServiceOutPathService;
    @Autowired
    private IPatMedOuthospService iPatMedOuthospService;
    @Autowired
    private FtpService ftpService;
    @Autowired
    private PatMedInhospMapper patMedInhospMapper;
    @Autowired
    private PatMedOuthospMapper patMedOuthospMapper;
    @Autowired
    private PatArchiveMapper patArchiveMapper;
@@ -199,6 +205,15 @@
            try {
                List<Map<String, Object>> mapList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
                serviceTaskVO.setPreachformList(mapList);
                if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){
                    ServiceTaskoper operVo = new ServiceTaskoper();
                    operVo.setTaskId(serviceTask.getTaskid());
                    operVo.setOrgid(serviceTask.getOrgid());
                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo);
                    if(ObjectUtils.isNotEmpty(serviceTaskopers)){
                        serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode());
                    }
                }
//
//                String result = mapList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
//                serviceTaskVO.setPreachform(result);
@@ -216,6 +231,15 @@
        serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon());
        serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight());
        serviceTaskVO.setPreachform(serviceTask.getPreachform());
        if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){
            ServiceTaskoper operVo = new ServiceTaskoper();
            operVo.setTaskId(serviceTask.getTaskid());
            operVo.setOrgid(serviceTask.getOrgid());
            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo);
            if(ObjectUtils.isNotEmpty(serviceTaskopers)){
                serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode());
            }
        }
        String sendTimeSlot = serviceTask.getSendTimeSlot();
        ObjectMapper objectMapper = new ObjectMapper();
        try {
@@ -303,7 +327,6 @@
//            String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
//            serviceTaskVO.setPreachform(result);
        }
        serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
        return serviceTaskVO;
    }
@@ -315,7 +338,10 @@
        List<ServiceSubtaskRes> serviceSubtaskResList = new ArrayList<>();
        for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
            ServiceSubtaskRes serviceSubtaskRes = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskRes.class);
            serviceSubtaskRes.setContinueContent(JSONObject.parseObject(serviceSubtask.getContinueContent()));
            if (ObjectUtils.isNotEmpty(serviceSubtask.getContinueContent())) {
                serviceSubtaskRes.setContinueContent(serviceSubtask.getContinueContent());
            }
            serviceSubtaskResList.add(serviceSubtaskRes);
        }
        return serviceSubtaskResList;
    }
@@ -590,19 +616,22 @@
                    ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                    serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                    serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
                    serviceTaskoper.setTaskId(serviceTask.getTaskid());
                    serviceTaskoper.setTaskName(serviceTask.getTaskName());
                    serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
                    serviceTaskoper.setGuid(serviceTask.getGuid());
                    serviceTaskoper.setOrgid(serviceTask.getOrgid());
                    serviceTaskoper.setCreateTime(new Date());
                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
                        for (String opcode : opcodes) {
                            serviceTaskoper.setOpcode(opcode);
                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                        }
                    if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
//                        for (String opcode : opcodes) {
//                            serviceTaskoper.setOpcode(opcode);
//                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
//                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
//                        }
                        log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                    }
                } else {
@@ -826,35 +855,48 @@
                } else if (serviceTaskVO.getAppltype().equals("4")) {
                    ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                    if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
                        throw new BaseException("手术编码为空");
                    }
//                    if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
//                        throw new BaseException("手术编码为空");
//                    }
//                serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                    serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
                    serviceTaskoper.setTaskId(serviceTask.getTaskid());
                    serviceTaskoper.setTaskName(serviceTask.getTaskName());
                    serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
                    serviceTaskoper.setGuid(serviceTask.getGuid());
                    serviceTaskoper.setOrgid(serviceTask.getOrgid());
                    serviceTaskoper.setCreateTime(new Date());
                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
                        for (String opcode : opcodes) {
                            //先查询一下是否存在
                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
//                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
//                        for (String opcode : opcodes) {
//                            //先查询一下是否存在
//                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
//                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
//                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
//                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
//
//                            serviceTaskoper.setOpcode(opcode);
//                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
//                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
//                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
//                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
//                            } else {
//                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
//                            }
//                        }
//                    }
                    ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
                    serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
                    serviceTaskoper2.setOrgid(serviceTask.getOrgid());
//                    serviceTaskoper2.setOplevelcode(serviceTaskVO.getOplevelcode());
                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
                            serviceTaskoper.setOpcode(opcode);
                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
                            } else {
                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                            }
                        }
                    if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
                        serviceTaskoper.setId(serviceTaskopers.get(0).getId());
                        serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
                    } else {
                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                    }
                }
            }
@@ -2191,6 +2233,26 @@
        List<ServiceStatisticsResponse> result = serviceSubtaskMapper.getServiceStatistics(request);
        //获取门急诊数据
        //填充门诊数据
        for (ServiceStatisticsResponse serviceStatisticsResponse : result) {
            PatMedOuthospQueryReq req = new PatMedOuthospQueryReq();
            String deptcodes = CollectionUtils.isEmpty(request.getDeptcodes()) ? null : String.join(",", request.getDeptcodes());
            if (!request.getTimeType().equals("month")) {
                req.setBeginAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
                req.setEndAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
            } else {
                // year 类型:timePeriod 格式为 "yyyy-MM",取当月第一天和最后一天
                java.time.YearMonth ym = java.time.YearMonth.parse(serviceStatisticsResponse.getTimePeriod());
                req.setBeginAdmitdate(DateUtils.toDate(ym.atDay(1)));
                req.setEndAdmitdate(DateUtils.toDate(ym.atEndOfMonth()));
            }
            req.setDeptcode(deptcodes);
            req.setOrgid(request.getOrgid());
            Long count = patMedOuthospMapper.callSpQueryOuthospCount(req);
            serviceStatisticsResponse.setPmoCount(count);
        }
        log.info("getServiceStatistics返回结果数量:{}", result.size());
        return result;
@@ -2288,7 +2350,7 @@
            if (CollectionUtils.isEmpty(serviceSubtaskList)) {
                continue;
            }
            ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList, serviceSubtaskCountReq.getFollowUpCountStyle());
            ServiceSubtaskStatistic statistic = getStatistic(serviceSubtaskList, serviceSubtaskCountReq.getFollowUpCountStyle(), serviceSubtaskCountReq.getVisitCount());
            if (ObjectUtils.isNotEmpty(jsRates)) {
                Map<String, Object> jsRateMap = jsRates.get(collectKey);
                BigDecimal jsRate = new BigDecimal("0");
@@ -2330,6 +2392,7 @@
        ssRate.setOrgid(serviceSubtaskCountReq.getOrgid());
        ssRate.setStarttime(serviceSubtaskCountReq.getStartTime());
        ssRate.setEndtime(serviceSubtaskCountReq.getEndTime());
        ssRate.setVisitCount(serviceSubtaskCountReq.getVisitCount());
        if (serviceSubtaskCountReq.getEndTime() != null && new Date().before(serviceSubtaskCountReq.getEndTime())) {
            ssRate.setEndtime(new Date());
        }
@@ -2536,7 +2599,24 @@
    }
    private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle) {
    private ServiceSubtaskStatistic getStatistic(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle, Integer visitCount) {
        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
        if (visitCount != null && visitCount > 1) {
            serviceSubtaskStatistic = getStatisticAgain(serviceSubtaskList, followUpCountStyle);
        }else {
            serviceSubtaskStatistic = getStatisticFirst(serviceSubtaskList, followUpCountStyle);
        }
        return serviceSubtaskStatistic;
    }
    /**
     * 首次随访统计
     * @param serviceSubtaskList
     * @param followUpCountStyle
     * @return
     */
    private ServiceSubtaskStatistic getStatisticFirst(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle) {
        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
        //格式化为两位小数的百分比
        DecimalFormat percentFormat = new DecimalFormat("##.##%");
@@ -2565,21 +2645,6 @@
        //记录首次随访微信详情
        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) {
            //无需随访人次
            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
@@ -2606,8 +2671,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);
                }
@@ -2667,8 +2732,97 @@
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
                    serviceSubtaskStatistic.setAbnormal(serviceSubtaskStatistic.getAbnormal() + 1L);
                }
            }//二次出院随访
            else if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
            }
            //随访情况
            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 1) {
                serviceSubtaskStatistic.setTaskSituation1(serviceSubtaskStatistic.getTaskSituation1() + 1);
            }
            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 2) {
                serviceSubtaskStatistic.setTaskSituation2(serviceSubtaskStatistic.getTaskSituation2() + 1);
            }
            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 3) {
                serviceSubtaskStatistic.setTaskSituation3(serviceSubtaskStatistic.getTaskSituation3() + 1);
            }
            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 4) {
                serviceSubtaskStatistic.setTaskSituation4(serviceSubtaskStatistic.getTaskSituation4() + 1);
            }
            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 5) {
                serviceSubtaskStatistic.setTaskSituation5(serviceSubtaskStatistic.getTaskSituation5() + 1);
            }
            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 7) {
                serviceSubtaskStatistic.setTaskSituation6(serviceSubtaskStatistic.getTaskSituation6() + 1);
            }
        }
        serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
        //记录首次应随访详情
        serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
        //记录首次待随访详情
        serviceSubtaskStatistic.setPendingFollowUpInfo(pendingFollowUpInfo);
        //记录首次随访成功详情
        serviceSubtaskStatistic.setFollowUpSuccessInfo(followUpSuccessInfo);
        //记录首次随访失败详情
        serviceSubtaskStatistic.setFollowUpFailInfo(followUpFailInfo);
        //记录首次随访人工详情
        serviceSubtaskStatistic.setManualInfo(manualInfo);
        //记录首次随访短信详情
        serviceSubtaskStatistic.setSmsInfo(smsInfo);
        //记录首次随访微信详情
        serviceSubtaskStatistic.setWechatInfo(wechatInfo);
        return serviceSubtaskStatistic;
    }
    /**
     * 再次随访统计
     * @param serviceSubtaskList
     * @param followUpCountStyle
     * @return
     */
    private ServiceSubtaskStatistic getStatisticAgain(List<ServiceSubtask> serviceSubtaskList, String followUpCountStyle) {
        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
        //格式化为两位小数的百分比
        DecimalFormat percentFormat = new DecimalFormat("##.##%");
        serviceSubtaskStatistic.setDeptname(serviceSubtaskList.get(0).getDeptname());
        serviceSubtaskStatistic.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
        serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname());
        serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
        serviceSubtaskStatistic.setDrcode(serviceSubtaskList.get(0).getDrcode());
        serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
        //出院人次
        serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
        //记录过滤患者详情
        List<ServiceSubtask> filterServiceSubtasks = 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) {
            //无需随访人次
            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
                if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
                    serviceSubtaskStatistic.setFilterCount(serviceSubtaskStatistic.getFilterCount() + 1L);
                    filterServiceSubtasks.add(serviceSubtask);
                }
            }
            //应随访人次
            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
            }
            //再次出院随访
            if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
                //再次应随访
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                    serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
@@ -2762,20 +2916,6 @@
            }
        }
        serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
        //记录首次应随访详情
        serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
        //记录首次待随访详情
        serviceSubtaskStatistic.setPendingFollowUpInfo(pendingFollowUpInfo);
        //记录首次随访成功详情
        serviceSubtaskStatistic.setFollowUpSuccessInfo(followUpSuccessInfo);
        //记录首次随访失败详情
        serviceSubtaskStatistic.setFollowUpFailInfo(followUpFailInfo);
        //记录首次随访人工详情
        serviceSubtaskStatistic.setManualInfo(manualInfo);
        //记录首次随访短信详情
        serviceSubtaskStatistic.setSmsInfo(smsInfo);
        //记录首次随访微信详情
        serviceSubtaskStatistic.setWechatInfo(wechatInfo);
        //记录再次应随访详情
        serviceSubtaskStatistic.setNeedFollowUpAgainInfo(needFollowUpAgainInfo);
        //记录再次待随访详情
@@ -2792,6 +2932,7 @@
        serviceSubtaskStatistic.setWechatAgainInfo(wechatAgainInfo);
        return serviceSubtaskStatistic;
    }
    private ServiceSubtaskStatistic getStatisticJoy(List<ServiceSubtask> serviceSubtaskList, List<ServiceSubtaskCount> joySubCount) {
        ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
@@ -2836,7 +2977,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) {
@@ -2954,7 +3095,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) {
@@ -3177,7 +3318,7 @@
     * @return
     */
    @Override
    @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
//    @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
    public List<ServiceSubtaskStatistic> getSfStatisticsScript(ServiceSubtaskCountReq serviceSubtaskCountReq) {
        log.info("getSfStatisticsScript的入参为:{}", serviceSubtaskCountReq);
        List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
@@ -3532,7 +3673,7 @@
            diagname.setSuggest(subtask.getSuggest());
            diagname.setOperator(subtask.getOperator());
            diagname.setFinishtime(subtask.getFinishtime());
            diagname.setLongSendTime(subtask.getLongSendTime());
            diagname.setVisitTime(subtask.getVisitTime());
            diagname.setEndtime(subtask.getEndtime());
            //计算出院天数
            if (!Objects.isNull(diagname.getEndtime())) {
@@ -3553,4 +3694,7 @@
        }).collect(Collectors.toList());
    }
    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity){
        return serviceSubtaskMapper.getCurrentUserServiceSubtaskCount(entity);
    }
}