using System; using System.Collections.Generic; using System.Data; using System.Data.OracleClient; using WX.CRM.Common; namespace WX.CRM.DAL.WeWork { public class ExtUser_DAL { public decimal GetDistinctWeWorkFriendCount(string day) { try { //默认读取全部 var sql = "select count(distinct USERID) from WW_EXTUSER t where to_char(t.ctime,'yyyy-mm-dd')=:day and USERID not in(select USERID from WW_EXTUSER where ctime() { new OracleParameter() {ParameterName="day",OracleType=OracleType.VarChar,Value=day } }; DataSet ds = OracleHelper.DataQueray(CommandType.Text, sql, param.ToArray()); if (ds != null && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { return Convert.ToDecimal(ds.Tables[0].Rows[0][0]); } else { return 0; } } catch (Exception ex) { LogHelper.Error(ex); throw; } } public DataTable CountByDayReport(DateTime? beginTime, DateTime? endTime) { var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var parms = new List() { beginTime.HasValue ? new OracleParameter() { ParameterName = "p_beginTime", OracleType = OracleType.DateTime, Value = beginTime.Value } : new OracleParameter() { ParameterName = "p_beginTime", OracleType = OracleType.DateTime, Value = DBNull.Value }, endTime.HasValue ? new OracleParameter() { ParameterName = "p_endTime", OracleType = OracleType.DateTime, Value = endTime.Value } : new OracleParameter() { ParameterName = "p_endTime", OracleType = OracleType.DateTime, Value = DBNull.Value }, new OracleParameter() { ParameterName = "p_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }, }; DataSet ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WW_REPORT.CountByDay", parms.ToArray()); trans.Commit(); return ds.Tables[0]; } } catch (Exception ex) { LogHelper.Error(ex); return null; } finally { conn.Close(); } } public DataTable CountByUserAndDay(DateTime beginTime, DateTime endTime) { var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var parms = new List() { new OracleParameter() { ParameterName = "p_beginTime", OracleType = OracleType.DateTime, Value = beginTime }, new OracleParameter() { ParameterName = "p_endTime", OracleType = OracleType.DateTime, Value = endTime }, new OracleParameter() { ParameterName = "p_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output } }; DataSet ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WW_REPORT.CountByUserAndDay", parms.ToArray()); trans.Commit(); return ds.Tables[0]; } } catch (Exception ex) { LogHelper.Error(ex); return null; } finally { conn.Close(); } } /// /// 客户资料和企业微信绑定获取 /// /// /// public string[] ExtUserBandGet(string resid) { var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var parms = new List() { new OracleParameter() { ParameterName = "v_resid", OracleType = OracleType.VarChar, Value = resid }, new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }, }; DataTable ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WW.ExtUserBandGet", parms.ToArray()).Tables[0]; trans.Commit(); List extuserids = new List(); foreach (DataRow item in ds.Rows) { extuserids.Add(item["userid"].ToString()); } return extuserids.ToArray(); } } catch (Exception ex) { LogHelper.Error(ex); return null; } finally { conn.Close(); } } } }