ComplianceServer/oldcode/DAL/Wx/WX_Message_DAL.cs

257 lines
10 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.Data.SqlClient;
using System.Linq;
using WX.CRM.Common;
using WX.CRM.Model.QueryMap;
namespace WX.CRM.DAL.Wx
{
public class WX_Message_DAL
{
public DataTable GetMessage(int pageSize, int page, string keyword, string tableName, string userNames, string stime, string etime, string customerUserName, out int recordCount)
{
try
{
recordCount = 0;
var sql = "WX_Message_GetByPage";
var p = new List<SqlParameter>() {
new SqlParameter("@PageSize",pageSize),
new SqlParameter("@Page", page),
new SqlParameter("@keyword",keyword !=null ?keyword:""),
new SqlParameter("@tableName", tableName),
new SqlParameter("@userNames", userNames),
new SqlParameter("@stime", stime),
new SqlParameter("@etime", etime),
new SqlParameter("@customerUserName", customerUserName !=null ? customerUserName:""),
new SqlParameter("@recordCount", SqlDbType.Int, 0, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null)
};
var ds = SqlHelper.GetDataSet(SqlHelper.DatabaseType.AYCRM, sql, CommandType.StoredProcedure, p.ToArray());
recordCount = int.Parse(p[8].Value.ToString());
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0];
}
return null;
}
catch (Exception ex)
{
recordCount = 0;
LogHelper.Error(ex);
throw ex;
}
}
public void UpdateMessageIsIllegal(string tableName, string userName, string msgSvrid)
{
try
{
var sql = "WX_Message_UpdateIsillegal";
var p = new List<SqlParameter>() {
new SqlParameter("@msgsvrid",msgSvrid),
new SqlParameter("@username", userName)
};
SqlHelper.ExcuteSPOrSql(SqlHelper.DatabaseType.AYCRM, sql, CommandType.StoredProcedure, p.ToArray());
}
catch (Exception ex)
{
LogHelper.Error(ex);
throw ex;
}
}
public void DeleteMessageIsIllegal(string tableName, string userName, string msgSvrid)
{
try
{
var sql = "WX_Message_DeleteIsillegal";
var p = new List<SqlParameter>() {
new SqlParameter("@msgsvrid",msgSvrid),
new SqlParameter("@username", userName)
};
SqlHelper.ExcuteSPOrSql(SqlHelper.DatabaseType.AYCRM, sql, CommandType.StoredProcedure, p.ToArray());
}
catch (Exception ex)
{
LogHelper.Error(ex);
throw ex;
}
}
public DataSet CountMessageCompliance(string stime, string etime)
{
DateTime dt1 = DateTime.Now.Date;
if (!string.IsNullOrWhiteSpace(stime))
{
dt1 = Convert.ToDateTime(stime);
}
DateTime dt2 = DateTime.Now.AddDays(1).Date;
if (!string.IsNullOrWhiteSpace(etime))
{
dt2 = Convert.ToDateTime(etime).AddDays(1);
}
var conn = new OracleConnection(OracleHelper.AYCRMConn);
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (var trans = conn.BeginTransaction())
{
var parms = new List<OracleParameter>()
{
new OracleParameter() {ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = dt1 },
new OracleParameter() {ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = dt2 },
new OracleParameter() {ParameterName = "v_data1", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output },
new OracleParameter() {ParameterName = "v_data2", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }
};
DataSet ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WX.countMessageCompliance", parms.ToArray());
trans.Commit();
return ds;
}
}
catch (Exception ex)
{
LogHelper.Error(ex);
return null;
}
finally
{
conn.Close();
}
}
public DataSet CountMessageComplianceList(string typeCode, string stime, string etime)
{
DateTime dt1 = DateTime.Now.Date;
if (!string.IsNullOrWhiteSpace(stime))
{
dt1 = Convert.ToDateTime(stime);
}
DateTime dt2 = DateTime.Now.AddDays(1).Date;
if (!string.IsNullOrWhiteSpace(etime))
{
dt2 = Convert.ToDateTime(etime).AddDays(1);
}
var conn = new OracleConnection(OracleHelper.AYCRMConn);
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (var trans = conn.BeginTransaction())
{
var parms = new List<OracleParameter>()
{
new OracleParameter() {ParameterName = "v_bigType", OracleType = OracleType.VarChar, Value = typeCode },
new OracleParameter() {ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = dt1 },
new OracleParameter() {ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = dt2 },
new OracleParameter() {ParameterName = "v_data1", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }
};
DataSet ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WX.countMessageComplianceList", parms.ToArray());
trans.Commit();
return ds;
}
}
catch (Exception ex)
{
LogHelper.Error(ex);
return null;
}
finally
{
conn.Close();
}
}
public bool DeleteMessage(ref ValidationErrors errors, decimal pkid)
{
try
{
var parms = new List<OracleParameter>()
{
new OracleParameter() {ParameterName = "v_pkid", OracleType = OracleType.Number, Value = pkid }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WX.deleteMessageCompliance", parms.ToArray());
return true;
}
catch (Exception ex)
{
LogHelper.Error(ex);
errors.Add(ex.ToString());
return false;
}
}
public List<MessageCountView> GetMessageCount(string groupId, string inneruserId, DateTime sTime, DateTime eTime)
{
var conn = new OracleConnection(OracleHelper.AYCRMConn);
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (var trans = conn.BeginTransaction())
{
var p = new List<OracleParameter>()
{
new OracleParameter() {ParameterName = "p_groupId", OracleType = OracleType.VarChar, Value = groupId},
new OracleParameter() {ParameterName = "p_inneruserId", OracleType = OracleType.VarChar, Value = inneruserId},
new OracleParameter() {ParameterName = "p_sTime", OracleType = OracleType.DateTime, Value = sTime},
new OracleParameter() {ParameterName = "p_eTime", OracleType = OracleType.DateTime, Value = eTime},
new OracleParameter() {ParameterName = "p_list", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output}
};
var tab = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WXMSG.MessageCount", p.ToArray());
trans.Commit();
return tab.Tables[0].ToList<MessageCountView>();
}
}
catch
{
throw;
}
finally
{
conn.Close();
}
}
public List<MessageCount2View> GetMessageCount2(string groupId, string inneruserId, DateTime sTime, DateTime eTime)
{
var conn = new OracleConnection(OracleHelper.AYCRMConn);
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (var trans = conn.BeginTransaction())
{
var p = new List<OracleParameter>()
{
new OracleParameter() {ParameterName = "p_groupId", OracleType = OracleType.VarChar, Value = groupId},
new OracleParameter() {ParameterName = "p_inneruserId", OracleType = OracleType.VarChar, Value = inneruserId},
new OracleParameter() {ParameterName = "p_sTime", OracleType = OracleType.DateTime, Value = sTime},
new OracleParameter() {ParameterName = "p_eTime", OracleType = OracleType.DateTime, Value = eTime},
new OracleParameter() {ParameterName = "p_list", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output}
};
var tab = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WXMSG.MessageCount2", p.ToArray());
trans.Commit();
return tab.Tables[0].ToList<MessageCount2View>();
}
}
catch
{
throw;
}
finally
{
conn.Close();
}
}
}
}