Compare commits
	
		
			4 Commits
		
	
	
		
			c612ff8afd
			...
			6ecddd7cbf
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6ecddd7cbf | |||
| 9e5749b296 | |||
| 8da91d74e0 | |||
| 9082c5169c | 
| @ -24,11 +24,12 @@ export async function setCurrentTime():Promise<void> { | ||||
|   let times = new Date(currentTime).getTime(); | ||||
|   console.log('jiangsong:times==' + times); | ||||
|   try { | ||||
|     systemTime.setTime(times).then(() => { | ||||
|       console.info(`Succeeded in setting time.`); | ||||
|     }).catch((error) => { | ||||
|       console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); | ||||
|     }); | ||||
|     await systemTime.setTime(times) | ||||
|     // systemTime.setTime(times).then(() => {
 | ||||
|     //   console.info(`Succeeded in setting time.`);
 | ||||
|     // }).catch((error) => {
 | ||||
|     //   console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`);
 | ||||
|     // });
 | ||||
|   } catch(e) { | ||||
|     console.info(`Failed to set time. message: ${e.message}, code: ${e.code}`); | ||||
|   } | ||||
|  | ||||
| @ -92,7 +92,6 @@ export class voiceService { | ||||
|   } | ||||
|   // 以下为使用资源管理接口获取打包在HAP内的媒体资源文件并通过fdSrc属性进行播放示例
 | ||||
