///// <summary> ///// 职工划卡 ///// </summary> ///// <param name="param"></param> ///// <param name="baseParam"></param> ///// <returns></returns> //public ApiJsonResultData WorkersSettlement(WorkersSettlementParam param, HisBaseParam baseParam) //{ // //流水号 // var settlementNo = new byte[1024]; // //自付金额 // var selfPayment = new byte[1024]; // //账户支付 // var accountPayment = new byte[1024]; // //返回状态 // var resultState = new byte[1024]; // //消息 // var msg = new byte[1024]; // var resultData = new ApiJsonResultData {Success = true}; // Logs.LogWriteData(new LogWriteDataParam() // { // JoinJson = JsonConvert.SerializeObject(param), // ReturnJson = JsonConvert.SerializeObject(baseParam), // OperatorId = baseParam.OperatorId // }); // 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("卡密码不能为空!!!"); // if (string.IsNullOrWhiteSpace(param.Operator)) // throw new Exception("经办人不能为空!!!"); // if (param.AllAmount<=0) // throw new Exception("划卡金额必须大于0!!!"); // if (param.MedicalCategory <= 0) // throw new Exception("划卡类别!!!"); // var loginData = WorkersMedicalInsurance.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd); // if (loginData != 1) throw new Exception("医保登陆失败!!!"); // //var settlementData = WorkersMedicalInsurance.WorkersSettlement // //(1, // // param.CardPwd, // // param.AllAmount.ToString(), // // param.MedicalCategory.ToString(), // // param.Operator, // // settlementNo, // // accountPayment, // // selfPayment, // // resultState, // // msg // //); // //if (settlementData!=0) throw new Exception("职工划卡失败!!!"); // //if (CommonHelp.StrToTransCoding(resultState) != "1") throw new Exception(CommonHelp.StrToTransCoding(msg)); // //var data = new WorkersSettlementDto() // //{ // // SettlementNo = CommonHelp.StrToTransCoding(settlementNo), // // AccountPayment = Convert.ToDecimal(CommonHelp.StrToTransCoding(accountPayment)), // // SelfPayment = Convert.ToDecimal(CommonHelp.StrToTransCoding(selfPayment)), // //}; // var accountPaymentData = param.AllAmount > 0 ? Convert.ToDecimal(0.1) : 0; // //resultData.Data = JsonConvert.SerializeObject(data); // ////数据日志存入 // //param.CardPwd = "******"; // //Logs.LogWriteData(new LogWriteDataParam() // //{ // // JoinJson = JsonConvert.SerializeObject(param), // // ReturnJson = JsonConvert.SerializeObject(data), // // OperatorId = baseParam.OperatorId // //}); // } // catch (Exception e) // { // resultData.Success = false; // resultData.Message = e.Message; // Logs.LogWrite(new LogParam() // { // Msg = e.Message, // OperatorCode = baseParam.OperatorId, // Params = Logs.ToJson(param), // }); // } // return resultData; //} private ResidentUserInfoDto UserInfoToDto(ResidentUserInfoJsonDto param) { var resultData = new ResidentUserInfoDto() { WorkersInsuranceBalance = param.WorkersInsuranceBalance, ResidentInsuranceBalance = param.ResidentInsuranceBalance, AdministrativeArea = param.AdministrativeArea, Age = param.Age, Birthday = param.Birthday, CommunityName = param.CommunityName, ContactAddress = param.ContactAddress, ContactPhone = param.ContactPhone, IdCardNo = param.IdCardNo, InsuranceType = param.InsuranceType, InsuredState = param.InsuredState, MentorBalance = param.MentorBalance, OverallPaymentBalance = param.OverallPaymentBalance, ReturnState = param.ReturnState, Msg = param.Msg, PatientName = param.PatientName, PatientSex = param.PatientSex, PersonalCoding = param.PersonalCoding, PersonnelClassification = param.PersonnelClassification, PoorMark = param.PoorMark, PreferentialTreatmentType = param.PreferentialTreatmentType, ReimbursementStatus = param.ReimbursementStatus, ReimbursementStatusExplain = param.ReimbursementStatusExplain, RescueType = param.RescueType, SpecialPeopleCognizancePlace = param.SpecialPeopleCognizancePlace }; return(resultData); }
/// <summary> /// /// </summary> /// <param name="param"></param> /// <param name="baseParam"></param> /// <returns></returns> public ResidentUserInfoJsonDto GetUserInfoEntity(string param, HisBaseParam baseParam) { var data = new ResidentUserInfoJsonDto(); try {// var userInfoParam = new ResidentUserInfoParam() { AfferentSign = baseParam.AfferentSign, IdentityMark = baseParam.IdentityMark }; Logs.LogWrite(new LogParam() { Params = JsonConvert.SerializeObject(userInfoParam), Msg = JsonConvert.SerializeObject(baseParam) }); var xmlStr = XmlHelp.SaveXmlEntity(userInfoParam); if (!xmlStr) { throw new Exception("获取个人基础资料保存参数出错"); } var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd); if (loginData != 1) { throw new Exception("医保登陆失败!!!"); } int result = MedicalInsuranceDll.CallService_cxjb("CXJB001"); if (result == 1) { data = XmlHelp.DeSerializerModel(new ResidentUserInfoJsonDto(), true); if (data.ReturnState == "1") { Logs.LogWriteData(new LogWriteDataParam() { JoinJson = JsonConvert.SerializeObject(param), ReturnJson = JsonConvert.SerializeObject(data), OperatorId = baseParam.OperatorId }); } else { throw new Exception(data.Msg); } } } catch (Exception e) { Logs.LogWrite(new LogParam() { Msg = e.Message + "error:" + e.StackTrace, OperatorCode = baseParam.OperatorId, Params = Logs.ToJson(param), ResultData = Logs.ToJson(data) }); } MedicalInsuranceDll.DisConnectAppServer_cxjb("CXJB001"); return(data); }
/// <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="controlParam"></param> /// <param name="inputParam"></param> /// <param name="operatorId"></param> /// <returns></returns> public ApiJsonResultData GetUserInfo(string controlParam, string inputParam, string operatorId) { var resultData = new ApiJsonResultData { Success = true }; var data = new ResidentUserInfoJsonDto(); string xmlStr = @"<?xml version='1.0' encoding='GBK' standalone='yes'?> <output> <aac001>010025489</aac001> <aac002>510103196510030982</aac002> <aac003>李蓉</aac003> <aac004>2</aac004> <aac006>1965-10-03 00:00:00</aac006> <akc023>54</akc023> <akc021>02</akc021> <ykc117></ykc117> <grzhye> <row> <ykc303>城乡居民基本医疗帐户</ykc303> <ykc194>0.00</ykc194> </row> </grzhye> <yab003>0003</yab003> <aae013></aae013> <aab001>51010600100100</aab001> <aab004>金牛-荷花池辖区街道办事处-荷花社区</aab004> <ydbz></ydbz> <gsdataset> <yke109></yke109> <alc022></alc022> <aka130></aka130> </gsdataset> </output>"; var iniParam = new DealModel() { TransactionNumber = "03", TransactionControlXml = XmlHelp.YinHaiXmlSerialize(new UserInfoControlXmlDto() { edition = "3" }), TransactionInputXml = XmlHelp.YinHaiXmlSerialize(new UserInfoDataXmlDto()), }; try { Logs.LogWrite(new LogParam() { Params = controlParam, ResultData = inputParam, OperatorCode = operatorId }); YinHaiCOM.CallDeal(iniParam); //iniParam.TransactionOutputXml = xmlStr; //iniParam.along_appcode = 1; if (iniParam.along_appcode < 0) { throw new Exception("yiHai" + iniParam.Msg); } if (string.IsNullOrWhiteSpace(iniParam.TransactionOutputXml)) { throw new Exception("yiHai医保执行获取个人信息为空"); } var userData = XmlHelp.YiHaiDeSerializerModelJson(new GetUserInfoJsonDto(), iniParam.TransactionOutputXml); var userEntity = GetUserInfoEntity(userData); resultData.Data = JsonConvert.SerializeObject(userEntity); Logs.LogWriteData(new LogWriteDataParam { JoinJson = "", ReturnJson = JsonConvert.SerializeObject(iniParam), OperatorId = operatorId }); } catch (Exception e) { resultData.Success = false; resultData.Message = e.Message; Logs.LogErrorWrite(new LogParam() { Msg = e.Message + "error:" + e.StackTrace, OperatorCode = operatorId, ResultData = JsonConvert.SerializeObject(iniParam) }); } return(resultData); }