예제 #1
0
        /// <summary>
        /// 刷新上传费用
        /// </summary>
        public void BrushUploadFee()
        {
            if (zy_PatList != null)
            {
                ZY_PresOrder zypo = new ZY_PresOrder();
                zypo.PatListID = zy_PatList.PatListID;
                dt1            = zypo.GetPresDataTableOld();

                dt2 = null;
                if (zy_PatList.patientInfo.ACCOUNTTYPE.Trim() == "农合")
                {
                    if (zy_PatList.patientInfo.MediCard != null && zy_PatList.patientInfo.MediCard != "")
                    {
                        IzyInterface nccmInterface = NccmFactory.Create();
                        if (nccmInterface != null)
                        {
                            nccmInterface.zyPatlist = zy_PatList;
                            dt2 = nccmInterface.DownloadzyPatFee(null);
                        }
                    }
                }
                view.dgvHisFee  = dt1;
                view.dgvNccmFee = dt2;
            }
        }
예제 #2
0
 /// <summary>
 /// 农合病人入院
 /// </summary>
 /// <param name="zypatlist"></param>
 private void NccmPatRegister()
 {
     try
     {
         if (zyPatlist.patientInfo.ACCOUNTTYPE.Trim() == "农合")
         {
             if (zyPatlist.patientInfo.MediCard != null && zyPatlist.patientInfo.MediCard != "")
             {
                 //调用农合接口:入院
                 IzyInterface nccmInterface = NccmFactory.Create();
                 if (nccmInterface != null)
                 {
                     //nccmInterface.GetPatientInfo(HIS.ZY_BLL.SearchNccmPatType.医疗卡号, zypatlist.PatientInfo.MediCard);
                     zyPatlist.Nccm_NO       = zyNccmInterface.GetNccmNo();
                     nccmInterface.zyPatlist = zyPatlist;
                     nccmInterface.Register(null);
                 }
             }
             else
             {
                 throw new Exception("农合入院请输入医疗证号!");
             }
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message + "\n\n农合病人入院调用[农合接口]失败!");
     }
 }
예제 #3
0
        /// <summary>
        /// 取消结算
        /// </summary>
        public void NccmCheck_CanelCostPat()
        {
            try
            {
                if (zyPatlist.patientInfo.ACCOUNTTYPE.Trim() == "农合")
                {
                    if (zyPatlist.patientInfo.MediCard != null && zyPatlist.patientInfo.MediCard.Trim() != "")
                    {
                        //调用农合接口取消入院
                        IzyInterface nccmInterface = NccmFactory.Create();
                        if (nccmInterface != null)
                        {
                            nccmInterface.zyPatlist = zyPatlist;

                            Hashtable hashtable = new Hashtable();
                            hashtable.Add("Nccm_NO", Nccm_NO);
                            nccmInterface.CancelCharge(hashtable);
                        }
                    }
                }
            }
            catch (Exception err)
            {
                throw new Exception(err.Message + "\n\n农合取消结算失败!");
            }
        }
