| | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.YearMonth; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | |
| | |
| | | whereSql.append(DateUtils.format(calendar.getTime(), datePattern)); |
| | | whereSql.append("'"); |
| | | break; |
| | | case LAST_DAY_90: |
| | | whereSql.append(indItem.getTimeLabel()); |
| | | whereSql.append(" <= '"); |
| | | whereSql.append(DateUtils.format(calendar.getTime(), datePattern)); |
| | | whereSql.append("' AND "); |
| | | whereSql.append(indItem.getTimeLabel()); |
| | | whereSql.append(" >= '"); |
| | | calendar.add(Calendar.DAY_OF_YEAR, -90); |
| | | whereSql.append(DateUtils.format(calendar.getTime(), datePattern)); |
| | | whereSql.append("'"); |
| | | break; |
| | | case THIS_MONTH: |
| | | whereSql.append(indItem.getTimeLabel()); |
| | | whereSql.append("='"); |
| | |
| | | selectSql.append(" data_time"); |
| | | result.setSelectSql(selectSql.toString()); |
| | | |
| | | // 根据时间粒度确定 时间格式 |
| | | String datePattern = PATTERN_MIN; |
| | | if (StringUtils.isNotBlank(itemEntity.getTimeGranularity())) { |
| | | switch (TimeGranularityEnum.getEumByCode(itemEntity.getTimeGranularity())){ |
| | | case TG_MIN: |
| | | datePattern = PATTERN_MIN; |
| | | break; |
| | | case TG_HOUR: |
| | | datePattern = PATTERN_HOUR; |
| | | break; |
| | | case TG_DAY: |
| | | datePattern = PATTERN_DAY; |
| | | break; |
| | | case TG_MON: |
| | | datePattern = PATTERN_MON; |
| | | break; |
| | | default: |
| | | datePattern = PATTERN_YEAR; |
| | | } |
| | | } |
| | | |
| | | // 拼接WHERE |
| | | StringBuilder whereSql = new StringBuilder(); |
| | | whereSql.append(" "); |
| | | whereSql.append(indItem.getTimeLabel()); |
| | | whereSql.append(" <= '"); |
| | | whereSql.append(DateUtils.format(endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); |
| | | whereSql.append(DateUtils.format(endTime, datePattern)); |
| | | whereSql.append("' AND "); |
| | | whereSql.append(indItem.getTimeLabel()); |
| | | whereSql.append(" >= '"); |
| | | whereSql.append(DateUtils.format(startTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); |
| | | whereSql.append(DateUtils.format(startTime, datePattern)); |
| | | whereSql.append("'"); |
| | | result.setWhereSql(whereSql.toString()); |
| | | |