Пример #1
0
 public int GetCurrentRegisterType(XmlDocument docRequestPre, out string outParm)
 {
     outParm = "";
     try
     {
         using (OracleConnection dbCon = OracleConnect.Connect())
         {
             OracleTransaction dbTran = dbCon.BeginTransaction();
             CreateDBTransaction(dbCon, dbTran);
             try
             {
                 NjpkSelfServiceDal serviceDal = new NjpkSelfServiceDal();
                 if (serviceDal.GetCurrentRegisterType(docRequestPre, out outParm) < 0)
                 {
                     dbTran.Rollback();
                 }
                 else
                 {
                     dbTran.Commit();
                 }
             }
             catch (Exception ex)
             {
                 dbTran.Rollback();
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         return(-1);
     }
     return(0);
 }
Пример #2
0
        /// <summary>
        /// A003 补偿类别字典下载redeemTypeDownLoad
        /// </summary>
        /// <param name="rateType"></param>
        /// <returns></returns>
        public virtual string redeemTypeDownLoad(string rateType)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    BasicInformationDAL basicInfoDAL = new BasicInformationDAL();
                    if (basicInfoDAL.redeemTypeDownLoad(rateType, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    throw ex;
                }
            }
            return("success:" + outParm);
        }
Пример #3
0
 public int SendLisBeforeSettle(XmlNode ndApplyItems, out string outParm)
 {
     outParm = "";
     try
     {
         using (OracleConnection dbCon = OracleConnect.Connect())
         {
             OracleTransaction dbTran = dbCon.BeginTransaction();
             CreateDBTransaction(dbCon, dbTran);
             try
             {
                 NjpkSelfServiceDal serviceDal = new NjpkSelfServiceDal();
                 if (serviceDal.SendLisBeforeSettle(ndApplyItems, out outParm) < 0)
                 {
                     dbTran.Rollback();
                 }
                 else
                 {
                     dbTran.Commit();
                 }
             }
             catch (Exception ex)
             {
                 dbTran.Rollback();
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         return(-1);
     }
     return(0);
 }
Пример #4
0
        /// <summary>
        /// A113 获取病人信息函数 getPersonInfo_New
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="outParm"></param>
        /// <returns></returns>
        public virtual string getPersonInfo_New(string rateType, string centerCode, string cardNo)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    BasicInformationDAL basicInfoDAL = new BasicInformationDAL();
                    if (basicInfoDAL.getPersonInfo_New(rateType, centerCode, cardNo, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    throw ex;
                }
            }
            return("success:" + outParm);
        }
Пример #5
0
        /// <summary>
        /// A102 药品匹配数据审核状态查询 matchSeek
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="outParm"></param>
        /// <returns></returns>
        public virtual string matchSeek(string rateType, string insurancePriceItemCode, string itemCode)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    BasicInformationDAL basicInfoDAL = new BasicInformationDAL();
                    if (basicInfoDAL.matchSeek(rateType, insurancePriceItemCode, itemCode, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    throw ex;
                }
            }
            return("success:" + outParm);
        }
Пример #6
0
        /// <summary>
        /// A008 转诊单信息查询 downloadReferralsheet
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="operateType"></param>
        /// <param name="turnCode"></param>
        /// <param name="safetyNo"></param>
        /// <returns></returns>
        public virtual string downloadReferralsheet(string rateType, string inoutType, string turnCode, string safetyNo)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    BasicInformationDAL basicInfoDAL = new BasicInformationDAL();
                    if (basicInfoDAL.downloadReferralsheet(rateType, inoutType, turnCode, safetyNo, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    throw ex;
                }
            }
            return("success:" + outParm);
        }
