From 33a719a462c46d1e265f0c2d988885cd8349ed07 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Mon, 29 Jul 2024 14:29:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8C=E4=B8=AD=E5=BF=83=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/ets/common/service/indexService.ts | 20 +- entry/src/main/ets/common/service/initable.ts | 366 ++++++++---------- 2 files changed, 173 insertions(+), 213 deletions(-) diff --git a/entry/src/main/ets/common/service/indexService.ts b/entry/src/main/ets/common/service/indexService.ts index 7ff8c3f7..dbb41914 100644 --- a/entry/src/main/ets/common/service/indexService.ts +++ b/entry/src/main/ets/common/service/indexService.ts @@ -81,21 +81,11 @@ export async function setliushuiNum(context) { export async function getDoubleCeneterTable(param) { return new Promise(async (reslove, reject) => { // MA_SYSSET双中心下做合并表格操作 - const db = new AccountTable(() => { - }, MA_SYSSET, param.context); - db.getRdbStore(() => { - db.query('0', async (array) => { - if (array.length) { - delSyncTable('MA_SYSSET').then(async () => { - await getDataBaseTable({ tableName: 'MA_SYSSET' }, param) - await getMySystemSetTable({ tableName: 'MA_SYSSET' }, param) - }) - } else { - await getDataBaseTable({ tableName: 'MA_SYSSET' }, param) - await getMySystemSetTable({ tableName: 'MA_SYSSET' }, param) - } - }) - }, param.context) + delSyncTable('MA_SYSSET', param.context).then(async () => { + await getDataBaseTable({ tableName: 'MA_SYSSET' }, param) + await getMySystemSetTable({ tableName: 'MA_SYSSET' }, param) + }) + const typeObj = { 'MA_MARKRULE': false, 'MA_SYSTEMPARM': false, diff --git a/entry/src/main/ets/common/service/initable.ts b/entry/src/main/ets/common/service/initable.ts index b91c11bd..d5ce1762 100644 --- a/entry/src/main/ets/common/service/initable.ts +++ b/entry/src/main/ets/common/service/initable.ts @@ -1,7 +1,5 @@ // @ts-nocheck -import data_rdb from '@ohos.data.rdb'; -import UIAbility from '@ohos.app.ability.UIAbility'; -import { initCenterCache,initCenterCacheByKSPT,initEsModel,initialization } from '../../api/index' +import { initCenterCache, initCenterCacheByKSPT, initEsModel, initialization } from '../../api/index'; import { dateFormat } from '../utils/tools'; import AccountTable from '../database/tables/AccountTable'; import MA_MARKRULE from '../constants/MA_MARKRULE'; @@ -23,12 +21,12 @@ import MA_ITEMINFO from '../constants/MA_ITEMINFO'; import MA_T_CARPARMSET from '../constants/MA_T_CARPARMSET'; import ES_CAR_VIDEO_PARAMETER from '../constants/ES_CAR_VIDEO_PARAMETER'; import IpConfigTable from '../constants/IpConfigTable'; -import CommonConstants from '../constants/CommonConstants' -import DeviceInfoTable from '../constants/DeviceInfoTable' -import USER from '../constants/USER' +import CommonConstants from '../constants/CommonConstants'; +import DeviceInfoTable from '../constants/DeviceInfoTable'; +import USER from '../constants/USER'; import util from '@ohos.util'; -import zlib from '@ohos.zlib'; import FileModel from '../../pages/judgeSDK/utils/fileModel'; + // @ts-nocheck //读表 //参数平台 @@ -51,155 +49,126 @@ const map = { 'MA_ITEMINFO': MA_ITEMINFO, 'MA_T_CARPARMSET': MA_T_CARPARMSET, 'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER, - 'USER':USER, - 'IpConfigTable':IpConfigTable, - 'DeviceInfoTable':DeviceInfoTable, - 'CommonConstants':CommonConstants + 'USER': USER, + 'IpConfigTable': IpConfigTable, + 'DeviceInfoTable': DeviceInfoTable, + 'CommonConstants': CommonConstants } -const centerToMap={ - 'ItemInfo':MA_ITEMINFO, - 'MarkRule':MA_MARKRULE, - 'SystemParm':MA_SYSTEMPARM, - 'mapCollectList':MA_MAP_COLLECT, - 'mapCollectshapeList':MA_MAP_COLLECT_SHAPE, +const centerToMap = { + '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, + '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, // 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL, - 'MarkRuleSet':MA_MARKRULE, - 'Cdsbinfo':MA_CDSBINFO, - 'T_CarParmSet':MA_T_CARPARMSET, + 'MarkRuleSet': MA_MARKRULE, + 'Cdsbinfo': MA_CDSBINFO, + 'T_CarParmSet': MA_T_CARPARMSET, // 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER } -function sqlInsertCommonFn(tableName,resultArr,context?){ - return new Promise((resolve,reject)=>{ +function sqlInsertCommonFn(tableName, resultArr, context?, delFlag = true) { + return new Promise((resolve, reject) => { const accountTable = new AccountTable(() => { - }, map[tableName],context); + }, map[tableName], context); accountTable.getRdbStore(() => { - accountTable.query('0', async (result) => { + accountTable.query('0', async (result) => { // console.log('表长度',result.length,tableName) if (result.length == 0) { - let INSERT_SQL = "INSERT INTO "+tableName - + " ("+ map[tableName].ACCOUNT_TABLE.columns.toString()+") VALUES " + let INSERT_SQL = "INSERT INTO " + tableName + + " (" + map[tableName].ACCOUNT_TABLE.columns.toString() + ") VALUES " - resultArr.map((data,i) => { - data.id=`${i}` - let str='(' - map[tableName].ACCOUNT_TABLE.columns.map((res,index)=>{ - if(map[tableName].ACCOUNT_TABLE.columns.length-1==index){ - str+=data[res]?`"${data[res]}"`:'NULL' - }else{ - str+=(data[res]?`"${data[res]}"`:'NULL')+',' + resultArr.map((data, i) => { + data.id = `${i}` + let str = '(' + map[tableName].ACCOUNT_TABLE.columns.map((res, index) => { + if (map[tableName].ACCOUNT_TABLE.columns.length - 1 == index) { + str += data[res] ? `"${data[res]}"` : 'NULL' + } else { + str += (data[res] ? `"${data[res]}"` : 'NULL') + ',' } }) - if(i==resultArr.length-1){ - str+=')' - }else{ - str+='),' + if (i == resultArr.length - 1) { + str += ')' + } else { + str += '),' } - INSERT_SQL+=str + INSERT_SQL += str }) - accountTable.sqlOperate(INSERT_SQL,tableName,(val)=>{ - console.log('sqlsqlinsert,',val,'tableName',tableName) + accountTable.sqlOperate(INSERT_SQL, tableName, (val) => { + console.log('sqlsqlinsert,', val, 'tableName', tableName) resolve(val) }) } else { - await delSyncTable(tableName,context) - const result= await sqlInsertCommonFn(tableName,resultArr,context) + if (delFlag) { + await delSyncTable(tableName, context) + } + const result = await sqlInsertCommonFn(tableName, resultArr, context) resolve(result) } }, true); - },context); + }, context); }) } + //参数平台 -export async function getDataBaseTable(params,reqParam) { - return new Promise((resolve, reject) => { - const accountTable = new AccountTable(() => { - }, map[params.tableName],context); - accountTable.getRdbStore(() => { - accountTable.query('0', async (result) => { - if (result.length != 0) { - resolve(); - return - } else { - const date = new Date() - if(!reqParam?.paraKdid){ - prompt.showToast({ - message: 'paraKdid获取失败', - duration: 3000 - }); - return - } - const str = { "head": { "time": dateFormat(date) }, - "body": - { "tableName": params.tableName, // 表名 - "paraKdid": reqParam.paraKdid, //参数平台kdid - "examinationRoomId": reqParam.examinationRoomId, //考试平台kdid - "typeRsp": "0" // 赋默认值0,无需改变 - } - } - let res: any = await initCenterCache(str,reqParam.centerHost) - if( res.body[params.tableName].length==0){ - resolve(); - return - } - - let INSERT_SQL = "INSERT INTO "+params.tableName - + " ("+ map[params.tableName].ACCOUNT_TABLE.columns.toString()+") VALUES " - if(params.tableName=='MA_SYSSET'){ - res.body[params.tableName]= res.body[params.tableName].filter(res=>{ - return res['v_no']>=300&&res['v_no']<=700 - }) - } - - res.body[params.tableName].map((data,i) => { - // data.id=`${i}` - data.id=i - let str='(' - map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{ - if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){ - str+=data[res]?`"${data[res]}"`:'NULL' - }else{ - str+=(data[res]?`"${data[res]}"`:'NULL')+',' - } - }) - if(i==res.body[params.tableName].length-1){ - str+=')' - }else{ - str+='),' - } - INSERT_SQL+=str - }) - - accountTable.sqlOperate(INSERT_SQL,params.tableName,()=>{ - resolve(true) - }) - } - }, true); - },reqParam.context); +export async function getDataBaseTable(params, reqParam) { + return new Promise(async (resolve, reject) => { + const date = new Date() + if (!reqParam?.paraKdid) { + prompt.showToast({ + message: 'paraKdid获取失败', + duration: 3000 + }); + return + } + const str = { "head": { "time": dateFormat(date) }, + "body": + { "tableName": params.tableName, // 表名 + "paraKdid": reqParam.paraKdid, //参数平台kdid + "examinationRoomId": reqParam.examinationRoomId, //考试平台kdid + "typeRsp": "0" // 赋默认值0,无需改变 + } + } + let res: any = await initCenterCache(str, reqParam.centerHost) + if (res.body[params.tableName].length == 0) { + resolve(); + return + } + if (params.tableName == 'MA_SYSSET') { + res.body[params.tableName] = res.body[params.tableName].filter(res => { + return res['v_no'] >= 300 && res['v_no'] <= 700 + }) + } + sqlInsertCommonFn(param.tableName, res.body[params.tableName]).then((val) => { + reslove(val) + }) }) } + //依据数组和表名更新sql表 -export async function upDateTableByArray(tableName,arr) { - sqlInsertCommonFn(tableName,arr) +export async function upDateTableByArray(tableName, arr) { + sqlInsertCommonFn(tableName, arr) } + //更新双中心表 -export async function upDateTable(params,reqParam) { +export async function upDateTable(params, reqParam) { return new Promise((resolve, reject) => { const date = new Date() - let paraKdid=reqParam?.paraKdid||'' - let examinationRoomId=reqParam?.examinationRoomId||'' - if(!paraKdid|| !examinationRoomId){ + let paraKdid = reqParam?.paraKdid || '' + let examinationRoomId = reqParam?.examinationRoomId || '' + if (!paraKdid || !examinationRoomId) { resolve(false) return } @@ -212,17 +181,17 @@ export async function upDateTable(params,reqParam) { "typeRsp": "0" // 赋默认值0,无需改变 } } - const url=globalThis.timeInfo.url + const url = globalThis.timeInfo.url - initCenterCache(str,url).then(async (res)=>{ - if(!res||res==undefined||res==''){ + initCenterCache(str, url).then(async (res) => { + if (!res || res == undefined || res == '') { resolve(false) return } try { - const result=await sqlInsertCommonFn(params.tableName,res.body[params.tableName],reqParam.context) + const result = await sqlInsertCommonFn(params.tableName, res.body[params.tableName], reqParam.context) resolve(result) - }catch (error){ + } catch (error) { console.log(error) } }) @@ -230,10 +199,10 @@ export async function upDateTable(params,reqParam) { } //考试平台 -export async function getMySystemSetTable(params,reqParam) { +export async function getMySystemSetTable(params, reqParam) { return new Promise((resolve, reject) => { const date = new Date() - if(!reqParam.paraKdid){ + if (!reqParam.paraKdid) { prompt.showToast({ message: 'paraKdid获取失败', duration: 3000 @@ -248,17 +217,17 @@ export async function getMySystemSetTable(params,reqParam) { "typeRsp": "0" // 赋默认值0,无需改变 } } - initCenterCacheByKSPT(str,reqParam.url).then((res)=>{ - if( res.body[params.tableName].length==0){ + initCenterCacheByKSPT(str, reqParam.url).then((res) => { + if (res.body[params.tableName].length == 0) { resolve(); return } - if(params.tableName=='MA_SYSSET'){ - res.body[params.tableName]= res.body[params.tableName].filter(res=>{ - return res['v_no']<300 || res['v_no']>700 + if (params.tableName == 'MA_SYSSET') { + res.body[params.tableName] = res.body[params.tableName].filter(res => { + return res['v_no'] < 300 || res['v_no'] > 700 }) } - sqlInsertCommonFn(params.tableName,res.body[params.tableName],reqParam.context).then((result)=>{ + sqlInsertCommonFn(params.tableName, res.body[params.tableName], reqParam.context, false).then((result) => { resolve(result) }) }) @@ -269,10 +238,10 @@ export async function getMySystemSetTable(params,reqParam) { } //依据表名同步获取数据 -export async function getSyncData(tableName,context?) { +export async function getSyncData(tableName, context?) { return new Promise((resolve, reject) => { const accountTable = new AccountTable(() => { - }, map[tableName],context); + }, map[tableName], context); accountTable.getRdbStore(() => { accountTable.query('0', async (result) => { resolve(result) @@ -282,22 +251,22 @@ export async function getSyncData(tableName,context?) { } -export async function delSyncTable(tableName,context?){ - return new Promise((resolve,reject)=>{ +export async function delSyncTable(tableName, context?) { + return new Promise((resolve, reject) => { const accountTable = new AccountTable(() => { - }, map[tableName],context); - accountTable.deleteTableData((ret)=>{ + }, map[tableName], context); + accountTable.deleteTableData((ret) => { console.log('删除成功') resolve(true) - },tableName,context) + }, tableName, context) }) } //获取车模、场地模型 -export async function getEsCarModel(context){ +export async function getEsCarModel(context) { const date = new Date() - if(!globalThis.timeInfo?.paraKdid){ + if (!globalThis.timeInfo?.paraKdid) { prompt.showToast({ message: 'paraKdid获取失败', duration: 3000 @@ -307,23 +276,23 @@ export async function getEsCarModel(context){ const carStr = { "head": { "time": dateFormat(date) }, "body": { - "rtkType":"1",//1:车模 2:场地模型 - "rspType":"0", //返回类型 + "rtkType": "1", //1:车模 2:场地模型 + "rspType": "0", //返回类型 "paraKdid": globalThis.timeInfo.paraKdid, //参数平台kdid "examinationRoomId": globalThis.timeInfo.kdid, //考试平台kdid // "carMac":"MAC-HCPAD-210", - "carMac":globalThis.deviceNo + "carMac": globalThis.deviceNo } } - const venueStr = { "head": { "time": dateFormat(date) }, + const venueStr = { "head": { "time": dateFormat(date) }, "body": { - "rtkType":"2",//1:车模 2:场地模型 - "rspType":"0", //返回类型 + "rtkType": "2", //1:车模 2:场地模型 + "rspType": "0", //返回类型 "paraKdid": globalThis.timeInfo.paraKdid, //参数平台kdid "examinationRoomId": globalThis.timeInfo.kdid, //考试平台kdid // "carMac":"MAC-HCPAD-210", - "carMac":globalThis.deviceNo + "carMac": globalThis.deviceNo } } @@ -335,48 +304,48 @@ export async function getEsCarModel(context){ const venueModel = venueRes.body.ES_MODEL[0][2]; let tmpBase64Array = carModel.split("\r\n") - let newBase64Str:string = ''; + let newBase64Str: string = ''; for (let i = 0; i < tmpBase64Array.length; ++i) { newBase64Str += tmpBase64Array[i]; } const base64 = new util.Base64(); let result = base64.decodeSync(newBase64Str); - const fileModel= new FileModel(context); + const fileModel = new FileModel(context); await fileModel.initFolder() await fileModel.storingFiles(result.buffer) } -export async function upDataZhongxinginitialization(param){ +export async function upDataZhongxinginitialization(param) { return new Promise((resolve, reject) => { - if(!param.carId){ + if (!param.carId) { resolve(false) return } const str = { - "carId": param.carId, // 表名 + "carId": param.carId, // 表名 "examinationRoomId": param.examinationRoomId, //考试平台kdid - videoVersion:'1.0', - judgeVersion:param.judgeVersion, - shellVersion: param.shellVersion, - host:param.host + videoVersion: '1.0', + judgeVersion: param.judgeVersion, + shellVersion: param.shellVersion, + host: param.host } - console.log('daihai2',JSON.stringify(str)) + console.log('daihai2', JSON.stringify(str)) - initialization(str).then(async (res)=>{ - console.log('daihai3',JSON.stringify(res)) - if(!res){ + initialization(str).then(async (res) => { + console.log('daihai3', JSON.stringify(res)) + if (!res) { resolve(false) return } let flag console.log('resposestart') - for(let key in res.initializationRsp.body){ - if(!centerToMap[key]){ + for (let key in res.initializationRsp.body) { + if (!centerToMap[key]) { continue } - const data= await setSyncCenterSqlData(key,res,param) - if(!data){ + const data = await setSyncCenterSqlData(key, res, param) + if (!data) { resolve(false) } } @@ -385,52 +354,53 @@ export async function upDataZhongxinginitialization(param){ console.log('resposestart') - }).catch((Error)=>{ + }).catch((Error) => { resolve(false) }) }) } -function setSyncCenterSqlData(key,res,param){ - return new Promise((resolve,reject)=>{ - const mapName={ - 'ItemInfo':'MA_ITEMINFO', - 'MarkRule':'MA_MARKRULE', - 'SystemParm':'MA_SYSTEMPARM', + +function setSyncCenterSqlData(key, res, param) { + return new Promise((resolve, reject) => { + 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', + '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', + 'MarkRuleSet': 'MA_MARKRULESET', + 'Cdsbinfo': 'MA_CDSBINFO', + 'T_CarParmSet': 'MA_T_CARPARMSET', // 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER } // const accountTable = new AccountTable(() => { // }, centerToMap[key],param.context); let arrList - if(res.initializationRsp.body[key].record instanceof Array){ - arrList =res.initializationRsp.body[key].record - }else{ - arrList=[res.initializationRsp.body[key].record] + if (res.initializationRsp.body[key].record instanceof Array) { + arrList = res.initializationRsp.body[key].record + } else { + arrList = [res.initializationRsp.body[key].record] } - console.log('mapName[key]',mapName[key],key) - sqlInsertCommonFn(mapName[key],arrList,param.context).then((result)=>{ - console.log(key,'表建立成功') - if(result){ + console.log('mapName[key]', mapName[key], key) + sqlInsertCommonFn(mapName[key], arrList, param.context).then((result) => { + console.log(key, '表建立成功') + if (result) { resolve(true) - }else{ + } else { resolve(false) } - }).catch((msg)=>{ + }).catch((msg) => { reject(false) - console.log(key,'表建立失败') + console.log(key, '表建立失败') }) })