diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index fe2d2b12..b6eeb57e 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -397,8 +397,10 @@ struct Index { // 断点续考判断 async goDdxkItems() { const judgeConfigObj = this.judgeConfigObj + const examSubject = this.examSubject - if (judgeConfigObj['432'] != 0) { + //科目二强制开始断点续考 + if (judgeConfigObj['432'] != 0 || examSubject == 2) { //断点续考判断 let currentParams: any = router.getParams(); const examItems: string = currentParams?.examItems; @@ -409,7 +411,7 @@ struct Index { const startTime = examItemsArrs[0] const ddxkKsxmArr = examItemsArrs[2]?.split(',').filter(item => item) || [] const ddxkKfArr = examItemsArrs[3]?.split('^').filter(item => item) || [] - if (judgeConfigObj['432'] == 2) { + if (judgeConfigObj['432'] == 2 || examSubject == 2) { //TODO 带项目带里程 if (ddxkKsxmArr?.length) { //断点续考 diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ts b/entry/src/main/ets/pages/judgeSDK/judge.ts index b335e33f..4de66138 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ts +++ b/entry/src/main/ets/pages/judgeSDK/judge.ts @@ -206,11 +206,11 @@ export default class Judge { } //实时计算gps经纬度距离 handDistance= async ()=>{ - const {jd,wd,hxj,dwzt} = this.tempData.gps; + const {jd,wd,hxj,dwzt,jdzt} = this.tempData.gps; const tJD = convertGpsCoord2(jd) const tWD = convertGpsCoord2(wd) const {prevJd,prevWd} = this - if(prevJd && dwzt == 4){ + if(prevJd && dwzt == 4 && jdzt == 3){ const distance = await examCalcGpsDistance({ jd1:prevJd, wd1:prevWd, @@ -248,7 +248,7 @@ export default class Judge { const sdkver = await examJudgeVersion(); const initInfo = { sdkver, - appven:globalThis.version, + appver:globalThis.version, kskm: examSubject * 1, kchp: plateNo, kchm: carId * 1, @@ -1445,13 +1445,13 @@ export default class Judge { const str = await senorToWXDataStr(msg); usbService.sendUSB(str) } - this.judgeUI.isDwztRight = plcData.gps.dwzt == 4; + this.judgeUI.isDwztRight = (plcData.gps.dwzt == 4 && plcData.gps.jdzt == 3); const param350 = judgeUI.judgeConfigObj['350'] //@ts-ignore this.judgeUI.sd = ((param350 == 0? plcData.gps.sd :plcData.sensor.cs) as number * 1.852).toFixed(0) + '' this.judgeUI.dw = (Math.floor(plcData.sensor.dw as number) || 0) + '' //TODO 暂时关闭差分检测异常 - await this.checkDwzt(plcData.gps.dwzt); + await this.checkDwzt(plcData.gps.dwzt,plcData.gps.jdzt); if(!isExamEnd){ await examJudgeRealExam(plcData) } @@ -1524,7 +1524,7 @@ export default class Judge { num++ // 4.过程数据 this.tempData = msg - this.judgeUI.isDwztRight = msg?.gps?.dwzt == 4; + this.judgeUI.isDwztRight = (msg?.gps?.dwzt == 4 && msg?.gps?.jdzt == 3); this.judgeUI.sd = Math.floor(msg?.gps?.sd * 1.852) + ''; this.judgeUI.dw = Math.floor(msg?.sensor?.dw) + '' this.plcData = msg @@ -1579,7 +1579,7 @@ export default class Judge { } // 检测差分状态 - checkDwzt = async (dwzt) => { + checkDwzt = async (dwzt,jdzt) => { const {avPlayer} = this; const judgeConfig = this.judgeUI.judgeConfig; // const param499 = judgeConfig['499'] @@ -1589,7 +1589,7 @@ export default class Judge { this.judgeUI.dwztErrorVisible = true; avPlayer.playAudio([`voice/差分状态异常.mp3`],true) } - if(dwzt != 4){ + if(dwzt != 4 || jdzt != 3){ this.dwztNum += 1 }else{ this.dwztNum = 0;