Пример #7
0
 public int getSchedueInfo(XmlDocument docRequestPre, out string outParm)
 {
     outParm = "";
     try
     {
         using (OracleConnection dbCon = OracleConnect.Connect())
         {
             OracleTransaction dbTran = dbCon.BeginTransaction();
             CreateDBTransaction(dbCon, dbTran);
             try
             {
                 NjpkSelfServiceDal serviceDal = new NjpkSelfServiceDal();
                 serviceDal.getSchedueInfo(docRequestPre, out outParm);
                 dbTran.Commit();
             }
             catch (Exception ex)
             {
                 dbTran.Rollback();
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         return(-1);
     }
     return(0);
 }
Пример #8
0
        /// <summary>
        ///  B003 取消住院登记(扩展函数)cancelInpatientRegister
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="insuranceNo"></param>
        /// <returns></returns>
        public virtual string cancelInpatientRegister(string rateType, string centerCodeEx, string insuranceNo)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    RuralResiDAL ruralResiDal = new RuralResiDAL();
                    if (ruralResiDal.cancelInpatientRegister(rateType, centerCodeEx, insuranceNo, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    return("error:" + ex.Message);
                }
            }
            return("success:" + outParm);
        }
Пример #9
0
 /// <summary>
 /// 2113 通过身份证号, 获取病人的就诊卡信息
 /// </summary>
 /// <param name="docRequestPre"></param>
 /// <param name="outParm"></param>
 /// <returns></returns>
 public int GetSickCardByIdCard2113(XmlDocument docRequestPre, out string outParm)
 {
     outParm = "";
     try
     {
         using (OracleConnection dbCon = OracleConnect.Connect())
         {
             OracleTransaction dbTran = dbCon.BeginTransaction();
             CreateDBTransaction(dbCon, dbTran);
             try
             {
                 PreXuanchengCityDal ruralResiDal = new PreXuanchengCityDal();
                 ruralResiDal.GetSickCardByIdCard2113(docRequestPre, out outParm);
                 dbTran.Commit();
             }
             catch (Exception ex)
             {
                 dbTran.Rollback();
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         UtilityDAL  initXmlDoc  = new UtilityDAL();
         XmlDocument docResponse = initXmlDoc.GetResponseXmlDoc();
         XmlNode     ndResponse  = docResponse.SelectSingleNode("Response");
         ndResponse.SelectSingleNode("TradeCode").InnerText     = "2108";
         ndResponse.SelectSingleNode("ResultCode").InnerText    = "0004";
         ndResponse.SelectSingleNode("ResultContent").InnerText = ex.Message;
         outParm = docResponse.OuterXml;
         return(-1);
     }
     return(0);
 }
Пример #10
0
        /// <summary>
        /// B012 住院兑付(扩展函数)inpatientPay
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="insuranceNo"></param>
        /// <param name="redeemNo"></param>
        /// <param name="phoneNo"></param>
        /// <returns></returns>
        public virtual string inpatientPay(string rateType, string centerCodeEx, string insuranceNo, string redeemNo, string phoneNo,
                                           string obligateOne, string obligateTwo, string obligateThree,
                                           string obligateFour, string obligateFive)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    RuralResiDAL ruralResiDal = new RuralResiDAL();
                    if (ruralResiDal.inpatientPay(rateType, centerCodeEx, insuranceNo, redeemNo, phoneNo,
                                                  obligateOne, obligateTwo, obligateThree, obligateFour, obligateFive, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    return("error:" + ex.Message);
                }
            }
            return("success:" + outParm);
        }
Пример #11
0
        public virtual string inpatientUpdate(string rateType, string centerCodeEx, string insuranceNo, string residenceNo, string diagnosisCode, string diagnosisCode2, string treatCode, string admissionDept, string admissionTime, string registType, string admissionCondition, string doctor, string bedNo, string ward, string turnCode)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    RuralResiDAL ruralResiDal = new RuralResiDAL();
                    if (ruralResiDal.inpatientUpdate(rateType, centerCodeEx, insuranceNo, residenceNo, diagnosisCode,
                                                     diagnosisCode2, treatCode, admissionDept, admissionTime, registType,
                                                     admissionCondition, doctor, bedNo, ward, turnCode, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    return("error:" + ex.Message);
                }
            }
            return("success:" + outParm);
        }
Пример #12
0
        /// <summary>
        /// B007 住院批量费用明细录入函数(扩展函数)uploadInpatientDetails
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="sickId"></param>
        /// <param name="residenceNo"></param>
        /// <param name="rowCount"></param>
        /// <param name="xmlDetails"></param>
        /// <returns></returns>
        public virtual string uploadInpatientDetails(string rateType, string centerCodeEx, string sickId, string residenceNo, string rowCount, string xmlDetails)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    RuralResiDAL ruralResiDal = new RuralResiDAL();
                    if (ruralResiDal.uploadInpatientDetails(rateType, centerCodeEx, sickId, residenceNo, rowCount, xmlDetails, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    return("error:" + ex.Message);
                }
            }
            return("success:" + outParm);
        }
