import request from '../common/utils/request'; import { getCurrentTime } from '../common/utils/tools'; import { getSyncData } from '../common/service/initable'; import writeObjectOutNew from './judgeNew'; import FileUtil from '../common/utils/File'; import tempRequest from '../common/utils/tempRequest'; let baseHost = globalThis.host; // 下载模型 export async function download() { return request({ host: baseHost, url: '/para/initEsModel.ws', method: 'post', xml: false }) } interface WR { message?: string code?: number keystr?: string } // 通用监管接口 export async function writeObjectOut(params,externalTransmission:boolean, filePath?: string): Promise { const singlePlay = globalThis.singlePlay if (singlePlay) { return { code: 1 } } console.log('testsqlTag0') //获取监管接口地址路径 if (!globalThis.JGPATH) { console.log('testsqlTag1') const syssetParams = await getSyncData('MA_SYSSET') || []; console.log('testsqlTag2') //@ts-ignore syssetParams.forEach(sys => { if (sys.v_no == '839') { //是否是新监管 globalThis.isJGNew = sys.v_value == '3' } if (sys.v_no == '900') { globalThis.JGHOST = validateIP(decodeURIComponent(sys.v_value)) } }) } const {xtlb,jkxlh,jkid,drvexam} = params; console.log('testsqlTag3') //新监管调用 if (globalThis.isJGNew) { return await writeObjectOutNew(params, filePath,externalTransmission) } drvexam.zp = drvexam.zp === undefined ? undefined : encodeURIComponent(drvexam.zp) const drvexamArrs = Reflect.ownKeys(drvexam) .filter(dKey => drvexam[dKey] != undefined) .map((key: string) => ( `<${key}>${drvexam[key]}`)); console.log('surenjun filePath=>', filePath); if (filePath) { const fileUtil = new FileUtil(globalThis.context); await fileUtil.initFolder(filePath); fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify({ xtlb, jkxlh, jkid, drvexam: { ...drvexam, zp: '' }, }) + `\n`); } //对象转换成xml const temp = await request({ host: globalThis.JGHOST, url: '/dems_ws/services/TmriOutAccess?wsdl', data: ` ${xtlb} ${jkxlh} ${jkid} ${drvexamArrs} ]]> `, method: 'post', xml: true },) if (filePath) { const fileUtil = new FileUtil(globalThis.context); await fileUtil.initFolder(filePath); fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(temp) + `\n`); } // const {code} = temp; // if(code == '2300007' || code == '2300028'){ // return await writeObjectOut(params,filePath) // }else{ // return temp // } return temp } // 过程文件上传 export async function uploadExamProgressData(params) { const singlePlay = globalThis.singlePlay const {carId,examinationRoomId,type,time,cardNo,examData,examStartTime,examEndTime} = params if (singlePlay) { return } return tempRequest({ url: '/der2/services/exam/uploadExamDataFile.ws', data: ` ${carId} ${examinationRoomId} ${examData} ${type} ${cardNo} ${examStartTime} ${examEndTime} `, method: 'post', xml: true }) } export async function uploadExamProgressData2(params) { const singlePlay = globalThis.singlePlay const {carId,examinationRoomId,type,time,cardNo,examData,examStartTime,examEndTime} = params if (singlePlay) { return } return request({ url: '/der2/services/exam/uploadExamDataFile.ws', data: ` ${carId} ${examinationRoomId} ${examData} ${type} ${cardNo} ${examStartTime} ${examEndTime} `, method: 'post', xml: true }) } // 上传考试里程 export async function uploadExamMileage(params) { const singlePlay = globalThis.singlePlay if (singlePlay) { return } const time = await getCurrentTime() return request({ url: '/der2/services/exam/uploadExamMileage.ws', data: ` ${params.carId} ${params.examinationRoomId} ${params.lsh} ${params.examinationRoomId} ${params.kslc} `, method: 'post', xml: true }) } // 上传考试成绩 export async function uploadExamGrade(params) { const singlePlay = globalThis.singlePlay if (singlePlay) { return } const paramsArrs = Reflect.ownKeys(params).map((key: string) => (`<${key}>${params[key]}`)) const time = await getCurrentTime() return request({ url: '/der2/services/exam/uploadExamGrade.ws', data: ` ${paramsArrs} `, method: 'post', xml: true }) } function validateIP(path: string) { const reg = new RegExp(/(\w+):\/\/([^/:]+)(:\d*)?/) const result = path.match(reg); return result[0] } // 上传运行时常 export async function uploadHarmonyLiCheng(data) { return request({ url: '/der2/services/data/harmonyLiCheng.ws', data, method: 'post', }) }