From 11e738bb47fd0ecea06e6425f2ea97b328993259 Mon Sep 17 00:00:00 2001 From: wangzhongjie Date: Mon, 23 Jun 2025 11:13:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84Date=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E5=87=BD=E6=95=B0=20=E5=AF=B9=E6=AF=AB=E7=A7=92=E7=9A=84?= =?UTF-8?q?=E6=94=AF=E6=8C=81,=E4=BB=A5=E5=8F=8A=E5=AE=8C=E5=96=84judge?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E5=87=BD=E6=95=B0=E7=9A=84=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/mock/Judge.ets | 223 +++++++++++++++++- entry/src/main/ets/model/Judge.ets | 24 +- entry/src/main/ets/pages/Index.ets | 5 + entry/src/main/ets/pages/Judge.ets | 4 +- entry/src/main/ets/pages/Judge/JudgeUtils.ets | 4 +- .../utils/judgeCommon.ets => Judge/utils.ets} | 44 ++-- entry/src/main/ets/pages/judgeSDK/judge.ets | 35 +-- entry/src/main/ets/utils/Date.ets | 33 +-- .../ets/utils/business/JudgeUdpBusiness.ets | 36 +-- 9 files changed, 308 insertions(+), 100 deletions(-) rename entry/src/main/ets/pages/{judgeSDK/utils/judgeCommon.ets => Judge/utils.ets} (95%) diff --git a/entry/src/main/ets/mock/Judge.ets b/entry/src/main/ets/mock/Judge.ets index 393813e..b818752 100644 --- a/entry/src/main/ets/mock/Judge.ets +++ b/entry/src/main/ets/mock/Judge.ets @@ -1,4 +1,4 @@ -import { AmplifyItem, PerLane } from '../model'; +import { AmplifyItem, DefaultJudgeConfigObj, PerLane, PLCType } from '../model'; export const AmplifyArr: AmplifyItem[] = [ { name: '直线', projectCode: '3', projectCodeCenter: '40300' }, @@ -45,4 +45,223 @@ export const InitialPerLane: PerLane = { InShapeAttr: 0, ShapeNo: 0, CrossPointNo: 0 -}; \ No newline at end of file +}; + +export const TestRealExam: PLCType = { + sensor: { + aqd: 0, + mkg: 0, + ssc: 0, + jsc: 0, + fsc: 0, + lhq: 0, + lb: 0, + skd: 0, + jgd: 0, + ygd: 1, + zfxd: 0, + yfxd: 0, + shtd: 0, + wd: 0, + ygq: 0, + dh1: 1, + dh2: 0, + fdjzs: 2400, + dw: 0, + cs: 5.8, + fxp: -5, + ljmc: 23, + lcmc: 0, + csbzh: 0, + csbyh: 0, + csbyq: 0, + csbzq: 0, + csb1: 3000, + csb2: 0, + csb3: 0, + csb4: 0, + zy: 0, + tbp: 0, + hsj: 0, + dcj: 0, + gx: 123070, + yl: 0 + }, + gps: { + bklx: 2, + dwzt: 4, + jdzt: 3, + sj: 1680840026000, + jd: 113.12345678, + wd: 31.12345678, + hxj: 50.1234, + fyj: 1.1234, + hbg: 22.123, + gdc: 1.123, + sd: 10.9, + age: 1.2, + jdyz: 0.001, + wdyz: 0.001, + dwsxs: 17, + jdsxs: 14 + }, + gps2: { + bklx: 1, + dwzt: 4, + jdzt: 4, + sj: 1680840026000, + jd: 113.12345678, + wd: 31.12345678, + hxj: 50.1234, + fyj: 1.1234, + hbg: 22.123, + gdc: 1.123, + sd: 10.9, + age: 1.2, + jdyz: 0.001, + wdyz: 0.001, + dwsxs: 17, + jdsxs: 14 + }, + vision: { + sj: 1680840026000, + score: 0.85, + zyjd: 60.23, + sxjd: 65.33, + ytjd: 68.45, + fxp: 2, + ch: 0, + hld: 1 + }, + radar: { + sj: 1680840026000, + zxh: 999, + qfsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + hfsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + zqsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + zhsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + zcsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + yqsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + yhsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + ycsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + fqsj: [{ + bh: 1, + lx: 1, + jl: 2.35, + sd: 3.68 + }, { + bh: 2, + lx: 2, + jl: 4.82, + sd: 5.24 + }], + qfwt: { xrjl: 2.357, zawjl: 3.608 }, + rcyz: 1, + show: [{ bh: 1, zb: [{ x: 0, y: 1 }, { x: 0, y: 1 }, { x: 0, y: 1 }, { x: 0, y: 1 }] }, + { bh: 2, zb: [{ x: 0, y: 1 }, { x: 0, y: 1 }, { x: 0, y: 1 }, { x: 0, y: 1 }] }] + }, + extend: {} +} +export const DefaultJudgeConfigData: DefaultJudgeConfigObj = { + //结束考试方式 0-不合格继续 1-考试不合格报靠边停车 2-不合格不报靠边 3-训练不合格报靠边 4-自动退出 5-不合格自动退出 + param_302: '5', + param_332: '', + //是否能进行人工操作 0-不能人工评判 1-不能人工进项目 3-都不能 + param_342: '', + //有项目未结束时可以靠边停车 0-否 1-是 + param_343: '1', + //考试未结束且有扣分,是否可以退出 + param_344: '0', + //直线行驶中是否可以进其它项目 0-否 1-是 + param_348: '0', + //车上是否能点结束考试 0:否 1:是 + param_353: '0', + //是否启动断电续考 0:否 1:是 + param_369: '1', + //是否显示应考里程 + param_375: '0', + //里程不够允许手工点靠边停车 + param_387: '0', + //监管模式有扣分续考(0-否++1-是+把上次未考完的扣分带下来重新考试) + param_432: '1' +} \ No newline at end of file diff --git a/entry/src/main/ets/model/Judge.ets b/entry/src/main/ets/model/Judge.ets index 694a6a0..36b83f9 100644 --- a/entry/src/main/ets/model/Judge.ets +++ b/entry/src/main/ets/model/Judge.ets @@ -143,12 +143,17 @@ export interface Sensor { dcj: number gx: number yl: number - yy: number - sde: number - xhd: string - rmndg: number - wav: number - mndg: string + csb1?: number + csb2?: number + csb3?: number + csb4?: number + yy?: number + sde?: number + xhd?: string + rmndg?: number + wav?: number + mndg?: string + } export interface Gps { @@ -203,13 +208,13 @@ interface Qfwt { zawjl: number } -export interface Plc { +export interface PLCType { sensor: Sensor, gps: Gps, gps2: Gps, vision: Vision, radar: Radar, - extend: object + extend: ExtendType //轨迹回放需要 method?: string itemno?: string @@ -217,6 +222,9 @@ export interface Plc { serial?: 1 | 2 } +export interface ExtendType {} + + interface Qfsj { bh: number lx: number diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index f08bb11..26b3c37 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -18,6 +18,7 @@ import BottomMessageComponent from './Index/BottomMessage'; import LoadingComponent from './Index/Loading'; import Prompt from '@system.prompt'; import { DifferentialAndSignal } from '../utils/business/DifferentialAndSignalWorker'; +import dayTs from '../utils/Date'; @Entry @@ -61,6 +62,10 @@ struct Index { async aboutToAppear() { console.log("首页 aboutToAppear") + const date = new Date() + const getMilliseconds = date.getMilliseconds() + const timeStr = dayTs().format('YYYYMMDDHHmmss.SS') + console.log(getMilliseconds.toString(), "时间测试", timeStr) await UseAuth(this.context) this.ratio = AppStorage.get('baseInfo')?.ratio || 1.4 this.angle = 0 diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index 1976ba4..1fbfabb 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -6,7 +6,6 @@ import LoadingPopup from './compontents/judge/LoadingPopup'; import DeductedPopup from './compontents/judge/DeductionPopup'; import AmplifyPopup from './compontents/judge/AmplifyPopup'; import Judge from './judgeSDK/judge'; -import { defaultJudgeConfigObj } from './judgeSDK/utils//judgeCommon'; import { uploadExamMileage } from '../api/judge'; import DwztErrorPopup from './compontents/judge/DwztErrorPopup'; import MsgPopup from './compontents/judge/MsgPopup'; @@ -50,6 +49,7 @@ import dayTs from '../utils/Date'; import { CutArray, FormatTimeFlexible, GetCurrentTime } from '../utils/Common'; import FileUtils from '../utils/FileUtils'; import SignalTrajectoryDialog from './Judge/SignalTrajectoryDialog'; +import { DefaultJudgeConfigData } from '../mock'; @Entry @@ -94,7 +94,7 @@ struct Index { @State itemInfoObj?: ItemInfos = {} @State timer: number = 0 @State judgeConfig: SyssetConfig[] = [] - @State judgeConfigObj: DefaultJudgeConfigObj = defaultJudgeConfigObj + @State judgeConfigObj: DefaultJudgeConfigObj = DefaultJudgeConfigData //流水号 @State lsh: string = '' @State kszp: string = '' diff --git a/entry/src/main/ets/pages/Judge/JudgeUtils.ets b/entry/src/main/ets/pages/Judge/JudgeUtils.ets index ae50437..28f8968 100644 --- a/entry/src/main/ets/pages/Judge/JudgeUtils.ets +++ b/entry/src/main/ets/pages/Judge/JudgeUtils.ets @@ -1,5 +1,5 @@ import libJudgeSdk from 'libjudgesdk.so'; -import { JudgeBeginObj, JudgeInitObj, Plc } from '../../model'; +import { JudgeBeginObj, JudgeInitObj, PLCType } from '../../model'; /** * 苏仁君 @@ -43,7 +43,7 @@ export async function examJudgeInit(data: JudgeInitObj) { * * @desc 执行实时考试过程 实时传递传感信息 */ -export async function examJudgeRealExam(data: Plc) { +export async function examJudgeRealExam(data: PLCType) { const str = JSON.stringify(data); const temp: number = libJudgeSdk.examJudgeRealExam(str, str.length); return await handle(temp, 'examJudgeRealExam') diff --git a/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ets b/entry/src/main/ets/pages/Judge/utils.ets similarity index 95% rename from entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ets rename to entry/src/main/ets/pages/Judge/utils.ets index 530b34a..e634875 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judgeCommon.ets +++ b/entry/src/main/ets/pages/Judge/utils.ets @@ -1,15 +1,12 @@ -import { testRealExam } from '../dataTest/index'; -import { ArrayToByteArray, NumberToByteArray } from '../../../utils/Common'; - import systemTime from '@ohos.systemDateTime'; +import { TestRealExam } from '../../mock'; +import { CarInfoType, DefaultJudgeConfigObj, ExtendType, Gps, LANE, PLCType, Radar, Vision } from '../../model'; +import { ArrayToByteArray, NumberToByteArray } from '../../utils/Common'; +import dayTs from '../../utils/Date'; -import { CarInfoType } from '../../../model'; -import { DefaultJudgeConfigObj, Gps, LANE, Plc, Radar, Vision } from '../../../model/Judge'; - -interface Extend {} // 中心信号转换 -export const getTranslateSignals = (tempItems: number[]) => { +export const GetTranslateSignals = (tempItems: number[]) => { const len = Math.floor(tempItems.length / 8); const arr: string[] = []; for (let i = 0; i < len; i++) { @@ -21,7 +18,7 @@ export const getTranslateSignals = (tempItems: number[]) => { } // c++评判考车行驶状态转换 -export function getCarStatus(status: -1 | 0 | 1): string { +export function GetCarStatus(status: -1 | 0 | 1): string { switch (status) { case -1: return '后退' @@ -35,7 +32,7 @@ export function getCarStatus(status: -1 | 0 | 1): string { } // 当前考车中心状态转换 -export function getCarStatusType(carzt?: number) { +export function GetCarStatusType(carzt?: number) { switch (carzt) { case -1: return [1, 0] @@ -49,7 +46,7 @@ export function getCarStatusType(carzt?: number) { } // 获取档位信号 -export function getDwStatusType(dw?: number) { +export function GetDwStatusType(dw?: number) { switch (dw) { case 0: return [0, 0, 0, 0] @@ -72,7 +69,7 @@ export function getDwStatusType(dw?: number) { // 中心实时项目状态转换 -export function getCenterProjectStatus(status?: number): string { +export function GetCenterProjectStatus(status?: number): string { switch (status) { //不考 case 0: @@ -192,7 +189,7 @@ export function getKmProjectCancelVoice(examSubject: number, projectCode: number } // 上传监管数据code转换 -export function promptWxCode( +export function UploadRegulatoryCodeConversion( jkid: '17C51' | '17C52' | '17C54' | '17C55' | '17C53' | '17C56', code: number ) { @@ -448,7 +445,7 @@ export function promptWxCode( } // 获取plc数据 -export const plcStrToJson = async (plc: string) => { +export const PlcStrToJson = async (plc: string) => { const plcArr = plc.split(',') const p = plcArr.map((val, key) => { if (key !== 27 && key !== 92) { @@ -506,11 +503,11 @@ export const plcStrToJson = async (plc: string) => { // wav: 0, // mndg: '' // } - const gps2: Gps = testRealExam.gps2 - const radar: Radar = testRealExam.radar - const vision: Vision = testRealExam.vision - const extend: Extend = {}; - const tempData: Plc = { + const gps2: Gps = TestRealExam.gps2 + const radar: Radar = TestRealExam.radar + const vision: Vision = TestRealExam.vision + const extend: ExtendType = {}; + const tempData: PLCType = { sensor: { //安全带 车门门开关 手刹 脚刹 副刹 离合器 喇叭 示宽灯 近光灯 远光灯 aqd: p[19], @@ -589,7 +586,7 @@ export const plcStrToJson = async (plc: string) => { return tempData } -export const plcStrToWXJson = async (plc: string) => { +export const PlcStrToWXJson = async (plc: string) => { const plcArr = plc.split(',') const p = plc.split(',').map((val, key) => { if (key !== 27 && key !== 92) { @@ -646,10 +643,13 @@ export const plcStrToWXJson = async (plc: string) => { return wuXiDataStr } -export const senorToWXDataStr = async (tempData: Plc) => { +export const senorToWXDataStr = async (tempData: PLCType) => { const sensor = tempData.sensor const gps = tempData.gps - const timeStr = await getTimeStr() + // 格式为20250623020817.14 + // const timeStr = await getTimeStr() + const timeStr = dayTs().format('YYYYMMDDHHmmss.SS') + const judgeSignal: number[] = [ //车门 安全带 熄火 发动机启动 左转向 右转向 前照灯近灯 前照灯远灯 diff --git a/entry/src/main/ets/pages/judgeSDK/judge.ets b/entry/src/main/ets/pages/judgeSDK/judge.ets index 1a306ec..d505719 100644 --- a/entry/src/main/ets/pages/judgeSDK/judge.ets +++ b/entry/src/main/ets/pages/judgeSDK/judge.ets @@ -12,8 +12,6 @@ import JudgeTask from './utils/judgeTask'; import { JudgeConfig } from '../../config'; import { GetSyncData, SqlInsertTable } from '../../utils/table/Operation'; -import { getCarStatus, getCenterProjectStatus, plcStrToJson, plcStrToWXJson, promptWxCode } from './utils/judgeCommon'; - import { uploadExamProgressData, writeObjectOut } from '../../api/judge'; import { endRecordVideo, saveStartRecordVideo } from '../../utils/Video'; import common from '@ohos.app.ability.common'; @@ -45,7 +43,7 @@ import { KmItem, LANE, MarkRule, - Plc, + PLCType, ProjectInfo, RecordHandleType, RegulatoryInterfaceParams, @@ -69,6 +67,13 @@ import { examJudgeSoundEnd, examJudgeVersion } from '../Judge/JudgeUtils'; +import { + GetCarStatus, + GetCenterProjectStatus, + PlcStrToJson, + PlcStrToWXJson, + UploadRegulatoryCodeConversion +} from '../Judge/utils'; const judgeTag = 'SURENJUN_JUDGE' @@ -279,7 +284,7 @@ export default class Judge { return true } } - private tempData?: Plc + private tempData?: PLCType //实时计算gps经纬度距离 handDistance = async () => { const dwzt = this.tempData?.gps?.dwzt || ""; @@ -421,18 +426,18 @@ export default class Judge { private kfArr?: MarkRule[] //所有的科目考试项目(大车&小车) private kmItems: JudgeConfigObjKmItems - private plcData?: Plc + private plcData?: PLCType // 获取plc数据 getPlcData = async (plc: string) => { await this.fileLog?.setPlcProgressData(plc) //plc字符串转化成评判初始化数据 - const tempData = await plcStrToJson(plc); + const tempData = await PlcStrToJson(plc); //模拟灯光回放时刻 tempData.sensor.rmndg = this.rmndg; //模拟灯灯光灯光项目 tempData.sensor.mndg = this.mndgStr || ""; //plc字符串转化成无锡所过程数据 - const wuXiDataStr = await plcStrToWXJson(plc) + const wuXiDataStr = await PlcStrToWXJson(plc) this.plcData = tempData await this.fileLog?.setExamJudgeWuxiProgressData(wuXiDataStr) this.tempData = tempData @@ -486,7 +491,7 @@ export default class Judge { this.checkExamIsEnd(true) return } - const msg: Plc = JSON.parse(strArr[num]); + const msg: PLCType = JSON.parse(strArr[num]); num++ // 4.过程数据 this.tempData = msg @@ -561,7 +566,7 @@ export default class Judge { if (temp.code === 2300007) { this.isJudgeDisConnect = true; } - promptWxCode('17C52', temp.code || 0) + UploadRegulatoryCodeConversion('17C52', temp.code || 0) } // 项目结束接口同步 endProject = async (ksxm: number) => { @@ -596,7 +601,7 @@ export default class Judge { this.isJudgeDisConnect = true; } console.info(judgeTag, '项目结束 end') - promptWxCode('17C55', temp.code || 0) + UploadRegulatoryCodeConversion('17C55', temp.code || 0) } private artSubject3ProjectsCodesArr: number[] = [3, 9, 4, 10, 12, 11] private lane: LANE = { @@ -656,7 +661,7 @@ export default class Judge { if (temp.code === 2300007) { this.isJudgeDisConnect = true } - promptWxCode('17C54', temp.code || 0) + UploadRegulatoryCodeConversion('17C54', temp.code || 0) console.info(judgeTag, '上传照片 end') } @@ -966,7 +971,7 @@ export default class Judge { //考车状态 case 4: - this.carztStr = getCarStatus(carzt); + this.carztStr = GetCarStatus(carzt); break; //考试结束 @@ -1292,7 +1297,7 @@ export default class Judge { this.isJudgeDisConnect = true } console.info(judgeTag, '项目扣分 end') - promptWxCode('17C53', temp?.code || 0) + UploadRegulatoryCodeConversion('17C53', temp?.code || 0) } // 评判语音提示 goJudgeVoice = async (sound: JudgeSound) => { @@ -1436,7 +1441,7 @@ export default class Judge { router.back() }, 90 * 1000) const temp = await this.sendWriteObjectOut(data, filePath); - promptWxCode('17C56', temp?.code || 0) + UploadRegulatoryCodeConversion('17C56', temp?.code || 0) if (temp.code != 1) { avPlayer?.playAudio(['voice/监管失败.mp3']) @@ -1733,7 +1738,7 @@ export default class Judge { const examSubject = this.judgeUI.examSubject; const tempItems: TKmItem[] = (examSubject == '2' ? testKm2Items : testKm3Items).map(item => { const kmItem: KmItem = Reflect.get(this.kmItems, item.code) - const status = getCenterProjectStatus(kmItem.status) + const status = GetCenterProjectStatus(kmItem.status) const temp: TKmItem = { code: item.code, status } diff --git a/entry/src/main/ets/utils/Date.ets b/entry/src/main/ets/utils/Date.ets index 3be51ce..897d094 100644 --- a/entry/src/main/ets/utils/Date.ets +++ b/entry/src/main/ets/utils/Date.ets @@ -45,6 +45,7 @@ class DayTs { 'h{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getHours() % 12), 'm{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getMinutes()), 's{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getSeconds()), + 'S{2}': (dateData: DateData) => DayTs._paddingZero(dateData.getMilliseconds() / 10 | 0), // 2-digit milliseconds 'S{3}': (dateData: DateData) => DayTs._paddingZero(dateData.getMilliseconds(), 3), // 添加毫秒支持 'M': (dateData: DateData) => dateData.getMonth() + 1, 'd': (dateData: DateData) => dateData.getDate(), @@ -280,22 +281,22 @@ const hexTime = (num: number) => { return num < 10 ? `0${num}` : num + '' } type BaseUnit = - "day" | - "d" | - "month" | - "M" | - "quarter" | - "Q" | - "year" | - "y" | - "week" | - "w" | - "hour" | - "h" | - "minute" | - "m" | - "second" | - "s"; +"day" | +"d" | +"month" | +"M" | +"quarter" | +"Q" | +"year" | +"y" | +"week" | +"w" | +"hour" | +"h" | +"minute" | +"m" | +"second" | +"s"; type Unit = BaseUnit | "millisecond" | "ms"; diff --git a/entry/src/main/ets/utils/business/JudgeUdpBusiness.ets b/entry/src/main/ets/utils/business/JudgeUdpBusiness.ets index 415b3c0..bb816f1 100644 --- a/entry/src/main/ets/utils/business/JudgeUdpBusiness.ets +++ b/entry/src/main/ets/utils/business/JudgeUdpBusiness.ets @@ -18,6 +18,7 @@ import { ObtainUdpBusinessInstance } from './ObtainUdpBusiness'; import systemTime from '@ohos.systemDateTime'; import { SerialNumberInstance } from '../SerialNumber'; import { examCalcGpsDistance } from '../../pages/Judge/JudgeUtils'; +import { GetDwStatusType, GetTranslateSignals } from '../../pages/Judge/utils'; class JudgeUdpBusiness { @@ -56,9 +57,9 @@ class JudgeUdpBusiness { return keys.indexOf(item[0]) }) .map((item: [string, number]) => item[1]) - .concat(this.getDwStatusType(plcData.sensor.dw)) + .concat(GetDwStatusType(plcData.sensor.dw)) .concat([0, 0, plcData.sensor.ygq, plcData.sensor.wd, 0]) - const translateSignals = this.getTranslateSignals(param) + const translateSignals = GetTranslateSignals(param) const translateProject = this.getTranslateProject(); const translateJd = Number(this.convertGpsCoord2(plcData.gps.wd).toFixed(gpsDigit)) * Math.pow(10, gpsDigit); const translateWd = Number(this.convertGpsCoord2(plcData.gps.jd).toFixed(gpsDigit)) * Math.pow(10, gpsDigit) @@ -260,16 +261,6 @@ class JudgeUdpBusiness { return du + fen / 60 } - // 中心plc实时信号转换成字节 - private getTranslateSignals(tempItems: number[]) { - const len = Math.floor(tempItems.length / 8); - const arr: string[] = []; - for (let i = 0; i < len; i++) { - arr.push(tempItems.slice(i * 8, (i + 1) * 8).join('')); - } - return arr.map(numStr => parseInt(numStr, 2)).map(item => NumberToByteArray(item, 8)[0]) - } - // 中心所有项目转换 private getTranslateProject(): string[] { this.carInfo.examSubject @@ -408,27 +399,6 @@ class JudgeUdpBusiness { gps, } } - - private getDwStatusType(dw: number) { - switch (dw) { - case 0: - return [0, 0, 0, 0] - case 1: - return [0, 0, 0, 1] - case 2: - return [0, 0, 1, 0] - case 3: - return [0, 0, 1, 1] - case 4: - return [0, 1, 0, 0] - case 5: - return [0, 1, 0, 1] - case 9: - return [1, 0, 0, 1] - default: - return [0, 0, 0, 0] - } - } }