Пример #13
0
        /// <summary>
        /// B008 出院登记(扩展函数)leaveInpatientRegister
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="insuranceNo"></param>
        /// <param name="dischargeTime"></param>
        /// <param name="outDept"></param>
        /// <param name="diseaseStatus"></param>
        /// <param name="diagnosisCode"></param>
        /// <returns></returns>
        public virtual string leaveInpatientRegister(string rateType, string centerCodeEx, string insuranceNo, string dischargeTime,
                                                     string outDept, string doctorName, string doctorId,
                                                     string diseaseStatus, string diagnosisCode, string treatCode, string turnCode)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    RuralResiDAL ruralResiDal = new RuralResiDAL();
                    if (ruralResiDal.leaveInpatientRegister(rateType, centerCodeEx, insuranceNo, dischargeTime,
                                                            outDept, doctorName, doctorId,
                                                            diseaseStatus, diagnosisCode, treatCode, turnCode, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    return("error:" + ex.Message);
                }
            }
            return("success:" + outParm);
        }
Пример #14
0
 public int ReportStatusInfo(string hisAppid, string affirmMan, string affirmDate, string status, out string outParm)
 {
     outParm = "";
     try
     {
         using (OracleConnection dbCon = OracleConnect.Connect())
         {
             OracleTransaction dbTran = dbCon.BeginTransaction();
             CreateDBTransaction(dbCon, dbTran);
             try
             {
                 DHCRisDal risDal = new DHCRisDal();
                 risDal.ReportStatusInfo(hisAppid, affirmMan, affirmDate, status, out outParm);
                 dbTran.Commit();
             }
             catch (Exception ex)
             {
                 dbTran.Rollback();
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         return(-1);
     }
     return(0);
 }
Пример #15
0
        /// <summary>
        /// B005 住院费用明细录入函数inpDetailInput
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="insuranceNo"></param>
        /// <param name="applyNo"></param>
        /// <param name="hiscode"></param>
        /// <param name="insureId"></param>
        /// <param name="classId"></param>
        /// <param name="name"></param>
        /// <param name="spec"></param>
        /// <param name="unit"></param>
        /// <param name="conf"></param>
        /// <param name="price"></param>
        /// <param name="quantity"></param>
        /// <param name="money"></param>
        /// <param name="factMoney"></param>
        /// <param name="useDate"></param>
        /// <returns></returns>
        public virtual string inpDetailInput(string rateType, string centerCodeEx, string insuranceNo, string applyNo, string hiscode, string insureId, string classId, string name, string spec, string unit, string conf, string price, string quantity, string money, string factMoney, string useDate)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    RuralResiDAL ruralResiDal = new RuralResiDAL();
                    if (ruralResiDal.inpDetailInput(rateType, centerCodeEx, insuranceNo, applyNo, hiscode, insureId,
                                                    classId, name, spec, unit, conf, price, quantity,
                                                    money, factMoney, useDate, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    return("error:" + ex.Message);
                }
            }
            return("success:" + outParm);
        }
Пример #16
0
        /// <summary>
        /// A006 上传/修改转诊单信息 uploadReferralsheet
        /// </summary>
        /// <param name="rateType"></param>
        /// <param name="infoType"></param>
        /// <param name="turnCode"></param>
        /// <param name="safetyNo"></param>
        /// <param name="idCardNo"></param>
        /// <param name="sickName"></param>
        /// <param name="birthday"></param>
        /// <param name="insurCardNo"></param>
        /// <param name="turnType"></param>
        /// <param name="icdCode"></param>
        /// <param name="icdName"></param>
        /// <param name="beginDate"></param>
        /// <param name="cityType"></param>
        /// <param name="remark"></param>
        /// <returns></returns>
        public virtual string uploadReferralsheet(string rateType, string infoType, string turnCode, string safetyNo,
                                                  string idCardNo, string sickName, string sexName, string birthday, string insurCardNo,
                                                  string phoneNo, string turnType, string icdCode, string icdName, string beginDate,
                                                  string fromHospCode, string fromHospName, string toHospCode, string toHospName,
                                                  string cityType, string toHospLevel,
                                                  string remark)
        {
            string outParm;

            using (OracleConnection dbCon = OracleConnect.Connect())
            {
                OracleTransaction dbTran = dbCon.BeginTransaction();
                CreateDBTransaction(dbCon, dbTran);
                try
                {
                    BasicInformationDAL basicInfoDAL = new BasicInformationDAL();
                    if (basicInfoDAL.uploadReferralsheet(rateType, infoType, turnCode, safetyNo, idCardNo, sickName,
                                                         sexName, birthday, insurCardNo, phoneNo, turnType, icdCode, icdName, beginDate,
                                                         fromHospCode, fromHospName, toHospCode, toHospName, cityType, toHospLevel,
                                                         remark, out outParm) < 0)
                    {
                        dbTran.Rollback();
                        return("error:" + outParm);
                    }

                    dbTran.Commit();
                }
                catch (Exception ex)
                {
                    dbTran.Rollback();
                    throw ex;
                }
            }
            return("success:" + outParm);
        }
Пример #17
0
        public int CompleteLog(string tradeNo, string returnText, DateTime bankTradeDate, string bankTradeNo, string prepayNo)
        {
            using (OracleConnection con = OracleConnect.Connect())
            {
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }

                OracleCommand orcCmd = new OracleCommand();
                orcCmd.Connection = con;
                OracleTransaction orcTr = con.BeginTransaction();
                orcCmd.Transaction = orcTr;

                try
                {
                    orcCmd.CommandText = @"
Update BANK_TRADE_LOG
   set return_text = :arg_return_text,
		 BANK_TRADE_DATE = :arg_bankTradeDate,
		 LOG_STATUS = '2', 
		 BANK_TRADE_NO = :arg_bank_trade_no,
         PREPAY_NO = :argPrepayNo
 where NULLAH_NO = :arg_trade_no";
                    OracleParameter[] parameters =
                    {
                        new OracleParameter("arg_return_text",   returnText),
                        new OracleParameter("arg_bankTradeDate", bankTradeDate),
                        new OracleParameter("arg_bank_trade_no", bankTradeNo),
                        new OracleParameter("arg_trade_no",      tradeNo),
                        new OracleParameter("argPrepayNo",       prepayNo)
                    };
                    orcCmd.Parameters.AddRange(parameters);
                    orcCmd.ExecuteNonQuery();
                    orcTr.Commit();
                    return(0);
                }
                catch (Exception ex)
                {
                    orcTr.Rollback();
                    con.Close();
                    Log4NetHelper.Error("更新银行交易日志", ex);
                    return(0);    //完成日志必须成功
                }
            }
        }
