[fea]
[班车核销]
This commit is contained in:
yangyakun
2024-12-17 15:16:56 +08:00
parent 374e9d2730
commit 60c13cab0c
21 changed files with 140 additions and 86 deletions

View File

@@ -143,12 +143,12 @@ class FrameAnimatorContainer (resId: Int,
mHandler?.removeCallbacksAndMessages(null)
val runnable: Runnable = object : Runnable {
override fun run() {
Logger.d(TAG, "runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
//Logger.d(TAG, "runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
val imageView = mSoftReferenceImageView!!.get()
if (!mShouldRun || imageView == null) {
mIsRunning = false
mOnAnimationStoppedListener?.AnimationStopped()
Logger.d(TAG, "结束动画1")
//Logger.d(TAG, "结束动画1")
return
}
mIsRunning = true
@@ -158,13 +158,13 @@ class FrameAnimatorContainer (resId: Int,
if (!mShouldRun || imageView == null) {
mIsRunning = false
mOnAnimationStoppedListener?.AnimationStopped()
Logger.d(TAG, "结束动画2")
//Logger.d(TAG, "结束动画2")
return
}
mHandler?.postDelayed(this, mDelayMillis.toLong())
if (mBitmap != null) { // so Build.VERSION.SDK_INT >= 11
ThreadUtils.getFixedPool(1).submit {
Logger.d(TAG, "decodeResource Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
//Logger.d(TAG, "decodeResource Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
var bitmap: Bitmap? = null
try {
bitmap = BitmapFactory.decodeResource(
@@ -176,7 +176,7 @@ class FrameAnimatorContainer (resId: Int,
e.printStackTrace()
}
ThreadUtils.runOnUiThread({
Logger.d(TAG, "setImageBitmap Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
//Logger.d(TAG, "setImageBitmap Runnable: isMainThread:${ThreadUtils.isMainThread()}, threadName=${Thread.currentThread().name}")
if (bitmap != null) {
imageView.setImageBitmap(bitmap)
} else {

View File

@@ -2,7 +2,7 @@
"formatVersion": 1,
"database": {
"version": 6,
"identityHash": "b2c07e9188f2ee54eabad0eee83647cf",
"identityHash": "1d1af100293dd1557307b49359621a5f",
"entities": [
{
"tableName": "contrail_data_table",
@@ -479,7 +479,7 @@
},
{
"tableName": "event_data_table",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `event_type` TEXT, `lineId` INTEGER, `taskDate` INTEGER, `lineName` TEXT, `task_id` INTEGER, `task_start_time` INTEGER, `business_time` INTEGER, `write_version` INTEGER, `site_id` INTEGER, `seq` INTEGER, `driver_id` INTEGER, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `msg_id` TEXT, `update_time` INTEGER)",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `event_type` TEXT, `lineId` INTEGER, `task_date` INTEGER, `lineName` TEXT, `task_id` INTEGER, `task_start_time` INTEGER, `business_time` INTEGER, `write_version` INTEGER, `site_id` INTEGER, `seq` INTEGER, `driver_id` INTEGER, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `msg_id` TEXT, `update_time` INTEGER)",
"fields": [
{
"fieldPath": "id",
@@ -501,7 +501,7 @@
},
{
"fieldPath": "taskDate",
"columnName": "taskDate",
"columnName": "task_date",
"affinity": "INTEGER",
"notNull": false
},
@@ -599,7 +599,7 @@
},
{
"tableName": "writeoff_data_table",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `msg_id` TEXT, `expiry_time` INTEGER, `booking_time` INTEGER, `type` INTEGER, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `driver_id` INTEGER, `available_times` INTEGER, `order_no` TEXT, `uid` TEXT, `seq` TEXT, `business_time` INTEGER, `tick_size` INTEGER, `tick_name` TEXT, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `update_time` INTEGER)",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `msg_id` TEXT, `expiry_time` INTEGER, `booking_time` INTEGER, `type` INTEGER, `task_id` INTEGER, `task_date` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `driver_id` INTEGER, `available_times` INTEGER, `order_no` TEXT, `uid` TEXT, `seq` TEXT, `business_time` INTEGER, `tick_size` INTEGER, `tick_name` TEXT, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `update_time` INTEGER)",
"fields": [
{
"fieldPath": "id",
@@ -637,6 +637,12 @@
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "taskDate",
"columnName": "task_date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "lineId",
"columnName": "line_id",
@@ -739,7 +745,7 @@
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'b2c07e9188f2ee54eabad0eee83647cf')"
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '1d1af100293dd1557307b49359621a5f')"
]
}
}

View File

@@ -35,9 +35,15 @@ data class ShuttleEventRequest(val requestId: String, val sn: String,val vin:Str
}
waitUpdateWriteOffEvent?.forEach {
tempEvent = Event("WriteOff",
WriteOffEventData(it.msgId,it.taskId,it.siteId,it.driverId,it.orderNo,it.businessTime,it.businessTime)
)
tempEvent = if(AppIdentityModeUtils.isScheduled(FunctionBuildConfig.appIdentityMode)) {
Event("WriteOff",
WriteOffEventData(it.msgId, 0,it.taskId,it.taskDate ,it.siteId, it.driverId, it.orderNo, it.businessTime, it.businessTime)
)
}else{
Event("WriteOff",
WriteOffEventData(it.msgId, it.taskId,0,0, it.siteId, it.driverId, it.orderNo, it.businessTime, it.businessTime)
)
}
eventList4Request.add(tempEvent!!)
}
eventList4Request.sortBy { it.eventData.businessTime }
@@ -67,6 +73,8 @@ data class EventData(
data class WriteOffEventData(
var msgId: String?,
var taskId: Long?,
var detailId: Long?,
var taskDate: Long?,
var siteId: Long?,
var driverId: Long?,
var orderNo: String?,

View File

@@ -203,13 +203,15 @@ object TicketModel {
*/
private fun parseData(code:Int,msg:String,phone: String,orderNo: String){
when (code) {
6002 -> sendMessage2Driver("同一订单核销间隔时间需大于2分钟", phone,6002,orderNo)
1009 -> sendMessage2Driver("车票所选乘车日期非今日", phone,1009,orderNo)
1005 -> sendMessage2Driver("车辆未登录、或没有任务", phone,1005,orderNo)
1006 -> sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合", phone,1006,orderNo)
1008 -> sendMessage2Driver("车票剩余可用次数为0", phone,99,orderNo)
6001 -> sendMessage2Driver("二维码已过期", phone,6001,orderNo)
6002 -> sendMessage2Driver("同一订单核销间隔时间需大于2分钟", phone,6002,orderNo)
6003 -> sendMessage2Driver("车票站点信息与当前车辆执行任务的站点信息不符合", phone,6003,orderNo)
6004 -> sendMessage2Driver("车辆未执行任务", phone,6004,orderNo)
6005 -> sendMessage2Driver("车票站点信息与当前车辆执行任务信息不符合", phone,6005,orderNo)
1012 -> sendMessage2Driver("当前用户下单路线非当前的车辆所属公司", phone,1012,orderNo)
else -> {
try {

View File

@@ -65,32 +65,33 @@ abstract class MyDataBase : RoomDatabase() {
companion object {
private val MIGRATION_1_2 = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE ${EventDataBean.evnetDataTable} ADD COLUMN driver_id INTEGER");
database.execSQL("ALTER TABLE ${EventDataBean.tableName} ADD COLUMN driver_id INTEGER");
}
}
private val MIGRATION_2_3 = object : Migration(2, 3) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE ${SiteDataBean.siteDataTable} ADD COLUMN videoList TEXT");
database.execSQL("ALTER TABLE ${TaskSiteDataBean.usedTaskDataTable} ADD COLUMN videoList TEXT");
database.execSQL("ALTER TABLE ${SiteDataBean.tableName} ADD COLUMN videoList TEXT");
database.execSQL("ALTER TABLE ${TaskSiteDataBean.tableName} ADD COLUMN videoList TEXT");
}
}
private val MIGRATION_3_4 = object : Migration(3, 4) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE ${EventDataBean.evnetDataTable} ADD COLUMN msg_id TEXT")
database.execSQL("ALTER TABLE ${EventDataBean.evnetDataTable} ADD COLUMN update_time INTEGER")
database.execSQL("ALTER TABLE ${EventDataBean.tableName} ADD COLUMN msg_id TEXT")
database.execSQL("ALTER TABLE ${EventDataBean.tableName} ADD COLUMN update_time INTEGER")
}
}
private val MIGRATION_4_5 = object : Migration(4, 5) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("CREATE TABLE IF NOT EXISTS `${WriteOffDataBean.writeoffDataTable}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `msg_id` TEXT, `expiry_time` INTEGER, `booking_time` INTEGER, `type` INTEGER, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `driver_id` INTEGER, `available_times` INTEGER, `order_no` TEXT, `uid` TEXT, `seq` TEXT, `business_time` INTEGER, `tick_size` INTEGER, `tick_name` TEXT, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `update_time` INTEGER)")
database.execSQL("CREATE TABLE IF NOT EXISTS `${WriteOffDataBean.tableName}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `msg_id` TEXT, `expiry_time` INTEGER, `booking_time` INTEGER, `type` INTEGER, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `driver_id` INTEGER, `available_times` INTEGER, `order_no` TEXT, `uid` TEXT, `seq` TEXT, `business_time` INTEGER, `tick_size` INTEGER, `tick_name` TEXT, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL, `update_time` INTEGER)")
database.execSQL("CREATE INDEX `index_writeoff_data_table_event_save_time` ON `writeoff_data_table` (`event_save_time`)")
}
}
private val MIGRATION_5_6 = object : Migration(5, 6) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE ${EventDataBean.evnetDataTable} ADD COLUMN taskDate INTEGER")
database.execSQL("ALTER TABLE ${EventDataBean.tableName} ADD COLUMN task_date INTEGER")
database.execSQL("ALTER TABLE ${WriteOffDataBean.tableName} ADD COLUMN task_date INTEGER")
}
}

View File

@@ -7,7 +7,7 @@ import androidx.room.PrimaryKey
/**
* 启动自驾使用的轨迹信息
*/
@Entity(tableName = ContrailDataBean.ContrailDataTable)
@Entity(tableName = ContrailDataBean.tableName)
data class ContrailDataBean(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
@@ -56,7 +56,7 @@ data class ContrailDataBean(
) {
companion object {
const val ContrailDataTable: String = "contrail_data_table"
const val tableName: String = "contrail_data_table"
}
override fun toString(): String {

View File

@@ -7,7 +7,7 @@ import androidx.room.PrimaryKey
/**
* 上报给服务器端的 选择线路、滑动出发、进站 完成线路的对象
*/
@Entity(tableName = EventDataBean.evnetDataTable)
@Entity(tableName = EventDataBean.tableName)
data class EventDataBean(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
@@ -27,7 +27,7 @@ data class EventDataBean(
/**
* 模板发生日期
*/
@ColumnInfo(name = "taskDate", typeAffinity = ColumnInfo.INTEGER)
@ColumnInfo(name = "task_date", typeAffinity = ColumnInfo.INTEGER)
var taskDate: Long? = null,
@@ -97,7 +97,7 @@ data class EventDataBean(
) {
companion object {
const val evnetDataTable: String = "event_data_table"
const val tableName: String = "event_data_table"
const val TaskStart = "TaskStart"
const val TaskArriveSite = "TaskArriveSite"

View File

@@ -5,7 +5,7 @@ import androidx.room.Entity
import androidx.room.PrimaryKey
import com.google.gson.annotations.SerializedName
@Entity(tableName = LineDataBean.lineDataTable)
@Entity(tableName = LineDataBean.tableName)
data class LineDataBean(
@PrimaryKey(autoGenerate = true)
@@ -38,7 +38,7 @@ data class LineDataBean(
val linegetTime: Long = System.currentTimeMillis(),
) {
companion object {
const val lineDataTable: String = "line_data_table"
const val tableName: String = "line_data_table"
}

View File

@@ -6,7 +6,7 @@ import androidx.room.Ignore
import androidx.room.PrimaryKey
import com.mogo.och.data.bean.SiteIntroduce
@Entity(tableName = SiteDataBean.siteDataTable)
@Entity(tableName = SiteDataBean.tableName)
data class SiteDataBean(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
@@ -91,7 +91,7 @@ data class SiteDataBean(
var videoList:MutableList<SiteIntroduce>?=null
) {
companion object {
const val siteDataTable = "site_data_table"
const val tableName = "site_data_table"
const val mediaTypeVideo = 1
}

View File

@@ -5,7 +5,7 @@ import androidx.room.Entity
import androidx.room.PrimaryKey
import com.google.gson.annotations.SerializedName
@Entity(tableName = TaskDataBean.taskDataTable)
@Entity(tableName = TaskDataBean.tableName)
data class TaskDataBean(
@PrimaryKey(autoGenerate = true)
@@ -61,7 +61,7 @@ data class TaskDataBean(
var status: Long? = 0,
) {
companion object {
const val taskDataTable: String = "task_data_table"
const val tableName: String = "task_data_table"
const val unUse = 0L
const val useing = 1L

View File

@@ -4,7 +4,7 @@ import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = TaskSiteDataBean.usedTaskDataTable)
@Entity(tableName = TaskSiteDataBean.tableName)
data class TaskSiteDataBean(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
@@ -159,7 +159,7 @@ data class TaskSiteDataBean(
return result
}
const val usedTaskDataTable: String = "used_task_data_table"
const val tableName: String = "used_task_data_table"
const val drivingStatusInit = 0//0初始值
const val drivingStatusPassed = 1//1已经过

View File

@@ -7,7 +7,7 @@ import androidx.room.PrimaryKey
/**
* 上报给服务器端的 选择线路、滑动出发、进站 完成线路的对象
*/
@Entity(tableName = WriteOffDataBean.writeoffDataTable)
@Entity(tableName = WriteOffDataBean.tableName)
data class WriteOffDataBean(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
@@ -37,11 +37,18 @@ data class WriteOffDataBean(
var type: Int? = null,
/**
* 当前的任务id
* 当前的任务id、模板id
*/
@ColumnInfo(name = "task_id", typeAffinity = ColumnInfo.INTEGER)
var taskId: Long? = null,
/**
* 模板发生日期
*/
@ColumnInfo(name = "task_date", typeAffinity = ColumnInfo.INTEGER)
var taskDate: Long? = null,
/**
* 校验线路Id
*/
@@ -117,7 +124,7 @@ data class WriteOffDataBean(
) {
companion object {
const val writeoffDataTable: String = "writeoff_data_table"
const val tableName: String = "writeoff_data_table"
// 没有上传
const val notUpdate = 0
// 上传中

View File

@@ -4,7 +4,6 @@ import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
@Dao
@@ -14,20 +13,20 @@ interface ContrailDataDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(vararg contrailDataBean: ContrailDataBean)
@Query("UPDATE ${ContrailDataBean.ContrailDataTable} SET csv_file_url = :csv_file_url ,csv_file_md5 = :csv_file_md5 ,txt_file_url = :txt_file_url " +
@Query("UPDATE ${ContrailDataBean.tableName} SET csv_file_url = :csv_file_url ,csv_file_md5 = :csv_file_md5 ,txt_file_url = :txt_file_url " +
",txt_file_md5 = :txt_file_md5 ,contrail_save_time = :contrail_save_time,md5 = :md5 WHERE id = :id")
fun update(csv_file_url: String,csv_file_md5: String,txt_file_url: String,txt_file_md5: String,contrail_save_time: Long,md5: String,id:Int)
// 线路删除时同步删除所属轨迹信息
@Query("DELETE FROM ${ContrailDataBean.ContrailDataTable} WHERE line_id = :lineId")
@Query("DELETE FROM ${ContrailDataBean.tableName} WHERE line_id = :lineId")
fun deleteByLineId(lineId: Long)
//查询线路对应的轨迹信息
@Query("SELECT * FROM ${ContrailDataBean.ContrailDataTable} WHERE line_id = :lineId")
@Query("SELECT * FROM ${ContrailDataBean.tableName} WHERE line_id = :lineId")
fun queryContrailByLineId(lineId:Long): List<ContrailDataBean>?
//查询线路对应的轨迹信息
@Query("SELECT * FROM ${ContrailDataBean.ContrailDataTable} WHERE md5 = :md5")
@Query("SELECT * FROM ${ContrailDataBean.tableName} WHERE md5 = :md5")
fun queryContrailByMd5(md5:String): List<ContrailDataBean>?
//查询线路对应的轨迹信息 只要一个结果

View File

@@ -20,24 +20,24 @@ interface EventDataDao {
@Delete
fun delete(vararg eventDataBean: EventDataBean)
@Query("UPDATE ${EventDataBean.evnetDataTable} SET update_status = :status WHERE id = :id")
@Query("UPDATE ${EventDataBean.tableName} SET update_status = :status WHERE id = :id")
fun updateUpdateSatus(id:Int,status:Int):Int
// 删除过时数据
@Query("DELETE FROM ${EventDataBean.evnetDataTable} WHERE event_save_time < :zeroTime")
@Query("DELETE FROM ${EventDataBean.tableName} WHERE event_save_time < :zeroTime")
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
@Query("SELECT * FROM ${EventDataBean.evnetDataTable} WHERE update_status = ${EventDataBean.notUpdate}")
@Query("SELECT * FROM ${EventDataBean.tableName} WHERE update_status = ${EventDataBean.notUpdate}")
fun queryEventByStatusWithPage():List<EventDataBean>?
@Query("SELECT count(1) FROM ${EventDataBean.evnetDataTable} WHERE update_status = ${EventDataBean.notUpdate}")
@Query("SELECT count(1) FROM ${EventDataBean.tableName} WHERE update_status = ${EventDataBean.notUpdate}")
fun queryEventByStatusWithPageCount():Int
@Query("SELECT * FROM ${EventDataBean.evnetDataTable} WHERE update_status = ${EventDataBean.notUpdate} and event_save_time > :zeroTime GROUP by task_start_time")
@Query("SELECT * FROM ${EventDataBean.tableName} WHERE update_status = ${EventDataBean.notUpdate} and event_save_time > :zeroTime GROUP by task_start_time")
fun queryWaitUploadInfo(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Observable<List<EventDataBean>?>
@Query("SELECT * FROM ${EventDataBean.evnetDataTable} order by event_save_time LIMIT 5 OFFSET 0")
@Query("SELECT * FROM ${EventDataBean.tableName} order by event_save_time LIMIT 5 OFFSET 0")
fun queryLastDataByWaritData():List<EventDataBean>?
}

View File

@@ -19,27 +19,27 @@ interface LineDataDao {
@Delete
fun delete(vararg lineDataBean: LineDataBean)
@Query("UPDATE ${LineDataBean.lineDataTable} SET line_name = :lineName ,end_station_name = :endStationName WHERE id = :id")
@Query("UPDATE ${LineDataBean.tableName} SET line_name = :lineName ,end_station_name = :endStationName WHERE id = :id")
fun updateInfo(lineName: String?, endStationName: String?, id: Long)
// 删除过时数据
@Query("DELETE FROM ${LineDataBean.lineDataTable} WHERE line_get_time < :zeroTime")
@Query("DELETE FROM ${LineDataBean.tableName} WHERE line_get_time < :zeroTime")
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
//删除非昨天添加的数据
@Query("DELETE FROM ${LineDataBean.lineDataTable} WHERE line_get_time < :zeroTime")
@Query("DELETE FROM ${LineDataBean.tableName} WHERE line_get_time < :zeroTime")
fun deleteWeltData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Int
//查询当天插入的所有数据
@Query("SELECT * FROM ${LineDataBean.lineDataTable} WHERE line_get_time > :zeroTime")
@Query("SELECT * FROM ${LineDataBean.tableName} WHERE line_get_time > :zeroTime")
fun loadDataRx(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Observable<List<LineDataBean>?>
//查询当天插入的所有数据
@Query("SELECT * FROM ${LineDataBean.lineDataTable} WHERE line_get_time > :zeroTime")
@Query("SELECT * FROM ${LineDataBean.tableName} WHERE line_get_time > :zeroTime")
fun loadData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): List<LineDataBean>?
@Query("SELECT * FROM ${LineDataBean.lineDataTable} WHERE line_id = :lineId")
@Query("SELECT * FROM ${LineDataBean.tableName} WHERE line_id = :lineId")
fun queryByLineId(lineId: Int) : List<LineDataBean>?
}

View File

@@ -16,7 +16,7 @@ interface SiteDataDao {
@Delete()
fun deleteById(vararg siteDataBean: SiteDataBean)
@Query("UPDATE ${SiteDataBean.siteDataTable} SET site_id = :site_id ,line_id = :lineId,name = :name,name_kr = :nameKr,seq = :seq," +
@Query("UPDATE ${SiteDataBean.tableName} SET site_id = :site_id ,line_id = :lineId,name = :name,name_kr = :nameKr,seq = :seq," +
"gcj_lon = :gcjLon,gcj_lat = :gcjLat,lon = :lon,lat = :lat,introduction = :introduction," +
"is_play_tts = :isPlayTts,md5 = :md5,videoList = :videoListDB WHERE id = :id")
fun updateInfo(site_id: Long?, lineId: Long?, name: String?,nameKr:String?,seq:Int?,
@@ -26,25 +26,25 @@ interface SiteDataDao {
// 线路删除时同步删除所属站点
@Query("DELETE FROM ${SiteDataBean.siteDataTable} WHERE line_id = :lineId")
@Query("DELETE FROM ${SiteDataBean.tableName} WHERE line_id = :lineId")
fun deleteByLineId(lineId: Long)
//查询线路对应的轨迹信息
@Query("SELECT * FROM ${SiteDataBean.siteDataTable} WHERE md5 = :md5")
@Query("SELECT * FROM ${SiteDataBean.tableName} WHERE md5 = :md5")
fun querySitesByMd5(md5:String): List<SiteDataBean>?
//查询线路对应的轨迹信息
@Query("SELECT * FROM ${SiteDataBean.siteDataTable}")
@Query("SELECT * FROM ${SiteDataBean.tableName}")
fun queryAllSites(): List<SiteDataBean>?
@Query("SELECT * FROM ${SiteDataBean.siteDataTable} WHERE line_id = :lineId and site_id = :siteId")
@Query("SELECT * FROM ${SiteDataBean.tableName} WHERE line_id = :lineId and site_id = :siteId")
fun querySitesByLineIdAndSiteId(lineId: Long,siteId:Long):List<SiteDataBean>?
@Query("SELECT * FROM ${SiteDataBean.siteDataTable} WHERE line_id = :lineId")
@Query("SELECT * FROM ${SiteDataBean.tableName} WHERE line_id = :lineId")
fun querySitesByLineId(lineId: Long):List<SiteDataBean>?
@Query("SELECT * FROM ${SiteDataBean.siteDataTable} GROUP by md5 HAVING count(1) > 1")
@Query("SELECT * FROM ${SiteDataBean.tableName} GROUP by md5 HAVING count(1) > 1")
fun checkData():List<SiteDataBean>?
fun querySiteByLineIdAndSiteId(lineId: Long,siteId:Long): SiteDataBean?{

View File

@@ -19,57 +19,57 @@ interface TaskDataDao {
@Delete
fun delete(vararg lineDataBean: TaskDataBean)
@Query("UPDATE ${TaskDataBean.taskDataTable} SET start_time = :currentTimeMillis ,status = :useing WHERE id = :id")
@Query("UPDATE ${TaskDataBean.tableName} SET start_time = :currentTimeMillis ,status = :useing WHERE id = :id")
fun updateStatus(currentTimeMillis: Long, useing: Long, id: Int)
//删除非昨天添加的数据
@Query("DELETE FROM ${TaskDataBean.taskDataTable} WHERE task_get_time < :zeroTime")
@Query("DELETE FROM ${TaskDataBean.tableName} WHERE task_get_time < :zeroTime")
fun deleteDataByZero(zeroTime: Long): Int
@Query("UPDATE ${TaskDataBean.taskDataTable} SET end_time = :endTime,status = ${TaskDataBean.used} WHERE task_id = :taskId")
@Query("UPDATE ${TaskDataBean.tableName} SET end_time = :endTime,status = ${TaskDataBean.used} WHERE task_id = :taskId")
fun endTask(taskId: Long, endTime: Long = DateTimeUtil.getCurrentTimeStamp())
//查询当天插入的所有数据
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_get_time > :zeroTime")
@Query("SELECT * FROM ${TaskDataBean.tableName} WHERE task_get_time > :zeroTime")
fun loadAllData(zeroTime: Long): List<TaskDataBean>?
// 查询当天特定线路正在执行的任务
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_get_time > :zeroTime and status = ${TaskDataBean.useing} and line_id = :lineId")
@Query("SELECT * FROM ${TaskDataBean.tableName} WHERE task_get_time > :zeroTime and status = ${TaskDataBean.useing} and line_id = :lineId")
fun queryRunningTaskByLineId(
lineId: Long,
zeroTime: Long = DateTimeUtil.getCurrentDateZero()
): List<TaskDataBean>?
// 查询当天特定线路正在执行的任务
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_get_time > :zeroTime and status = ${TaskDataBean.useing}")
@Query("SELECT * FROM ${TaskDataBean.tableName} WHERE task_get_time > :zeroTime and status = ${TaskDataBean.useing}")
fun queryRunningTaskByStatus(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): List<TaskDataBean>?
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_get_time > :zeroTime and status = ${TaskDataBean.unUse} and line_id = :lineId order by task_start_time")
@Query("SELECT * FROM ${TaskDataBean.tableName} WHERE task_get_time > :zeroTime and status = ${TaskDataBean.unUse} and line_id = :lineId order by task_start_time")
fun queryUnuseTask(
lineId: Long,
zeroTime: Long = DateTimeUtil.getCurrentDateZero()
): Observable<List<TaskDataBean>?>
@Query("DELETE FROM ${TaskDataBean.taskDataTable} WHERE task_get_time > :zeroTime and line_id = :lineId")
@Query("DELETE FROM ${TaskDataBean.tableName} WHERE task_get_time > :zeroTime and line_id = :lineId")
fun deleteByLineId(lineId: Long, zeroTime: Long = DateTimeUtil.getCurrentDateZero())
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE line_id = :lineId and task_get_time > :zeroTime")
@Query("SELECT * FROM ${TaskDataBean.tableName} WHERE line_id = :lineId and task_get_time > :zeroTime")
fun querySitesByLineId(
lineId: Long?,
zeroTime: Long = DateTimeUtil.getCurrentDateZero()
): List<TaskDataBean>?
//查询线路对应的轨迹信息
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_id = :taskId")
@Query("SELECT * FROM ${TaskDataBean.tableName} WHERE task_id = :taskId")
fun queryContrailByLineId(taskId: Long): List<TaskDataBean>?
//查询线路对应的轨迹信息
@Query("SELECT * FROM ${TaskDataBean.taskDataTable}")
@Query("SELECT * FROM ${TaskDataBean.tableName}")
fun queryAllTask(): List<TaskDataBean>?
// 删除过时数据
@Query("DELETE FROM ${TaskDataBean.taskDataTable} WHERE task_get_time < :zeroTime")
@Query("DELETE FROM ${TaskDataBean.tableName} WHERE task_get_time < :zeroTime")
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Int

View File

@@ -14,24 +14,24 @@ interface TaskSiteDataDao {
fun insert(vararg lineDataBean: TaskSiteDataBean):List<Long>
//查询当天插入的所有数据
@Query("SELECT * FROM ${TaskSiteDataBean.usedTaskDataTable} WHERE task_id = :taskId order by seq")
@Query("SELECT * FROM ${TaskSiteDataBean.tableName} WHERE task_id = :taskId order by seq")
fun queryRunningTask(taskId: Long): List<TaskSiteDataBean>?
@Query("UPDATE ${TaskSiteDataBean.usedTaskDataTable} SET leaving = :leave WHERE task_id = :taskId and site_id = :siteId")
@Query("UPDATE ${TaskSiteDataBean.tableName} SET leaving = :leave WHERE task_id = :taskId and site_id = :siteId")
fun updateLeave(taskId: Long, siteId: Long, leave: Int)
@Query("UPDATE ${TaskSiteDataBean.usedTaskDataTable} SET leaving = :leave , driving_status = :drivingStatusCurrent WHERE task_id = :taskId and site_id = :siteId")
@Query("UPDATE ${TaskSiteDataBean.tableName} SET leaving = :leave , driving_status = :drivingStatusCurrent WHERE task_id = :taskId and site_id = :siteId")
fun updateDrivingStatusANdLeave(taskId: Long, siteId: Long, drivingStatusCurrent: Int, leave: Int)
@Query("UPDATE ${TaskSiteDataBean.usedTaskDataTable} SET driving_status = :drivingStatusCurrent WHERE task_id = :taskId and site_id = :siteId")
@Query("UPDATE ${TaskSiteDataBean.tableName} SET driving_status = :drivingStatusCurrent WHERE task_id = :taskId and site_id = :siteId")
fun updateDrivingStatus(taskId: Long, siteId: Long, drivingStatusCurrent: Int)
// 删除过时数据
@Query("DELETE FROM ${TaskSiteDataBean.usedTaskDataTable} WHERE event_save_time < :zeroTime")
@Query("DELETE FROM ${TaskSiteDataBean.tableName} WHERE event_save_time < :zeroTime")
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
// 根据taskId删除所属站点信息
@Query("DELETE FROM ${TaskSiteDataBean.usedTaskDataTable} WHERE task_id = :taskId")
@Query("DELETE FROM ${TaskSiteDataBean.tableName} WHERE task_id = :taskId")
fun deleteErrorDataByTaskId(taskId: Long)
}

View File

@@ -20,23 +20,23 @@ interface WriteOffDataDao {
fun delete(vararg eventDataBean: WriteOffDataBean)
// 删除过时数据
@Query("DELETE FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time < :zeroTime")
@Query("DELETE FROM ${WriteOffDataBean.tableName} WHERE event_save_time < :zeroTime")
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and order_no = :orderNo order by event_save_time")
@Query("SELECT * FROM ${WriteOffDataBean.tableName} WHERE event_save_time > :zeroTime and order_no = :orderNo order by event_save_time")
fun queryWriteOffByOrderNo(zeroTime: Long = DateTimeUtil.getCurrentDateZero(),orderNo:String): List<WriteOffDataBean>?
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and task_id = :taskId and update_status = ${WriteOffDataBean.notUpdate}")
@Query("SELECT * FROM ${WriteOffDataBean.tableName} WHERE event_save_time > :zeroTime and task_id = :taskId and update_status = ${WriteOffDataBean.notUpdate}")
fun queryWaitWriteOffByTaskId(taskId:Long,zeroTime: Long = DateTimeUtil.getCurrentDateZero()): List<WriteOffDataBean>?
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE update_status = ${WriteOffDataBean.notUpdate}")
@Query("SELECT * FROM ${WriteOffDataBean.tableName} WHERE update_status = ${WriteOffDataBean.notUpdate}")
fun queryWriteOffEventByStatusWithPage():List<WriteOffDataBean>?
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and task_id = :taskId and site_id = :siteId")
@Query("SELECT * FROM ${WriteOffDataBean.tableName} WHERE event_save_time > :zeroTime and task_id = :taskId and site_id = :siteId")
fun queryWriteOffByTaskAndSiteId(taskId: Long, siteId: Long,zeroTime: Long = DateTimeUtil.getCurrentDateZero()):List<WriteOffDataBean>?
@Query("SELECT count(1) FROM ${WriteOffDataBean.writeoffDataTable} WHERE update_status = ${WriteOffDataBean.notUpdate}")
@Query("SELECT count(1) FROM ${WriteOffDataBean.tableName} WHERE update_status = ${WriteOffDataBean.notUpdate}")
fun queryWriteOffByStatusWithPageCount(): Int

View File

@@ -5,6 +5,7 @@ import com.mogo.commons.env.Project
import com.mogo.commons.env.ProjectUtils
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.Product
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
import com.mogo.och.common.module.biz.login.LoginStatusManager
@@ -123,7 +124,7 @@ class WriteOffCacheRepository : IWriteOffRepository {
}
}
// 3、校验 bus和shuttle
if (LoginStatusManager.getBusInessType().name.lowercase()!=it.typeBiz) {
if (LoginStatusManager.getBusInessType()!=Product.valueOf4Wx(it.typeBiz)) {
throw DataException(1005,"车辆未登录、或没有任务")
}
// 4 二维码1分钟失效
@@ -167,6 +168,20 @@ class WriteOffCacheRepository : IWriteOffRepository {
"车票站点信息与当前车辆执行任务的站点信息不符合"
)
}
} else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
// 8、校验起始站点
val task = LineModel.currentTask
if(task==null){
throw DataException(6004, "车辆未执行任务")
}else{
if (task.taskStartTime!=it.bookingTime) {
throw DataException(
6005,
"车票站点信息与当前车辆执行任务信息不符合"
)
}
}
}
} else {
throw DataException(11000, "缺少orderNo")
@@ -177,6 +192,7 @@ class WriteOffCacheRepository : IWriteOffRepository {
addWrite.bookingTime = it.bookingTime
addWrite.type = it.type
addWrite.taskId = LineModel.currentTask?.taskId
addWrite.taskDate = LineModel.currentTask?.taskDate
addWrite.lineId = lineId
addWrite.siteId = siteId
addWrite.availableTimes = it.availableTimes

View File

@@ -371,6 +371,21 @@ enum class Product(val code: Int) {
}
return NONE
}
fun valueOf4Wx(name: String?): Product {
when (name) {
"shuttle" -> {
return SHUTTLE
}
"bus" -> {
return BUS
}
"commute" -> {
return SCHEDULED
}
else -> {}
}
return NONE
}
}
}