手动结束里程判断

This commit is contained in:
lixiao 2025-05-06 16:21:47 +08:00
parent ea4e8d8da2
commit 636b87b803
8 changed files with 42 additions and 19 deletions

View File

@ -27,7 +27,7 @@
#define JUDGE_VERSION_MAJOR 1
#define JUDGE_VERSION_MINOR 0
#define JUDGE_VERSION_PATCH 3
#define JUDGE_VERSION_STAMP "2504251910b"
#define JUDGE_VERSION_STAMP "2504281937b"
#if JUDGE_USE_OLD
# undef JUDGE_VERSION_STAMP
# define JUDGE_VERSION_STAMP "2411121010b.old"

View File

@ -198,6 +198,7 @@ class JUDGE_API SysSetTable : public IDBTable
SYSSET_DECLARE(411); //靠边停车以右前、后轮判靠边距离0-否 1-是) //0
SYSSET_DECLARE(414); //变道、超车以前后轮都过线0-否 1-是) //0
SYSSET_DECLARE(415, type_array, "^"); //自动报靠边停车(启用标记^全部结束n米报^)启用标记:0-否 1-是 319参数为2有效 //0^1^
SYSSET_DECLARE(417); //417参数在差分状态才能进入自动评判项目0否1是417为1的时候我们读卡进项目读卡必须在查分状态下面才能读卡。417没设的话不判断是不是差分状态。就这就这个没有其他作用。
SYSSET_DECLARE(418); //扣分时实时播报语音0-否 1-是) //0
SYSSET_DECLARE(419, type_int); //里程按百米脉冲计算0-否 1-是
SYSSET_DECLARE(421); //模拟夜间:车辆发生故障,按近光灯和双跳进行评判0-是 1-否)
@ -345,6 +346,7 @@ class JUDGE_API SysSetTable : public IDBTable
SYSSET_ASSIGN(411);
SYSSET_ASSIGN(414);
SYSSET_ASSIGN(415);
SYSSET_ASSIGN(417);
SYSSET_ASSIGN(418);
SYSSET_ASSIGN(419);
SYSSET_ASSIGN(421);

View File

@ -3229,11 +3229,23 @@ void ExamCarSub3::Km3NewEnterItem()
TChuanGan* cg = m_cg;
//1、非前进状态忽略
TChuanGan* his1 = historyChuanGan(1);
if(cg->move != moveForward || his1->move != moveForward) return;
if(cg->move != moveForward || his1->move != moveForward)
{
return;
}
//2、速度是0也退出
//if(cg->real.gps.sd < 0.1 || his1->real.gps.sd < 0.1) return; //ai_CS_GPS
//3、非差分状态忽略
if(!cg->real.gps.valid()) return; //非差分状态不不允许进项目
//3、非差分状态忽略//非差分状态不允许进项目
//417参数为1,在差分状态才能进入自动评判项目 417没设的话不判断是不是差分状态 20250428
if(TableSysSet->get417() == "1")
{
if(!cg->real.gps.rtkEnabled)
{
return;
}
}
if(!cg->real.gps.valid()) return;
static constexpr double KK0 = GPS_DIV;
if(E_1Deg2Cm == 0)

View File

@ -2394,7 +2394,8 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian()
const TChuanGan* his1 = m_car->historyChuanGan(1);
const TChuanGan* his2 = m_car->historyChuanGan(2);
if(cg->move == moveForward && his1->move == moveForward && his2->move == moveForward)
if(m_car->rtkEnabled() && m_car->rtkEnabled(1) &&
cg->move == moveForward && his1->move == moveForward && his2->move == moveForward)
{
for(size_t i = 0; i < kind.size(); i++)
{

View File

@ -19,7 +19,7 @@
#define KIT_VERSION_MAJOR 1
#define KIT_VERSION_MINOR 0
#define KIT_VERSION_PATCH 2
#define KIT_VERSION_STAMP "2504251142b"
#define KIT_VERSION_STAMP "2504281950b"
#define KIT_VERSION_STR JUDGE_STR(KIT_VERSION_MAJOR.KIT_VERSION_MINOR.KIT_VERSION_PATCH)

View File

@ -54,7 +54,7 @@ export async function startRecordVideo(param, td, context, dir, path?, index?) {
}
// @ts-ignore
var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date,dir);
var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date, dir);
const handleId = recordResult.dataInt;
reslove(handleId)
}
@ -181,7 +181,7 @@ interface takePhotoParam {
*/
const fileHelper = new FileHelper();
export async function delPic(day,type) {
export async function delPic(day, type) {
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(globalThis.context);
console.info('albumGetAssetsDemoCallback');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
@ -195,11 +195,11 @@ export async function delPic(day,type) {
};
let albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, albumFetchOptions);
let albums = await albumList.getAllObjects();
for(let i=0;i<=albums.length;i++){
let albumName=albums[i].albumName
for (let i = 0; i <= albums.length; i++) {
let albumName = albums[i].albumName
// isSevenDaysAgo(albumName, day)
console.log('albumNamealbumName',albumName)
if (isSevenDaysAgo(albumName, day)&&albumName!='jt'&&albumName!='pz') {
console.log('albumNamealbumName', albumName)
if (isSevenDaysAgo(albumName, day) && albumName != 'jt' && albumName != 'pz') {
deleteAllFileByPiC(albumName, type)
}
@ -218,7 +218,7 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
// @ts-ignore
// var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir);
if (flag == 0) {
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, (err, snapResult) => {
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, false, (err, snapResult) => {
console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize);
callback({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode })
});
@ -227,16 +227,16 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
return new Promise<takePhotoParam>(async (resolve, reject) => {
const time = await getCurrentTime()
const date = time.split(' ')[0]
let dirName=dir?dir:date
rtsp_server.getVideoSnapshot(context, video_uri, fileName,dirName, true,async (err, snapResult) => {
if(snapResult.result&&snapResult.errorCode==0){
let dirName = dir ? dir : date
rtsp_server.getVideoSnapshot(context, video_uri, fileName, dirName, true, async (err, snapResult) => {
if (snapResult.result && snapResult.errorCode == 0) {
resolve({
base64: snapResult.dataString,
name: snapResult.fileName,
fileSize: snapResult.fileSize,
errorCode: snapResult.errorCode
})
}else{
} else {
promptAction.showToast({
message: `拍照失败`,
duration: 3000
@ -249,9 +249,10 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
})
}
}
export async function deleteAllPicturesFn(){
export async function deleteAllPicturesFn() {
fileHelper.deleteAllPictures();
deleteAllVideos(globalThis.context,photoAccessHelper.AlbumType.USER,photoAccessHelper.AlbumSubtype.VIDEO)
deleteAllVideos(globalThis.context, photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.VIDEO)
}

View File

@ -1250,6 +1250,13 @@ export default class Judge {
const singlePlay = globalThis.singlePlay
const param302 = judgeConfigObj['302'];
// 手动结束时,里程不足直接退出
if (judgeUI.jl < judgeUI.examMileage && isManual) {
closeAllFiles()
router.back()
return
}
//自动退出待验证并且不合格
if (!isManual && examSubject == 3 && (param302 == 1 || (singlePlay && param302 == 2)) && totalScore < passingScore) {
avPlayer.playAudio([`voice/考试结束.mp3`])