Пример #18
0
        public int UpdateInsurTradeLog(string tradeNo, string status)
        {
            StringBuilder sql        = new StringBuilder();
            UtilityDAL    utilityDAL = new UtilityDAL();


            sql.Clear();
            sql.Append(@"
            update insur_trade_log set status = :arg_status
             where trade_no = :arg_trade_no");
            using (OracleConnection con = OracleConnect.Connect())
            {
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }

                OracleCommand orcCmd = new OracleCommand();
                orcCmd.Connection = con;
                OracleTransaction orcTr = con.BeginTransaction();
                orcCmd.Transaction = orcTr;

                try
                {
                    orcCmd.CommandText = sql.ToString();
                    OracleParameter[] parInTradeLog =
                    {
                        new OracleParameter("arg_trade_no", tradeNo),
                        new OracleParameter("arg_status",   status)
                    };
                    orcCmd.Parameters.AddRange(parInTradeLog);
                    orcCmd.ExecuteNonQuery();
                    orcTr.Commit();
                    return(0);
                }
                catch (Exception ex)
                {
                    orcTr.Rollback();
                    con.Close();
                    Log4NetHelper.Error("生成银行交易日志", ex);
                    return(-1);
                }
            }
        }
Пример #19
0
        public int EorrorLog(string tradeNo, string returnText)
        {
            using (OracleConnection con = OracleConnect.Connect())
            {
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }

                OracleCommand orcCmd = new OracleCommand();
                orcCmd.Connection = con;
                OracleTransaction orcTr = con.BeginTransaction();
                orcCmd.Transaction = orcTr;

                try
                {
                    orcCmd.CommandText = @"
Update BANK_TRADE_LOG
   set return_text = :as_return_text,
		 LOG_STATUS = '9'
 where NULLAH_NO = :as_trade_no";
                    OracleParameter[] parameters =
                    {
                        new OracleParameter("as_return_text", returnText),
                        new OracleParameter("as_trade_no",    tradeNo)
                    };
                    orcCmd.Parameters.AddRange(parameters);
                    orcCmd.ExecuteNonQuery();
                    orcTr.Commit();
                    return(0);
                }
                catch (Exception ex)
                {
                    orcTr.Rollback();
                    con.Close();
                    Log4NetHelper.Error("更新银行交易日志", ex);
                    return(-1);
                }
            }
        }
