| | |
| | | @Query("DELETE FROM Code where id=:id") |
| | | fun delete(id: Long) |
| | | |
| | | @Query("DELETE FROM Code") |
| | | fun deleteAll(): Completable |
| | | |
| | | |
| | | @Query("SELECT * FROM Code WHERE id = :id LIMIT 1") |
| | | fun getCodeById(id: Long): Code? |
| | |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE substr(createTime, 1, 10) = |
| | | date(:date/1000, 'unixepoch', 'localtime') |
| | | date(:date/1000, 'unixepoch', 'localtime') |
| | | ORDER BY createTime DESC |
| | | """) |
| | | fun getPackagesByDay(date: Long): Flow<List<Code>> |
| | | |
| | | @Query(""" |
| | | SELECT * FROM code |
| | | WHERE substr(createTime, 1, 10) = |
| | | date(:date/1000, 'unixepoch', 'localtime') and pickup = 1 |
| | | ORDER BY createTime DESC |
| | | """) |
| | | fun getPackagesByDayUnread(date: Long): Flow<List<Code>> |
| | | |
| | | @Query(""" |
| | | SELECT oneLevel as courierName, COUNT(*) as count |
| | |
| | | ORDER BY createTime DESC |
| | | """) |
| | | fun getPackagesByTypeAndStation(type: String, stationName: String): List<Code> |
| | | |
| | | |
| | | @Query(""" |
| | | SELECT COUNT(1) |
| | | FROM code |
| | | WHERE date(createTime) BETWEEN date(:startDateCur) AND date(:endDateCur) |
| | | """) |
| | | fun getCurrentWeekStats2(startDateCur: String, endDateCur: String): Flow<Long> |
| | | |
| | | // @Query(""" |
| | | // WITH RECURSIVE dates(date_value) AS ( |
| | | // SELECT date('now', 'weekday 1', '-7 days') |
| | | // UNION ALL |
| | | // SELECT date(date_value, '+1 day') |
| | | // FROM dates |
| | | // WHERE date_value < date('now', 'weekday 1', '-7 days', '+6 days') |
| | | // ) |
| | | // SELECT |
| | | // strftime('%d', date_value) AS date, |
| | | // COUNT(c.id) AS count, |
| | | // '' as weekStart |
| | | // FROM dates d |
| | | // LEFT JOIN code c ON date(c.createTime) = d.date_value |
| | | // GROUP BY d.date_value |
| | | // ORDER BY d.date_value ASC |
| | | // |
| | | // """) |
| | | |
| | | @Query(""" |
| | | WITH RECURSIVE dates(date_value) AS ( |
| | | SELECT date(:startDateCur) |
| | | UNION ALL |
| | | SELECT date(date_value, '+1 day') |
| | | FROM dates |
| | | WHERE date_value < date(:endDateCur) |
| | | ) |
| | | SELECT |
| | | strftime('%d', date_value) AS date, |
| | | COUNT(c.id) AS count, |
| | | '' AS weekStart |
| | | FROM dates d |
| | | LEFT JOIN code c ON date(c.createTime) = d.date_value |
| | | GROUP BY d.date_value |
| | | ORDER BY d.date_value ASC |
| | | """) |
| | | fun getWeeklyStatsChart(startDateCur: String, endDateCur: String): Flow<List<DailyStat>> |
| | | } |