140 lines
5.7 KiB
C#
140 lines
5.7 KiB
C#
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<to_date(:day,'yyyy-mm-dd'))";
|
|
var param = new List<OracleParameter>()
|
|
{
|
|
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<OracleParameter>()
|
|
{
|
|
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<OracleParameter>()
|
|
{
|
|
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();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 客户资料和企业微信绑定获取
|
|
/// </summary>
|
|
/// <param name="resid"></param>
|
|
/// <returns></returns>
|
|
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<OracleParameter>()
|
|
{
|
|
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<string> extuserids = new List<string>();
|
|
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();
|
|
}
|
|
}
|
|
}
|
|
}
|