Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
076fa74604 | ||
|
|
c3c8783969 | ||
|
|
8d7173c545 | ||
|
|
ed4b981807 | ||
|
|
dc72d33536 | ||
|
|
0c2715821d | ||
| 0832262cd7 | |||
| 6b54e9da5c | |||
| 6de9d4bdcb | |||
| addf143396 | |||
| 448a16fab9 | |||
| e36b0f018b | |||
| f9beb54a28 | |||
| f420a9512f | |||
|
|
2d085b42bf | ||
| 920323bc78 | |||
| 6f3bdbf176 | |||
| 8251bed720 | |||
| 508c3f3954 | |||
|
|
2f524da992 | ||
|
|
7447ae3f4d | ||
|
|
5c9af2b914 | ||
|
|
818d2a775d | ||
|
|
5119c46963 | ||
|
|
bc8017ff71 | ||
|
|
45772f0b49 | ||
|
|
fc6f784db1 | ||
|
|
afa4983725 |
@ -5,9 +5,9 @@
|
||||
"name": "default",
|
||||
"material": {
|
||||
"certpath": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.cer",
|
||||
"storePassword": "0000001B0A8E97F78561FFE1B2E5B57C296BFC3D297047253237158BC25CD7077892C41C1C83FAFFDE4A0A",
|
||||
"storePassword": "0000001B0D8963A2149509CE4705E3453B788A74A9A4A6714814A79A4AA117A71A42C0D48243CE59D648EE",
|
||||
"keyAlias": "debugKey",
|
||||
"keyPassword": "0000001B654E765B79C902CB9E3A6D97A40F5852412CEE5AC37E949F430C754DB02327838E925EDF861314",
|
||||
"keyPassword": "0000001BABDF12118AF1E7E6AFF8D76FA6D89B08D9E1EC05B6A55CFDAABB51A25D3EA85D9B0E3570B4E666",
|
||||
"profile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p7b",
|
||||
"signAlg": "SHA256withECDSA",
|
||||
"storeFile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p12"
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
{
|
||||
"lockfileVersion": 2,
|
||||
"lockfileVersion": 1,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
|
||||
},
|
||||
"packages": {
|
||||
"@ohos/hypium@1.0.6": {
|
||||
"resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
|
||||
"registryType": "ohpm",
|
||||
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,6 +4,7 @@ import { getSyncData } from '../common/service/initable';
|
||||
import writeObjectOutNew from './judgeNew';
|
||||
import FileUtil from '../common/utils/File';
|
||||
import tempRequest from '../common/utils/tempRequest';
|
||||
import pasteboard from '@ohos.pasteboard';
|
||||
|
||||
let baseHost = globalThis.host;
|
||||
|
||||
@ -25,7 +26,7 @@ interface WR {
|
||||
}
|
||||
|
||||
// 通用监管接口
|
||||
export async function writeObjectOut(params, filePath?: string): Promise<WR> {
|
||||
export async function writeObjectOut(params, externalTransmission: boolean, filePath?: string): Promise<WR> {
|
||||
const singlePlay = globalThis.singlePlay
|
||||
if (singlePlay) {
|
||||
return { code: 1 }
|
||||
@ -54,8 +55,7 @@ export async function writeObjectOut(params, filePath?: string): Promise<WR> {
|
||||
|
||||
//新监管调用
|
||||
if (globalThis.isJGNew) {
|
||||
|
||||
return await writeObjectOutNew(params, filePath)
|
||||
return await writeObjectOutNew(params, filePath, externalTransmission)
|
||||
}
|
||||
drvexam.zp = drvexam.zp === undefined ? undefined : encodeURIComponent(drvexam.zp)
|
||||
|
||||
@ -73,8 +73,38 @@ export async function writeObjectOut(params, filePath?: string): Promise<WR> {
|
||||
}) + `\n`);
|
||||
}
|
||||
|
||||
//对象转换成xml
|
||||
const temp = await request({
|
||||
// //对象转换成xml
|
||||
// const temp = await request({
|
||||
// host: globalThis.JGHOST,
|
||||
// url: '/dems_ws/services/TmriOutAccess?wsdl',
|
||||
// data: `<?xml version="1.0"?>
|
||||
// <SOAP-ENV:Envelope
|
||||
// xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
||||
// xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
// xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
|
||||
// >
|
||||
// <SOAP-ENV:Body>
|
||||
// <writeObjectOut xmlns="http://service.es.doron">
|
||||
// <xtlb>${xtlb}</xtlb>
|
||||
// <jkxlh>${jkxlh}</jkxlh>
|
||||
// <jkid>${jkid}</jkid>
|
||||
// <UTF8XmlDoc>
|
||||
// <![CDATA[
|
||||
// <?xm lversion="1.0 "encoding="GBK"?>
|
||||
// <root>
|
||||
// <drvexam>
|
||||
// ${drvexamArrs}
|
||||
// </drvexam>
|
||||
// </root>
|
||||
// ]]>
|
||||
// </UTF8XmlDoc>
|
||||
// </writeObjectOut>
|
||||
// </SOAP-ENV:Body>
|
||||
// </SOAP-ENV:Envelope>`,
|
||||
// method: 'post',
|
||||
// xml: true
|
||||
// },)
|
||||
let requestData = {
|
||||
host: globalThis.JGHOST,
|
||||
url: '/dems_ws/services/TmriOutAccess?wsdl',
|
||||
data: `<?xml version="1.0"?>
|
||||
@ -103,7 +133,25 @@ export async function writeObjectOut(params, filePath?: string): Promise<WR> {
|
||||
</SOAP-ENV:Envelope>`,
|
||||
method: 'post',
|
||||
xml: true
|
||||
},)
|
||||
}
|
||||
let temp = {}
|
||||
try {
|
||||
if (!externalTransmission) {
|
||||
temp = await request(requestData)
|
||||
} else {
|
||||
let systemPasteboard = pasteboard.getSystemPasteboard()
|
||||
let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, JSON.stringify(requestData))
|
||||
await systemPasteboard.clear()
|
||||
await systemPasteboard.setData(pasteData)
|
||||
|
||||
temp = {
|
||||
code: 1
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("新监管错误")
|
||||
temp = e
|
||||
}
|
||||
if (filePath) {
|
||||
const fileUtil = new FileUtil(globalThis.context);
|
||||
await fileUtil.initFolder(filePath);
|
||||
@ -189,6 +237,7 @@ export async function uploadExamMileage(params) {
|
||||
<lsh>${params.lsh}<lsh>
|
||||
<kskssj>${params.examinationRoomId}<kskssj>
|
||||
<kslc>${params.kslc}<kslc>
|
||||
<specialkf>${params.specialkf}<specialkf>
|
||||
</body>
|
||||
</uploadExamMileageReq>`,
|
||||
method: 'post',
|
||||
|
||||
@ -3,6 +3,7 @@ import request from "../common/utils/request"
|
||||
let baseHost = globalThis.host;
|
||||
import FileUtil from '../common/utils/File';
|
||||
import FileLog from '../pages/judgeSDK/utils/fileLog';
|
||||
import pasteboard from '@ohos.pasteboard';
|
||||
|
||||
//监管接口序列号映射
|
||||
const gjxlhObj = {
|
||||
@ -19,26 +20,31 @@ interface WR{
|
||||
code:number
|
||||
}
|
||||
|
||||
export default async function writeObjectOutNew(data,filePath): Promise<WR> {
|
||||
export default async function writeObjectOutNew(data, filePath, externalTransmission): Promise<WR> {
|
||||
const fileUtil = new FileUtil(globalThis.context);
|
||||
const {jkid , drvexam} = data;
|
||||
const basic = await getBasicConfig(jkid);
|
||||
const params = await getParams(jkid, drvexam);
|
||||
const {wglb,jkxlh,glbm,jgbh,sjbs} = basic;
|
||||
|
||||
if(filePath){
|
||||
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({
|
||||
wglb,jkxlh,glbm,jgbh,sjbs,
|
||||
data:params.data,
|
||||
file:{...params.file,param:[]},
|
||||
if (filePath) {
|
||||
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify({
|
||||
wglb,
|
||||
jkxlh,
|
||||
glbm,
|
||||
jgbh,
|
||||
sjbs,
|
||||
data: params.data,
|
||||
file: {
|
||||
...params.file, param: []
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
// let connectTimeout = sjbs === '02-21-000014' ?60000:1
|
||||
console.info('surenjun','调用新监管')
|
||||
console.info('surenjun', '调用新监管')
|
||||
let temp
|
||||
try {
|
||||
temp = await request({
|
||||
let requestData = {
|
||||
host: globalThis.JGHOST,
|
||||
method: 'post',
|
||||
//是否是新中心
|
||||
@ -63,17 +69,29 @@ export default async function writeObjectOutNew(data,filePath): Promise<WR> {
|
||||
</writeObjectOut>
|
||||
</SOAP-ENV:Body>
|
||||
</SOAP-ENV:Envelope>`,
|
||||
})
|
||||
}
|
||||
try {
|
||||
if (!externalTransmission) {
|
||||
temp = await request(requestData)
|
||||
} else {
|
||||
let systemPasteboard = pasteboard.getSystemPasteboard()
|
||||
let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, JSON.stringify(requestData))
|
||||
await systemPasteboard.clear()
|
||||
await systemPasteboard.setData(pasteData)
|
||||
|
||||
temp = {
|
||||
code: 1
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("新监管错误")
|
||||
temp = e
|
||||
}
|
||||
console.log("temp message: ", JSON.stringify(temp))
|
||||
if(filePath){
|
||||
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`);
|
||||
if (filePath) {
|
||||
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(temp) + `\n`);
|
||||
}
|
||||
return temp
|
||||
|
||||
}
|
||||
|
||||
export async function getParams(jkid, drvexam) {
|
||||
|
||||
@ -7,12 +7,14 @@ import { takePhoto, deleteAllFileByPiC } from '../../common/service/videoService
|
||||
// import { VideoConfigData } from '../../mock';
|
||||
import request from '@ohos.request'
|
||||
import Prompt from '@system.prompt';
|
||||
import util from '@ohos.util';
|
||||
|
||||
import {
|
||||
delSyncTable,
|
||||
getDataBaseTable,
|
||||
getMySystemSetTable,
|
||||
upDataZhongxinginitialization,
|
||||
getSyncData,
|
||||
upDateTable
|
||||
} from '../../common/service/initable'
|
||||
import { GlobalConfig } from '../../config/index'
|
||||
@ -433,9 +435,11 @@ let fd
|
||||
const devPath = "/dev/ttyS3"
|
||||
|
||||
function openChuankouFn(callback) {
|
||||
console.log('SerialOpen in indexservice, path=' + devPath)
|
||||
|
||||
//TODO 自动挡车不读取串口
|
||||
getSyncData('ES_CARINFO').then(result => {
|
||||
const carInfo = result[0] || {};
|
||||
globalThis.carInfo.kscx = carInfo.kscx
|
||||
console.info('srj ES_CARINFO=>',JSON.stringify(carInfo))
|
||||
if(carInfo.kscx == 'C1'){
|
||||
testNapi.SerialOpenAsync(devPath, (fd) => {
|
||||
globalThis.fd = fd;
|
||||
globalThis.num = 0
|
||||
@ -444,6 +448,8 @@ function openChuankouFn(callback) {
|
||||
callback()
|
||||
});
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function getChuankouFnMsg() {
|
||||
@ -451,9 +457,9 @@ function getChuankouFnMsg() {
|
||||
let databuff = [0x61, 0xAA, 0x0A, 0X15, 0X00]; // send ABCDE
|
||||
testNapi.SerialSendAsync(globalThis.fd, databuff, (ret) => {
|
||||
testNapi.SerialRecvAsync(globalThis.fd, timeout, (revTestInfo) => {
|
||||
|
||||
const message = revTestInfo?.recevedBuf?.toString()
|
||||
if (message == '') {
|
||||
let msgBuf = util.TextDecoder.create().decodeWithStream(new Uint8Array(revTestInfo?.recevedBuf))
|
||||
if (message == '' || msgBuf == '') {
|
||||
globalThis.num = 1
|
||||
// clearInterval(chuankou)
|
||||
testNapi.SerialClose(globalThis.fd);
|
||||
@ -464,16 +470,8 @@ function getChuankouFnMsg() {
|
||||
return
|
||||
}
|
||||
const msg = message?.split(',')
|
||||
if (!msg?.length) {
|
||||
|
||||
} else if (msg[0] != '98' || msg[1] != '85' || msg.length < 9) {
|
||||
|
||||
} else if (msg.length < 12) {
|
||||
|
||||
} else {
|
||||
globalThis.chuankoMsg = msg[9]
|
||||
}
|
||||
|
||||
let dang = Number(msgBuf?.split(",")?.[1]?.split('\r')[0] || 0)
|
||||
globalThis.chuankoMsg =( msg[9] === '' || msg[9] >10 ) ? dang: msg[9]
|
||||
setTimeout(() => {
|
||||
getChuankouFnMsg()
|
||||
}, 500)
|
||||
|
||||
@ -3,7 +3,7 @@ import { getSyncData } from '../service/initable';
|
||||
import hilog from '@ohos.hilog';
|
||||
import FileUtil from '../../common/utils/File'
|
||||
import { GlobalConfig } from '../../config/index'
|
||||
|
||||
const TAG = 'socketTag[TcpDemo.TcpClient]'
|
||||
export async function getTCP(flag=false) {
|
||||
globalThis.getCloseTcp=true
|
||||
const fileUtil = new FileUtil(globalThis.context)
|
||||
@ -35,10 +35,16 @@ export async function getTCP(flag=false) {
|
||||
console.log('ttttttt00')
|
||||
|
||||
clearInterval(globalThis.intervalSendmsg)
|
||||
globalThis.intervalSendmsg=setInterval(()=>{
|
||||
globalThis.intervalSendmsg=setInterval(async()=>{
|
||||
console.log('getCloseTcp',globalThis.carInfo.carNo)
|
||||
if(!globalThis.getCloseTcp){
|
||||
globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002
|
||||
await globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002
|
||||
globalThis.tcpStep+=1
|
||||
if(globalThis.tcpStep>30){
|
||||
console.log(TAG,'tcp重连开始')
|
||||
globalThis.tcpStep=0
|
||||
getTCP()
|
||||
}
|
||||
}
|
||||
},1000/3)
|
||||
globalThis.TcpClient.onError((val) => {
|
||||
@ -68,10 +74,16 @@ export async function getTCP(flag=false) {
|
||||
console.log('ttttttt12')
|
||||
|
||||
clearInterval(globalThis.intervalSendmsg)
|
||||
globalThis.intervalSendmsg=setInterval(()=>{
|
||||
globalThis.intervalSendmsg=setInterval(async()=>{
|
||||
// console.log('getCloseTcp',globalThis.getCloseTcp)
|
||||
if(!globalThis.getCloseTcp){
|
||||
globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002
|
||||
await globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002
|
||||
globalThis.tcpStep+=1
|
||||
if(globalThis.tcpStep>30){
|
||||
console.log(TAG,'tcp重连开始')
|
||||
globalThis.tcpStep=0
|
||||
getTCP()
|
||||
}
|
||||
}
|
||||
},1000/3)
|
||||
globalThis.TcpClient.onError((val) => {
|
||||
|
||||
@ -148,13 +148,12 @@ export default class TcpClient {
|
||||
this.tcpSendNum=0
|
||||
return
|
||||
}
|
||||
globalThis.getCloseTcp=true
|
||||
console.log(`${TAG} TCPsend error ${JSON.stringify(err)}`)
|
||||
// this.writeLog({
|
||||
// time:dateFormat(new Date()),
|
||||
// message: `${TAG} TCPsend error ${JSON.stringify(err)}`,
|
||||
// })
|
||||
reslove(false)
|
||||
reject(false)
|
||||
});
|
||||
})
|
||||
}
|
||||
@ -165,6 +164,7 @@ export default class TcpClient {
|
||||
// time:dateFormat(new Date()),
|
||||
// PLC:`${TAG} Tcponmessage`,
|
||||
// })
|
||||
globalThis.tcpStep=0
|
||||
globalThis.tcpUdpError = false
|
||||
if (value) {
|
||||
callback && callback(value.message)
|
||||
|
||||
@ -38,7 +38,7 @@ export default class EntryAbility extends UIAbility {
|
||||
// Main window is created, set main page for this ability
|
||||
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
|
||||
await tcpUtil.init()
|
||||
|
||||
globalThis.tcpStep=0
|
||||
|
||||
globalThis.carInfo = {}
|
||||
globalThis.examinerInfo = {}
|
||||
|
||||
@ -10,7 +10,7 @@ import { getUDP, getUDP2 } from '../common/utils/GlobalUdp';
|
||||
import { initJudgeUdp } from '../common/utils/UdpJudge';
|
||||
import { judgeConfig } from './judgeSDK/utils/judgeConfig';
|
||||
import { getTCP } from '../common/utils/GlobalTcp';
|
||||
import { getSingleCenterTable, setliushuiNum, takePhotoFn ,uploadLogFile} from '../common/service/indexService';
|
||||
import { getSingleCenterTable, setliushuiNum, takePhotoFn, uploadLogFile } from '../common/service/indexService';
|
||||
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
|
||||
import promptAction from '@ohos.promptAction';
|
||||
import errorMsgDialog from './compontents/errorMsgDialog';
|
||||
@ -19,9 +19,10 @@ import UdpEvent from '../common/utils/UdpEvent';
|
||||
import { delPic } from '../common/service/videoService';
|
||||
import imageBtn from './compontents/imageBtn';
|
||||
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
|
||||
import {updateModelAndCar} from '../common/autoUpdate/index'
|
||||
import { updateModelAndCar } from '../common/autoUpdate/index'
|
||||
// import {uploadLogFile} from '../common/service/indexService'
|
||||
import { getModalValueCdAndCar } from '../api';
|
||||
import Want from '@ohos.app.ability.Want';
|
||||
|
||||
// import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
|
||||
|
||||
@ -342,7 +343,7 @@ struct Index {
|
||||
.width(80 * globalThis.ratio)
|
||||
.height(80 * globalThis.ratio)
|
||||
.position({ x: 288 * globalThis.ratio, y: 89 * globalThis.ratio })
|
||||
Text(this.loadingText ||'获取考车信息,请稍候……')
|
||||
Text(this.loadingText || '获取考车信息,请稍候……')
|
||||
.fontSize(24 * globalThis.ratio)
|
||||
.margin({ top: 20 * globalThis.ratio })
|
||||
.fontWeight(400)
|
||||
@ -438,9 +439,9 @@ struct Index {
|
||||
this.loading = true
|
||||
console.log("sql 1111")
|
||||
|
||||
getSingleCenterTable(param).then(async (ret:any) => {
|
||||
getSingleCenterTable(param).then(async (ret: any) => {
|
||||
|
||||
if(!this.isModelInit){
|
||||
if (!this.isModelInit) {
|
||||
this.loading = true
|
||||
this.loadingText = '正在下载考车模型,请稍候……'
|
||||
await updateModelAndCar(false)
|
||||
@ -449,7 +450,7 @@ struct Index {
|
||||
this.isModelInit = true
|
||||
}
|
||||
|
||||
if(typeof ret == 'object' && ret.resultCode == '3'){
|
||||
if (typeof ret == 'object' && ret.resultCode == '3') {
|
||||
this.loadingText = '正在下载考车最新版本,请稍候……'
|
||||
this.loading = true
|
||||
await updateModelAndCar(true)
|
||||
@ -469,7 +470,7 @@ struct Index {
|
||||
if (globalThis.singlePlay) {
|
||||
router.pushUrl({
|
||||
url: 'pages/userInfo'
|
||||
},router.RouterMode.Single)
|
||||
}, router.RouterMode.Single)
|
||||
return
|
||||
}
|
||||
if (globalThis.singlePlay) {
|
||||
@ -677,6 +678,11 @@ struct Index {
|
||||
}, 1000)
|
||||
this.createAlbum()
|
||||
|
||||
getSyncData('ES_CARINFO').then(result => {
|
||||
const carInfo = result[0] || {};
|
||||
globalThis.carInfo.kscx = carInfo.kscx
|
||||
})
|
||||
|
||||
// clearInterval(globalThis.demo)
|
||||
// globalThis.demo= setInterval(()=>{
|
||||
// const str= {"carId":"1062","examinationRoomId":"2","videoVersion":"1.0","judgeVersion":"2023.09.30.1","shellVersion":"2023.12.13.01","host":"http://172.37.55.191:8082"}
|
||||
|
||||
@ -442,7 +442,7 @@ struct Index {
|
||||
const ddxkKsxmArr = examItemsArrs[2]?.split(',').filter(item => item) || []
|
||||
const ddxkKfArr = examItemsArrs[3]?.split('^').filter(item => item) || []
|
||||
if (judgeConfigObj['432'] == 2 || examSubject == 2) {
|
||||
//TODO 带项目带里程
|
||||
|
||||
if (ddxkKsxmArr?.length) {
|
||||
//断点续考
|
||||
ddxkKsxmArr.forEach(xmdm => {
|
||||
@ -455,6 +455,8 @@ struct Index {
|
||||
})
|
||||
this.ddxkKsxmArr = ddxkKsxmArr
|
||||
}
|
||||
this.specialkf = examItemsArrs[4];
|
||||
this.yklc = Number(examItemsArrs[1]) || 0
|
||||
}
|
||||
//扣分续考
|
||||
ddxkKfArr.forEach((kf) => {
|
||||
@ -480,6 +482,7 @@ struct Index {
|
||||
this.ddxkKfArr = ddxkKfArr
|
||||
this.ddxkTime = Date.parse(startTime);
|
||||
this.isDdxk = true
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -572,7 +575,7 @@ struct Index {
|
||||
}
|
||||
|
||||
// 上传考试里程
|
||||
async uploadMileage() {
|
||||
async uploadMileage(specialkf) {
|
||||
if (!globalThis.singlePlay) {
|
||||
const {lsh,startExamTime:kskssj,jl:kslc} = this
|
||||
const { carId ,examinationRoomId} = globalThis.carInfo;
|
||||
@ -581,7 +584,9 @@ struct Index {
|
||||
examinationRoomId,
|
||||
lsh,
|
||||
kskssj,
|
||||
kslc
|
||||
//考试里程,单位cm
|
||||
kslc:kslc * 100,
|
||||
specialkf
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -1443,4 +1448,8 @@ struct Index {
|
||||
@State errorMsg: string = ''
|
||||
@State isErrorMsgEnd: boolean = false
|
||||
@State disConnectErrorOpen: boolean = false
|
||||
//开始考试特殊标记
|
||||
@State specialkf:string = ''
|
||||
//已考里程
|
||||
@State yklc:number = 0
|
||||
}
|
||||
|
||||
@ -91,6 +91,7 @@ struct UserInfo {
|
||||
'Param398': '0', //考前上车准备
|
||||
'Param835': '0', //考前上车准备
|
||||
'Param850': '0', //考前上车准备
|
||||
'Param853': '0', //未熄火不能开始考试
|
||||
}
|
||||
@State startExam: boolean = false
|
||||
// 过程照片拍照
|
||||
@ -537,6 +538,9 @@ struct UserInfo {
|
||||
if (sys.v_no === '770') {
|
||||
that.systemParam.Param770Str = sys.v_value;
|
||||
}
|
||||
if(sys.v_no === '853'){
|
||||
that.systemParam.Param853 = sys.v_value;
|
||||
}
|
||||
if (sys.v_no === '835') {
|
||||
that.systemParam.Param835 = sys.v_value;
|
||||
}
|
||||
@ -946,8 +950,10 @@ struct UserInfo {
|
||||
const {isCheckFireOpen} = judgeConfig
|
||||
const {systemParam,isBoardPrePareSetPopupOpen} = this;
|
||||
const Param803Str = systemParam.Param803Str
|
||||
if (Param803Str === '') {
|
||||
const Param853Str = systemParam.Param853
|
||||
if (Param803Str === '' && Param853Str != '1') {
|
||||
return true
|
||||
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
if (isCheckFireOpen) {
|
||||
@ -963,6 +969,14 @@ struct UserInfo {
|
||||
const ygd = msgArr[8];
|
||||
const ssc = msgArr[13];
|
||||
const dw = msgArr[28];
|
||||
if(Param853Str == '1'){
|
||||
this.avPlayer.playAudio(['voice/熄火.mp3'])
|
||||
promptAction.showToast({
|
||||
message: '请熄火',
|
||||
duration: 4000
|
||||
})
|
||||
reject(false)
|
||||
}
|
||||
// 开始考试信号检测
|
||||
if (Param803Str !== '') {
|
||||
//安全带
|
||||
@ -1080,7 +1094,7 @@ struct UserInfo {
|
||||
jkid: '17C51',
|
||||
}
|
||||
console.info('surenjunjianguan', JSON.stringify(param))
|
||||
const temp = await writeObjectOut(param);
|
||||
const temp = await writeObjectOut(param,false);
|
||||
globalThis.lsh = this.currentUser.lsh
|
||||
globalThis.ksyh = this.currentUser.ksy1sfzmhm
|
||||
return temp
|
||||
@ -1482,4 +1496,5 @@ type systemParam = {
|
||||
'Param398': string, //考前上车准备
|
||||
'Param835': string, //考前上车准备
|
||||
'Param850': string, //考前上车准备
|
||||
'Param853': string, //未熄火不能开始考试
|
||||
}
|
||||
@ -226,7 +226,7 @@ export default struct DeductedPopup {
|
||||
kssj: time
|
||||
},
|
||||
}
|
||||
const code = await writeObjectOut(beginData)
|
||||
const code = await writeObjectOut(beginData,false)
|
||||
//TODO code待处理
|
||||
// if (code == 1) {
|
||||
//
|
||||
@ -257,7 +257,7 @@ export default struct DeductedPopup {
|
||||
ksdd: decodeURI(ksdd)
|
||||
}
|
||||
};
|
||||
const code = await writeObjectOut(photoData);
|
||||
const code = await writeObjectOut(photoData,false);
|
||||
console.info('surenjun uploadProgressPhoto end',)
|
||||
}
|
||||
|
||||
@ -285,7 +285,7 @@ export default struct DeductedPopup {
|
||||
kfsj: time
|
||||
}
|
||||
}
|
||||
const code = await writeObjectOut(kfData);
|
||||
const code = await writeObjectOut(kfData,false);
|
||||
}
|
||||
|
||||
// 项目结束
|
||||
@ -309,7 +309,7 @@ export default struct DeductedPopup {
|
||||
jssj: time
|
||||
}
|
||||
}
|
||||
const code = await writeObjectOut(endProjectData);
|
||||
const code = await writeObjectOut(endProjectData,false);
|
||||
}
|
||||
|
||||
//考试结束
|
||||
@ -335,7 +335,7 @@ export default struct DeductedPopup {
|
||||
dwlc: '',
|
||||
}
|
||||
}
|
||||
const code = await writeObjectOut(endData);
|
||||
const code = await writeObjectOut(endData,false);
|
||||
}
|
||||
|
||||
//获取sysset表数据
|
||||
|
||||
@ -56,7 +56,10 @@ import {
|
||||
} from './api/index';
|
||||
import { getSyncData, upDateTableByArray } from '../../common/service/initable';
|
||||
import { GlobalConfig } from '../../config';
|
||||
import Want from '@ohos.app.ability.Want';
|
||||
|
||||
const judgeTag = 'SURENJUN_JUDGE'
|
||||
const newAppTag = 'NewAppTag'
|
||||
|
||||
function ifNeedRetry(code: number | string): boolean {
|
||||
let arr = ["B210010", "B210023", "B210024", "B210031", "B210033", "B210034", "B210041"]
|
||||
@ -65,6 +68,7 @@ function ifNeedRetry(code: number | string): boolean {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
export default class Judge {
|
||||
// 过程照片拍照
|
||||
getPhoto = async (empty?: boolean) => {
|
||||
@ -115,7 +119,7 @@ export default class Judge {
|
||||
const examDataArr = examDataStr.split('\n');
|
||||
for (let examDataStr of examDataArr) {
|
||||
const examData = JSON.parse(examDataStr)
|
||||
const code = await writeObjectOut(examData);
|
||||
const code = await writeObjectOut(examData, false);
|
||||
}
|
||||
}
|
||||
//上传无锡所过程数据
|
||||
@ -390,10 +394,10 @@ export default class Judge {
|
||||
//成绩不合格
|
||||
if (totalScore < passingGrade) {
|
||||
//科目三不合格报靠边停车
|
||||
if (examSubject == 3 ) {
|
||||
if( param302 == 1){
|
||||
if (examSubject == 3) {
|
||||
if (param302 == 1) {
|
||||
avPlayer.playAudio([`voice/考试结束.mp3`]);
|
||||
}else if(param302 == 0){
|
||||
} else if (param302 == 0) {
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -468,6 +472,8 @@ export default class Judge {
|
||||
//所有的科目考试项目(大车&小车)
|
||||
private testKmItems: any
|
||||
private plcData: any
|
||||
//特殊扣分标记
|
||||
private specialkf: string = ''
|
||||
// 获取plc数据
|
||||
getPlcData = async (plc: string) => {
|
||||
const {fileLog,mndgStr,rmndg} = this;
|
||||
@ -538,14 +544,14 @@ export default class Judge {
|
||||
// 调代理接口是否断网了
|
||||
private isJudgeDisConnect: boolean;
|
||||
// 项目开始接口同步
|
||||
beginProject = async (ksxm) => {
|
||||
beginProject = async (ksxm, xmxh?: string) => {
|
||||
const carInfo = globalThis.carInfo;
|
||||
const { examSubject,plateNo } = carInfo;
|
||||
const {judgeUI,fileLog,getSbbm,xmxh,filePath} = this;
|
||||
const {judgeUI,fileLog,getSbbm,filePath} = this;
|
||||
const {lsh,idCard,serialNumber,projectsObj,ksdd,kslx,xldm} = judgeUI
|
||||
const time = await getCurrentTime();
|
||||
const project = projectsObj[ksxm]
|
||||
const sbxh = getSbbm(ksxm, xmxh)
|
||||
const sbxh = getSbbm(ksxm, xmxh || this.xmxh)
|
||||
const data = {
|
||||
//系统类别 接口序列号 接口标识
|
||||
xtlb: '17', jkxlh: serialNumber, jkid: '17C52',
|
||||
@ -572,15 +578,15 @@ export default class Judge {
|
||||
promptWxCode('17C52', code)
|
||||
}
|
||||
// 项目结束接口同步
|
||||
endProject = async (ksxm) => {
|
||||
endProject = async (ksxm, xmxh?: string) => {
|
||||
const carInfo = globalThis.carInfo;
|
||||
const deviceNo = globalThis.deviceNo;
|
||||
const { examSubject,plateNo,carNo } = carInfo;
|
||||
const {judgeUI,fileLog,getSbxh,xmxh,getSbbm,filePath} = this;
|
||||
const {judgeUI,fileLog,getSbxh,getSbbm,filePath} = this;
|
||||
const {lsh,idCard,serialNumber,projectsObj,cdsbInfoObj,ksdd,kslx,xldm,} = judgeUI
|
||||
const time = await getCurrentTime();
|
||||
const project = projectsObj[ksxm]
|
||||
const sbxh = examSubject == 3 ? undefined : getSbbm(ksxm, xmxh)
|
||||
const sbxh = examSubject == 3 ? undefined : getSbbm(ksxm, xmxh || this.xmxh)
|
||||
|
||||
const data = {
|
||||
xtlb: '17', jkxlh: serialNumber, jkid: '17C55',
|
||||
@ -600,6 +606,12 @@ export default class Judge {
|
||||
}
|
||||
}
|
||||
const {code} = await this.sendWriteObjectOut(data, filePath)
|
||||
|
||||
//科三 & 432=3
|
||||
if (examSubject == 3 && this.judgeUI.judgeConfigObj['432'] == 2) {
|
||||
this.judgeUI.uploadMileage()
|
||||
}
|
||||
|
||||
if (code === 2300007) {
|
||||
this.isJudgeDisConnect = true;
|
||||
}
|
||||
@ -613,10 +625,10 @@ export default class Judge {
|
||||
private videoData: any
|
||||
private disConnectNum: number = 0;
|
||||
//调用监管接口
|
||||
|
||||
private externalTransmission: boolean = false
|
||||
//调用监管接口
|
||||
sendWriteObjectOut = async (data, filePath) => {
|
||||
const temp = await writeObjectOut(data, filePath);
|
||||
const temp = await writeObjectOut(data, this.externalTransmission, filePath);
|
||||
console.log("wzj", JSON.stringify(temp))
|
||||
if (this.disConnectNum == 0) {
|
||||
console.log("wzj", "第一次发送", JSON.stringify(data))
|
||||
@ -633,12 +645,34 @@ export default class Judge {
|
||||
}
|
||||
return await this.sendWriteObjectOut(data, filePath)
|
||||
}
|
||||
if (this.disConnectNum >= 5) {
|
||||
console.log(newAppTag, "大于5次,需要拉起app")
|
||||
this.externalTransmission = true
|
||||
let want: Want = {
|
||||
bundleName: 'com.example.upload', // 替换为你的应用包名
|
||||
abilityName: 'EntryAbility', // 你的 Service Ability 名称
|
||||
moduleName: 'entry', // 你的模块名称,通常是 'entry',
|
||||
parameters: {}
|
||||
};
|
||||
try {
|
||||
let context = this.judgeUI.context;
|
||||
context.startAbility(want)
|
||||
.then(() => {
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(newAppTag, `拉起应用失败: ${error.code} - ${error.message}`);
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(newAppTag, `启动Ability异常: ${error.message}`);
|
||||
}
|
||||
return await this.sendWriteObjectOut(data, filePath)
|
||||
}
|
||||
}
|
||||
|
||||
if (this.disConnectNum >= 5) {
|
||||
console.info('surenjun', '123')
|
||||
this.judgeUI.errorMsg = '当前的考试过程信息网络传输异常,程序点击确认将重启!';
|
||||
this.judgeUI.disConnectErrorOpen = true
|
||||
// this.judgeUI.errorMsg = '当前的考试过程信息网络传输异常,程序点击确认将重启!';
|
||||
// this.judgeUI.disConnectErrorOpen = true
|
||||
}
|
||||
|
||||
this.disConnectNum = 0
|
||||
@ -742,12 +776,12 @@ export default class Judge {
|
||||
allitems = Reflect.ownKeys(itemInfoObj).map(cdsbKey => {
|
||||
const cdsb = itemInfoObj[cdsbKey];
|
||||
const {xmdm,xmxh,modelKey} = cdsb
|
||||
const modelVal= getModelData(`${modelKey}.txt`)
|
||||
if(modelVal){
|
||||
const modelVal = getModelData(`${modelKey}.txt`)
|
||||
if (modelVal) {
|
||||
return {
|
||||
xmdm, xmxh, model: modelVal
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
}).filter(item => item !== undefined)
|
||||
@ -833,15 +867,15 @@ export default class Judge {
|
||||
xmdm: xmdm * 1, kfdm
|
||||
}
|
||||
})) : [],
|
||||
//TODO 已考里程待修改
|
||||
yklc: 0,
|
||||
yklc: judgeUI.yklc,
|
||||
special: [],
|
||||
//TODO 科目三参数临时写死
|
||||
sczb: (sczb === undefined || sczb == 0) ? 0 : 1,
|
||||
sczbkf: kfdm,
|
||||
dmndg: false,
|
||||
mfxx: false,
|
||||
mfxxn: false
|
||||
mfxxn: false,
|
||||
//科目三特殊扣分项
|
||||
specialkf: judgeUI.specialkf,
|
||||
}
|
||||
console.info(judgeTag, '5.获取开始考试数据完成')
|
||||
return beginInfo
|
||||
@ -1066,7 +1100,7 @@ export default class Judge {
|
||||
if (!isEnd) {
|
||||
judgeTask.addTask(async () => {
|
||||
console.info(judgeTag, `项目开始-${xmdm}-${projectsObj[xmdm].name}`)
|
||||
await beginProject(xmdm)
|
||||
await beginProject(xmdm, xmxh)
|
||||
}, {
|
||||
isDelay: true
|
||||
})
|
||||
@ -1095,7 +1129,7 @@ export default class Judge {
|
||||
if (!projectIsEnd) {
|
||||
judgeTask.addTask(async () => {
|
||||
console.info(judgeTag, `项目结束-${xmdm}-${projectsObj[xmdm].name}`)
|
||||
await endProject(xmdm);
|
||||
await endProject(xmdm, xmxh)
|
||||
this.xmmcSingleCode = 0;
|
||||
this.xmmcEndCode = undefined;
|
||||
}, {
|
||||
@ -1234,11 +1268,11 @@ export default class Judge {
|
||||
})
|
||||
} else {
|
||||
//收到综合评判语音时,显示综合评判弹窗
|
||||
if(code[0] == 'zhpp'){
|
||||
if (code[0] == 'zhpp') {
|
||||
const param512 = (this.judgeUI.judgeConfigObj['512'] || '').split(',');
|
||||
this.judgeUI.isDeductedPopShow = false
|
||||
clearTimeout(this.deductedPopShowTimer)
|
||||
if(param512[7] != 0){
|
||||
if (param512[7] != 0) {
|
||||
this.judgeUI.isDeductedPopShow = true
|
||||
this.judgeUI.defaultTabIndex = 1
|
||||
}
|
||||
@ -1714,7 +1748,7 @@ export default class Judge {
|
||||
// 检测差分状态
|
||||
checkDwzt = async (type) => {
|
||||
const {avPlayer} = this;
|
||||
const judgeConfig = this.judgeUI.judgeConfig;
|
||||
const config499 = this.judgeUI.judgeConfigObj['499'];
|
||||
switch (type) {
|
||||
case 0:
|
||||
this.judgeUI.isDwztRight = true;
|
||||
@ -1722,10 +1756,17 @@ export default class Judge {
|
||||
|
||||
case 1:
|
||||
this.judgeUI.dwztErrorVisible = true;
|
||||
clearInterval(this.judgeUI.timer);
|
||||
clearInterval(globalThis.judgeTimer)
|
||||
avPlayer.playAudio([`voice/差分状态异常.mp3`], true)
|
||||
setTimeout(() => {
|
||||
try {
|
||||
this.checkExamIsEnd(true);
|
||||
} catch (e) {
|
||||
this.closeAllFiles()
|
||||
router.back()
|
||||
}, 3000)
|
||||
}
|
||||
}, config499 * 1000)
|
||||
break;
|
||||
|
||||
case 2:
|
||||
@ -1810,6 +1851,7 @@ export default class Judge {
|
||||
this.handleRealExam(strData, callBack)
|
||||
})
|
||||
|
||||
|
||||
await examJudgeSetPerformCallback(async (info) => {
|
||||
console.info('评判实时数据', info)
|
||||
const performInfo = JSON.parse(info)
|
||||
@ -1821,6 +1863,11 @@ export default class Judge {
|
||||
this.judgeUI.jl = jl
|
||||
//TODO 待优化 跨组件传值不生效
|
||||
globalThis.laneData = performInfo.lane;
|
||||
//特殊扣分标记上传中心
|
||||
if (performInfo.specialkf !== this.specialkf) {
|
||||
this.judgeUI.uploadMileage(performInfo.specialkf)
|
||||
this.specialkf = performInfo.specialkf
|
||||
}
|
||||
})
|
||||
|
||||
// 3.开始考试
|
||||
@ -1899,7 +1946,7 @@ export default class Judge {
|
||||
globalThis.udpEvent.onStopExam(async () => {
|
||||
const config392 = (this.judgeUI.judgeConfigObj['392'] || '20,81').split(',');
|
||||
console.info(judgeTag, '开始远程终止考试扣分')
|
||||
this.setJudgeMark(config392[0]*1, config392[1], 2);
|
||||
this.setJudgeMark(config392[0] * 1, config392[1], 2);
|
||||
})
|
||||
|
||||
this.checkExamIsEnd();
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
{
|
||||
"lockfileVersion": 2,
|
||||
"lockfileVersion": 1,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
|
||||
},
|
||||
"packages": {
|
||||
"@ohos/hypium@1.0.6": {
|
||||
"resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
|
||||
"registryType": "ohpm",
|
||||
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user