/// <summary> /// 读卡获取个人基础资料 /// </summary> /// <param name="param"></param> /// <param name="baseParam"></param> public ApiJsonResultData ReadCardUserInfo(string param, HisBaseParam baseParam) { var resultData = new ApiJsonResultData { Success = true }; var data = new ResidentUserInfoJsonDto(); try { var iniFile = new IniFile(); //端口号 var port = iniFile.GetIni(); Logs.LogWrite(new LogParam() { Params = param, Msg = JsonConvert.SerializeObject(baseParam) }); if (!string.IsNullOrWhiteSpace(param) == false) { throw new Exception("密码不能为空!!!"); } var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd); if (loginData != 1) { throw new Exception("医保登陆失败!!!"); } int result = MedicalInsuranceDll.ReadCardInfo_cxjb(port, param); if (result == 1) { data = XmlHelp.DeSerializerModel(new ResidentUserInfoJsonDto(), true); if (data.ReturnState == "1") { var userInfoDto = UserInfoToDto(data); resultData.Data = JsonConvert.SerializeObject(userInfoDto); Logs.LogWriteData(new LogWriteDataParam() { JoinJson = JsonConvert.SerializeObject(param), ReturnJson = JsonConvert.SerializeObject(userInfoDto), OperatorId = baseParam.OperatorId }); } else { throw new Exception(data.Msg); } } } catch (Exception e) { resultData.Success = false; resultData.Message = e.Message; Logs.LogWrite(new LogParam() { Msg = e.Message + "error:" + e.StackTrace, OperatorCode = baseParam.OperatorId, Params = Logs.ToJson(param), ResultData = Logs.ToJson(data) }); } return(resultData); }
// <summary> // 读卡获取信息 // </summary> ///<param name = "paramStr"></param > /// <param name="baseParam"></param> public ApiJsonResultData ReadCardInfo(string paramStr, HisBaseParam baseParam) { var param = JsonConvert.DeserializeObject <ReadCardInfoParam>(paramStr); var resultData = new ApiJsonResultData { Success = true }; //姓名 var patientName = new byte[1024]; //性别 var patientSex = new byte[1024]; //出生日期 var birthday = new byte[1024]; //身份证号 var idCardNo = new byte[1024]; //联系地址 var contactAddress = new byte[1024]; //职工医保账户余额 var workersInsuranceBalance = new byte[1024]; //职工卡号 var workersCardNo = new byte[1024]; //返回状态 var resultState = new byte[1024]; //消息 var msg = new byte[1024]; var userData = new GetResidentUserInfoDto(); try { if (param == null) { throw new Exception("职工结算入参不能为空!!!"); } if (string.IsNullOrWhiteSpace(baseParam.Account)) { throw new Exception("医保账户不能为空!!!"); } if (string.IsNullOrWhiteSpace(baseParam.Pwd)) { throw new Exception("医保账户密码不能为空!!!"); } if (string.IsNullOrWhiteSpace(param.CardPwd)) { throw new Exception("卡密码不能为空!!!"); } var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd); if (loginData != 1) { throw new Exception("医保登陆失败!!!"); } //居民职工 if (param.InsuranceType == 0) { var readCardData = MedicalInsuranceDll.ReadCardInfo_cxjb("1", param.CardPwd); if (readCardData != 1) { throw new Exception("读卡失败!!!"); } userData = XmlHelp.DeSerializerModel(new Model.Dto.GetResidentUserInfoDto(), true); //数据日志存入 param.CardPwd = "******"; Logs.LogWriteData(new LogWriteDataParam() { JoinJson = JsonConvert.SerializeObject(param), ReturnJson = JsonConvert.SerializeObject(userData), OperatorId = baseParam.OperatorId }); if (userData.ReturnState == "1") { resultData.Data = JsonConvert.SerializeObject(userData); } else { throw new Exception(userData.Msg); } } } catch (Exception e) { resultData.Success = false; resultData.Message = e.Message; Logs.LogWrite(new LogParam() { Msg = e.Message, OperatorCode = baseParam.OperatorId, Params = Logs.ToJson(param), ResultData = Logs.ToJson(userData) }); } return(resultData); }