203 lines
5.1 KiB
TypeScript
203 lines
5.1 KiB
TypeScript
import { getSyncData } from '../common/service/initable';
|
|
import request from "../common/utils/request"
|
|
let baseHost = globalThis.host;
|
|
import FileUtil from '../common/utils/File';
|
|
import FileLog from '../pages/judgeSDK/utils/fileLog';
|
|
import tcp2ByteRequest from '../tcp2byte/index'
|
|
//监管接口序列号映射
|
|
const gjxlhObj = {
|
|
'17C51': '02-21-000009',
|
|
'17C52': '02-21-000010',
|
|
'17C53': '02-21-000011',
|
|
'17C54': '02-21-000012',
|
|
'17C55': '02-21-000013',
|
|
'17C56': '02-21-000014',
|
|
}
|
|
|
|
interface WR{
|
|
message?:string
|
|
code:number
|
|
}
|
|
|
|
export default async function writeObjectOutNew(data,filePath): Promise<WR> {
|
|
const fileUtil = new FileUtil(globalThis.context);
|
|
const {jkid , drvexam} = data;
|
|
const basic = await getBasicConfig(jkid);
|
|
const params = await getParams(jkid, drvexam);
|
|
const {wglb,jkxlh,glbm,jgbh,sjbs} = basic;
|
|
|
|
const reqData = {
|
|
wglb,jkxlh,glbm,jgbh,sjbs,
|
|
data:params.data,
|
|
file:params.file
|
|
}
|
|
if(filePath){
|
|
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({
|
|
wglb,jkxlh,glbm,jgbh,sjbs,
|
|
data:params.data,
|
|
file:{...params.file,param:[]},
|
|
}));
|
|
}
|
|
|
|
// let connectTimeout = sjbs === '02-21-000014' ?60000:1
|
|
console.info('surenjun','调用新监管')
|
|
let temp
|
|
try {
|
|
temp = await tcp2ByteRequest(reqData)
|
|
}catch (e){
|
|
console.log("新监管错误")
|
|
temp = e
|
|
}
|
|
|
|
console.log("temp message: ", JSON.stringify(temp))
|
|
if(filePath){
|
|
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`);
|
|
}
|
|
return temp
|
|
|
|
}
|
|
|
|
export async function getParams(jkid, drvexam) {
|
|
const examSubject = globalThis.carInfo.examSubject;
|
|
switch (jkid) {
|
|
//开始考试
|
|
case '17C51':
|
|
return {
|
|
data: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: {
|
|
sfzmhm: drvexam.sfzmhm,
|
|
kchp: decodeURI(drvexam.kchp),
|
|
kskm: examSubject,
|
|
ksxl: examSubject == 3 ? drvexam.ksxl : undefined,
|
|
kssj: drvexam.kssj
|
|
}
|
|
},
|
|
file: {
|
|
sjbs: gjxlhObj[jkid],
|
|
// param: [{ field: '', data: examSubject == 2 ? encodeURIComponent(drvexam.zp) : drvexam.zp }]
|
|
param: [{ field: '', data: drvexam.zp }]
|
|
}
|
|
}
|
|
//项目开始
|
|
case '17C52':
|
|
return {
|
|
data: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: {
|
|
sfzmhm: drvexam.sfzmhm,
|
|
kskm: drvexam.kskm,
|
|
ksxm: drvexam.ksxm,
|
|
ksxl: examSubject == 3 ? drvexam.ksxl : undefined,
|
|
kchp: decodeURI(drvexam.kchp),
|
|
//TODO 待验证 科目三无
|
|
sbbh: examSubject == 3 ? undefined : drvexam.sbxh,
|
|
kssj: drvexam.kssj
|
|
}
|
|
},
|
|
file: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: [{ field: '', data: '' }]
|
|
}
|
|
}
|
|
//扣分
|
|
case '17C53':
|
|
return {
|
|
data: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: {
|
|
kffs: drvexam.kffs,
|
|
kfsj: drvexam.kfsj,
|
|
kfxm: drvexam.kfxm,
|
|
kfxmmx: drvexam.kfxmmx,
|
|
kskm: examSubject,
|
|
ksxm: drvexam.ksxm,
|
|
sfzmhm: drvexam.sfzmhm
|
|
}
|
|
},
|
|
file: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: [{ field: '', data: '' }]
|
|
}
|
|
}
|
|
//过程照片
|
|
case '17C54':
|
|
return {
|
|
data: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: {
|
|
cs: drvexam.cs,
|
|
kskm: drvexam.kskm,
|
|
ksxm: drvexam.ksxm,
|
|
sfzmhm: drvexam.sfzmhm,
|
|
zpsj: drvexam.zpsj
|
|
}
|
|
},
|
|
file: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: [{ field: '', data: drvexam.zp }]
|
|
}
|
|
}
|
|
//项目结束
|
|
case '17C55':
|
|
return {
|
|
data: {
|
|
param: {
|
|
czlx: drvexam.czlx,
|
|
jssj: drvexam.jssj,
|
|
kskm: examSubject,
|
|
ksxl: drvexam.ksxl,
|
|
sbbh: examSubject == 3 ? undefined : drvexam.sbxh,
|
|
ksxm: drvexam.ksxm,
|
|
sfzmhm: drvexam.sfzmhm
|
|
},
|
|
sjbs: gjxlhObj[jkid],
|
|
},
|
|
file: { sjbs: gjxlhObj[jkid], param: [{ field: '', data: '' }] }
|
|
}
|
|
//考试结束
|
|
case '17C56':
|
|
return {
|
|
data: {
|
|
sjbs: gjxlhObj[jkid],
|
|
param: {
|
|
dwlc: drvexam.dwlc,
|
|
ghks: "0",
|
|
jssj: drvexam.jssj,
|
|
kscj: drvexam.kscj,
|
|
kskm: examSubject,
|
|
kslc: drvexam.kslc,
|
|
sfzmhm: drvexam.sfzmhm
|
|
},
|
|
},
|
|
file: { sjbs: gjxlhObj[jkid], param: [{ field: '', data: drvexam.zp }] }
|
|
}
|
|
|
|
default:
|
|
return {}
|
|
}
|
|
}
|
|
|
|
//获取基础信息
|
|
async function getBasicConfig(jkid) {
|
|
const examSubject = globalThis.carInfo.examSubject;
|
|
const syssetParam = await getSyncData('MA_SYSSET');
|
|
let syssetObj = {};
|
|
//@ts-ignore
|
|
syssetParam.forEach(sys => {
|
|
syssetObj[sys.v_no] = decodeURIComponent(sys.v_value)
|
|
});
|
|
|
|
return {
|
|
//外挂类别
|
|
wglb: examSubject == 2 ? "700203" : "700204",
|
|
//监管接口序列号
|
|
jkxlh: syssetObj['901'],
|
|
//管理部门
|
|
glbm: syssetObj['903'],
|
|
//考场序号
|
|
jgbh: syssetObj['905'],
|
|
//接口id
|
|
sjbs: gjxlhObj[jkid],
|
|
}
|
|
} |