dev #63
@ -87,7 +87,8 @@ export async function getParams(jkid, drvexam) {
 | 
			
		||||
        },
 | 
			
		||||
        file: {
 | 
			
		||||
          sjbs: gjxlhObj[jkid],
 | 
			
		||||
          param: [{ field: '', data: examSubject == 2 ? encodeURIComponent(drvexam.zp) : drvexam.zp }]
 | 
			
		||||
          // param: [{ field: '', data: examSubject == 2 ? encodeURIComponent(drvexam.zp) : drvexam.zp }]
 | 
			
		||||
          param: [{ field: '', data: drvexam.zp }]
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
  //项目开始
 | 
			
		||||
@ -146,7 +147,7 @@ export async function getParams(jkid, drvexam) {
 | 
			
		||||
        },
 | 
			
		||||
        file: {
 | 
			
		||||
          sjbs: gjxlhObj[jkid],
 | 
			
		||||
          param: [{ field: '', data: examSubject == 2 ? encodeURIComponent(drvexam.zp) : drvexam.zp }]
 | 
			
		||||
          param: [{ field: '', data: drvexam.zp }]
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
  //项目结束
 | 
			
		||||
@ -158,6 +159,7 @@ export async function getParams(jkid, drvexam) {
 | 
			
		||||
            jssj: drvexam.jssj,
 | 
			
		||||
            kskm: examSubject,
 | 
			
		||||
            ksxl: drvexam.ksxl,
 | 
			
		||||
            sbbh: examSubject == 3 ? undefined : drvexam.sbxh,
 | 
			
		||||
            ksxm: drvexam.ksxm,
 | 
			
		||||
            sfzmhm: drvexam.sfzmhm
 | 
			
		||||
          },
 | 
			
		||||
 | 
			
		||||
										
											
												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;
 | 
			
		||||
 | 
			
		||||
      case 1:
 | 
			
		||||
    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)
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user