/// <summary> /// 1.9.13 门诊结算 /// </summary> /// <param name="HosItemCode"></param> /// <returns></returns> public static MenZhenJieSuanOutModel 门诊结算(MenZhenJieSuanModel model) { StringBuilder SbxmlConten = new StringBuilder(); SbxmlConten.Append(XMLHelper.XmlHeader); SbxmlConten.Append("<input>"); SbxmlConten.Append(XMLHelper.DicConvertToXmlNode(YinHaiHelper.ConvertModelToDic(model))); SbxmlConten.Append("<dataset>"); for (int i = 0; i < model.Items.Count; i++) { SbxmlConten.Append("<row>"); SbxmlConten.Append(XMLHelper.DicConvertToXmlNode(YinHaiHelper.ConvertModelToDic(model.Items[i]))); SbxmlConten.Append("</row>"); } SbxmlConten.Append("</dataset>"); SbxmlConten.Append("</input>"); DealModel deal = new DealModel("48", SbxmlConten.ToString()); deal.CallName = "门诊结算"; deal.CallDeal(); deal.SetXpathTypeTop(); deal.CreateResultModel(new MenZhenJieSuanOutModel()); return((MenZhenJieSuanOutModel)deal.ReslutModel); }
/// <summary> /// 获取医保中心日期 /// </summary> /// <returns></returns> public static bool GetYBCenterDate(out DateTime dateTime, out string msg) { dateTime = DateTime.MinValue; DealModel deal = new DealModel("52"); deal.CallName = "获取医保中心时间"; deal.CallDeal(); msg = deal.Msg; if (deal.IsYanHaiSuccess) { Dictionary <string, string> dicAll = XMLHelper.GetDicFromXML(deal.astr_jysc_xml, DealModel.xPathSubRow); if (dicAll.TryGetValue("prm_sysdate", out string value)) { if (DateTime.TryParse(value, out dateTime)) { return(true); } else { msg = "格式转换失败"; } } } return(false); }
/// <summary> /// 交易主函数,完成所有医疗业务的实际处理(可能存在用户交互界面) /// </summary> /// <param name="dealModel"></param> public static void CallDeal(this DealModel dealModel) { string xmlFileName = FileHelper.GetDatetimeFileName() + ".xml"; LogHelper.AddLogMsg("交易编号" + dealModel.astr_jybh + " : 交易输入XML文件" + xmlFileName); LogHelper.LogInputXml(xmlFileName, dealModel.astr_jysr_xml); if (!YBYinHaiBLL.IsMock) { try { yh_interface_call(dealModel.astr_jybh, dealModel.astr_jysr_xml, ref dealModel.astr_jylsh, ref dealModel.astr_jyyzm, ref dealModel.astr_jysc_xml, ref dealModel.along_appcode, ref dealModel.Msg); } catch (Exception ex) { dealModel.along_appcode = -1; dealModel.Msg = "YinHaiCall Exception :" + ex.Message; } } else { dealModel.astr_jysc_xml = TestHelper.GetTestFile(dealModel.astr_jybh); dealModel.along_appcode = 1; } FileHelper.SaveDealModeltoJsonFile(dealModel); }
/// <summary> /// 创建一个交易 /// </summary> /// <param name="_dealNo"></param> /// <param name="_InputXml"></param> /// <returns></returns> public static DealModel CreateDealModelByXMl(string _dealNo, string _InputXml) { DealModel deal = new DealModel(); deal.astr_jybh = _dealNo; deal.astr_jysr_xml = _InputXml; return(deal); }
/// <summary> /// 1.9.12 修改密码 /// </summary> /// <param name="HosItemCode"></param> /// <returns></returns> public static YinHaiModelBase 修改密码() { DealModel deal = new DealModel("02"); deal.CallDeal(); deal.CallName = "修改密码"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
/// <summary> /// 清算申请查询 /// </summary> /// <param name="qingsuanNo"></param> /// <returns></returns> public static QingsuanShenqingQueryOutModel 清算申请查询(string qingsuanNo) { DealModel deal = new DealModel("74a", "prm_yae366", qingsuanNo); deal.CallDeal(); deal.CallName = "清算申请查询"; deal.CreateResultModel(new QingsuanShenqingQueryOutModel()); return((QingsuanShenqingQueryOutModel)deal.ReslutModel); }
/// <summary> /// §1.9.4. 编码对照信息获取 /// </summary> /// <returns></returns> public static CodeInfoModel Get编码对照信息() { DealModel deal = new DealModel("57"); deal.CallName = "获取编码对照信息"; deal.CallDeal(); deal.CreateResultModel(new CodeInfoModel()); return((CodeInfoModel)deal.ReslutModel); }
public static UncertaintytradeModel yh_Getuncertaintytrade(string callno) { DealModel dealModel = new DealModel(); dealModel.astr_jybh = callno; dealModel.Getuncertaintytrade(); dealModel.CallName = "yh_Getuncertaintytrade"; dealModel.CreateResultModel(new UncertaintytradeModel()); return((UncertaintytradeModel)dealModel.ReslutModel); }
public static HospitalInfoModel Get医院信息() { DealModel deal = new DealModel("04"); deal.CallName = "获取医院信息"; deal.CallDeal(); deal.SetXpathTypeTop(); deal.CreateResultModel(new HospitalInfoModel()); return((HospitalInfoModel)deal.ReslutModel); }
/// <summary> /// 结算回退 /// </summary> /// <param name="model"></param> /// <returns></returns> public static YinHaiModelBase 结算回退(JieSuanBackModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("42", dicArray); deal.CallDeal(); deal.CallName = "结算回退"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
/// <summary> /// 待遇审批信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static DaiYuShenpiOutModel 待遇审批信息(DaiYuShenPiModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("51", dicArray); deal.CallDeal(); deal.CallName = "待遇审批信息"; deal.CreateResultModel(new DaiYuShenpiOutModel()); return((DaiYuShenpiOutModel)deal.ReslutModel); }
/// <summary> /// 1.9.11 身份识别 /// </summary> /// <returns></returns> public static UserIdentityModel 身份识别() { DealModel deal = new DealModel("03"); deal.CallDeal(); deal.CallName = "身份识别"; deal.SetXpathTypeTop(); deal.CreateResultModel(new UserIdentityModel()); return((UserIdentityModel)deal.ReslutModel); }
/// <summary> /// 入院办理信息修改 /// </summary> public static YinHaiModelBase 入院办理信息修改(ChargeUserInfo model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("23", dicArray); deal.CallDeal(); deal.CallName = "入院办理信息修改"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
/// <summary> /// §1.9.42. 清算申请单打印 /// </summary> /// <param name="model"></param> /// <returns></returns> public static YinHaiModelBase 清算申请单打印(QingsuanShenQingPrintModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("75", dicArray); deal.CallDeal(); deal.CallName = "清算申请单打印"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
/// <summary> /// 银海接口,取消交易 /// </summary> /// <param name="callno"></param> /// <param name="callcode"></param> /// <returns></returns> public static YinHaiModelBase yh_Cancel(string callno, string callcode) { DealModel dealModel = new DealModel(); dealModel.astr_jylsh = callno; dealModel.astr_jyyzm = callcode; dealModel.CancelDeal(); dealModel.CallName = "yh_Cancel"; dealModel.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)dealModel.ReslutModel); }
/// <summary> /// §1.9.10. 删除上传目录 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static YinHaiModelBase Delete删除上传目录(string HosItemCode) { Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("prm_xmbm", HosItemCode); DealModel deal = new DealModel("T04", dic); deal.CallDeal(); deal.CallName = "删除上传目录"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
public static YinHaiModelBase Set目录上传单个(CategoryUploadModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("T01", dicArray); deal.CallDeal(); deal.CallName = "目录上传"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
/// <summary> /// 入院办理回退??未完成 /// </summary> public static YinHaiModelBase 住院费用明细写入(InHospitalInfoModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("31", dicArray); deal.CallDeal(); deal.CallName = "入院办理回退"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
/// <summary> /// 清算申请 /// </summary> /// <param name="model"></param> /// <returns></returns> public static YinHaiModelBase 清算申请(QingsuanShenqingModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); DealModel deal = new DealModel("71", dicArray); deal.CallDeal(); deal.SetXpathTypeTop(); deal.CallName = "申请结算"; deal.CreateResultModel(new QingsuanShenqingOutModel()); return((QingsuanShenqingOutModel)deal.ReslutModel); }
/// <summary> /// Get医院开通支付类别 /// </summary> /// <returns></returns> public static PayTypeModel Get医院开通支付类别(string centerCode, string zhengce) { //< prm_yab003 > 分中心编码 </ prm_yab003 > //< prm_ykb065 > 执行的社保政策 </ prm_ykb065 > Dictionary <string, string> dic = GetDic("prm_yab003", centerCode, "prm_ykb065", zhengce); DealModel deal = new DealModel("05a", dic); deal.CallName = "获取医院开通支付类别"; deal.CallDeal(); deal.CreateResultModel(new PayTypeModel()); return((PayTypeModel)deal.ReslutModel); }
/// <summary> /// 门诊特殊病申请 /// </summary> /// <param name="model"></param> /// <returns></returns> public static YinHaiModelBase 门诊特殊病申请(string name) { //< prm_ykc141 > 经办人姓名 </ prm_ykc141 > Dictionary <string, string> dicArray = new Dictionary <string, string> (); dicArray.Add("prm_ykc141", name); DealModel deal = new DealModel("58", dicArray); deal.CallDeal(); deal.CallName = "门诊特殊病申请"; deal.CreateResultModel(new YinHaiModelBase()); return((YinHaiModelBase)deal.ReslutModel); }
public static bool GetCommonString(string _dealNo, Dictionary <string, string> inputDic, out string result, out string msg) { result = ""; DealModel deal = new DealModel(_dealNo, inputDic); deal.CallDeal(); msg = deal.Msg; if (deal.IsYanHaiSuccess) { result = deal.GetJsonResult(); return(true); } return(false); }
/// <summary> /// §1.9.9. 查询上传目录 /// </summary> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public static QueryUploadCategoryModel Query查询上传目录(string dateTime) { string filePath = FileHelper.GetRandomFilePath("查询上传目录"); Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("prm_outputfile", filePath); dic.Add("prm_sqsj", dateTime); DealModel deal = new DealModel("T02", dic); deal.OutputFilePath = filePath; deal.CallDeal(); deal.CallName = "查询上传目录"; deal.CreateResultModel(new QueryUploadCategoryModel()); return((QueryUploadCategoryModel)deal.ReslutModel); }
/// <summary> /// §1.9.7. 中心ICD10数据下载 /// </summary> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public static CenterICD10DataModel Get中心ICD10数据下载() { string filePath = FileHelper.GetRandomFilePath("中心ICD10数据下载"); Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("prm_outputfile", filePath); DealModel deal = new DealModel("61", dic); deal.CallName = "中心ICD10数据下载"; deal.OutputFilePath = filePath; deal.CallDeal(); deal.CreateResultModel(new CenterICD10DataModel()); return((CenterICD10DataModel)deal.ReslutModel); }
/// <summary> /// §1.9.5. 获取中心医保标准目录 /// </summary> /// <param name="date"></param> /// <returns></returns> public static YibaoStandCategoryModel Get中心医保标准目录(string date) { //< prm_yae036 > 变更时间 </ prm_yae036 > //< prm_outputfile > 输出文件绝对路径和文件名 </ prm_outputfile > string filePath = FileHelper.GetRandomFilePath("医保中心标准目录"); Dictionary <string, string> dic = GetDic("prm_yae036", date, "prm_outputfile", filePath); DealModel deal = new DealModel("91", dic); deal.OutputFilePath = filePath; deal.CallName = "获取中心医保标准目录"; deal.CallDeal(); deal.CreateResultModel(new YibaoStandCategoryModel()); return((YibaoStandCategoryModel)deal.ReslutModel); }
/// <summary> /// §1.9.6. 获取中心目录变更日志 /// </summary> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public static CenterChangeLogModel Get中心目录变更日志(string startDate, string endDate) { string filePath = FileHelper.GetRandomFilePath("中心目录变更日志"); Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("prm_begindate", startDate); dic.Add("prm_enddate", endDate); dic.Add("prm_outputfile", filePath); DealModel deal = new DealModel("RZ01", dic); deal.CallName = "获取中心目录变更日志"; deal.OutputFilePath = filePath; deal.CallDeal(); deal.CreateResultModel(new CenterChangeLogModel()); return((CenterChangeLogModel)deal.ReslutModel); }
/// <summary> /// 银海调用后生成结果 Result Model /// </summary> /// <param name="obj"></param> /// <param name="dic"></param> public static void CreateResultModel(this DealModel dealModel, YinHaiModelBase ResultModel = null) { //dynamic obj = ResultType.Assembly.CreateInstance(ResultType.Name); if (ResultModel != null) { dealModel.ReslutModel = ResultModel; } if (dealModel.ReslutModel == null) { dealModel.ReslutModel = new YinHaiModelBase(); } dealModel.ReslutModel.status = dealModel.IsYanHaiSuccess; dealModel.ReslutModel.msg = dealModel.Msg; //如果银行的接口没有成功,直接return if (!dealModel.IsYanHaiSuccess) { return; } //调用Call返回交易编号等 dealModel.ReslutModel.callcode = dealModel.astr_jyyzm; dealModel.ReslutModel.callno = dealModel.astr_jylsh; if (dealModel.ReslutModel.GetType().Name == "YinHaiModelBase") { return; } //判断从文件获取还是从返回结果获取 if (string.IsNullOrWhiteSpace(dealModel.OutputFilePath)) { ParseXMLToModel(dealModel); } else { ParseFileToModel(dealModel); } dealModel.ReslutModel.msg = dealModel.Msg; }
public static void SaveDealModeltoJsonFile(DealModel model) { try { if (YBYinHaiBLL.NeedLog) { if (!Directory.Exists(DebugDirName)) { Directory.CreateDirectory(DebugDirName); } string fileName = model.CallName + model.astr_jybh + "-" + GetDatetimeFileName() + ".json"; string jsonValue = Newtonsoft.Json.JsonConvert.SerializeObject(model); StreamWriter sw = File.CreateText(DebugDirName + "\\" + fileName); sw.WriteLine(jsonValue); sw.Close(); } } catch (Exception) { } }
/// <summary> /// §1.9.37. 结算、退费信息查询(含门诊和住院)( /// </summary> /// <param name="date"></param> /// <returns></returns> public static CheckFeeQueryModel 结算_退费信息查询(string startDate, string endDate) { //< prm_begindate > 开始日期 </ prm_begindate > //< prm_enddate > 结束日期 </ prm_enddate > //< prm_outputfile > 输出文件绝对路径和文件名 </ prm_outputfile > string filePath = FileHelper.GetRandomFilePath("结算_退费信息查询"); Dictionary <string, string> dic = new Dictionary <string, string> (); dic.Add("prm_begindate", startDate); dic.Add("prm_enddate", endDate); dic.Add("prm_outputfile", filePath); DealModel deal = new DealModel("46A", dic); deal.OutputFilePath = filePath; deal.CallName = "结算_退费信息查询"; deal.CallDeal(); deal.CreateResultModel(new CheckFeeQueryModel()); return((CheckFeeQueryModel)deal.ReslutModel); }
/// <summary> /// 入院办理 /// </summary> /// <param name="model"></param> /// <returns></returns> public static InHospitalOutModel 入院办理(InHospitalModel model) { Dictionary <string, string> dicArray = YinHaiHelper.ConvertModelToDic(model); //Prm_ykc292和Prm_ykc296且不能同时存在 RemoveDicNull(dicArray, "prm_ykc292"); RemoveDicNull(dicArray, "prm_ykc296"); if (dicArray.ContainsKey("prm_ykc292") || dicArray.ContainsKey("prm_ykc296")) { return(new InHospitalOutModel() { status = false, msg = "系统要求 居民普通住院病种(prm_ykc296) 和 分娩类型(prm_ykc292) 不能同时存在" }); } DealModel deal = new DealModel("21", dicArray); deal.CallDeal(); deal.CallName = "入院办理"; deal.CreateResultModel(new InHospitalOutModel()); return((InHospitalOutModel)deal.ReslutModel); }