Compare commits
	
		
			3 Commits
		
	
	
		
			828dce445e
			...
			bd4c88be60
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| bd4c88be60 | |||
| 773f7af44b | |||
| fc343b848c | 
										
											Binary file not shown.
										
									
								
							| @ -27,7 +27,7 @@ | ||||
| #define JUDGE_VERSION_MAJOR  1 | ||||
| #define JUDGE_VERSION_MINOR  0 | ||||
| #define JUDGE_VERSION_PATCH  3 | ||||
| #define JUDGE_VERSION_STAMP  "2504171042b" | ||||
| #define JUDGE_VERSION_STAMP  "2504191100b" | ||||
| #if JUDGE_USE_OLD | ||||
| #   undef JUDGE_VERSION_STAMP | ||||
| #   define JUDGE_VERSION_STAMP  "2411121010b.old" | ||||
|  | ||||
| @ -121,6 +121,7 @@ namespace siteof | ||||
|     siteof_declare(JXYTSF001); | ||||
|     siteof_declare(hnzzkm3); | ||||
|     siteof_declare(jswxbz); | ||||
|     siteof_declare(scms); | ||||
|     siteof_declare(tcrx);  //无锡所检测地点版本特殊
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -135,7 +135,8 @@ ErrorCode ExamCarSub2::examGoonExam() | ||||
|     } | ||||
| 
 | ||||
|     //已经不合格了 如果是考试模式,只要分数不合格就立即结束考试
 | ||||
|     if( (isExamMode() && !isQualified()) || allItemFinish() ) | ||||
|     //20250418无锡科目二考试结束的地方网络不好,存在考试结束无法上传,需要支持ykxm项目全部做完了,评判初始化、开始考试能调用成功;问过工程wins是这么操作的。
 | ||||
|     if( (isExamMode() && !isQualified()) /*|| allItemFinish()*/ ) | ||||
|     { | ||||
|         //createEventExamFinish(ExamFinishAuto); //杨 20240724 都由苏那边控制
 | ||||
|         return QE(errorBeginNotQual); //已经不合格了
 | ||||
| @ -347,7 +348,7 @@ void ExamCarSub2::dealJudgeExam() | ||||
|     } | ||||
|     if(allItemFinish())  //如果所有项目都做过了,就不用再读项目了
 | ||||
|     { | ||||
|         logdebug("allItemFinish"); | ||||
|         //logdebug("allItemFinish");
 | ||||
|         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(); | ||||
|     for(int i = 0; i < parm3Size; i++) | ||||
| @ -1094,6 +1102,7 @@ void ExamCarSub3::UpdateCarParmWithSystemParm() | ||||
|             PARM_CASE_WITH(61); //61:按车型设置的靠边停车参数
 | ||||
|             PARM_CASE_WITH(62); //62:按车型设置的夜间模拟灯光触发条件
 | ||||
|             PARM_CASE_WITH(63); //63:满分学习的学员考试必考项目(非正常的科目三学员),目前可以暂不考虑这种学员
 | ||||
|             PARM_CASE_WITH(70); //同500熄火参数
 | ||||
| 
 | ||||
|         PARM_SWITCH_END; | ||||
|     } | ||||
|  | ||||
| @ -282,6 +282,10 @@ void Sub3Judge20Comm::Init_ZongHe() | ||||
| 
 | ||||
|     //自动熄火评判方式:熄火次数扣分,1:根据PLC熄火次数  2:根据点火2,其它值:根据发动机转速为0或点火2+转速大于100
 | ||||
|     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; | ||||
|     //挡位扣分间隔
 | ||||
| @ -1316,9 +1320,23 @@ void Sub3Judge20Comm::Judge_KongDangHuaXing() | ||||
|     //空挡滑行:30115 相关评判
 | ||||
