289 lines
14 KiB
C#
289 lines
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.OracleClient;
|
|
using WX.CRM.Common;
|
|
|
|
namespace WX.CRM.DAL.Soft
|
|
{
|
|
public class Soft_User_DAL
|
|
{
|
|
public DataSet geUnAgentUserList(ref Pager pager, DateTime? ctime, DateTime? etime, string username, decimal? regtag)
|
|
{
|
|
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
|
|
if (conn.State == ConnectionState.Closed)
|
|
conn.Open();
|
|
try
|
|
{
|
|
using (OracleTransaction trans = conn.BeginTransaction())
|
|
{
|
|
var p = new List<OracleParameter>
|
|
{
|
|
new OracleParameter { ParameterName = "v_username", OracleType = OracleType.VarChar, Value = username },
|
|
new OracleParameter { ParameterName = "v_regtag", OracleType = OracleType.Number, Value = regtag },
|
|
new OracleParameter { ParameterName = "v_ctime", OracleType = OracleType.DateTime, Value = ctime },
|
|
new OracleParameter { ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = etime },
|
|
new OracleParameter{ParameterName = "v_pageIndex",OracleType = OracleType.Number,Value =pager.page},
|
|
new OracleParameter{ParameterName = "v_pageSize",OracleType = OracleType.Number,Value = pager.rows},
|
|
new OracleParameter
|
|
{
|
|
ParameterName = "v_sqldata",
|
|
OracleType = OracleType.Cursor,
|
|
Direction = ParameterDirection.Output
|
|
}
|
|
|
|
};
|
|
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "pack_soft.soft_unagentuserlist", p.ToArray());
|
|
trans.Commit();
|
|
return ds;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
conn.Close();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 是否含有 用户名
|
|
/// </summary>
|
|
/// <param name="username">用户名</param>
|
|
/// <returns></returns>
|
|
public bool IsHasUser(string username)
|
|
{
|
|
bool isHas = false;
|
|
try
|
|
{
|
|
string sql = "select count(*) ncount from soft_user where username=:username";
|
|
var param = new List<OracleParameter>() { new OracleParameter() { ParameterName = ":username", OracleType = OracleType.VarChar, Value = username } };
|
|
DataTable tab = OracleHelper.DataQueray(OracleHelper.AYCRMConn2, CommandType.Text, sql, param.ToArray()).Tables[0];
|
|
int count = Convert.ToInt32(tab.Rows[0]["ncount"]);
|
|
if (count > 0)
|
|
isHas = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
}
|
|
return isHas;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 是否含有resid
|
|
/// </summary>
|
|
/// <param name="resid">客户ID</param>
|
|
/// <param name="isOne">是否是一部</param>
|
|
/// <returns></returns>
|
|
public bool IsHasResId(string resid, bool isOne)
|
|
{
|
|
bool isHas = false;
|
|
try
|
|
{
|
|
string sql = "select count(*) ncount from res_customer where resid=:resid";
|
|
var param = new List<OracleParameter>() { new OracleParameter() { ParameterName = ":resid", OracleType = OracleType.VarChar, Value = resid } };
|
|
string conn = isOne ? OracleHelper.AYCRMConn : OracleHelper.AYCRMConn2;
|
|
DataTable tab = OracleHelper.DataQueray(conn, CommandType.Text, sql, param.ToArray()).Tables[0];
|
|
int count = Convert.ToInt32(tab.Rows[0]["ncount"]);
|
|
if (count > 0)
|
|
isHas = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
}
|
|
return isHas;
|
|
}
|
|
|
|
public bool InserSoftUser(bool isOne, string resid, string tag, string cardNo, string userName, DateTime? regDate, int companyId, string activeMobile = null, string platform = null)
|
|
{
|
|
bool isSucced = false;
|
|
try
|
|
{
|
|
// string sql = @"insert into soft_user
|
|
// (username, userpass, userno,regcampainid, regplatform, isactive, activetime, activeresid, ctime, companyid, regdate, resid)
|
|
// values
|
|
// (@v_username, 'string.Empty', @v_userno, @v_regcampainid, @v_regplatform, NULL, NULL, @v_activeresid ,sysdate, @v_companyid, @v_regdate, @v_resid)";
|
|
decimal? ISACTIVE = null;
|
|
string ACTIVERESID = string.Empty;
|
|
DateTime? ACTIVETIME = null;
|
|
if (!string.IsNullOrEmpty(activeMobile))
|
|
{
|
|
ISACTIVE = 1;
|
|
ACTIVERESID = resid;
|
|
ACTIVETIME = regDate;
|
|
}
|
|
var p = new List<OracleParameter>
|
|
{
|
|
new OracleParameter { ParameterName = "v_username", OracleType = OracleType.VarChar, Value = userName },
|
|
new OracleParameter { ParameterName = "v_userno", OracleType = OracleType.Number, Value = decimal.Parse(cardNo) },
|
|
new OracleParameter { ParameterName = "v_regcampainid", OracleType = OracleType.Number, Value =decimal.Parse(tag) },
|
|
new OracleParameter { ParameterName = "v_regplatform", OracleType = OracleType.VarChar, Value =platform },
|
|
ISACTIVE.HasValue?new OracleParameter { ParameterName = "v_isactive", OracleType = OracleType.Number, Value =ISACTIVE }:new OracleParameter { ParameterName = "v_isactive", OracleType = OracleType.Number, Value =DBNull.Value },
|
|
ACTIVETIME.HasValue? new OracleParameter { ParameterName = "v_activetime", OracleType = OracleType.DateTime, Value =ACTIVETIME.Value }:new OracleParameter { ParameterName = "v_activetime", OracleType = OracleType.DateTime, Value =DBNull.Value },
|
|
!string.IsNullOrEmpty(ACTIVERESID)? new OracleParameter { ParameterName = "v_activeresid", OracleType = OracleType.VarChar, Value =ACTIVERESID }:new OracleParameter { ParameterName = "v_activeresid", OracleType = OracleType.VarChar, Value =DBNull.Value },
|
|
new OracleParameter { ParameterName = "v_companyid", OracleType = OracleType.Number, Value =companyId },
|
|
new OracleParameter { ParameterName = "v_regdate", OracleType = OracleType.DateTime, Value =regDate },
|
|
!string.IsNullOrEmpty(resid)? new OracleParameter { ParameterName = "v_resid", OracleType = OracleType.VarChar, Value =resid }:new OracleParameter { ParameterName = "v_resid", OracleType = OracleType.VarChar, Value =DBNull.Value },
|
|
|
|
};
|
|
string conn = isOne ? OracleHelper.AYCRMConn : OracleHelper.AYCRMConn2;
|
|
OracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "PACK_SOFT.soft_Add", p.ToArray());
|
|
ContractUser(isOne, resid, userName);//关联 resid和username
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
}
|
|
return isSucced;
|
|
}
|
|
/// <summary>
|
|
/// 数据管理
|
|
/// </summary>
|
|
/// <param name="isOne">是否是一部</param>
|
|
/// <param name="resid">客户ID</param>
|
|
/// <param name="userName">用户名</param>
|
|
/// <returns></returns>
|
|
public int ContractUser(bool isOne, string resid, string userName)
|
|
{
|
|
try
|
|
{
|
|
var param = new List<OracleParameter>
|
|
{
|
|
new OracleParameter() { ParameterName = "vResid", OracleType = OracleType.Char, Value = resid },
|
|
new OracleParameter() { ParameterName = "vUserName", OracleType = OracleType.VarChar, Value = userName }
|
|
};
|
|
string conn = isOne ? OracleHelper.AYCRMConn : OracleHelper.AYCRMConn2;
|
|
return OracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "PACK_RES.res_ContractSoftUser", param.ToArray());
|
|
|
|
}
|
|
catch
|
|
{
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public DataSet GetInvistListCount(DateTime? stime, DateTime? etime, decimal hasMobile, string deptId, string groupId, string innerUserId)
|
|
{
|
|
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
|
|
if (conn.State == ConnectionState.Closed)
|
|
conn.Open();
|
|
try
|
|
{
|
|
using (OracleTransaction trans = conn.BeginTransaction())
|
|
{
|
|
var p = new List<OracleParameter>
|
|
{
|
|
new OracleParameter { ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = stime },
|
|
new OracleParameter { ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = etime },
|
|
new OracleParameter { ParameterName = "v_hasmobile", OracleType = OracleType.Number, Value = hasMobile },
|
|
new OracleParameter { ParameterName = "v_deptId", OracleType = OracleType.VarChar, Value = deptId },
|
|
new OracleParameter { ParameterName = "v_groupId", OracleType = OracleType.VarChar, Value = groupId },
|
|
new OracleParameter { ParameterName = "v_userId", OracleType = OracleType.VarChar, Value = innerUserId },
|
|
new OracleParameter
|
|
{
|
|
ParameterName = "v_sqldata",
|
|
OracleType = OracleType.Cursor,
|
|
Direction = ParameterDirection.Output
|
|
}
|
|
|
|
};
|
|
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_SOFT.soft_userInviteListCount", p.ToArray());
|
|
trans.Commit();
|
|
return ds;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
conn.Close();
|
|
}
|
|
}
|
|
|
|
public DataSet GetInviteCountByDay(DateTime? stime, DateTime? etime)
|
|
{
|
|
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
|
|
if (conn.State == ConnectionState.Closed)
|
|
conn.Open();
|
|
try
|
|
{
|
|
using (OracleTransaction trans = conn.BeginTransaction())
|
|
{
|
|
var p = new List<OracleParameter>
|
|
{
|
|
new OracleParameter { ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = stime },
|
|
new OracleParameter { ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = etime },
|
|
new OracleParameter
|
|
{
|
|
ParameterName = "v_sqldata",
|
|
OracleType = OracleType.Cursor,
|
|
Direction = ParameterDirection.Output
|
|
}
|
|
|
|
};
|
|
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_SOFT.soft_userInviteCountByDay", p.ToArray());
|
|
trans.Commit();
|
|
return ds;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
conn.Close();
|
|
}
|
|
}
|
|
|
|
public DataTable Soft_Rpt_Get(DateTime ctime, DateTime etime)
|
|
{
|
|
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
|
|
if (conn.State == ConnectionState.Closed)
|
|
conn.Open();
|
|
try
|
|
{
|
|
using (OracleTransaction trans = conn.BeginTransaction())
|
|
{
|
|
var p = new List<OracleParameter>
|
|
{
|
|
new OracleParameter { ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = ctime },
|
|
new OracleParameter { ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = etime },
|
|
new OracleParameter
|
|
{
|
|
ParameterName = "v_data",
|
|
OracleType = OracleType.Cursor,
|
|
Direction = ParameterDirection.Output
|
|
}
|
|
|
|
};
|
|
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_SOFT_USER_RPT.Soft_Rpt_Get", p.ToArray());
|
|
trans.Commit();
|
|
return ds.Tables[0];
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
conn.Close();
|
|
}
|
|
}
|
|
}
|
|
}
|