Merge branch '代理服务方案' of http://88.22.24.105:3000/harmony_car/subject-two into 代理服务方案
This commit is contained in:
commit
164bdd11d2
@ -27,7 +27,7 @@
|
|||||||
#define JUDGE_VERSION_MAJOR 1
|
#define JUDGE_VERSION_MAJOR 1
|
||||||
#define JUDGE_VERSION_MINOR 0
|
#define JUDGE_VERSION_MINOR 0
|
||||||
#define JUDGE_VERSION_PATCH 3
|
#define JUDGE_VERSION_PATCH 3
|
||||||
#define JUDGE_VERSION_STAMP "2504191100b"
|
#define JUDGE_VERSION_STAMP "2504281937b"
|
||||||
#if JUDGE_USE_OLD
|
#if JUDGE_USE_OLD
|
||||||
# undef JUDGE_VERSION_STAMP
|
# undef JUDGE_VERSION_STAMP
|
||||||
# define JUDGE_VERSION_STAMP "2411121010b.old"
|
# define JUDGE_VERSION_STAMP "2411121010b.old"
|
||||||
|
|||||||
@ -247,6 +247,7 @@ namespace sound
|
|||||||
sound_sub3(456001); // \sound\通过急弯.wav
|
sound_sub3(456001); // \sound\通过急弯.wav
|
||||||
sound_sub3(458001); // \sound\通过拱桥.wav
|
sound_sub3(458001); // \sound\通过拱桥.wav
|
||||||
sound_sub3(zhpp); // \sound\综合评判.wav 请考官综合评判
|
sound_sub3(zhpp); // \sound\综合评判.wav 请考官综合评判
|
||||||
|
sound_sub3(ksjs); // \sound\考试结束.wav
|
||||||
|
|
||||||
sound_subx(xmqx); //项目取消
|
sound_subx(xmqx); //项目取消
|
||||||
|
|
||||||
|
|||||||
@ -198,6 +198,7 @@ class JUDGE_API SysSetTable : public IDBTable
|
|||||||
SYSSET_DECLARE(411); //靠边停车以右前、后轮判靠边距离(0-否 1-是) //0
|
SYSSET_DECLARE(411); //靠边停车以右前、后轮判靠边距离(0-否 1-是) //0
|
||||||
SYSSET_DECLARE(414); //变道、超车以前后轮都过线(0-否 1-是) //0
|
SYSSET_DECLARE(414); //变道、超车以前后轮都过线(0-否 1-是) //0
|
||||||
SYSSET_DECLARE(415, type_array, "^"); //自动报靠边停车(启用标记^全部结束n米报^)启用标记:0-否 1-是 319参数为2有效 //0^1^
|
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(418); //扣分时实时播报语音(0-否 1-是) //0
|
||||||
SYSSET_DECLARE(419, type_int); //里程按百米脉冲计算(0-否 1-是 )
|
SYSSET_DECLARE(419, type_int); //里程按百米脉冲计算(0-否 1-是 )
|
||||||
SYSSET_DECLARE(421); //模拟夜间:车辆发生故障,按近光灯和双跳进行评判(0-是 1-否)
|
SYSSET_DECLARE(421); //模拟夜间:车辆发生故障,按近光灯和双跳进行评判(0-是 1-否)
|
||||||
@ -261,6 +262,7 @@ class JUDGE_API SysSetTable : public IDBTable
|
|||||||
SYSSET_DECLARE(615); //侧方停车读卡前进时碰6线不合格 0
|
SYSSET_DECLARE(615); //侧方停车读卡前进时碰6线不合格 0
|
||||||
SYSSET_DECLARE(617, type_int); //参数617:语音实时播报项目是否合格(0-否 1-是)语音码:xmhg,xmbhg
|
SYSSET_DECLARE(617, type_int); //参数617:语音实时播报项目是否合格(0-否 1-是)语音码:xmhg,xmbhg
|
||||||
SYSSET_DECLARE(624); //考试评判车门模式
|
SYSSET_DECLARE(624); //考试评判车门模式
|
||||||
|
SYSSET_DECLARE(629); //默认的在车辆进入坡道区域才评判停车定点,坡道中停立刻评判,默认的在车辆进入定点10米区域才评判停车定点
|
||||||
SYSSET_DECLARE(641, type_int); //641=1 是车尾过5-6延长线结束
|
SYSSET_DECLARE(641, type_int); //641=1 是车尾过5-6延长线结束
|
||||||
SYSSET_DECLARE(660); //侧方停车项目 停车距离判断阈值控制参数
|
SYSSET_DECLARE(660); //侧方停车项目 停车距离判断阈值控制参数
|
||||||
SYSSET_DECLARE(668); //安全带评判模式
|
SYSSET_DECLARE(668); //安全带评判模式
|
||||||
@ -344,6 +346,7 @@ class JUDGE_API SysSetTable : public IDBTable
|
|||||||
SYSSET_ASSIGN(411);
|
SYSSET_ASSIGN(411);
|
||||||
SYSSET_ASSIGN(414);
|
SYSSET_ASSIGN(414);
|
||||||
SYSSET_ASSIGN(415);
|
SYSSET_ASSIGN(415);
|
||||||
|
SYSSET_ASSIGN(417);
|
||||||
SYSSET_ASSIGN(418);
|
SYSSET_ASSIGN(418);
|
||||||
SYSSET_ASSIGN(419);
|
SYSSET_ASSIGN(419);
|
||||||
SYSSET_ASSIGN(421);
|
SYSSET_ASSIGN(421);
|
||||||
@ -407,6 +410,7 @@ class JUDGE_API SysSetTable : public IDBTable
|
|||||||
SYSSET_ASSIGN(615);
|
SYSSET_ASSIGN(615);
|
||||||
SYSSET_ASSIGN(617);
|
SYSSET_ASSIGN(617);
|
||||||
SYSSET_ASSIGN(624);
|
SYSSET_ASSIGN(624);
|
||||||
|
SYSSET_ASSIGN(629);
|
||||||
SYSSET_ASSIGN(641);
|
SYSSET_ASSIGN(641);
|
||||||
SYSSET_ASSIGN(660);
|
SYSSET_ASSIGN(660);
|
||||||
SYSSET_ASSIGN(668);
|
SYSSET_ASSIGN(668);
|
||||||
|
|||||||
@ -91,46 +91,40 @@ ErrorCode ExamCarSub2::examBeginExam()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return QE(codeSuccess);
|
//2、执行扣分
|
||||||
}
|
int grade = 0;
|
||||||
|
for(size_t i = 0; i < m_stuInfo.kfxm.size(); i++)
|
||||||
|
{
|
||||||
|
const TKfXm& markItem = m_stuInfo.kfxm[i];
|
||||||
|
const TMarkRule* rule = TableMark->find(markItem.xmdm, markItem.kfdm);
|
||||||
|
if(nullptr == rule)
|
||||||
|
{
|
||||||
|
logwarning("not find mark-rule item=%d, serial=%s", markItem.xmdm, markItem.kfdm.c_str());
|
||||||
|
return QE(errorMarkNotFind);
|
||||||
|
}
|
||||||
|
grade += rule->markreal;
|
||||||
|
TMarkInfo mark(rule->itemno, rule->markserial, rule->markcatalog, 0, 0, 0);
|
||||||
|
m_marks.push_back(mark);
|
||||||
|
|
||||||
ErrorCode ExamCarSub2::examGoonExam()
|
IExamItem* item = findExamItem(markItem.xmdm);
|
||||||
{
|
TASSERT(item != nullptr, "");
|
||||||
|
if(item)
|
||||||
|
{
|
||||||
|
item->setMarkGrade(rule->markreal);
|
||||||
|
}
|
||||||
|
|
||||||
|
loginfo("ddxk-mark xmdm=%d,kfdm=%s", markItem.xmdm, markItem.kfdm.c_str());
|
||||||
|
}
|
||||||
|
m_grade -= grade;
|
||||||
|
if(m_grade < 0)
|
||||||
|
{
|
||||||
|
m_grade = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//3、处理断点续考
|
||||||
if(m_stuInfo.ddxk)
|
if(m_stuInfo.ddxk)
|
||||||
{
|
{
|
||||||
m_disForward = m_stuInfo.yklc;
|
m_disForward = m_stuInfo.yklc;
|
||||||
|
|
||||||
//1、处理已考项目
|
|
||||||
|
|
||||||
//2、执行扣分
|
|
||||||
int grade = 0;
|
|
||||||
for(size_t i = 0; i < m_stuInfo.kfxm.size(); i++)
|
|
||||||
{
|
|
||||||
const TKfXm& markItem = m_stuInfo.kfxm[i];
|
|
||||||
const TMarkRule* rule = TableMark->find(markItem.xmdm, markItem.kfdm);
|
|
||||||
if(nullptr == rule)
|
|
||||||
{
|
|
||||||
logwarning("not find mark-rule item=%d, serial=%s", markItem.xmdm, markItem.kfdm.c_str());
|
|
||||||
return QE(errorMarkNotFind);
|
|
||||||
}
|
|
||||||
grade += rule->markreal;
|
|
||||||
TMarkInfo mark(rule->itemno, rule->markserial, rule->markcatalog, 0, 0, 0);
|
|
||||||
m_marks.push_back(mark);
|
|
||||||
|
|
||||||
IExamItem* item = findExamItem(markItem.xmdm);
|
|
||||||
TASSERT(item != nullptr, "");
|
|
||||||
if(item)
|
|
||||||
{
|
|
||||||
item->setMarkGrade(rule->markreal);
|
|
||||||
}
|
|
||||||
|
|
||||||
loginfo("ddxk-mark xmdm=%d,kfdm=%s", markItem.xmdm, markItem.kfdm.c_str());
|
|
||||||
}
|
|
||||||
m_grade -= grade;
|
|
||||||
if(m_grade < 0)
|
|
||||||
{
|
|
||||||
m_grade = 0;
|
|
||||||
}
|
|
||||||
//m_timeBegin = m_stuInfo.ddkssj;
|
//m_timeBegin = m_stuInfo.ddkssj;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,7 +135,6 @@ ErrorCode ExamCarSub2::examGoonExam()
|
|||||||
//createEventExamFinish(ExamFinishAuto); //杨 20240724 都由苏那边控制
|
//createEventExamFinish(ExamFinishAuto); //杨 20240724 都由苏那边控制
|
||||||
return QE(errorBeginNotQual); //已经不合格了
|
return QE(errorBeginNotQual); //已经不合格了
|
||||||
}
|
}
|
||||||
|
|
||||||
return QE(codeSuccess);
|
return QE(codeSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,6 @@ public:
|
|||||||
public: //for IExamCar override
|
public: //for IExamCar override
|
||||||
virtual ErrorCode examCarInitInfo(TInitInfo* info) override;
|
virtual ErrorCode examCarInitInfo(TInitInfo* info) override;
|
||||||
virtual ErrorCode examBeginExam() override;
|
virtual ErrorCode examBeginExam() override;
|
||||||
virtual ErrorCode examGoonExam() override;
|
|
||||||
virtual ErrorCode examEndExam() override;
|
virtual ErrorCode examEndExam() override;
|
||||||
virtual ErrorCode examJudgeExam() override;
|
virtual ErrorCode examJudgeExam() override;
|
||||||
virtual ErrorCode examArtifMark(ExamItemCode itemno, const std::string& serial, MarkType type) override;
|
virtual ErrorCode examArtifMark(ExamItemCode itemno, const std::string& serial, MarkType type) override;
|
||||||
|
|||||||
@ -66,7 +66,7 @@ ErrorCode ExamCarSub3::examBeginExam()
|
|||||||
TKM3Item* item = findExamItem(itemNo);
|
TKM3Item* item = findExamItem(itemNo);
|
||||||
if(item != nullptr)
|
if(item != nullptr)
|
||||||
{
|
{
|
||||||
KM3EndItem(itemNo, false);
|
KM3EndItem(itemNo, false, false);
|
||||||
//item->Item_Color = itemStateHg;
|
//item->Item_Color = itemStateHg;
|
||||||
//item->TestPro = ItemProFlagEnd;
|
//item->TestPro = ItemProFlagEnd;
|
||||||
//item->FinishFlag = true; //防止已考发项目结束事件
|
//item->FinishFlag = true; //防止已考发项目结束事件
|
||||||
@ -83,54 +83,43 @@ ErrorCode ExamCarSub3::examBeginExam()
|
|||||||
{
|
{
|
||||||
m_newSub3->examBegin();
|
m_newSub3->examBegin();
|
||||||
}
|
}
|
||||||
return QE(codeSuccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorCode ExamCarSub3::examGoonExam()
|
//2、执行扣分
|
||||||
{
|
int grade = 0;
|
||||||
//4、执行扣分(如果StuInfo.CSH_Marks 不为空)
|
for(size_t i = 0; i < m_stuInfo.kfxm.size(); i++)
|
||||||
//这个时候,Tds的Grade会被重新赋值
|
{
|
||||||
|
const TKfXm& markItem = m_stuInfo.kfxm[i];
|
||||||
|
const TMarkRule* rule = TableMark->find(markItem.xmdm, markItem.kfdm);
|
||||||
|
if(nullptr == rule)
|
||||||
|
{
|
||||||
|
logwarning("not find mark-rule item=%d, serial=%s", markItem.xmdm, markItem.kfdm.c_str());
|
||||||
|
return QE(errorMarkNotFind);
|
||||||
|
}
|
||||||
|
grade += rule->markreal;
|
||||||
|
TMarkInfo mark(rule->itemno, rule->markserial, rule->markcatalog, 0, 0, 0);
|
||||||
|
m_marks.push_back(mark);
|
||||||
|
|
||||||
|
//断点扣分不要生成任何事件通知,关心的就是本地扣出来即可 //???yhyflag
|
||||||
|
//Mark(markItem.xmdm, markItem.kfdm, false, true, 0, true); //Self.Mark(TempItemNo, Str3, False, True, 0, True);
|
||||||
|
//扣分只记录分数,不需要根据扣分记录项目状态 20240816 在洛阳确认的
|
||||||
|
//TKM3Item* item = findExamItem(markItem.xmdm);
|
||||||
|
//TASSERT(item != nullptr, "");
|
||||||
|
//if(item)
|
||||||
|
//{
|
||||||
|
// item->Item_Color = itemStateBhg;
|
||||||
|
//}
|
||||||
|
loginfo("ddxk-mark xmdm=%d,kfdm=%s", markItem.xmdm, markItem.kfdm.c_str());
|
||||||
|
}
|
||||||
|
m_grade -= grade;
|
||||||
|
if(m_grade < 0)
|
||||||
|
{
|
||||||
|
m_grade = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//3、处理断点续考
|
||||||
if(m_stuInfo.ddxk)
|
if(m_stuInfo.ddxk)
|
||||||
{
|
{
|
||||||
m_disForward = m_stuInfo.yklc;
|
m_disForward = m_stuInfo.yklc;
|
||||||
|
|
||||||
//1、处理已考项目
|
|
||||||
|
|
||||||
//2、执行扣分
|
|
||||||
int grade = 0;
|
|
||||||
for(size_t i = 0; i < m_stuInfo.kfxm.size(); i++)
|
|
||||||
{
|
|
||||||
const TKfXm& markItem = m_stuInfo.kfxm[i];
|
|
||||||
const TMarkRule* rule = TableMark->find(markItem.xmdm, markItem.kfdm);
|
|
||||||
if(nullptr == rule)
|
|
||||||
{
|
|
||||||
logwarning("not find mark-rule item=%d, serial=%s", markItem.xmdm, markItem.kfdm.c_str());
|
|
||||||
return QE(errorMarkNotFind);
|
|
||||||
}
|
|
||||||
grade += rule->markreal;
|
|
||||||
TMarkInfo mark(rule->itemno, rule->markserial, rule->markcatalog, 0, 0, 0);
|
|
||||||
m_marks.push_back(mark);
|
|
||||||
|
|
||||||
//断点扣分不要生成任何事件通知,关心的就是本地扣出来即可 //???yhyflag
|
|
||||||
//Mark(markItem.xmdm, markItem.kfdm, false, true, 0, true); //Self.Mark(TempItemNo, Str3, False, True, 0, True);
|
|
||||||
|
|
||||||
//扣分只记录分数,不需要根据扣分记录项目状态 20240816 在洛阳确认的
|
|
||||||
//TKM3Item* item = findExamItem(markItem.xmdm);
|
|
||||||
//TASSERT(item != nullptr, "");
|
|
||||||
//if(item)
|
|
||||||
//{
|
|
||||||
// item->Item_Color = itemStateBhg;
|
|
||||||
//}
|
|
||||||
|
|
||||||
loginfo("ddxk-mark xmdm=%d,kfdm=%s", markItem.xmdm, markItem.kfdm.c_str());
|
|
||||||
}
|
|
||||||
m_grade -= grade;
|
|
||||||
if(m_grade < 0)
|
|
||||||
{
|
|
||||||
m_grade = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//3、更新开始时间
|
//3、更新开始时间
|
||||||
//m_timeBegin = m_stuInfo.ddkssj != 0 ? m_stuInfo.ddkssj : Tools::nowTime();
|
//m_timeBegin = m_stuInfo.ddkssj != 0 ? m_stuInfo.ddkssj : Tools::nowTime();
|
||||||
//m_StartTime = GetCurrentTime2();
|
//m_StartTime = GetCurrentTime2();
|
||||||
@ -667,7 +656,7 @@ bool ExamCarSub3::Init_KM3_Global()
|
|||||||
//examItem->TestPro = ItemProFlagIdle;
|
//examItem->TestPro = ItemProFlagIdle;
|
||||||
//examItem->FinishFlag = true;
|
//examItem->FinishFlag = true;
|
||||||
examItem->NoID = true;
|
examItem->NoID = true;
|
||||||
KM3EndItem(itemNo,true,false);
|
KM3EndItem(itemNo,isReplay(),false); //轨迹回放工具回放模式要发时间,不然项目不好变绿
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1281,7 +1270,6 @@ void ExamCarSub3::Deal_KM3_Judge()
|
|||||||
|
|
||||||
m_curItem = nullptr;
|
m_curItem = nullptr;
|
||||||
|
|
||||||
dealItemNoIDEnd14Jjdw(); //必须放这里
|
|
||||||
dealItemNoIDEndItem(); //必须放这里
|
dealItemNoIDEndItem(); //必须放这里
|
||||||
//执行具体的专项评判
|
//执行具体的专项评判
|
||||||
std::string msg;
|
std::string msg;
|
||||||
@ -1336,6 +1324,7 @@ void ExamCarSub3::Deal_KM3_Judge()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
finishExamBroad();
|
||||||
//如果考试结束(训练不存在结束的概念,都是界面上点击结束考试,一般科目三都是可以重复进项目的)
|
//如果考试结束(训练不存在结束的概念,都是界面上点击结束考试,一般科目三都是可以重复进项目的)
|
||||||
if(isExamMode()) //考试模式的
|
if(isExamMode()) //考试模式的
|
||||||
{
|
{
|
||||||
@ -3240,11 +3229,23 @@ void ExamCarSub3::Km3NewEnterItem()
|
|||||||
TChuanGan* cg = m_cg;
|
TChuanGan* cg = m_cg;
|
||||||
//1、非前进状态忽略
|
//1、非前进状态忽略
|
||||||
TChuanGan* his1 = historyChuanGan(1);
|
TChuanGan* his1 = historyChuanGan(1);
|
||||||
if(cg->move != moveForward || his1->move != moveForward) return;
|
if(cg->move != moveForward || his1->move != moveForward)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
//2、速度是0也退出
|
//2、速度是0也退出
|
||||||
//if(cg->real.gps.sd < 0.1 || his1->real.gps.sd < 0.1) return; //ai_CS_GPS
|
//if(cg->real.gps.sd < 0.1 || his1->real.gps.sd < 0.1) return; //ai_CS_GPS
|
||||||
//3、非差分状态忽略
|
//3、非差分状态忽略//非差分状态不允许进项目
|
||||||
if(!cg->real.gps.valid()) return; //非差分状态不不允许进项目
|
//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;
|
static constexpr double KK0 = GPS_DIV;
|
||||||
if(E_1Deg2Cm == 0)
|
if(E_1Deg2Cm == 0)
|
||||||
@ -3894,24 +3895,24 @@ bool ExamCarSub3::KM3AllPass()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++)
|
//for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++)
|
||||||
{
|
//{
|
||||||
const TKM3Item* item = it->second->getExamItem();
|
// const TKM3Item* item = it->second->getExamItem();
|
||||||
//必考项目未完成
|
// //必考项目未完成
|
||||||
if(item->NoID == false && (item->Item_Color == itemStateWk || item->Item_Color == itemStateZk))
|
// if(item->NoID == false && (item->Item_Color == itemStateWk || item->Item_Color == itemStateZk))
|
||||||
{
|
// {
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
//科目三项目结束,免考项目处理
|
// //科目三项目结束,免考项目处理
|
||||||
//重要流程
|
// //重要流程
|
||||||
if(item->NoID == true) //20240731
|
// if(item->NoID == true) //20240731
|
||||||
{
|
// {
|
||||||
if(item->FinishFlag == false)
|
// if(item->FinishFlag == false)
|
||||||
{
|
// {
|
||||||
KM3EndItem(item->ItemNo);
|
// KM3EndItem(item->ItemNo);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -5022,24 +5023,6 @@ void ExamCarSub3::dealOffset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ExamCarSub3::dealItemNoIDEndItem()
|
void ExamCarSub3::dealItemNoIDEndItem()
|
||||||
{
|
|
||||||
if(isMileage())
|
|
||||||
{
|
|
||||||
for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++)
|
|
||||||
{
|
|
||||||
TKM3Item* item = it->second->getExamItem();
|
|
||||||
if(item->NoID == true && item->ItemNo != Sub3ItemType14Jjdw) //20240731
|
|
||||||
{
|
|
||||||
if(item->FinishFlag == false)
|
|
||||||
{
|
|
||||||
KM3EndItem(item->ItemNo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExamCarSub3::dealItemNoIDEnd14Jjdw()
|
|
||||||
{
|
{
|
||||||
TKM3Item* item14 = findExamItem(Sub3ItemType14Jjdw); //20240731
|
TKM3Item* item14 = findExamItem(Sub3ItemType14Jjdw); //20240731
|
||||||
if(item14 && item14->NoID == true) //免考加减挡的 即:全程加减档
|
if(item14 && item14->NoID == true) //免考加减挡的 即:全程加减档
|
||||||
@ -5059,7 +5042,7 @@ void ExamCarSub3::dealItemNoIDEnd14Jjdw()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
TKM3Item* item = findExamItem(Sub3ItemType11Kbtc);
|
TKM3Item* item = findExamItem(Sub3ItemType11Kbtc);
|
||||||
if(item && item->TestPro == ItemProFlagInit)
|
if(item && item->TestPro >= ItemProFlagInit)
|
||||||
{
|
{
|
||||||
//ToDo1:生成 全程加减挡 进项目事件
|
//ToDo1:生成 全程加减挡 进项目事件
|
||||||
//createEventEnterItem({item14->ItemNo, ""});
|
//createEventEnterItem({item14->ItemNo, ""});
|
||||||
@ -5068,6 +5051,147 @@ void ExamCarSub3::dealItemNoIDEnd14Jjdw()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isMileage())
|
||||||
|
{
|
||||||
|
for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++)
|
||||||
|
{
|
||||||
|
TKM3Item* item = it->second->getExamItem();
|
||||||
|
if(item->NoID == true)
|
||||||
|
{
|
||||||
|
if(item->ItemNo == Sub3ItemType13Yjxs)
|
||||||
|
{
|
||||||
|
if(item->FinishFlag == false)
|
||||||
|
{
|
||||||
|
KM3EndItem(item->ItemNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(item->ItemNo == Sub3ItemType14Jjdw) //加减档单独处理
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else //20240731
|
||||||
|
{
|
||||||
|
if(item->Item_Color == itemStateWk) //&& item->FinishFlag == false
|
||||||
|
{
|
||||||
|
KM3EndItem(item->ItemNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ExamCarSub3::finishExamBroad()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
程军华-多伦科技 2025-04-25
|
||||||
|
不合格的:
|
||||||
|
302=4、5、7、8,考试模式,自动退出;
|
||||||
|
302=1,考试模式,报:考试结束.wav
|
||||||
|
302=3,报:考试结束.wav
|
||||||
|
|
||||||
|
考试完成,合格的:
|
||||||
|
302=8,延迟n秒退出
|
||||||
|
302=7,自动退出
|
||||||
|
|
||||||
|
靠边完成,且考试完成的:
|
||||||
|
302=4,自动退出
|
||||||
|
302=5,不合格,自动退出
|
||||||
|
302=6,合格,自动退出
|
||||||
|
|
||||||
|
考试完成,指的是必考项目完成,里程完成
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool finish = true;
|
||||||
|
for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++)
|
||||||
|
{
|
||||||
|
const TKM3Item* item = it->second->getExamItem();
|
||||||
|
if(item->Item_Color == itemStateWk || item->Item_Color == itemStateZk)
|
||||||
|
{
|
||||||
|
finish = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool play_zhpp = false;
|
||||||
|
bool play_ksjs = false;
|
||||||
|
bool mileage = isMileage();
|
||||||
|
bool qualified = isQualified();
|
||||||
|
bool exam = isExamMode();
|
||||||
|
const std::string& s302 = TableSysSet->get302();
|
||||||
|
if(s302 == "0")
|
||||||
|
{
|
||||||
|
if(mileage && finish && qualified)
|
||||||
|
{
|
||||||
|
play_zhpp = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(s302 == "1")
|
||||||
|
{
|
||||||
|
if(mileage && finish && qualified)
|
||||||
|
{
|
||||||
|
play_zhpp = true;
|
||||||
|
}
|
||||||
|
if(exam && !qualified)
|
||||||
|
{
|
||||||
|
play_ksjs = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(s302 == "2")
|
||||||
|
{
|
||||||
|
if(mileage && finish && qualified)
|
||||||
|
{
|
||||||
|
play_zhpp = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(s302 == "3")
|
||||||
|
{
|
||||||
|
if(mileage && finish && qualified)
|
||||||
|
{
|
||||||
|
play_zhpp = true;
|
||||||
|
}
|
||||||
|
if(!qualified)
|
||||||
|
{
|
||||||
|
play_ksjs = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(s302 == "4")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else if(s302 == "5")
|
||||||
|
{
|
||||||
|
if(mileage && finish && qualified)
|
||||||
|
{
|
||||||
|
play_zhpp = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(s302 == "6")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else if(s302 == "7")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else if(s302 == "8")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if(play_zhpp)
|
||||||
|
{
|
||||||
|
if(!m_pub.play_finish)
|
||||||
|
{
|
||||||
|
m_pub.play_finish = true;
|
||||||
|
createEventSound({Sub3ItemType20Comm, sound::sub3_zhpp}); //请考官综合评判
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(play_ksjs)
|
||||||
|
{
|
||||||
|
if(!m_pub.play_finish)
|
||||||
|
{
|
||||||
|
m_pub.play_finish = true;
|
||||||
|
createEventSound({Sub3ItemType20Comm, sound::sub3_ksjs}); //考试结束
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ExamCarSub3::calcToLaneArc(const TModelLine& Lxx, const TModelPolygon& poly, const Pointi& b1, const Pointi& pt, int& dm, bool cross)
|
bool ExamCarSub3::calcToLaneArc(const TModelLine& Lxx, const TModelPolygon& poly, const Pointi& b1, const Pointi& pt, int& dm, bool cross)
|
||||||
|
|||||||
@ -24,7 +24,6 @@ public:
|
|||||||
public: //for IExamCar override
|
public: //for IExamCar override
|
||||||
virtual ErrorCode examCarInitInfo(TInitInfo* info) override;
|
virtual ErrorCode examCarInitInfo(TInitInfo* info) override;
|
||||||
virtual ErrorCode examBeginExam() override;
|
virtual ErrorCode examBeginExam() override;
|
||||||
virtual ErrorCode examGoonExam() override;
|
|
||||||
virtual ErrorCode examEndExam() override;
|
virtual ErrorCode examEndExam() override;
|
||||||
virtual ErrorCode examJudgeExam() override;
|
virtual ErrorCode examJudgeExam() override;
|
||||||
virtual ErrorCode examArtifMark(ExamItemCode itemno, const std::string& serial, MarkType type) override;
|
virtual ErrorCode examArtifMark(ExamItemCode itemno, const std::string& serial, MarkType type) override;
|
||||||
@ -78,7 +77,8 @@ protected:
|
|||||||
void dealOffset(); //行驶距离补偿
|
void dealOffset(); //行驶距离补偿
|
||||||
|
|
||||||
void dealItemNoIDEndItem();
|
void dealItemNoIDEndItem();
|
||||||
void dealItemNoIDEnd14Jjdw();
|
|
||||||
|
void finishExamBroad();
|
||||||
|
|
||||||
bool calcToLaneArc(const TModelLine& Lxx, const TModelPolygon& poly, const Pointi& b1, const Pointi& pt, int& dm, bool cross=false);
|
bool calcToLaneArc(const TModelLine& Lxx, const TModelPolygon& poly, const Pointi& b1, const Pointi& pt, int& dm, bool cross=false);
|
||||||
bool calcToLaneArc2(const TModelLine& Lxx, const TModelPolygon& area, const Pointi& b1, const Pointi& pt, int& dm, bool cross=false);
|
bool calcToLaneArc2(const TModelLine& Lxx, const TModelPolygon& area, const Pointi& b1, const Pointi& pt, int& dm, bool cross=false);
|
||||||
|
|||||||
@ -107,12 +107,6 @@ int IExamCar::examJudgeBeginExam(const char* data, int len)
|
|||||||
{
|
{
|
||||||
return QE((ErrorCode)errCode);
|
return QE((ErrorCode)errCode);
|
||||||
}
|
}
|
||||||
//处理断点续考
|
|
||||||
errCode = examGoonExam();
|
|
||||||
if(errCode != codeSuccess)
|
|
||||||
{
|
|
||||||
return QE((ErrorCode)errCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_examState = examStateIng;
|
m_examState = examStateIng;
|
||||||
logtrace("begin-exam success %s", target().c_str());
|
logtrace("begin-exam success %s", target().c_str());
|
||||||
|
|||||||
@ -122,7 +122,6 @@ public:
|
|||||||
public:
|
public:
|
||||||
virtual ErrorCode examCarInitInfo(TInitInfo* info) = 0;
|
virtual ErrorCode examCarInitInfo(TInitInfo* info) = 0;
|
||||||
virtual ErrorCode examBeginExam() = 0;
|
virtual ErrorCode examBeginExam() = 0;
|
||||||
virtual ErrorCode examGoonExam() = 0;
|
|
||||||
virtual ErrorCode examEndExam() = 0;
|
virtual ErrorCode examEndExam() = 0;
|
||||||
virtual ErrorCode examJudgeExam() = 0;
|
virtual ErrorCode examJudgeExam() = 0;
|
||||||
virtual ErrorCode examArtifMark(ExamItemCode itemno, const std::string& serial, MarkType type) = 0;
|
virtual ErrorCode examArtifMark(ExamItemCode itemno, const std::string& serial, MarkType type) = 0;
|
||||||
|
|||||||
@ -325,7 +325,8 @@ void Sub2Judge00Dcrk::divorcedItemArea()
|
|||||||
bool out = ((!in0 && in1) || !pureCarInItemArea()); //阶段10,后轮先不在项目区域结束项目,然后才会走道这里
|
bool out = ((!in0 && in1) || !pureCarInItemArea()); //阶段10,后轮先不在项目区域结束项目,然后才会走道这里
|
||||||
#else
|
#else
|
||||||
//bool out = (!pureCarInItemArea());
|
//bool out = (!pureCarInItemArea());
|
||||||
bool out = pureCarTouchSoloLine(m_model->L12_10(), II(13), 5);
|
bool out = pureCarTouchSoloLines({m_model->L12_10(), m_model->L78_11()}, II(13), 5) &&
|
||||||
|
!pureCarPointInPoly(II(1), m_model->poly1278());
|
||||||
#endif
|
#endif
|
||||||
if(out)
|
if(out)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -166,10 +166,19 @@ JUDGE_STAGE_IMPL(Sub2Judge02Pdqb, Sub2PdqbStage0)
|
|||||||
TGPSPoint pt2 = GpsMath::calcCenterPoint(m_model->P4(), m_model->P7());
|
TGPSPoint pt2 = GpsMath::calcCenterPoint(m_model->P4(), m_model->P7());
|
||||||
double gc = FactorySub2Survey->baseGc();
|
double gc = FactorySub2Survey->baseGc();
|
||||||
int distance = GpsMath::DianXianJL_GPS_CM(p1, pt1, pt2, gc);
|
int distance = GpsMath::DianXianJL_GPS_CM(p1, pt1, pt2, gc);
|
||||||
if(distance < m_800CM)
|
|
||||||
|
const std::string& s629 = TableSysSet->get629();
|
||||||
|
if(s629 == "1")
|
||||||
{
|
{
|
||||||
m_stage = Sub2PdqbStage1;
|
m_stage = Sub2PdqbStage1;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(distance < m_1000CM)
|
||||||
|
{
|
||||||
|
m_stage = Sub2PdqbStage1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(m_endLineFlag == true)
|
if(m_endLineFlag == true)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -49,7 +49,7 @@ private:
|
|||||||
const int m_15CM = 15; //15厘米
|
const int m_15CM = 15; //15厘米
|
||||||
const int m_30CM = 30; //30厘米
|
const int m_30CM = 30; //30厘米
|
||||||
const int m_50CM = 50; //50厘米
|
const int m_50CM = 50; //50厘米
|
||||||
const int m_800CM = 800; //800厘米
|
const int m_1000CM = 1000; //1000厘米
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SUB2JUDGE02PDQB_H
|
#endif // SUB2JUDGE02PDQB_H
|
||||||
|
|||||||
@ -84,11 +84,12 @@ void Sub2Judge05Qxxs::judgeTouchLine()
|
|||||||
const TGPSPoints& right = m_model->right();
|
const TGPSPoints& right = m_model->right();
|
||||||
if(IS_C1C2C5(m_carType))
|
if(IS_C1C2C5(m_carType))
|
||||||
{
|
{
|
||||||
//1、车轮压线(存粹车轮) //只用车轮子计算
|
//1、车轮压线(纯粹车轮)只用车轮子计算
|
||||||
static constexpr int history = 2;
|
//注意:由于GPS可能漂移不能用这种方式计算,用历史车轮点判断会误判,无锡就出现这种情况 yhy 2025-04-23
|
||||||
const PointSets& wheels = m_car->carModel()->wheelAll();
|
//static constexpr int history = 2;
|
||||||
JUDGE_MARK_ITEM_EASY_ONCE(pureCarTouchSomePoints(left, wheels, history), MARK_SUB2_QXXS_61);
|
//const PointSets& wheels = m_car->carModel()->wheelAll();
|
||||||
JUDGE_MARK_ITEM_EASY_ONCE(pureCarTouchSomePoints(right, wheels, history), MARK_SUB2_QXXS_62);
|
//JUDGE_MARK_ITEM_EASY_ONCE(pureCarTouchSomePoints(left, wheels, history), MARK_SUB2_QXXS_61);
|
||||||
|
//JUDGE_MARK_ITEM_EASY_ONCE(pureCarTouchSomePoints(right, wheels, history), MARK_SUB2_QXXS_62);
|
||||||
|
|
||||||
//2、排线和边线相交,也算压线
|
//2、排线和边线相交,也算压线
|
||||||
const PointPairs& wind = m_car->carModel()->wheelWindAll();
|
const PointPairs& wind = m_car->carModel()->wheelWindAll();
|
||||||
|
|||||||
@ -1277,10 +1277,6 @@ void Sub3Judge11Kbtc::DoStatus_100()
|
|||||||
//ToDo: 语音提示-->请起步,继续完成考试
|
//ToDo: 语音提示-->请起步,继续完成考试
|
||||||
m_car->createEventSound({itemNo(), sound::sub3_406005});
|
m_car->createEventSound({itemNo(), sound::sub3_406005});
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
m_car->createEventSound({itemNo(), sound::sub3_zhpp}); //请考官综合评判
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sub3Judge11Kbtc::Judge_KBTC_YaXian()
|
void Sub3Judge11Kbtc::Judge_KBTC_YaXian()
|
||||||
|
|||||||
@ -2394,7 +2394,8 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian()
|
|||||||
|
|
||||||
const TChuanGan* his1 = m_car->historyChuanGan(1);
|
const TChuanGan* his1 = m_car->historyChuanGan(1);
|
||||||
const TChuanGan* his2 = m_car->historyChuanGan(2);
|
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++)
|
for(size_t i = 0; i < kind.size(); i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -558,8 +558,8 @@ JUDGE_CXX_API const char* stage2Describe(Sub2CftcStage code);
|
|||||||
#define MARK_SUB2_PDQB_203 "203"
|
#define MARK_SUB2_PDQB_203 "203"
|
||||||
#define MARK_SUB2_PDQB_41 "41"
|
#define MARK_SUB2_PDQB_41 "41"
|
||||||
#define EnumMakeSub2PdqbStage(declare) \
|
#define EnumMakeSub2PdqbStage(declare) \
|
||||||
declare(Sub2PdqbStage0, "", JUDGE_UTF8S("距离停车标杆大于8米")) \
|
declare(Sub2PdqbStage0, "", JUDGE_UTF8S("距离停车标杆大于10米")) \
|
||||||
declare(Sub2PdqbStage1, "", JUDGE_UTF8S("到达标杆8米处,未停车")) \
|
declare(Sub2PdqbStage1, "", JUDGE_UTF8S("到达标杆10米处,未停车")) \
|
||||||
declare(Sub2PdqbStage2, "", JUDGE_UTF8S("停车未起步阶段")) \
|
declare(Sub2PdqbStage2, "", JUDGE_UTF8S("停车未起步阶段")) \
|
||||||
declare(Sub2PdqbStage3, "", JUDGE_UTF8S("坡道起步阶段(后轮到达8,9位置结束)"))
|
declare(Sub2PdqbStage3, "", JUDGE_UTF8S("坡道起步阶段(后轮到达8,9位置结束)"))
|
||||||
enum Sub2PdqbStage{ EnumMakeSub2PdqbStage(ENUM_SELECT_1_CMD_3) Sub2PdqbStageUnknown };
|
enum Sub2PdqbStage{ EnumMakeSub2PdqbStage(ENUM_SELECT_1_CMD_3) Sub2PdqbStageUnknown };
|
||||||
|
|||||||
@ -457,9 +457,9 @@ struct TStuInfo
|
|||||||
int64 kskssj = 0; //考试开始时间 1970年到现在的毫秒数 "2023-03-21 10:05:23"
|
int64 kskssj = 0; //考试开始时间 1970年到现在的毫秒数 "2023-03-21 10:05:23"
|
||||||
std::vector<TItemExam> ksxm = {}; //监管返回本次考试所需项目 2023-04-24 杨海洋修改
|
std::vector<TItemExam> ksxm = {}; //监管返回本次考试所需项目 2023-04-24 杨海洋修改
|
||||||
std::vector<int32> ykxm = {}; //已考项目 "1,3" 对应枚举 ExamItemCode DuanDian_FinishItems
|
std::vector<int32> ykxm = {}; //已考项目 "1,3" 对应枚举 ExamItemCode DuanDian_FinishItems
|
||||||
|
std::vector<TKfXm> kfxm = {}; //扣分项目 "20,01;" 对应枚举 ExamItemCode DuanDian_Marks
|
||||||
int8 ddxk = 0; //是否断点续考,(0-否 1-是)
|
int8 ddxk = 0; //是否断点续考,(0-否 1-是)
|
||||||
int64 ddkssj = 0; //考试中断那次考试开始考试时间 1970年到现在的毫秒数
|
int64 ddkssj = 0; //考试中断那次考试开始考试时间 1970年到现在的毫秒数
|
||||||
std::vector<TKfXm> kfxm = {}; //扣分项目 "20,01;" 对应枚举 ExamItemCode DuanDian_Marks
|
|
||||||
int32 yklc = 0; //已考里程,单位厘米
|
int32 yklc = 0; //已考里程,单位厘米
|
||||||
|
|
||||||
int8 sczb = 0; //CS_Finish_SCZB_Flag:Boolan; //考前绕车一周(初始完成上车准备标志)(外壳传递的)Boolan
|
int8 sczb = 0; //CS_Finish_SCZB_Flag:Boolan; //考前绕车一周(初始完成上车准备标志)(外壳传递的)Boolan
|
||||||
@ -1596,6 +1596,8 @@ struct TPubKM3
|
|||||||
int m_KsZgSs = 0; //记录考试中的最高时速
|
int m_KsZgSs = 0; //记录考试中的最高时速
|
||||||
//int m_KsLjLc = 0; //记录考试累计里程(米)
|
//int m_KsLjLc = 0; //记录考试累计里程(米)
|
||||||
|
|
||||||
|
bool play_finish = false;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -115,7 +115,17 @@ QString addContent(QString& out, const QString& name, const QString& info)
|
|||||||
|
|
||||||
void setStyleComboBox(QComboBox* combo, int count, int width)
|
void setStyleComboBox(QComboBox* combo, int count, int width)
|
||||||
{
|
{
|
||||||
combo->setStyle(QStyleFactory::create("Windows"));
|
constexpr static bool Fusion = true;
|
||||||
|
if(Fusion)
|
||||||
|
{
|
||||||
|
combo->setStyle(QStyleFactory::create("Fusion"));
|
||||||
|
combo->setStyleSheet("QComboBox { combobox-popup: 0; }");
|
||||||
|
combo->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
combo->setStyle(QStyleFactory::create("Windows"));
|
||||||
|
}
|
||||||
combo->setMaxVisibleItems(count);
|
combo->setMaxVisibleItems(count);
|
||||||
combo->view()->setMinimumWidth(width);
|
combo->view()->setMinimumWidth(width);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,6 +45,10 @@
|
|||||||
#include <QListWidgetItem>
|
#include <QListWidgetItem>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
#include <QStandardItem>
|
||||||
|
#include <QStandardItemModel>
|
||||||
|
#include <QStyledItemDelegate>
|
||||||
|
#include <QStyleOptionViewItem>
|
||||||
#include <QQueue>
|
#include <QQueue>
|
||||||
#include <QScrollArea>
|
#include <QScrollArea>
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
|
|||||||
@ -71,15 +71,7 @@ void MainWindow::init()
|
|||||||
KIT_CONNECT(updateNextDoing());
|
KIT_CONNECT(updateNextDoing());
|
||||||
KIT_CONNECT(updateCheckVersion(int, const QString&));
|
KIT_CONNECT(updateCheckVersion(int, const QString&));
|
||||||
|
|
||||||
//connect(&m_audio, SIGNAL(QMediaPlayer::error(QMediaPlayer::Error)),
|
connect(&m_audio, SIGNAL(error(QMediaPlayer::Error)), this, SLOT(slot_soundError(QMediaPlayer::Error)));
|
||||||
// SLOT([&](QMediaPlayer::Error error)
|
|
||||||
// {
|
|
||||||
// QMediaPlayer::Error err = m_audio.error();
|
|
||||||
// QString errStr = m_audio.errorString();
|
|
||||||
//
|
|
||||||
// logwarning("paly-audio file:%s, err:%d-%s ",
|
|
||||||
// filepath.toUtf8().data(), err, errStr.toUtf8().data());
|
|
||||||
// }));
|
|
||||||
|
|
||||||
m_ui->loop->clear();
|
m_ui->loop->clear();
|
||||||
m_ui->loop->addItem(CL8("否"), false);
|
m_ui->loop->addItem(CL8("否"), false);
|
||||||
@ -148,8 +140,9 @@ void MainWindow::init()
|
|||||||
//QString addr = kit::getMacAddress();
|
//QString addr = kit::getMacAddress();
|
||||||
//std::string md5s = Tools::md5sum(addr.toLocal8Bit().data());
|
//std::string md5s = Tools::md5sum(addr.toLocal8Bit().data());
|
||||||
//logtrace("uuid=[%s][%s]", addr.toUtf8().data(), md5s.data());
|
//logtrace("uuid=[%s][%s]", addr.toUtf8().data(), md5s.data());
|
||||||
logtrace("version-sdk=[%s][%s][%s]", JUDGE_VERSION_STR, JUDGE_VERSION_INFO, examJudgeVersion());
|
logtrace("version-sdk=[%s][%s][%s],version-toolkit=[%s]",
|
||||||
logtrace("version-kit=[%s]", KIT_VERSION_INFO);
|
JUDGE_VERSION_STR, JUDGE_VERSION_INFO, examJudgeVersion(),
|
||||||
|
KIT_VERSION_INFO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -297,7 +290,7 @@ void MainWindow::wheelEvent(QWheelEvent *event)
|
|||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::resizeEvent(QResizeEvent *event)
|
void MainWindow::resizeEvent(QResizeEvent* event)
|
||||||
{
|
{
|
||||||
QMainWindow::resizeEvent(event);
|
QMainWindow::resizeEvent(event);
|
||||||
//QRect geome = geometry();
|
//QRect geome = geometry();
|
||||||
@ -638,6 +631,13 @@ void MainWindow::updateCheckVersion(int state, const QString& info)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::slot_soundError(QMediaPlayer::Error error)
|
||||||
|
{
|
||||||
|
QMediaPlayer::Error err = m_audio.error();
|
||||||
|
QString errStr = m_audio.errorString();
|
||||||
|
logwarning("play-audio err:%d-%d-%s", err, error, errStr.toUtf8().data());
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::on_btnClearLog_clicked()
|
void MainWindow::on_btnClearLog_clicked()
|
||||||
{
|
{
|
||||||
m_logInfo->resetLog();
|
m_logInfo->resetLog();
|
||||||
@ -851,19 +851,12 @@ void MainWindow::on_displaySwitch_clicked()
|
|||||||
{
|
{
|
||||||
m_realExam->switchDisplay();
|
m_realExam->switchDisplay();
|
||||||
|
|
||||||
//CpuOccupyInfo occ;
|
//const char* data = examPeerOccupy();
|
||||||
//
|
//TOccupyInfo occ;
|
||||||
//bool usage = Tools::peerOccupyCpu(occ);
|
//if(!XParser::fromAny(data, occ))
|
||||||
//int cores = Tools::getCpuProcessors();
|
//{
|
||||||
//logtrace("CPU Usage:%0.4f cores=%d ", usage, cores);
|
// return;
|
||||||
|
//}
|
||||||
const char* data = examPeerOccupy();
|
//logtrace("occupy=%s", data);
|
||||||
TOccupyInfo occ;
|
//examFreeMemory(data);
|
||||||
if(!XParser::fromAny(data, occ))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
logtrace("occupy=%s", data);
|
|
||||||
examFreeMemory(data);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,7 +65,7 @@ protected:
|
|||||||
virtual void mousePressEvent(QMouseEvent* event) override;
|
virtual void mousePressEvent(QMouseEvent* event) override;
|
||||||
virtual void wheelEvent(QWheelEvent* event) override; //鼠标滚轮滚动事件
|
virtual void wheelEvent(QWheelEvent* event) override; //鼠标滚轮滚动事件
|
||||||
// 当窗口尺寸改变时,会调用这个方法
|
// 当窗口尺寸改变时,会调用这个方法
|
||||||
virtual void resizeEvent(QResizeEvent *event) override;
|
virtual void resizeEvent(QResizeEvent* event) override;
|
||||||
signals:
|
signals:
|
||||||
void sig_init();
|
void sig_init();
|
||||||
|
|
||||||
@ -86,7 +86,8 @@ private slots: //Q_SLOTS
|
|||||||
void updateNextDoing();
|
void updateNextDoing();
|
||||||
void updateCheckVersion(int state, const QString& info);
|
void updateCheckVersion(int state, const QString& info);
|
||||||
|
|
||||||
private slots:
|
void slot_soundError(QMediaPlayer::Error error);
|
||||||
|
|
||||||
void on_btnClearLog_clicked();
|
void on_btnClearLog_clicked();
|
||||||
void on_btnSelectTrackFile_clicked();
|
void on_btnSelectTrackFile_clicked();
|
||||||
void on_btnRunning_clicked();
|
void on_btnRunning_clicked();
|
||||||
|
|||||||
@ -68,10 +68,10 @@ background-color: rgb(255, 255, 255);</string>
|
|||||||
<widget class="QPushButton" name="btnSelectTrackFile">
|
<widget class="QPushButton" name="btnSelectTrackFile">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1530</x>
|
<x>1534</x>
|
||||||
<y>790</y>
|
<y>790</y>
|
||||||
<width>44</width>
|
<width>42</width>
|
||||||
<height>26</height>
|
<height>25</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -81,10 +81,10 @@ background-color: rgb(255, 255, 255);</string>
|
|||||||
<widget class="QTextEdit" name="outputLog">
|
<widget class="QTextEdit" name="outputLog">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>932</x>
|
<x>933</x>
|
||||||
<y>644</y>
|
<y>644</y>
|
||||||
<width>642</width>
|
<width>642</width>
|
||||||
<height>143</height>
|
<height>144</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
@ -106,7 +106,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QPushButton" name="btnClearLog">
|
<widget class="QPushButton" name="btnClearLog">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1500</x>
|
<x>1502</x>
|
||||||
<y>616</y>
|
<y>616</y>
|
||||||
<width>73</width>
|
<width>73</width>
|
||||||
<height>26</height>
|
<height>26</height>
|
||||||
@ -413,7 +413,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<rect>
|
<rect>
|
||||||
<x>600</x>
|
<x>600</x>
|
||||||
<y>180</y>
|
<y>180</y>
|
||||||
<width>111</width>
|
<width>121</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -426,7 +426,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<rect>
|
<rect>
|
||||||
<x>600</x>
|
<x>600</x>
|
||||||
<y>163</y>
|
<y>163</y>
|
||||||
<width>111</width>
|
<width>121</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -580,7 +580,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QPushButton" name="btnRunning">
|
<widget class="QPushButton" name="btnRunning">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1500</x>
|
<x>1502</x>
|
||||||
<y>495</y>
|
<y>495</y>
|
||||||
<width>73</width>
|
<width>73</width>
|
||||||
<height>28</height>
|
<height>28</height>
|
||||||
@ -635,9 +635,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>4</y>
|
<y>4</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -660,9 +660,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>38</y>
|
<y>38</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -685,9 +685,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>38</y>
|
<y>38</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -710,9 +710,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>72</y>
|
<y>72</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -735,9 +735,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>72</y>
|
<y>72</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -760,9 +760,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>106</y>
|
<y>106</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -785,9 +785,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>106</y>
|
<y>106</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -810,9 +810,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>140</y>
|
<y>140</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -835,9 +835,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>140</y>
|
<y>140</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -860,9 +860,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>174</y>
|
<y>174</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -885,9 +885,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>174</y>
|
<y>174</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -913,9 +913,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>208</y>
|
<y>208</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -938,9 +938,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>208</y>
|
<y>208</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -963,9 +963,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>242</y>
|
<y>242</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -988,9 +988,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>276</y>
|
<y>276</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1013,9 +1013,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>310</y>
|
<y>310</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1038,9 +1038,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>242</y>
|
<y>242</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1063,9 +1063,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>276</y>
|
<y>276</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1088,9 +1088,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>310</y>
|
<y>310</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1115,7 +1115,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<rect>
|
<rect>
|
||||||
<x>2</x>
|
<x>2</x>
|
||||||
<y>644</y>
|
<y>644</y>
|
||||||
<width>710</width>
|
<width>717</width>
|
||||||
<height>174</height>
|
<height>174</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1144,9 +1144,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>344</y>
|
<y>344</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1169,9 +1169,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>344</y>
|
<y>344</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1194,9 +1194,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>377</y>
|
<y>377</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1219,9 +1219,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>824</x>
|
<x>827</x>
|
||||||
<y>377</y>
|
<y>377</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1244,9 +1244,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>780</x>
|
<x>786</x>
|
||||||
<y>416</y>
|
<y>416</y>
|
||||||
<width>51</width>
|
<width>48</width>
|
||||||
<height>30</height>
|
<height>30</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1263,7 +1263,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:600; font-style:normal;">
|
</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:600; font-style:normal;">
|
||||||
<p align="center" dir='rtl' style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QTextEdit" name="item00">
|
<widget class="QTextEdit" name="item00">
|
||||||
@ -1272,9 +1272,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>4</y>
|
<y>4</y>
|
||||||
<width>101</width>
|
<width>98</width>
|
||||||
<height>31</height>
|
<height>31</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1474,9 +1474,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="Line" name="borderBottom_5">
|
<widget class="Line" name="borderBottom_5">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>715</x>
|
<x>722</x>
|
||||||
<y>402</y>
|
<y>402</y>
|
||||||
<width>215</width>
|
<width>206</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1529,7 +1529,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QLineEdit" name="playTimes">
|
<widget class="QLineEdit" name="playTimes">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1500</x>
|
<x>1502</x>
|
||||||
<y>526</y>
|
<y>526</y>
|
||||||
<width>73</width>
|
<width>73</width>
|
||||||
<height>28</height>
|
<height>28</height>
|
||||||
@ -1542,7 +1542,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QLabel" name="cg_dcj_6">
|
<widget class="QLabel" name="cg_dcj_6">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1448</x>
|
<x>1450</x>
|
||||||
<y>527</y>
|
<y>527</y>
|
||||||
<width>51</width>
|
<width>51</width>
|
||||||
<height>30</height>
|
<height>30</height>
|
||||||
@ -1555,7 +1555,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QLabel" name="cg_dcj_7">
|
<widget class="QLabel" name="cg_dcj_7">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>420</y>
|
<y>420</y>
|
||||||
<width>61</width>
|
<width>61</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
@ -1570,7 +1570,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<rect>
|
<rect>
|
||||||
<x>933</x>
|
<x>933</x>
|
||||||
<y>790</y>
|
<y>790</y>
|
||||||
<width>592</width>
|
<width>596</width>
|
||||||
<height>26</height>
|
<height>26</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1597,7 +1597,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QLabel" name="cg_dcj_9">
|
<widget class="QLabel" name="cg_dcj_9">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1448</x>
|
<x>1450</x>
|
||||||
<y>557</y>
|
<y>557</y>
|
||||||
<width>51</width>
|
<width>51</width>
|
||||||
<height>26</height>
|
<height>26</height>
|
||||||
@ -1610,7 +1610,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QComboBox" name="loop">
|
<widget class="QComboBox" name="loop">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>1500</x>
|
<x>1502</x>
|
||||||
<y>557</y>
|
<y>557</y>
|
||||||
<width>73</width>
|
<width>73</width>
|
||||||
<height>26</height>
|
<height>26</height>
|
||||||
@ -1635,7 +1635,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<rect>
|
<rect>
|
||||||
<x>400</x>
|
<x>400</x>
|
||||||
<y>277</y>
|
<y>277</y>
|
||||||
<width>315</width>
|
<width>322</width>
|
||||||
<height>2</height>
|
<height>2</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1646,7 +1646,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="Line" name="borderRight_3">
|
<widget class="Line" name="borderRight_3">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>705</x>
|
<x>712</x>
|
||||||
<y>2</y>
|
<y>2</y>
|
||||||
<width>20</width>
|
<width>20</width>
|
||||||
<height>810</height>
|
<height>810</height>
|
||||||
@ -1662,9 +1662,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>714</x>
|
<x>721</x>
|
||||||
<y>644</y>
|
<y>644</y>
|
||||||
<width>216</width>
|
<width>209</width>
|
||||||
<height>174</height>
|
<height>174</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1699,9 +1699,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QLabel" name="pe_markGrade">
|
<widget class="QLabel" name="pe_markGrade">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>450</y>
|
<y>450</y>
|
||||||
<width>161</width>
|
<width>171</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1712,9 +1712,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QSlider" name="playSlider">
|
<widget class="QSlider" name="playSlider">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>939</x>
|
<x>934</x>
|
||||||
<y>592</y>
|
<y>590</y>
|
||||||
<width>550</width>
|
<width>562</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -1877,9 +1877,9 @@ QSlider::sub-page:horizontal
|
|||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>835</x>
|
<x>838</x>
|
||||||
<y>416</y>
|
<y>416</y>
|
||||||
<width>88</width>
|
<width>86</width>
|
||||||
<height>30</height>
|
<height>30</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -2051,7 +2051,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<rect>
|
<rect>
|
||||||
<x>536</x>
|
<x>536</x>
|
||||||
<y>286</y>
|
<y>286</y>
|
||||||
<width>171</width>
|
<width>176</width>
|
||||||
<height>334</height>
|
<height>334</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -2068,9 +2068,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="Line" name="borderRight_4">
|
<widget class="Line" name="borderRight_4">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>520</x>
|
<x>526</x>
|
||||||
<y>278</y>
|
<y>278</y>
|
||||||
<width>20</width>
|
<width>10</width>
|
||||||
<height>366</height>
|
<height>366</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -2119,7 +2119,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QLabel" name="perform">
|
<widget class="QLabel" name="perform">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>720</x>
|
<x>726</x>
|
||||||
<y>472</y>
|
<y>472</y>
|
||||||
<width>201</width>
|
<width>201</width>
|
||||||
<height>106</height>
|
<height>106</height>
|
||||||
@ -2158,10 +2158,10 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QTableWidget" name="radarTable">
|
<widget class="QTableWidget" name="radarTable">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>4</x>
|
<x>2</x>
|
||||||
<y>428</y>
|
<y>428</y>
|
||||||
<width>392</width>
|
<width>394</width>
|
||||||
<height>212</height>
|
<height>214</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@ -2232,7 +2232,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>显示切换</string>
|
<string>切换显示</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|||||||
@ -314,13 +314,9 @@ export default class UdpClientByCenter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
strachArr[28] = globalThis.chuankoMsg || strachArr[28]
|
strachArr[28] = globalThis.chuankoMsg || strachArr[28]
|
||||||
// console.log("lixiao", globalThis.chuankoMsg, strachArr[28])
|
console.log("lixiao", globalThis.chuankoMsg, strachArr[28])
|
||||||
// this.stashFn(str)
|
|
||||||
const newArr = JSON.parse(JSON.stringify(strachArr))
|
const newArr = JSON.parse(JSON.stringify(strachArr))
|
||||||
// this.writeLog({
|
|
||||||
// time:dateFormat(new Date()),
|
|
||||||
// PLC: JSON.stringify(newArr.toString()),
|
|
||||||
// })
|
|
||||||
if (strachArr[83] != '4') {
|
if (strachArr[83] != '4') {
|
||||||
console.log('差分状态异常', strachArr[83], strachArr[92])
|
console.log('差分状态异常', strachArr[83], strachArr[92])
|
||||||
this.writeLog({
|
this.writeLog({
|
||||||
|
|||||||
@ -60,7 +60,7 @@ struct Index {
|
|||||||
private context = getContext(this) as common.UIAbilityContext;
|
private context = getContext(this) as common.UIAbilityContext;
|
||||||
private serviceExtProxy: IdlServiceExtProxy
|
private serviceExtProxy: IdlServiceExtProxy
|
||||||
@State judgeVersion: string = ""
|
@State judgeVersion: string = ""
|
||||||
private version: string = "2025.04.23.01"
|
private version: string = "2025.05.06.01"
|
||||||
|
|
||||||
@Styles
|
@Styles
|
||||||
commStyle(){
|
commStyle(){
|
||||||
|
|||||||
@ -1,11 +1,7 @@
|
|||||||
import router from '@ohos.router';
|
import router from '@ohos.router';
|
||||||
import UdpClient from '../../common/utils/UdpClient';
|
|
||||||
import FileLog from '../judgeSDK/utils/fileLog';
|
|
||||||
import RealTime from '../compontents/judge/RealTime';
|
import RealTime from '../compontents/judge/RealTime';
|
||||||
import { GPSData, SignalData } from '../../mock';
|
import { GPSData, SignalData } from '../../mock';
|
||||||
import { SignalDataType } from '../../model';
|
import { SignalDataType } from '../../model';
|
||||||
import FileUtil from '../../common/utils/File'
|
|
||||||
import { GlobalConfig } from '../../config/index'
|
|
||||||
@Component
|
@Component
|
||||||
export default struct SignDisplayCom {
|
export default struct SignDisplayCom {
|
||||||
@State showBack: boolean = false
|
@State showBack: boolean = false
|
||||||
@ -23,10 +19,6 @@ export default struct SignDisplayCom {
|
|||||||
@State interval: number = 0
|
@State interval: number = 0
|
||||||
@State @Watch('outClick') outFlag: boolean = false;
|
@State @Watch('outClick') outFlag: boolean = false;
|
||||||
@State url: string = ''
|
@State url: string = ''
|
||||||
private timer = null
|
|
||||||
private udpClient: UdpClient = null
|
|
||||||
private FileLog: FileLog
|
|
||||||
private vocObj = null;
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super()
|
super()
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
import router from '@ohos.router';
|
import router from '@ohos.router';
|
||||||
import UdpClient from '../../common/utils/UdpClient';
|
|
||||||
import FileLog from '../judgeSDK/utils/fileLog';
|
|
||||||
import RealTime from '../compontents/judge/RealTime';
|
import RealTime from '../compontents/judge/RealTime';
|
||||||
import { GPSData, SignalData } from '../../mock';
|
import { GPSData, SignalData } from '../../mock';
|
||||||
import { SignalDataType } from '../../model';
|
import { SignalDataType } from '../../model';
|
||||||
@ -22,10 +20,6 @@ export default struct SignDisplayCom {
|
|||||||
@State interval: number = 0
|
@State interval: number = 0
|
||||||
@State @Watch('outClick') outFlag: boolean = false;
|
@State @Watch('outClick') outFlag: boolean = false;
|
||||||
@State url: string = ''
|
@State url: string = ''
|
||||||
private timer = null
|
|
||||||
private udpClient: UdpClient = null
|
|
||||||
private FileLog: FileLog
|
|
||||||
private vocObj = null;
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super()
|
super()
|
||||||
|
|||||||
@ -12,4 +12,3 @@ A2kAMGYCMQCZzMs9H/mMi+59hO4EfDHTXChO6QoBYH+pwB66g7dw7apGXhayBIwq
|
|||||||
qOeVnlTVbPkCMQCc2hQf+ypiZpZQog1dMSGdlNs8heypj97d7DahjTgEzrxGxcZK
|
qOeVnlTVbPkCMQCc2hQf+ypiZpZQog1dMSGdlNs8heypj97d7DahjTgEzrxGxcZK
|
||||||
PtMtg35cJa+JtN4=
|
PtMtg35cJa+JtN4=
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
071A11E92B83EE8977A794F1B387ADA40780BFF19C301A5C63F407531B2C2C1A
|
|
||||||
Loading…
x
Reference in New Issue
Block a user