59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import DB from '@/utils/sqlite'
|
|
|
|
const TABLE = 'rtk_track'
|
|
|
|
export const rtkTrackTableSql = `CREATE TABLE IF NOT EXISTS rtk_track (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
work_record_id INTEGER,
|
|
timestamp DATETIME,
|
|
latitude REAL,
|
|
longitude REAL,
|
|
altitude REAL,
|
|
speed REAL,
|
|
heading REAL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (work_record_id) REFERENCES work_record(id)
|
|
)`
|
|
|
|
export interface RtkTrack {
|
|
id?: number
|
|
work_record_id: number
|
|
timestamp?: string
|
|
latitude?: number
|
|
longitude?: number
|
|
altitude?: number
|
|
speed?: number
|
|
heading?: number
|
|
created_at?: string
|
|
}
|
|
|
|
/** 查询全部 */
|
|
export async function selectAll(): Promise<RtkTrack[]> {
|
|
return DB.select(TABLE)
|
|
}
|
|
|
|
/** 按 ID 查询 */
|
|
export async function selectById(id: number): Promise<RtkTrack | null> {
|
|
return DB.selectById(TABLE, id)
|
|
}
|
|
|
|
/** 按作业记录 ID 查询 */
|
|
export async function selectByWorkRecordId(workRecordId: number): Promise<RtkTrack[]> {
|
|
return DB.selectByField(TABLE, 'work_record_id', workRecordId)
|
|
}
|
|
|
|
/** 新增 */
|
|
export async function insert(data: RtkTrack): Promise<any> {
|
|
return DB.insert(TABLE, data)
|
|
}
|
|
|
|
/** 更新 */
|
|
export async function update(id: number, data: Partial<RtkTrack>): Promise<any> {
|
|
return DB.update(TABLE, data, `id = ${id}`)
|
|
}
|
|
|
|
/** 删除 */
|
|
export async function remove(id: number): Promise<any> {
|
|
return DB.delete(TABLE, `id = ${id}`)
|
|
}
|