Compare commits

...

5 Commits

Author SHA1 Message Date
wangzhongjie
329833c228 fix: 重构初始化中心表相关代码,优化类型定义和数据库操作 2025-03-17 14:10:43 +08:00
wangzhongjie
7b45c1f0f9 fix: 优化数据库操作上层代码 2025-03-07 11:54:23 +08:00
wangzhongjie
eb6019096d fix: 优化了部分代码 2025-02-20 13:27:49 +08:00
wangzhongjie
76186f4e97 fix: 优化了部分代码 2025-02-19 15:22:19 +08:00
wangzhongjie
05664bd38f fix: 优化了部分代码 2025-02-19 14:32:59 +08:00
16 changed files with 671 additions and 62 deletions

View File

@ -1,9 +1,9 @@
import request from '../utils/Request'
import http from '@ohos.net.http'
import { CarCheckDataType, DeviceParamType, RegistrationDeviceNoRsp } from '../model'
import { CarCheckDataType, CarConfigurationInfoResponse, DeviceParamType, RegistrationDeviceNoRsp } from '../model'
export async function carConfigurationInfo(params: object) {
return request<object>({
export async function carConfigurationInfo(params: object): Promise<CarConfigurationInfoResponse> {
return request<CarConfigurationInfoResponse>({
url: '/der2/services/exam/carConfigurationInfo.ws',
data: params,
method: http.RequestMethod.POST,
@ -11,7 +11,6 @@ export async function carConfigurationInfo(params: object) {
})
}
//设备注册
export async function registrationDeviceNo(params: DeviceParamType) {
return request<RegistrationDeviceNoRsp>({

View File

@ -1,5 +1,6 @@
import request from "../utils/Request"
import http from "@ohos.net.http"
import { InitializeTheCentralTableType, ResponseDataType } from "../model"
interface timeSynchronizationParams {
time: string
@ -87,7 +88,7 @@ export async function initCarInfoCache(params: initCarInfoCacheParams) {
//参数下发读表接口
export async function initCenterCache(params: object, url: string) {
const timeInfo=AppStorage.get('timeInfo')
const timeInfo = AppStorage.get('timeInfo')
return await request<object>({
url: '/para/initCenterCache.ws',
data: params,
@ -120,17 +121,9 @@ export async function initEsModel(params) {
})
}
interface initializationParams {
carId: string
examinationRoomId: string
shellVersion: string
judgeVersion: string
videoVersion: string
host: string
}
export async function initialization(params: initializationParams) {
return await request<object>({
export async function initialization(params: InitializeTheCentralTableType) {
return await request<ResponseDataType>({
url: '/der2/services/exam/initialization.ws',
data: `<?xml version="1.0" encoding="UTF-8" ?><initializationReq><body><carId>${params.carId}</carId><examinationRoomId>${params.examinationRoomId}</examinationRoomId><shellVersion>${params.shellVersion}</shellVersion><judgeVersion>${params.judgeVersion}</judgeVersion><videoVersion>${params.videoVersion}</videoVersion><carInfo></carInfo><map_Road></map_Road><map_Road_Lane></map_Road_Lane><map_SubItem></map_SubItem><t_CarParmSet></t_CarParmSet><map_ItemClass></map_ItemClass><map_Point></map_Point><map_Point_Item></map_Point_Item><CDSBINFO></CDSBINFO><MARKRULESET></MARKRULESET></body></initializationReq>`,
method: http.RequestMethod.POST,

View File

@ -75,11 +75,9 @@ const centerToMap = {
'Map_SubItem': MA_MAP_SUBITEM,
'Sysset': MA_SYSSET,
'CarInfo': ES_CARINFO,
// 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL,
'MarkRuleSet': MA_MARKRULE,
'Cdsbinfo': MA_CDSBINFO,
'T_CarParmSet': MA_T_CARPARMSET,
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
// 建表操作
@ -269,7 +267,6 @@ export async function getSyncData(tableName, context?) {
reject(err)
})
})
}
export async function delSyncTable(tableName, context?) {
@ -404,7 +401,7 @@ export async function upDataZhongxinginitialization(param) {
for (let key in res.initializationRsp.body) {
if (!centerToMap[key]) {
continue
continue
}
const data = await setSyncCenterSqlData(key, res, param)
if (!data) {
@ -445,8 +442,6 @@ function setSyncCenterSqlData(key, res, param) {
'Cdsbinfo': 'MA_CDSBINFO',
'T_CarParmSet': 'MA_T_CARPARMSET',
}
// const accountTable = new AccountTable(() => {
// }, centerToMap[key],param.context);
let arrList
if (res.initializationRsp.body[key].record instanceof Array) {
arrList = res.initializationRsp.body[key].record

View File

@ -0,0 +1 @@
export const DbTag = '[DBTag]';

View File

@ -0,0 +1,3 @@
export * from "./LogEnum";
export * from "./global"

View File

@ -1,4 +1,5 @@
import { ColumnInfo, ColumnType } from '../common/database/DbSql'
import common from '@ohos.app.ability.common';
export const MA_SYS_SET_COLUMN: ColumnInfo[] = [
{
@ -11,4 +12,70 @@ export const MA_SYS_SET_COLUMN: ColumnInfo[] = [
columnName: "v_no",
type: ColumnType.STRING
}
]
]
export interface TableDefinition {
tableName: string;
sqlCreate: string;
columns: string[];
}
;
export interface TableMapType {
MA_MARKRULE: TableDefinition,
MA_SYSTEMPARM: TableDefinition,
MA_MAP_COLLECT: TableDefinition,
MA_MAP_COLLECT_SHAPE: TableDefinition,
MA_MAP_ITEMCLASS: TableDefinition,
MA_MAP_POINT: TableDefinition,
MA_MAP_POINT_ITEM: TableDefinition,
MA_MAP_ROAD: TableDefinition,
MA_MAP_ROAD_LANE: TableDefinition,
MAP_SUBITEM: TableDefinition,
MA_MAP_SUBITEM: TableDefinition,
MA_SYSSET: TableDefinition,
ES_CARINFO: TableDefinition,
ES_EXAMPOINTDETAIL: TableDefinition,
MA_MARKRULESET: TableDefinition,
MA_CDSBINFO: TableDefinition,
MA_ITEMINFO: TableDefinition,
MA_T_CARPARMSET: TableDefinition,
ES_CAR_VIDEO_PARAMETER: TableDefinition,
USER: TableDefinition,
USERLIST: TableDefinition,
IpConfigTable: TableDefinition,
DeviceInfoTable: TableDefinition,
CommonConstants: TableDefinition
}
export interface CenterTableMapType {
ItemInfo: TableDefinition,
MarkRule: TableDefinition,
SystemParm: TableDefinition,
mapCollectList: TableDefinition,
mapCollectshapeList: TableDefinition,
Map_Collect: TableDefinition,
Map_Collect_Shape: TableDefinition,
Map_ItemClass: TableDefinition,
Map_Point: TableDefinition,
Map_Point_Item: TableDefinition,
Map_Road: TableDefinition,
Map_Road_Lane: TableDefinition,
Map_SubItem: TableDefinition,
Sysset: TableDefinition,
CarInfo: TableDefinition,
MarkRuleSet: TableDefinition,
Cdsbinfo: TableDefinition,
T_CarParmSet: TableDefinition,
}
export interface InitializeTheCentralTableType {
singlePlay?: boolean
carId?: string
examinationRoomId?: string
judgeVersion?: string
shellVersion?: string
host?: string
videoVersion?: string
context?: common.UIAbilityContext
}

View File

@ -14,10 +14,16 @@ interface Head {
interface ImageCompareRsp {
head: Head;
body: ESObject
}
export interface FaceCompareResp {
imageCompareRsp: ImageCompareRsp
imageCompareRsp?: ImageCompareRsp
}
export interface ResponseDataType {
initializationRsp?: ImageCompareRsp
}
export interface ExaminerLoginInfo {
@ -30,7 +36,7 @@ export interface ExaminerLoginInfo {
ksyh?: string;
}
export interface Spzd {
export interface SpzdType {
carId?: string;
examinationRoomId?: string;
examinerName?: string;
@ -60,3 +66,14 @@ export interface TimeInfo {
ksdd: string;
}
export interface CarConfigurationInfoResponse {
body: CarConfigurationInfoResponseBody
}
interface CarConfigurationInfoResponseBody {
ES_CHECK_CAR_ITEM: Array<ES_CHECK_CAR_ITEMItem>;
}
interface ES_CHECK_CAR_ITEMItem {
ITEMS: string;
}

View File

@ -8,6 +8,7 @@ import { DwMapData, PassData, RealNumData, StackValueData, WarnFlagData, WarnFla
import { BaseInfoType } from '../model/Common';
import { CarCheckDataType, CarConfigurationParams, CarInfoType } from '../model/CarCheck';
import { BusinessError } from '@ohos.base';
import { SpzdType } from '../model';
@Entry
@Component
@ -145,7 +146,7 @@ struct Index {
}
}
carConfigurationInfo(param).then((res: ESObject) => {
carConfigurationInfo(param).then((res) => {
const list = res.body.ES_CHECK_CAR_ITEM[0].ITEMS.split(';');
this.checkList = []
list.map(res => {
@ -179,7 +180,7 @@ struct Index {
getPLCInfo() {
const that = this
globalThis.udpClient.onMessage_1 && globalThis.udpClient.onMessage_1((msg) => {
globalThis.udpClient.onMessage_1 && globalThis.udpClient.onMessage_1((msg: string) => {
console.log('getUDPonMessage_1byCarCheck2')
if (!this.breakFlag) {
@ -312,17 +313,21 @@ struct Index {
console.log('this.index', index,)
that.passArray[index] = true
if (index == 2) {
let flag = false
const spzd: Spzd = AppStorage.get('spzd')
for (let key in pzd) {
if (spzd[key]) {
that.warnFlag[index] = '1'
flag = true
}
}
if (!flag) {
that.warnFlag[index] = '2'
}
// let flag = false;
// const spzd: SpzdType = AppStorage.get('spzd');
// Object.keys(spzd).forEach((key) => {
// if (spzd[key]) {
// that.warnFlag[index] = '1';
// flag = true;
// }
// });
//
// if (!flag) {
// that.warnFlag[index] = '2';
// }
const spzd: SpzdType = AppStorage.get('spzd');
const hasTruthyValue = Object.values(spzd).some((value: string) => value);
that.warnFlag[index] = hasTruthyValue ? '1' : '2';
} else {
that.warnFlag[index] = '2'
}

View File

@ -170,7 +170,7 @@ struct Index {
return
}
//判断数据库是否有表数据,有则直接跳转,没有则读取本地数据
getSyncData('MA_SYSSET').then(data => {
getSyncData('MA_SYSSET').then((data: Array<string>) => {
console.log('datadata', JSON.stringify(data))
if (data?.[0]) {
router.pushUrl({
@ -496,7 +496,7 @@ struct Index {
const statue = AppStorage.get('statue') as Number
const lsh = AppStorage.get('lsh') as String
const arr = [signNum || 0, statue || 1]
let tmpList = [];
let tmpList: number[] = [];
tmpList.push(string2Bytes(arr[0], 1 * 8)[0])
tmpList.push(string2Bytes(arr[1], 1 * 8)[0])
const str = lsh || '0000000000000'

View File

@ -30,7 +30,7 @@ import { judgeConfig } from './judgeSDK/utils/judgeConfig';
import FileUtil from '../common/utils/File';
import SignDisplayCom from './compontents/signDisplayCom';
import { CarInfoType } from '../model';
import { CarInfoType, CommonType, KfdmType } from '../model';
@Entry
@Component
@ -56,18 +56,13 @@ struct Index {
@State startHourTime: string = ''
@State startExamTime: string = ''
//科目类型
@State examSubject: 2 | 3 = 3;
@State examSubject: string = '3';
@State ddxkTime: number = 0;
@State ddxkKsxmArr: string[] = []
@State ddxkKfArr: string[] = []
@State xmmcStr: string = ''
@State carztStr: string = ''
@State kfArr: {
xmmcStr?: string,
score: string,
desc: string
markcatalog: string
}[] = []
@State kfArr: KfdmType[] = []
@State name: string = ''
@State idCard: string = ''
@State singlePlay: boolean = false;
@ -80,8 +75,8 @@ struct Index {
@State cdsbInfoObj: CDSBInfo = {}
@State itemInfoObj: CDSBInfo = {}
@State timer: number = 0
@State judgeConfig: { [k: string]: string }[] = []
@State judgeConfigObj: { [k: string]: any } = defaultJudgeConfigObj
@State judgeConfig: CommonType[] = []
@State judgeConfigObj: object = defaultJudgeConfigObj
//流水号
@State lsh: string = ''
@State kszp: string = ''
@ -123,7 +118,6 @@ struct Index {
@State isRequiredProjectsEnd: boolean = false;
// @State isAllProjectsEnd: boolean = false;
@State lane: LANE = { road: '', num: 0, count: 0 }
@State roadData: Object = {};
//定位差分状态时候正常
@State isDwztRight: boolean = true;
@State defaultTabIndex: number = 0;
@ -173,13 +167,13 @@ struct Index {
//初始化相关数据库表
async initDb() {
this.examSubject = this.carInfo.examSubject;
const { isTrajectoryOpen, trajectoryPath } = judgeConfig
// const { isTrajectoryOpen, trajectoryPath } = judgeConfig
await this.initStudent();
await this.initCar();
//是否开启轨迹回放模式
if (isTrajectoryOpen) {
this.initTrajectoryParam(trajectoryPath)
if (judgeConfig.isTrajectoryOpen) {
this.initTrajectoryParam(judgeConfig.trajectoryPath)
} else {
await this.initSystemParam()
await this.initMarkRules();
@ -189,7 +183,7 @@ struct Index {
await this.initItemInfo()
// 科目三新增读取表数据
if (examSubject == 3) {
if (this.examSubject == '3') {
await this.initMapPoint()
await this.initMapPointItem()
//定时上传考试里程

View File

@ -31,7 +31,7 @@ struct Index {
this.deviceName = value.getLocalDeviceInfoSync().deviceName
this.deviceNo = value.getLocalDeviceInfoSync().deviceId.substring(0, 10).toUpperCase()
this.ip = 'MAC-' + this.deviceNo
AppStorage.setOrCreate('deviceNo', 'MAC-' + this.deviceNo)
AppStorage.SetOrCreate('deviceNo', 'MAC-' + this.deviceNo)
});
} catch (error) {

View File

@ -1,6 +1,7 @@
import relationalStore from '@ohos.data.relationalStore'
import common from '@ohos.app.ability.common'
import { BusinessError } from '@ohos.base'
import { DbTag } from "../config"
export interface ColumnInfo {
name: string,
@ -29,7 +30,7 @@ class DbUtils {
console.info("db rdbStore init success")
resolve()
})
.catch((err: any) => {
.catch((err: BusinessError) => {
console.error(`db rdbStore init fail reason:${err}`);
reject(err)
})
@ -46,7 +47,7 @@ class DbUtils {
console.info("sql createTable success")
resolve()
})
.catch((err) => {
.catch((err: BusinessError) => {
console.error(`sql createTable fail err:${JSON.stringify(err)}`);
reject(err)
})
@ -76,7 +77,7 @@ class DbUtils {
if (this.rdbStore) {
this.rdbStore?.executeSql(sql).then(() => {
resolve("")
}).catch((err) => {
}).catch((err: BusinessError) => {
reject(err)
})
} else {
@ -86,7 +87,7 @@ class DbUtils {
}
// 插入数据
insertData(tableName: string, obj: any): Promise<number> {
insertData(tableName: string, obj: ESObject): Promise<number> {
return new Promise((resolve, reject) => {
if (this.rdbStore) {
this.rdbStore?.insert(tableName, obj, (err, res) => {
@ -104,6 +105,19 @@ class DbUtils {
})
}
// 根据表名删除表
deleteByName(tableName: string): Promise<boolean> {
return new Promise((resolve, reject) => {
const SQL = `DELETE FROM ${tableName};`
this.executeSql(SQL).then(res => {
console.log(DbTag, "删除表成功!表名:", tableName)
resolve(true)
}).catch((err: BusinessError) => {
console.log(DbTag, "删除表失败!表名:", tableName, "错误信息:", JSON.stringify(err))
reject(false)
})
})
}
// 插入表数据
// insertData(tableName: string, obj: object, columns: ColumnInfo[]): Promise<number> {
@ -123,9 +137,9 @@ class DbUtils {
resolve(null)
} else {
res.goToNextRow()
resolve(res.getLong(0) as unknown as T)
resolve(res.getLong(0) as T)
}
}).catch((err) => {
}).catch((err: BusinessError) => {
console.error(`sql queryCount fail err:${JSON.stringify(err)}`);
reject(err)
})
@ -199,7 +213,7 @@ class DbUtils {
obj[info.name] = val;
});
// 3.3.将对象填入结果数组
arr.push(obj as unknown as T); // 将 obj 断言为 T 类型
arr.push(obj as T); // 将 obj 断言为 T 类型
}
return arr;
}

View File

@ -0,0 +1,17 @@
import common from "@ohos.app.ability.common";
// export default class FileUtil {
// private context: common.UIAbilityContext
//
// constructor() {
// }
//
// // 创建文件夹
//
// // 创建并覆盖文件
//
// // 创建或者编辑文件
// // 关闭文件
// // 读取文件
// // 删除文件夹或者文件1:文件夹 2文件 3自定义目录下文件
// }

View File

@ -0,0 +1,159 @@
import { InitializeTheCentralTableType, ResponseDataType, TableDefinition, User } from '../../model';
import DB, { ColumnInfo, ColumnType } from '../DbSql';
import { CenterMap, ParameterPlatform, RemappingTableName } from './Relationship';
import { BusinessError } from '@ohos.base';
import Prompt from '@system.prompt';
import { initialization } from '../../api';
import FileUtil from '../../common/utils/File';
import { GlobalConfig } from '../../config';
import { sqlInsertCommonFn } from '../../common/service/initable';
// 建表操作
export async function InitTable() {
Object.keys(ParameterPlatform).forEach(async (item) => {
await DB.executeSql(ParameterPlatform[item].sqlCreate);
});
}
// 插表操作
export function SqlInsertTable(tableName: string, data: Array<User>, delFlag = true): Promise<boolean> {
return new Promise((resolve, reject) => {
data.forEach((element, index) => {
element.id = !delFlag ? `${index + data.length}` : `${index}`
})
DB.clearTable(tableName).then((res) => {
const columns = Object.keys(data[0]).join(', ');
const values = data
.map((item) => {
const rowValues = Object.values(item)
.map((value: string | number) => (typeof value === 'string' ? `'${value}'` : value))
return `(${rowValues})`;
})
.join(', ');
let INSERT_SQL = "INSERT INTO " + tableName
+ " (" + columns + ") VALUES " + values
DB.executeSql(INSERT_SQL).then(() => {
console.log('sql insert,', res, 'tableName', tableName)
resolve(true)
}).catch((err: BusinessError) => {
console.log('sql insert err,', JSON.stringify(err), 'tableName', tableName)
reject(err)
})
})
})
}
// 参数平台
// TODO 后续废弃这个方法,直接调用SqlInsertTable
// 依据数组和表名更新sql表
export function UpdateTableByArray(tableName: string, arr: Array<User>): Promise<boolean> {
return SqlInsertTable(tableName, arr)
}
//依据表名同步获取数据
export async function GetSyncData(tableName: string): Promise<boolean> {
return new Promise((resolve, reject) => {
const columns: ColumnInfo[] = ParameterPlatform[tableName].columns.map((res: string) => {
return {
name: res,
columnName: res,
type: ColumnType.STRING
} as ColumnInfo
})
// TODO 需要完善此处类型
DB.queryListBySql<ESObject>(`select * from ${tableName}`, columns).then(() => {
resolve(true)
}).catch((err: BusinessError) => {
reject(err)
})
})
}
// TODO 后续废弃这个方法,直接调用DB.deleteByName
// 删除表
export async function DeleteSyncTable(tableName: string): Promise<boolean> {
return new Promise((resolve, reject) => {
DB.deleteByName(tableName).then(() => {
resolve(true)
}).catch(() => {
reject(false)
})
})
}
// 初始化中心表
export async function InitializeTheCentralTable(params: InitializeTheCentralTableType): Promise<boolean> {
return new Promise(async (resolve, reject) => {
const fileUtil = new FileUtil(params.context)
let flag = false
// 单机模式
if (params.singlePlay) {
const tableList =
['MA_SYSSET', 'MA_SYSTEMPARM', 'MA_MARKRULE', 'MA_MARKRULESET', 'ES_CARINFO', 'MA_MAP_ROAD', 'MA_MAP_ROAD_LANE',
'MAP_SUBITEM', 'MA_T_CARPARMSET', 'MA_MAP_ITEMCLASS', 'MA_MAP_POINT', 'MA_MAP_POINT_ITEM'];
for (let i = 0; i <= tableList.length - 1; i++) {
const data =
await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + `/config/tableList/${tableList[i]}.txt`);
flag = await SqlInsertTable(tableList[i], JSON.parse(data) || [])
}
if (!flag) {
Prompt.showToast({
message: '本地文件初始化数据库失败'
})
}
resolve(flag)
}
// 非单机模式
if (params.carId) {
resolve(false)
}
const str: InitializeTheCentralTableType = {
carId: params?.carId,
examinationRoomId: params.examinationRoomId,
videoVersion: '1.0',
judgeVersion: params.judgeVersion,
shellVersion: params.shellVersion,
host: params.host
}
const res: ResponseDataType = await initialization(str)
if (!res || res.initializationRsp.head.resultCode == "1") {
resolve(false)
}
for (const key of Object.keys(res.initializationRsp.body)) {
if (CenterMap[key]) {
continue
}
// TODO 后续替换类型
let arrList: ESObject[] = []
if (res.initializationRsp.body[key] instanceof Array) {
arrList = res.initializationRsp.body[key]
} else {
arrList.push(res.initializationRsp.body[key])
}
const folderPath = await fileUtil.initFolder(`/config/tableList`);
fileUtil.addFile(`${folderPath}/${RemappingTableName[key]}.txt`, JSON.stringify(arrList))
const result = await SqlInsertTable(RemappingTableName[key], arrList)
if (!result) {
Prompt.showToast({
message: '初始化数据库失败'
})
}
resolve(result)
}
})
}

View File

@ -0,0 +1,160 @@
import { CenterTableMapType, TableDefinition, TableMapType } from '../../model';
import {
accountTable,
DeviceInfoTable,
ES_CAR_VIDEO_PARAMETER,
ES_CARINFO,
ES_EXAMPOINTDETAIL,
IpConfigTable,
MA_CDSBINFO,
MA_ITEMINFO,
MA_MAP_COLLECT,
MA_MAP_COLLECT_SHAPE,
MA_MAP_ITEMCLASS,
MA_MAP_POINT,
MA_MAP_POINT_ITEM,
MA_MAP_ROAD,
MA_MAP_ROAD_LANE,
MA_MAP_SUBITEM,
MA_MARKRULE,
MA_MARKRULESET,
MA_SYSSET,
MA_SYSTEMPARM,
MA_T_CARPARMSET,
USER,
USERLIST
} from './TableMessage';
// export const ParameterPlatform: TableMapType = {
// MA_MARKRULE: MA_MARKRULE,
// MA_SYSTEMPARM: MA_SYSTEMPARM,
// MA_MAP_COLLECT: MA_MAP_COLLECT,
// MA_MAP_COLLECT_SHAPE: MA_MAP_COLLECT_SHAPE,
// MA_MAP_ITEMCLASS: MA_MAP_ITEMCLASS,
// MA_MAP_POINT: MA_MAP_POINT,
// MA_MAP_POINT_ITEM: MA_MAP_POINT_ITEM,
// MA_MAP_ROAD: MA_MAP_ROAD,
// MA_MAP_ROAD_LANE: MA_MAP_ROAD_LANE,
// MAP_SUBITEM: MA_MAP_SUBITEM,
// MA_MAP_SUBITEM: MA_MAP_SUBITEM,
// MA_SYSSET: MA_SYSSET,
// ES_CARINFO: ES_CARINFO,
// ES_EXAMPOINTDETAIL: ES_EXAMPOINTDETAIL,
// MA_MARKRULESET: MA_MARKRULESET,
// MA_CDSBINFO: MA_CDSBINFO,
// MA_ITEMINFO: MA_ITEMINFO,
// MA_T_CARPARMSET: MA_T_CARPARMSET,
// ES_CAR_VIDEO_PARAMETER: ES_CAR_VIDEO_PARAMETER,
// USER: USER,
// USERLIST: USERLIST,
// IpConfigTable: IpConfigTable,
// DeviceInfoTable: DeviceInfoTable,
// CommonConstants: accountTable
// }
export const ParameterPlatform = new Map([
['MA_MARKRULE', MA_MARKRULE],
['MA_SYSTEMPARM', MA_SYSTEMPARM],
['MA_MAP_COLLECT', MA_MAP_COLLECT],
['MA_MAP_COLLECT_SHAPE', MA_MAP_COLLECT_SHAPE],
['MA_MAP_ITEMCLASS', MA_MAP_ITEMCLASS],
['MA_MAP_POINT', MA_MAP_POINT],
['MA_MAP_POINT_ITEM', MA_MAP_POINT_ITEM],
['MA_MAP_ROAD', MA_MAP_ROAD],
['MA_MAP_ROAD_LANE', MA_MAP_ROAD_LANE],
['MAP_SUBITEM', MA_MAP_SUBITEM],
['MA_MAP_SUBITEM', MA_MAP_SUBITEM],
['MA_SYSSET', MA_SYSSET],
['ES_CARINFO', ES_CARINFO],
['ES_EXAMPOINTDETAIL', ES_EXAMPOINTDETAIL],
['MA_MARKRULESET', MA_MARKRULESET],
['MA_CDSBINFO', MA_CDSBINFO],
['MA_ITEMINFO', MA_ITEMINFO],
['MA_T_CARPARMSET', MA_T_CARPARMSET],
['ES_CAR_VIDEO_PARAMETER', ES_CAR_VIDEO_PARAMETER],
['USER', USER],
['USERLIST', USERLIST],
['IpConfigTable', IpConfigTable],
['DeviceInfoTable', DeviceInfoTable],
['CommonConstants', accountTable]
]);
// export const CenterMap: CenterTableMapType = {
// ItemInfo: MA_ITEMINFO,
// MarkRule: MA_MARKRULE,
// SystemParm: MA_SYSTEMPARM,
// mapCollectList: MA_MAP_COLLECT,
// mapCollectshapeList: MA_MAP_COLLECT_SHAPE,
// Map_Collect: MA_MAP_COLLECT,
// Map_Collect_Shape: MA_MAP_COLLECT_SHAPE,
// Map_ItemClass: MA_MAP_ITEMCLASS,
// Map_Point: MA_MAP_POINT,
// Map_Point_Item: MA_MAP_POINT_ITEM,
// Map_Road: MA_MAP_ROAD,
// Map_Road_Lane: MA_MAP_ROAD_LANE,
// Map_SubItem: MA_MAP_SUBITEM,
// Sysset: MA_SYSSET,
// CarInfo: ES_CARINFO,
// MarkRuleSet: MA_MARKRULE,
// Cdsbinfo: MA_CDSBINFO,
// T_CarParmSet: MA_T_CARPARMSET,
// }
export const CenterMap = new Map([
['ItemInfo', MA_ITEMINFO],
['MarkRule', MA_MARKRULE],
['SystemParm', MA_SYSTEMPARM],
['mapCollectList', MA_MAP_COLLECT],
['mapCollectshapeList', MA_MAP_COLLECT_SHAPE],
['Map_Collect', MA_MAP_COLLECT],
['Map_Collect_Shape', MA_MAP_COLLECT_SHAPE],
['Map_ItemClass', MA_MAP_ITEMCLASS],
['Map_Point', MA_MAP_POINT],
['Map_Point_Item', MA_MAP_POINT_ITEM],
['Map_Road', MA_MAP_ROAD],
['Map_Road_Lane', MA_MAP_ROAD_LANE],
['Map_SubItem', MA_MAP_SUBITEM],
['Sysset', MA_SYSSET],
['CarInfo', ES_CARINFO],
['MarkRuleSet', MA_MARKRULE],
['Cdsbinfo', MA_CDSBINFO],
['T_CarParmSet', MA_T_CARPARMSET],
]);
// const mapName = {
// 'ItemInfo': 'MA_ITEMINFO',
// 'MarkRule': 'MA_MARKRULE',
// 'SystemParm': 'MA_SYSTEMPARM',
// 'Map_Collect': 'MA_MAP_COLLECT',
// 'Map_Collect_Shape': 'MA_MAP_COLLECT_SHAPE',
// 'Map_ItemClass': 'MA_MAP_ITEMCLASS',
// 'Map_Point': 'MA_MAP_POINT',
// 'Map_Point_Item': 'MA_MAP_POINT_ITEM',
// 'Map_Road': 'MA_MAP_ROAD',
// 'Map_Road_Lane': 'MA_MAP_ROAD_LANE',
// 'Map_SubItem': 'MAP_SUBITEM',
// 'Sysset': 'MA_SYSSET',
// 'CarInfo': 'ES_CARINFO',
// // 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL,
// 'MarkRuleSet': 'MA_MARKRULESET',
// 'Cdsbinfo': 'MA_CDSBINFO',
// 'T_CarParmSet': 'MA_T_CARPARMSET',
// }
export const RemappingTableName = new Map([
['ItemInfo', 'MA_ITEMINFO'],
['MarkRule', 'MA_MARKRULE'],
['SystemParm', 'MA_SYSTEMPARM'],
['Map_Collect', 'MA_MAP_COLLECT'],
['Map_Collect_Shape', 'MA_MAP_COLLECT_SHAPE'],
['Map_ItemClass', 'MA_MAP_ITEMCLASS'],
['Map_Point', 'MA_MAP_POINT'],
['Map_Point_Item', 'MA_MAP_POINT_ITEM'],
['Map_Road', 'MA_MAP_ROAD'],
['Map_Road_Lane', 'MA_MAP_ROAD_LANE'],
['Map_SubItem', 'MAP_SUBITEM'],
['Sysset', 'MA_SYSSET'],
['CarInfo', 'ES_CARINFO'],
['MarkRuleSet', 'MA_MARKRULESET'],
['Cdsbinfo', 'MA_CDSBINFO'],
['T_CarParmSet', 'MA_T_CARPARMSET']
]);

View File

@ -0,0 +1,185 @@
import { TableDefinition } from '../../model'
export const MA_MARKRULE: TableDefinition = {
tableName: 'MA_MARKRULE',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MARKRULE(id TEXT,itemno TEXT,markserial TEXT, markdepend TEXT, ' +
'markcatalog TEXT, markstandard TEXT,markreal TEXT,markshow TEXT,car_sid TEXT,gyro_sid TEXT,gps_sid TEXT,magnet_sid TEXT,simu_sid TEXT,close_sid TEXT,notes TEXT,onlyoneid TEXT,nocancelid TEXT,kfxh TEXT)',
columns: ['id', 'itemno', 'markserial', 'markdepend', 'markcatalog', 'markstandard', 'markreal', 'markshow',
'car_sid', 'gyro_sid', 'gps_sid', 'magnet_sid', 'simu_sid', 'close_sid', 'notes', 'onlyoneid', 'nocancelid',
'kfxh']
}
export const accountTable: TableDefinition = {
tableName: 'accountTable',
sqlCreate: 'CREATE TABLE IF NOT EXISTS accountTable(sfzmhm TEXT,lsh TEXT, xm TEXT)',
columns: ['sfzmhm', 'xm', 'lsh']
}
export const DeviceInfoTable: TableDefinition = {
tableName: 'DeviceInfoTable',
sqlCreate: 'CREATE TABLE IF NOT EXISTS DeviceInfoTable(id TEXT,deviceId TEXT)',
columns: ['id', 'deviceId']
}
export const ES_CAR_VIDEO_PARAMETER: TableDefinition = {
tableName: 'ES_CAR_VIDEO_PARAMETER',
sqlCreate: 'CREATE TABLE IF NOT EXISTS ES_CAR_VIDEO_PARAMETER(id TEXT,video_mode TEXT,video_channel TEXT, first_channel TEXT, ' +
'second_port TEXT, first_port TEXT,third_ip TEXT,photo_overlay_text_size TEXT,second_ip TEXT,photo_overlay_text_content3 TEXT,video_range TEXT,fourth_port TEXT,line_type TEXT,third_port TEXT,fourth_channel TEXT,process_face_comparion_mode TEXT,second_password TEXT,first_username TEXT,third_username TEXT,photo_overlay_text_content2 TEXT,photo_overlay_text_content1 TEXT,process_face_comparion_enable TEXT,third_password TEXT,fourth_username TEXT,fourth_ip TEXT,first_password TEXT,second_username TEXT,video_synthesis_system_ip TEXT,photo_overlay_text_position TEXT,video_synthesis_server_port TEXT,car_mac TEXT,photo_overlay_text_enable TEXT,video_synthesis_system_port TEXT,second_channel TEXT,video_occlusion_range TEXT,fourth_password TEXT,photo_channel TEXT,video_synthesis_server_ip TEXT,photo_overlay_text_split TEXT,equipment_type TEXT,video_occlusion TEXT,third_channel TEXT,first_ip TEXT)',
columns: ['id', 'video_mode', 'video_channel', 'first_channel', 'second_port', 'first_port', 'third_ip',
'photo_overlay_text_size', 'second_ip', 'photo_overlay_text_content3', 'video_range', 'fourth_port', 'line_type',
'third_port', 'fourth_channel', 'process_face_comparion_mode', 'second_password', 'first_username',
'third_username', 'photo_overlay_text_content2', 'photo_overlay_text_content1', 'process_face_comparion_enable',
'third_password', 'fourth_username', 'fourth_ip', 'first_password', 'second_username',
'video_synthesis_system_ip', 'photo_overlay_text_position', 'video_synthesis_server_port', 'car_mac',
'photo_overlay_text_enable', 'video_synthesis_system_port', 'second_channel', 'video_occlusion_range',
'fourth_password', 'photo_channel', 'video_synthesis_server_ip', 'photo_overlay_text_split', 'equipment_type',
'video_occlusion', 'third_channel', 'first_ip']
}
export const ES_CARINFO: TableDefinition = {
tableName: 'ES_CARINFO',
sqlCreate: 'CREATE TABLE IF NOT EXISTS ES_CARINFO(id TEXT,car_mac TEXT,status TEXT, voiceip TEXT, ' +
'carno TEXT, carcode TEXT,cartype TEXT,device_status TEXT,carip TEXT,pulse1 TEXT,pulse2 TEXT,isface TEXT,bk1 TEXT,ismapcollect TEXT,bk2 TEXT,exampointcode TEXT,software_version TEXT,typename TEXT,vin TEXT,voicetype TEXT,em TEXT,carclass TEXT,carid TEXT,flag TEXT,kscx TEXT,x_mch TEXT)',
columns: ['id', 'car_mac', 'status', 'voiceip', 'carno', 'carcode', 'cartype', 'device_status', 'carip', 'pulse1',
'pulse2', 'isface', 'bk1', 'ismapcollect', 'bk2', 'exampointcode', 'software_version', 'typename', 'vin',
'voicetype', 'em', 'carclass', 'carid', 'flag', 'kscx', 'x_mch']
}
export const ES_EXAMPOINTDETAIL: TableDefinition = {
tableName: 'ES_EXAMPOINTDETAIL',
sqlCreate: 'CREATE TABLE IF NOT EXISTS ES_EXAMPOINTDETAIL(id TEXT,code TEXT,type TEXT, name TEXT, ' +
'status TEXT, udpip TEXT,udpcommandport TEXT,udpvoiceport TEXT,udpdataport TEXT,fullname TEXT,exam_status TEXT,is_motor TEXT)',
columns: ['id', 'code', 'type', 'name', 'status', 'udpip', 'udpcommandport', 'udpvoiceport', 'udpdataport',
'fullname', 'exam_status', 'is_motor']
}
export const IpConfigTable: TableDefinition = {
tableName: 'IpConfigTable',
sqlCreate: 'CREATE TABLE IF NOT EXISTS IpConfigTable(id TEXT,udplocalIp TEXT,udplocalIpPort TEXT, udpOppositeIp TEXT, udpOppositeIpPort TEXT,tcplocalIp TEXT,tcplocalIpPort TEXT,tcpOppositeIp TEXT,tcpOppositePort TEXT,gateway TEXT,netMask TEXT,dnsServers TEXT,centerPort TEXT,centerIp TEXT)',
columns: ['id', 'udplocalIp', 'udplocalIpPort', 'udpOppositeIp', 'udpOppositeIpPort', 'tcplocalIp',
'tcplocalIpPort', 'tcpOppositeIp', 'tcpOppositePort', 'gateway', 'netMask', 'dnsServers', 'centerPort',
'centerIp']
}
export const MA_CDSBINFO: TableDefinition = {
tableName: 'MA_CDSBINFO',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_CDSBINFO(id TEXT,sbbm TEXT,itemsno TEXT, sbbh TEXT, kdid TEXT, bk3 TEXT)',
columns: ['id', 'sbbm', 'itemsno', 'sbbh', 'kdid', 'bk3']
}
export const MA_ITEMINFO: TableDefinition = {
tableName: 'MA_ITEMINFO',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_ITEMINFO(id TEXT,cininfo TEXT,setup9 TEXT, nextinfo TEXT, ' +
'setup7 TEXT, setup8 TEXT,setup5 TEXT,carlist TEXT,setup6 TEXT,setup3 TEXT,setup4 TEXT,setup1 TEXT,setup2 TEXT,itemsno TEXT,end_cardsno TEXT,freqinfo TEXT)',
columns: ['id', 'cininfo', 'setup9', 'nextinfo', 'setup7', 'setup8', 'setup5', 'carlist', 'setup6', 'setup3',
'setup4', 'setup1', 'setup2', 'itemsno', 'end_cardsno', 'freqinfo']
}
export const MA_MAP_COLLECT: TableDefinition = {
tableName: 'MA_MAP_COLLECT',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_COLLECT(id TEXT,l_no TEXT,s_no TEXT, s_no1 TEXT, ' +
'road_code TEXT, gps_e TEXT,gps_n TEXT,posx TEXT,posy TEXT,l_type TEXT,line_type TEXT,next_s_no TEXT,next_s_no1 TEXT,lane_attr TEXT,gps_h TEXT)',
columns: ['id', 'l_no', 's_no', 's_no1', 'road_code', 'gps_e', 'gps_n', 'posx', 'posy', 'l_type', 'line_type',
'next_s_no', 'next_s_no1', 'lane_attr', 'gps_h']
}
export const MA_MAP_COLLECT_SHAPE: TableDefinition = {
tableName: 'MA_MAP_COLLECT_SHAPE',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_COLLECT_SHAPE(id TEXT,serial_no TEXT,l_no1 TEXT, l_no2 TEXT, ' +
'l_no3 TEXT, l_no4 TEXT,attr_str TEXT,subtype TEXT)',
columns: ['id', 'serial_no', 'l_no1', 'l_no2', 'l_no3', 'l_no4', 'attr_str', 'subtype']
}
export const MA_MAP_ITEMCLASS: TableDefinition = {
tableName: 'MA_MAP_ITEMCLASS',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_ITEMCLASS(id TEXT,itemno TEXT,itemno1 TEXT, itemname TEXT, ' +
'itemname1 TEXT, item_type TEXT,enabled TEXT)',
columns: ['id', 'itemno', 'itemno1', 'itemname', 'itemname', 'itemname1', 'item_type', 'enabled']
}
export const MA_MAP_POINT: TableDefinition = {
tableName: 'MA_MAP_POINT',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_POINT(id TEXT,point_no TEXT,point_no_f TEXT, gps_e TEXT,' +
'gps_e_location TEXT,gps_n TEXT,gps_n_location TEXT,f_gps_e TEXT,f_gps_n TEXT,point_type TEXT,road_code TEXT,visible TEXT,passed TEXT)',
columns: ['id', 'point_no', 'point_no_f', 'gps_e', 'gps_e_location', 'gps_n', 'gps_n_location', 'f_gps_e',
'f_gps_n', 'point_type', 'road_code', 'visible', 'passed']
}
export const MA_MAP_POINT_ITEM: TableDefinition = {
tableName: 'MA_MAP_POINT_ITEM',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_POINT_ITEM(id TEXT,point_no TEXT,itemno TEXT,itemno1 TEXT,' +
'subname TEXT)',
columns: ['id', 'point_no', 'itemno', 'itemno1', 'subname']
}
export const MA_MAP_ROAD: TableDefinition = {
tableName: 'MA_MAP_ROAD',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_ROAD(id TEXT,road_code TEXT,road_code_no TEXT,lane_no TEXT,' +
'point1y TEXT,point1x TEXT,point2y TEXT,point2x TEXT,pointmy TEXT,pointmx TEXT,point3y TEXT,point3x TEXT,point4y TEXT,point4x TEXT,pointny TEXT,pointnx TEXT)',
columns: ['id', 'road_code', 'road_code_no', 'lane_no', 'point1y', 'point1x', 'point2y', 'point2x', 'pointmy',
'pointmx', 'point3y', 'point3x', 'point4y', 'point4x', 'pointny', 'pointnx']
}
export const MA_MAP_ROAD_LANE: TableDefinition = {
tableName: 'MA_MAP_ROAD_LANE',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MAP_ROAD_LANE(id TEXT,road_code TEXT,road_code_no TEXT,lane_no TEXT,' +
'line_type TEXT,lane_attr TEXT,line_width TEXT,rightline TEXT)',
columns: ['id', 'road_code', 'road_code_no', 'lane_no', 'line_type', 'lane_attr', 'line_width', 'rightline']
}
export const MAP_SUBITEM: TableDefinition = {
tableName: 'MAP_SUBITEM',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MAP_SUBITEM(id TEXT,itemno TEXT,posx1 TEXT, posx2 TEXT, ' +
'posx3 TEXT, posx4 TEXT,posy1 TEXT,posy2 TEXT,posy3 TEXT,posy4 TEXT,sno TEXT,subname TEXT)',
columns: ['id', 'itemno', 'posx1', 'posx2', 'posx3', 'posx4', 'posy1', 'posy2', 'posy3', 'posy4', 'sno', 'subname']
}
export const MA_MARKRULESET: TableDefinition = {
tableName: 'MA_MARKRULESET',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_MARKRULESET(id TEXT,itemno TEXT,markserial TEXT, markdepend TEXT, ' +
'markcatalog TEXT, markstandard TEXT,markreal TEXT,markshow TEXT,txt1 TEXT,kfxh TEXT)',
columns: ['id', 'itemno', 'markserial', 'markdepend', 'markcatalog', 'markstandard', 'markreal', 'markshow', 'txt1',
'kfxh']
}
export const MA_SYSSET: TableDefinition = {
tableName: 'MA_SYSSET',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_SYSSET(id TEXT,v_no TEXT,v_name TEXT, v_value TEXT)',
columns: ['id', 'v_no', 'v_name', 'v_value']
}
export const MA_SYSTEMPARM: TableDefinition = {
tableName: 'MA_SYSTEMPARM',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_SYSTEMPARM(id TEXT,no1 TEXT,no2 TEXT, no3 TEXT, ' +
'txt1 TEXT, txt2 TEXT,txt3 TEXT)',
columns: ['id', 'no1', 'no2', 'no3', 'txt1', 'txt2', 'txt3']
}
export const MA_T_CARPARMSET: TableDefinition = {
tableName: 'MA_T_CARPARMSET',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MA_T_CARPARMSET(id TEXT,carid TEXT,itemname TEXT, parmdesc TEXT, ' +
'parmname TEXT, pdefault TEXT,pvalue TEXT)',
columns: ['id', 'carid', 'itemname', 'parmdesc', 'parmname', 'pdefault', 'pvalue']
}
export const USER: TableDefinition = {
tableName: 'USER',
sqlCreate: 'CREATE TABLE IF NOT EXISTS USER(id TEXT,sfzmhm TEXT,xm CHAR(20), lsh TEXT, kszp TEXT,ksdd TEXT,kssycs TEXT,kslx TEXT,kscx TEXT,ksxl TEXT,ksy1 TEXT,ksmjzp TEXT,ksy2 TEXT,xldm TEXT,ksy2sfzmhm TEXT,bz1 TEXT,kchp TEXT,xb TEXT,xh TEXT,yycs TEXT,jxmc TEXT,ksy1sfzmhm TEXT,kszt TEXT)',
columns: ['id', 'sfzmhm', 'xm', 'lsh', 'kszp', 'ksdd', 'kssycs', 'kslx', 'kscx', 'ksxl', 'ksy1', 'ksmjzp', 'ksy2',
'xldm', 'ksy2sfzmhm', 'bz1', 'kchp', 'xb', 'xh', 'yycs', 'jxmc', 'ksy1sfzmhm', 'kszt']
}
export const USERLIST: TableDefinition = {
tableName: 'USERLIST',
sqlCreate: 'CREATE TABLE IF NOT EXISTS USERLIST(id TEXT,sfzmhm TEXT,xm CHAR(20), lsh TEXT, kszp TEXT,ksdd TEXT,kssycs TEXT,kslx TEXT,kscx TEXT,ksxl TEXT,ksy1 TEXT,ksmjzp TEXT,ksy2 TEXT,xldm TEXT,ksy2sfzmhm TEXT,bz1 TEXT,kchp TEXT,xb TEXT,xh TEXT,yycs TEXT,jxmc TEXT,ksy1sfzmhm TEXT,kszt TEXT)',
columns: ['id', 'sfzmhm', 'xm', 'lsh', 'kszp', 'ksdd', 'kssycs', 'kslx', 'kscx', 'ksxl', 'ksy1', 'ksmjzp', 'ksy2',
'xldm', 'ksy2sfzmhm', 'bz1', 'kchp', 'xb', 'xh', 'yycs', 'jxmc', 'ksy1sfzmhm', 'kszt']
}
export const MA_MAP_SUBITEM: TableDefinition = {
tableName: 'MAP_SUBITEM',
sqlCreate: 'CREATE TABLE IF NOT EXISTS MAP_SUBITEM(id TEXT,itemno TEXT,posx1 TEXT, posx2 TEXT, ' +
'posx3 TEXT, posx4 TEXT,posy1 TEXT,posy2 TEXT,posy3 TEXT,posy4 TEXT,sno TEXT,subname TEXT)',
columns: ['id', 'itemno', 'posx1', 'posx2', 'posx3', 'posx4', 'posy1', 'posy2', 'posy3', 'posy4', 'sno', 'subname']
}