InsuBusiness.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using PTMedicalInsurance.Common;
  7. using PTMedicalInsurance.Business;
  8. using System.Windows.Forms;
  9. using PTMedicalInsurance.Helper;
  10. using Newtonsoft.Json.Linq;
  11. using PTMedicalInsurance.Variables;
  12. using PTMedicalInsurance.Forms;
  13. using System.IO;
  14. using System.Reflection;
  15. using System.Data;
  16. namespace PTMedicalInsurance
  17. {
  18. public class InsuBusiness : IInsuBusiness
  19. {
  20. //定义相关的变量
  21. //private Patients patient;
  22. //private Fees fee;
  23. //private Settlements settlement;
  24. //json对象属性
  25. private JObject joInParam;
  26. private JArray jaSession ;
  27. private JArray jaParams;
  28. private JObject joParam;
  29. private JObject joInterface;
  30. //设置业务实例
  31. CenterBusiness cBus = new CenterBusiness();
  32. HisMainBusiness hBus = new HisMainBusiness();
  33. HisIrisServices hIS = new HisIrisServices();
  34. MIIrisServices mIS= new MIIrisServices();
  35. InvokeHelper invoker = new InvokeHelper();
  36. //
  37. private string businessType;
  38. private string operationType;
  39. public InsuBusiness()
  40. {
  41. Global.curEvt.path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
  42. ComputerInfo comp = new ComputerInfo();
  43. Global.curEvt.mac = comp.GetMAC();
  44. Global.curEvt.ip = comp.GetIP();
  45. Global.pat.insuplc_admdvs = ""; //如果是NULL中心会报错
  46. }
  47. private int parseInparam(string inParam,out string errMsg)
  48. {
  49. errMsg = "";
  50. try
  51. {
  52. joInParam = JObject.Parse(inParam);
  53. jaSession = JArray.Parse(JsonHelper.getDestValue(joInParam, "session"));
  54. Global.curEvt.jaSession = jaSession;
  55. jaParams = JArray.Parse(JsonHelper.getDestValue(joInParam, "params"));
  56. joParam = JObject.FromObject(jaParams[0]);
  57. joInterface = JObject.Parse(JsonHelper.getDestValue(joInParam, "interfaceinfo"));
  58. businessType = JsonHelper.getDestValue(joInParam, "businessType");
  59. operationType = JsonHelper.getDestValue(joInParam, "operationType");
  60. if (businessType.Substring(0, 2) == "M6")
  61. {
  62. string onlineYBFalg = JsonHelper.getDestValue(joInParam, "insuAdmObj.onlineYBFalg");
  63. //如果是Y 线上医保,其它或空不是.因WebService不能通过DLL 获取根目录,所以强制指定目录
  64. if (onlineYBFalg == "Y")
  65. {
  66. Environment.CurrentDirectory = @"D:\HttpServerAPI\bin";
  67. }
  68. }
  69. return 0;
  70. }
  71. catch (Exception ex)
  72. {
  73. errMsg = "parseInparam 解析入参异常:" + ex.Message;
  74. return -1;
  75. }
  76. }
  77. /// <summary>
  78. /// 签到
  79. /// </summary>
  80. /// <param name="InParam"></param>
  81. /// <returns></returns>
  82. public string Init(string InParam)
  83. {
  84. string errMsg, rtnResult ="";
  85. JObject joRtn = new JObject();
  86. try
  87. {
  88. if (hBus.initEnvironment(InParam, out errMsg) != 0)
  89. {
  90. return JsonHelper.setExceptionJson(-100, "initEnvironment 失败", errMsg).ToString();
  91. }
  92. else
  93. {
  94. if (mIS.isSigned(ref Global.curEvt.signno) != true)
  95. {
  96. if (businessType != "BasicData")//如果是打开数据对照界面不调用初始化
  97. {
  98. if (!Global.curEvt.needSignIn)
  99. {
  100. Global.curEvt.signno = "000000";
  101. rtnResult = JsonHelper.setIrisReturnValue(0, "签到成功", joRtn).ToString();
  102. }
  103. else
  104. {
  105. CallResult callResult = new SignInProcess().Process(joRtn);
  106. rtnResult = callResult.Data;
  107. }
  108. }
  109. else
  110. {
  111. Global.curEvt.signno = "ABC123";
  112. rtnResult = JsonHelper.setIrisReturnValue(0, "初始化成功(医保对照不初始化)!", null).ToString();
  113. }
  114. }
  115. else
  116. {
  117. rtnResult = JsonHelper.setIrisReturnValue(0, "初始化成功!", null).ToString();
  118. }
  119. return rtnResult;
  120. }
  121. }
  122. catch (Exception ex)
  123. {
  124. rtnResult = JsonHelper.setExceptionJson(-100, "Init 异常", ex.Message).ToString();
  125. return rtnResult;
  126. }
  127. finally
  128. {
  129. Global.writeLog("初始化结果:" + rtnResult);
  130. }
  131. }
  132. /// <summary>
  133. /// 初始化
  134. /// </summary>
  135. /// <param name="inParam"></param>
  136. /// <param name="outParam"></param>
  137. /// <returns></returns>
  138. private int init(string inParam, out string outParam)
  139. {
  140. string errMsg;
  141. outParam = "";
  142. try
  143. {
  144. //BS架构调用方式问题,每次调用都需要重新初始化
  145. JObject joInitRtn = JObject.Parse(Init(inParam));
  146. if (JsonHelper.parseIrisRtnValue(joInitRtn, out errMsg) != 0)
  147. {
  148. outParam = JsonHelper.setExceptionJson(-100, "init(HIS医保环境初始化)", errMsg).ToString();
  149. return -1;
  150. }
  151. else
  152. {
  153. return 0;
  154. }
  155. }
  156. catch (Exception ex)
  157. {
  158. outParam = JsonHelper.setExceptionJson(-100, "init(HIS医保环境初始化)异常", ex.Message).ToString();
  159. return -1;
  160. }
  161. }
  162. /// <summary>
  163. /// 获取患者信息
  164. /// </summary>
  165. /// <param name="InParam"></param>
  166. /// <returns></returns>
  167. public string GetPatientInfo(string InParam)
  168. {
  169. Global.writeLog("GetPatientInfo入参:" + JsonHelper.Compress(InParam));
  170. //设置返回值,错误信息
  171. string rtnResult = "",outParam;
  172. //BS架构调用方式问题,每次调用都需要重新初始化
  173. if (init(InParam,out outParam)!= 0)
  174. {
  175. rtnResult = outParam;
  176. return rtnResult;
  177. }
  178. JObject joInParam = JObject.Parse(InParam);
  179. string businessType = JsonHelper.getDestValue(joInParam,"businessType");
  180. try
  181. {
  182. switch (businessType)
  183. {
  184. case "M1"://门诊读卡
  185. case "Z1"://住院读卡
  186. {
  187. //打开读卡窗口,操作员选择读卡类型后进行读卡器读卡,再进行1101获取参保信息
  188. PatientService patientService = new PatientService();
  189. patientService.readPatientInfo(out outParam);
  190. rtnResult = JsonHelper.setIrisReturnValue(0, "", JObject.Parse(outParam)).ToString();
  191. break;
  192. }
  193. }
  194. return rtnResult;
  195. }
  196. catch (Exception ex)
  197. {
  198. rtnResult = JsonHelper.setIrisReturnValue(-1 , "GetPatientInfo发生异常;" + ex.Message,null).ToString();
  199. return rtnResult;
  200. }
  201. finally
  202. {
  203. Global.writeLog("GetPatientInfo出参:" + JsonHelper.Compress(rtnResult));
  204. }
  205. }
  206. /// <summary>
  207. /// 登记
  208. /// </summary>
  209. /// <param name="InParam"></param>
  210. /// <returns></returns>
  211. public string Register(string InParam)
  212. {
  213. Global.writeLog("Register 入参:" + JsonHelper.Compress(InParam));
  214. //设置返回值,错误信息
  215. string errMsg, rtnResult = "", outParam;
  216. try
  217. {
  218. //解析入参
  219. if (parseInparam(InParam, out errMsg) != 0)
  220. {
  221. rtnResult = JsonHelper.setExceptionJson(-1, "", errMsg).ToString();
  222. return rtnResult;
  223. }
  224. //BS架构调用方式问题,每次调用都需要重新初始化
  225. if (init(InParam, out outParam) != 0)
  226. {
  227. rtnResult = outParam;
  228. return rtnResult;
  229. }
  230. //获取pat
  231. hBus.GetRegPatInfo(businessType, joInParam, out Global.pat);
  232. switch (businessType)
  233. {
  234. case "M2"://门诊登记
  235. {
  236. //string patInfo = "";
  237. //errMsg = showPatientInfo(out patInfo, out outParam);
  238. //if (!errMsg.Equals("0"))
  239. //{
  240. // return errMsg;
  241. //}
  242. //Global.writeLog("获取到病人信息:" + patInfo);
  243. //JObject reg = JObject.Parse(patInfo);
  244. //this.OutpatientReg(reg,patInfo);
  245. break;
  246. }
  247. case "M2C"://门诊登记撤销
  248. {
  249. break;
  250. }
  251. case "Z0"://住院修改
  252. {
  253. break;
  254. }
  255. case "Z2"://入院登记
  256. {
  257. Global.Set.clearingWay = "1"; //住院
  258. rtnResult = new InpatientRegistionProcess().Process(joParam).Data;
  259. break;
  260. }
  261. case "Z2C"://入院登记取消
  262. {
  263. rtnResult = new InpatientRegCancelProcess().Process(joParam).Data;
  264. break;
  265. }
  266. case "Z6"://出院登记
  267. {
  268. break;
  269. }
  270. case "Z6C"://出院登记取消
  271. {
  272. rtnResult = new InpatientExitCancelProcess().Process(joParam).Data;
  273. break;
  274. }
  275. default:
  276. {
  277. rtnResult = JsonHelper.setExceptionJson(-1, "Register 交易", "传入的业务编码不对!").ToString();
  278. return rtnResult;
  279. }
  280. }
  281. }
  282. catch (Exception ex)
  283. {
  284. rtnResult = JsonHelper.setIrisReturnValue(-1, "Register 发生异常;" + ex.Message, null).ToString();
  285. return rtnResult;
  286. }
  287. finally
  288. {
  289. Global.writeLog("Register 出参:" + JsonHelper.Compress(rtnResult));
  290. }
  291. return rtnResult;
  292. }
  293. /// <summary>
  294. /// 费用上传
  295. /// </summary>
  296. /// <param name="InParam"></param>
  297. /// <returns></returns>
  298. public string FeeUpload(string InParam)
  299. {
  300. Global.writeLog("FeeUpload 入参:" + JsonHelper.Compress(InParam));
  301. //设置返回值,错误信息
  302. string errMsg, rtnResult = "", outParam;
  303. try
  304. {
  305. //解析入参
  306. if (parseInparam(InParam, out errMsg) != 0)
  307. {
  308. rtnResult = JsonHelper.setExceptionJson(-1, "", errMsg).ToString();
  309. return rtnResult;
  310. }
  311. //BS架构调用方式问题,每次调用都需要重新初始化
  312. if (init(InParam, out outParam) != 0)
  313. {
  314. rtnResult = outParam;
  315. return rtnResult;
  316. }
  317. //获取pat
  318. hBus.GetFeeHisInfo(businessType, joInParam, out Global.pat);
  319. switch (businessType)
  320. {
  321. case "M3"://门诊费用上传
  322. {
  323. break;
  324. }
  325. case "M3C"://门诊费用撤销
  326. {
  327. break;
  328. }
  329. case "Z3"://入院费用上传
  330. {
  331. rtnResult = new InpatientFeeUploadProcess().Process(joParam).Data;
  332. break;
  333. }
  334. case "Z3C"://住院费用上传取消
  335. {
  336. rtnResult = new InpatientFeeUploadCancelProcess().Process(joParam).Data;
  337. break;
  338. }
  339. default:
  340. {
  341. rtnResult = JsonHelper.setExceptionJson(-1, "FeeUpload 交易", "传入的业务编码不对!").ToString();
  342. return rtnResult;
  343. }
  344. }
  345. return rtnResult;
  346. }
  347. catch (Exception ex)
  348. {
  349. rtnResult = JsonHelper.setExceptionJson(-1, "FeeUpload 交易", ex.Message).ToString();
  350. return rtnResult;
  351. }
  352. finally
  353. {
  354. Global.writeLog("FeeUpload 出参:" + JsonHelper.Compress(rtnResult));
  355. }
  356. }
  357. /// <summary>
  358. /// 结算
  359. /// </summary>
  360. /// <param name="InParam"></param>
  361. /// <returns></returns>
  362. public string Settlement(string InParam)
  363. {
  364. Global.writeLog("Settlement 入参:" + JsonHelper.Compress(InParam));
  365. //设置返回值,错误信息
  366. string errMsg, rtnResult = "", outParam;
  367. try
  368. {
  369. //解析入参
  370. if (parseInparam(InParam, out errMsg) != 0)
  371. {
  372. rtnResult = JsonHelper.setExceptionJson(-1, "", errMsg).ToString();
  373. return rtnResult;
  374. }
  375. //BS架构调用方式问题,每次调用都需要重新初始化
  376. if (init(InParam, out outParam) != 0)
  377. {
  378. rtnResult = outParam;
  379. return rtnResult;
  380. }
  381. //获取pat
  382. hBus.GetSettlementHisInfo(businessType, joInParam, out Global.pat);
  383. switch (businessType)
  384. {
  385. case "M4"://门诊预结算
  386. {
  387. // 没有做任何处理?是否必须???
  388. //OutpatientRegistration frmReg = new OutpatientRegistration();
  389. //if (frmReg.ShowDialog() == DialogResult.OK)
  390. //{
  391. // rtnResult = "调用结束";
  392. //}
  393. break;
  394. }
  395. case "M4C"://门诊预结算撤销
  396. {
  397. break;
  398. }
  399. case "M5"://门诊结算
  400. {
  401. Global.Set.clearingWay = "6"; //门诊
  402. LocalOPSettleService opService = new LocalOPSettleService();
  403. rtnResult = opService.Charge(operationType, joInParam);
  404. break;
  405. }
  406. case "M5C"://门诊结算撤销
  407. {
  408. LocalOPSettleService opService = new LocalOPSettleService();
  409. rtnResult = opService.DisCharge(joParam);
  410. break;
  411. }
  412. case "M6"://门诊移动支付结算
  413. {
  414. #region 移动支付
  415. //MobilePay mp = new MobilePay(InParam, out errMsg);
  416. //if (errMsg != "")
  417. //{
  418. // rtnResult = JsonHelper.setExceptionJson(-1, "Settlement 交易", errMsg).ToString();
  419. // return rtnResult;
  420. //}
  421. //if (mp.MobilePaySettlement(out outParam) != 0)
  422. // rtnResult = JsonHelper.setExceptionJson(-1, "Settlement 交易", outParam).ToString();
  423. //else
  424. // rtnResult = outParam;
  425. //return rtnResult;
  426. #endregion
  427. LocalMobilePayService mobilePayService = new LocalMobilePayService();
  428. rtnResult = mobilePayService.Charge(businessType,JObject.Parse(InParam));
  429. break;
  430. }
  431. case "M6C"://门诊移动支付结算撤销
  432. {
  433. #region 移动支付取消
  434. LocalMobilePayProcess mp = new LocalMobilePayProcess();
  435. rtnResult = mp.Cancel(JObject.Parse(InParam)).Data;
  436. #endregion
  437. break;
  438. }
  439. case "M6Confirm"://门诊移动支付确认
  440. {
  441. #region 移动支付确认
  442. LocalMobilePayProcess mp = new LocalMobilePayProcess();
  443. rtnResult = mp.Confirm(JObject.Parse(InParam)).Data;
  444. #endregion
  445. break;
  446. }
  447. case "Z4"://住院预结算
  448. {
  449. #region 预结算
  450. Global.pat.RYorCY = "2";
  451. JObject joSettle = new JObject();
  452. CallResult result = new IPPreSettlementProcess().Process(joParam);
  453. if (result.Success)
  454. {
  455. rtnResult = JsonHelper.setExceptionJson(-1, "结算信息展示", result.Data).ToString();
  456. }
  457. else
  458. {
  459. rtnResult = JsonHelper.setIrisReturnValue(0, "预结算成功", null).ToString();
  460. }
  461. break;
  462. #endregion
  463. }
  464. case "Z4C"://住院预结算撤销
  465. {
  466. rtnResult = JsonHelper.setExceptionJson(-100, "该接口不支持预结算取消!", null).ToString();
  467. return rtnResult;
  468. }
  469. case "Z5"://住院结算
  470. {
  471. Global.Set.clearingWay = "1"; //住院
  472. LocalIPSettlementService ipService = new LocalIPSettlementService();
  473. rtnResult = ipService.Charge(operationType,joParam);
  474. break;
  475. }
  476. case "Z5C"://住院结算撤销
  477. {
  478. LocalIPSettlementService ipService = new LocalIPSettlementService();
  479. rtnResult = ipService.DisCharge(joParam);
  480. break;
  481. }
  482. default:
  483. {
  484. rtnResult = JsonHelper.setExceptionJson(-1, "Settlement 交易", "传入的业务编码不对!").ToString();
  485. return rtnResult;
  486. }
  487. }
  488. return rtnResult;
  489. }
  490. catch (Exception ex)
  491. {
  492. rtnResult = JsonHelper.setExceptionJson(-1, "Settlement 交易", ex.Message).ToString();
  493. return rtnResult;
  494. }
  495. finally
  496. {
  497. Global.writeLog("Settlement 出参:" + JsonHelper.Compress(rtnResult));
  498. }
  499. }
  500. /// <summary>
  501. /// 辅助交易
  502. /// </summary>
  503. /// <param name="InParam"></param>
  504. /// <returns></returns>
  505. public string AgentFun(string InParam)
  506. {
  507. Global.writeLog("AgentFun 入参:" + JsonHelper.Compress(InParam));
  508. //设置返回值,错误信息
  509. string errMsg, rtnResult = "", outParam;
  510. try
  511. {
  512. //解析入参
  513. if (parseInparam(InParam, out errMsg) != 0)
  514. {
  515. rtnResult = JsonHelper.setExceptionJson(-1, "", errMsg).ToString();
  516. return rtnResult;
  517. }
  518. //BS架构调用方式问题,每次调用都需要重新初始化
  519. if (init(InParam, out outParam) != 0)
  520. {
  521. Global.writeLog("初始化异常:"+outParam);
  522. rtnResult = outParam;
  523. // 基础数据没有初始化成功,也可以运行
  524. if (!businessType.Equals("BasicData")) {
  525. return rtnResult;
  526. }
  527. }
  528. //获取pat
  529. hBus.GetAgentFunHisInfo(businessType, joInParam, out Global.pat);
  530. switch (businessType)
  531. {
  532. case "BasicData"://基础数据维护
  533. {
  534. BasicData bd = new BasicData();
  535. bd.ShowDialog();
  536. break;
  537. }
  538. case "Exception"://异常处理
  539. {
  540. //显示异常处理界面
  541. HandleException frmEX = new HandleException();
  542. if (frmEX.ShowDialog() == DialogResult.OK)
  543. {
  544. }
  545. break;
  546. }
  547. case "CheckAndClearing"://对账清算
  548. {
  549. ClearingQuery frmEX = new ClearingQuery();
  550. if (frmEX.ShowDialog() == DialogResult.OK)
  551. {
  552. }
  553. break;
  554. }
  555. case "Print"://打印
  556. {
  557. try
  558. {
  559. rtnResult = new LocalSettleBillPrintProcess().Process(joInParam).Data;
  560. }
  561. catch (Exception ex)
  562. {
  563. MessageBox.Show(ex.Message);
  564. }
  565. break;
  566. }
  567. case "Log"://日志
  568. {
  569. MessageBox.Show(businessType);
  570. break;
  571. }
  572. case "RecordUpload"://上传记录
  573. {
  574. MessageBox.Show(businessType);
  575. break;
  576. }
  577. case "HospitalRegister"://备案
  578. {
  579. ToRecordChoose Referral = new ToRecordChoose();
  580. Referral.ShowDialog();
  581. break;
  582. }
  583. case "PreAndInProcessAnalysis"://事前分析 诊间只有住院的事前分析
  584. {
  585. Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(joInParam, "params[0].admID"));
  586. JObject joResult = new JObject();
  587. joResult.Add("result", JObject.Parse(JsonHelper.getDestValue(joParam, "insuData")));
  588. //事前分析
  589. if (Global.curEvt.ext.isOpenAnalysis)
  590. {
  591. if (hBus.PreAnalysis("5", joResult.ToString(), out errMsg) != 0)
  592. {
  593. MessageBox.Show(errMsg);
  594. break;
  595. }
  596. }
  597. break;
  598. }
  599. default:
  600. {
  601. rtnResult = JsonHelper.setExceptionJson(-1, "AgentFun 交易", "传入的业务编码不对!").ToString();
  602. break;
  603. }
  604. }
  605. return rtnResult;
  606. }
  607. catch (Exception ex)
  608. {
  609. rtnResult = JsonHelper.setExceptionJson(-1, "AgentFun 交易", ex.Message).ToString();
  610. return rtnResult;
  611. }
  612. finally
  613. {
  614. Global.writeLog("AgentFun 出参:" + JsonHelper.Compress(rtnResult));
  615. }
  616. }
  617. public string PlatformDirectConnect(string InParam)
  618. {
  619. //设置返回值,错误信息
  620. string errMsg, rtnResult = "", outParam;
  621. try
  622. {
  623. Global.writeLog("PlatformDirectConnect 入参:" + JsonHelper.Compress(InParam));
  624. //解析入参
  625. if (parseInparam(InParam, out errMsg) != 0)
  626. {
  627. rtnResult = JsonHelper.setExceptionJson(-1, "", errMsg).ToString();
  628. return rtnResult;
  629. }
  630. Global.businessType = businessType;
  631. string funNO = JsonHelper.getDestValue(joInParam, "funNO");
  632. Global.pat.insuplc_admdvs = JsonHelper.getDestValue(joInParam, "insuplc_admdvs");
  633. Global.inf.interfaceID = JsonHelper.getDestValue(joInParam, "interfaceinfo.ID");
  634. if ("4101".Equals(funNO))
  635. {
  636. //本地医保、省医保需要使用本地机构
  637. if (!Utils.isOtherCity() || "28".Equals(Global.inf.interfaceID)) {
  638. Global.curEvt.useLocalOrgCode = true;
  639. }
  640. Global.curEvt.needSignIn = true;
  641. //需要单独签到
  642. Global.curEvt.mac = Global.curEvt.mac + "" + Utils.GetInsuOrgCode();
  643. }
  644. //BS架构调用方式问题,每次调用都需要重新初始化
  645. if (init(InParam, out outParam) != 0)
  646. {
  647. rtnResult = outParam;
  648. return rtnResult;
  649. }
  650. TradeEnum trade = TradeEnum.DEFAULT.GetByCode(funNO);
  651. JObject joRtn = invoker.invokeCenterService(trade, joParam);
  652. if (JsonHelper.parseCenterRtnValue(joRtn, out errMsg) != 0)
  653. {
  654. rtnResult = JsonHelper.setExceptionJson(-1, "平台直连错误", errMsg).ToString();
  655. return rtnResult;
  656. }
  657. else
  658. {
  659. rtnResult = JsonHelper.setIrisReturnValue(0, "", joRtn).ToString();
  660. return rtnResult;
  661. }
  662. }
  663. catch (Exception ex)
  664. {
  665. rtnResult = JsonHelper.setExceptionJson(-1, "PlatformDirectConnect 交易", ex.Message).ToString();
  666. return rtnResult;
  667. }
  668. finally
  669. {
  670. Global.writeLog("PlatformDirectConnect 出参:" + JsonHelper.Compress(rtnResult));
  671. }
  672. }
  673. }
  674. }