215 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			215 lines
		
	
	
		
			5.9 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';
 | |
| 
 | |
| //新监管接口
 | |
| 
 | |
| 
 | |
| //监管接口序列号映射
 | |
| 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;
 | |
| 
 | |
|   console.info('surenjun filePath=>',filePath)
 | |
|   fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({
 | |
|     wglb,jkxlh,glbm,jgbh,sjbs,
 | |
|     data:params.data,
 | |
|     file:{...params.file,param:[]},
 | |
|   }));
 | |
| 
 | |
|   const temp = await request({
 | |
|     host: globalThis.JGHOST,
 | |
|     method: 'post',
 | |
|     //是否是新中心
 | |
|     isNewCenter: true,
 | |
|     xml: true,
 | |
|     url: '/dems_ws/services/TmriOutAccess?wsdl',
 | |
|     data: `<?xml version="1.0"?>
 | |
|                 <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>`,
 | |
|   })
 | |
|   if(filePath){
 | |
|     const fileUtil = new FileUtil(globalThis.context);
 | |
|     await fileUtil.initFolder(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],
 | |
|   }
 | |
| } |