Пример #20
0
        public int CreateInsurTradeLog(string sickId, string residenceNo, string operater, string returnText,
                                       string deptCode, string insuranceNo, string safetyNo, string insuranceCardNo,
                                       string rateType, string registType,
                                       out string errorMsg, string tradeType, string businessNo = "",
                                       string hisSettleFlag = "", string settleNo = "", string insuranceBillNumber = "",
                                       string tradeText     = ""
                                       )
        {
            string tradeNo;

            errorMsg = "";
            StringBuilder sql        = new StringBuilder();
            UtilityDAL    utilityDAL = new UtilityDAL();
            string        balanceInterface;

            sql.Clear();
            sql.Append(@"select balance_interface from rate_type_dict where rate_type_code = '" + rateType + "'");
            DataTable dtRateType = Select(sql.ToString());

            if (dtRateType.Rows.Count == 0)
            {
                errorMsg = "所录入费别不在字典中, 请重新录入";
                return(-1);
            }
            balanceInterface = dtRateType.Rows[0]["balance_interface"].ToString();

            tradeNo = utilityDAL.GetSequenceNO("comm.insur_trade_seq").ToString();

            sql.Clear();
            sql.Append(@"
                        insert into insur_trade_log
                        (
                            trade_no,
                            residence_no,
                            sick_id,
                            trade_text,
                            trade_type,
                            settle_mode,
                            operator,
                            operation_date,
                            status,
                            business_cycle_no,
                            balance_interface,
                            return_text,
                            return_date, 
                            regist_type,
                            insurance_no,
                            safety_no,
                            dept_code,
                            insurance_card_no,
                            settle_no,
                            his_settle_flag,
                            insurance_bill_number
                        )
                        values
                        (
                            :arg_trade_no,
                            :arg_residence_no,
                            :arg_sick_id,
                            :arg_trade_text,
                            :arg_trade_type,
                            :arg_settle_mode,
                            :arg_operator,
                            sysdate,
                            '2'/*完成*/,
                            :arg_business_no,
                            :arg_balance_interface/*医保接口类型*/,
                            :arg_return_text,
                            sysdate,
                            :arg_regist_type,
                            :arg_insurance_no,
                            :arg_safety_no,
                            :arg_dept_code,
                            :arg_insurance_card_no,
                            :arg_settle_no,
                            :arg_his_settle_flag,
                            :arg_insurance_bill_number
                        )
                        ");
            using (OracleConnection con = OracleConnect.Connect())
            {
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }

                OracleCommand orcCmd = new OracleCommand();
                orcCmd.Connection = con;
                OracleTransaction orcTr = con.BeginTransaction();
                orcCmd.Transaction = orcTr;

                try
                {
                    orcCmd.CommandText = sql.ToString();
                    OracleParameter[] parInTradeLog =
                    {
                        new OracleParameter("arg_trade_no",              tradeNo),
                        new OracleParameter("arg_sick_id",               sickId),
                        new OracleParameter("arg_residence_no",          residenceNo),
                        new OracleParameter("arg_trade_text",            ""),
                        new OracleParameter("arg_trade_type",            tradeType),
                        new OracleParameter("arg_settle_mode",           "1"),
                        new OracleParameter("arg_operator",              operater),
                        new OracleParameter("arg_business_no",           businessNo),
                        new OracleParameter("arg_return_text",           returnText),
                        new OracleParameter("arg_regist_type",           registType),
                        new OracleParameter("arg_insurance_no",          insuranceNo),
                        new OracleParameter("arg_safety_no",             safetyNo),
                        new OracleParameter("arg_balance_interface",     balanceInterface),
                        new OracleParameter("arg_dept_code",             deptCode),
                        new OracleParameter("arg_insurance_card_no",     insuranceCardNo),
                        new OracleParameter("arg_settle_no",             settleNo),
                        new OracleParameter("arg_his_settle_flag",       hisSettleFlag),
                        new OracleParameter("arg_insurance_bill_number", insuranceBillNumber)
                    };
                    orcCmd.Parameters.AddRange(parInTradeLog);
                    orcCmd.ExecuteNonQuery();
                    orcTr.Commit();
                }
                catch (Exception ex)
                {
                    orcTr.Rollback();
                    con.Close();
                    errorMsg = ex.Message;
                    Log4NetHelper.Error("生成银行交易日志", ex);
                    return(-1);
                }
            }
            return(0);
        }
