dengzedong
9 天以前 eb1c7808ccd8cf2aa2d0eae1ab20e560908841e3
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java
@@ -66,7 +66,7 @@
        if (dataSet == null) {
            return result;
        }
        result.setDataSource(indItem.getDataSource());
        result.setDataSource(dataSet.getDataSource());
        StringBuilder selectSql = new StringBuilder();
        IndStatFuncEnum statFun = IndStatFuncEnum.getEumByCode(StringUtils.isBlank(indItem.getStatFunc()) ? IndStatFuncEnum.DEFAULT.getCode() : indItem.getStatFunc());
        switch (statFun) {
@@ -153,20 +153,35 @@
        switch (timeLimit) {
            case TODAY:
                whereSql.append(indItem.getTimeLabel());
                whereSql.append("='");
                whereSql.append(" >= '");
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" < '");
                calendar.add(Calendar.DAY_OF_YEAR, 1);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("'");
                break;
            case YESTERDAY:
                calendar.add(Calendar.DAY_OF_YEAR, -1);
                whereSql.append(indItem.getTimeLabel());
                whereSql.append("='");
                whereSql.append(" < '");
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" >= '");
                calendar.add(Calendar.DAY_OF_YEAR, -1);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("'");
                break;
            case LAST_DAY_7:
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" <= '");
                whereSql.append(" < '");
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
@@ -177,7 +192,9 @@
                break;
            case LAST_DAY_30:
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" <= '");
                whereSql.append(" < '");
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
@@ -188,7 +205,9 @@
                break;
            case LAST_DAY_90:
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" <= '");
                whereSql.append(" < '");
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
@@ -244,15 +263,27 @@
                whereSql.append("'");
                break;
            case LAST_YEAR:
                calendar.add(Calendar.YEAR, -1);
                whereSql.append(indItem.getTimeLabel());
                whereSql.append("='");
                whereSql.append(" <= '");
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" >= '");
                calendar.add(Calendar.YEAR, -1);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("'");
                break;
            case THIS_YEAR:
                whereSql.append(indItem.getTimeLabel());
                whereSql.append("='");
                whereSql.append(" >= '");
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                calendar.set(Calendar.DAY_OF_YEAR, 1);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("' AND ");
                whereSql.append(indItem.getTimeLabel());
                whereSql.append(" < '");
                calendar.add(Calendar.YEAR, 1);
                whereSql.append(DateUtils.format(calendar.getTime(), datePattern));
                whereSql.append("'");
                break;