Esempio n. 1
0
        /// <summary>
        /// 卡号是否是否有效
        /// </summary>
        /// <param name="brid">病人ID</param>
        /// <param name="bkhm">病人号码</param>
        /// <param name="brlx">病人类型 1:门诊病人 2:住院病人</param>
        /// <param name="msg">返回错误信息</param>
        /// <returns>0:成功  大于0:出错  小于0:异常</returns>
        public int DB_ValidCard(string brid, string bkhm, string brlx, out string msg)
        {
            msg = "";
            int ret = -1;

            OracleConnection connection = new OracleConnection(WebConfigParameter.ConnectionHisString);
            OracleDataReader dr         = null;

            try
            {
                //说明返回值
                // 0:成功,
                // 1:该病人绑卡数据有误
                // 2: 记录已找到,但是没有该病人ID
                // 3: 绑卡记录没找到,确认办卡信息
                string _brid = "";


                bool _flag = false;

                string sqlStr = _builder.GetBridByBkhmSql(bkhm, brid, brlx, out _flag, out msg);
                UtilLog.GetInstance().WriteProgramLog(System.Reflection.MethodBase.GetCurrentMethod().Name, sqlStr);

                if (!_flag)
                {
                    ret = 10;
                    return(ret);
                }

                dr = DbHelperOra.ExecuteReader(sqlStr, connection);
                if (dr.HasRows)
                {
                    if (dr.Read())
                    {
                        if (WebConfigParameter.HospitalName() == AppUtils.HOSPITALNAME.WZSDQRMYY ||
                            WebConfigParameter.HospitalName() == AppUtils.HOSPITALNAME.WZSCNXDYRMYY)
                        {
                            _brid = !dr.IsDBNull(0) ? dr.GetString(0) : "";
                        }
                        else
                        {
                            _brid = !dr.IsDBNull(0) ? Convert.ToString(dr.GetInt64(0)) : "";
                        }

                        if (_brid != brid || _brid.Equals(""))
                        {
                            msg = "绑卡信息有误";
                            ret = 13;
                        }
                        else
                        {
                            msg = "成功,该病人绑卡数据有效";
                            ret = 00;
                        }
                    }
                    else
                    {
                        msg = "记录已找到,但是没有该病人ID";
                        ret = 14;
                    }
                }
                else
                {
                    msg = "绑卡记录没找到,确认办卡信息";
                    ret = 15;
                }

                dr.Close();
                return(ret);
            }
            catch (Exception ex)
            {
                UtilLog.GetInstance().WriteProgramLog(System.Reflection.MethodBase.GetCurrentMethod().Name, ex);

                msg = GetExceptionInfo(ex);
                ret = -1;
                return(ret);
            }
            finally
            {
                if (null != dr)
                {
                    dr.Close();
                }
                connection.Close();
            }
        }