/// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
        /// <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);
        }
Esempio n. 12
0
        /// <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);
        }
Esempio n. 13
0
        /// <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);
        }
Esempio n. 14
0
        /// <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);
        }
Esempio n. 15
0
        /// <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);
        }
Esempio n. 16
0
        /// <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);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        /// <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);
        }
Esempio n. 19
0
        /// <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);
        }
Esempio n. 20
0
        /// <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);
        }
Esempio n. 21
0
        /// <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);
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        /// <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);
        }
Esempio n. 24
0
        /// <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);
        }
Esempio n. 25
0
        /// <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);
        }
Esempio n. 26
0
        /// <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);
        }
Esempio n. 27
0
        /// <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;
        }
Esempio n. 28
0
        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)
            {
            }
        }
Esempio n. 29
0
        /// <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);
        }
Esempio n. 30
0
        /// <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);
        }