Compare commits
	
		
			10 Commits
		
	
	
		
			747f88e65a
			...
			e6f5e564cf
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e6f5e564cf | |||
| f19a7a7743 | |||
| 6ecddd7cbf | |||
| 9e5749b296 | |||
| c612ff8afd | |||
| 8da91d74e0 | |||
| 77ddbc9c1f | |||
| a4065dde4c | |||
| ca8a535eab | |||
| 9082c5169c | 
| @ -24,11 +24,12 @@ export async function setCurrentTime():Promise<void> { | |||||||
|   let times = new Date(currentTime).getTime(); |   let times = new Date(currentTime).getTime(); | ||||||
|   console.log('jiangsong:times==' + times); |   console.log('jiangsong:times==' + times); | ||||||
|   try { |   try { | ||||||
|     systemTime.setTime(times).then(() => { |     await systemTime.setTime(times) | ||||||
|       console.info(`Succeeded in setting time.`); |     // systemTime.setTime(times).then(() => {
 | ||||||
|     }).catch((error) => { |     //   console.info(`Succeeded in setting time.`);
 | ||||||
|       console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); |     // }).catch((error) => {
 | ||||||
|     }); |     //   console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`);
 | ||||||
|  |     // });
 | ||||||
|   } catch(e) { |   } catch(e) { | ||||||
|     console.info(`Failed to set time. message: ${e.message}, code: ${e.code}`); |     console.info(`Failed to set time. message: ${e.message}, code: ${e.code}`); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -33,7 +33,7 @@ const FILE_ASSET_FETCH_COLUMNS = [photoAccessHelper.PhotoKeys.URI, | |||||||
| 
 | 
 | ||||||
| // const rtsp_server = record.createServer();
 | // const rtsp_server = record.createServer();
 | ||||||
| 
 | 
 | ||||||
| export async function startRecordVideo(param, td, context, dir, path?) { | export async function startRecordVideo(param, td, context, dir, path?,index?) { | ||||||
|   return new Promise(async (reslove, reject) => { |   return new Promise(async (reslove, reject) => { | ||||||
|     // const fileUtil = new FileUtil(globalThis.context)
 |     // const fileUtil = new FileUtil(globalThis.context)
 | ||||||
|     // const date=dateFormat(new Date).split(' ')[0]
 |     // const date=dateFormat(new Date).split(' ')[0]
 | ||||||
| @ -47,7 +47,7 @@ export async function startRecordVideo(param, td, context, dir, path?) { | |||||||
|       if (!path) { |       if (!path) { | ||||||
|         fileName = `movie_record${num}.mp4` |         fileName = `movie_record${num}.mp4` | ||||||
|       } else { |       } else { | ||||||
|         fileName = `${path}.mp4` |         fileName = `${path}_${index||num}.mp4` | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       // @ts-ignore
 |       // @ts-ignore
 | ||||||
| @ -101,18 +101,18 @@ export async function saveStartRecordVideo(path) { | |||||||
|       if (param['videoRecord'+i]) { |       if (param['videoRecord'+i]) { | ||||||
|         console.log('pathpath0',path) |         console.log('pathpath0',path) | ||||||
| 
 | 
 | ||||||
|         record_handle[i] = await getfilehandleCode(i, param, date, path) |         record_handle[i] = await getfilehandleCode(i, param, date, path,i) | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     reslove(record_handle) |     reslove(record_handle) | ||||||
|   }) |   }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| async function getfilehandleCode(td, param, dir, path) { | async function getfilehandleCode(td, param, dir, path,index) { | ||||||
|   return new Promise(async (reslove, reject) => { |   return new Promise(async (reslove, reject) => { | ||||||
|     console.log('pathpath1',path) |     console.log('pathpath1',path) | ||||||
| 
 | 
 | ||||||
|     const record_handle = await startRecordVideo(param, td, globalThis.context, dir, path) |     const record_handle = await startRecordVideo(param, td, globalThis.context, dir, path,index) | ||||||
|     // this.rocordHandleObj['rocord_handle'+td] = record_handle
 |     // this.rocordHandleObj['rocord_handle'+td] = record_handle
 | ||||||
|     reslove(record_handle) |     reslove(record_handle) | ||||||
|   }) |   }) | ||||||
| @ -137,6 +137,8 @@ export async function getUserAlbumItemByDisplayName(displayName: string): Promis | |||||||
|     console.log('get getUserAlbumItemByDisplayName, count: ' + JSON.stringify(fetchResult)); |     console.log('get getUserAlbumItemByDisplayName, count: ' + JSON.stringify(fetchResult)); | ||||||
|     if (fetchResult.getCount() > 0) { |     if (fetchResult.getCount() > 0) { | ||||||
|       const albums = await fetchResult.getLastObject(); |       const albums = await fetchResult.getLastObject(); | ||||||
|  |       console.log('get getUserAlbumItemByDisplayName album111',albums.albumName) | ||||||
|  | 
 | ||||||
|       if(isSevenDaysAgo(albums.albumName)){ |       if(isSevenDaysAgo(albums.albumName)){ | ||||||
|         deleteAllFileByPiC(albums.albumName,2) |         deleteAllFileByPiC(albums.albumName,2) | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -92,7 +92,6 @@ export class voiceService { | |||||||
|   } |   } | ||||||
|   // 以下为使用资源管理接口获取打包在HAP内的媒体资源文件并通过fdSrc属性进行播放示例
 |   // 以下为使用资源管理接口获取打包在HAP内的媒体资源文件并通过fdSrc属性进行播放示例
 | ||||||
|   avPlayerFdSrc(name) { |   avPlayerFdSrc(name) { | ||||||
| 
 |  | ||||||
|     globalThis.context.resourceManager.getRawFd(name,async (error, value) => { |     globalThis.context.resourceManager.getRawFd(name,async (error, value) => { | ||||||
|       if (error != null) { |       if (error != null) { | ||||||
|         console.log(`jiangsong callback getRawFd failed error code: ${error.code}, message: ${error.message}.`); |         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 content = await fileUtil.readFile(`${folderPath}/${date}.txt`) || ''; | ||||||
|     const contentArr = content.split('\n').filter(item => item) |     const contentArr = content.split('\n').filter(item => item) | ||||||
|     console.info('surenjun contentArr',JSON.stringify(contentArr)) |     console.info('surenjun contentArr',JSON.stringify(contentArr)) | ||||||
|     this.totalDistance += str * 1 |     this.totalDistance += (str * 1 > 200 ? 200 : str*1) | ||||||
|     this.totalTime += 1; |     this.totalTime += 1; | ||||||
|     contentArr[contentArr.length - 1] = `程序启动时间:${timeStr} 累计行驶距离:${(this.totalDistance).toFixed(2)}m 累计运行时常:${Math.ceil(this.totalTime/60)}min`+ '\n' |     contentArr[contentArr.length - 1] = `程序启动时间:${timeStr} 累计行驶距离:${(this.totalDistance).toFixed(2)}m 累计运行时常:${Math.ceil(this.totalTime/60)}min`+ '\n' | ||||||
|     console.info('surenjun',contentArr.join('\n')) |     console.info('surenjun',contentArr.join('\n')) | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ export async function getTCP() { | |||||||
|           }) |           }) | ||||||
|           await globalThis.TcpClient.onMessage((val) => { |           await globalThis.TcpClient.onMessage((val) => { | ||||||
|             setTimeout(() => { |             setTimeout(() => { | ||||||
|               globalThis.TcpClient.sendMsg('1002') //1002
 |               globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo||'1002') //1002
 | ||||||
|               if (val) { |               if (val) { | ||||||
|                 // const msg=val.substring(5,val.length-1)
 |                 // const msg=val.substring(5,val.length-1)
 | ||||||
|                 console.log('socketTag[PLC.UdpClient] status:', globalThis.udpClient.getStatus()) |                 console.log('socketTag[PLC.UdpClient] status:', globalThis.udpClient.getStatus()) | ||||||
| @ -54,7 +54,7 @@ export async function getTCP() { | |||||||
|       await globalThis.TcpClient.onMessage((val) => { |       await globalThis.TcpClient.onMessage((val) => { | ||||||
|         hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); |         hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); | ||||||
|         setTimeout(() => { |         setTimeout(() => { | ||||||
|           globalThis.TcpClient.sendMsg('1002') //1002
 |           globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo||'1002') //1002
 | ||||||
|           if (val && globalThis.udpClient?.sendMsg) { |           if (val && globalThis.udpClient?.sendMsg) { | ||||||
|             globalThis.udpClient?.sendMsg(val) |             globalThis.udpClient?.sendMsg(val) | ||||||
|           } |           } | ||||||
|  | |||||||
| @ -298,7 +298,8 @@ export async function setJudgeUdp() { | |||||||
| 
 | 
 | ||||||
|   if (config && config.udplocalIp) { |   if (config && config.udplocalIp) { | ||||||
|     const {udplocalIp} = config; |     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.onError_Callback(()=>{}) | ||||||
|     await udpClientbyCenter.bindUdp() |     await udpClientbyCenter.bindUdp() | ||||||
|     await udpClientbyCenter.onMessage_2((val) => {}) |     await udpClientbyCenter.onMessage_2((val) => {}) | ||||||
|  | |||||||
| @ -195,7 +195,6 @@ export default class TcpClient { | |||||||
|       } |       } | ||||||
|       clearInterval(globalThis.intervaltcp) |       clearInterval(globalThis.intervaltcp) | ||||||
|       globalThis.intervaltcp=setInterval(()=>{ |       globalThis.intervaltcp=setInterval(()=>{ | ||||||
|         setTimeout(async () => { |  | ||||||
|           //程序断开
 |           //程序断开
 | ||||||
|           if (globalThis.tcpUdpError) { |           if (globalThis.tcpUdpError) { | ||||||
|             console.log(TAG,'tcp信号丢失') |             console.log(TAG,'tcp信号丢失') | ||||||
| @ -206,7 +205,6 @@ export default class TcpClient { | |||||||
|             }); |             }); | ||||||
|           } |           } | ||||||
|           globalThis.tcpUdpError = true; |           globalThis.tcpUdpError = true; | ||||||
|         }, 2000) |  | ||||||
|       },3000) |       },3000) | ||||||
|       // callback(value.message)
 |       // callback(value.message)
 | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -343,10 +343,10 @@ export default class UdpClientByCenter { | |||||||
| 
 | 
 | ||||||
|       // this.stashFn(str)
 |       // this.stashFn(str)
 | ||||||
|       const newArr = JSON.parse(JSON.stringify(strachArr)) |       const newArr = JSON.parse(JSON.stringify(strachArr)) | ||||||
|       // this.writeLog({
 |       this.writeLog({ | ||||||
|       //   time:dateFormat(new Date()),
 |         time:dateFormat(new Date()), | ||||||
|       //   PLC: JSON.stringify(newArr.toString()),
 |         PLC: JSON.stringify(newArr.toString()), | ||||||
|       // })
 |       }) | ||||||
|       if(strachArr[83]!='4'){ |       if(strachArr[83]!='4'){ | ||||||
|         this.chafenFlag++ |         this.chafenFlag++ | ||||||
|         if(this.chafenFlag>=15&&!globalThis.dialogOpen){ |         if(this.chafenFlag>=15&&!globalThis.dialogOpen){ | ||||||
| @ -393,10 +393,10 @@ export default class UdpClientByCenter { | |||||||
|     this.testIfUdpConnetced(callback) |     this.testIfUdpConnetced(callback) | ||||||
|   } |   } | ||||||
|   async  writeLog(param){ |   async  writeLog(param){ | ||||||
|     // const fileUtil = new FileUtil(globalThis.context)
 |     const fileUtil = new FileUtil(globalThis.context) | ||||||
|     // const date=dateFormat(new Date).split(' ')[0]
 |     const date=dateFormat(new Date).split(' ')[0] | ||||||
|     // const folderPath = await fileUtil.initFolder(`/PLC/${date}`);
 |     const folderPath = await fileUtil.initFolder(`/PLC/${date}`); | ||||||
|     // fileUtil.editFile(`${folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`)
 |     fileUtil.editFile(`${folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`) | ||||||
| 
 | 
 | ||||||
|   } |   } | ||||||
|   //获取当前UDP信号
 |   //获取当前UDP信号
 | ||||||
|  | |||||||
| @ -43,11 +43,8 @@ export const initJudgeUdp = async () => { | |||||||
|           wd2:wd, |           wd2:wd, | ||||||
|           h:msgArr[90]*1 || 1, |           h:msgArr[90]*1 || 1, | ||||||
|         }) |         }) | ||||||
|         if(distance < 1){ |  | ||||||
|           return |  | ||||||
|         } |  | ||||||
|         //@ts-ignore
 |         //@ts-ignore
 | ||||||
|         globalThis.distanceClass.setTimeData(((distance / 100).toFixed(2)) * 1) |         globalThis.distanceClass?.setTimeData(((distance / 100).toFixed(2)) * 1) | ||||||
|       } |       } | ||||||
|       prevJd = jd; |       prevJd = jd; | ||||||
|       preWd = wd; |       preWd = wd; | ||||||
| @ -66,7 +63,7 @@ export const getMessageHeartbeat = async (msg) => { | |||||||
|       ? '1111111111111' |       ? '1111111111111' | ||||||
|       : globalThis.lsh, |       : globalThis.lsh, | ||||||
|     13)); |     13)); | ||||||
|   const ascksyhArr = stringToASC(fillZero('1111111111111', 13)) |   const ascksyhArr = stringToASC(fillZero(examSubject == 2 ? '0000000000000':'1111111111111', 13)) | ||||||
|   const ascsbxhArr = stringToASC('00000000') |   const ascsbxhArr = stringToASC('00000000') | ||||||
|   // const ascsbxhArr = stringToASC('153216400880')
 |   // const ascsbxhArr = stringToASC('153216400880')
 | ||||||
|   const serialIndex = globalThis.serialIndex |   const serialIndex = globalThis.serialIndex | ||||||
|  | |||||||
| @ -62,6 +62,7 @@ export default async function request(req: any) { | |||||||
|         //处理中心服务code
 |         //处理中心服务code
 | ||||||
|         if(res.Envelope){ |         if(res.Envelope){ | ||||||
|             const msgXml = res.Envelope.Body.writeObjectOutResponse.return; |             const msgXml = res.Envelope.Body.writeObjectOutResponse.return; | ||||||
|  |                              //Envelope.Body.writeObjectOutResponse.return
 | ||||||
|             const dd = handleCenterCode(msgXml,isNewCenter); |             const dd = handleCenterCode(msgXml,isNewCenter); | ||||||
|             return dd |             return dd | ||||||
|         } |         } | ||||||
| @ -165,12 +166,14 @@ function handleCenterCode(msgXml,isNewCenter){ | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     //正则匹配code message字段
 |     //正则匹配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); |         const patternArr =  pattern.exec(msgXml); | ||||||
|         return patternArr[1] |         return patternArr[1] | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     if(code === ''){ |     console.info('surenjun =>request-prev',keystr) | ||||||
|  | 
 | ||||||
|  |     if(code != '1'){ | ||||||
|         prompt.showToast({ |         prompt.showToast({ | ||||||
|             message: decodeURIComponent(message as string), |             message: decodeURIComponent(message as string), | ||||||
|             duration: 3000 |             duration: 3000 | ||||||
| @ -180,7 +183,8 @@ function handleCenterCode(msgXml,isNewCenter){ | |||||||
|         // globalThis.errorDialog.open()
 |         // globalThis.errorDialog.open()
 | ||||||
|         return {code,message:decodeURIComponent(message)} |         return {code,message:decodeURIComponent(message)} | ||||||
|     }else{ |     }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 du =  Math.floor(tempNum / 100); | ||||||
|   const fen = tempNum % 100 + num - tempNum; |   const fen = tempNum % 100 + num - tempNum; | ||||||
|   return du + fen / 60 |   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,14 @@ export default class EntryAbility extends UIAbility { | |||||||
|         globalThis.examinerInfo = {} |         globalThis.examinerInfo = {} | ||||||
|         globalThis.deviceNo = ''; |         globalThis.deviceNo = ''; | ||||||
|         globalThis.hasAuth = false |         globalThis.hasAuth = false | ||||||
|  |         globalThis.version = '2024.03.19.01'//洛阳
 | ||||||
|  |         globalThis.judgeVersion = '2024.01.05.1' | ||||||
|  |         // globalThis.judgeVersion = '2022.12.05.1'
 | ||||||
|  |         // globalThis.version = '2022.08.13.01'
 | ||||||
|         // globalThis.version = '2022.08.13.01'//洛阳
 |         // globalThis.version = '2022.08.13.01'//洛阳
 | ||||||
|         // globalThis.judgeVersion = '2022.12.05.1'
 |         // globalThis.judgeVersion = '2022.12.05.1'
 | ||||||
|         globalThis.judgeVersion = '2022.12.05.1' |         // globalThis.judgeVersion = '2022.12.05.1'
 | ||||||
|         globalThis.version = '2022.08.13.01' |         // globalThis.version = '2022.08.13.01'
 | ||||||
|         // globalThis.version = '2024.11.22.14'//济南
 |         // globalThis.version = '2024.11.22.14'//济南
 | ||||||
|         // globalThis.judgeVersion = '2024.11.22.14'
 |         // globalThis.judgeVersion = '2024.11.22.14'
 | ||||||
|         globalThis.videoVersion= '1.0' |         globalThis.videoVersion= '1.0' | ||||||
| @ -60,7 +64,7 @@ export default class EntryAbility extends UIAbility { | |||||||
|         const windowClass  = await windowStage.getMainWindow(); |         const windowClass  = await windowStage.getMainWindow(); | ||||||
|         globalThis.windowClass = windowClass |         globalThis.windowClass = windowClass | ||||||
|         // await windowClass.setWindowLayoutFullScreen(true)
 |         // await windowClass.setWindowLayoutFullScreen(true)
 | ||||||
|         await windowClass.setWindowSystemBarEnable([]) //全屏
 |         // await windowClass.setWindowSystemBarEnable([]) //全屏
 | ||||||
|         // await windowClass.setWindowSystemBarEnable(['navigation'])
 |         // await windowClass.setWindowSystemBarEnable(['navigation'])
 | ||||||
| 
 | 
 | ||||||
|         windowStage.loadContent('pages/Index', (err, data) => { |         windowStage.loadContent('pages/Index', (err, data) => { | ||||||
|  | |||||||
| @ -1,4 +1,3 @@ | |||||||
| // @ts-nocheck |  | ||||||
| import common from '@ohos.app.ability.common'; | import common from '@ohos.app.ability.common'; | ||||||
| import router from '@ohos.router'; | import router from '@ohos.router'; | ||||||
| import { getCarInfo, getDeviceInfo } from '../common/service/terminalService'; | import { getCarInfo, getDeviceInfo } from '../common/service/terminalService'; | ||||||
| @ -20,6 +19,7 @@ import errorMsgDialog from './compontents/errorMsgDialog' | |||||||
| import { getSyncData } from '../common/service/initable'; | import { getSyncData } from '../common/service/initable'; | ||||||
| import GetDistance from '../common/utils/GetDistance' | import GetDistance from '../common/utils/GetDistance' | ||||||
| import UIAbility from '@ohos.app.ability.UIAbility'; | import UIAbility from '@ohos.app.ability.UIAbility'; | ||||||
|  | import { endRecordVideo, getUserAlbumItemByDisplayName, saveStartRecordVideo } from '../common/service/videoService'; | ||||||
| 
 | 
 | ||||||
| // import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; | // import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; | ||||||
| 
 | 
 | ||||||
| @ -45,8 +45,6 @@ struct Index { | |||||||
|   private vocObj = null; |   private vocObj = null; | ||||||
|   private workerInstance = null; |   private workerInstance = null; | ||||||
|   private context = getContext(this) as common.UIAbilityContext; |   private context = getContext(this) as common.UIAbilityContext; | ||||||
|   private title = '' |  | ||||||
|   private type = '2' |  | ||||||
|   errorDialog: CustomDialogController = new CustomDialogController({ |   errorDialog: CustomDialogController = new CustomDialogController({ | ||||||
|     builder: errorMsgDialog({ |     builder: errorMsgDialog({ | ||||||
|       title: globalThis.title, |       title: globalThis.title, | ||||||
| @ -185,7 +183,7 @@ struct Index { | |||||||
|       Column() { |       Column() { | ||||||
|         Row() { |         Row() { | ||||||
|           Column() { |           Column() { | ||||||
|             Text('V ' + globalThis.version) |             Text('V 1.0') | ||||||
|               .fontColor('#CCAE7A') |               .fontColor('#CCAE7A') | ||||||
|               .fontSize(22 * globalThis.ratio) |               .fontSize(22 * globalThis.ratio) | ||||||
|               .width('30%') |               .width('30%') | ||||||
| @ -330,6 +328,7 @@ struct Index { | |||||||
|     workerInstance.postMessage(param); |     workerInstance.postMessage(param); | ||||||
|     workerInstance.onmessage = (e: MessageEvents): void => { |     workerInstance.onmessage = (e: MessageEvents): void => { | ||||||
|       console.log("baoyihu after postMessage :", JSON.stringify(e.data)); |       console.log("baoyihu after postMessage :", JSON.stringify(e.data)); | ||||||
|  |       // @ts-ignore | ||||||
|       let workData: WorkData = e.data; |       let workData: WorkData = e.data; | ||||||
|       if (workData.isComplete) { |       if (workData.isComplete) { | ||||||
|         router.pushUrl({ |         router.pushUrl({ | ||||||
| @ -378,6 +377,7 @@ struct Index { | |||||||
|     console.log('globalThis.singlePlay', globalThis.singlePlay) |     console.log('globalThis.singlePlay', globalThis.singlePlay) | ||||||
|     if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) { |     if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) { | ||||||
|       this.context.resourceManager.getRawFileContent("welcome.wav").then(value => { |       this.context.resourceManager.getRawFileContent("welcome.wav").then(value => { | ||||||
|  |         console.log('tttttttt') | ||||||
|         this.vocObj.playAudio({ |         this.vocObj.playAudio({ | ||||||
|           type: 1, |           type: 1, | ||||||
|           name: 'welcome.wav' |           name: 'welcome.wav' | ||||||
| @ -431,7 +431,6 @@ struct Index { | |||||||
| 
 | 
 | ||||||
|   async initParams() { |   async initParams() { | ||||||
|     console.log('kkkkmmm') |     console.log('kkkkmmm') | ||||||
|     delHilog() |  | ||||||
|     // deleteAllFIleLog(GlobalConfig.comoonfileWriteAddress + '/PLC/') |     // deleteAllFIleLog(GlobalConfig.comoonfileWriteAddress + '/PLC/') | ||||||
|     //设置plc udp 同步requesthost |     //设置plc udp 同步requesthost | ||||||
|     await getUDP(this.context, false) |     await getUDP(this.context, false) | ||||||
| @ -459,6 +458,8 @@ struct Index { | |||||||
|         this.heartMsg() |         this.heartMsg() | ||||||
|       } |       } | ||||||
|     }, 1000) |     }, 1000) | ||||||
|  |     delHilog() | ||||||
|  |     getUserAlbumItemByDisplayName('') | ||||||
|     //下载模型 |     //下载模型 | ||||||
|     // await this.getModel() |     // await this.getModel() | ||||||
|     // const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00] |     // const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00] | ||||||
|  | |||||||
| @ -9,6 +9,8 @@ import Judge from './judgeSDK/judge'; | |||||||
| import { defaultJudgeConfigObj } from './judgeSDK/utils//judgeCommon'; | import { defaultJudgeConfigObj } from './judgeSDK/utils//judgeCommon'; | ||||||
| import {uploadExamMileage} from '../api/judge' | import {uploadExamMileage} from '../api/judge' | ||||||
| import DwztErrorPopup from './compontents/judge/DwztErrorPopup' | import DwztErrorPopup from './compontents/judge/DwztErrorPopup' | ||||||
|  | import {debounce} from '../common/utils/tools' | ||||||
|  | 
 | ||||||
| import { | import { | ||||||
|   CARINFO, |   CARINFO, | ||||||
|   CDSBInfo, |   CDSBInfo, | ||||||
| @ -28,6 +30,7 @@ import { getSyncData } from '../common/service/initable'; | |||||||
| import { judgeConfig } from './judgeSDK/utils/judgeConfig'; | import { judgeConfig } from './judgeSDK/utils/judgeConfig'; | ||||||
| import FileUtil from '../common/utils/File'; | import FileUtil from '../common/utils/File'; | ||||||
| import SignDisplayCom from './compontents/signDisplayCom'; | import SignDisplayCom from './compontents/signDisplayCom'; | ||||||
|  | import promptAction from '@ohos.promptAction'; | ||||||
| 
 | 
 | ||||||
| @Entry | @Entry | ||||||
| @Component | @Component | ||||||
| @ -161,7 +164,8 @@ struct Index { | |||||||
|     const syssetParams = sysset || await getSyncData('MA_SYSSET') |     const syssetParams = sysset || await getSyncData('MA_SYSSET') | ||||||
|     //@ts-ignore |     //@ts-ignore | ||||||
|     const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901'); |     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 {isTrajectoryOpen} = judgeConfig | ||||||
|     const syssetJudgeConfigArr = [] |     const syssetJudgeConfigArr = [] | ||||||
| 
 | 
 | ||||||
| @ -294,12 +298,15 @@ struct Index { | |||||||
|         this.projectsObj[no2*1] = currentProject |         this.projectsObj[no2*1] = currentProject | ||||||
|         this.projectsCenterObj[txt2] = currentProject |         this.projectsCenterObj[txt2] = currentProject | ||||||
|         this.projects.push(currentProject); |         this.projects.push(currentProject); | ||||||
|         console.info('surenjun txt2=>',txt2) | 
 | ||||||
|         //真实监管下发考试项目 |         //真实监管下发考试项目 | ||||||
|         if(isInExam && !kStringArr.includes(txt2)){ |         if(isInExam && !kStringArr.includes(txt2)){ | ||||||
|           this.projectsObj[no2*1].type = '3' |           this.projectsObj[no2*1].type = '3' | ||||||
|           this.projectsObj[no2*1].isUpload = true |           this.projectsObj[no2*1].isUpload = true | ||||||
|           this.projectsObj[no2*1].isEnd = 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.isDdxk = true | ||||||
|           this.ddxkKsxmArr.push(txt2) |           this.ddxkKsxmArr.push(txt2) | ||||||
|         } |         } | ||||||
| @ -381,6 +388,8 @@ struct Index { | |||||||
|               const projectCode = this.projectsCenterObj[xmdm].projectCode |               const projectCode = this.projectsCenterObj[xmdm].projectCode | ||||||
|               if(this.projectsObj[projectCode]){ |               if(this.projectsObj[projectCode]){ | ||||||
|                 this.projectsObj[projectCode].type = '3' |                 this.projectsObj[projectCode].type = '3' | ||||||
|  |                 this.projectsObj[projectCode].isUpload = true | ||||||
|  |                 this.projectsObj[projectCode].isEnd = true | ||||||
|               } |               } | ||||||
|             }) |             }) | ||||||
|             this.ddxkKsxmArr = ddxkKsxmArr |             this.ddxkKsxmArr = ddxkKsxmArr | ||||||
| @ -845,10 +854,15 @@ struct Index { | |||||||
|             this.isDeductedPopShow = false; |             this.isDeductedPopShow = false; | ||||||
|             this.defaultTabIndex = 0; |             this.defaultTabIndex = 0; | ||||||
|           }, |           }, | ||||||
|           confirmMark: async (itemno, serial) => { |           confirmMark: async (itemno, serial)=>{ | ||||||
|             const judge = this.judge |             clearTimeout(this.popTimer) | ||||||
|             await judge.setJudgeMark(itemno, serial); |             this.popTimer = null | ||||||
|             this.isDeductedPopShow = false |             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) { |       if (this.isAmplifyPopShow && this.examSubject == 3) { | ||||||
|         AmplifyPopup({ |         AmplifyPopup({ | ||||||
|           amplifyImgIndex: this.amplifiedImgIndex, |           amplifyImgIndex: this.amplifiedImgIndex, | ||||||
|           confirmAmplify: async (amplify) => { |           confirmAmplify:async (amplify)=>{ | ||||||
|             const judge = this.judge |             clearTimeout(this.popTimer) | ||||||
|             await judge.setJudgeItem(amplify.projectCode, 1); |             this.popTimer = null | ||||||
|             this.isAmplifyPopShow = false |             this.popTimer =  setTimeout(async ()=>{ | ||||||
|  |               const judge = this.judge | ||||||
|  |               await judge.setJudgeItem(amplify.projectCode, 1); | ||||||
|  |               this.isAmplifyPopShow = false | ||||||
|  |               this.popTimer = null; | ||||||
|  |             },500) | ||||||
|           }, |           }, | ||||||
|           closeAmplifyPop: () => { |           closeAmplifyPop: () => { | ||||||
|             this.isAmplifyPopShow = false |             this.isAmplifyPopShow = false | ||||||
| @ -1262,4 +1281,5 @@ struct Index { | |||||||
|   @State mileageTimer: number = 0; |   @State mileageTimer: number = 0; | ||||||
|   @State passingScore: number = 80 |   @State passingScore: number = 80 | ||||||
|   @State dwztErrorVisible: boolean = false; |   @State dwztErrorVisible: boolean = false; | ||||||
|  |   @State popTimer:number =0; | ||||||
| } | } | ||||||
|  | |||||||
| @ -389,7 +389,7 @@ struct UserInfo { | |||||||
|     db.getRdbStore(() => { |     db.getRdbStore(() => { | ||||||
|       db.query('0', (syssetParams) => { |       db.query('0', (syssetParams) => { | ||||||
|         const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901') |         const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901') | ||||||
|         that.jkxlh = serialNumberArr?.[0]?.v_value || '1234567' |         that.jkxlh = serialNumberArr?.[0]?.v_value || '' | ||||||
|         const ksxtbhArr = syssetParams.filter(sys => sys.v_no === '902') |         const ksxtbhArr = syssetParams.filter(sys => sys.v_no === '902') | ||||||
|         that.ksxtbh = ksxtbhArr?.[0]?.v_value || '222' |         that.ksxtbh = ksxtbhArr?.[0]?.v_value || '222' | ||||||
|         const studentRefreshParam = syssetParams.filter(sys => sys.v_no === '452') //判断自动更新 |         const studentRefreshParam = syssetParams.filter(sys => sys.v_no === '452') //判断自动更新 | ||||||
| @ -650,6 +650,8 @@ struct UserInfo { | |||||||
|           message, |           message, | ||||||
|           duration: 4000 |           duration: 4000 | ||||||
|         }) |         }) | ||||||
|  |         avPlayer.playAudio(['voice/监管审核未通过.mp3']); | ||||||
|  |         this.isLoadingPopupVisible = false | ||||||
|         return |         return | ||||||
|       } |       } | ||||||
|       this.currentUser.id = '0' |       this.currentUser.id = '0' | ||||||
| @ -799,7 +801,7 @@ struct UserInfo { | |||||||
|       drvexam, |       drvexam, | ||||||
|       xtlb: '17', |       xtlb: '17', | ||||||
|       //接口序列号 |       //接口序列号 | ||||||
|       jkxlh: this.jkxlh || '1234567', |       jkxlh: this.jkxlh, | ||||||
|       //接口标识 |       //接口标识 | ||||||
|       jkid: '17C51', |       jkid: '17C51', | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -80,14 +80,16 @@ export default class Judge { | |||||||
| 
 | 
 | ||||||
|     this.isExam = !this.judgeUI.singlePlay; |     this.isExam = !this.judgeUI.singlePlay; | ||||||
|     const {projectsCenterObj,examSubject} = judgeUI; |     const {projectsCenterObj,examSubject} = judgeUI; | ||||||
|     //科目三待修改
 | 
 | ||||||
|     (examSubject ==2 ? testKm2Items : testKm3Items ).forEach(item => { |     (examSubject ==2 ? testKm2Items : testKm3Items ).forEach(item => { | ||||||
|  |       const projectCenterObj = projectsCenterObj[item.code] | ||||||
|       this.testKmItems[item.code] = item; |       this.testKmItems[item.code] = item; | ||||||
|       //考试项目存在
 |       //考试项目存在
 | ||||||
|       this.testKmItems[item.code] = { |       this.testKmItems[item.code] = { | ||||||
|         code: item.code, |         code: item.code, | ||||||
|         status: 1, |         status: projectCenterObj === undefined | ||||||
|         // status: projectsCenterObj[item.code]?.isRequired ? 1 : 0
 |               ? 0 | ||||||
|  |               : ( projectCenterObj.isEnd ? 3 : 1 ) | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|     console.info(judgeTag+'testKmItems',JSON.stringify(this.testKmItems)) |     console.info(judgeTag+'testKmItems',JSON.stringify(this.testKmItems)) | ||||||
| @ -156,13 +158,25 @@ export default class Judge { | |||||||
|     let beginExamInfo = isTrajectoryOpen ? { |     let beginExamInfo = isTrajectoryOpen ? { | ||||||
|       ...JSON.parse(strArr[1]), |       ...JSON.parse(strArr[1]), | ||||||
|       replay: 1, |       replay: 1, | ||||||
|       ykxm:judgeConfig.ignoreProjects |  | ||||||
|     } : await getJudgeBeginData() |     } : await getJudgeBeginData() | ||||||
| 
 | 
 | ||||||
|     await fileLog.setExamJudgeData(beginExamInfo) |     await fileLog.setExamJudgeData(beginExamInfo) | ||||||
|     await examJudgeBeginExam(beginExamInfo); |     await examJudgeBeginExam(beginExamInfo); | ||||||
|     console.info(judgeTag, '6.开始考试注册完成') |     console.info(judgeTag, '6.开始考试注册完成') | ||||||
|     avPlayer.playAudio([globalThis.singlePlay ? 'voice/ksks.WAV' : 'voice/监管成功.mp3']) |     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 |     this.judgeUI.draw = true | ||||||
|     // 处理轨迹plc信息
 |     // 处理轨迹plc信息
 | ||||||
|     if (isTrajectoryOpen) { |     if (isTrajectoryOpen) { | ||||||
| @ -179,24 +193,15 @@ export default class Judge { | |||||||
|         handDistance(); |         handDistance(); | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
| 
 |  | ||||||
|     //TODO 监听远程扣分
 |     //TODO 监听远程扣分
 | ||||||
|   } |   } | ||||||
| 
 |   //实时计算gps经纬度距离
 | ||||||
| 
 |  | ||||||
|   handDistance= async ()=>{ |   handDistance= async ()=>{ | ||||||
|     const {jd,wd,hxj,dwzt} = this.tempData.gps; |     const {jd,wd,hxj,dwzt} = this.tempData.gps; | ||||||
|     const tJD = convertGpsCoord2(jd) |     const tJD = convertGpsCoord2(jd) | ||||||
|     const tWD = convertGpsCoord2(wd) |     const tWD = convertGpsCoord2(wd) | ||||||
|     const {prevJd,prevWd} = this |     const {prevJd,prevWd} = this | ||||||
|     console.info('surenjun =>prevJd',prevJd) |  | ||||||
|     console.info('surenjun =>dwzt',dwzt) |  | ||||||
|     if(prevJd && dwzt == 4){ |     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({ |       const distance = await examCalcGpsDistance({ | ||||||
|         jd1:prevJd, |         jd1:prevJd, | ||||||
|         wd1:prevWd, |         wd1:prevWd, | ||||||
| @ -204,9 +209,8 @@ export default class Judge { | |||||||
|         wd2:tWD, |         wd2:tWD, | ||||||
|         h:hxj || 1, |         h:hxj || 1, | ||||||
|       }) |       }) | ||||||
|       console.info('surenjun =>distance',distance) |  | ||||||
|       //@ts-ignore
 |       //@ts-ignore
 | ||||||
|       globalThis.distanceClass.setTimeData(((distance / 100).toFixed(2)) * 1) |       globalThis.distanceClass?.setTimeData(((distance / 100).toFixed(2)) * 1) | ||||||
|     } |     } | ||||||
|     this.prevJd = tJD; |     this.prevJd = tJD; | ||||||
|     this.prevWd = tWD; |     this.prevWd = tWD; | ||||||
| @ -638,7 +642,6 @@ export default class Judge { | |||||||
|         kssj: time |         kssj: time | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     console.info(judgeTag +'filePath' , filePath) |  | ||||||
|     const {code} = await writeObjectOut(data,filePath) |     const {code} = await writeObjectOut(data,filePath) | ||||||
|     console.info(judgeTag, '项目开始 end') |     console.info(judgeTag, '项目开始 end') | ||||||
|     if (code === 2300007) { |     if (code === 2300007) { | ||||||
| @ -802,18 +805,9 @@ export default class Judge { | |||||||
|     //及格分
 |     //及格分
 | ||||||
|     let passingGrade = passingScore |     let passingGrade = passingScore | ||||||
|     if (isManual) { |     if (isManual) { | ||||||
|       if (isAllProjectsEnd) { |       // 考试不合格
 | ||||||
|         // 考试合格
 |       await examJudgeEndExam() | ||||||
|         if (totalScore >= passingGrade) { |       this.isExamEnd = true | ||||||
|           // 考试合格
 |  | ||||||
|           await examJudgeEndExam(); |  | ||||||
|           this.isExamEnd = true |  | ||||||
|         } |  | ||||||
|       } else { |  | ||||||
|         // 考试不合格
 |  | ||||||
|         await examJudgeEndExam() |  | ||||||
|         this.isExamEnd = true |  | ||||||
|       } |  | ||||||
|       this.isManual = true |       this.isManual = true | ||||||
|     } else { |     } else { | ||||||
|       const param302 = judgeConfigObj['302']; |       const param302 = judgeConfigObj['302']; | ||||||
| @ -824,17 +818,30 @@ export default class Judge { | |||||||
|       if (singlePlay) { |       if (singlePlay) { | ||||||
|         console.info(judgeTag + ' isAllProjectsEnd => ',isAllProjectsEnd) |         console.info(judgeTag + ' isAllProjectsEnd => ',isAllProjectsEnd) | ||||||
|         if (isAllProjectsEnd) { |         if (isAllProjectsEnd) { | ||||||
|           if (examSubject == 3 && (param342 == 0 || param342 == 2) && (param302 != 6 || param302 != 7 || param302 != 8)) { |            //成绩合格
 | ||||||
|             if(param512[7] != 0){ |            if(totalScore >= passingGrade && !isEndTip) { | ||||||
|               avPlayer.playAudio(['voice/综合评判.mp3']) |              if (examSubject == 3 && (param342 == 0 || param342 == 2) && (param302 != 6 || param302 != 7 || param302 != 8)) { | ||||||
|               this.judgeUI.isDeductedPopShow = true |                if(param512[7] != 0){ | ||||||
|               this.judgeUI.defaultTabIndex = 1 |                  avPlayer.playAudio(['voice/综合评判.mp3']) | ||||||
|               this.isEndTip = true |                  this.judgeUI.isDeductedPopShow = true | ||||||
|             } |                  this.judgeUI.defaultTabIndex = 1 | ||||||
|           } else { |                  this.isEndTip = true | ||||||
|             await examJudgeEndExam() |                  return | ||||||
|             this.isExamEnd = true |                } | ||||||
|           } |              } 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 { |       } else { | ||||||
|         //成绩不合格
 |         //成绩不合格
 | ||||||
| @ -850,6 +857,11 @@ export default class Judge { | |||||||
|         } |         } | ||||||
|         //成绩合格
 |         //成绩合格
 | ||||||
|         if (isAllProjectsEnd && totalScore >= passingGrade && !isEndTip) { |         if (isAllProjectsEnd && totalScore >= passingGrade && !isEndTip) { | ||||||
|  |           if(examSubject == 2){ | ||||||
|  |             await examJudgeEndExam() | ||||||
|  |             this.isExamEnd = true | ||||||
|  |             return | ||||||
|  |           } | ||||||
|           //考试合格自动退出
 |           //考试合格自动退出
 | ||||||
|           if(examSubject == 3 && param302 == 4){ |           if(examSubject == 3 && param302 == 4){ | ||||||
|             await examJudgeEndExam() |             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(';'), |         dwlc: [d1,d2,d3,d4,d5].map((d,index) => `${index+1},${Math.floor(d /100)}`).join(';'), | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     const temp = await writeObjectOut(data,filePath); |     const {code,keystr,message} = await writeObjectOut(data,filePath); | ||||||
|     promptWxCode('17C56', temp.code) |     promptWxCode('17C56', code) | ||||||
|  | 
 | ||||||
|  |     if(code != 1){ | ||||||
|  |       avPlayer.playAudio(['voice/监管失败.mp3']) | ||||||
|  |       this.isUdpEnd = true | ||||||
|  |       router.back(); | ||||||
|  |       return | ||||||
|  |     } | ||||||
|     console.info(judgeTag, '考试结束 end') |     console.info(judgeTag, '考试结束 end') | ||||||
|     const param302 = judgeConfigObj['302']; |     const param302 = judgeConfigObj['302']; | ||||||
|     judgeUI.loadingPopupVisible = true; |     judgeUI.loadingPopupVisible = true; | ||||||
| @ -964,8 +983,13 @@ export default class Judge { | |||||||
|     let currentKssycs =0; |     let currentKssycs =0; | ||||||
|     let voiceURL = '' |     let voiceURL = '' | ||||||
|     if (examSubject == 2) { |     if (examSubject == 2) { | ||||||
|       voiceURL = (totalScore < passingScore ? `voice/unqualified_${kssycs == 1 ? 'one' : 'two'}.wav` : 'voice/qualified.mp3') |        if (isAllProjectsEnd) { | ||||||
|       switch (voiceURL){ |          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': |         case 'voice/unqualified_one.wav': | ||||||
|           currentKssycs = 0; |           currentKssycs = 0; | ||||||
|           break; |           break; | ||||||
| @ -1063,6 +1087,7 @@ export default class Judge { | |||||||
|     const projectsObj = this.judgeUI.projectsObj |     const projectsObj = this.judgeUI.projectsObj | ||||||
|     return projectsObj[type]?.abbreviation || '通用评判' |     return projectsObj[type]?.abbreviation || '通用评判' | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|   // 扣分项目转换
 |   // 扣分项目转换
 | ||||||
|   getKfStr = (code) => { |   getKfStr = (code) => { | ||||||
|     const markRuleListObj = this.judgeUI.markRuleListObj; |     const markRuleListObj = this.judgeUI.markRuleListObj; | ||||||
| @ -1107,7 +1132,7 @@ export default class Judge { | |||||||
|     const sbxh = getSbxh(xmdm, xmxh) |     const sbxh = getSbxh(xmdm, xmxh) | ||||||
|     const {carzt,dcjl,qjjl,dxjl,bxjl} = performInfo || {}; |     const {carzt,dcjl,qjjl,dxjl,bxjl} = performInfo || {}; | ||||||
|     const asclshArr = stringToASC( |     const asclshArr = stringToASC( | ||||||
|       fillZero((singlePlay ? 1111111111111 : lsh) || 0, 13) |       fillZero((singlePlay ? (examSubject == 2 ? '0000000000000':'1111111111111') : lsh) || 0, 13) | ||||||
|     ); |     ); | ||||||
|     //13不足要补0
 |     //13不足要补0
 | ||||||
|     const ascksyhArr = stringToASC(fillZero(ksyh || 0, 13)) |     const ascksyhArr = stringToASC(fillZero(ksyh || 0, 13)) | ||||||
| @ -1124,7 +1149,6 @@ export default class Judge { | |||||||
| 
 | 
 | ||||||
|     //@ts-ignore
 |     //@ts-ignore
 | ||||||
|     let tempSd = ((judgeConfigObj['350'] ==0 ? sd : cs) * 1.852).toFixed(0) * 1 |     let tempSd = ((judgeConfigObj['350'] ==0 ? sd : cs) * 1.852).toFixed(0) * 1 | ||||||
|     console.info(judgeTag + "prevSD",tempSd); |  | ||||||
|     if(tempSd < 1){ |     if(tempSd < 1){ | ||||||
|       tempSd = 0 |       tempSd = 0 | ||||||
|     } |     } | ||||||
| @ -1228,7 +1252,6 @@ export default class Judge { | |||||||
|         status: getCenterProjectStatus(current.status) |         status: getCenterProjectStatus(current.status) | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|     // console.info(judgeTag+'TranslateProject',JSON.stringify(tempItems));
 |  | ||||||
| 
 | 
 | ||||||
|     const arr = []; |     const arr = []; | ||||||
|     for (let i = 0; i <= 4; i++) { |     for (let i = 0; i <= 4; i++) { | ||||||
| @ -1276,6 +1299,7 @@ export default class Judge { | |||||||
|   } |   } | ||||||
|   //人工操作项目
 |   //人工操作项目
 | ||||||
|   public setJudgeItem = async (itemno, type: 1 | 2) => { |   public setJudgeItem = async (itemno, type: 1 | 2) => { | ||||||
|  |     console.info('surenjun','2') | ||||||
|     const {fileLog} = this; |     const {fileLog} = this; | ||||||
|     await examJudgeArtificialItem(itemno * 1, type); |     await examJudgeArtificialItem(itemno * 1, type); | ||||||
|     await fileLog.setExamJudgeData({ |     await fileLog.setExamJudgeData({ | ||||||
| @ -1392,7 +1416,10 @@ export default class Judge { | |||||||
|     if (udpIndex % 5 === 0 && !isUdpEnd) { |     if (udpIndex % 5 === 0 && !isUdpEnd) { | ||||||
|       const judgeUdp = globalThis.judgeUdp |       const judgeUdp = globalThis.judgeUdp | ||||||
|       const bytes = await this.getMessageHeartbeat(isExamEnd); |       const bytes = await this.getMessageHeartbeat(isExamEnd); | ||||||
|  |       console.info(judgeTag,JSON.stringify(bytes)) | ||||||
|  |       console.info(judgeTag,'udp-prev-send') | ||||||
|       judgeUdp.send(bytes) |       judgeUdp.send(bytes) | ||||||
|  |       console.info(judgeTag,'udp-prev-end') | ||||||
|     } |     } | ||||||
|     globalThis.udpIndex += 1 |     globalThis.udpIndex += 1 | ||||||
|   } |   } | ||||||
| @ -1444,12 +1471,13 @@ export default class Judge { | |||||||
|       const msgStr = strArr[num]; |       const msgStr = strArr[num]; | ||||||
|       if(msgStr == ''){ |       if(msgStr == ''){ | ||||||
|         console.info(judgeTag, '模拟数据考试结束') |         console.info(judgeTag, '模拟数据考试结束') | ||||||
|         // globalThis.windowClass.setWindowSystemBarEnable(['navigation'])
 |         globalThis.windowClass.setWindowSystemBarEnable(['navigation']) | ||||||
|         clearInterval(judgeTimer) |         clearInterval(judgeTimer) | ||||||
|         this.checkExamIsEnd(true) |         this.checkExamIsEnd(true) | ||||||
|         return |         return | ||||||
|       } |       } | ||||||
|       const msg = JSON.parse(strArr[num]); |       const msg = JSON.parse(strArr[num]); | ||||||
|  |       num++ | ||||||
|       // 4.过程数据
 |       // 4.过程数据
 | ||||||
|       this.tempData = msg |       this.tempData = msg | ||||||
|       this.judgeUI.isDwztRight = msg?.gps?.dwzt == 4; |       this.judgeUI.isDwztRight = msg?.gps?.dwzt == 4; | ||||||
| @ -1467,8 +1495,8 @@ export default class Judge { | |||||||
|       await examJudgeRealExam(msg) |       await examJudgeRealExam(msg) | ||||||
|       const bytes = await this.getMessageHeartbeat(); |       const bytes = await this.getMessageHeartbeat(); | ||||||
|       bytes && globalThis.judgeUdp.send(bytes) |       bytes && globalThis.judgeUdp.send(bytes) | ||||||
|       num++ | 
 | ||||||
|     }, 200) |     }, 50) | ||||||
| 
 | 
 | ||||||
|     globalThis.judgeTimer = judgeTimer; |     globalThis.judgeTimer = judgeTimer; | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ export const judgeConfig = { | |||||||
|   // 本地模型地址
 |   // 本地模型地址
 | ||||||
|   modelPath: 'models/model_enc', |   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:{ |   fourInOneScreen:{ | ||||||
|     //gps位数
 |     //gps位数
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user