c++
This commit is contained in:
		
							parent
							
								
									367e8be511
								
							
						
					
					
						commit
						82d59217aa
					
				
										
											Binary file not shown.
										
									
								
							@ -12,7 +12,7 @@
 | 
			
		||||
 ***
 | 
			
		||||
 ***  说明:编译配置选项
 | 
			
		||||
 ***
 | 
			
		||||
 ***  JUDGE_USE_S3T_TEST    //是否启用大车科目三测试
 | 
			
		||||
 ***  JUDGE_USE_TSUB3T    //是否启用大车科目三测试
 | 
			
		||||
 ***  JUDGE_USE_NSUB3       //是否启用新科三评判
 | 
			
		||||
 ***  JUDGE_USE_OLD         //是否启用评判语音播报之前老模式
 | 
			
		||||
 ***  JUDGE_USE_LOG         //是否启用日志功能模块
 | 
			
		||||
@ -33,7 +33,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 是否启用大车科目三测试
 | 
			
		||||
 */
 | 
			
		||||
#define JUDGE_USE_S3T_TEST  0
 | 
			
		||||
#define JUDGE_USE_TSUB3T  0
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * 是否启用新科目三评判
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,7 @@
 | 
			
		||||
#define JUDGE_VERSION_MAJOR  1
 | 
			
		||||
#define JUDGE_VERSION_MINOR  0
 | 
			
		||||
#define JUDGE_VERSION_PATCH  3
 | 
			
		||||
#define JUDGE_VERSION_STAMP  "2503191702b"
 | 
			
		||||
#define JUDGE_VERSION_STAMP  "2503270900b"
 | 
			
		||||
#if JUDGE_USE_OLD
 | 
			
		||||
#   undef JUDGE_VERSION_STAMP
 | 
			
		||||
#   define JUDGE_VERSION_STAMP  "2411121010b.old"
 | 
			
		||||
 | 
			
		||||
@ -134,6 +134,26 @@ ExamItemCodes SysParmTable::findSub2ExamItems(int carCode) const
 | 
			
		||||
    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 codes;
 | 
			
		||||
 | 
			
		||||
@ -57,6 +57,12 @@ public:
 | 
			
		||||
     */
 | 
			
		||||
    ExamItemCodes findSub2ExamItems(int carCode) const;
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * 查找起步档位 NO1=3 NO2=车型代码 NO3=4条件 TXT1
 | 
			
		||||
     *
 | 
			
		||||
     */
 | 
			
		||||
    int findQiBuGear(int carCode);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * 科二科三通用,通过我们公司自定义的项目代码,获取到无锡所定义的标准项目代码和项目名称(简称)等
 | 
			
		||||
     * NO1=6 NO2=公司自定义的项目代码  查出来 NO2:我们公司的项目代码  TXT1:项目名称全称  TXT2:无锡所代码  TXT3:项目名称简称
 | 
			
		||||
 | 
			
		||||
@ -183,7 +183,8 @@ class JUDGE_API SysSetTable : public IDBTable
 | 
			
		||||
    SYSSET_DECLARE(378);                             //变更车道和超车:取消第1个项目 (0-不能 1-不变道也不开转向灯 2-开双跳)  //0
 | 
			
		||||
    SYSSET_DECLARE(383, type_array, "^");            //新模拟夜间(次数^错扣^固定^)   //-
 | 
			
		||||
    SYSSET_DECLARE(386);                             //触发夜间灯光模拟的条件(0-点完成 1-插安全带或点火 2-点火 3-上车准备人工评判按钮切换 4-点击“继续考试”按钮触发 5-有点火1信号就可以触发,6-有安全带就触发) //1  //3时342=0或2有效
 | 
			
		||||
    SYSSET_DECLARE(389);                             //人行道不能掉头(0-否 1-是) // 0
 | 
			
		||||
    SYSSET_DECLARE(388, type_int);                   //超车后是否驶回原车道(0-否 1-是) 默认不设置为0
 | 
			
		||||
    SYSSET_DECLARE(389);                             //人行道不能掉头(0-否 1-是) // 默认不设置为0
 | 
			
		||||
    SYSSET_DECLARE(390);                             //加减档位顺序  //23432
 | 
			
		||||
    SYSSET_DECLARE(394, type_array2, ";", ":");      //档位车速范围  //1:0-20;2:5-30;3:15-40;4:25-55;5:35-150;
 | 
			
		||||
    SYSSET_DECLARE(398, type_int);                   //第二次考试不绕车一周(0-否+1-是)不扣分
 | 
			
		||||