|     if(m_itemvCJH.kdhx_tk > 0) | ||||
|     { | ||||
|         if(sor.dw > 0 || cg->move != moveForward || Tools::isZero(gps.sd) || sor.lhq == SYES || | ||||
|                 (ksdd == siteof::changzhoukm3 && sor.lhq == SYES) || | ||||
|                 (ksdd == siteof::zjhz && sor.lhq == SYES)) | ||||
|         bool i = false; | ||||
|         if(sor.dw > 0 || cg->move != moveForward || Tools::isZero(gps.sd)) | ||||
|         { | ||||
|             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; | ||||
|         } | ||||
| @ -4557,6 +4575,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
| 
 | ||||
|     if(gps.sd < 5.0 && gps1.sd < 5.0 && gps2.sd < 5.0) return; | ||||
| 
 | ||||
|     #define HIS(x)   m_car->historySensor(x).dw | ||||
|     //SysSet[425] 一档一离合相关
 | ||||
|     // (*
 | ||||
|     // 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
 | ||||
| @ -4566,8 +4585,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|     TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
 | ||||
|     if(item14 && item14->TestPro == ItemProFlagIdle && ss425 == "1") | ||||
|     { | ||||
|         const TSensorInfo& sor3 = m_car->historySensor(3); | ||||
|         if(sor.dw == sor1.dw && sor.dw != sor2.dw && sor.dw != sor3.dw && sor.dw > 0) | ||||
|         if(sor.dw == HIS(1) && sor.dw != HIS(2) && sor.dw != HIS(3) && sor.dw > 0) | ||||
|         { | ||||
|             int dw = sor.dw; | ||||
|             int k = 0; | ||||
| @ -4580,18 +4598,12 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|                 } | ||||
| 
 | ||||
|                 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(dw_i0 == SNOT) continue; | ||||
|                 if(dw != dw_i0 && dw_i0 == dw_i1 && dw_i0  == dw_i2 && dw_i0 == dw_i3 && | ||||
|                         dw_i0  == dw_i4 && dw_i0 == dw_i5 && dw_i0 == dw_i6) | ||||
|                 if(sori.dw == 0) continue; | ||||
|                 if(dw != sori.dw && | ||||
|                    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; | ||||
|                     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(); | ||||
|     bool btempkf = false; | ||||
|     bool btemp1 = false; | ||||
|     bool btemp2 = false; | ||||
|     //越级加减档持续时间
 | ||||
|     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
 | ||||
|         { | ||||
|             for(int i = 3; i < 53; i++) | ||||
| @ -4619,31 +4665,27 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|                 } | ||||
|                 const TChuanGan* hisi = m_car->historyChuanGan(i); | ||||
|                 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; | ||||
|                 int dw_i2 = m_car->historySensor(i + 2).dw; | ||||
|                 if(sori.dw >= sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break; | ||||
| 
 | ||||
|                 if(dw_i1 >= sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(sori.dw == 0) | ||||
|                     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); //加减挡
 | ||||
|                         if(item14 && item14->TestPro > ItemProFlagIdle) | ||||
|                         { | ||||
|                             FindFlag = true; | ||||
|                         } | ||||
|                         if(FindFlag == true) | ||||
|                         if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||
|                         { | ||||
|                             JUDGE_MARK_SUB3(14, "01", true); | ||||
|                         } | ||||
| @ -4660,12 +4702,18 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|     } | ||||
|     else if(m_itemvCJH.yjjdcxsj == 1) | ||||
|     { | ||||
|         const TSensorInfo& sor2 = m_car->historySensor(2); | ||||
|         const TSensorInfo& sor3 = m_car->historySensor(3); | ||||
|         const TSensorInfo& sor4 = m_car->historySensor(4); | ||||
|         if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw == sor3.dw && sor.dw == sor4.dw && | ||||
|                 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
 | ||||
|         bool ix = 0; | ||||
|         if(sor.lhq == SNOT && sor1.lhq == SNOT) | ||||
|         { | ||||
|             ix = 1; | ||||
|         } | ||||
|         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++) | ||||
|             { | ||||
| @ -4676,35 +4724,29 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
| 
 | ||||
|                 const TChuanGan* hisi = m_car->historyChuanGan(i); | ||||
|                 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; | ||||
|                 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; | ||||
|                 if(sori.dw > sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break; | ||||
| 
 | ||||
|                 if(dw_i1 > sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(sori.dw == 0) | ||||
|                     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 && dw_i4 == dw_i1 && dw_i5 == dw_i1) | ||||
|                 if(sori.dw < sor.dw && | ||||
|                    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); //加减挡
 | ||||
|                         if(item14 && item14->TestPro > ItemProFlagIdle) | ||||
|                         { | ||||
|                             FindFlag = true; | ||||
|                         } | ||||
|                         if(FindFlag == true) | ||||
|                         if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||
|                         { | ||||
|                             JUDGE_MARK_SUB3(14, "01", true); | ||||
|                         } | ||||
| @ -4721,18 +4763,20 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|     } | ||||
|     else if(m_itemvCJH.yjjdcxsj == 2) | ||||
|     { | ||||
|         const TSensorInfo& sor3 = m_car->historySensor(3); | ||||
|         const TSensorInfo& sor4 = m_car->historySensor(4); | ||||
|         const TSensorInfo& sor5 = m_car->historySensor(5); | ||||
|         const TSensorInfo& sor6 = m_car->historySensor(6); | ||||
|         const TSensorInfo& sor7 = m_car->historySensor(7); | ||||
|         const TSensorInfo& sor8 = m_car->historySensor(8); | ||||
|         bool ix = 0; | ||||
|         if(sor.lhq == SNOT && sor2.lhq == SNOT) | ||||
|         { | ||||
|             ix = 1; | ||||
|         } | ||||
|         if(ksdd == siteof::lfgakm3) | ||||
|         { | ||||
|             ix = 1; | ||||
|         } | ||||
| 
 | ||||
|         if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw == sor3.dw && | ||||
|                 sor.dw == sor4.dw && sor.dw == sor5.dw && sor.dw == sor6.dw && | ||||
|                 sor.dw == sor7.dw && sor.dw == sor8.dw && sor.dw > 0 && | ||||
|                 sor.dw < 9 && sor.lhq == SNOT && sor2.lhq == SNOT && | ||||
|                 gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
 | ||||
|         if(sor.dw == HIS(1) && sor.dw == HIS(2) && sor.dw == HIS(3) && | ||||
|                 sor.dw == HIS(4) && sor.dw == HIS(5) && sor.dw == HIS(6) && | ||||
|                 sor.dw == HIS(7) && sor.dw == HIS(8) && sor.dw > 0 && sor.dw < 9 && | ||||
|                 ix == 1 && gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
 | ||||
|         { | ||||
|             for(int i = 9; i < 59; i++) | ||||
|             { | ||||
| @ -4742,44 +4786,31 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|                 } | ||||
|                 const TChuanGan* hisi = m_car->historyChuanGan(i); | ||||
|                 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; | ||||
|                 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; | ||||
|                 int dw_i10 = m_car->historySensor(i + 10).dw; | ||||
|                 if(sori.dw > sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break; | ||||
| 
 | ||||
|                 if(dw_i1 > sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break; | ||||
|                 if(sori.dw == 0) | ||||
|                     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 && | ||||
|                    dw_i4 == dw_i1 && dw_i5 == dw_i1 && dw_i6 == dw_i1 && dw_i7 == dw_i1 && | ||||
|                         dw_i8 == dw_i1 && dw_i9 == dw_i1 && dw_i10 == dw_i1) | ||||
|                 if(sori.dw < sor.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) == 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); //加减挡
 | ||||
|                         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); | ||||
|                         } | ||||
|                         else | ||||
| @ -4800,44 +4831,23 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | ||||
|                     { | ||||
|                         break; | ||||
|                     } | ||||
| 
 | ||||
|                     const TChuanGan* hisi = m_car->historyChuanGan(i); | ||||
|                     const TSensorInfo& sori = hisi->real.sensor; | ||||
|                     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; | ||||
|                     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(sori.dw == 9)  break; | ||||
|                     if(hisi->move != moveForward) break; | ||||
|                     if(dw_i0 < sor.dw && sori.lhq == SNOT) break; | ||||
|                     if(dw_i0 - 1 == sor.dw && sori.lhq == SNOT) break; | ||||
|                     if(sori.dw < sor.dw && sori.lhq == SNOT) break; | ||||
|                     if(sori.dw - 1 == sor.dw && sori.lhq == SNOT) break; | ||||
| 
 | ||||
|                     if(dw_i0 > sor.dw && dw_i0 > 0 && | ||||
|                             dw_i1 == dw_i0 && dw_i2 == dw_i0 && dw_i3 == dw_i0 && | ||||
|                             dw_i4 == dw_i0 && dw_i5 == dw_i0 && dw_i6 == dw_i0 && | ||||
|                             dw_i7 == dw_i0 && dw_i8 == dw_i0 && dw_i9 == dw_i0) | ||||
|                     if(sori.dw > sor.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) == sori.dw && | ||||
|                        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); //加减挡
 | ||||
|                             if(item14 && item14->TestPro > ItemProFlagIdle) | ||||
|                             { | ||||
|                                 FindFlag = true; | ||||
|                             } | ||||
|                             if(FindFlag == true) | ||||
|                             if((item14 && item14->TestPro > ItemProFlagIdle) || ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||
|                             { | ||||
|                                 JUDGE_MARK_SUB3(14, "01", true); | ||||
|                             } | ||||
|  | ||||
| @ -1468,6 +1468,8 @@ struct TCar | ||||
| 
 | ||||
|     std::string         XSJL_Parm; | ||||
| 
 | ||||
|     int                 XiHuo = INVALID_INDEX; | ||||
| 
 | ||||
|     //档位转速比 2014111
 | ||||
|     struct TCarZsBl { int CarZsBmin = -1; int CarZsBMax = -1; }; | ||||
|     std::array<TCarZsBl, 7> DwZsBl; //20141111 档位转速比 档位转速比  array[1..5]
 | ||||
|  | ||||
| @ -71,15 +71,15 @@ void MainWindow::init() | ||||
|     KIT_CONNECT(updateNextDoing()); | ||||
|     KIT_CONNECT(updateCheckVersion(int, const QString&)); | ||||
| 
 | ||||
|     connect(&m_audio, SIGNAL(QMediaPlayer::error(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()); | ||||
|             })); | ||||
|     //connect(&m_audio, SIGNAL(QMediaPlayer::error(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->addItem(CL8("否"), false); | ||||
|  | ||||
| @ -413,7 +413,7 @@ p, li { white-space: pre-wrap; } | ||||
|      <rect> | ||||
|       <x>600</x> | ||||
|       <y>180</y> | ||||
|       <width>101</width> | ||||
|       <width>111</width> | ||||
|       <height>20</height> | ||||
|      </rect> | ||||
|     </property> | ||||
| @ -426,7 +426,7 @@ p, li { white-space: pre-wrap; } | ||||
|      <rect> | ||||
|       <x>600</x> | ||||
|       <y>163</y> | ||||
|       <width>101</width> | ||||
|       <width>111</width> | ||||
|       <height>20</height> | ||||
|      </rect> | ||||
|     </property> | ||||
|  | ||||
| @ -35,9 +35,9 @@ export default class ServiceExtImpl extends IdlServiceExtStub { | ||||
|     }).catch(err => { | ||||
|       callback(0, JSON.stringify({ | ||||
|         code: 1, | ||||
|         data: JSON.stringify({ | ||||
|         data: { | ||||
|           code: 2300007 | ||||
|         }) | ||||
|         } | ||||
|       })); | ||||
|       console.log("lixiao paste error", JSON.stringify(err)) | ||||
|     }) | ||||
|  | ||||
| @ -60,7 +60,7 @@ struct Index { | ||||
|   private context = getContext(this) as common.UIAbilityContext; | ||||
|   private serviceExtProxy: IdlServiceExtProxy | ||||
|   @State judgeVersion: string = "" | ||||
|   private version: string = "2025.04.17.01" | ||||
|   private version: string = "2025.04.21.01" | ||||
| 
 | ||||
|   @Styles | ||||
|   commStyle(){ | ||||
|  | ||||
| @ -111,7 +111,7 @@ struct Index { | ||||
|       FLAG: carInfo.flag, | ||||
|       BK1: carInfo.bk1, | ||||
|       BK2: carInfo.bk2, | ||||
|       X_MCH:carInfo.x_mch, | ||||
|       X_MCH: carInfo.x_mch, | ||||
|     }) | ||||
|     console.info('surenjun =>carinfoArrr',JSON.stringify( this.carinfoArr)) | ||||
|   } | ||||
|  | ||||
| @ -73,6 +73,7 @@ export interface CARINFO { | ||||
|   FLAG: string, | ||||
|   BK1: string, | ||||
|   BK2: string | ||||
|   X_MCH: string | ||||
| } | ||||
| 
 | ||||
| export interface MAPPOINT { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user