diff --git a/entry/src/main/cpp/sdk/common/HVersion.h b/entry/src/main/cpp/sdk/common/HVersion.h index 96dca031..3119f41d 100644 --- a/entry/src/main/cpp/sdk/common/HVersion.h +++ b/entry/src/main/cpp/sdk/common/HVersion.h @@ -27,7 +27,7 @@ #define JUDGE_VERSION_MAJOR 1 #define JUDGE_VERSION_MINOR 0 #define JUDGE_VERSION_PATCH 3 -#define JUDGE_VERSION_STAMP "2504241045b" +#define JUDGE_VERSION_STAMP "2504251140b" #if JUDGE_USE_OLD # undef JUDGE_VERSION_STAMP # define JUDGE_VERSION_STAMP "2411121010b.old" diff --git a/entry/src/main/cpp/sdk/exam/ExamCarSub3.cpp b/entry/src/main/cpp/sdk/exam/ExamCarSub3.cpp index 899f07f0..511f968c 100644 --- a/entry/src/main/cpp/sdk/exam/ExamCarSub3.cpp +++ b/entry/src/main/cpp/sdk/exam/ExamCarSub3.cpp @@ -656,7 +656,7 @@ bool ExamCarSub3::Init_KM3_Global() //examItem->TestPro = ItemProFlagIdle; //examItem->FinishFlag = true; examItem->NoID = true; - KM3EndItem(itemNo,false,false); + KM3EndItem(itemNo,isReplay(),false); //轨迹回放工具回放模式要发时间,不然项目不好变绿 } } } @@ -1270,7 +1270,6 @@ void ExamCarSub3::Deal_KM3_Judge() m_curItem = nullptr; - dealItemNoIDEnd14Jjdw(); //必须放这里 dealItemNoIDEndItem(); //必须放这里 //执行具体的专项评判 std::string msg; @@ -3883,24 +3882,24 @@ bool ExamCarSub3::KM3AllPass() return true; } - for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++) - { - const TKM3Item* item = it->second->getExamItem(); - //必考项目未完成 - if(item->NoID == false && (item->Item_Color == itemStateWk || item->Item_Color == itemStateZk)) - { - return false; - } - //科目三项目结束,免考项目处理 - //重要流程 - if(item->NoID == true) //20240731 - { - if(item->FinishFlag == false) - { - KM3EndItem(item->ItemNo); - } - } - } + //for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++) + //{ + // const TKM3Item* item = it->second->getExamItem(); + // //必考项目未完成 + // if(item->NoID == false && (item->Item_Color == itemStateWk || item->Item_Color == itemStateZk)) + // { + // return false; + // } + // //科目三项目结束,免考项目处理 + // //重要流程 + // if(item->NoID == true) //20240731 + // { + // if(item->FinishFlag == false) + // { + // KM3EndItem(item->ItemNo); + // } + // } + //} return true; } @@ -5011,24 +5010,6 @@ void ExamCarSub3::dealOffset() } void ExamCarSub3::dealItemNoIDEndItem() -{ - if(isMileage()) - { - for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++) - { - TKM3Item* item = it->second->getExamItem(); - if(item->NoID == true && item->ItemNo != Sub3ItemType14Jjdw) //20240731 - { - if(item->FinishFlag == false) - { - KM3EndItem(item->ItemNo); - } - } - } - } -} - -void ExamCarSub3::dealItemNoIDEnd14Jjdw() { TKM3Item* item14 = findExamItem(Sub3ItemType14Jjdw); //20240731 if(item14 && item14->NoID == true) //免考加减挡的 即:全程加减档 @@ -5048,7 +5029,7 @@ void ExamCarSub3::dealItemNoIDEnd14Jjdw() else { TKM3Item* item = findExamItem(Sub3ItemType11Kbtc); - if(item && item->TestPro == ItemProFlagInit) + if(item && item->TestPro >= ItemProFlagInit) { //ToDo1:生成 全程加减挡 进项目事件 //createEventEnterItem({item14->ItemNo, ""}); @@ -5057,6 +5038,34 @@ void ExamCarSub3::dealItemNoIDEnd14Jjdw() } } } + + if(isMileage()) + { + for(auto it = m_sub3Items.begin(); it != m_sub3Items.end(); it++) + { + TKM3Item* item = it->second->getExamItem(); + if(item->NoID == true) + { + if(item->ItemNo == Sub3ItemType13Yjxs) + { + if(item->FinishFlag == false) + { + KM3EndItem(item->ItemNo); + } + } + else if(item->ItemNo == Sub3ItemType14Jjdw) //加减档单独处理 + { + } + else //20240731 + { + if(item->Item_Color == itemStateWk) //&& item->FinishFlag == false + { + KM3EndItem(item->ItemNo); + } + } + } + } + } } bool ExamCarSub3::calcToLaneArc(const TModelLine& Lxx, const TModelPolygon& poly, const Pointi& b1, const Pointi& pt, int& dm, bool cross) diff --git a/entry/src/main/cpp/sdk/exam/ExamCarSub3.h b/entry/src/main/cpp/sdk/exam/ExamCarSub3.h index b9608a0c..d87b8763 100644 --- a/entry/src/main/cpp/sdk/exam/ExamCarSub3.h +++ b/entry/src/main/cpp/sdk/exam/ExamCarSub3.h @@ -77,7 +77,6 @@ protected: void dealOffset(); //行驶距离补偿 void dealItemNoIDEndItem(); - void dealItemNoIDEnd14Jjdw(); bool calcToLaneArc(const TModelLine& Lxx, const TModelPolygon& poly, const Pointi& b1, const Pointi& pt, int& dm, bool cross=false); bool calcToLaneArc2(const TModelLine& Lxx, const TModelPolygon& area, const Pointi& b1, const Pointi& pt, int& dm, bool cross=false); diff --git a/entry/src/main/cpp/toolkit/inc/HKitInc.h b/entry/src/main/cpp/toolkit/inc/HKitInc.h index f1dae73b..ab847037 100644 --- a/entry/src/main/cpp/toolkit/inc/HKitInc.h +++ b/entry/src/main/cpp/toolkit/inc/HKitInc.h @@ -19,7 +19,7 @@ #define KIT_VERSION_MAJOR 1 #define KIT_VERSION_MINOR 0 #define KIT_VERSION_PATCH 2 -#define KIT_VERSION_STAMP "2504241048b" +#define KIT_VERSION_STAMP "2504251142b" #define KIT_VERSION_STR JUDGE_STR(KIT_VERSION_MAJOR.KIT_VERSION_MINOR.KIT_VERSION_PATCH) diff --git a/entry/src/main/cpp/toolkit/widgets/ShowBeginExam.cpp b/entry/src/main/cpp/toolkit/widgets/ShowBeginExam.cpp index 5ac3456b..6de4bea7 100644 --- a/entry/src/main/cpp/toolkit/widgets/ShowBeginExam.cpp +++ b/entry/src/main/cpp/toolkit/widgets/ShowBeginExam.cpp @@ -101,18 +101,20 @@ void ShowBeginExam::updateBeginExam(const QString& info) examEvent->updateExamEvent(text, KIT_RGB_GREEN); } + for(size_t i = 0; i < value.kfxm.size(); i++) + { + const TKfXm& kfxm = value.kfxm[i]; + updateItemProperty(kfxm.xmdm, KIT_RGB_RED); + + QString time = kit::toEasyTime(value.kskssj); + QString event = time + CL8("[开始考试带的下发扣分]"); + examEvent->updateExamEvent(event + getMarkItemText(findMarkItemText(kfxm)), KIT_RGB_RED); + m_replay->replayItemMarkPush(kfxm.xmdm, kfxm); //???通用项目扣分怎么知道是哪个项目扣分的? + } + if(value.ddxk) { - for(size_t i = 0; i < value.kfxm.size(); i++) - { - const TKfXm& kfxm = value.kfxm[i]; - updateItemProperty(kfxm.xmdm, KIT_RGB_RED); - QString time = kit::toEasyTime(value.kskssj); - QString event = time + CL8("[断点续考扣分]"); - examEvent->updateExamEvent(event + getMarkItemText(findMarkItemText(kfxm)), KIT_RGB_RED); - m_replay->replayItemMarkPush(kfxm.xmdm, kfxm); //???通用项目扣分怎么知道是哪个项目扣分的? - } } else { diff --git a/entry/src/main/ets/common/utils/GlobalUdp.ts b/entry/src/main/ets/common/utils/GlobalUdp.ts index ba599236..958d400a 100644 --- a/entry/src/main/ets/common/utils/GlobalUdp.ts +++ b/entry/src/main/ets/common/utils/GlobalUdp.ts @@ -363,6 +363,15 @@ export async function setJudgeUdp() { }) console.info('surenjun', `考车发送确定扣分指令,指令为:${directives}`) }, + //申请语音对讲 + askVoice() { + globalThis.udpClient2.sendMsgExt({ + id: 49, + list: [], + carNo: globalThis.carInfo.carNo, + placeId: globalThis.carInfo.examinationRoomId, + }) + } } } diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index c76fddb0..1da8a627 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -462,6 +462,7 @@ struct Index { const examItems: string = currentParams?.examItems?.[1] || ""; const nightScoreArr = examItems?.split(",").filter(item => item) || [] const ddxkKfArr = kfItems.split(";")?.[3]?.split('^').filter(item => item) || [] + console.log("lixiao, goDdxkItems", JSON.stringify(nightScoreArr), JSON.stringify(ddxkKfArr)) nightScoreArr.forEach((kf, index) => { this.isYkkf = true let xmdm = ''; @@ -1121,6 +1122,7 @@ struct Index { return false } const projectType = this.projectsObj[projectCode].type; + const ykType = this.projectsObj[projectCode].ykType //不允许人工触发的项目列表,以","分隔 const unExitManualProjects = this.judgeConfigObj['332'].split(',') || []; @@ -1172,9 +1174,13 @@ struct Index { return index === 0 ? true : false } - //项目已经做过,后续不能人工触发 - if (param307.includes(projectCode) && (projectType == '3' || projectType == '4')) { - return false + //只做一次的项目已经做过,后续不能人工触发 + if (param307.includes(projectCode)) { + if (this.mode === 2) { + return !(ykType == '3' || ykType == '4' || projectType == '3' || projectType == '4') + } else { + return !(projectType == '3' || projectType == '4') + } } //319不为0,或者387不为1,里程不够时,靠边停车项目不能触发 diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ts b/entry/src/main/ets/pages/judgeSDK/judge.ts index b075749e..2ed5ba48 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ts +++ b/entry/src/main/ets/pages/judgeSDK/judge.ts @@ -903,6 +903,9 @@ export default class Judge { //扣分类型 type: kf.type }) + console.log("lixiao koufen", JSON.stringify(thisKf)); + console.log("lixiao koufen", JSON.stringify(judgeUI.projectsObj[kf.xmdm])); + this.judgeUI.totalScore += thisKf.score * 1; if (kf.xmdm != 20) { const type = judgeUI.projectsObj[kf.xmdm].type; @@ -1363,7 +1366,7 @@ export default class Judge { } } if (examSubject == 3) { - console.log(judgeTag, "exam end",isAllProjectsEnd); + console.log(judgeTag, "exam end", isAllProjectsEnd); if (isAllProjectsEnd) { if (totalScore < passingScore) { voiceURL = `voice/${kssycs == 1 ? 'exam_no_pass_finish' : 'exam_no_pass'}.mp3` diff --git a/entry/src/main/resources/rawfile/voice/end_tip.mp3 b/entry/src/main/resources/rawfile/voice/end_tip.mp3 new file mode 100644 index 00000000..3e1aac02 Binary files /dev/null and b/entry/src/main/resources/rawfile/voice/end_tip.mp3 differ diff --git a/entry/src/main/resources/rawfile/voice/zhpp.mp3 b/entry/src/main/resources/rawfile/voice/zhpp.mp3 new file mode 100644 index 00000000..f49a6c82 Binary files /dev/null and b/entry/src/main/resources/rawfile/voice/zhpp.mp3 differ