예제 #4
0
        //农合预算
        public void PreviewCharge()
        {
            try
            {
                //加载农合病人信息,为农合病人做准备
                if (zyPatlist.patientInfo.ACCOUNTTYPE.Trim() == "农合")
                {
                    if (zyPatlist.patientInfo.MediCard != null && zyPatlist.patientInfo.MediCard.Trim() != "")
                    {
                        IzyInterface nccmInterface = NccmFactory.Create();
                        if (nccmInterface != null)
                        {
                            nccmInterface.zyPatlist = zyPatlist;
                            //找出所有待上传的费用记录
                            ZY_PresOrder zypo = new ZY_PresOrder();
                            zypo.PatListID = zyPatlist.PatListID;
                            DataTable dt = zypo.GetPresDataTable();

                            Hashtable hashtable = new Hashtable();
                            hashtable.Add("FeeDetail", zyNccmInterface.ConvertFeeDetail(dt));
                            hashtable.Add("midWay", Ntype.ToString());

                            decimal _villageFee = nccmInterface.PreviewCharge(hashtable);
                            //Op_PatFee.SetvillageFee(ref patFee, villageFee);
                            villageFee = _villageFee;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                villageFee = 0;
                throw new Exception(e.Message);
            }
        }
예제 #5
0
        //记账、冲账农合费用上传
        private void Nccm_UploadFee()
        {
            try
            {
                if (zyPatlist.patientInfo.ACCOUNTTYPE.Trim() == "农合")
                {
                    if (zyPatlist.patientInfo.MediCard != null && zyPatlist.patientInfo.MediCard.Trim() != "")
                    {
                        IzyInterface nccmInterface = NccmFactory.Create();
                        if (nccmInterface != null)
                        {
                            nccmInterface.zyPatlist = zyPatlist;
                            //找出所有待上传的费用记录
                            ZY_PresOrder zypo = new ZY_PresOrder();
                            zypo.PatListID = zyPatlist.PatListID;
                            DataTable dt = zypo.GetPresDataTable();

                            Hashtable hashtable = new Hashtable();
                            hashtable.Add("FeeDetail", zyNccmInterface.ConvertFeeDetail(dt));
                            nccmInterface.UploadzyPatFee(hashtable);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message + "\n\n农合费用上传失败!");
            }
        }
예제 #6
0
        public PatPresOrderUpload(HIS.SYSTEM.DatabaseAccessLayer.RelationalDatabase _OleDb)
        {
            _oleDb = _OleDb;

            ipatdao       = DaoFactory.GetObject <IpatDao>(typeof(PatDao));
            ipatdao.oleDb = oleDb;
            zy_sys        = zyFactory.Create("CxHn");
            hosdata       = zy_sys.HospitalInfo;
        }
예제 #7
0
        public PatPresOrderUpload()
        {
            _oleDb = BaseBLL.oleDb;

            ipatdao       = DaoFactory.GetObject <IpatDao>(typeof(PatDao));
            ipatdao.oleDb = oleDb;
            zy_sys        = zyFactory.Create("CxHn");
            hosdata       = zy_sys.HospitalInfo;
        }
예제 #8
0
        /// <summary>
        /// 农合病人修改
        /// </summary>
        private void NccmPatAlter()
        {
            try
            {
                //病人类型自费转农合(调入院接口和费用上传接口)
                if (zyPatlist.patientInfo.ACCOUNTTYPE == "农合")
                {
                    if (zyPatlist.Nccm_NO == null || zyPatlist.Nccm_NO == "")
                    {
                        NccmPatRegister();
                        //农合记账

                        IzyInterface nccmInterface = NccmFactory.Create();
                        if (nccmInterface != null)
                        {
                            nccmInterface.zyPatlist = zyPatlist;
                            ZY_PresOrder zypo = new ZY_PresOrder();
                            zypo.PatListID = zyPatlist.PatListID;
                            DataTable dt        = zypo.GetPresDataTable();
                            Hashtable hashtable = new Hashtable();
                            hashtable.Add("FeeDetail", zyNccmInterface.ConvertFeeDetail(dt));
                            nccmInterface.UploadzyPatFee(hashtable);
                        }
                    }
                }

                //病人类型农合转自费(调取消入院接口)
                if (zyPatlist.patientInfo.ACCOUNTTYPE != "农合")
                {
                    if (zyPatlist.Nccm_NO != null && zyPatlist.Nccm_NO != "")
                    {
                        NccmPatCancel();
                        zyPatlist.Nccm_NO = "";
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message + "\n\n农合病人修改调用[农合接口]失败!");
            }
        }
예제 #9
0
        /// <summary>
        /// 创建农合接口对象
        /// </summary>
        /// <returns></returns>
        public static IzyInterface Create(string type)
        {
            try
            {
                IzyInterface izyInter = null;
                switch (type)
                {
                case "Nccm":
                    //izyInter = new zyNccmInterface();
                    break;

                case "CxHn":
                    izyInter = new zyCxNhInterface();
                    break;
                }
                return(izyInter);
            }
            catch
            {
                throw new Exception("接口调用失败!");
            }
        }
예제 #10
0
 /// <summary>
 /// 农合病人取消入院
 /// </summary>
 /// <param name="zypatlist"></param>
 private void NccmPatCancel()
 {
     try
     {
         if (zyPatlist.patientInfo.ACCOUNTTYPE.Trim() == "农合")
         {
             if (zyPatlist.patientInfo.MediCard != null && zyPatlist.patientInfo.MediCard != "")
             {
                 //调用农合接口取消入院
                 IzyInterface nccmInterface = NccmFactory.Create();
                 if (nccmInterface != null)
                 {
                     nccmInterface.zyPatlist = zyPatlist;
                     nccmInterface.CancelRegister(null);
                 }
             }
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message + "\n\n农合病人取消入院调用[农合接口]失败!");
     }
 }
예제 #11
0
        private void _SinglePatUpdate()
        {
            try
            {
                ZY_PresOrder zypo = new ZY_PresOrder();
                zypo.PatListID = zy_PatList.PatListID;

                if (zy_PatList == null)
                {
                    view.rtbMessage = "没有指定病人!\n";
                    BackUpdateType();
                    return;
                }

                //加载农合病人信息,为农合病人做准备
                view.rtbMessage = "正在上传[" + zy_PatList.patientInfo.PatName + "]数据!\n";
                if (zy_PatList.patientInfo.MediCard != null && zy_PatList.patientInfo.MediCard.Trim() != "")
                {
                    //第一步:实例化接口对象
                    nccmInterface = NccmFactory.Create();
                    if (nccmInterface == null)
                    {
                        view.rtbMessage = "没有开启上传接口!\n";
                    }
                    else
                    {
                        //第二步:病人信息赋值
                        nccmInterface.zyPatlist = zy_PatList;
                        view.rtbMessage         = "根据[" + zy_PatList.patientInfo.PatName + "]医疗证号获取病人信息!\n";
                        //第三步:根据医疗证号获取最新的农合病人信息

                        view.rtbMessage = "获取[" + zy_PatList.patientInfo.PatName + "]病人信息成功!\n";
                        //第四步:提取病人上传的费用信息
                        DataTable dt = zypo.GetPresDataTable();
                        view.rtbMessage = "提取[" + zy_PatList.patientInfo.PatName + "]病人费用成功!\n";
                        if (dt.Rows.Count > 0)
                        {
                            //第五步:更改所有费用为上传标志
                            //int[] presID = new int[dt.Rows.Count];
                            //for (int i = 0; i < dt.Rows.Count; i++)
                            //{
                            //    presID[i] = Convert.ToInt32(dt.Rows[i]["PRESORDERID"]);
                            //}
                            //HIS.ZY_BLL.OP_PresManage.UpdateComp(presID);
                            //第六步:调用费用上传接口(上传失败的费用会更改上传标识)

                            Hashtable hashtable = new Hashtable();
                            hashtable.Add("FeeDetail", zyNccmInterface.ConvertFeeDetail(dt));

                            nccmInterface.UploadzyPatFee(hashtable);
                            view.rtbMessage = "上传[" + zy_PatList.patientInfo.PatName + "]成功!\n";
                        }
                    }
                }
                else
                {
                    view.rtbMessage = "没有指定病人或此病人不是符合类型的病人!\n";
                }
            }
            catch
            {
                view.rtbMessage = "上传失败!\n";
            }
            BackUpdateType();
        }