using Common; using Model; using Oracle.DataAccess.Client; using System; using System.Collections.Generic; using System.Data.Common; using System.Text; namespace Dao { public class GwDmDao : IDisposable { public List LoadInfoList(string ApID, string OpID, string spID, string DestnationId, string sDate, string permissionsSQL, out int recordcount, int pageSize, int PageIndex) { List list1 = new List(); recordcount = 0; try { string str = sDate.Replace("-", ""); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append(" from LG_DM_").Append(str).Append(" where 1=1"); List list2 = new List(); if (ApID != null && ApID != "") { OracleParameter oracleParameter = new OracleParameter(":AP_ID", (OracleDbType) 126); ((DbParameter) oracleParameter).Value = (object) ApID; list2.Add(oracleParameter); stringBuilder.Append(" and AP_ID=:AP_ID "); } if (OpID != null && OpID != "") { OracleParameter oracleParameter = new OracleParameter(":OP_ID", (OracleDbType) 126); ((DbParameter) oracleParameter).Value = (object) OpID; list2.Add(oracleParameter); stringBuilder.Append(" and OP_ID=:OP_ID "); } if (DestnationId != null && DestnationId != "") { OracleParameter oracleParameter = new OracleParameter(":MOBILE", (OracleDbType) 126); ((DbParameter) oracleParameter).Value = (object) DestnationId; list2.Add(oracleParameter); stringBuilder.Append(" and MOBILE=:MOBILE "); } if (!string.IsNullOrEmpty(spID)) { OracleParameter oracleParameter = new OracleParameter(":SP_ID", (OracleDbType) 126); ((DbParameter) oracleParameter).Value = (object) spID; list2.Add(oracleParameter); stringBuilder.Append(" and SP_ID=:SP_ID "); } //客户权限SQL脚本 stringBuilder.Append(permissionsSQL); using (OracleDataReader reader = OracleHelper.ExecuteReader(" select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, list2.ToArray())) { while (((DbDataReader) reader).Read()) recordcount = this.ReadCount(reader); } using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, string.Format(" select * {0} order by DELIVER_TIME DESC", (object) stringBuilder)).ToString(), OracleHelper.Connection, list2.ToArray())) { while (((DbDataReader) reader).Read()) { GwDm o = new GwDm(); if (this.ReadInfo(reader, o)) list1.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list1; } return list1; } private bool ReadInfo(OracleDataReader reader, GwDm o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.OPMID = oracleReaderWrapper.GetString("OP_MID", string.Empty); o.ApID = oracleReaderWrapper.GetInt("AP_ID", 0); o.OpID = oracleReaderWrapper.GetInt("OP_ID", 0); o.ClientID = oracleReaderWrapper.GetString("CLIENT_ID", ""); o.SPID = oracleReaderWrapper.GetString("SP_ID", ""); o.Mobile = oracleReaderWrapper.GetString("MOBILE", ""); o.AccessCode = oracleReaderWrapper.GetString("ACCESS_CODE", ""); o.ExtNo = oracleReaderWrapper.GetString("EXT_NO", ""); o.RDFlag = oracleReaderWrapper.GetInt("RD_FLAG", 0); o.MsgFormat = oracleReaderWrapper.GetInt("MSG_FORMAT", 0); o.MsgLength = oracleReaderWrapper.GetInt("MSG_LENGTH", 0); o.MsgContent = oracleReaderWrapper.GetString("MSG_CONTENT", ""); o.DeliverTime = oracleReaderWrapper.GetDateTime("DELIVER_TIME"); return true; } private int ReadCount(OracleDataReader reader) { int @int; try { @int = new OracleReaderWrapper(reader).GetInt("count", 0); } catch (Exception ex) { LogHelper.Error(ex); return 0; } return @int; } public void Dispose() { } public List LoadInfoList(string clientID, string spID, string destnationId, string sDate, string beginTime, string endTime, string permissionsSQL, out int recordcount, int pageSize, int pageIndex) { List list = new List(); recordcount = 0; try { string str = sDate.Replace("-", ""); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("from LG_DM_").Append(str).Append(" where 1=1"); OracleParameter[] oracleParameterArray = new OracleParameter[3]; if (clientID != null && clientID != "") { oracleParameterArray[0] = new OracleParameter(":CLIENT_ID", (OracleDbType) 126); ((DbParameter) oracleParameterArray[0]).Value = (object) clientID; stringBuilder.Append(" and CLIENT_ID=:CLIENT_ID"); } if (spID != null && spID != "") { oracleParameterArray[0] = new OracleParameter(":SP_ID", (OracleDbType) 126); ((DbParameter) oracleParameterArray[0]).Value = (object) spID; stringBuilder.Append(" and SP_ID=:SP_ID"); } if (destnationId != null && destnationId != "") { oracleParameterArray[0] = new OracleParameter(":DestnationId", (OracleDbType) 126); ((DbParameter) oracleParameterArray[0]).Value = (object) destnationId; stringBuilder.Append(" and MOBILE=:DestnationId"); } //客户权限SQL脚本 stringBuilder.Append(permissionsSQL); using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader) reader).Read()) recordcount = this.ReadCount(reader); } using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(pageIndex, pageSize, recordcount, string.Format("select * {0} order by DELIVER_TIME DESC", (object) stringBuilder)).ToString(), OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader) reader).Read()) { GwDm o = new GwDm(); if (this.ReadInfo(reader, o)) list.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list; } return list; } } }