| | |
| | | mins = ((end - start) / oneMin); |
| | | break; |
| | | case IND: |
| | | // 指标数据 |
| | | oneMin = 24 * 60 * 60 * 1000; |
| | | Calendar calendar2 = Calendar.getInstance(); |
| | | calendar2.setTime(startTime); |
| | | calendar2.set(Calendar.HOUR_OF_DAY, 0); |
| | | calendar2.set(Calendar.MINUTE, 0); |
| | | calendar2.set(Calendar.SECOND, 0); |
| | | start = calendar2.getTime().getTime(); |
| | | |
| | | calendar2.setTime(endTime); |
| | | calendar2.set(Calendar.HOUR_OF_DAY, 0); |
| | | calendar2.set(Calendar.MINUTE, 0); |
| | | calendar2.set(Calendar.SECOND, 0); |
| | | end = calendar2.getTime().getTime(); |
| | | mins = ((end - start) / oneMin); |
| | | case IND_ASCII: |
| | | // 测点值 |
| | | oneMin = 1000L * granularity; |
| | | // 设置时间偏移量 |
| | | if (granularity >= 24*60*60) { |
| | | // 如果时间粒度大于等于一天,因为时区问题,特殊处理,否则时间为8:00,而非0:00 |
| | | start = start - ((start+8*60*60*1000) % oneMin); |
| | | end = end - ((end+8*60*60*1000) % oneMin); |
| | | } else { |
| | | start = start - (start % oneMin); |
| | | end = end - (end % oneMin); |
| | | } |
| | | mins = ((end - start) / oneMin) + 1; |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | Map<Long, Double> sourceDataMap = new HashMap<>(dataEntityList.size()); |
| | | for (DataValueVO dataEntity : dataEntityList) { |
| | | sourceDataMap.put(dataEntity.getDataTime().getTime(), dataEntity.getDataValue()); |
| | | if (null != dataEntity.getDataTime()) { |
| | | sourceDataMap.put(dataEntity.getDataTime().getTime(), dataEntity.getDataValue()); |
| | | } |
| | | } |
| | | |
| | | //找出缺少项 |