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