dev #63
@ -58,7 +58,7 @@ export async function writeObjectOut(params,filePath?:string): Promise<WR> {
 | 
				
			|||||||
    await fileUtil.initFolder(filePath);
 | 
					    await fileUtil.initFolder(filePath);
 | 
				
			||||||
    fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({
 | 
					    fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({
 | 
				
			||||||
      xtlb,jkxlh,jkid,drvexam:{...drvexam,zp:''},
 | 
					      xtlb,jkxlh,jkid,drvexam:{...drvexam,zp:''},
 | 
				
			||||||
    }));
 | 
					    }) +`\n`);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  console.info('surenjun','调用旧监管')
 | 
					  console.info('surenjun','调用旧监管')
 | 
				
			||||||
@ -93,6 +93,11 @@ export async function writeObjectOut(params,filePath?:string): Promise<WR> {
 | 
				
			|||||||
    method: 'post',
 | 
					    method: 'post',
 | 
				
			||||||
    xml: true
 | 
					    xml: true
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					  if(filePath){
 | 
				
			||||||
 | 
					    const fileUtil = new FileUtil(globalThis.context);
 | 
				
			||||||
 | 
					    await fileUtil.initFolder(filePath);
 | 
				
			||||||
 | 
					    fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  return temp
 | 
					  return temp
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -106,8 +106,7 @@ console.log('baoyihubaoyihu',video_uri,flag)
 | 
				
			|||||||
    // var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir);
 | 
					    // var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir);
 | 
				
			||||||
  if(flag==0){
 | 
					  if(flag==0){
 | 
				
			||||||
    rtsp_server.detectVideoSnapshotSize(video_uri,fileName,(err,snapResult)=>{
 | 
					    rtsp_server.detectVideoSnapshotSize(video_uri,fileName,(err,snapResult)=>{
 | 
				
			||||||
      console.log("baohaowen_detectLoop round end size1:"+JSON.stringify(snapResult));
 | 
					      console.log("baohaowen_detectLoop round end size1:"+snapResult.fileSize);
 | 
				
			||||||
      //errorCode=0为正常
 | 
					 | 
				
			||||||
      callback({fileSize:snapResult.fileSize,errorCode:snapResult.errorCode })
 | 
					      callback({fileSize:snapResult.fileSize,errorCode:snapResult.errorCode })
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -117,7 +116,6 @@ console.log('baoyihubaoyihu',video_uri,flag)
 | 
				
			|||||||
    return new Promise<takePhotoParam>((resolve,reject)=>{
 | 
					    return new Promise<takePhotoParam>((resolve,reject)=>{
 | 
				
			||||||
      rtsp_server.getVideoSnapshot(context, video_uri, fileName,dir,true,(err,snapResult)=>{
 | 
					      rtsp_server.getVideoSnapshot(context, video_uri, fileName,dir,true,(err,snapResult)=>{
 | 
				
			||||||
        console.log('baoyihubaoyihu',video_uri,flag,JSON.stringify(snapResult))
 | 
					        console.log('baoyihubaoyihu',video_uri,flag,JSON.stringify(snapResult))
 | 
				
			||||||
        //errorCode=-2拍照失败
 | 
					 | 
				
			||||||
        console.log('getPhtot',JSON.stringify(snapResult))
 | 
					        console.log('getPhtot',JSON.stringify(snapResult))
 | 
				
			||||||
        resolve({base64: snapResult.dataString,name:snapResult.fileName,fileSize:snapResult.fileSize,errorCode:snapResult.errorCode })
 | 
					        resolve({base64: snapResult.dataString,name:snapResult.fileName,fileSize:snapResult.fileSize,errorCode:snapResult.errorCode })
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
				
			|||||||
@ -74,7 +74,7 @@ export const getMessageHeartbeat = async (msg) => {
 | 
				
			|||||||
    string2Bytes(serialIndex, 2 * 8),
 | 
					    string2Bytes(serialIndex, 2 * 8),
 | 
				
			||||||
    translateSignals,
 | 
					    translateSignals,
 | 
				
			||||||
    //@ts-ignore
 | 
					    //@ts-ignore
 | 
				
			||||||
    string2Bytes(Math.floor((Math.floor(gps.sd))*1.852*100) , 2 * 8), string2Bytes(fdjzs / 100, 8), string2Bytes(translateJd, 4 * 8), string2Bytes(translateWd, 4 * 8), string2Bytes(1, 8),
 | 
					    string2Bytes(Math.floor(gps.sd*1.852) * 100, 2 * 8), string2Bytes(fdjzs / 100, 8), string2Bytes(translateJd, 4 * 8), string2Bytes(translateWd, 4 * 8), string2Bytes(1, 8),
 | 
				
			||||||
    //GPS东向距离
 | 
					    //GPS东向距离
 | 
				
			||||||
    string2Bytes(0, 4 * 8),
 | 
					    string2Bytes(0, 4 * 8),
 | 
				
			||||||
    //GPS北向距离
 | 
					    //GPS北向距离
 | 
				
			||||||
 | 
				
			|||||||
@ -374,13 +374,8 @@ struct Index {
 | 
				
			|||||||
    this.isSingle = globalThis.singlePlay
 | 
					    this.isSingle = globalThis.singlePlay
 | 
				
			||||||
    this.loading = false
 | 
					    this.loading = false
 | 
				
			||||||
    this.createAlbum()
 | 
					    this.createAlbum()
 | 
				
			||||||
 | 
					 | 
				
			||||||
    this.num = 0
 | 
					    this.num = 0
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    // const TcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
 | 
					    // const TcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
 | 
				
			||||||
 | 
					 | 
				
			||||||
    console.info('Index onPageShow');
 | 
					    console.info('Index onPageShow');
 | 
				
			||||||
    globalThis.lsh = '1111111111111'
 | 
					    globalThis.lsh = '1111111111111'
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
@ -291,16 +291,13 @@ struct Index {
 | 
				
			|||||||
          //项目开始数据是否上传过
 | 
					          //项目开始数据是否上传过
 | 
				
			||||||
          isUpload:false,
 | 
					          isUpload:false,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if(isInExam){
 | 
					        this.projectsObj[no2*1] = currentProject
 | 
				
			||||||
          if(kStringArr.includes(txt2)){
 | 
					        this.projectsCenterObj[txt2] = currentProject
 | 
				
			||||||
            this.projectsObj[no2*1] = currentProject
 | 
					        this.projects.push(currentProject);
 | 
				
			||||||
            this.projectsCenterObj[txt2] = currentProject
 | 
					        if(isInExam && !kStringArr.includes(txt2)){
 | 
				
			||||||
            this.projects.push(currentProject);
 | 
					          this.projectsObj[no2*1].type = '3'
 | 
				
			||||||
          }
 | 
					
 | 
				
			||||||
        }else {
 | 
					          // this.ddxkKsxmArr.push(txt2)
 | 
				
			||||||
          this.projectsObj[no2*1] = currentProject
 | 
					 | 
				
			||||||
          this.projectsCenterObj[txt2] = currentProject
 | 
					 | 
				
			||||||
          this.projects.push(currentProject);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -906,7 +903,6 @@ struct Index {
 | 
				
			|||||||
            this.loadingPopupVisible = true
 | 
					            this.loadingPopupVisible = true
 | 
				
			||||||
            clearInterval(this.timer);
 | 
					            clearInterval(this.timer);
 | 
				
			||||||
            clearInterval(globalThis.judgeTimer)
 | 
					            clearInterval(globalThis.judgeTimer)
 | 
				
			||||||
            globalThis.windowClass.setWindowSystemBarEnable(['navigation'])
 | 
					 | 
				
			||||||
            this.judge.checkExamIsEnd(true);
 | 
					            this.judge.checkExamIsEnd(true);
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
 | 
				
			|||||||
@ -99,7 +99,7 @@ export default struct Index {
 | 
				
			|||||||
        kfdm,
 | 
					        kfdm,
 | 
				
			||||||
        wayno,
 | 
					        wayno,
 | 
				
			||||||
        //TODO 真实监管项目
 | 
					        //TODO 真实监管项目
 | 
				
			||||||
        // kString:'40300,40500,40700,40800'
 | 
					        // kString:'40200,40300,40400,40500,40700,41000,41100,41200,41300,41400,40600,41500,41700,40400,40800,40900'
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }, router.RouterMode.Single);
 | 
					    }, router.RouterMode.Single);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -192,6 +192,24 @@ export async function examJudgeSoundEnd(param:{
 | 
				
			|||||||
  return await handle(temp,'examJudgeSoundEnd')
 | 
					  return await handle(temp,'examJudgeSoundEnd')
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @desc 实时距离计算
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * */
 | 
				
			||||||
 | 
					export async function examCalcGpsDistance(param:{
 | 
				
			||||||
 | 
					  jd1:number,
 | 
				
			||||||
 | 
					  wd1:number,
 | 
				
			||||||
 | 
					  jd2:number,
 | 
				
			||||||
 | 
					  wd2:number,
 | 
				
			||||||
 | 
					  h:number
 | 
				
			||||||
 | 
					}){
 | 
				
			||||||
 | 
					  const {jd1,wd1,jd2,wd2,h} = param
 | 
				
			||||||
 | 
					  const temp = libJudgeSdk.examJudgeSoundEnd(jd1,wd1,jd2,wd2,h);
 | 
				
			||||||
 | 
					  return await handle(temp,'examCalcGpsDistance')
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * @desc通用处理函数
 | 
					 * @desc通用处理函数
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
				
			|||||||
@ -121,7 +121,7 @@ export default class Judge {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    //日志回调
 | 
					    //日志回调
 | 
				
			||||||
    console.info(judgeTag, '1.进入评判入口')
 | 
					    console.info(judgeTag, '1.进入评判入口')
 | 
				
			||||||
    await examJudgeSetLogCallback(6, 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);
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
@ -177,6 +177,8 @@ export default class Judge {
 | 
				
			|||||||
      console.info('socketTag[PLC.UdpClient]', '收到udp回调数据')
 | 
					      console.info('socketTag[PLC.UdpClient]', '收到udp回调数据')
 | 
				
			||||||
      handleUdp(msg)
 | 
					      handleUdp(msg)
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //TODO 监听远程扣分
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // 获取评判初始化数据
 | 
					  // 获取评判初始化数据
 | 
				
			||||||
@ -233,7 +235,7 @@ export default class Judge {
 | 
				
			|||||||
    const {sczb,kfdm} = currentParams;
 | 
					    const {sczb,kfdm} = currentParams;
 | 
				
			||||||
    const {isExam} = this;
 | 
					    const {isExam} = this;
 | 
				
			||||||
    const judgeUI = this.judgeUI
 | 
					    const judgeUI = this.judgeUI
 | 
				
			||||||
    const {projects,carType,isDdxk,ddxkTime,projectsCenterObj,ddxkKsxmArr,ddxkKfArr} = judgeUI;
 | 
					    const {projects,carType,isDdxk,ddxkTime,projectsCenterObj,ddxkKsxmArr,ddxkKfArr,passingScore} = judgeUI;
 | 
				
			||||||
    const beginInfo = {
 | 
					    const beginInfo = {
 | 
				
			||||||
      kgid: '012',
 | 
					      kgid: '012',
 | 
				
			||||||
      kgxm: decodeURI(examinerName || ''),
 | 
					      kgxm: decodeURI(examinerName || ''),
 | 
				
			||||||
@ -254,6 +256,7 @@ export default class Judge {
 | 
				
			|||||||
      wayno: judgeUI.wayno * 1,
 | 
					      wayno: judgeUI.wayno * 1,
 | 
				
			||||||
      czlx: 0,
 | 
					      czlx: 0,
 | 
				
			||||||
      kskssj: await systemTime.getCurrentTime(),
 | 
					      kskssj: await systemTime.getCurrentTime(),
 | 
				
			||||||
 | 
					      passing:passingScore * 1,
 | 
				
			||||||
      ksxm: projects.map(project => {
 | 
					      ksxm: projects.map(project => {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
          xmdm: project.projectCode * 1,
 | 
					          xmdm: project.projectCode * 1,
 | 
				
			||||||
@ -837,7 +840,7 @@ export default class Judge {
 | 
				
			|||||||
    this.judgeUI.totalScore = isAllProjectsEnd ? totalScore : 0;
 | 
					    this.judgeUI.totalScore = isAllProjectsEnd ? totalScore : 0;
 | 
				
			||||||
    const singlePlay = globalThis.singlePlay
 | 
					    const singlePlay = globalThis.singlePlay
 | 
				
			||||||
    const param302 = judgeConfigObj['302'];
 | 
					    const param302 = judgeConfigObj['302'];
 | 
				
			||||||
    globalThis.windowClass.setWindowSystemBarEnable(['navigation'])
 | 
					    // globalThis.windowClass.setWindowSystemBarEnable(['navigation'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //自动退出待验证并且不合格
 | 
					    //自动退出待验证并且不合格
 | 
				
			||||||
    if (!isManual && examSubject == 3 && (param302 == 1 || (singlePlay && param302 == 2)) && totalScore < passingScore) {
 | 
					    if (!isManual && examSubject == 3 && (param302 == 1 || (singlePlay && param302 == 2)) && totalScore < passingScore) {
 | 
				
			||||||
@ -913,24 +916,58 @@ export default class Judge {
 | 
				
			|||||||
    const param302 = judgeConfigObj['302'];
 | 
					    const param302 = judgeConfigObj['302'];
 | 
				
			||||||
    judgeUI.loadingPopupVisible = true;
 | 
					    judgeUI.loadingPopupVisible = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    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')
 | 
					      voiceURL = (totalScore < passingScore ? `voice/unqualified_${kssycs == 1 ? 'one' : 'two'}.wav` : 'voice/qualified.mp3')
 | 
				
			||||||
 | 
					      switch (voiceURL){
 | 
				
			||||||
 | 
					        case 'voice/unqualified_one.wav':
 | 
				
			||||||
 | 
					          currentKssycs = 0;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case 'voice/unqualified_two.wav':
 | 
				
			||||||
 | 
					          currentKssycs = 1;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case 'voice/qualified.mp3':
 | 
				
			||||||
 | 
					          currentKssycs = 0;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (examSubject == 3) {
 | 
					    if (examSubject == 3) {
 | 
				
			||||||
      if (isAllProjectsEnd) {
 | 
					      if (isAllProjectsEnd) {
 | 
				
			||||||
        if (totalScore < passingScore) {
 | 
					        if (totalScore < passingScore) {
 | 
				
			||||||
          voiceURL = `voice/${kssycs == 1 ? 'exam_no_pass_finish' : 'exam_no_pass'}.mp3`
 | 
					          voiceURL = `voice/${kssycs == 1 ? 'exam_no_pass_finish' : 'exam_no_pass'}.mp3`
 | 
				
			||||||
 | 
					          currentKssycs = kssycs == 1 ? 0 : 1
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          voiceURL = 'voice/exam_pass.mp3'
 | 
					          voiceURL = 'voice/exam_pass.mp3'
 | 
				
			||||||
 | 
					          currentKssycs = 0
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        voiceURL = `voice/${kssycs == 1 ? 'exam_no_pass_finish' : 'exam_no_pass'}.mp3`
 | 
					        voiceURL = `voice/${kssycs == 1 ? 'exam_no_pass_finish' : 'exam_no_pass'}.mp3`
 | 
				
			||||||
 | 
					        currentKssycs = kssycs == 1 ? 0 : 1
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      switch (voiceURL){
 | 
				
			||||||
 | 
					        case 'voice/exam_no_pass_finish.mp3':
 | 
				
			||||||
 | 
					          currentKssycs = 0;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case 'voice/exam_no_pass.mp3':
 | 
				
			||||||
 | 
					          currentKssycs = 1;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case 'voice/exam_pass.mp3':
 | 
				
			||||||
 | 
					          currentKssycs = 0;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const USER =await getSyncData('USER');
 | 
					    const USER = await getSyncData('USER');
 | 
				
			||||||
    await upDateTableByArray('USER', [{...USER[0],kssycs:kssycs == 2 ? 1 : 0}])
 | 
					    await upDateTableByArray('USER', [{
 | 
				
			||||||
 | 
					      ...USER[0],
 | 
				
			||||||
 | 
					      kssycs:currentKssycs
 | 
				
			||||||
 | 
					    }])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    console.info(judgeTag, `考试成绩:${totalScore}`)
 | 
					    console.info(judgeTag, `考试成绩:${totalScore}`)
 | 
				
			||||||
    if(!singlePlay){
 | 
					    if(!singlePlay){
 | 
				
			||||||
@ -1296,7 +1333,7 @@ export default class Judge {
 | 
				
			|||||||
    const udpIndex = globalThis.udpIndex;
 | 
					    const udpIndex = globalThis.udpIndex;
 | 
				
			||||||
    if (udpIndex % 5 === 0 && !isUdpEnd) {
 | 
					    if (udpIndex % 5 === 0 && !isUdpEnd) {
 | 
				
			||||||
      const judgeUdp = globalThis.judgeUdp
 | 
					      const judgeUdp = globalThis.judgeUdp
 | 
				
			||||||
      const bytes = await this.getMessageHeartbeat();
 | 
					      const bytes = await this.getMessageHeartbeat(isExamEnd);
 | 
				
			||||||
      console.info(judgeTag+'UDP',JSON.stringify(bytes))
 | 
					      console.info(judgeTag+'UDP',JSON.stringify(bytes))
 | 
				
			||||||
      judgeUdp.send(bytes)
 | 
					      judgeUdp.send(bytes)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -163,6 +163,7 @@ export function promptWxCode(
 | 
				
			|||||||
    return
 | 
					    return
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  switch (jkid){
 | 
					  switch (jkid){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //项目开始
 | 
					    //项目开始
 | 
				
			||||||
    case '17C52':
 | 
					    case '17C52':
 | 
				
			||||||
      switch (code){
 | 
					      switch (code){
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ export const judgeConfig = {
 | 
				
			|||||||
  //是否开启拍照
 | 
					  //是否开启拍照
 | 
				
			||||||
  isPhotoOpen: true,
 | 
					  isPhotoOpen: true,
 | 
				
			||||||
  //扣分语音是否强制开启
 | 
					  //扣分语音是否强制开启
 | 
				
			||||||
  kfVoiceOpen: true,
 | 
					  kfVoiceOpen: false,
 | 
				
			||||||
  //忽略的考试项目
 | 
					  //忽略的考试项目
 | 
				
			||||||
  ignoreProjects:[],
 | 
					  ignoreProjects:[],
 | 
				
			||||||
  // 是否忽略考试前熄火、车门检查
 | 
					  // 是否忽略考试前熄火、车门检查
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user