新评判
This commit is contained in:
		
							parent
							
								
									da3b0dbc13
								
							
						
					
					
						commit
						9496bc25ef
					
				| @ -5,9 +5,9 @@ | |||||||
|         "name": "default", |         "name": "default", | ||||||
|         "material": { |         "material": { | ||||||
|           "certpath": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.cer", |           "certpath": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.cer", | ||||||
|           "storePassword": "0000001B7CC00976B4DC275EF809F1208139DC3D299795B987E25735A90BA25E0281359B779149F37F25CB", |           "storePassword": "0000001B506B2A36F5061652E84DA29003CACEDDCE520572D4070878BE43BB261D6E415822EE2CC5E29829", | ||||||
|           "keyAlias": "debugKey", |           "keyAlias": "debugKey", | ||||||
|           "keyPassword": "0000001B4799B0C20722DE7A448875A3F176D6CB8285B0C00ACBAD55E6B458EC8710E4794E5EE87B49582A", |           "keyPassword": "0000001BDEE0EE8B2C50BC5AAA8DD074192F3E77D412A6D72EAF123FFEF0867B12BDE41DD4DE67A9D51775", | ||||||
|           "profile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p7b", |           "profile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p7b", | ||||||
|           "signAlg": "SHA256withECDSA", |           "signAlg": "SHA256withECDSA", | ||||||
|           "storeFile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p12" |           "storeFile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p12" | ||||||
|  | |||||||
										
											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  "2503241700b" | #define JUDGE_VERSION_STAMP  "2503270900b" | ||||||
| #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" | ||||||
|  | |||||||
| @ -134,6 +134,26 @@ ExamItemCodes SysParmTable::findSub2ExamItems(int carCode) const | |||||||
|     return items; |     return items; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | int SysParmTable::findQiBuGear(int carCode) | ||||||
|  | { | ||||||
|  |     //NO1=3 NO2=车型代码 NO3=4条件 TXT1
 | ||||||
|  |     int gear = INVALID_INDEX; | ||||||
|  |     int size = parm3Size(); | ||||||
|  |     for(int i = 0; i < size; i++) | ||||||
|  |     { | ||||||
|  |         const TSystemparm* parm3 = parm3By(i); | ||||||
|  |         if(parm3->NO2 == carCode && parm3->NO3 == 4) | ||||||
|  |         { | ||||||
|  |             if(!parm3->TXT1.empty()) | ||||||
|  |             { | ||||||
|  |                 gear = std::atoi(parm3->TXT1.data()); | ||||||
|  |                 break; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     return gear; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| TItemCodes SysParmTable::findItemCodes(ExamItemCodes items) const | TItemCodes SysParmTable::findItemCodes(ExamItemCodes items) const | ||||||
| { | { | ||||||
|     TItemCodes codes; |     TItemCodes codes; | ||||||
|  | |||||||
| @ -57,6 +57,12 @@ public: | |||||||
|      */ |      */ | ||||||
|     ExamItemCodes findSub2ExamItems(int carCode) const; |     ExamItemCodes findSub2ExamItems(int carCode) const; | ||||||
| 
 | 
 | ||||||
|  |     /*
 | ||||||
|  |      * 查找起步档位 NO1=3 NO2=车型代码 NO3=4条件 TXT1 | ||||||
|  |      * | ||||||
|  |      */ | ||||||
|  |     int findQiBuGear(int carCode); | ||||||
|  | 
 | ||||||
|     /*
 |     /*
 | ||||||
|      * 科二科三通用,通过我们公司自定义的项目代码,获取到无锡所定义的标准项目代码和项目名称(简称)等 |      * 科二科三通用,通过我们公司自定义的项目代码,获取到无锡所定义的标准项目代码和项目名称(简称)等 | ||||||
|      * NO1=6 NO2=公司自定义的项目代码  查出来 NO2:我们公司的项目代码  TXT1:项目名称全称  TXT2:无锡所代码  TXT3:项目名称简称 |      * NO1=6 NO2=公司自定义的项目代码  查出来 NO2:我们公司的项目代码  TXT1:项目名称全称  TXT2:无锡所代码  TXT3:项目名称简称 | ||||||
|  | |||||||
| @ -257,6 +257,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(641, type_int);                   //641=1 是车尾过5-6延长线结束
 | ||||||
|     SYSSET_DECLARE(660);                             //侧方停车项目 停车距离判断阈值控制参数
 |     SYSSET_DECLARE(660);                             //侧方停车项目 停车距离判断阈值控制参数
 | ||||||
|     SYSSET_DECLARE(668);                             //安全带评判模式
 |     SYSSET_DECLARE(668);                             //安全带评判模式
 | ||||||
|     SYSSET_DECLARE(671);                             //停车距离判断阈值控制参数
 |     SYSSET_DECLARE(671);                             //停车距离判断阈值控制参数
 | ||||||
| @ -397,6 +398,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(641); | ||||||
|         SYSSET_ASSIGN(660); |         SYSSET_ASSIGN(660); | ||||||
|         SYSSET_ASSIGN(668); |         SYSSET_ASSIGN(668); | ||||||
|         SYSSET_ASSIGN(671); |         SYSSET_ASSIGN(671); | ||||||
|  | |||||||
| @ -873,6 +873,8 @@ struct TSub3Item20Comm_XLG    //标准科目三综合评判 TKm3Itm20_XLG | |||||||
|     bool qdysFlag = false; //启动钥匙标志
 |     bool qdysFlag = false; //启动钥匙标志
 | ||||||
|     bool aqd_kfid = false; //安全带扣分
 |     bool aqd_kfid = false; //安全带扣分
 | ||||||
|     int CGD_Nums = 0; //达到次高挡的次数
 |     int CGD_Nums = 0; //达到次高挡的次数
 | ||||||
|  | 
 | ||||||
|  |     bool rmndg2 = false; //无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| struct TSub3Item20Comm_NS3  //新科目三
 | struct TSub3Item20Comm_NS3  //新科目三
 | ||||||
|  | |||||||
| @ -116,8 +116,8 @@ JUDGE_STAGE_IMPL(Sub2Judge03Cftc, Sub2CftcStage0) | |||||||
|     //穿越结束线了
 |     //穿越结束线了
 | ||||||
|     if(m_endLineFlag == true && cgcu->move == moveForward) |     if(m_endLineFlag == true && cgcu->move == moveForward) | ||||||
|     { |     { | ||||||
|         int syset = TableSysSet->asInt606(); |         int s606 = TableSysSet->asInt606(); | ||||||
|         if(syset == 1 || m_existMark == true)  //不可以取消项目,或者侧方已经扣过分了
 |         if(s606 == 1 || m_existMark == true)  //不可以取消项目,或者侧方已经扣过分了
 | ||||||
|         { |         { | ||||||
|             ENTER_ITEM_AND_MARK(JUDGE_MARK_ITEM_MUST_ONCE(MARK_SUB2_CFTC_41)); |             ENTER_ITEM_AND_MARK(JUDGE_MARK_ITEM_MUST_ONCE(MARK_SUB2_CFTC_41)); | ||||||
|         } |         } | ||||||
| @ -372,15 +372,37 @@ void Sub2Judge03Cftc::calcCrossLine() | |||||||
|             //后轮没有穿越结束线
 |             //后轮没有穿越结束线
 | ||||||
|             if(m_endLineFlag == false) |             if(m_endLineFlag == false) | ||||||
|             { |             { | ||||||
|                 const TGPSLine& L78 = m_model->L78(); |                 int s641 = TableSysSet->asInt641(); | ||||||
|                 #if JUDGE_USE_INSPECT |                 if(s641 == 1) | ||||||
|                 bool endLine = (pureCarTouchSomeSegment(L78, {II(13)}, history)); //车身13点就是尾部中间那个点
 |  | ||||||
|                 #else |  | ||||||
|                 bool endLine = (pureCarTouchSomeSegment(L78, wheels, history)); |  | ||||||
|                 #endif |  | ||||||
|                 if(endLine) |  | ||||||
|                 { |                 { | ||||||
|                     m_endLineFlag = true; |                     if(m_stage >= Sub2CftcStage2) //641=1 是车尾过5-6延长线结束 2025-03-26 add
 | ||||||
|  |                     { | ||||||
|  |                         if(pureCarTouchSoloSegment(L56, II(13), history)) | ||||||
|  |                         { | ||||||
|  |                             m_endLineFlag = true; | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                     else if(m_stage == Sub2CftcStage0) | ||||||
|  |                     { | ||||||
|  |                         const TGPSLine& L78 = m_model->L78(); //606参数是0可能会取消项目所以要加这个逻辑
 | ||||||
|  |                         if(pureCarTouchSoloSegment(L78, II(13), history)) | ||||||
|  |                         { | ||||||
|  |                             m_endLineFlag = true; | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |                 else | ||||||
|  |                 { | ||||||
|  |                     const TGPSLine& L78 = m_model->L78(); | ||||||
|  |                     #if JUDGE_USE_INSPECT | ||||||
|  |                     bool endLine = (pureCarTouchSomeSegment(L78, {II(13)}, history)); //车身13点就是尾部中间那个点
 | ||||||
|  |                     #else | ||||||
|  |                     bool endLine = (pureCarTouchSomeSegment(L78, wheels, history)); | ||||||
|  |                     #endif | ||||||
|  |                     if(endLine) | ||||||
|  |                     { | ||||||
|  |                         m_endLineFlag = true; | ||||||
|  |                     } | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -103,6 +103,12 @@ void Sub3Judge01Sczb::dealJudgeItem() | |||||||
|     //超声波评判跟差分信号没有关系,所以不做差分信号状态的判断
 |     //超声波评判跟差分信号没有关系,所以不做差分信号状态的判断
 | ||||||
|     //if(!m_car->rtkEnabled() || !m_car->rtkEnabled(1)) return;
 |     //if(!m_car->rtkEnabled() || !m_car->rtkEnabled(1)) return;
 | ||||||
| 
 | 
 | ||||||
|  |     const std::string& s386 = TableSysSet->get386(); | ||||||
|  |     if(s386 == "3") //无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光
 | ||||||
|  |     { | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     //有这种考试模式,上车准备是外壳完成的,这种少数,兼容 windows是这种做法
 |     //有这种考试模式,上车准备是外壳完成的,这种少数,兼容 windows是这种做法
 | ||||||
|     const TStuInfo& stuInfo = m_car->stuInfo(); |     const TStuInfo& stuInfo = m_car->stuInfo(); | ||||||
|     if(stuInfo.sczb)  //StuInfo.CS_Finish_SCZB_Flag
 |     if(stuInfo.sczb)  //StuInfo.CS_Finish_SCZB_Flag
 | ||||||
| @ -197,8 +203,6 @@ void Sub3Judge01Sczb::dealJudgeItem() | |||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const std::string& s386 = TableSysSet->get386(); |  | ||||||
| 
 |  | ||||||
|     if(m_itemv.newtype == 1) |     if(m_itemv.newtype == 1) | ||||||
|     { |     { | ||||||
|         //当前时刻的累计用时秒
 |         //当前时刻的累计用时秒
 | ||||||
|  | |||||||
| @ -410,14 +410,16 @@ void Sub3Judge02Qbxx::Judge_QiBu_GuaCuoDang() | |||||||
|     if(cg->move == moveForward && his1->move == moveForward) |     if(cg->move == moveForward && his1->move == moveForward) | ||||||
|     { |     { | ||||||
|         const TSensorInfo& sor = cg->real.sensor; |         const TSensorInfo& sor = cg->real.sensor; | ||||||
|  |         //小车1档起步, 大车1、2档起步
 | ||||||
|  |         static const int gear = TableSysParm->findQiBuGear(m_car->carCode()); | ||||||
| 
 | 
 | ||||||
| #if JUDGE_USE_INSPECT | #if JUDGE_USE_INSPECT | ||||||
|         if(sor.dw_plc >= 2)  //无锡所用原始档位
 |         if(sor.dw_plc > gear)  //无锡所用原始档位
 | ||||||
|         { |         { | ||||||
|             JUDGE_MARK_SUB3(2, "44", false); |             JUDGE_MARK_SUB3(2, "44", false); | ||||||
|         } |         } | ||||||
| #else | #else | ||||||
|         if(sor.dw >= 2) |         if(sor.dw > gear) | ||||||
|         { |         { | ||||||
|             JUDGE_MARK_SUB3(2, "44", false); |             JUDGE_MARK_SUB3(2, "44", false); | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -769,7 +769,6 @@ void Sub3Judge20Comm::doCheck_ZuoYi() | |||||||
| //加载模拟灯光项目
 | //加载模拟灯光项目
 | ||||||
| void Sub3Judge20Comm::CallMoNiDengGuang() | void Sub3Judge20Comm::CallMoNiDengGuang() | ||||||
| { | { | ||||||
| 
 |  | ||||||
| #if JUDGE_USE_INSPECT | #if JUDGE_USE_INSPECT | ||||||
|     return;  //屏蔽模拟灯光
 |     return;  //屏蔽模拟灯光
 | ||||||
| #endif | #endif | ||||||
| @ -784,6 +783,19 @@ void Sub3Judge20Comm::CallMoNiDengGuang() | |||||||
|     const TSensorInfo& sor3 = his3->real.sensor; |     const TSensorInfo& sor3 = his3->real.sensor; | ||||||
| 
 | 
 | ||||||
|     const std::string& ksdd = TableSysSet->get211(); |     const std::string& ksdd = TableSysSet->get211(); | ||||||
|  |     const std::string& s386 = TableSysSet->get386(); | ||||||
|  |     if(s386 == "3") | ||||||
|  |     { | ||||||
|  |         //无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光  //2025-03-21 yhy add
 | ||||||
|  |         //无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
 | ||||||
|  |         if(m_itemvXLG.rmndg2 == false) | ||||||
|  |         { | ||||||
|  |             if(sor.rmndg == 2 && sor1.rmndg == 0 && sor2.rmndg == 0) | ||||||
|  |             { | ||||||
|  |                 m_itemvXLG.rmndg2 = true; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     if(m_car->disForward() + m_car->disBackward() < 50 && |     if(m_car->disForward() + m_car->disBackward() < 50 && | ||||||
|             sor.fdjzs == SNOT && sor1.fdjzs == SNOT && sor2.fdjzs == SNOT && sor3.fdjzs == SNOT) |             sor.fdjzs == SNOT && sor1.fdjzs == SNOT && sor2.fdjzs == SNOT && sor3.fdjzs == SNOT) | ||||||
| @ -889,23 +901,15 @@ void Sub3Judge20Comm::CallMoNiDengGuang() | |||||||
|     { |     { | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|     const std::string& s386 = TableSysSet->get386(); | 
 | ||||||
|     //模拟灯光:参数386=0,开始考试后,就触发模拟灯光
 |     //模拟灯光:参数386=0,开始考试后,就触发模拟灯光
 | ||||||
|     if(s386 != "0") |     if(s386 != "0" && s386 != "3") | ||||||
|     { |     { | ||||||
|         TKM3Item* item01 = m_car->findExamItem(Sub3ItemType01Sczb); //上车准备
 |         TKM3Item* item01 = m_car->findExamItem(Sub3ItemType01Sczb); //上车准备
 | ||||||
|         if(item01 && item01->FinishFlag == false) |         if(item01 && item01->FinishFlag == false) | ||||||
|         { |         { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if(s386 == "3") //无锡地区在做完上车准备时需要人工点下才能触发模拟灯光 //2025-03-21 yhy add
 |  | ||||||
|         { |  | ||||||
|             if(sor.rmndg == 2 && sor1.rmndg == 0 && sor2.rmndg == 0) |  | ||||||
|             { |  | ||||||
|                 m_car->setEnterItem(item41); |  | ||||||
|             } |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     //322参数0:模拟灯光开始和结束都要检查 1:只检查结束 2:只检查开始  默认不配置都检查
 |     //322参数0:模拟灯光开始和结束都要检查 1:只检查结束 2:只检查开始  默认不配置都检查
 | ||||||
| @ -917,7 +921,7 @@ void Sub3Judge20Comm::CallMoNiDengGuang() | |||||||
|             (s386 == "5" && sor.dh1 == SYES) || |             (s386 == "5" && sor.dh1 == SYES) || | ||||||
|             (s386 == "6" && sor.aqd == SYES && sor1.aqd == SYES) ) //20170314 训练模式 只要有dh1就可以进行模拟灯光
 |             (s386 == "6" && sor.aqd == SYES && sor1.aqd == SYES) ) //20170314 训练模式 只要有dh1就可以进行模拟灯光
 | ||||||
|     { |     { | ||||||
|         //关闭灯光  20180809
 |         //关闭灯光提示 20180809
 | ||||||
|         if((s322 != "1") && (sor.shtd + sor.skd + sor.ygd + sor.jgd + sor.zfxd + sor.yfxd > 0 || ksdd == siteof::nj)) |         if((s322 != "1") && (sor.shtd + sor.skd + sor.ygd + sor.jgd + sor.zfxd + sor.yfxd > 0 || ksdd == siteof::nj)) | ||||||
|         { |         { | ||||||
|             if(!m_itemvCJH.Gbdg_ID) |             if(!m_itemvCJH.Gbdg_ID) | ||||||
| @ -977,9 +981,19 @@ void Sub3Judge20Comm::CallMoNiDengGuang() | |||||||
|         } |         } | ||||||
|         else |         else | ||||||
|         { |         { | ||||||
|             //开始模拟灯光
 |             if(s386 == "3") | ||||||
|             if(item41 && item41->Item_Color == itemStateWk) |  | ||||||
|             { |             { | ||||||
|  |                 //无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光  //2025-03-21 yhy add
 | ||||||
|  |                 //无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
 | ||||||
|  |                 if(m_itemvXLG.rmndg2 && sor.fdjzs > 100 && sor1.fdjzs > 100 && sor2.fdjzs > 100) | ||||||
|  |                 { | ||||||
|  |                     m_car->KM3EndItem(Sub3ItemType01Sczb,true,false); | ||||||
|  |                     m_car->setEnterItem(item41); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 //开始模拟灯光
 | ||||||
|                 m_car->setEnterItem(item41); |                 m_car->setEnterItem(item41); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @ -4540,16 +4554,16 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|     // 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
 |     // 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
 | ||||||
|     // *)
 |     // *)
 | ||||||
|     const std::vector<std::string>& s425 = TableSysSet->asArray425(); |     const std::vector<std::string>& s425 = TableSysSet->asArray425(); | ||||||
|     std::string ss = s425.size() > 1 ? s425[1] : ""; |     std::string ss425 = s425.size() > 1 ? s425[1] : ""; | ||||||
|     TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
 |     TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
 | ||||||
|     if(item14 && item14->TestPro == ItemProFlagIdle && ss == "1") |     if(item14 && item14->TestPro == ItemProFlagIdle && ss425 == "1") | ||||||
|     { |     { | ||||||
|         const TSensorInfo& sor3 = m_car->historySensor(3); |         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 == 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; | ||||||
|             int count =m_car->historyCount(); |             int count = m_car->historyCount(); | ||||||
|             for(int i = 1; i <= 25; i++) |             for(int i = 1; i <= 25; i++) | ||||||
|             { |             { | ||||||
|                 if(i >= count || i + 6 >= count) |                 if(i >= count || i + 6 >= count) | ||||||
| @ -4558,6 +4572,7 @@ 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_i1 = m_car->historySensor(i + 1).dw; | ||||||
|                 int dw_i2 = m_car->historySensor(i + 2).dw; |                 int dw_i2 = m_car->historySensor(i + 2).dw; | ||||||
|                 int dw_i3 = m_car->historySensor(i + 3).dw; |                 int dw_i3 = m_car->historySensor(i + 3).dw; | ||||||
| @ -4566,9 +4581,9 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|                 int dw_i6 = m_car->historySensor(i + 6).dw; |                 int dw_i6 = m_car->historySensor(i + 6).dw; | ||||||
| 
 | 
 | ||||||
|                 if(sori.lhq == SNOT) break; |                 if(sori.lhq == SNOT) break; | ||||||
|                 if(sori.dw == SNOT) continue; |                 if(dw_i0 == SNOT) continue; | ||||||
|                 if(dw != sori.dw && sori.dw == dw_i1 && sori.dw  == dw_i2 && sori.dw  == dw_i3 && |                 if(dw != dw_i0 && dw_i0 == dw_i1 && dw_i0  == dw_i2 && dw_i0 == dw_i3 && | ||||||
|                         sori.dw  == dw_i4 && sori.dw == dw_i5 && sori.dw == dw_i6) |                         dw_i0  == dw_i4 && dw_i0 == dw_i5 && dw_i0 == dw_i6) | ||||||
|                 { |                 { | ||||||
|                     k = k + 1; |                     k = k + 1; | ||||||
|                     dw = sori.dw; |                     dw = sori.dw; | ||||||
| @ -4586,24 +4601,28 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|     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 && |         if(sor.dw == sor1.dw && sor.dw == sor2.dw && 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++) |  | ||||||
|             { |             { | ||||||
|                 if(i >= count || i + 1 >= count) |                 if(i >= count || i + 2 >= count) | ||||||
|                 { |                 { | ||||||
|                     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_i1 = m_car->historySensor(i + 1).dw; |                 int dw_i0 = sori.dw; | ||||||
|  |                 if(dw_i0 != 0) break; | ||||||
| 
 | 
 | ||||||
|                 if(sori.dw >= sor.dw && sori.lhq == SNOT)  break; |                 int dw_i1 = m_car->historySensor(i + 1).dw; | ||||||
|                 if(sori.dw + 1 == sor.dw && sori.lhq == SNOT)  break; |                 int dw_i2 = m_car->historySensor(i + 2).dw; | ||||||
|                 if(sori.dw < sor.dw && dw_i1 == sori.dw && sori.dw > 0) | 
 | ||||||
|  |                 if(dw_i1 >= sor.dw && sori.lhq == SNOT) break; | ||||||
|  |                 if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break; | ||||||
|  | 
 | ||||||
|  |                 if(dw_i1 < sor.dw  && dw_i1 > 0 && dw_i1 == dw_i2) | ||||||
|                 { |                 { | ||||||
|                     if(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) |                     if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) | ||||||
|                     { |                     { | ||||||
|                         bool FindFlag = false; |                         bool FindFlag = false; | ||||||
|                         if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) |                         if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||||
| @ -4637,30 +4656,34 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|         const TSensorInfo& sor3 = m_car->historySensor(3); |         const TSensorInfo& sor3 = m_car->historySensor(3); | ||||||
|         const TSensorInfo& sor4 = m_car->historySensor(4); |         const TSensorInfo& sor4 = m_car->historySensor(4); | ||||||
|         if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw == sor3.dw && sor.dw == sor4.dw && |         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  && |                 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
 |                 !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
 | ||||||
|         { |         { | ||||||
|             for(int i = 5; i <= 55; i++) |             for(int i = 5; i <= 55; i++) | ||||||
|             { |             { | ||||||
|                 if(i >= count || i + 4 >= count) |                 if(i >= count || i + 5 >= count) | ||||||
|                 { |                 { | ||||||
|                     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; | ||||||
|  |                 if(dw_i0 != 0) break; | ||||||
| 
 | 
 | ||||||
|                 int dw_i1 = m_car->historySensor(i + 1).dw; |                 int dw_i1 = m_car->historySensor(i + 1).dw; | ||||||
|                 int dw_i2 = m_car->historySensor(i + 2).dw; |                 int dw_i2 = m_car->historySensor(i + 2).dw; | ||||||
|                 int dw_i3 = m_car->historySensor(i + 3).dw; |                 int dw_i3 = m_car->historySensor(i + 3).dw; | ||||||
|                 int dw_i4 = m_car->historySensor(i + 4).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(dw_i1 > sor.dw && sori.lhq == SNOT) break; | ||||||
|                 if(sori.dw + 1 == sor.dw && sori.lhq == SNOT)  break; |                 if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break; | ||||||
|                 if(sori.dw < sor.dw && dw_i1 == sori.dw && dw_i2 == sori.dw && | 
 | ||||||
|                         dw_i3 == sori.dw && dw_i4 == sori.dw && sori.dw > 0) |                 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((sor.dw - sori.dw) > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) |                     if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) | ||||||
|                     { |                     { | ||||||
|                         bool FindFlag = false; |                         bool FindFlag = false; | ||||||
|                         if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) |                         if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||||
| @ -4705,12 +4728,14 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|         { |         { | ||||||
|             for(int i = 9; i < 59; i++) |             for(int i = 9; i < 59; i++) | ||||||
|             { |             { | ||||||
|                 if(i >= count || i + 9 >= count) |                 if(i >= count || i + 10 >= count) | ||||||
|                 { |                 { | ||||||
|                     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; | ||||||
|  |                 if(dw_i0 != 0) break; | ||||||
| 
 | 
 | ||||||
|                 int dw_i1 = m_car->historySensor(i + 1).dw; |                 int dw_i1 = m_car->historySensor(i + 1).dw; | ||||||
|                 int dw_i2 = m_car->historySensor(i + 2).dw; |                 int dw_i2 = m_car->historySensor(i + 2).dw; | ||||||
| @ -4721,14 +4746,16 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|                 int dw_i7 = m_car->historySensor(i + 7).dw; |                 int dw_i7 = m_car->historySensor(i + 7).dw; | ||||||
|                 int dw_i8 = m_car->historySensor(i + 8).dw; |                 int dw_i8 = m_car->historySensor(i + 8).dw; | ||||||
|                 int dw_i9 = m_car->historySensor(i + 9).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(dw_i1 > sor.dw && sori.lhq == SNOT) break; | ||||||
|                 if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break; |                 if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break; | ||||||
|                 if(sori.dw < sor.dw && dw_i1 == sori.dw && dw_i2 == sori.dw && dw_i3 == sori.dw && | 
 | ||||||
|                         dw_i4 == sori.dw && dw_i5 == sori.dw && dw_i6 == sori.dw && |                 if(dw_i1 < sor.dw && dw_i1 > 0 && dw_i2 == dw_i1 && dw_i3 == dw_i1 && | ||||||
|                         dw_i7 == sori.dw && dw_i8 == sori.dw && dw_i9 == sori.dw && sori.dw > 0) |                    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(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) |                     if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) | ||||||
|                     { |                     { | ||||||
|                         bool FindFlag = false; |                         bool FindFlag = false; | ||||||
|                         if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) |                         if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||||
| @ -4743,6 +4770,8 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|                         } |                         } | ||||||
|                         if(FindFlag == true) |                         if(FindFlag == true) | ||||||
|                         { |                         { | ||||||
|  |                             //安卓档位评判好像逻辑上做了优化,比方说越级加档,中间必须出现 0 才判,1 跳 3 的情况,没出现 0 不判
 | ||||||
|  |                             //项目经理吉说的先按照这样做
 | ||||||
|                             JUDGE_MARK_SUB3(14, "01", true); |                             JUDGE_MARK_SUB3(14, "01", true); | ||||||
|                         } |                         } | ||||||
|                         else |                         else | ||||||
| @ -4765,7 +4794,8 @@ 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; | ||||||
| 
 | 
 | ||||||
|                     int dw_i1 = m_car->historySensor(i + 1).dw; |                     int dw_i1 = m_car->historySensor(i + 1).dw; | ||||||
|                     int dw_i2 = m_car->historySensor(i + 2).dw; |                     int dw_i2 = m_car->historySensor(i + 2).dw; | ||||||
| @ -4777,19 +4807,17 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang() | |||||||
|                     int dw_i8 = m_car->historySensor(i + 8).dw; |                     int dw_i8 = m_car->historySensor(i + 8).dw; | ||||||
|                     int dw_i9 = m_car->historySensor(i + 9).dw; |                     int dw_i9 = m_car->historySensor(i + 9).dw; | ||||||
| 
 | 
 | ||||||
|                     if(sori.dw == 9)  break; |                     if(dw_i0 == 9)  break; | ||||||
|                     if(hisi->move != moveForward) break; |                     if(hisi->move != moveForward) break; | ||||||
|                     if(sori.dw < sor.dw && sori.lhq == SNOT) break; |                     if(dw_i0 < sor.dw && sori.lhq == SNOT) break; | ||||||
|                     if(sori.dw - 1 == sor.dw && sori.lhq == SNOT) break; |                     if(dw_i0 - 1 == sor.dw && sori.lhq == SNOT) break; | ||||||
| 
 | 
 | ||||||
|                     if(sori.dw > sor.dw && dw_i1 == sori.dw |                     if(dw_i0 > sor.dw && dw_i0 > 0 && | ||||||
|                             && dw_i2 == sori.dw && dw_i3 == sori.dw |                             dw_i1 == dw_i0 && dw_i2 == dw_i0 && dw_i3 == dw_i0 && | ||||||
|                             && dw_i4 == sori.dw && dw_i5 == sori.dw |                             dw_i4 == dw_i0 && dw_i5 == dw_i0 && dw_i6 == dw_i0 && | ||||||
|                             && dw_i6 == sori.dw && dw_i7 == sori.dw |                             dw_i7 == dw_i0 && dw_i8 == dw_i0 && dw_i9 == dw_i0) | ||||||
|                             && dw_i8 == sori.dw && dw_i9 == sori.dw |  | ||||||
|                             && sori.dw > 0) |  | ||||||
|                     { |                     { | ||||||
|                         if((sori.dw - sor.dw) > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) |                         if(dw_i0 - sor.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt) | ||||||
|                         { |                         { | ||||||
|                             bool FindFlag = false; |                             bool FindFlag = false; | ||||||
|                             if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) |                             if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1) | ||||||
|  | |||||||
| @ -1,15 +1,14 @@ | |||||||
| -----BEGIN CERTIFICATE----- | -----BEGIN CERTIFICATE----- | ||||||
| MIICFTCCAZugAwIBAgIILMaFkNm3ERAwCgYIKoZIzj0EAwMwYzELMAkGA1UEBhMC | MIICFTCCAZugAwIBAgIIDwIlwC9KCAgwCgYIKoZIzj0EAwMwYzELMAkGA1UEBhMC | ||||||
| Q04xFDASBgNVBAoTC09wZW5IYXJtb255MRkwFwYDVQQLExBPcGVuSGFybW9ueSBU | Q04xFDASBgNVBAoTC09wZW5IYXJtb255MRkwFwYDVQQLExBPcGVuSGFybW9ueSBU | ||||||
| ZWFtMSMwIQYDVQQDExpPcGVuSGFybW9ueSBBcHBsaWNhdGlvbiBDQTAeFw0yNTAz | ZWFtMSMwIQYDVQQDExpPcGVuSGFybW9ueSBBcHBsaWNhdGlvbiBDQTAeFw0yNTAz | ||||||
| MjUwMjAxNTRaFw0zNTAzMjMwMjAxNTRaMEoxFTATBgNVBAMMDGlkZV9kZW1vX2Fw | MjcwMTM0MzFaFw0zNTAzMjUwMTM0MzFaMEoxFTATBgNVBAMMDGlkZV9kZW1vX2Fw | ||||||
| cDENMAsGA1UECxMEVW5pdDEVMBMGA1UEChMMT3JnYW5pemF0aW9uMQswCQYDVQQG | cDENMAsGA1UECxMEVW5pdDEVMBMGA1UEChMMT3JnYW5pemF0aW9uMQswCQYDVQQG | ||||||
| EwJDTjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG6rysrqoOf2+cP4SYL6gOAW | EwJDTjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOFM709v5dpRw1u42nrUPbxe | ||||||
| Tcr0/W2q4vG2HuBm/pXUL4PA6sPtHLGhaQSmj10YTyetLBGx1/dqFyEYwyvZ2bqj | UZ2iCXWEgpO3ySIfLdm+t5b23QqTp5cSPu1faM9Exy6PqxaO2zzGFt2Eb3AKqLyj | ||||||
| UjBQMB0GA1UdDgQWBBRbwVqb1UxZNU2Zo0gag/hDmnwhgDAOBgNVHQ8BAf8EBAMC | UjBQMB0GA1UdDgQWBBSubxhAdyUr8mSVCpjOak70J/8yoTAOBgNVHQ8BAf8EBAMC | ||||||
| B4AwHwYDVR0jBBgwFoAU24a3IhbVC6FLt90le7nxBX2iLUcwCgYIKoZIzj0EAwMD | B4AwHwYDVR0jBBgwFoAU24a3IhbVC6FLt90le7nxBX2iLUcwCgYIKoZIzj0EAwMD | ||||||
| aAAwZQIwWDPoHq6xG4pZRrwo+fXDVPUtLySiRw5fCQyrTo4SLA2ydg2P34zRMOen | aAAwZQIwevtGwM7A4Cj5foXfOCAV8RU0o3NAKBIxXIWbnk2h+BPiwHRvV9BvHv+T | ||||||
| zEbobqKGAjEAmoxrQAZlBhAtrs9skI+6c2Cf1PazBb2HeZDpPyyE5RRK0CgxiZh0 | k4Qssp04AjEAwPaguX2Iu6DY8Y+u0lq1gEc62lnSjzAHDr7SItcAOjHd0IWwubpK | ||||||
| Auju0akp9ooB | JD1PtKpp/POt | ||||||
| -----END CERTIFICATE----- | -----END CERTIFICATE----- | ||||||
| FD1F7A14FAB136A9A68ABECE1E0612B148E3A2FB5A8CEA31C2FAC26C54452665 |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user