新评判打包
This commit is contained in:
parent
773f7af44b
commit
bd4c88be60
Binary file not shown.
@ -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 "2504171042b"
|
#define JUDGE_VERSION_STAMP "2504191100b"
|
||||||
#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"
|
||||||
|
|||||||
@ -121,6 +121,7 @@ namespace siteof
|
|||||||
siteof_declare(JXYTSF001);
|
siteof_declare(JXYTSF001);
|
||||||
siteof_declare(hnzzkm3);
|
siteof_declare(hnzzkm3);
|
||||||
siteof_declare(jswxbz);
|
siteof_declare(jswxbz);
|
||||||
|
siteof_declare(scms);
|
||||||
siteof_declare(tcrx); //无锡所检测地点版本特殊
|
siteof_declare(tcrx); //无锡所检测地点版本特殊
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -135,7 +135,8 @@ ErrorCode ExamCarSub2::examGoonExam()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//已经不合格了 如果是考试模式,只要分数不合格就立即结束考试
|
//已经不合格了 如果是考试模式,只要分数不合格就立即结束考试
|
||||||
if( (isExamMode() && !isQualified()) || allItemFinish() )
|
//20250418无锡科目二考试结束的地方网络不好,存在考试结束无法上传,需要支持ykxm项目全部做完了,评判初始化、开始考试能调用成功;问过工程wins是这么操作的。
|
||||||
|
if( (isExamMode() && !isQualified()) /*|| allItemFinish()*/ )
|
||||||
{
|
{
|
||||||
//createEventExamFinish(ExamFinishAuto); //杨 20240724 都由苏那边控制
|
//createEventExamFinish(ExamFinishAuto); //杨 20240724 都由苏那边控制
|
||||||
return QE(errorBeginNotQual); //已经不合格了
|
return QE(errorBeginNotQual); //已经不合格了
|
||||||
@ -347,7 +348,7 @@ void ExamCarSub2::dealJudgeExam()
|
|||||||
}
|
}
|
||||||
if(allItemFinish()) //如果所有项目都做过了,就不用再读项目了
|
if(allItemFinish()) //如果所有项目都做过了,就不用再读项目了
|
||||||
{
|
{
|
||||||
logdebug("allItemFinish");
|
//logdebug("allItemFinish");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1045,6 +1045,14 @@ void ExamCarSub3::UpdateCarParmWithSystemParm()
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const auto PARM_NO3_70 = [&](const TSystemparm* parm)->void
|
||||||
|
{
|
||||||
|
if(parm->TXT1 != "")
|
||||||
|
{
|
||||||
|
m_car.XiHuo = std::atoi(parm->TXT1.c_str());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
//得到考车参数
|
//得到考车参数
|
||||||
int parm3Size = TableSysParm->parm3Size();
|
int parm3Size = TableSysParm->parm3Size();
|
||||||
for(int i = 0; i < parm3Size; i++)
|
for(int i = 0; i < parm3Size; i++)
|
||||||
@ -1094,6 +1102,7 @@ void ExamCarSub3::UpdateCarParmWithSystemParm()
|
|||||||
PARM_CASE_WITH(61); //61:按车型设置的靠边停车参数
|
PARM_CASE_WITH(61); //61:按车型设置的靠边停车参数
|
||||||
PARM_CASE_WITH(62); //62:按车型设置的夜间模拟灯光触发条件
|
PARM_CASE_WITH(62); //62:按车型设置的夜间模拟灯光触发条件
|
||||||
PARM_CASE_WITH(63); //63:满分学习的学员考试必考项目(非正常的科目三学员),目前可以暂不考虑这种学员
|
PARM_CASE_WITH(63); //63:满分学习的学员考试必考项目(非正常的科目三学员),目前可以暂不考虑这种学员
|
||||||
|
PARM_CASE_WITH(70); //同500熄火参数
|
||||||
|
|
||||||
PARM_SWITCH_END;
|
PARM_SWITCH_END;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -282,6 +282,10 @@ void Sub3Judge20Comm::Init_ZongHe()
|
|||||||
|
|
||||||
//自动熄火评判方式:熄火次数扣分,1:根据PLC熄火次数 2:根据点火2,其它值:根据发动机转速为0或点火2+转速大于100
|
//自动熄火评判方式:熄火次数扣分,1:根据PLC熄火次数 2:根据点火2,其它值:根据发动机转速为0或点火2+转速大于100
|
||||||
m_itemvCJH.zdxhkf = s500.size() > 1 && s500[1] != "" ? std::atoi(s500[1].c_str()) : 0;
|
m_itemvCJH.zdxhkf = s500.size() > 1 && s500[1] != "" ? std::atoi(s500[1].c_str()) : 0;
|
||||||
|
if(tcar->XiHuo != INVALID_INDEX) //优先以车型代码参数NO3=70,同500参数
|
||||||
|
{
|
||||||
|
m_itemvCJH.zdxhkf = tcar->XiHuo;
|
||||||
|
}
|
||||||
//踩副刹时长
|
//踩副刹时长
|
||||||
m_itemvCJH.fscys = s500.size() > 2 && s500[2] != "" ? std::atoi(s500[2].c_str()) : 5;
|
m_itemvCJH.fscys = s500.size() > 2 && s500[2] != "" ? std::atoi(s500[2].c_str()) : 5;
|
||||||
//挡位扣分间隔
|
//挡位扣分间隔
|
||||||
@ -1316,9 +1320,23 @@ void Sub3Judge20Comm::Judge_KongDangHuaXing()
|
|||||||
//空挡滑行:30115 相关评判
|
//空挡滑行:30115 相关评判
|
||||||
if(m_itemvCJH.kdhx_tk > 0)
|
if(m_itemvCJH.kdhx_tk > 0)
|
||||||
{
|
{
|
||||||
if(sor.dw > 0 || cg->move != moveForward || Tools::isZero(gps.sd) || sor.lhq == SYES ||
|
bool i = false;
|
||||||
(ksdd == siteof::changzhoukm3 && sor.lhq == SYES) ||
|
if(sor.dw > 0 || cg->move != moveForward || Tools::isZero(gps.sd))
|
||||||
(ksdd == siteof::zjhz && sor.lhq == SYES))
|
{
|
||||||
|
i = true;
|
||||||
|
}
|
||||||
|
if(ksdd != siteof::scms && sor.lhq == SYES)
|
||||||
|
{
|
||||||
|
i = true;
|
||||||
|
}
|
||||||
|
const std::vector<std::string>& s507 = TableSysSet->asArray507();
|
||||||
|
std::string ss507 = s507.size() > 11 ? s507[11] : "";
|
||||||
|
if(ss507 != "1" && sor.lhq == SYES)
|
||||||
|
{
|
||||||
|
i = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(i)
|
||||||
{
|
{
|
||||||
m_itemvCJH.kdhx_tk = 0;
|
m_itemvCJH.kdhx_tk = 0;
|
||||||
}
|
}
|
||||||
@ -4557,6 +4575,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
|
|
||||||
if(gps.sd < 5.0 && gps1.sd < 5.0 && gps2.sd < 5.0) return;
|
if(gps.sd < 5.0 && gps1.sd < 5.0 && gps2.sd < 5.0) return;
|
||||||
|
|
||||||
|
#define HIS(x) m_car->historySensor(x).dw
|
||||||
//SysSet[425] 一档一离合相关
|
//SysSet[425] 一档一离合相关
|
||||||
// (*
|
// (*
|
||||||
// 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
|
// 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
|
||||||
@ -4566,8 +4585,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
|
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
|
||||||
if(item14 && item14->TestPro == ItemProFlagIdle && ss425 == "1")
|
if(item14 && item14->TestPro == ItemProFlagIdle && ss425 == "1")
|
||||||
{
|
{
|
||||||
const TSensorInfo& sor3 = m_car->historySensor(3);
|
if(sor.dw == HIS(1) && sor.dw != HIS(2) && sor.dw != HIS(3) && sor.dw > 0)
|
||||||
if(sor.dw == sor1.dw && sor.dw != sor2.dw && sor.dw != sor3.dw && sor.dw > 0)
|
|
||||||
{
|
{
|
||||||
int dw = sor.dw;
|
int dw = sor.dw;
|
||||||
int k = 0;
|
int k = 0;
|
||||||
@ -4580,18 +4598,12 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
|
|
||||||
const TSensorInfo& sori = m_car->historySensor(i);
|
const TSensorInfo& sori = m_car->historySensor(i);
|
||||||
int dw_i0 = sori.dw;
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
|
||||||
int dw_i3 = m_car->historySensor(i + 3).dw;
|
|
||||||
int dw_i4 = m_car->historySensor(i + 4).dw;
|
|
||||||
int dw_i5 = m_car->historySensor(i + 5).dw;
|
|
||||||
int dw_i6 = m_car->historySensor(i + 6).dw;
|
|
||||||
|
|
||||||
if(sori.lhq == SNOT) break;
|
if(sori.lhq == SNOT) break;
|
||||||
if(dw_i0 == SNOT) continue;
|
if(sori.dw == 0) continue;
|
||||||
if(dw != dw_i0 && dw_i0 == dw_i1 && dw_i0 == dw_i2 && dw_i0 == dw_i3 &&
|
if(dw != sori.dw &&
|
||||||
dw_i0 == dw_i4 && dw_i0 == dw_i5 && dw_i0 == dw_i6)
|
sori.dw == HIS(i+1) && sori.dw == HIS(i+2) && sori.dw == HIS(i+3) &&
|
||||||
|
sori.dw == HIS(i+4) && sori.dw == HIS(i+5) && sori.dw == HIS(i+6))
|
||||||
{
|
{
|
||||||
k = k + 1;
|
k = k + 1;
|
||||||
dw = sori.dw;
|
dw = sori.dw;
|
||||||
@ -4604,11 +4616,45 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
if Ctl.ksdd = 'wuxijiance' then
|
||||||
|
begin
|
||||||
|
if (cg.di_lhq = 1) and (cg.ai_dw = 3) then
|
||||||
|
begin
|
||||||
|
for i := 1 to 100 do
|
||||||
|
begin
|
||||||
|
if lscg[zj(i)].di_lhq = 0 then
|
||||||
|
Break;
|
||||||
|
if lscg[zj(i)].ai_dw > 3 then
|
||||||
|
Break;
|
||||||
|
if lscg[zj(i)].ai_dw = 1 then
|
||||||
|
begin
|
||||||
|
Mark(14, '01', True);
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
*/
|
||||||
|
|
||||||
int count = m_car->historyCount();
|
int count = m_car->historyCount();
|
||||||
|
bool btempkf = false;
|
||||||
|
bool btemp1 = false;
|
||||||
|
bool btemp2 = false;
|
||||||
//越级加减档持续时间
|
//越级加减档持续时间
|
||||||
if(m_itemvCJH.yjjdcxsj == 0)
|
if(m_itemvCJH.yjjdcxsj == 0)
|
||||||
{
|
{
|
||||||
if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw > 0 && sor.dw < 9 &&
|
bool ix = 0;
|
||||||
|
if(sor.lhq == SNOT)
|
||||||
|
{
|
||||||
|
ix = 1;
|
||||||
|
}
|
||||||
|
if(ksdd == siteof::lfgakm3)
|
||||||
|
{
|
||||||
|
ix = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sor.dw == HIS(1) && sor.dw == HIS(2) && sor.dw > 0 && sor.dw < 9 &&
|
||||||
sor.lhq == SNOT && gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
sor.lhq == SNOT && gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
||||||
{
|
{
|
||||||
for(int i = 3; i < 53; i++)
|
for(int i = 3; i < 53; i++)
|
||||||
@ -4619,31 +4665,27 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
int dw_i0 = sori.dw;
|
|
||||||
if(dw_i0 != 0) continue;
|
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
if(sori.dw >= sor.dw && sori.lhq == SNOT) break;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
|
|
||||||
if(dw_i1 >= sor.dw && sori.lhq == SNOT) break;
|
if(sori.dw == 0)
|
||||||
if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
|
btemp1 = true;
|
||||||
|
if(sori.lhq == SYES)
|
||||||
|
btemp2 = true;
|
||||||
|
if(ksdd == siteof::shandong)
|
||||||
|
btemp2 = true;
|
||||||
|
if(ksdd == siteof::scms || ksdd == siteof::hnay || ksdd == siteof::lfgakm3)
|
||||||
|
btemp1 = true;
|
||||||
|
if(btemp1 && btemp2)
|
||||||
|
btempkf = true;
|
||||||
|
|
||||||
if(dw_i1 < sor.dw && dw_i1 > 0 && dw_i1 == dw_i2)
|
if(sori.dw < sor.dw && HIS(i+1) == sori.dw && sori.dw > 0)
|
||||||
{
|
{
|
||||||
if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt && btempkf)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
||||||
if(item14 && item14->TestPro > ItemProFlagIdle)
|
if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
if(FindFlag == true)
|
|
||||||
{
|
{
|
||||||
JUDGE_MARK_SUB3(14, "01", true);
|
JUDGE_MARK_SUB3(14, "01", true);
|
||||||
}
|
}
|
||||||
@ -4660,12 +4702,18 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
else if(m_itemvCJH.yjjdcxsj == 1)
|
else if(m_itemvCJH.yjjdcxsj == 1)
|
||||||
{
|
{
|
||||||
const TSensorInfo& sor2 = m_car->historySensor(2);
|
bool ix = 0;
|
||||||
const TSensorInfo& sor3 = m_car->historySensor(3);
|
if(sor.lhq == SNOT && sor1.lhq == SNOT)
|
||||||
const TSensorInfo& sor4 = m_car->historySensor(4);
|
{
|
||||||
if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw == sor3.dw && sor.dw == sor4.dw &&
|
ix = 1;
|
||||||
sor.dw > 0 && sor.dw < 9 && sor.lhq == SNOT && sor4.lhq == SNOT && gps.sd > 5 &&
|
}
|
||||||
!IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
if(ksdd == siteof::lfgakm3)
|
||||||
|
{
|
||||||
|
ix = 1;
|
||||||
|
}
|
||||||
|
if(sor.dw == HIS(1) && sor.dw == HIS(2) && sor.dw == HIS(3) && sor.dw == HIS(4) &&
|
||||||
|
sor.dw > 0 && sor.dw < 9 && sor.lhq == SNOT && sor1.lhq == SNOT &&
|
||||||
|
gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
||||||
{
|
{
|
||||||
for(int i = 5; i <= 55; i++)
|
for(int i = 5; i <= 55; i++)
|
||||||
{
|
{
|
||||||
@ -4676,35 +4724,29 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
|
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
int dw_i0 = sori.dw;
|
|
||||||
if(dw_i0 != 0) continue;
|
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
if(sori.dw > sor.dw && sori.lhq == SNOT) break;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
int dw_i3 = m_car->historySensor(i + 3).dw;
|
|
||||||
int dw_i4 = m_car->historySensor(i + 4).dw;
|
|
||||||
int dw_i5 = m_car->historySensor(i + 5).dw;
|
|
||||||
|
|
||||||
if(dw_i1 > sor.dw && sori.lhq == SNOT) break;
|
if(sori.dw == 0)
|
||||||
if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
|
btemp1 = true;
|
||||||
|
if(sori.lhq == SYES)
|
||||||
|
btemp2 = true;
|
||||||
|
if(ksdd == siteof::shandong)
|
||||||
|
btemp2 = true;
|
||||||
|
if(ksdd == siteof::scms || ksdd == siteof::hnay || ksdd == siteof::lfgakm3)
|
||||||
|
btemp1 = true;
|
||||||
|
if(btemp1 && btemp2)
|
||||||
|
btempkf = true;
|
||||||
|
|
||||||
if(dw_i1 < sor.dw && dw_i1 > 0 &&
|
if(sori.dw < sor.dw &&
|
||||||
dw_i2 == dw_i1 && dw_i3 == dw_i1 && dw_i4 == dw_i1 && dw_i5 == dw_i1)
|
HIS(i+1) == sori.dw && HIS(i+2) == sori.dw &&
|
||||||
|
HIS(i+3) == sori.dw && HIS(i+4) == sori.dw && sori.dw > 0)
|
||||||
{
|
{
|
||||||
if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt && btempkf)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
||||||
if(item14 && item14->TestPro > ItemProFlagIdle)
|
if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
if(FindFlag == true)
|
|
||||||
{
|
{
|
||||||
JUDGE_MARK_SUB3(14, "01", true);
|
JUDGE_MARK_SUB3(14, "01", true);
|
||||||
}
|
}
|
||||||
@ -4721,18 +4763,20 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
else if(m_itemvCJH.yjjdcxsj == 2)
|
else if(m_itemvCJH.yjjdcxsj == 2)
|
||||||
{
|
{
|
||||||
const TSensorInfo& sor3 = m_car->historySensor(3);
|
bool ix = 0;
|
||||||
const TSensorInfo& sor4 = m_car->historySensor(4);
|
if(sor.lhq == SNOT && sor2.lhq == SNOT)
|
||||||
const TSensorInfo& sor5 = m_car->historySensor(5);
|
{
|
||||||
const TSensorInfo& sor6 = m_car->historySensor(6);
|
ix = 1;
|
||||||
const TSensorInfo& sor7 = m_car->historySensor(7);
|
}
|
||||||
const TSensorInfo& sor8 = m_car->historySensor(8);
|
if(ksdd == siteof::lfgakm3)
|
||||||
|
{
|
||||||
|
ix = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw == sor3.dw &&
|
if(sor.dw == HIS(1) && sor.dw == HIS(2) && sor.dw == HIS(3) &&
|
||||||
sor.dw == sor4.dw && sor.dw == sor5.dw && sor.dw == sor6.dw &&
|
sor.dw == HIS(4) && sor.dw == HIS(5) && sor.dw == HIS(6) &&
|
||||||
sor.dw == sor7.dw && sor.dw == sor8.dw && sor.dw > 0 &&
|
sor.dw == HIS(7) && sor.dw == HIS(8) && sor.dw > 0 && sor.dw < 9 &&
|
||||||
sor.dw < 9 && sor.lhq == SNOT && sor2.lhq == SNOT &&
|
ix == 1 && gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
||||||
gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
|
||||||
{
|
{
|
||||||
for(int i = 9; i < 59; i++)
|
for(int i = 9; i < 59; i++)
|
||||||
{
|
{
|
||||||
@ -4742,44 +4786,31 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
int dw_i0 = sori.dw;
|
|
||||||
if(dw_i0 != 0) continue;
|
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
if(sori.dw > sor.dw && sori.lhq == SNOT) break;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
int dw_i3 = m_car->historySensor(i + 3).dw;
|
|
||||||
int dw_i4 = m_car->historySensor(i + 4).dw;
|
|
||||||
int dw_i5 = m_car->historySensor(i + 5).dw;
|
|
||||||
int dw_i6 = m_car->historySensor(i + 6).dw;
|
|
||||||
int dw_i7 = m_car->historySensor(i + 7).dw;
|
|
||||||
int dw_i8 = m_car->historySensor(i + 8).dw;
|
|
||||||
int dw_i9 = m_car->historySensor(i + 9).dw;
|
|
||||||
int dw_i10 = m_car->historySensor(i + 10).dw;
|
|
||||||
|
|
||||||
if(dw_i1 > sor.dw && sori.lhq == SNOT) break;
|
if(sori.dw == 0)
|
||||||
if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
|
btemp1 = true;
|
||||||
|
if(sori.lhq == SYES)
|
||||||
|
btemp2 = true;
|
||||||
|
if(ksdd == siteof::shandong)
|
||||||
|
btemp2 = true;
|
||||||
|
if(ksdd == siteof::scms || ksdd == siteof::hnay || ksdd == siteof::lfgakm3)
|
||||||
|
btemp1 = true;
|
||||||
|
if(btemp1 && btemp2)
|
||||||
|
btempkf = true;
|
||||||
|
|
||||||
if(dw_i1 < sor.dw && dw_i1 > 0 && dw_i2 == dw_i1 && dw_i3 == dw_i1 &&
|
if(sori.dw < sor.dw &&
|
||||||
dw_i4 == dw_i1 && dw_i5 == dw_i1 && dw_i6 == dw_i1 && dw_i7 == dw_i1 &&
|
HIS(i+1) == sori.dw && HIS(i+2) == sori.dw && HIS(i+3) == sori.dw &&
|
||||||
dw_i8 == dw_i1 && dw_i9 == dw_i1 && dw_i10 == dw_i1)
|
HIS(i+4) == sori.dw && HIS(i+5) == sori.dw && HIS(i+6) == sori.dw &&
|
||||||
|
HIS(i+7) == sori.dw && HIS(i+8) == sori.dw && HIS(i+9) == sori.dw && sori.dw > 0)
|
||||||
{
|
{
|
||||||
if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt && btempkf)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
||||||
if(item14 && item14->TestPro > ItemProFlagIdle)
|
if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
{
|
{
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
if(FindFlag == true)
|
|
||||||
{
|
|
||||||
//安卓档位评判好像逻辑上做了优化,比方说越级加档,中间必须出现 0 才判,1 跳 3 的情况,没出现 0 不判
|
|
||||||
//项目经理吉说的先按照这样做
|
|
||||||
JUDGE_MARK_SUB3(14, "01", true);
|
JUDGE_MARK_SUB3(14, "01", true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -4800,44 +4831,23 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
int dw_i0 = sori.dw;
|
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
if(sori.dw == 9) break;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
|
||||||
int dw_i3 = m_car->historySensor(i + 3).dw;
|
|
||||||
int dw_i4 = m_car->historySensor(i + 4).dw;
|
|
||||||
int dw_i5 = m_car->historySensor(i + 5).dw;
|
|
||||||
int dw_i6 = m_car->historySensor(i + 6).dw;
|
|
||||||
int dw_i7 = m_car->historySensor(i + 7).dw;
|
|
||||||
int dw_i8 = m_car->historySensor(i + 8).dw;
|
|
||||||
int dw_i9 = m_car->historySensor(i + 9).dw;
|
|
||||||
|
|
||||||
if(dw_i0 == 9) break;
|
|
||||||
if(hisi->move != moveForward) break;
|
if(hisi->move != moveForward) break;
|
||||||
if(dw_i0 < sor.dw && sori.lhq == SNOT) break;
|
if(sori.dw < sor.dw && sori.lhq == SNOT) break;
|
||||||
if(dw_i0 - 1 == sor.dw && sori.lhq == SNOT) break;
|
if(sori.dw - 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
|
|
||||||
if(dw_i0 > sor.dw && dw_i0 > 0 &&
|
if(sori.dw > sor.dw &&
|
||||||
dw_i1 == dw_i0 && dw_i2 == dw_i0 && dw_i3 == dw_i0 &&
|
HIS(i+1) == sori.dw && HIS(i+2) == sori.dw && HIS(i+3) == sori.dw &&
|
||||||
dw_i4 == dw_i0 && dw_i5 == dw_i0 && dw_i6 == dw_i0 &&
|
HIS(i+4) == sori.dw && HIS(i+5) == sori.dw && HIS(i+6) == sori.dw &&
|
||||||
dw_i7 == dw_i0 && dw_i8 == dw_i0 && dw_i9 == dw_i0)
|
HIS(i+7) == sori.dw && HIS(i+8) == sori.dw && HIS(i+9) == sori.dw && sori.dw > 0)
|
||||||
{
|
{
|
||||||
if(dw_i0 - sor.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sori.dw - sor.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw); //加减挡
|
||||||
if(item14 && item14->TestPro > ItemProFlagIdle)
|
if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
{
|
|
||||||
FindFlag = true;
|
|
||||||
}
|
|
||||||
if(FindFlag == true)
|
|
||||||
{
|
{
|
||||||
JUDGE_MARK_SUB3(14, "01", true);
|
JUDGE_MARK_SUB3(14, "01", true);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1468,6 +1468,8 @@ struct TCar
|
|||||||
|
|
||||||
std::string XSJL_Parm;
|
std::string XSJL_Parm;
|
||||||
|
|
||||||
|
int XiHuo = INVALID_INDEX;
|
||||||
|
|
||||||
//档位转速比 2014111
|
//档位转速比 2014111
|
||||||
struct TCarZsBl { int CarZsBmin = -1; int CarZsBMax = -1; };
|
struct TCarZsBl { int CarZsBmin = -1; int CarZsBMax = -1; };
|
||||||
std::array<TCarZsBl, 7> DwZsBl; //20141111 档位转速比 档位转速比 array[1..5]
|
std::array<TCarZsBl, 7> DwZsBl; //20141111 档位转速比 档位转速比 array[1..5]
|
||||||
|
|||||||
@ -71,15 +71,15 @@ 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(QMediaPlayer::error(QMediaPlayer::Error)),
|
||||||
SLOT([&](QMediaPlayer::Error error)
|
// SLOT([&](QMediaPlayer::Error error)
|
||||||
{
|
// {
|
||||||
QMediaPlayer::Error err = m_audio.error();
|
// QMediaPlayer::Error err = m_audio.error();
|
||||||
QString errStr = m_audio.errorString();
|
// QString errStr = m_audio.errorString();
|
||||||
|
//
|
||||||
logwarning("paly-audio file:%s, err:%d-%s ",
|
// logwarning("paly-audio file:%s, err:%d-%s ",
|
||||||
filepath.toUtf8().data(), err, errStr.toUtf8().data());
|
// 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);
|
||||||
|
|||||||
@ -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>101</width>
|
<width>111</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>101</width>
|
<width>111</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@ -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.17.01"
|
private version: string = "2025.04.21.01"
|
||||||
|
|
||||||
@Styles
|
@Styles
|
||||||
commStyle(){
|
commStyle(){
|
||||||
|
|||||||
@ -111,7 +111,7 @@ struct Index {
|
|||||||
FLAG: carInfo.flag,
|
FLAG: carInfo.flag,
|
||||||
BK1: carInfo.bk1,
|
BK1: carInfo.bk1,
|
||||||
BK2: carInfo.bk2,
|
BK2: carInfo.bk2,
|
||||||
X_MCH:carInfo.x_mch,
|
X_MCH: carInfo.x_mch,
|
||||||
})
|
})
|
||||||
console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArr))
|
console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArr))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,6 +73,7 @@ export interface CARINFO {
|
|||||||
FLAG: string,
|
FLAG: string,
|
||||||
BK1: string,
|
BK1: string,
|
||||||
BK2: string
|
BK2: string
|
||||||
|
X_MCH: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MAPPOINT {
|
export interface MAPPOINT {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user