陈昶聿
5 小时以前 c0ee7d43fdd2aed5e22bfbf90eb3eb1377bf5041
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -456,18 +456,18 @@
        if (patMedInhospList.size() > 0) {
            serviceSubtask1.setIsVisitAgain(2);
            serviceSubtask1.setRemark(serviceSubtask1.getRemark() + ";患者再入院了");
            serviceSubtask1.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";患者再入院了" : "患者再入院了");
            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
            return "无需再次随访,患者再入院了";
        } else if (serviceSubtask1.getSendstate() == 4L) {
            serviceSubtask1.setIsVisitAgain(2);
            serviceSubtask1.setRemark(serviceSubtask1.getRemark() + ";无需再次随访,任务被标记不在执行");
            serviceSubtask1.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";无需再次随访,任务被标记不在执行" : "无需再次随访,任务被标记不在执行");
            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
            return "无需再次随访,任务被标记不在执行";
        } else if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
            serviceSubtask1.setIsVisitAgain(2);
            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
            serviceSubtask1.setRemark(serviceSubtask1.getRemark() + ";无需再次随访,患者被标记不需要被服务");
            serviceSubtask1.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ";无需再次随访,患者被标记不需要被服务" : "无需再次随访,患者被标记不需要被服务");
            return "无需再次随访,患者被标记不需要被服务";
        } else if (ObjectUtils.isNotEmpty(serviceSubtask1.getIsVisitAgain()) && serviceSubtask1.getIsVisitAgain() == 2) {
            return "无需再次随访,该任务已经再次随访过了";
@@ -2303,7 +2303,7 @@
            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()));
                req.setEndAdmitdate(DateUtils.addDays(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()), 1));
            } else {
                // year 类型:timePeriod 格式为 "yyyy-MM",取当月第一天和最后一天
                java.time.YearMonth ym = java.time.YearMonth.parse(serviceStatisticsResponse.getTimePeriod());
@@ -2371,13 +2371,13 @@
    public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
        log.info("getSfStatistics的入参为:{}", serviceSubtaskCountReq);
        String groupKey = "drcode";
        if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && !serviceSubtaskCountReq.getLeavehospitaldistrictcodes().isEmpty()) {
        if (serviceSubtaskCountReq.getStatisticaltype() != null && serviceSubtaskCountReq.getStatisticaltype() == 1) {
            if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
                groupKey = "drcode";
            } else {
                groupKey = "leavehospitaldistrictcode";
            }
        } else if (serviceSubtaskCountReq.getDeptcodes() != null && !serviceSubtaskCountReq.getDeptcodes().isEmpty()) {
        } else if (serviceSubtaskCountReq.getStatisticaltype() != null && serviceSubtaskCountReq.getStatisticaltype() == 2) {
            if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
                groupKey = "drcode";
            } else {
@@ -2679,6 +2679,8 @@
            serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
            //出院人次
            serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
            //无需随访详情
            List<ServiceSubtask> nonFollowUpInfo = new ArrayList<>();
            //记录过滤患者详情
            List<ServiceSubtask> filterServiceSubtasks = new ArrayList<>();
            //记录首次应随访详情
@@ -2715,6 +2717,7 @@
                //无需随访人次
                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                    serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
                    nonFollowUpInfo.add(serviceSubtask);
                    if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
                        serviceSubtaskStatistic.setFilterCount(serviceSubtaskStatistic.getFilterCount() + 1L);
                        filterServiceSubtasks.add(serviceSubtask);
@@ -2893,6 +2896,8 @@
                }
            }
            serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
            //记录无需随访详情
            serviceSubtaskStatistic.setNonFollowUpInfo(nonFollowUpInfo);
            //记录首次应随访详情
            serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
            //记录首次待随访详情
@@ -2945,6 +2950,8 @@
        serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
        //出院人次
        serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
        //无需随访详情
        List<ServiceSubtask> nonFollowUpInfo = new ArrayList<>();
        //记录过滤患者详情
        List<ServiceSubtask> filterServiceSubtasks = new ArrayList<>();
        //记录首次应随访详情
@@ -2966,6 +2973,7 @@
            //无需随访人次
            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
                nonFollowUpInfo.add(serviceSubtask);
                if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
                    serviceSubtaskStatistic.setFilterCount(serviceSubtaskStatistic.getFilterCount() + 1L);
                    filterServiceSubtasks.add(serviceSubtask);
@@ -3071,6 +3079,8 @@
            }
        }
        serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
        //记录无需随访详情
        serviceSubtaskStatistic.setNonFollowUpInfo(nonFollowUpInfo);
        //记录首次应随访详情
        serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
        //记录首次待随访详情
@@ -3107,6 +3117,8 @@
        serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
        //出院人次
        serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
        //无需随访详情
        List<ServiceSubtask> nonFollowUpInfo = new ArrayList<>();
        //记录过滤患者详情
        List<ServiceSubtask> filterServiceSubtasks = new ArrayList<>();
@@ -3129,6 +3141,7 @@
            //无需随访人次
            if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
                serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
                nonFollowUpInfo.add(serviceSubtask);
                if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
                    serviceSubtaskStatistic.setFilterCount(serviceSubtaskStatistic.getFilterCount() + 1L);
                    filterServiceSubtasks.add(serviceSubtask);
@@ -3234,6 +3247,8 @@
            }
        }
        serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
        //记录无需随访详情
        serviceSubtaskStatistic.setNonFollowUpInfo(nonFollowUpInfo);
        //记录再次应随访详情
        serviceSubtaskStatistic.setNeedFollowUpAgainInfo(needFollowUpAgainInfo);
        //记录再次待随访详情
@@ -4046,23 +4061,19 @@
        List<Map<String, Object>> detail = new ArrayList<>();
        for (Map<String, Object> row : districtRows) {
            String groupName = row.get("groupName") == null
                    ? (row.get("groupCode") == null ? "" : row.get("groupCode").toString())
                    : row.get("groupName").toString();
            String groupName = row.get("groupName") == null ? (row.get("groupCode") == null ? "" : row.get("groupCode").toString()) : row.get("groupName").toString();
            long noCnt = row.get("noContinueCnt") == null ? 0L : Long.parseLong(row.get("noContinueCnt").toString());
            long yesCnt = row.get("continueCnt") == null ? 0L : Long.parseLong(row.get("continueCnt").toString());
            totalNoContinue += noCnt;
            totalContinue += yesCnt;
            Map<String, Object> item = new LinkedHashMap<>();
            item.put("未延续_" + groupName, noCnt);
            item.put("已延续_"+groupName, yesCnt);
            item.put("已延续_" + groupName, yesCnt);
            detail.add(item);
        }
        for (Map<String, Object> row : deptRows) {
            String groupName = row.get("groupName") == null
                    ? (row.get("groupCode") == null ? "" : row.get("groupCode").toString())
                    : row.get("groupName").toString();
            String groupName = row.get("groupName") == null ? (row.get("groupCode") == null ? "" : row.get("groupCode").toString()) : row.get("groupName").toString();
            long noCnt = row.get("noContinueCnt") == null ? 0L : Long.parseLong(row.get("noContinueCnt").toString());
            long yesCnt = row.get("continueCnt") == null ? 0L : Long.parseLong(row.get("continueCnt").toString());
            totalNoContinue += noCnt;