Browse Source

代码修改

liubing 3 years ago
parent
commit
12db5c638b

+ 57 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java

@ -1280,16 +1280,68 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
            }else {
                sql = sql.replace("{{patient}}"," ");
            }
            String sqlCount = " select count(*) from ("+sql+")A ";
            sql  = "  SELECT GROUP_CONCAT(OrderType) as OrderType,SUM(total) total,create_time FROM ("+sql+")A GROUP BY create_time " +
                    "order by create_time desc limit "+page*pageSize+","+pageSize;
            long count = jdbcTemplate.queryForObject(sqlCount,long.class);
                    "order by create_time desc";
            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
            List<String> warnDays = list.stream().map(item->(item).get("create_time").toString()).collect(Collectors.toList());
            //获取无预警时间列表
            Date dateBegin = DateUtil.strToDate("2021-09-01");
            Date dateNow = new Date();
            Date dateNow1 = DateUtil.strToDate(DateUtil.getStringDateShort()+" 08:00:00");
            Date dateNow2 = DateUtil.strToDate(DateUtil.getStringDateShort()+" 20:00:00");
            List<String> noWarnDays = new ArrayList<>();
            String dateTmp = "";
            if (dateNow.after(dateNow1)){
                dateTmp = DateUtil.dateToStr(dateNow1,DateUtil.yyyy_MM_dd_HH_mm_ss);
                if (!warnDays.contains(dateTmp)){
                    noWarnDays.add(dateTmp);
                }
            }
            if (dateNow.after(dateNow2)){
                dateTmp = DateUtil.dateToStr(dateNow2,DateUtil.yyyy_MM_dd_HH_mm_ss);
                if (!warnDays.contains(dateTmp)){
                    noWarnDays.add(dateTmp);
                }
            }
            for (;dateNow.after(dateBegin);){
                dateNow = DateUtil.getPreDays(dateNow,-1);
                dateTmp = DateUtil.dateToStrShort(dateNow)+" 08:00:00";
                if (!warnDays.contains(dateTmp)){
                    noWarnDays.add(dateTmp);
                }
                dateTmp = DateUtil.dateToStrShort(dateNow)+" 20:00:00";
                if (!warnDays.contains(dateTmp)){
                    noWarnDays.add(dateTmp);
                }
            }
            Integer count = noWarnDays.size();
            if (count>0) {
                Integer pageCount = 0;
                if (count % pageSize == 0) {
                    pageCount = count / pageSize;
                } else {
                    pageCount = count / pageSize + 1;
                }
                int fromIndex = 0;
                int toIndex = 0;
                if (page != pageCount) {
                    fromIndex = (page) * pageSize;
                    toIndex = fromIndex + pageSize;
                } else {
                    fromIndex = (page) * pageSize;
                    toIndex = count;
                }
                if (toIndex > count) {
                    toIndex = count;
                }
                result.put("dailyDataList", noWarnDays.subList(fromIndex,toIndex));
            }else {
                result.put("dailyDataList", new ArrayList<>());
            }
            result.put("dailyTotal",count);
            result.put("dailyPage",page+1);
            result.put("dailyPageSize",pageSize);
            result.put("dailyDataList", list);
        }
        return result;