From e103a70d2ac198ebbd7493eb657e2cd23089d028 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 18 四月 2025 15:43:46 +0800
Subject: [PATCH] fix : 列表图标

---
 app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt b/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
index d8b0118..455c801 100644
--- a/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
+++ b/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
@@ -54,7 +54,7 @@
         SELECT * FROM Code 
         WHERE oneLevel LIKE '%' || :keyword || '%' 
         AND pickup = '0'
-        ORDER BY time DESC
+        ORDER BY createTime DESC
     """)
     fun getByKeyword(keyword: String): List<Code>
 
@@ -86,16 +86,16 @@
     @Query("""
         SELECT * FROM code 
         WHERE substr(createTime, 1, 10) = 
-              date(:date/1000, 'unixepoch', 'localtime') and pickup = 1
+              date(:date/1000, 'unixepoch', 'localtime') and pickup = 1 and category='快递'
         ORDER BY createTime DESC
     """)
-    fun getPackagesByDayUnread(date: Long): Flow<List<Code>>
+    fun getPackagesByDayReaded(date: Long): Flow<List<Code>>
 
     @Query("""
         SELECT oneLevel as courierName, COUNT(*) as count 
         FROM code 
         WHERE strftime('%Y-%W', substr(createTime, 1, 10)) = 
-              strftime('%Y-%W', datetime(:date/1000, 'unixepoch', 'localtime'))
+              strftime('%Y-%W', datetime(:date/1000, 'unixepoch', 'localtime'))  and category='快递'
         GROUP BY oneLevel
         ORDER BY count DESC
     """)
@@ -135,7 +135,7 @@
         SELECT oneLevel as courierName, COUNT(*) as count 
         FROM code 
         WHERE strftime('%Y-%m', substr(createTime, 1, 10)) = 
-              strftime('%Y-%m', datetime(:date/1000, 'unixepoch', 'localtime'))
+              strftime('%Y-%m', datetime(:date/1000, 'unixepoch', 'localtime')) and category='快递'
         GROUP BY oneLevel
         ORDER BY count DESC
     """)
@@ -145,7 +145,7 @@
         SELECT oneLevel as courierName, COUNT(*) as count 
         FROM code 
         WHERE strftime('%Y', substr(createTime, 1, 10)) = 
-              strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime'))
+              strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) and category='快递'
         GROUP BY oneLevel
         ORDER BY count DESC
     """)
@@ -202,7 +202,7 @@
             CAST(strftime('%W', dates.date) AS INTEGER) as weekOfYear,
             COUNT(code.id) as count
         FROM dates 
-        LEFT JOIN code ON date(code.createTime) = dates.date
+        LEFT JOIN code ON date(code.createTime) = dates.date and code.category='快递'
         GROUP BY dates.date
         ORDER BY dates.date
     """)
@@ -237,12 +237,12 @@
         )
         SELECT 
             strftime('%m', month_start) as date,
-            COUNT(code.id) as count,
+            COUNT(c.id) as count,
             strftime('%Y-%m-%d', month_start) as weekStart
-        FROM months 
-        LEFT JOIN code ON strftime('%Y-%m', code.createTime) = strftime('%Y-%m', months.month_start)
-        GROUP BY months.month_start
-        ORDER BY months.month_start ASC
+        FROM months m
+        LEFT JOIN code c ON strftime('%Y-%m', c.createTime) = strftime('%Y-%m', m.month_start)  and c.category='快递'
+        GROUP BY m.month_start
+        ORDER BY m.month_start ASC
     """)
     fun getYearMonthlyStats(date: Long): Flow<List<DailyStat>>
 
@@ -335,9 +335,17 @@
         COUNT(c.id) AS count,
         '' AS weekStart
     FROM dates d
-    LEFT JOIN code c ON date(c.createTime) = d.date_value
+    LEFT JOIN code c ON date(c.createTime) = d.date_value and c.category='快递'
     GROUP BY d.date_value
     ORDER BY d.date_value ASC
 """)
     fun getWeeklyStatsChart(startDateCur: String, endDateCur: String): Flow<List<DailyStat>>
+
+
+    @Query("""
+        SELECT COUNT(1)
+        FROM code
+        WHERE date(createTime) BETWEEN date(:startDateCur) AND date(:endDateCur) and category =:type
+    """)
+    fun getDateStatsByType(startDateCur: String, endDateCur: String,type: String): Flow<Long>
 }

--
Gitblit v1.9.3