2024-07-31 13:47:40 +08:00
|
|
|
import { getSyncData } from '../common/service/initable';
|
2025-02-21 15:38:00 +08:00
|
|
|
import request from '../common/utils/request';
|
2024-08-05 09:47:44 +08:00
|
|
|
import FileUtil from '../common/utils/File';
|
2025-02-21 15:38:00 +08:00
|
|
|
|
|
|
|
|
let baseHost = globalThis.host;
|
2024-07-31 13:47:40 +08:00
|
|
|
|
|
|
|
|
//监管接口序列号映射
|
|
|
|
|
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',
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-21 15:38:00 +08:00
|
|
|
interface WR {
|
|
|
|
|
message?: string
|
|
|
|
|
code: number
|
2024-08-12 10:19:31 +08:00
|
|
|
}
|
2024-12-31 17:51:25 +08:00
|
|
|
|
2025-02-21 15:38:00 +08:00
|
|
|
export default async function writeObjectOutNew(data, filePath): Promise<WR> {
|
2024-08-05 09:47:44 +08:00
|
|
|
const fileUtil = new FileUtil(globalThis.context);
|
2024-07-31 13:47:40 +08:00
|
|
|
const {jkid , drvexam} = data;
|
|
|
|
|
const basic = await getBasicConfig(jkid);
|
|
|
|
|
const params = await getParams(jkid, drvexam);
|
|
|
|
|
const {wglb,jkxlh,glbm,jgbh,sjbs} = basic;
|
|
|
|
|
|
2025-02-21 15:38:00 +08:00
|
|
|
if (filePath) {
|
|
|
|
|
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify({
|
|
|
|
|
wglb,
|
|
|
|
|
jkxlh,
|
|
|
|
|
glbm,
|
|
|
|
|
jgbh,
|
|
|
|
|
sjbs,
|
|
|
|
|
data: params.data,
|
|
|
|
|
file: {
|
|
|
|
|
...params.file, param: []
|
|
|
|
|
},
|
2024-12-31 17:51:25 +08:00
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// let connectTimeout = sjbs === '02-21-000014' ?60000:1
|
2025-02-21 15:38:00 +08:00
|
|
|
console.info('surenjun', '调用新监管')
|
2025-01-14 19:43:14 +08:00
|
|
|
let temp
|
|
|
|
|
try {
|
|
|
|
|
temp = await request({
|
|
|
|
|
host: globalThis.JGHOST,
|
|
|
|
|
method: 'post',
|
|
|
|
|
//是否是新中心
|
|
|
|
|
isNewCenter: true,
|
|
|
|
|
xml: true,
|
|
|
|
|
url: '/dems_ws/services/TmriOutAccess?wsdl',
|
|
|
|
|
data: `<?xml version="1.0"?>
|
2024-07-31 13:47:40 +08:00
|
|
|
<SOAP-ENV:Envelope
|
|
|
|
|
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
|
|
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
|
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
|
|
>
|
|
|
|
|
<SOAP-ENV:Body>
|
|
|
|
|
<writeObjectOut xmlns="http://service.es.doron">
|
|
|
|
|
<wglb>${wglb}</wglb>
|
|
|
|
|
<jkxlh>${jkxlh}</jkxlh>
|
|
|
|
|
<glbm>${glbm}</glbm>
|
|
|
|
|
<jgbh>${jgbh}</jgbh>
|
|
|
|
|
<sjbs>${sjbs}</sjbs>
|
|
|
|
|
<data>${JSON.stringify(params.data)}</data>
|
|
|
|
|
<file>${JSON.stringify(params.file)}</file>
|
|
|
|
|
</writeObjectOut>
|
|
|
|
|
</SOAP-ENV:Body>
|
|
|
|
|
</SOAP-ENV:Envelope>`,
|
2025-01-14 19:43:14 +08:00
|
|
|
})
|
|
|
|
|
} catch (e) {
|
2025-01-20 08:50:40 +08:00
|
|
|
console.log("新监管错误")
|
2025-01-14 19:43:14 +08:00
|
|
|
temp = e
|
|
|
|
|
}
|
2025-01-20 08:50:40 +08:00
|
|
|
console.log("temp message: ", JSON.stringify(temp))
|
2025-02-21 15:38:00 +08:00
|
|
|
if (filePath) {
|
|
|
|
|
await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(temp) + `\n`);
|
2024-09-03 19:28:07 +08:00
|
|
|
}
|
2025-01-07 12:07:53 +08:00
|
|
|
return temp
|
2024-12-31 17:51:25 +08:00
|
|
|
|
2024-07-31 13:47:40 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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],
|
2024-12-30 12:56:27 +08:00
|
|
|
// param: [{ field: '', data: examSubject == 2 ? encodeURIComponent(drvexam.zp) : drvexam.zp }]
|
|
|
|
|
param: [{ field: '', data: drvexam.zp }]
|
2024-07-31 13:47:40 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//项目开始
|
|
|
|
|
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],
|
2024-12-30 12:56:27 +08:00
|
|
|
param: [{ field: '', data: drvexam.zp }]
|
2024-07-31 13:47:40 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//项目结束
|
|
|
|
|
case '17C55':
|
|
|
|
|
return {
|
|
|
|
|
data: {
|
|
|
|
|
param: {
|
|
|
|
|
czlx: drvexam.czlx,
|
|
|
|
|
jssj: drvexam.jssj,
|
|
|
|
|
kskm: examSubject,
|
|
|
|
|
ksxl: drvexam.ksxl,
|
2024-12-30 12:56:27 +08:00
|
|
|
sbbh: examSubject == 3 ? undefined : drvexam.sbxh,
|
2024-07-31 13:47:40 +08:00
|
|
|
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],
|
|
|
|
|
}
|
|
|
|
|
}
|