| | |
| | | @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 |
| | | """) |
| | |
| | | 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 |
| | | """) |
| | |
| | | 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 |
| | | """) |
| | |
| | | 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 |
| | | """) |
| | |
| | | ) |
| | | 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>> |
| | | |
| | |
| | | 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> |
| | | } |