From 694e342884ac0119ceca6030fd7be6b6afd93c28 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期二, 20 五月 2025 14:16:33 +0800 Subject: [PATCH] whereSql 逻辑 考虑指标精度和转换系数 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java | 35 +++++++++++++++++++++++++++++------ 1 files changed, 29 insertions(+), 6 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java index 08f68dd..a92a5a7 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java @@ -153,14 +153,25 @@ 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(" <= '"); + 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; @@ -244,15 +255,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; -- Gitblit v1.9.3