257 lines
10 KiB
C#
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();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|