@ -256,6 +257,7 @@ class JUDGE_API SysSetTable : public IDBTable
 | 
			
		||||
    SYSSET_DECLARE(615);                             //侧方停车读卡前进时碰6线不合格 0
 | 
			
		||||
    SYSSET_DECLARE(617, type_int);                   //参数617:语音实时播报项目是否合格(0-否 1-是)语音码:xmhg,xmbhg
 | 
			
		||||
    SYSSET_DECLARE(624);                             //考试评判车门模式
 | 
			
		||||
    SYSSET_DECLARE(641, type_int);                   //641=1 是车尾过5-6延长线结束
 | 
			
		||||
    SYSSET_DECLARE(660);                             //侧方停车项目 停车距离判断阈值控制参数
 | 
			
		||||
    SYSSET_DECLARE(668);                             //安全带评判模式
 | 
			
		||||
    SYSSET_DECLARE(671);                             //停车距离判断阈值控制参数
 | 
			
		||||
@ -322,6 +324,7 @@ class JUDGE_API SysSetTable : public IDBTable
 | 
			
		||||
        SYSSET_ASSIGN(378);
 | 
			
		||||
        SYSSET_ASSIGN(383);
 | 
			
		||||
        SYSSET_ASSIGN(386);
 | 
			
		||||
        SYSSET_ASSIGN(388);
 | 
			
		||||
        SYSSET_ASSIGN(389);
 | 
			
		||||
        SYSSET_ASSIGN(390);
 | 
			
		||||
        SYSSET_ASSIGN(394);
 | 
			
		||||
@ -395,6 +398,7 @@ class JUDGE_API SysSetTable : public IDBTable
 | 
			
		||||
        SYSSET_ASSIGN(615);
 | 
			
		||||
        SYSSET_ASSIGN(617);
 | 
			
		||||
        SYSSET_ASSIGN(624);
 | 
			
		||||
        SYSSET_ASSIGN(641);
 | 
			
		||||
        SYSSET_ASSIGN(660);
 | 
			
		||||
        SYSSET_ASSIGN(668);
 | 
			
		||||
        SYSSET_ASSIGN(671);
 | 
			
		||||
 | 
			
		||||
