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 {
|
||||
//1:项目开始 2:项目结束 3:扣分 4:考车状态 5:考试结束 6:项目取消 7:语音播放和提示 8:模拟灯光事件 9:车道信息事件 10:预进项目事件 11:差分事件
|
||||
event: 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
|
||||
//时间
|
||||
sj: number
|
||||
//考车状态 -1:后退 0:停车 1:前进
|
||||
@ -164,9 +164,6 @@ export interface EXAMDATA {
|
||||
xmdm:number,
|
||||
xmxh:string
|
||||
}
|
||||
nongps:{
|
||||
type:0|1|2|3|4
|
||||
}
|
||||
}
|
||||
|
||||
export interface KSJS {
|
||||
|
||||
@ -72,6 +72,7 @@ export default class Judge {
|
||||
this.kfArr = judgeUI.kfArr
|
||||
this.xmmcStr = '';
|
||||
this.xmmcCode = '';
|
||||
this.xmmcEndCode = undefined;
|
||||
this.carztStr = '';
|
||||
this.testKmItems = {};
|
||||
// 考试回放配置
|
||||
@ -122,7 +123,7 @@ export default class Judge {
|
||||
strArr = str.split('\n')
|
||||
}
|
||||
//日志回调
|
||||
console.info(judgeTag, '1.进入评判入口1')
|
||||
console.info(judgeTag, '1.进入评判入口')
|
||||
await examJudgeSetLogCallback(3, async (level, info, len) => {
|
||||
console.log('评判日志:' + info)
|
||||
await fileLog.setExamJudgeLogData(info);
|
||||
@ -358,7 +359,7 @@ export default class Judge {
|
||||
handleRealExam = async (strData, callBack) => {
|
||||
let examData: EXAMDATA = JSON.parse(strData);
|
||||
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 xmdm = event == 2 ? xmjs.xmdm : xmks.xmdm
|
||||
@ -385,6 +386,7 @@ export default class Judge {
|
||||
this.xmmcStr = xmmcStr;
|
||||
this.xmmcCode = xmmcCode;
|
||||
this.xmmcSingleCode = xmmcSingleCode
|
||||
this.xmmcEndCode = xmmcCode
|
||||
this.xmdm = xmdm;
|
||||
this.xmxh = xmxh;
|
||||
this.judgeUI.isProjectIn = true
|
||||
@ -482,7 +484,7 @@ export default class Judge {
|
||||
case 10:{
|
||||
const param611 = judgeConfigObj['611'] || '';
|
||||
const [f,s] = param611.split('/')
|
||||
const {xmdm} = precast;
|
||||
const {xmdm,xmxh} = precast;
|
||||
const xmmcCode = judgeUI.projectsObj[xmdm].projectCodeCenter;
|
||||
const xmmcSingleCode = judgeUI.projectsObj[xmdm].projectCode;
|
||||
// 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.xmmcStr = xmmcStr;
|
||||
this.xmmcCode = xmmcCode;
|
||||
this.xmdm = xmdm;
|
||||
this.xmxh = xmxh;
|
||||
this.xmmcSingleCode = xmmcSingleCode;
|
||||
judgeUI.projectsObj[xmdm].type = '2';
|
||||
}
|
||||
break;
|
||||
|
||||
//差分事件
|
||||
case 11:{
|
||||
const {type}= nongps
|
||||
this.checkDwzt(type)
|
||||
}
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -594,6 +593,7 @@ export default class Judge {
|
||||
console.info(judgeTag, `项目结束-${xmdm}-${projectsObj[xmdm].name}`)
|
||||
await endProject(xmdm);
|
||||
this.xmmcSingleCode = 0;
|
||||
this.xmmcEndCode = undefined;
|
||||
}, {isDelay: true})
|
||||
}
|
||||
}
|
||||
@ -760,7 +760,7 @@ export default class Judge {
|
||||
const carInfo = globalThis.carInfo;
|
||||
const deviceNo = globalThis.deviceNo;
|
||||
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 time = await getCurrentTime();
|
||||
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 = {
|
||||
xtlb: '17', jkxlh: serialNumber, jkid: '17C53',
|
||||
drvexam: {
|
||||
@ -784,7 +789,7 @@ export default class Judge {
|
||||
ksxm: project == undefined
|
||||
? (commonKsxm
|
||||
? (projectsObj[commonKsxm].projectCodeCenter)
|
||||
: (examSubject == 3 ? 30000 : 10000))
|
||||
: (examSubject == 3 ? 30000 : (xmmcEndCode == undefined?10000:xmmcEndCode)))
|
||||
: project.projectCodeCenter ,
|
||||
kfxm: kf.markcatalog,
|
||||
kfxmmx: `${ksxm},${kf.markserial}`,
|
||||
@ -1482,13 +1487,13 @@ export default class Judge {
|
||||
const str = await senorToWXDataStr(msg);
|
||||
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']
|
||||
//@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,plcData.gps.jdzt);
|
||||
await this.checkDwzt(plcData.gps.dwzt,plcData.gps.jdzt);
|
||||
if(!isExamEnd){
|
||||
await examJudgeRealExam(plcData)
|
||||
}
|
||||
@ -1574,7 +1579,7 @@ export default class Judge {
|
||||
const bytes = await this.getMessageHeartbeat();
|
||||
bytes && globalThis.judgeUdp.send(bytes)
|
||||
|
||||
}, 20)
|
||||
}, 50)
|
||||
|
||||
globalThis.judgeTimer = judgeTimer;
|
||||
}
|
||||
@ -1615,35 +1620,25 @@ export default class Judge {
|
||||
}
|
||||
|
||||
// 检测差分状态
|
||||
checkDwzt = async (type) => {
|
||||
checkDwzt = async (dwzt,jdzt) => {
|
||||
const {avPlayer} = this;
|
||||
const judgeConfig = this.judgeUI.judgeConfig;
|
||||
switch (type){
|
||||
case 0:
|
||||
this.judgeUI.isDwztRight = true;
|
||||
break;
|
||||
const param499 = judgeConfig['499'] || '';
|
||||
if(param499 == '' || param499 == undefined){
|
||||
return
|
||||
}
|
||||
//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:
|
||||
this.judgeUI.dwztErrorVisible = true;
|
||||
avPlayer.playAudio([`voice/差分状态异常.mp3`],true)
|
||||
setTimeout(()=>{
|
||||
router.back()
|
||||
},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;
|
||||
if(dwzt != 4 || jdzt != 3){
|
||||
this.dwztNum += 1
|
||||
}else{
|
||||
this.dwztNum = 0;
|
||||
this.judgeUI.dwztErrorVisible = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1664,6 +1659,7 @@ export default class Judge {
|
||||
private xmmcStr: string
|
||||
private xmmcCode: string
|
||||
private xmmcSingleCode: number
|
||||
private xmmcEndCode?:number
|
||||
private xmdm: string | number
|
||||
private xmxh: string
|
||||
private fileModel: FileModel
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user