| | |
| | | @Query("SELECT * FROM Code") |
| | | fun getAllCodes(): List<Code> |
| | | |
| | | @Query("SELECT * FROM Code WHERE type = :type") |
| | | @Query("SELECT * FROM Code WHERE oneLevel = :type") |
| | | fun getCodesByType(type: String): List<Code> |
| | | |
| | | |
| | |
| | | |
| | | @Query(""" |
| | | SELECT * FROM Code |
| | | WHERE type LIKE '%' || :keyword || '%' |
| | | WHERE oneLevel LIKE '%' || :keyword || '%' |
| | | AND pickup = '0' |
| | | ORDER BY time DESC |
| | | """) |
| | | fun getByKeyword(keyword: String): List<Code> |
| | | |
| | | @Query("SELECT * FROM Code WHERE type = :content and code= :code and createtime = :dateString LIMIT 1") |
| | | @Query("SELECT * FROM Code WHERE oneLevel = :content and code= :code and createTime = :dateString LIMIT 1") |
| | | fun queryByTypeAndCodeAndDate(content: String, code: String, dateString: String): Code |
| | | |
| | | |
| | |
| | | fun pickup(id: Long) |
| | | |
| | | //查询当天包裹信息 |
| | | @Query("SELECT * FROM code WHERE date(createtime) = date(:date/1000, 'unixepoch', 'localtime') ORDER BY createtime DESC") |
| | | @Query("SELECT * FROM code WHERE date(createTime) = date(:date/1000, 'unixepoch', 'localtime') ORDER BY createTime DESC") |
| | | fun getNewPackagesByDay(date: Long): List<Code> |
| | | |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE substr(createtime, 1, 10) = |
| | | WHERE substr(createTime, 1, 10) = |
| | | date(:date/1000, 'unixepoch', 'localtime') |
| | | ORDER BY createtime DESC |
| | | ORDER BY createTime DESC |
| | | """) |
| | | fun getPackagesByDay(date: Long): Flow<List<Code>> |
| | | |
| | | @Query(""" |
| | | SELECT type as courierName, COUNT(*) as count |
| | | SELECT oneLevel as courierName, COUNT(*) as count |
| | | FROM code |
| | | WHERE strftime('%Y-%W', substr(createtime, 1, 10)) = |
| | | WHERE strftime('%Y-%W', substr(createTime, 1, 10)) = |
| | | strftime('%Y-%W', datetime(:date/1000, 'unixepoch', 'localtime')) |
| | | GROUP BY type |
| | | GROUP BY oneLevel |
| | | ORDER BY count DESC |
| | | """) |
| | | fun getCourierStatsByWeek(date: Long): Flow<List<CourierStat>> |
| | |
| | | COUNT(c.id) as count, |
| | | date_value as weekStart |
| | | FROM dates d |
| | | LEFT JOIN code c ON strftime('%Y-%m-%d', c.createtime) BETWEEN |
| | | LEFT JOIN code c ON strftime('%Y-%m-%d', c.createTime) BETWEEN |
| | | strftime('%Y-%m-%d', d.date_value) |
| | | AND strftime('%Y-%m-%d', date(d.date_value, '+6 days')) |
| | | GROUP BY d.date_value |
| | |
| | | |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE substr(createtime, 1, 10) = |
| | | WHERE substr(createTime, 1, 10) = |
| | | date(:date/1000, 'unixepoch', 'localtime') |
| | | ORDER BY createtime DESC |
| | | ORDER BY createTime DESC |
| | | """) |
| | | fun getPackagesByWeek(date: Long): Flow<List<Code>> |
| | | |
| | | @Query(""" |
| | | SELECT type as courierName, COUNT(*) as count |
| | | SELECT oneLevel as courierName, COUNT(*) as count |
| | | FROM code |
| | | WHERE strftime('%Y-%m', substr(createtime, 1, 10)) = |
| | | WHERE strftime('%Y-%m', substr(createTime, 1, 10)) = |
| | | strftime('%Y-%m', datetime(:date/1000, 'unixepoch', 'localtime')) |
| | | GROUP BY type |
| | | GROUP BY oneLevel |
| | | ORDER BY count DESC |
| | | """) |
| | | fun getCourierStatsByMonth(date: Long): Flow<List<CourierStat>> |
| | | |
| | | @Query(""" |
| | | SELECT type as courierName, COUNT(*) as count |
| | | SELECT oneLevel as courierName, COUNT(*) as count |
| | | FROM code |
| | | WHERE strftime('%Y', substr(createtime, 1, 10)) = |
| | | WHERE strftime('%Y', substr(createTime, 1, 10)) = |
| | | strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) |
| | | GROUP BY type |
| | | GROUP BY oneLevel |
| | | ORDER BY count DESC |
| | | """) |
| | | fun getCourierStatsByYear(date: Long): Flow<List<CourierStat>> |
| | |
| | | // COUNT(code.id) as count, |
| | | // month_start as week_start |
| | | // FROM months |
| | | // LEFT JOIN code ON strftime('%Y-%m', code.createtime) = strftime('%Y-%m', months.month_start) |
| | | // 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 |
| | | // """) |
| | |
| | | COUNT(code.id) as count, |
| | | year_start as week_start |
| | | FROM years |
| | | LEFT JOIN code ON strftime('%Y', code.createtime) = strftime('%Y', years.year_start) |
| | | LEFT JOIN code ON strftime('%Y', code.createTime) = strftime('%Y', years.year_start) |
| | | GROUP BY years.year_start |
| | | ORDER BY years.year_start ASC |
| | | """) |
| | |
| | | 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 |
| | | GROUP BY dates.date |
| | | ORDER BY dates.date |
| | | """) |
| | |
| | | COUNT(code.id) as count, |
| | | days.date as week_start |
| | | FROM days |
| | | LEFT JOIN code ON date(code.createtime) = days.date |
| | | LEFT JOIN code ON date(code.createTime) = days.date |
| | | GROUP BY days.date |
| | | ORDER BY days.date ASC |
| | | """) |
| | |
| | | COUNT(code.id) as count, |
| | | month_start as weekStart |
| | | FROM months |
| | | LEFT JOIN code ON strftime('%Y-%m', code.createtime) = strftime('%Y-%m', months.month_start) |
| | | 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 |
| | | """) |
| | |
| | | COUNT(code.id) as count, |
| | | days.date as weekStart |
| | | FROM days |
| | | LEFT JOIN code ON date(code.createtime) = days.date |
| | | LEFT JOIN code ON date(code.createTime) = days.date |
| | | GROUP BY days.date |
| | | ORDER BY days.date ASC |
| | | """) |
| | |
| | | COUNT(id) as count, |
| | | datetime(:date/1000, 'unixepoch', 'localtime') as weekStart |
| | | FROM code |
| | | WHERE strftime('%Y', createtime) = strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) |
| | | WHERE strftime('%Y', createTime) = strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) |
| | | """) |
| | | fun getCurrentYearStats(date: Long): Flow<List<DailyStat>> |
| | | } |