@ -694,7 +694,7 @@ void ExamCarSub3::UpdateCarParmWithSystemParm()
 | 
			
		||||
        {
 | 
			
		||||
            if(parm3TXT1 != "")
 | 
			
		||||
            {
 | 
			
		||||
#if !JUDGE_USE_S3T_TEST
 | 
			
		||||
#if !JUDGE_USE_TSUB3T
 | 
			
		||||
 | 
			
		||||
                parm3TXT1 = Tools::toupper(parm3TXT1);
 | 
			
		||||
                m_carInfo->kscx = parm3TXT1;
 | 
			
		||||
 | 
			
		||||
@ -1043,7 +1043,8 @@ bool ExamSensor::filterWrong(TChuanGan* cg)
 | 
			
		||||
    ExamSubject sub = m_car->examSubject();
 | 
			
		||||
    if(ExamSubject2 == sub)
 | 
			
		||||
    {
 | 
			
		||||
        return gps.rtkEnabled == true && gps.valid();
 | 
			
		||||
        //return gps.rtkEnabled == true && gps.valid();
 | 
			
		||||
        return gps.valid();   //2025-03-20 modify
 | 
			
		||||
    }
 | 
			
		||||
    else if(ExamSubject3 == sub)
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -873,6 +873,8 @@ struct TSub3Item20Comm_XLG    //标准科目三综合评判 TKm3Itm20_XLG
 | 
			
		||||
    bool qdysFlag = false; //启动钥匙标志
 | 
			
		||||
    bool aqd_kfid = false; //安全带扣分
 | 
			
		||||
    int CGD_Nums = 0; //达到次高挡的次数
 | 
			
		||||
 | 
			
		||||
    bool rmndg2 = false; //无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct TSub3Item20Comm_NS3  //新科目三
 | 
			
		||||
 | 
			
		||||
@ -116,8 +116,8 @@ JUDGE_STAGE_IMPL(Sub2Judge03Cftc, Sub2CftcStage0)
 | 
			
		||||
    //穿越结束线了
 | 
			
		||||
    if(m_endLineFlag == true && cgcu->move == moveForward)
 | 
			
		||||
    {
 | 
			
		||||
        int syset = TableSysSet->asInt606();
 | 
			
		||||
        if(syset == 1 || m_existMark == true)  //不可以取消项目,或者侧方已经扣过分了
 | 
			
		||||
        int s606 = TableSysSet->asInt606();
 | 
			
		||||
        if(s606 == 1 || m_existMark == true)  //不可以取消项目,或者侧方已经扣过分了
 | 
			
		||||
        {
 | 
			
		||||
            ENTER_ITEM_AND_MARK(JUDGE_MARK_ITEM_MUST_ONCE(MARK_SUB2_CFTC_41));
 | 
			
		||||
        }
 | 
			
		||||
@ -371,6 +371,27 @@ void Sub2Judge03Cftc::calcCrossLine()
 | 
			
		||||
 | 
			
		||||
            //后轮没有穿越结束线
 | 
			
		||||
            if(m_endLineFlag == false)
 | 
			
		||||
            {
 | 
			
		||||
                int s641 = TableSysSet->asInt641();
 | 
			
		||||
                if(s641 == 1)
 | 
			
		||||
                {
 | 
			
		||||
                    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
 | 
			
		||||
@ -385,6 +406,7 @@ void Sub2Judge03Cftc::calcCrossLine()
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Sub2Judge03Cftc::judgeTouchLine()
 | 
			
		||||
 | 
			
		||||
@ -103,6 +103,12 @@ void Sub3Judge01Sczb::dealJudgeItem()
 | 
			
		||||
    //超声波评判跟差分信号没有关系,所以不做差分信号状态的判断
 | 
			
		||||
    //if(!m_car->rtkEnabled() || !m_car->rtkEnabled(1)) return;
 | 
			
		||||
 | 
			
		||||
    const std::string& s386 = TableSysSet->get386();
 | 
			
		||||
    if(s386 == "3") //无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光
 | 
			
		||||
    {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //有这种考试模式,上车准备是外壳完成的,这种少数,兼容 windows是这种做法
 | 
			
		||||
    const TStuInfo& stuInfo = m_car->stuInfo();
 | 
			
		||||
    if(stuInfo.sczb)  //StuInfo.CS_Finish_SCZB_Flag
 | 
			
		||||
@ -165,25 +171,25 @@ void Sub3Judge01Sczb::dealJudgeItem()
 | 
			
		||||
 | 
			
		||||
    //加入超声波数据
 | 
			
		||||
    //加入左前
 | 
			
		||||
    if(sor.csbzq < 800 && sor.csbzq > 0)
 | 
			
		||||
    if(sor.csbzq < m_csbValue && sor.csbzq > 0)
 | 
			
		||||
    {
 | 
			
		||||
        AddCSBData(CsbType::ZQ);
 | 
			
		||||
    }
 | 
			
		||||
    //加入右后
 | 
			
		||||
    if(sor.csbyh < 800 && sor.csbyh > 0)
 | 
			
		||||
    if(sor.csbyh < m_csbValue && sor.csbyh > 0)
 | 
			
		||||
    {
 | 
			
		||||
        AddCSBData(CsbType::YH);
 | 
			
		||||
    }
 | 
			
		||||
    if(m_itemv.radarCount >= 3)
 | 
			
		||||
    {
 | 
			
		||||
        //加入右前
 | 
			
		||||
        if(sor.csbyq < 800 && sor.csbyq > 0)
 | 
			
		||||
        if(sor.csbyq < m_csbValue && sor.csbyq > 0)
 | 
			
		||||
        {
 | 
			
		||||
            AddCSBData(CsbType::YQ);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //加入左后
 | 
			
		||||
        if(sor.csbzh < 800 && sor.csbzh > 0)
 | 
			
		||||
        if(sor.csbzh < m_csbValue && sor.csbzh > 0)
 | 
			
		||||
        {
 | 
			
		||||
            AddCSBData(CsbType::ZH);
 | 
			
		||||
        }
 | 
			
		||||
@ -197,8 +203,6 @@ void Sub3Judge01Sczb::dealJudgeItem()
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const std::string& s386 = TableSysSet->get386();
 | 
			
		||||
 | 
			
		||||
    if(m_itemv.newtype == 1)
 | 
			
		||||
    {
 | 
			
		||||
        //当前时刻的累计用时秒
 | 
			
		||||
 | 
			
		||||
@ -53,6 +53,8 @@ protected:
 | 
			
		||||
private:
 | 
			
		||||
    TSub3Item01Sczb m_itemv;
 | 
			
		||||
    std::deque<CsbType> m_csb; //CSBDataList: TStringList = nil;
 | 
			
		||||
    //真正的超声波,返回的距离,单位mm。。没人的时候数字大几千,有人就是实际的距离。***一代机外壳做了转化
 | 
			
		||||
    const int m_csbValue = 800;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // SUB3JUDGE01SCZB_H
 | 
			
		||||
 | 
			
		||||
@ -410,14 +410,16 @@ void Sub3Judge02Qbxx::Judge_QiBu_GuaCuoDang()
 | 
			
		||||
    if(cg->move == moveForward && his1->move == moveForward)
 | 
			
		||||
    {
 | 
			
		||||
        const TSensorInfo& sor = cg->real.sensor;
 | 
			
		||||
        //小车1档起步, 大车1、2档起步
 | 
			
		||||
        static const int gear = TableSysParm->findQiBuGear(m_car->carCode());
 | 
			
		||||
 | 
			
		||||
#if JUDGE_USE_INSPECT
 | 
			
		||||
        if(sor.dw_plc >= 2)  //无锡所用原始档位
 | 
			
		||||
        if(sor.dw_plc > gear)  //无锡所用原始档位
 | 
			
		||||
        {
 | 
			
		||||
            JUDGE_MARK_SUB3(2, "44", false);
 | 
			
		||||
        }
 | 
			
		||||
#else
 | 
			
		||||
        if(sor.dw >= 2)
 | 
			
		||||
        if(sor.dw > gear)
 | 
			
		||||
        {
 | 
			
		||||
            JUDGE_MARK_SUB3(2, "44", false);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -655,6 +655,13 @@ void Sub3Judge10Ccxx::dealJudgeItem()
 | 
			
		||||
            //5:回原车道阶段    6:完成回原车道阶段
 | 
			
		||||
            if(cg->ai_ljjl - m_itemv.Temp_LJJL_2 >= m_itemv.St4_CCD_MinJL)  //回原车道距离必须行驶到规定的距离
 | 
			
		||||
            {
 | 
			
		||||
                //超车后是否驶回原车道(0-否 1-是) 默认不设置为0
 | 
			
		||||
                int s388 = TableSysSet->asInt388();
 | 
			
		||||
                if(s388 == 0)
 | 
			
		||||
                {
 | 
			
		||||
                    m_exam->TestPro = ItemProFlagEnd;
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                if(m_itemv.St4_HuiYuanCheDao_TM == 0)
 | 
			
		||||
                {
 | 
			
		||||
                    m_itemv.St4_HuiYuanCheDao_TM = gps.sj;
 | 
			
		||||
 | 
			
		||||
@ -134,6 +134,8 @@ public:
 | 
			
		||||
    DEAL_API bool dealJudgeEnter() override;
 | 
			
		||||
    DEAL_API void dealJudgeItem() override;
 | 
			
		||||
 | 
			
		||||
    bool isConfirm() { return m_itemv.Status >= 3; };
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    void DoStatus_0(); //0-语音播报阶段
 | 
			
		||||
    void DoStatus_1(); //1-语音结束,开始评判 到停车前
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@
 | 
			
		||||
#include "HFactory.h"
 | 
			
		||||
#include "Sub3Judge14Jjdw.h"
 | 
			
		||||
#include "Sub3Judge41Mndg.h"
 | 
			
		||||
#include "Sub3Judge11Kbtc.h"
 | 
			
		||||
 | 
			
		||||
Sub3Judge20Comm::Sub3Judge20Comm()
 | 
			
		||||
{
 | 
			
		||||
@ -768,7 +769,6 @@ void Sub3Judge20Comm::doCheck_ZuoYi()
 | 
			
		||||
//加载模拟灯光项目
 | 
			
		||||
void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
#if JUDGE_USE_INSPECT
 | 
			
		||||
    return;  //屏蔽模拟灯光
 | 
			
		||||
#endif
 | 
			
		||||
@ -783,6 +783,19 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
			
		||||
    const TSensorInfo& sor3 = his3->real.sensor;
 | 
			
		||||
 | 
			
		||||
    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 &&
 | 
			
		||||
            sor.fdjzs == SNOT && sor1.fdjzs == SNOT && sor2.fdjzs == SNOT && sor3.fdjzs == SNOT)
 | 
			
		||||
@ -889,9 +902,8 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const std::string& s386 = TableSysSet->get386();
 | 
			
		||||
    //模拟灯光:参数386=0,开始考试后,就触发模拟灯光
 | 
			
		||||
    if(s386 != "0")
 | 
			
		||||
    if(s386 != "0" && s386 != "3")
 | 
			
		||||
    {
 | 
			
		||||
        TKM3Item* item01 = m_car->findExamItem(Sub3ItemType01Sczb); //上车准备
 | 
			
		||||
        if(item01 && item01->FinishFlag == false)
 | 
			
		||||
@ -909,7 +921,7 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
			
		||||
            (s386 == "5" && sor.dh1 == SYES) ||
 | 
			
		||||
            (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(!m_itemvCJH.Gbdg_ID)
 | 
			
		||||
@ -969,9 +981,19 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            //开始模拟灯光
 | 
			
		||||
            if(item41 && item41->Item_Color == itemStateWk)
 | 
			
		||||
            if(s386 == "3")
 | 
			
		||||
            {
 | 
			
		||||
                //无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光  //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);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@ -2280,8 +2302,12 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian()
 | 
			
		||||
    const TRTKResult& RTKKM3 = cg->RTKKM3;
 | 
			
		||||
 | 
			
		||||
    //长时间骑轧车道分界线行驶
 | 
			
		||||
    if(RTKKM3.BaseLaneCount == 0) return;
 | 
			
		||||
    if(RTKKM3.TouchLineType == LineType_0) return;
 | 
			
		||||
    if(RTKKM3.BaseLaneCount == 0 || RTKKM3.TouchLineType == LineType_0)
 | 
			
		||||
    {
 | 
			
		||||
        m_PubLastMark_XuXian_TK = 0;  //当前没压线给我退出
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //检查是否真正做靠边停车项目
 | 
			
		||||
    bool KBTCFlag = m_car->itemsSomeExaming2(Sub3ItemType11Kbtc);
 | 
			
		||||
 | 
			
		||||
@ -2334,9 +2360,14 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian()
 | 
			
		||||
    const TChuanGan* his2 = m_car->historyChuanGan(2);
 | 
			
		||||
    if(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++)
 | 
			
		||||
        {
 | 
			
		||||
            if(kind[i] == LineType_0) continue;
 | 
			
		||||
            auto ty = kind[i];
 | 
			
		||||
            if(ty == LineType_0) continue;
 | 
			
		||||
            if(m_PubLastMark_XuXian_TK == 0 && cg->RTKKM3.TouchLineType == ty)
 | 
			
		||||
            {
 | 
			
		||||
                m_PubLastMark_XuXian_TK = cg->tkCnt;
 | 
			
		||||
            }
 | 
			
		||||
            bool OKFlag = true;
 | 
			
		||||
            for(int j = 0; j < 50; j++) //10秒钟,对应的是50帧
 | 
			
		||||
            {
 | 
			
		||||
@ -2346,7 +2377,7 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian()
 | 
			
		||||
                    OKFlag = false;
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                if(cg_j->RTKKM3.TouchLineType != kind[i] || cg_j->move == moveStop)
 | 
			
		||||
                if(cg_j->RTKKM3.TouchLineType != ty || cg_j->move == moveStop)
 | 
			
		||||
                {
 | 
			
		||||
                    OKFlag = false;
 | 
			
		||||
                    break;
 | 
			
		||||
@ -2354,7 +2385,7 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian()
 | 
			
		||||
            }
 | 
			
		||||
            if(OKFlag == true)
 | 
			
		||||
            {
 | 
			
		||||
                if(cg->tkCnt - m_PubLastMark_XuXian_TK >= 10 * SECOND)
 | 
			
		||||
                if(m_PubLastMark_XuXian_TK> 0 && cg->tkCnt - m_PubLastMark_XuXian_TK >= 10 * SECOND)
 | 
			
		||||
                {
 | 
			
		||||
                    const char* serial = "65";
 | 
			
		||||
                    #if JUDGE_USE_INSPECT
 | 
			
		||||
@ -2388,8 +2419,11 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian_Tail()
 | 
			
		||||
    const TRTKResult& RTKKM3_Tail = cg->RTKKM3_Tail;
 | 
			
		||||
 | 
			
		||||
    //长时间骑轧车道分界线行驶
 | 
			
		||||
    if(RTKKM3_Tail.BaseLaneCount == 0) return;
 | 
			
		||||
    if(RTKKM3_Tail.TouchLineType == LineType_0) return;
 | 
			
		||||
    if(RTKKM3_Tail.BaseLaneCount == 0 || RTKKM3_Tail.TouchLineType == LineType_0)
 | 
			
		||||
    {
 | 
			
		||||
        m_PubLastMark_XuXian_Tail_TK = 0;  //当前没压线给我退出
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    //检查是否真正做靠边停车项目
 | 
			
		||||
    bool KBTCFlag = m_car->itemsSomeExaming2(Sub3ItemType11Kbtc);
 | 
			
		||||
 | 
			
		||||
@ -2440,12 +2474,16 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian_Tail()
 | 
			
		||||
 | 
			
		||||
    const TChuanGan* his1 = m_car->historyChuanGan(1);
 | 
			
		||||
    const TChuanGan* his2 = m_car->historyChuanGan(2);
 | 
			
		||||
 | 
			
		||||
    if(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++)
 | 
			
		||||
        {
 | 
			
		||||
            if(kind[i] == LineType_0) continue;
 | 
			
		||||
            auto ty = kind[i];
 | 
			
		||||
            if(ty == LineType_0) continue;
 | 
			
		||||
            if(m_PubLastMark_XuXian_Tail_TK == 0 && cg->RTKKM3_Tail.TouchLineType == ty)
 | 
			
		||||
            {
 | 
			
		||||
                m_PubLastMark_XuXian_Tail_TK = cg->tkCnt;
 | 
			
		||||
            }
 | 
			
		||||
            bool OKFlag = true;
 | 
			
		||||
            for(int j = 0; j < 50; j++) //10秒钟,对应的是50帧
 | 
			
		||||
            {
 | 
			
		||||
@ -2455,7 +2493,7 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian_Tail()
 | 
			
		||||
                    OKFlag = false;
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                if(cg_j->RTKKM3_Tail.TouchLineType != kind[i] || cg_j->move == moveStop)
 | 
			
		||||
                if(cg_j->RTKKM3_Tail.TouchLineType != ty || cg_j->move == moveStop)
 | 
			
		||||
                {
 | 
			
		||||
                    OKFlag = false;
 | 
			
		||||
                    break;
 | 
			
		||||
@ -2463,7 +2501,7 @@ void Sub3Judge20Comm::Judge_YaXian_10S_XuXian_Tail()
 | 
			
		||||
            }
 | 
			
		||||
            if(OKFlag == true)
 | 
			
		||||
            {
 | 
			
		||||
                if(cg->tkCnt - m_PubLastMark_XuXian_Tail_TK >= 10 * SECOND)
 | 
			
		||||
                if(m_PubLastMark_XuXian_Tail_TK > 0 && cg->tkCnt - m_PubLastMark_XuXian_Tail_TK >= 10 * SECOND)
 | 
			
		||||
                {
 | 
			
		||||
                    const char* serial = "65";
 | 
			
		||||
#if JUDGE_USE_INSPECT
 | 
			
		||||
@ -4516,16 +4554,16 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
    // 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
 | 
			
		||||
    // *)
 | 
			
		||||
    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);//加减挡
 | 
			
		||||
    if(item14 && item14->TestPro == ItemProFlagIdle && ss == "1")
 | 
			
		||||
    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)
 | 
			
		||||
        {
 | 
			
		||||
            int dw = sor.dw;
 | 
			
		||||
            int k = 0;
 | 
			
		||||
            int count =m_car->historyCount();
 | 
			
		||||
            int count = m_car->historyCount();
 | 
			
		||||
            for(int i = 1; i <= 25; i++)
 | 
			
		||||
            {
 | 
			
		||||
                if(i >= count || i + 6 >= count)
 | 
			
		||||
@ -4534,6 +4572,7 @@ 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;
 | 
			
		||||
@ -4542,9 +4581,9 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
                int dw_i6 = m_car->historySensor(i + 6).dw;
 | 
			
		||||
 | 
			
		||||
                if(sori.lhq == SNOT) break;
 | 
			
		||||
                if(sori.dw == SNOT) continue;
 | 
			
		||||
                if(dw != sori.dw && sori.dw == dw_i1 && sori.dw  == dw_i2 && sori.dw  == dw_i3 &&
 | 
			
		||||
                        sori.dw  == dw_i4 && sori.dw == dw_i5 && sori.dw == dw_i6)
 | 
			
		||||
                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)
 | 
			
		||||
                {
 | 
			
		||||
                    k = k + 1;
 | 
			
		||||
                    dw = sori.dw;
 | 
			
		||||
@ -4564,22 +4603,26 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
        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
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            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;
 | 
			
		||||
                }
 | 
			
		||||
                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
			
		||||
                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;
 | 
			
		||||
                if(sori.dw + 1 == sor.dw && sori.lhq == SNOT)  break;
 | 
			
		||||
                if(sori.dw < sor.dw && dw_i1 == sori.dw && sori.dw > 0)
 | 
			
		||||
                int dw_i1 = m_car->historySensor(i + 1).dw;
 | 
			
		||||
                int dw_i2 = m_car->historySensor(i + 2).dw;
 | 
			
		||||
 | 
			
		||||
                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;
 | 
			
		||||
                        if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
 | 
			
		||||
@ -4618,25 +4661,29 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
        {
 | 
			
		||||
            for(int i = 5; i <= 55; i++)
 | 
			
		||||
            {
 | 
			
		||||
                if(i >= count || i + 4 >= count)
 | 
			
		||||
                if(i >= count || i + 5 >= count)
 | 
			
		||||
                {
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
			
		||||
                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_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(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 && sori.lhq == SNOT) break;
 | 
			
		||||
                if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
 | 
			
		||||
 | 
			
		||||
                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;
 | 
			
		||||
                        if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
 | 
			
		||||
@ -4681,12 +4728,14 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
        {
 | 
			
		||||
            for(int i = 9; i < 59; i++)
 | 
			
		||||
            {
 | 
			
		||||
                if(i >= count || i + 9 >= count)
 | 
			
		||||
                if(i >= count || i + 10 >= count)
 | 
			
		||||
                {
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
			
		||||
                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_i2 = m_car->historySensor(i + 2).dw;
 | 
			
		||||
@ -4697,14 +4746,16 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
                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(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 &&
 | 
			
		||||
                        dw_i7 == sori.dw && dw_i8 == sori.dw && dw_i9 == 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_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(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
 | 
			
		||||
                    if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
 | 
			
		||||
                    {
 | 
			
		||||
                        bool FindFlag = false;
 | 
			
		||||
                        if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
 | 
			
		||||
@ -4719,6 +4770,8 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
                        }
 | 
			
		||||
                        if(FindFlag == true)
 | 
			
		||||
                        {
 | 
			
		||||
                            //安卓档位评判好像逻辑上做了优化,比方说越级加档,中间必须出现 0 才判,1 跳 3 的情况,没出现 0 不判
 | 
			
		||||
                            //项目经理吉说的先按照这样做
 | 
			
		||||
                            JUDGE_MARK_SUB3(14, "01", true);
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
@ -4742,6 +4795,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
 | 
			
		||||
                    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;
 | 
			
		||||
@ -4753,19 +4807,17 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
 | 
			
		||||
                    int dw_i8 = m_car->historySensor(i + 8).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(sori.dw < sor.dw && sori.lhq == SNOT) break;
 | 
			
		||||
                    if(sori.dw - 1 == sor.dw && sori.lhq == SNOT) 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 && dw_i1 == sori.dw
 | 
			
		||||
                            && dw_i2 == sori.dw && dw_i3 == sori.dw
 | 
			
		||||
                            && dw_i4 == sori.dw && dw_i5 == sori.dw
 | 
			
		||||
                            && dw_i6 == sori.dw && dw_i7 == sori.dw
 | 
			
		||||
                            && dw_i8 == sori.dw && dw_i9 == sori.dw
 | 
			
		||||
                            && sori.dw > 0)
 | 
			
		||||
                    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) > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
 | 
			
		||||
                        if(dw_i0 - sor.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
 | 
			
		||||
                        {
 | 
			
		||||
                            bool FindFlag = false;
 | 
			
		||||
                            if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
 | 
			
		||||
@ -5477,13 +5529,24 @@ void Sub3Judge20Comm::Judge_CiGaoDang()
 | 
			
		||||
    {
 | 
			
		||||
        if(m_car->isMileage())  //靠边停车前结算次高档也要判断行驶里程
 | 
			
		||||
        {
 | 
			
		||||
            TKM3Item* item = m_car->findExamItem(Sub3ItemType11Kbtc);
 | 
			
		||||
            if(item && item->Item_Color != itemStateWk)
 | 
			
		||||
            //TKM3Item* item = m_car->findExamItem(Sub3ItemType11Kbtc);
 | 
			
		||||
            //if(item && item->Item_Color != itemStateWk)
 | 
			
		||||
            //{
 | 
			
		||||
            //    timing = true;
 | 
			
		||||
            //}
 | 
			
		||||
 | 
			
		||||
            //靠边模式评判次高档的时机调整到靠边确认(如拉手刹挂空挡等)
 | 
			
		||||
            ISub3JudgeItem* item = m_car->findJudgeItem(Sub3ItemType11Kbtc);
 | 
			
		||||
            if(item)
 | 
			
		||||
            {
 | 
			
		||||
                Sub3Judge11Kbtc* item11 = dynamic_cast<Sub3Judge11Kbtc*>(item);
 | 
			
		||||
                if(item11 && item11->isConfirm())
 | 
			
		||||
                {
 | 
			
		||||
                    timing = true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(timing)
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -283,7 +283,7 @@ JUDGE_C_API BoardType name2BoardType(const char* name);
 | 
			
		||||
#define EnumMakeGpsStatus(declare) \
 | 
			
		||||
    declare(gpsStatusINVALID,      "----",         JUDGE_UTF8S("无效(数据异常)")) \
 | 
			
		||||
    declare(gpsStatusSINGLE,       "SINGLE",       JUDGE_UTF8S("单点解(收星数过低10米以内)***前置机没发差分改帧数给后置机")) \
 | 
			
		||||
    declare(gpsStatusPSRDIFF,      "PSRDIFF",      JUDGE_UTF8S("伪距解(没见过这种状态3米以内)")) \
 | 
			
		||||
    declare(gpsStatusPSRDIFF,      "PSRDIFF",      JUDGE_UTF8S("伪距解(没见过这种状态3米以内)没收到差分改正数?")) \
 | 
			
		||||
    declare(gpsStatusANGLE,        "**ANGLE**",    JUDGE_UTF8S("**角度差分状态**?")) \
 | 
			
		||||
    declare(gpsStatusNARROW_INT,   "NARROW_INT",   JUDGE_UTF8S("固定解(正常状态0.02米以内)")) \
 | 
			
		||||
    declare(gpsStatusNARROW_FLOAT, "NARROW_FLOAT", JUDGE_UTF8S("浮点解(有遮挡物0.5米以内)"))
 | 
			
		||||
 | 
			
		||||
@ -752,11 +752,6 @@ export default class Judge {
 | 
			
		||||
    const {isExam} = this;
 | 
			
		||||
    const judgeUI = this.judgeUI
 | 
			
		||||
    const {projects,carType,kssycs,isDdxk,ddxkTime,projectsCenterObj,ddxkKsxmArr,ddxkKfArr,passingScore} = judgeUI;
 | 
			
		||||
    let sfyk = 0
 | 
			
		||||
    if (judgeUI.mode === 2) {
 | 
			
		||||
      sfyk = 1
 | 
			
		||||
    }
 | 
			
		||||
    console.log("lixiao projects", judgeUI.mode, sfyk)
 | 
			
		||||
    const beginInfo = {
 | 
			
		||||
      kgid: '012',
 | 
			
		||||
      kgxm: decodeURI(examinerName || ''),
 | 
			
		||||
@ -772,7 +767,7 @@ export default class Judge {
 | 
			
		||||
      ksyy: '',
 | 
			
		||||
      kscx: carType,
 | 
			
		||||
      kkcs: Number(kssycs) || 2,
 | 
			
		||||
      sfyk,
 | 
			
		||||
      sfyk: judgeUI.mode === 2 ? 1 : 0,
 | 
			
		||||
      ykkkcs: 1,
 | 
			
		||||
      wayno: judgeUI.wayno * 1,
 | 
			
		||||
      czlx: 0,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user