This commit is contained in:
lvyuankang 2024-08-26 15:09:13 +08:00
parent 5fba22c2ed
commit 5a9af48cd9
7 changed files with 120 additions and 48 deletions

View File

@ -446,6 +446,10 @@ function setSyncCenterSqlData(key, res, param) {
console.log('mapName[key]', mapName[key], key)
sqlInsertCommonFn(mapName[key], arrList, param.context).then((result) => {
console.log(key, '表建立成功')
writeLog('PLC',{
time:dateFormat(new Date()),
PLC:`${key} 表建立成功`,
})
if (result) {
resolve(true)
} else {

View File

@ -2,6 +2,8 @@ import socket from '@ohos.net.socket';
import hilog from '@ohos.hilog';
import { getTCP } from './GlobalTcp';
import prompt from '@ohos.prompt';
import FileUtil from './File';
import { dateFormat } from './tools';
const TAG = 'socketTag[TcpDemo.TcpClient]'
@ -25,6 +27,10 @@ export default class TcpClient {
onError(callback?) {
this.tcp.on('error', err => {
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} tcpOnerror ${JSON.stringify(err)}`,
})
console.log(TAG, 'tcpOnerror', JSON.stringify(err))
setTimeout(async () => {
getTCP()
@ -72,6 +78,10 @@ export default class TcpClient {
address: this.localIp, port: parseInt(this.localIpPort), family: 1
}, err => {
if (err) {
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} testTag tcp bind faile ${JSON.stringify(err)}`,
})
console.log('testTag tcp bind faile');
globalThis.getCloseTcp = true
hilog.info(0x0000, 'testTag', "tcpBinderror:" + JSON.stringify(err));
@ -80,6 +90,10 @@ export default class TcpClient {
}
globalThis.getCloseTcp = false
console.log('testTag tcp bind success');
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} testTag tcp bind success`,
})
resolve(false)
})
})
@ -108,7 +122,10 @@ export default class TcpClient {
keepAlive: true,
}, err => {
if (err) {
console.log('testTagtestTag000,error')
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} tcp connect rebind success`,
})
if(this.num>3){
return
}
@ -133,8 +150,10 @@ export default class TcpClient {
getTCP()
resolve(false)
}, 2000)
console.log('testTagtestTag000,error')
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} tcp connect error`,
})
});
})
}
@ -155,6 +174,10 @@ export default class TcpClient {
onMessage(callback?) {
this.tcp.on('message', value => {
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} Tcponmessage`,
})
console.log(TAG, 'Tcponmessage', value)
globalThis.tcpUdpError = false
@ -188,7 +211,13 @@ export default class TcpClient {
// callback(value.message)
});
}
async writeLog(param){
const fileUtil = new FileUtil(globalThis.context)
const date=dateFormat(new Date).split(' ')[0]
const folderPath = await fileUtil.initFolder(`/PLC/${date}`);
fileUtil.editFile(`${folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`)
}
offTcp(callback) {
console.log(TAG, 'tcpofff')

View File

@ -86,9 +86,17 @@ export default class UdpClientByCenter {
// globalThis.closeHeartSocket=false
this.isWorking = true
console.log(`${TAG} getUDPudp rebind success`);
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} getUDPudp rebind success`,
})
}).catch(err => {
//globalThis.closeHeartSocket=true
this.isWorking = false
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`,
})
console.log(`${TAG} getUDPudp rebind failed:${JSON.stringify(err)}`);
});
}
@ -99,10 +107,16 @@ export default class UdpClientByCenter {
});
promise.then(() => {
this.isWorking = true
console.log(`${TAG} getUDPudp bind success`);
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} getUDPudp bind success`,
})
}).catch(err => {
this.isWorking = false
console.log(`${TAG} getUDPudp bind failed:${JSON.stringify(err)}`);
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG} getUDPudp bind error${JSON.stringify(err)},localIp:${this.localIpPort},port:${this.localIpPort}`,
})
});
}
@ -166,9 +180,12 @@ export default class UdpClientByCenter {
sendMsg(msg, sendCallback?)
{
console.log(`${TAG}getUDPudpCLient sendMsg enter oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`);
if (!this.isWorking ) {
console.log(`${TAG}getUDPudpCLient sendMsg is closed return `);
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG}getUDPudpCLient sendMsg is closed return oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`,
})
if(sendCallback) {
sendCallback()
}
@ -185,9 +202,15 @@ export default class UdpClientByCenter {
if (sendCallback) {
sendCallback()
}
console.log(`${TAG}getUDPudpCLient udp send success:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`);
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG}getUDPudpCLient udp send success: oppositeIp:${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort:${this.localIpPort}`,
})
}).catch(err => {
console.log(`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`);
this.writeLog({
time:dateFormat(new Date()),
PLC:`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}${JSON.stringify(err)}`,
})
promptAction.showToast({
message:`${TAG}getUDPudpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`,
duration:4000
@ -208,7 +231,10 @@ export default class UdpClientByCenter {
onError_Callback(callback?) {
this.udp.on('error', async err => {
this.isWorking = false;
console.log('getUDPUdpClientByCenter onError err:' + JSON.stringify(err),this.oppositeIpPort);
this.writeLog({
time:dateFormat(new Date()),
PLC:'getUDPUdpClientByCenter onError err:' + JSON.stringify(err)+this.oppositeIpPort,
})
callback && callback()
});
}
@ -216,10 +242,7 @@ export default class UdpClientByCenter {
onError_resend(callback?) {
this.udp.on('error', async err => {
this.isWorking = false;
console.log(TAG, 'getUDPudpError', JSON.stringify(err))
await this.bindUdp()
await this.sendMsg('111', null)
await this.onMessage_1(callback)
callback && callback()
});
}
@ -265,13 +288,19 @@ export default class UdpClientByCenter {
console.log('getUDPUdpClientByCenter enter closeUdp ip:' + this.localIp + ' port:' + this.localIpPort);
this.udp.close(err => {
if (err) {
console.log('getUDPUdpClientByCenter closeUdp failed ip:' + this.localIp + ' port:' + this.localIpPort + ' err:' + JSON.stringify(err));
this.writeLog({
time:dateFormat(new Date()),
PLC:'getUDPUdpClientByCenter closeUdp err:' + JSON.stringify(err)+this.oppositeIpPort,
})
} else {
this.isWorking = false
if (callback != null) {
callback()
}
console.log('getUDPUdpClientByCenter closeUdp succeed ip:' + this.localIp + ' port:' + this.localIpPort);
this.writeLog({
time:dateFormat(new Date()),
PLC:'getUDPUdpClientByCenter closeUdp succeed:' + JSON.stringify(err)+this.oppositeIpPort,
})
}
})
}

View File

@ -5,7 +5,7 @@ import { judgeConfig } from '../../pages/judgeSDK/utils/judgeConfig';
import { setJudgeUdp, setTopLineUdp } from './GlobalUdp';
import { convertGpsCoord2 } from '../utils/tools';
import {examCalcGpsDistance} from '../../pages/judgeSDK/api'
import GetDistance from './GetDistance'
import GetDistance from '../utils/GetDistance'
export const initJudgeUdp = async () => {
globalThis.serialIndex = 0;
globalThis.udpIndex = 0;
@ -35,7 +35,7 @@ export const initJudgeUdp = async () => {
const jd = convertGpsCoord2(msgArr[96]*1);
const wd = convertGpsCoord2(msgArr[95]*1 || 0);
udp.send(bytes)
if(prevJd){
if(prevJd && msgArr[83] == 4){
const distance = await examCalcGpsDistance({
jd1:prevJd,
wd1:preWd,
@ -43,7 +43,11 @@ export const initJudgeUdp = async () => {
wd2:wd,
h:msgArr[90]*1 || 1,
})
globalThis.distanceClass.setTimeData(Math.floor(distance/100))
if(distance < 1){
return
}
//@ts-ignore
globalThis.distanceClass.setTimeData(((distance / 100).toFixed(2)) * 1)
}
prevJd = jd;
preWd = wd;
@ -59,7 +63,7 @@ export const getMessageHeartbeat = async (msg) => {
const {fourInOneScreen:{gpsDigit}} = judgeConfig
const asclshArr = stringToASC(fillZero(
globalThis.singlePlay
?'1111111111111'
? '1111111111111'
: globalThis.lsh,
13));
const ascksyhArr = stringToASC(fillZero('1111111111111', 13))
@ -70,7 +74,7 @@ export const getMessageHeartbeat = async (msg) => {
const examType = examSubject == 2?2:3
const {sensor,gps} = tempData;
const {zfxd,yfxd,shtd,ygd,jgd,skd,dh1,dh2,lhq,jsc,ssc,fsc,lb,mkg,aqd,ygq,cs,fdjzs} = sensor
const {jd,wd, hxj, fyj, hbg,} = gps
const {jd,wd, hxj, fyj, hbg,sd} = gps
const translateSignals = getTranslateSignals(
[zfxd, yfxd, shtd, ygd, jgd, skd, dh1, dh2, lhq, jsc, ssc, fsc, lb, mkg, aqd, 0, 0, 0, 0, 0, 0, ygq, sensor.wd, 0]
)
@ -81,6 +85,12 @@ export const getMessageHeartbeat = async (msg) => {
const translateWd = convertGpsCoord2(jd).toFixed(gpsDigit) * Math.pow(10, gpsDigit)
//@ts-ignore
const translateProjects = translateProject.map(numStr => string2Bytes(parseInt(numStr, 2), 8)[0])
//@ts-ignore
let tempSd = (sd * 1.852).toFixed(0) * 1
if(tempSd < 1){
tempSd = 0
}
const arr = [
//考生号
asclshArr.map(lsh => string2Bytes(lsh, 8)[0]),
@ -92,7 +102,7 @@ export const getMessageHeartbeat = async (msg) => {
string2Bytes(serialIndex, 2 * 8),
translateSignals,
//@ts-ignore
string2Bytes(Math.floor(gps.sd*1.852) * 100, 2 * 8), string2Bytes(fdjzs / 100, 8), string2Bytes(translateJd, 4 * 8), string2Bytes(translateWd, 4 * 8), string2Bytes(1, 8),
string2Bytes(tempSd * 100, 2 * 8), string2Bytes(fdjzs / 100, 8), string2Bytes(translateJd, 4 * 8), string2Bytes(translateWd, 4 * 8), string2Bytes(1, 8),
//GPS东向距离
string2Bytes(0, 4 * 8),
//GPS北向距离

View File

@ -70,11 +70,7 @@ export default async function request(req: any) {
if(res.head.resultCode === '0'){
return res
}else{
globalThis.type='1'
const resultMessage = res?.body?.resultMessage || res?.head?.resultMessage
// AppStorage.SetOrCreate('errorMsg', 1);
globalThis.title=decodeURIComponent(resultMessage)
globalThis.errorDialog.open()
prompt.showToast({
message: decodeURIComponent(resultMessage),
duration: 3000
@ -89,14 +85,6 @@ export default async function request(req: any) {
if(resObj.resultCode === '0') {
return res
}else {
globalThis.type='1'
if(!host){
// AppStorage.SetOrCreate('errorMsg', 1);
globalThis.title=decodeURIComponent(resObj.resultMessage)
globalThis.errorDialog.open()
}
prompt.showToast({
message: decodeURIComponent(resObj.resultMessage),
duration: 3000
@ -162,8 +150,9 @@ function handleCenterCode(msgXml,isNewCenter){
const {code,message,keystr} = result
if(code != '1'){
const rMessage = decodeURIComponent(message as string)
globalThis.title=rMessage
globalThis.errorDialog.open()
// globalThis.title=rMessage
// globalThis.type='1'
// globalThis.errorDialog.open()
prompt.showToast({
message:rMessage,
duration: 3000
@ -186,8 +175,9 @@ function handleCenterCode(msgXml,isNewCenter){
message: decodeURIComponent(message as string),
duration: 3000
});
globalThis.title=decodeURIComponent(message as string)
globalThis.errorDialog.open()
// globalThis.type='1'
// globalThis.title=decodeURIComponent(message as string)
// globalThis.errorDialog.open()
return {code,message:decodeURIComponent(message)}
}else{
return { code }

View File

@ -1,7 +1,14 @@
//@ts-ignore
import systemTime from '@ohos.systemDateTime';
import { expect } from '@ohos/hypium';
import FileUtil from './File';
export async function writeLog(path,param){
const fileUtil = new FileUtil(globalThis.context)
const date=dateFormat(new Date).split(' ')[0]
const folderPath = await fileUtil.initFolder(`/${path}/${date}`);
fileUtil.editFile(`${folderPath}/plcLog.txt`, JSON.stringify(param)+`\n`)
}
///**时间格式化*/
//export function dateFormat(fmt, date) {
// var ret;

View File

@ -10,7 +10,7 @@ import FileUtil from '../common/utils/File';
import { getUDP, getUDP2 } from '../common/utils/GlobalUdp';
import { initJudgeUdp } from '../common/utils/UdpJudge';
import { getTCP } from '../common/utils/GlobalTcp';
import { getliushuiNum, setliushuiNum, takePhotoFn,deleteAllFIleLog } from '../common/service/indexService';
import { getliushuiNum, setliushuiNum, takePhotoFn, deleteAllFIleLog } from '../common/service/indexService';
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
import worker, { MessageEvents } from '@ohos.worker';
import promptAction from '@ohos.promptAction'
@ -18,6 +18,8 @@ import { voiceService } from '../common/service/voiceService';
import errorMsgDialog from './compontents/errorMsgDialog'
import { getSyncData } from '../common/service/initable';
import GetDistance from '../common/utils/GetDistance'
// import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
@Entry
@Component
struct Index {
@ -106,8 +108,8 @@ struct Index {
}, 1000)
this.angle = 0
if (!globalThis.timeInfo) {
globalThis.type='1'
globalThis.title='时间同步接口连接失败'
globalThis.type = '1'
globalThis.title = '时间同步接口连接失败'
this.errorDialog.open()
promptAction.showToast({
message: `时间同步接口连接失败`,
@ -121,8 +123,8 @@ struct Index {
message: `车辆信息接口获取失败`,
duration: 3000
});
globalThis.type='1'
globalThis.title='车辆信息接口获取失败'
globalThis.type = '1'
globalThis.title = '车辆信息接口获取失败'
this.errorDialog.open()
this.loading = false
return
@ -289,7 +291,7 @@ struct Index {
this.angle = 0
this.loading = false
globalThis.lsh = '1111111111111'
globalThis.errorDialog=this.errorDialog
globalThis.errorDialog = this.errorDialog
const distanceClass = new GetDistance(globalThis.context)
await distanceClass.initFolder()
globalThis.distanceClass = distanceClass
@ -312,7 +314,7 @@ struct Index {
centerHost: globalThis.timeInfo.url,
singlePlay: globalThis.singlePlay
}
console.log('globalThis.timeInfo',JSON.stringify(globalThis.timeInfo),'globalThis.carInfo',JSON.stringify(globalThis.carInfo))
console.log('globalThis.timeInfo', JSON.stringify(globalThis.timeInfo), 'globalThis.carInfo', JSON.stringify(globalThis.carInfo))
this.loading = true
workerInstance.postMessage(param);
workerInstance.onmessage = (e: MessageEvents): void => {
@ -330,15 +332,16 @@ struct Index {
}
async heartMsg() {
console.log('kkkkmmm')
const arr = [globalThis.signNum || 0, globalThis.statue || 1]
let tmpList = [];d
let tmpList = [];
tmpList.push(string2Bytes(arr[0], 1 * 8)[0])
tmpList.push(string2Bytes(arr[1], 1 * 8)[0])
const str = globalThis.lsh || '0000000000000'
for (let i = 0; i < str.length; i++) {
tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0])
}
console.log('globalThis.carInfo', JSON.stringify(globalThis.carInfo))
console.log('kkkkmmm.carInfo', JSON.stringify(globalThis.carInfo))
const param = {
id: 31,
@ -409,7 +412,7 @@ struct Index {
}
async initParams() {
deleteAllFIleLog()
deleteAllFIleLog(GlobalConfig.comoonfileWriteAddress + '/PLC/')
//设置plc udp 同步requesthost
await getUDP(this.context, false)
this.loading = false
@ -425,9 +428,9 @@ struct Index {
this.hasAuth = globalThis.hasAuth;
initJudgeUdp()
takePhotoFn(this.context)
console.log('deviceIddeviceId', globalThis.deviceNo, this.deviceNo)
clearInterval(this.interval)
this.interval = setInterval(() => {
console.log('kkkkmmm')
this.num++
setliushuiNum(this.context)
getliushuiNum(this.context)