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'; //监管接口序列号映射 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 { 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; if(filePath){ 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 request({ host: globalThis.JGHOST, method: 'post', //是否是新中心 isNewCenter: true, xml: true, url: '/dems_ws/services/TmriOutAccess?wsdl', data: ` ${wglb} ${jkxlh} ${glbm} ${jgbh} ${sjbs} ${JSON.stringify(params.data)} ${JSON.stringify(params.file)} `, }) } catch (e) { temp = e } if(filePath){ 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], } }