Пример #21
0
        public int CreateSettleInfo(string insurApplyNo, string tradeText, string sickId, string insuranceNo,
                                    string registerType, string residenceNo, string icdCode, string safetyNO, string RateType,
                                    decimal LostCash, string settleNo)
        {
            using (OracleConnection con = OracleConnect.Connect())
            {
                if (con.State != ConnectionState.Open)
                {
                    con.Open();
                }

                OracleCommand orcCmd = new OracleCommand();
                orcCmd.Connection = con;
                OracleTransaction orcTr = con.BeginTransaction();
                orcCmd.Transaction = orcTr;

                string insure_out_paramm1, insure_out_paramm2, insure_out_paramm3, insure_out_paramm4, insure_out_paramm5,
                       insure_out_paramm6, insure_out_paramm7, insure_out_paramm8, insure_out_paramm9, insure_out_paramm10,
                       insure_out_paramm11, insure_out_paramm12, insure_out_paramm13, insure_out_paramm14, insure_out_paramm15,
                       insure_out_paramm16, insure_out_paramm17, insure_out_paramm18, insure_out_paramm19, insure_out_paramm20;

                insure_out_paramm1  = insure_out_paramm2 = insure_out_paramm3 = insure_out_paramm4 = insure_out_paramm5 = "";
                insure_out_paramm6  = insure_out_paramm7 = insure_out_paramm8 = insure_out_paramm9 = insure_out_paramm10 = "";
                insure_out_paramm11 = insure_out_paramm12 = insure_out_paramm13 = insure_out_paramm14 = insure_out_paramm15 = "";
                insure_out_paramm16 = insure_out_paramm17 = insure_out_paramm18 = insure_out_paramm19 = insure_out_paramm20 = "";
                Log4NetHelper.Info("插入医保日志中间表执行!!");
                string[] settleList1 = tradeText.Split('^');
                if (settleList1.Length >= 2)
                {
                    string[] settleList = settleList1[1].Split('|');
                    insure_out_paramm1  = settleList[0];
                    insure_out_paramm2  = settleList[1];
                    insure_out_paramm3  = settleList[2];
                    insure_out_paramm4  = settleList[3];
                    insure_out_paramm5  = settleList[4];
                    insure_out_paramm6  = settleList[5];
                    insure_out_paramm7  = settleList[6];
                    insure_out_paramm8  = settleList[7];
                    insure_out_paramm9  = settleList[8];
                    insure_out_paramm10 = settleList[9];
                    insure_out_paramm11 = settleList[10];
                    insure_out_paramm12 = settleList[11];
                    insure_out_paramm13 = settleList[12];
                    insure_out_paramm14 = settleList[13];
                    insure_out_paramm15 = settleList[14];
                    insure_out_paramm16 = settleList[15];
                    insure_out_paramm17 = settleList[16];
                    insure_out_paramm18 = settleList[17];
                    insure_out_paramm19 = settleList[18];
                    insure_out_paramm20 = settleList[19];
                }

                try
                {
                    orcCmd.CommandText = @"
                                        insert into insur.insur_trade_log_jssyb(
			                                          apply_no,
			                                          temp1,
			                                          temp2,
			                                          temp3,
			                                          temp4,
			                                          temp5,
			                                          temp6,
			                                          temp7,
			                                          temp8,
			                                          temp9,
			                                          temp10,
			                                          temp11,
			                                          temp12,
			                                          temp13,
			                                          temp14,
			                                          temp15,
			                                          temp16,
			                                          temp17,
			                                          temp18,
			                                          temp19,
			                                          temp20,
			                                          sick_id,
			                                          cost_mode,
			                                          settle_flag,
			                                          insur_register_no,
			                                          insurance_bill_no,
			                                          operator_date,
			                                          insur_cure_type,
			                                          visit_number,
			                                          residence_no,
			                                          icd_code,
			                                          insurance_card_no,
			                                          rate_type,
			                                          lost_cash,
                                                      settle_no)
                                            values(
			                                          :ls_insur_apply_no                            /*医保单据号*/,
			                                          :ls_insure_out_paramm1						/*本次医疗费总额*/,
			                                          :ls_insure_out_paramm2						/*本次统筹支付金额*/,
			                                          :ls_insure_out_paramm3						/*本次大病救助支付*/,
			                                          :ls_insure_out_paramm4						/*本次大病保险支付*/,
			                                          :ls_insure_out_paramm5						/*本次民政补助支付*/,
			                                          :ls_insure_out_paramm6						/*本次帐户支付总额*/,
			                                          :ls_insure_out_paramm7						/*本次现金支付总额*/,
			                                          :ls_insure_out_paramm8						/*本次帐户支付自付*/,
			                                          :ls_insure_out_paramm9						/*本次帐户支付自理*/,
			                                          :ls_insure_out_paramm10						/*本次现金支付自付*/,
			                                          :ls_insure_out_paramm11						/*本次现金支付自理*/,
			                                          :ls_insure_out_paramm12					    /*医保范围内费用*/,
			                                          :ls_insure_out_paramm13						/*帐户消费后余额*/,
			                                          :ls_insure_out_paramm14						/*单病种病种编码*/,
			                                          :ls_insure_out_paramm15					    /*说明信息*/,
			                                          :ls_insure_out_paramm16						/*药费合计*/,
			                                          :ls_insure_out_paramm17						/*诊疗项目费合计*/,
			                                          :ls_insure_out_paramm18						/*补保支付*/,
			                                          :ls_insure_out_paramm19						/*医疗类别*/,
			                                          :ls_insure_out_paramm20						/*备用6*/,
			                                          :ls_sick_id					                    /*HIS病人ID*/,
			                                          '0'											/*0、门诊 1、住院*/,
			                                          '1'											/*0、HIS未结算 1、HIS已结算 9、作废*/,
			                                          :ls_insur_disp_register_no		                /*医保 门诊/住院流水号*/,
			                                          :ls_insur_resi_register_no		                /*医保 门诊/住院流水号*/,
			                                          sysdate									    /*操作日期*/,
			                                          :ls_cure_type									/*医疗类别*/,
			                                          0												/*HIS住院序号 门诊传0*/,
			                                          :ls_residence_no				                    /*HIS门诊挂号号*/,
			                                          :ls_icd_code									    /*病种编码*/,
			                                          :ls_insurance_card_no			                /*医保卡号*/,
			                                          :ls_rate_type					                /*HIS费别*/,
			                                          :ls_lost_cash								    /*HIS总费用与医保总费用结算尾差*/,
                                                      :arg_settle_no)
                                        ";
                    OracleParameter[] parameters =
                    {
                        new OracleParameter("ls_insur_apply_no",         insurApplyNo),
                        new OracleParameter("ls_insure_out_paramm1",     insure_out_paramm1),
                        new OracleParameter("ls_insure_out_paramm2",     insure_out_paramm2),
                        new OracleParameter("ls_insure_out_paramm3",     insure_out_paramm3),
                        new OracleParameter("ls_insure_out_paramm4",     insure_out_paramm4),
                        new OracleParameter("ls_insure_out_paramm5",     insure_out_paramm5),
                        new OracleParameter("ls_insure_out_paramm6",     insure_out_paramm6),
                        new OracleParameter("ls_insure_out_paramm7",     insure_out_paramm7),
                        new OracleParameter("ls_insure_out_paramm8",     insure_out_paramm8),
                        new OracleParameter("ls_insure_out_paramm9",     insure_out_paramm9),
                        new OracleParameter("ls_insure_out_paramm10",    insure_out_paramm10),
                        new OracleParameter("ls_insure_out_paramm11",    insure_out_paramm11),
                        new OracleParameter("ls_insure_out_paramm12",    insure_out_paramm12),
                        new OracleParameter("ls_insure_out_paramm13",    insure_out_paramm13),
                        new OracleParameter("ls_insure_out_paramm14",    insure_out_paramm14),
                        new OracleParameter("ls_insure_out_paramm15",    insure_out_paramm15),
                        new OracleParameter("ls_insure_out_paramm16",    insure_out_paramm16),
                        new OracleParameter("ls_insure_out_paramm17",    insure_out_paramm17),
                        new OracleParameter("ls_insure_out_paramm18",    insure_out_paramm18),
                        new OracleParameter("ls_insure_out_paramm19",    insure_out_paramm19),
                        new OracleParameter("ls_insure_out_paramm20",    insure_out_paramm20),
                        new OracleParameter("ls_sick_id",                sickId),
                        new OracleParameter("ls_insur_disp_register_no", insuranceNo),
                        new OracleParameter("ls_insur_resi_register_no", insuranceNo),
                        new OracleParameter("ls_cure_type",              registerType),
                        new OracleParameter("ls_residence_no",           residenceNo),
                        new OracleParameter("ls_icd_code",               icdCode),
                        new OracleParameter("ls_insurance_card_no",      safetyNO),
                        new OracleParameter("ls_rate_type",              RateType),
                        new OracleParameter("ls_lost_cash",              LostCash),
                        new OracleParameter("arg_settle_no",             settleNo)
                    };

                    orcCmd.Parameters.AddRange(parameters);
                    orcCmd.ExecuteNonQuery();
                    orcTr.Commit();
                    return(0);
                }
                catch (Exception ex)
                {
                    orcTr.Rollback();
                    con.Close();
                    Log4NetHelper.Error("生成医保交易日志", ex);
                    return(-1);
                }
            }
        }