//查出数据库中有数据的时间和数量count
List<OrderCoordinateVo> OrderDaySum = workOrderAnalysisMapper.queryCoordinateOrderDay(map);
Map<String, Object> map = linePeriodUtil(statisticalPeriod);
//遍历放入map集合中
for (OrderCoordinateVo vo : OrderDaySum) {
mapVo.put(vo.getX(), vo);
}
List<OrderCoordinateVo> list = new ArrayList<>();
//时间集合 自己写的工具类根据周期计算X轴的值,statisticalPeriod 传入周期,0代表 天。。。。
List<String> dayTime = EnergyDateTimeUtils.listTimeSlotByDateTime(statisticalPeriod);
for (String time : dayTime) {
//getTimeNameByStatisticalPeriod 本类自定义的时间处理方法 将0 变成 01 1点 变成01:00
String timeNameByStatisticalPeriod = getTimeNameByStatisticalPeriod(statisticalPeriod, time);
OrderCoordinateVo orderCoordinateVo = new OrderCoordinateVo();
//判断map 集合中是否存在 时间
if (mapVo.containsKey(time)) { //有就按照数据库查询出的count
String count = mapVo.get(time).getY();
orderCoordinateVo.setX(timeNameByStatisticalPeriod);
orderCoordinateVo.setY(count);
} else { //没有就补0
orderCoordinateVo.setX(timeNameByStatisticalPeriod);
orderCoordinateVo.setY("0");
}
list.add(orderCoordinateVo);
}
统计分析图表,显示当前(天、月、年)每(24小时、当月天数、12个月)数据总数,不足补0
最新推荐文章于 2024-07-22 14:15:06 发布