Compare commits

..

3 Commits

Author SHA1 Message Date
bbd5edd1ea feat:更新 2024-08-21 09:03:24 +08:00
5dda1b57d3 Merge remote-tracking branch 'origin/dev' into dev 2024-08-21 08:59:13 +08:00
2ab8521d54 feat:更新 2024-08-20 14:49:22 +08:00
10 changed files with 79 additions and 29 deletions

View File

@ -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
} }

View File

@ -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 })
}); });

View File

@ -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北向距离

View File

@ -373,13 +373,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'
} }

View File

@ -291,16 +291,13 @@ struct Index {
//项目开始数据是否上传过 //项目开始数据是否上传过
isUpload:false, isUpload:false,
} }
if(isInExam){
if(kStringArr.includes(txt2)){
this.projectsObj[no2*1] = currentProject
this.projectsCenterObj[txt2] = currentProject
this.projects.push(currentProject);
}
}else {
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);
if(isInExam && !kStringArr.includes(txt2)){
this.projectsObj[no2*1].type = '3'
// this.ddxkKsxmArr.push(txt2)
} }
} }
@ -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);
} }
}) })

View File

@ -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);

View File

@ -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通用处理函数
* *

View File

@ -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)
} }

View File

@ -163,6 +163,7 @@ export function promptWxCode(
return return
} }
switch (jkid){ switch (jkid){
//项目开始 //项目开始
case '17C52': case '17C52':
switch (code){ switch (code){

View File

@ -6,7 +6,7 @@ export const judgeConfig = {
//是否开启拍照 //是否开启拍照
isPhotoOpen: true, isPhotoOpen: true,
//扣分语音是否强制开启 //扣分语音是否强制开启
kfVoiceOpen: true, kfVoiceOpen: false,
//忽略的考试项目 //忽略的考试项目
ignoreProjects:[], ignoreProjects:[],
// 是否忽略考试前熄火、车门检查 // 是否忽略考试前熄火、车门检查