fix: 完善Date工具函数 对毫秒的支持,以及完善judge工具函数的完善
This commit is contained in:
parent
f604c1c8f2
commit
11e738bb47
@ -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
|
||||
};
|
||||
};
|
||||
|
||||
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'
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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<BaseInfoType>('baseInfo')?.ratio || 1.4
|
||||
this.angle = 0
|
||||
|
||||
@ -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 = ''
|
||||
|
||||
@ -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')
|
||||
|
||||
@ -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[] = [
|
||||
//车门 安全带 熄火 发动机启动 左转向 右转向 前照灯近灯 前照灯远灯
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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";
|
||||
|
||||
|
||||
@ -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]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user