|   avPlayerFdSrc(name) { | ||||
| 
 | ||||
|     globalThis.context.resourceManager.getRawFd(name,async (error, value) => { | ||||
|       if (error != null) { | ||||
|         console.log(`jiangsong callback getRawFd failed error code: ${error.code}, message: ${error.message}.`); | ||||
|  | ||||
| @ -42,7 +42,7 @@ export default class GetDistance { | ||||
|     const content = await fileUtil.readFile(`${folderPath}/${date}.txt`) || ''; | ||||
|     const contentArr = content.split('\n').filter(item => item) | ||||
|     console.info('surenjun contentArr',JSON.stringify(contentArr)) | ||||
|     this.totalDistance += str * 1 | ||||
|     this.totalDistance += (str * 1 > 200 ? 200 : str*1) | ||||
|     this.totalTime += 1; | ||||
|     contentArr[contentArr.length - 1] = `程序启动时间:${timeStr} 累计行驶距离:${(this.totalDistance).toFixed(2)}m 累计运行时常:${Math.ceil(this.totalTime/60)}min`+ '\n' | ||||
|     console.info('surenjun',contentArr.join('\n')) | ||||
|  | ||||
| @ -298,7 +298,8 @@ export async function setJudgeUdp() { | ||||
| 
 | ||||
|   if (config && config.udplocalIp) { | ||||
|     const {udplocalIp} = config; | ||||
|     const udpClientbyCenter: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080', globalThis.carInfo?.gpsAddress, globalThis.carInfo?.hintPort) | ||||
|     const udpClientbyCenter: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080', globalThis.carInfo?.udpAddress, globalThis.carInfo?.hintPort) | ||||
| 
 | ||||
|     await udpClientbyCenter.onError_Callback(()=>{}) | ||||
|     await udpClientbyCenter.bindUdp() | ||||
|     await udpClientbyCenter.onMessage_2((val) => {}) | ||||
|  | ||||
| @ -43,11 +43,8 @@ export const initJudgeUdp = async () => { | ||||
|           wd2:wd, | ||||
|           h:msgArr[90]*1 || 1, | ||||
|         }) | ||||
|         if(distance < 1){ | ||||
|           return | ||||
|         } | ||||
|         //@ts-ignore
 | ||||
|         globalThis.distanceClass.setTimeData(((distance / 100).toFixed(2)) * 1) | ||||
|         globalThis.distanceClass?.setTimeData(((distance / 100).toFixed(2)) * 1) | ||||
|       } | ||||
|       prevJd = jd; | ||||
|       preWd = wd; | ||||
| @ -66,7 +63,7 @@ export const getMessageHeartbeat = async (msg) => { | ||||
|       ? '1111111111111' | ||||
|       : globalThis.lsh, | ||||
|     13)); | ||||
|   const ascksyhArr = stringToASC(fillZero('1111111111111', 13)) | ||||
|   const ascksyhArr = stringToASC(fillZero(examSubject == 2 ? '0000000000000':'1111111111111', 13)) | ||||
|   const ascsbxhArr = stringToASC('00000000') | ||||
|   // const ascsbxhArr = stringToASC('153216400880')
 | ||||
|   const serialIndex = globalThis.serialIndex | ||||
|  | ||||
| @ -62,6 +62,7 @@ export default async function request(req: any) { | ||||
|         //处理中心服务code
 | ||||
|         if(res.Envelope){ | ||||
|             const msgXml = res.Envelope.Body.writeObjectOutResponse.return; | ||||
|                              //Envelope.Body.writeObjectOutResponse.return
 | ||||
|             const dd = handleCenterCode(msgXml,isNewCenter); | ||||
|             return dd | ||||
|         } | ||||
| @ -165,12 +166,14 @@ function handleCenterCode(msgXml,isNewCenter){ | ||||
|     } | ||||
| 
 | ||||
|     //正则匹配code message字段
 | ||||
|     const [code,message] = [/<code>(.*)<\/code>/i,/<message>(.*)<\/message>/i].map(pattern=>{ | ||||
|     const [code,message,keystr] = [/<code>(.*)<\/code>/i,/<message>(.*)<\/message>/i,/<keystr>(.*)<\/keystr>/i].map(pattern=>{ | ||||
|         const patternArr =  pattern.exec(msgXml); | ||||
|         return patternArr[1] | ||||
|     }); | ||||
| 
 | ||||
|     if(code === ''){ | ||||
|     console.info('surenjun =>request-prev',keystr) | ||||
| 
 | ||||
|     if(code != '1'){ | ||||
|         prompt.showToast({ | ||||
|             message: decodeURIComponent(message as string), | ||||
|             duration: 3000 | ||||
| @ -180,7 +183,8 @@ function handleCenterCode(msgXml,isNewCenter){ | ||||
|         // globalThis.errorDialog.open()
 | ||||
|         return {code,message:decodeURIComponent(message)} | ||||
|     }else{ | ||||
|         return { code } | ||||
|         console.info('surenjun =>request',keystr) | ||||
|         return { code ,keystr, message } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -236,4 +236,16 @@ export function convertGpsCoord2 (num){ | ||||
|   const du =  Math.floor(tempNum / 100); | ||||
|   const fen = tempNum % 100 + num - tempNum; | ||||
|   return du + fen / 60 | ||||
| } | ||||
| } | ||||
| 
 | ||||
| export function debounce(fn, delay){ | ||||
|   // 利用闭包定义定时器id变量存储
 | ||||
|   let timer = null; | ||||
|   return () => { | ||||
|     // 如果有值就清除定时器,重新计时
 | ||||
|     if (timer) { | ||||
|       clearTimeout(timer) | ||||
|     } | ||||
|     timer = setTimeout(fn, delay); | ||||
|   } | ||||
| }; | ||||
| @ -28,10 +28,10 @@ export default class EntryAbility extends UIAbility { | ||||
|         globalThis.examinerInfo = {} | ||||
|         globalThis.deviceNo = ''; | ||||
|         globalThis.hasAuth = false | ||||
|         // globalThis.version = '2022.08.13.01'//洛阳
 | ||||
|         // globalThis.judgeVersion = '2022.12.05.1'
 | ||||
|         globalThis.version = '2022.08.13.01'//洛阳
 | ||||
|         globalThis.judgeVersion = '2022.12.05.1' | ||||
|         globalThis.version = '2022.08.13.01' | ||||
|         // globalThis.judgeVersion = '2022.12.05.1'
 | ||||
|         // globalThis.version = '2022.08.13.01'
 | ||||
|         // globalThis.version = '2024.11.22.14'//济南
 | ||||
|         // globalThis.judgeVersion = '2024.11.22.14'
 | ||||
|         globalThis.videoVersion= '1.0' | ||||
|  | ||||
| @ -9,6 +9,8 @@ import Judge from './judgeSDK/judge'; | ||||
| import { defaultJudgeConfigObj } from './judgeSDK/utils//judgeCommon'; | ||||
| import {uploadExamMileage} from '../api/judge' | ||||
| import DwztErrorPopup from './compontents/judge/DwztErrorPopup' | ||||
| import {debounce} from '../common/utils/tools' | ||||
| 
 | ||||
| import { | ||||
|   CARINFO, | ||||
|   CDSBInfo, | ||||
| @ -28,6 +30,7 @@ import { getSyncData } from '../common/service/initable'; | ||||
| import { judgeConfig } from './judgeSDK/utils/judgeConfig'; | ||||
| import FileUtil from '../common/utils/File'; | ||||
| import SignDisplayCom from './compontents/signDisplayCom'; | ||||
| import promptAction from '@ohos.promptAction'; | ||||
| 
 | ||||
| @Entry | ||||
| @Component | ||||
| @ -161,7 +164,8 @@ struct Index { | ||||
|     const syssetParams = sysset || await getSyncData('MA_SYSSET') | ||||
|     //@ts-ignore | ||||
|     const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901'); | ||||
|     this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || '123456' | ||||
|     console.info('surenjun serialNumberArr' + JSON.stringify(serialNumberArr)) | ||||
|     this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || ''; | ||||
|     const {isTrajectoryOpen} = judgeConfig | ||||
|     const syssetJudgeConfigArr = [] | ||||
| 
 | ||||
| @ -294,12 +298,15 @@ struct Index { | ||||
|         this.projectsObj[no2*1] = currentProject | ||||
|         this.projectsCenterObj[txt2] = currentProject | ||||
|         this.projects.push(currentProject); | ||||
|         console.info('surenjun txt2=>',txt2) | ||||
| 
 | ||||
|         //真实监管下发考试项目 | ||||
|         if(isInExam && !kStringArr.includes(txt2)){ | ||||
|           this.projectsObj[no2*1].type = '3' | ||||
|           this.projectsObj[no2*1].isUpload = true | ||||
|           this.projectsObj[no2*1].isEnd = true | ||||
|           this.projectsCenterObj[txt2].type = '3' | ||||
|           this.projectsCenterObj[txt2].isUpload = true | ||||
|           this.projectsCenterObj[txt2].isEnd = true | ||||
|           this.isDdxk = true | ||||
|           this.ddxkKsxmArr.push(txt2) | ||||
|         } | ||||
| @ -381,6 +388,8 @@ struct Index { | ||||
|               const projectCode = this.projectsCenterObj[xmdm].projectCode | ||||
|               if(this.projectsObj[projectCode]){ | ||||
|                 this.projectsObj[projectCode].type = '3' | ||||
|                 this.projectsObj[projectCode].isUpload = true | ||||
|                 this.projectsObj[projectCode].isEnd = true | ||||
|               } | ||||
|             }) | ||||
|             this.ddxkKsxmArr = ddxkKsxmArr | ||||
| @ -845,10 +854,15 @@ struct Index { | ||||
|             this.isDeductedPopShow = false; | ||||
|             this.defaultTabIndex = 0; | ||||
|           }, | ||||
|           confirmMark: async (itemno, serial) => { | ||||
|             const judge = this.judge | ||||
|             await judge.setJudgeMark(itemno, serial); | ||||
|             this.isDeductedPopShow = false | ||||
|           confirmMark: async (itemno, serial)=>{ | ||||
|             clearTimeout(this.popTimer) | ||||
|             this.popTimer = null | ||||
|             this.popTimer =  setTimeout(async ()=>{ | ||||
|               const judge = this.judge | ||||
|               await judge.setJudgeMark(itemno, serial); | ||||
|               this.isDeductedPopShow = false | ||||
|               this.popTimer = null; | ||||
|             },500) | ||||
|           } | ||||
|         }) | ||||
|       } | ||||
| @ -878,10 +892,15 @@ struct Index { | ||||
|       if (this.isAmplifyPopShow && this.examSubject == 3) { | ||||
|         AmplifyPopup({ | ||||
|           amplifyImgIndex: this.amplifiedImgIndex, | ||||
|           confirmAmplify: async (amplify) => { | ||||
|             const judge = this.judge | ||||
|             await judge.setJudgeItem(amplify.projectCode, 1); | ||||
|             this.isAmplifyPopShow = false | ||||
|           confirmAmplify:async (amplify)=>{ | ||||
|             clearTimeout(this.popTimer) | ||||
|             this.popTimer = null | ||||
|             this.popTimer =  setTimeout(async ()=>{ | ||||
|               const judge = this.judge | ||||
|               await judge.setJudgeItem(amplify.projectCode, 1); | ||||
|               this.isAmplifyPopShow = false | ||||
|               this.popTimer = null; | ||||
|             },500) | ||||
|           }, | ||||
|           closeAmplifyPop: () => { | ||||
|             this.isAmplifyPopShow = false | ||||
| @ -1262,4 +1281,5 @@ struct Index { | ||||
|   @State mileageTimer: number = 0; | ||||
|   @State passingScore: number = 80 | ||||
|   @State dwztErrorVisible: boolean = false; | ||||
|   @State popTimer:number =0; | ||||
| } | ||||
|  | ||||
| @ -650,6 +650,8 @@ struct UserInfo { | ||||
|           message, | ||||
|           duration: 4000 | ||||
|         }) | ||||
|         avPlayer.playAudio(['voice/监管审核未通过.mp3']); | ||||
|         this.isLoadingPopupVisible = false | ||||
|         return | ||||
|       } | ||||
|       this.currentUser.id = '0' | ||||
| @ -799,7 +801,7 @@ struct UserInfo { | ||||
|       drvexam, | ||||
|       xtlb: '17', | ||||
|       //接口序列号 | ||||
|       jkxlh: this.jkxlh || '', | ||||
|       jkxlh: this.jkxlh, | ||||
|       //接口标识 | ||||
|       jkid: '17C51', | ||||
|     } | ||||
|  | ||||
| @ -80,14 +80,16 @@ export default class Judge { | ||||
| 
 | ||||
|     this.isExam = !this.judgeUI.singlePlay; | ||||
|     const {projectsCenterObj,examSubject} = judgeUI; | ||||
|     //科目三待修改
 | ||||
| 
 | ||||
|     (examSubject ==2 ? testKm2Items : testKm3Items ).forEach(item => { | ||||
|       const projectCenterObj = projectsCenterObj[item.code] | ||||
|       this.testKmItems[item.code] = item; | ||||
|       //考试项目存在
 | ||||
|       this.testKmItems[item.code] = { | ||||
|         code: item.code, | ||||
|         status: 1, | ||||
|         // status: projectsCenterObj[item.code]?.isRequired ? 1 : 0
 | ||||
|         status: projectCenterObj === undefined | ||||
|               ? 0 | ||||
|               : ( projectCenterObj.isEnd ? 3 : 1 ) | ||||
|       } | ||||
|     }) | ||||
|     console.info(judgeTag+'testKmItems',JSON.stringify(this.testKmItems)) | ||||
| @ -156,13 +158,25 @@ export default class Judge { | ||||
|     let beginExamInfo = isTrajectoryOpen ? { | ||||
|       ...JSON.parse(strArr[1]), | ||||
|       replay: 1, | ||||
|       ykxm:judgeConfig.ignoreProjects | ||||
|     } : await getJudgeBeginData() | ||||
| 
 | ||||
|     await fileLog.setExamJudgeData(beginExamInfo) | ||||
|     await examJudgeBeginExam(beginExamInfo); | ||||
|     console.info(judgeTag, '6.开始考试注册完成') | ||||
|     avPlayer.playAudio([globalThis.singlePlay ? 'voice/ksks.WAV' : 'voice/监管成功.mp3']) | ||||
| 
 | ||||
|     const {examSubject,projectsObj} = this.judgeUI | ||||
|     if(examSubject == 3){ | ||||
|       //不做模拟灯光,需要做上车准备 =>(请上车准备)
 | ||||
|       if(projectsObj[41]?.type == 3 && projectsObj[1]?.type != 3){ | ||||
|         avPlayer.playAudio(['voice/上车准备.mp3']) | ||||
|       } | ||||
|       //不做模拟灯光,不做上车准备 =>(请起步,完成考试)
 | ||||
|       if(projectsObj[41]?.type == 3 && projectsObj[1]?.type == 3){ | ||||
|         avPlayer.playAudio(['voice/402001.mp3']) | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     this.judgeUI.draw = true | ||||
|     // 处理轨迹plc信息
 | ||||
|     if (isTrajectoryOpen) { | ||||
| @ -179,24 +193,15 @@ export default class Judge { | ||||
|         handDistance(); | ||||
|       } | ||||
|     }) | ||||
| 
 | ||||
|     //TODO 监听远程扣分
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   //实时计算gps经纬度距离
 | ||||
|   handDistance= async ()=>{ | ||||
|     const {jd,wd,hxj,dwzt} = this.tempData.gps; | ||||
|     const tJD = convertGpsCoord2(jd) | ||||
|     const tWD = convertGpsCoord2(wd) | ||||
|     const {prevJd,prevWd} = this | ||||
|     console.info('surenjun =>prevJd',prevJd) | ||||
|     console.info('surenjun =>dwzt',dwzt) | ||||
|     if(prevJd && dwzt == 4){ | ||||
|       console.info('surenjun =>tJD',tJD) | ||||
|       console.info('surenjun =>tWD',tWD) | ||||
|       console.info('surenjun =>prevJd',prevJd) | ||||
|       console.info('surenjun =>preWd',prevWd) | ||||
|       console.info('surenjun =>hxj',hxj) | ||||
|       const distance = await examCalcGpsDistance({ | ||||
|         jd1:prevJd, | ||||
|         wd1:prevWd, | ||||
| @ -204,9 +209,8 @@ export default class Judge { | ||||
|         wd2:tWD, | ||||
|         h:hxj || 1, | ||||
|       }) | ||||
|       console.info('surenjun =>distance',distance) | ||||
|       //@ts-ignore
 | ||||
|       globalThis.distanceClass.setTimeData(((distance / 100).toFixed(2)) * 1) | ||||
|       globalThis.distanceClass?.setTimeData(((distance / 100).toFixed(2)) * 1) | ||||
|     } | ||||
|     this.prevJd = tJD; | ||||
|     this.prevWd = tWD; | ||||
| @ -638,7 +642,6 @@ export default class Judge { | ||||
|         kssj: time | ||||
|       } | ||||
|     } | ||||
|     console.info(judgeTag +'filePath' , filePath) | ||||
|     const {code} = await writeObjectOut(data,filePath) | ||||
|     console.info(judgeTag, '项目开始 end') | ||||
|     if (code === 2300007) { | ||||
| @ -802,18 +805,9 @@ export default class Judge { | ||||
|     //及格分
 | ||||
|     let passingGrade = passingScore | ||||
|     if (isManual) { | ||||
|       if (isAllProjectsEnd) { | ||||
|         // 考试合格
 | ||||
|         if (totalScore >= passingGrade) { | ||||
|           // 考试合格
 | ||||
|           await examJudgeEndExam(); | ||||
|           this.isExamEnd = true | ||||
|         } | ||||
|       } else { | ||||
|         // 考试不合格
 | ||||
|         await examJudgeEndExam() | ||||
|         this.isExamEnd = true | ||||
|       } | ||||
|       // 考试不合格
 | ||||
|       await examJudgeEndExam() | ||||
|       this.isExamEnd = true | ||||
|       this.isManual = true | ||||
|     } else { | ||||
|       const param302 = judgeConfigObj['302']; | ||||
| @ -824,17 +818,30 @@ export default class Judge { | ||||
|       if (singlePlay) { | ||||
|         console.info(judgeTag + ' isAllProjectsEnd => ',isAllProjectsEnd) | ||||
|         if (isAllProjectsEnd) { | ||||
|           if (examSubject == 3 && (param342 == 0 || param342 == 2) && (param302 != 6 || param302 != 7 || param302 != 8)) { | ||||
|             if(param512[7] != 0){ | ||||
|               avPlayer.playAudio(['voice/综合评判.mp3']) | ||||
|               this.judgeUI.isDeductedPopShow = true | ||||
|               this.judgeUI.defaultTabIndex = 1 | ||||
|               this.isEndTip = true | ||||
|             } | ||||
|           } else { | ||||
|             await examJudgeEndExam() | ||||
|             this.isExamEnd = true | ||||
|           } | ||||
|            //成绩合格
 | ||||
|            if(totalScore >= passingGrade && !isEndTip) { | ||||
|              if (examSubject == 3 && (param342 == 0 || param342 == 2) && (param302 != 6 || param302 != 7 || param302 != 8)) { | ||||
|                if(param512[7] != 0){ | ||||
|                  avPlayer.playAudio(['voice/综合评判.mp3']) | ||||
|                  this.judgeUI.isDeductedPopShow = true | ||||
|                  this.judgeUI.defaultTabIndex = 1 | ||||
|                  this.isEndTip = true | ||||
|                  return | ||||
|                } | ||||
|              } else { | ||||
|                await examJudgeEndExam() | ||||
|                this.isExamEnd = true | ||||
|                return | ||||
|              } | ||||
|            }else{ | ||||
|              if(examSubject == 3 && param302 == 4){ | ||||
|                await examJudgeEndExam() | ||||
|                this.isExamEnd = true | ||||
|                return | ||||
|              } | ||||
|            } | ||||
|           await examJudgeEndExam() | ||||
|           this.isExamEnd = true | ||||
|         } | ||||
|       } else { | ||||
|         //成绩不合格
 | ||||
| @ -850,6 +857,11 @@ export default class Judge { | ||||
|         } | ||||
|         //成绩合格
 | ||||
|         if (isAllProjectsEnd && totalScore >= passingGrade && !isEndTip) { | ||||
|           if(examSubject == 2){ | ||||
|             await examJudgeEndExam() | ||||
|             this.isExamEnd = true | ||||
|             return | ||||
|           } | ||||
|           //考试合格自动退出
 | ||||
|           if(examSubject == 3 && param302 == 4){ | ||||
|             await examJudgeEndExam() | ||||
| @ -955,8 +967,15 @@ export default class Judge { | ||||
|         dwlc: [d1,d2,d3,d4,d5].map((d,index) => `${index+1},${Math.floor(d /100)}`).join(';'), | ||||
|       } | ||||
|     } | ||||
|     const temp = await writeObjectOut(data,filePath); | ||||
|     promptWxCode('17C56', temp.code) | ||||
|     const {code,keystr,message} = await writeObjectOut(data,filePath); | ||||
|     promptWxCode('17C56', code) | ||||
| 
 | ||||
|     if(code != 1){ | ||||
|       avPlayer.playAudio(['voice/监管失败.mp3']) | ||||
|       this.isUdpEnd = true | ||||
|       router.back(); | ||||
|       return | ||||
|     } | ||||
|     console.info(judgeTag, '考试结束 end') | ||||
|     const param302 = judgeConfigObj['302']; | ||||
|     judgeUI.loadingPopupVisible = true; | ||||
| @ -964,8 +983,13 @@ export default class Judge { | ||||
|     let currentKssycs =0; | ||||
|     let voiceURL = '' | ||||
|     if (examSubject == 2) { | ||||
|       voiceURL = (totalScore < passingScore ? `voice/unqualified_${kssycs == 1 ? 'one' : 'two'}.wav` : 'voice/qualified.mp3') | ||||
|       switch (voiceURL){ | ||||
|        if (isAllProjectsEnd) { | ||||
|          voiceURL = (totalScore < passingScore ? `voice/unqualified_${kssycs == 1 ? 'one' : 'two'}.wav` : 'voice/qualified.mp3') | ||||
|        }else{ | ||||
|          voiceURL = `voice/unqualified_${kssycs == 1 ? 'one' : 'two'}.wav` | ||||
|          currentKssycs = kssycs == 1 ? 0 : 1 | ||||
|        } | ||||
|        switch (voiceURL){ | ||||
|         case 'voice/unqualified_one.wav': | ||||
|           currentKssycs = 0; | ||||
|           break; | ||||
| @ -1063,6 +1087,7 @@ export default class Judge { | ||||
|     const projectsObj = this.judgeUI.projectsObj | ||||
|     return projectsObj[type]?.abbreviation || '通用评判' | ||||
|   } | ||||
| 
 | ||||
|   // 扣分项目转换
 | ||||
|   getKfStr = (code) => { | ||||
|     const markRuleListObj = this.judgeUI.markRuleListObj; | ||||
| @ -1107,7 +1132,7 @@ export default class Judge { | ||||
|     const sbxh = getSbxh(xmdm, xmxh) | ||||
|     const {carzt,dcjl,qjjl,dxjl,bxjl} = performInfo || {}; | ||||
|     const asclshArr = stringToASC( | ||||
|       fillZero((singlePlay ? 1111111111111 : lsh) || 0, 13) | ||||
|       fillZero((singlePlay ? (examSubject == 2 ? '0000000000000':'1111111111111') : lsh) || 0, 13) | ||||
|     ); | ||||
|     //13不足要补0
 | ||||
|     const ascksyhArr = stringToASC(fillZero(ksyh || 0, 13)) | ||||
| @ -1124,7 +1149,6 @@ export default class Judge { | ||||
| 
 | ||||
|     //@ts-ignore
 | ||||
|     let tempSd = ((judgeConfigObj['350'] ==0 ? sd : cs) * 1.852).toFixed(0) * 1 | ||||
|     console.info(judgeTag + "prevSD",tempSd); | ||||
|     if(tempSd < 1){ | ||||
|       tempSd = 0 | ||||
|     } | ||||
| @ -1228,7 +1252,6 @@ export default class Judge { | ||||
|         status: getCenterProjectStatus(current.status) | ||||
|       } | ||||
|     }) | ||||
|     // console.info(judgeTag+'TranslateProject',JSON.stringify(tempItems));
 | ||||
| 
 | ||||
|     const arr = []; | ||||
|     for (let i = 0; i <= 4; i++) { | ||||
| @ -1276,6 +1299,7 @@ export default class Judge { | ||||
|   } | ||||
|   //人工操作项目
 | ||||
|   public setJudgeItem = async (itemno, type: 1 | 2) => { | ||||
|     console.info('surenjun','2') | ||||
|     const {fileLog} = this; | ||||
|     await examJudgeArtificialItem(itemno * 1, type); | ||||
|     await fileLog.setExamJudgeData({ | ||||
| @ -1392,7 +1416,10 @@ export default class Judge { | ||||
|     if (udpIndex % 5 === 0 && !isUdpEnd) { | ||||
|       const judgeUdp = globalThis.judgeUdp | ||||
|       const bytes = await this.getMessageHeartbeat(isExamEnd); | ||||
|       console.info(judgeTag,JSON.stringify(bytes)) | ||||
|       console.info(judgeTag,'udp-prev-send') | ||||
|       judgeUdp.send(bytes) | ||||
|       console.info(judgeTag,'udp-prev-end') | ||||
|     } | ||||
|     globalThis.udpIndex += 1 | ||||
|   } | ||||
| @ -1444,12 +1471,13 @@ export default class Judge { | ||||
|       const msgStr = strArr[num]; | ||||
|       if(msgStr == ''){ | ||||
|         console.info(judgeTag, '模拟数据考试结束') | ||||
|         // globalThis.windowClass.setWindowSystemBarEnable(['navigation'])
 | ||||
|         globalThis.windowClass.setWindowSystemBarEnable(['navigation']) | ||||
|         clearInterval(judgeTimer) | ||||
|         this.checkExamIsEnd(true) | ||||
|         return | ||||
|       } | ||||
|       const msg = JSON.parse(strArr[num]); | ||||
|       num++ | ||||
|       // 4.过程数据
 | ||||
|       this.tempData = msg | ||||
|       this.judgeUI.isDwztRight = msg?.gps?.dwzt == 4; | ||||
| @ -1467,8 +1495,8 @@ export default class Judge { | ||||
|       await examJudgeRealExam(msg) | ||||
|       const bytes = await this.getMessageHeartbeat(); | ||||
|       bytes && globalThis.judgeUdp.send(bytes) | ||||
|       num++ | ||||
|     }, 200) | ||||
| 
 | ||||
|     }, 50) | ||||
| 
 | ||||
|     globalThis.judgeTimer = judgeTimer; | ||||
|   } | ||||
|  | ||||
| @ -16,7 +16,7 @@ export const judgeConfig = { | ||||
|   // 本地模型地址
 | ||||
|   modelPath: 'models/model_enc', | ||||
|   // 济南科目三
 | ||||
|   trajectoryPath: 'logs/2024_08_17/2024_08_17_16_51_24_9999282315477_203908531884520064_彭雯季/judge_exam_data.txt', | ||||
|   trajectoryPath: 'logs/2024_08_29/2024_08_29_09_48_08_2230612098578_410311200501058031_闫嘉衡/judge_exam_data.txt', | ||||
|   //四合一画面配置
 | ||||
|   fourInOneScreen:{ | ||||
|     //gps位数
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user