feat:评判优化
This commit is contained in:
		
							parent
							
								
									1e2b71e499
								
							
						
					
					
						commit
						8d489592d8
					
				
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -97,8 +97,8 @@ export interface MAPITEMPOINTITEM { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export interface EXAMDATA { | export interface EXAMDATA { | ||||||
|   //1:项目开始 2:项目结束 3:扣分 4:考车状态 5:考试结束 6:项目取消 7:语音播放和提示 8:模拟灯光事件 9:车道信息事件 10:预进项目事件 11:差分事件
 |   //1:项目开始 2:项目结束 3:扣分 4:考车状态 5:考试结束 6:项目取消 7:语音播放和提示 8:模拟灯光事件 9:车道信息事件 10:预进项目事件
 | ||||||
|   event: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |   event: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||
|   //时间
 |   //时间
 | ||||||
|   sj: number |   sj: number | ||||||
|   //考车状态 -1:后退 0:停车 1:前进
 |   //考车状态 -1:后退 0:停车 1:前进
 | ||||||
| @ -164,9 +164,6 @@ export interface EXAMDATA { | |||||||
|     xmdm:number, |     xmdm:number, | ||||||
|     xmxh:string |     xmxh:string | ||||||
|   } |   } | ||||||
|   nongps:{ |  | ||||||
|     type:0|1|2|3|4 |  | ||||||
|   } |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export interface KSJS { | export interface KSJS { | ||||||
|  | |||||||
| @ -72,6 +72,7 @@ export default class Judge { | |||||||
|     this.kfArr = judgeUI.kfArr |     this.kfArr = judgeUI.kfArr | ||||||
|     this.xmmcStr = ''; |     this.xmmcStr = ''; | ||||||
|     this.xmmcCode = ''; |     this.xmmcCode = ''; | ||||||
|  |     this.xmmcEndCode = undefined; | ||||||
|     this.carztStr = ''; |     this.carztStr = ''; | ||||||
|     this.testKmItems = {}; |     this.testKmItems = {}; | ||||||
|     // 考试回放配置
 |     // 考试回放配置
 | ||||||
| @ -122,7 +123,7 @@ export default class Judge { | |||||||
|       strArr = str.split('\n') |       strArr = str.split('\n') | ||||||
|     } |     } | ||||||
|     //日志回调
 |     //日志回调
 | ||||||
|     console.info(judgeTag, '1.进入评判入口1') |     console.info(judgeTag, '1.进入评判入口') | ||||||
|     await examJudgeSetLogCallback(3, async (level, info, len) => { |     await examJudgeSetLogCallback(3, async (level, info, len) => { | ||||||
|       console.log('评判日志:' + info) |       console.log('评判日志:' + info) | ||||||
|       await fileLog.setExamJudgeLogData(info); |       await fileLog.setExamJudgeLogData(info); | ||||||
| @ -358,7 +359,7 @@ export default class Judge { | |||||||
|   handleRealExam = async (strData, callBack) => { |   handleRealExam = async (strData, callBack) => { | ||||||
|     let examData: EXAMDATA = JSON.parse(strData); |     let examData: EXAMDATA = JSON.parse(strData); | ||||||
|     const {getDqxmStr,getKfStr,goJudgeVoice,setMndg,avPlayer,fileLog,judgeUI} = this; |     const {getDqxmStr,getKfStr,goJudgeVoice,setMndg,avPlayer,fileLog,judgeUI} = this; | ||||||
|     const {carzt,xmks,kf,event,xmjs,xmqx,ksjs,sound,mndg,lane,precast,nongps} = examData |     const {carzt,xmks,kf,event,xmjs,xmqx,ksjs,sound,mndg,lane,precast} = examData | ||||||
|     const  param512 = (judgeUI.judgeConfigObj['512'] || '').split(','); |     const  param512 = (judgeUI.judgeConfigObj['512'] || '').split(','); | ||||||
|     //获取项目结束、项目开始代码
 |     //获取项目结束、项目开始代码
 | ||||||
|     const xmdm = event == 2 ? xmjs.xmdm : xmks.xmdm |     const xmdm = event == 2 ? xmjs.xmdm : xmks.xmdm | ||||||
| @ -385,6 +386,7 @@ export default class Judge { | |||||||
|         this.xmmcStr = xmmcStr; |         this.xmmcStr = xmmcStr; | ||||||
|         this.xmmcCode = xmmcCode; |         this.xmmcCode = xmmcCode; | ||||||
|         this.xmmcSingleCode = xmmcSingleCode |         this.xmmcSingleCode = xmmcSingleCode | ||||||
|  |         this.xmmcEndCode = xmmcCode | ||||||
|         this.xmdm = xmdm; |         this.xmdm = xmdm; | ||||||
|         this.xmxh = xmxh; |         this.xmxh = xmxh; | ||||||
|         this.judgeUI.isProjectIn = true |         this.judgeUI.isProjectIn = true | ||||||
| @ -482,7 +484,7 @@ export default class Judge { | |||||||
|       case 10:{ |       case 10:{ | ||||||
|         const param611 = judgeConfigObj['611'] || ''; |         const param611 = judgeConfigObj['611'] || ''; | ||||||
|         const [f,s] = param611.split('/') |         const [f,s] = param611.split('/') | ||||||
|         const {xmdm} = precast; |         const {xmdm,xmxh} = precast; | ||||||
|         const xmmcCode = judgeUI.projectsObj[xmdm].projectCodeCenter; |         const xmmcCode = judgeUI.projectsObj[xmdm].projectCodeCenter; | ||||||
|         const xmmcSingleCode = judgeUI.projectsObj[xmdm].projectCode; |         const xmmcSingleCode = judgeUI.projectsObj[xmdm].projectCode; | ||||||
|         // if(examSubject == 2 && ((xmdm == 0 && f == 1) || (xmdm == 1 && s == 1) || xmdm == 3)){
 |         // if(examSubject == 2 && ((xmdm == 0 && f == 1) || (xmdm == 1 && s == 1) || xmdm == 3)){
 | ||||||
| @ -492,16 +494,13 @@ export default class Judge { | |||||||
|         this.testKmItems[xmmcCode].status = 2; |         this.testKmItems[xmmcCode].status = 2; | ||||||
|         this.xmmcStr = xmmcStr; |         this.xmmcStr = xmmcStr; | ||||||
|         this.xmmcCode = xmmcCode; |         this.xmmcCode = xmmcCode; | ||||||
|  |         this.xmdm = xmdm; | ||||||
|  |         this.xmxh = xmxh; | ||||||
|         this.xmmcSingleCode = xmmcSingleCode; |         this.xmmcSingleCode = xmmcSingleCode; | ||||||
|         judgeUI.projectsObj[xmdm].type = '2'; |         judgeUI.projectsObj[xmdm].type = '2'; | ||||||
|       } |       } | ||||||
|         break; |         break; | ||||||
| 
 | 
 | ||||||
|     //差分事件
 |  | ||||||
|       case 11:{ |  | ||||||
|         const {type}= nongps |  | ||||||
|         this.checkDwzt(type) |  | ||||||
|       } |  | ||||||
|       default: |       default: | ||||||
|         break; |         break; | ||||||
| 
 | 
 | ||||||
| @ -594,6 +593,7 @@ export default class Judge { | |||||||
|               console.info(judgeTag, `项目结束-${xmdm}-${projectsObj[xmdm].name}`) |               console.info(judgeTag, `项目结束-${xmdm}-${projectsObj[xmdm].name}`) | ||||||
|               await endProject(xmdm); |               await endProject(xmdm); | ||||||
|               this.xmmcSingleCode = 0; |               this.xmmcSingleCode = 0; | ||||||
|  |               this.xmmcEndCode = undefined; | ||||||
|             }, {isDelay: true}) |             }, {isDelay: true}) | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
| @ -760,7 +760,7 @@ export default class Judge { | |||||||
|     const carInfo = globalThis.carInfo; |     const carInfo = globalThis.carInfo; | ||||||
|     const deviceNo = globalThis.deviceNo; |     const deviceNo = globalThis.deviceNo; | ||||||
|     const { examSubject,plateNo,carNo } = carInfo; |     const { examSubject,plateNo,carNo } = carInfo; | ||||||
|     const {judgeUI,getProjectInfo,fileLog,xmmcSingleCode,filePath} = this; |     const {judgeUI,getProjectInfo,fileLog,xmmcEndCode,filePath} = this; | ||||||
|     const {lsh,idCard,serialNumber,ksdd,projectsObj} = judgeUI |     const {lsh,idCard,serialNumber,ksdd,projectsObj} = judgeUI | ||||||
|     const time = await getCurrentTime(); |     const time = await getCurrentTime(); | ||||||
|     const project = getProjectInfo(ksxm); |     const project = getProjectInfo(ksxm); | ||||||
| @ -776,6 +776,11 @@ export default class Judge { | |||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
|  |     console.info('surenjun','开始扣分') | ||||||
|  |     console.info('surenjun ksxm=>',ksxm) | ||||||
|  |     console.info('surenjun commonKsxm=>',commonKsxm) | ||||||
|  |     console.info('surenjun project=>',JSON.stringify(project)) | ||||||
|  | 
 | ||||||
|     const data = { |     const data = { | ||||||
|       xtlb: '17', jkxlh: serialNumber, jkid: '17C53', |       xtlb: '17', jkxlh: serialNumber, jkid: '17C53', | ||||||
|       drvexam: { |       drvexam: { | ||||||
| @ -784,7 +789,7 @@ export default class Judge { | |||||||
|         ksxm: project == undefined |         ksxm: project == undefined | ||||||
|           ? (commonKsxm |           ? (commonKsxm | ||||||
|             ? (projectsObj[commonKsxm].projectCodeCenter) |             ? (projectsObj[commonKsxm].projectCodeCenter) | ||||||
|             : (examSubject == 3 ? 30000 : 10000)) |             : (examSubject == 3 ? 30000 : (xmmcEndCode == undefined?10000:xmmcEndCode))) | ||||||
|           : project.projectCodeCenter , |           : project.projectCodeCenter , | ||||||
|         kfxm: kf.markcatalog, |         kfxm: kf.markcatalog, | ||||||
|         kfxmmx: `${ksxm},${kf.markserial}`, |         kfxmmx: `${ksxm},${kf.markserial}`, | ||||||
| @ -1482,13 +1487,13 @@ export default class Judge { | |||||||
|       const str = await senorToWXDataStr(msg); |       const str = await senorToWXDataStr(msg); | ||||||
|       usbService.sendUSB(str) |       usbService.sendUSB(str) | ||||||
|     } |     } | ||||||
|     // this.judgeUI.isDwztRight = (plcData.gps.dwzt == 4 && plcData.gps.jdzt == 3);
 |     this.judgeUI.isDwztRight = (plcData.gps.dwzt == 4 && plcData.gps.jdzt == 3); | ||||||
|     const param350 = judgeUI.judgeConfigObj['350'] |     const param350 = judgeUI.judgeConfigObj['350'] | ||||||
|     //@ts-ignore
 |     //@ts-ignore
 | ||||||
|     this.judgeUI.sd = ((param350 == 0? plcData.gps.sd :plcData.sensor.cs) as number * 1.852).toFixed(0)   + '' |     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) + '' |     this.judgeUI.dw = (Math.floor(plcData.sensor.dw as number) || 0) + '' | ||||||
|     //TODO 暂时关闭差分检测异常
 |     //TODO 暂时关闭差分检测异常
 | ||||||
|     // await this.checkDwzt(plcData.gps.dwzt,plcData.gps.jdzt);
 |     await this.checkDwzt(plcData.gps.dwzt,plcData.gps.jdzt); | ||||||
|     if(!isExamEnd){ |     if(!isExamEnd){ | ||||||
|       await examJudgeRealExam(plcData) |       await examJudgeRealExam(plcData) | ||||||
|     } |     } | ||||||
| @ -1574,7 +1579,7 @@ export default class Judge { | |||||||
|       const bytes = await this.getMessageHeartbeat(); |       const bytes = await this.getMessageHeartbeat(); | ||||||
|       bytes && globalThis.judgeUdp.send(bytes) |       bytes && globalThis.judgeUdp.send(bytes) | ||||||
| 
 | 
 | ||||||
|     }, 20) |     }, 50) | ||||||
| 
 | 
 | ||||||
|     globalThis.judgeTimer = judgeTimer; |     globalThis.judgeTimer = judgeTimer; | ||||||
|   } |   } | ||||||
| @ -1615,35 +1620,25 @@ export default class Judge { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // 检测差分状态
 |   // 检测差分状态
 | ||||||
|   checkDwzt = async (type) => { |   checkDwzt = async (dwzt,jdzt) => { | ||||||
|     const {avPlayer} = this; |     const {avPlayer} = this; | ||||||
|     const judgeConfig = this.judgeUI.judgeConfig; |     const judgeConfig = this.judgeUI.judgeConfig; | ||||||
|     switch (type){ |     const param499 = judgeConfig['499'] || ''; | ||||||
|       case 0: |     if(param499 == '' || param499 == undefined){ | ||||||
|         this.judgeUI.isDwztRight = true; |       return | ||||||
|         break; |     } | ||||||
|  |     //10秒内dwzt不为4;
 | ||||||
|  |     const dwztNum = this.dwztNum | ||||||
|  |     if(dwztNum != 0 && (dwztNum % (5 * 10) == 0)  && (param499 !== '' || param499 !== undefined)){ | ||||||
|  |       this.judgeUI.dwztErrorVisible = true; | ||||||
|  |       avPlayer.playAudio([`voice/差分状态异常.mp3`],true) | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|       case 1: |     if(dwzt != 4 || jdzt != 3){ | ||||||
|         this.judgeUI.dwztErrorVisible = true; |       this.dwztNum += 1 | ||||||
|         avPlayer.playAudio([`voice/差分状态异常.mp3`],true) |     }else{ | ||||||
|         setTimeout(()=>{ |       this.dwztNum = 0; | ||||||
|           router.back() |       this.judgeUI.dwztErrorVisible = false; | ||||||
|         },3000) |  | ||||||
|         break; |  | ||||||
| 
 |  | ||||||
|       case 2: |  | ||||||
|         avPlayer.playAudio([`voice/差分状态异常.mp3`],true); |  | ||||||
| 
 |  | ||||||
|         break; |  | ||||||
|       case 3: |  | ||||||
|         this.judgeUI.dwztErrorVisible = true; |  | ||||||
|         avPlayer.playAudio([`voice/差分状态异常.mp3`],true); |  | ||||||
|         break; |  | ||||||
| 
 |  | ||||||
|       case 4: |  | ||||||
|         this.judgeUI.isDwztRight = false; |  | ||||||
|       //差分异常上报
 |  | ||||||
|         break; |  | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -1664,6 +1659,7 @@ export default class Judge { | |||||||
|   private xmmcStr: string |   private xmmcStr: string | ||||||
|   private xmmcCode: string |   private xmmcCode: string | ||||||
|   private xmmcSingleCode: number |   private xmmcSingleCode: number | ||||||
|  |   private xmmcEndCode?:number | ||||||
|   private xmdm: string | number |   private xmdm: string | number | ||||||
|   private xmxh: string |   private xmxh: string | ||||||
|   private fileModel: FileModel |   private fileModel: FileModel | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user