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 { 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(); } } /// /// 是否含有 用户名 /// /// 用户名 /// public bool IsHasUser(string username) { bool isHas = false; try { string sql = "select count(*) ncount from soft_user where username=:username"; var param = new List() { 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; } /// /// 是否含有resid /// /// 客户ID /// 是否是一部 /// 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() { 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 { 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; } /// /// 数据管理 /// /// 是否是一部 /// 客户ID /// 用户名 /// public int ContractUser(bool isOne, string resid, string userName) { try { var param = new List { 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 { 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 { 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 { 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(); } } } }