| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- /******************************************************************************
- * 文件名称: CardReader.cs
- * 文件说明: 读卡的封装,包括社保卡,身份证,电子凭证等等
- * 当前版本: V1.0
- * 创建日期: 2022-06-25
- *
- * * 2020-06-20: 增加 IrisServices 类(基类)
- * ***** 2020-06-25: 增加 CardReader 方法,获取URL地址,USER信息,地方版SSCard.dll使用
- * ***** 2020-06-25: 增加 CardReader 方法重载,国家版电子凭证使用
- *
- *
- * * 2020-06-20: 增加 HisIrisServices 类(子类)
- * ***** 2020-06-25: 增加 CardReader 方法,获取URL地址,USER信息,地方版SSCard.dll使用
- * ***** 2020-06-25: 增加 CardReader 方法重载,国家版电子凭证使用
- *
- *
- * * 2020-06-20: 增加 MIIrisServices 类(子类)
- * ***** 2020-06-25: 增加 CardReader 方法,获取URL地址,USER信息,地方版SSCard.dll使用
- * ***** 2020-06-25: 增加 CardReader 方法重载,国家版电子凭证使用
- ******************************************************************************/
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using PTMedInsuInterface.Variables;
- using PTMedInsuInterface.Helper;
- using System.Windows.Forms;
- namespace PTMedInsuInterface.Business
- {
-
- class HisIrisServices
- {
- public JObject getHospital()
- {
- dynamic joParam = new JObject();
- joParam.hospID = "";
- joParam.logonHospID = Global.inf.hospitalDr;
- JObject joInparam = JsonHelper.setIrisInpar("09010039", joParam);
- InvokeHelper invoker = new InvokeHelper();
- return invoker.invokeHISService(joInparam.ToString(), "获取医院列表");
- }
- }
- class MIIrisServices
- {
- public int getPlatformHospitalDr(string hospID, out string hospDr)
- {
- string sqlStr = "SELECT * FROM CB_HOSPITAL WHERE HisHospital_Dr = " + hospID;
- JObject joParam = new JObject();
- JObject joRtn = new JObject();
- JObject joOutparam;
- string errorMsg = "";
- hospDr = "";
- try
- {
- InvokeHelper invoke = new InvokeHelper();
- joParam.Add("sqlStr", sqlStr);
- JObject joInparam = JsonHelper.setIrisInpar("01030001", joParam);
- joOutparam = invoke.invokeInsuService(joInparam.ToString(), "获取平台医院信息");
- if (JsonHelper.parseIrisRtnValue(joOutparam, out errorMsg) != 0)
- {
- hospDr = joOutparam["errorMessage"].ToString();
- return -1;
- }
- if (int.Parse(joOutparam["result"]["total"].ToString()) == 0)
- {
- hospDr = "平台未返回数据,请检查医保平台是否维护了医院信息!若维护了则检查是否跟HIS平台做了对照处理!";
- return -1;
- }
- if (int.Parse(joOutparam["result"]["total"].ToString()) != 1)
- {
- hospDr = "平台返回多条数据,请检查医院信息!";
- return -1;
- }
- JArray jaParams = new JArray();
- jaParams = JArray.FromObject(joOutparam["result"]["rows"]);
- hospDr = jaParams[0]["hospitalID"].ToString();
- return 0;
- }
- catch (Exception ex)
- {
- hospDr = "获取接口信息异常!" + ex.Message;
- return -1;
- }
- }
- /// <summary>
- /// 获取接口信息
- /// </summary>
- /// <returns></returns>
- public JObject getInterface()
- {
- dynamic joParam = new JObject();
- joParam.HospitalDr = Global.inf.hospitalDr;
- joParam.InterfaceID = "";
- joParam.UseFlag = "True";
- JObject joInparam = JsonHelper.setIrisInpar("09010003", joParam);
- InvokeHelper invoker = new InvokeHelper();
- return invoker.invokeInsuService(joInparam.ToString(), "获取接口信息");
- }
- /// <summary>
- /// 获取自助机启动接口信息
- /// </summary>
- /// <returns></returns>
- public JObject getSelfServiceInterface()
- {
- dynamic joParam = new JObject();
- joParam.HospitalDr = Global.inf.hospitalDr;
- joParam.InterfaceID = "";
- joParam.UseFlag = "True";
- joParam.SelfServiceFlag = "1";
- JObject joInparam = JsonHelper.setIrisInpar("09010003", joParam);
- return getInterface(joParam, "获取自助机启动目录信息");
- }
- public JObject getspecifiedInterface(int HospDr, int InterfaceDr)
- {
- dynamic joParam = new JObject();
- joParam.HospitalDr = HospDr;
- joParam.InterfaceID = InterfaceDr;
- return getInterface(joParam, "获取指定接口信息");
- }
- /// <summary>
- /// 获取指定接口信息
- /// </summary>
- /// <param name="inparam"></param>
- /// <returns></returns>
- //public JObject getspecifiedInterface(int HospDr, int InterfaceDr)
- //{
- // JObject joRtn = new JObject();
- // JObject joInparam = new JObject();
- // string errorMsg = "";
- // try
- // {
- // InvokeHelper invoke = new InvokeHelper();
- // dynamic joParam = new JObject();
- // joParam.HospitalDr = HospDr;
- // joParam.InterfaceID = InterfaceDr;
- // joInparam = JsonHelper.setIrisInpar("09010003", joParam);
- // JObject joOutparam = invoke.invokeInsuService(joInparam.ToString(), "获取指定接口信息");
- // if (JsonHelper.parseIrisRtnValue(joOutparam, out errorMsg) != 0)
- // {
- // return joOutparam;
- // }
- // JArray jaParams = new JArray();
- // jaParams = JArray.FromObject(joOutparam["result"]["data"]);
- // JToken _token = jaParams[0];
- // if (_token is null)
- // {
- // joRtn = JsonHelper.setExceptionJson(-100, "获取接口信息失败!", "返回值为空");
- // }
- // if (_token.Type == JTokenType.String)
- // {
- // joRtn = JsonHelper.setExceptionJson(-100, "获取接口信息失败!返回值为字符串", _token.ToString());
- // }
- // else //if (_token.Type == JTokenType.Object)
- // {
- // JObject joResult = JObject.FromObject(_token);
- // if (Global.curEvt.MIVer == "1")
- // {
- // joRtn = JsonHelper.setIrisReturnValue(0,"", joResult);
- // return joRtn;
- // }
- // dynamic joIn = new JObject();
- // joIn.interfaceDr = JsonHelper.getDestValue(joResult, "ID");
- // joIn.insuRegionDr = JsonHelper.getDestValue(joResult, "InsuRegionDr");
- // JObject joInpar = JsonHelper.setIrisInpar("09010075", joIn);
- // JObject joOut = invoke.invokeInsuService(joInpar.ToString(), "获取医保区域信息");
- // string insuRegionInterfaceDr = "", errorMessage = "";
- // if (JsonHelper.parseIrisRtnValue(joOut, out errorMessage) != 0)
- // {
- // insuRegionInterfaceDr = "";
- // }
- // else
- // {
- // insuRegionInterfaceDr = JsonHelper.getDestValue(joOut, "result.InsuRegionInterfaceDr");
- // }
- // joResult.Add("insuRegionInterfaceDr", insuRegionInterfaceDr);
- // joRtn.Add("errorCode", 0);
- // joRtn.Add("errorMessage", "");
- // joRtn.Add("result", joResult);
- // }
- // return joRtn;
- // }
- // catch (Exception ex)
- // {
- // joRtn = JsonHelper.setExceptionJson(-100, "获取接口信息异常!", ex.Message );
- // Global.writeLog("getspecifiedInterface",joInparam.ToString(),joRtn.ToString());
- // return joRtn;
- // }
- //}
- private JObject getInterface(JObject jo,string desc)
- {
- JObject joRtn = new JObject();
- JObject joInparam = new JObject();
- string errorMsg ;
- try
- {
- InvokeHelper invoke = new InvokeHelper();
- joInparam = JsonHelper.setIrisInpar("09010003", jo);
- JObject joOutparam = invoke.invokeInsuService(joInparam.ToString(), desc);
- if (JsonHelper.parseIrisRtnValue(joOutparam, out errorMsg) != 0)
- {
- return joOutparam;
- }
- JArray jaParams = new JArray();
- jaParams = JArray.FromObject(joOutparam["result"]["data"]);
- if (jaParams.Count == 0)
- {
- joRtn = JsonHelper.setExceptionJson(-100, "getInterface", "获取接口信息失败!返回数组为空!请检查 SelfServiceFlag 标志是否开启或者传入参数是否正确!");
- return joRtn;
- }
- //取第一个
- JToken _token = jaParams[0];
- if (_token is null)
- {
- joRtn = JsonHelper.setExceptionJson(-100, "获取接口信息失败!", "返回值为空");
- }
- if (_token.Type == JTokenType.String)
- {
- joRtn = JsonHelper.setExceptionJson(-100, "获取接口信息失败!返回值为字符串", _token.ToString());
- }
- else
- {
-
- JObject joResult = JObject.FromObject(_token);
- if (Global.curEvt.MIVer == "1")
- {
- joRtn = JsonHelper.setIrisReturnValue(0, "", joResult);
- return joRtn;
- }
- dynamic joIn = new JObject();
- joIn.interfaceDr = JsonHelper.getDestValue(joResult, "ID");
- joIn.insuRegionDr = JsonHelper.getDestValue(joResult, "InsuRegionDr");
- JObject joInpar = JsonHelper.setIrisInpar("09010075", joIn);
- JObject joOut = invoke.invokeInsuService(joInpar.ToString(), "获取医保区域信息");
- string insuRegionInterfaceDr = "", errorMessage = "";
- if (JsonHelper.parseIrisRtnValue(joOut, out errorMessage) != 0)
- {
- insuRegionInterfaceDr = "";
- }
- else
- {
- insuRegionInterfaceDr = JsonHelper.getDestValue(joOut, "result.InsuRegionInterfaceDr");
- }
- joResult.Add("insuRegionInterfaceDr", insuRegionInterfaceDr);
- joRtn.Add("errorCode", 0);
- joRtn.Add("errorMessage", "");
- joRtn.Add("result", joResult);
- }
- return joRtn;
- }
- catch (Exception ex)
- {
- joRtn = JsonHelper.setExceptionJson(-100, "获取接口信息异常!", ex.Message);
- Global.writeLog(desc, joInparam.ToString(), joRtn.ToString());
- return joRtn;
- }
- }
- }
- }
|