TG.WXCRM.V4/BLL/Wx/WX_WORKACCOUNT_BL.cs

1347 lines
60 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.Linq;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.DAL;
using WX.CRM.DAL.Wx;
using WX.CRM.IBLL.Wx;
using WX.CRM.Model.Entity;
using WX.CRM.Model.MAP;
using WX.CRM.Model.QueryMap;
using System.Data;
using System.Data.OracleClient;
using WX.CRM.BLL.Application.UserComBox;
using Newtonsoft.Json;
using WX.CRM.Common.Layui;
using System.Text;
using WX.CRM.Common.StockHelper;
using System.Security.Policy;
namespace WX.CRM.BLL.Wx
{
public class WX_WORKACCOUNT_BL : DbContextRepository<WX_WORKACCOUNT>, IWX_WORKACCOUNT
{
private WX_WORKACCOUNT_DAL wx_WorkAccount_DAL = new WX_WORKACCOUNT_DAL();
private CACHE_BL _cache_bl = new CACHE_BL();
public List<WX_WORKACCOUNT> GetMyWorkAccountList(decimal userId)
{
using (var db = new crmContext())
{
var queryData = db.WX_WORKACCOUNT.AsQueryable();
queryData = queryData.Where(m => m.INNERUSERID == userId);
return queryData.ToList();
}
}
public List<WX_WORKACCOUNT> GetList(ref Pager page, string userName, string alias, string conRemark, string nickName, string resID, decimal[] isValids, decimal innerUserId, string stime, string etime)
{
using (var db = new crmContext())
{
var queryData = db.WX_WORKACCOUNT.AsQueryable();
if (!string.IsNullOrWhiteSpace(userName))
{
userName = userName.Trim();
queryData = queryData.Where(m => m.USERNAME.Contains(userName));
}
if (!string.IsNullOrWhiteSpace(alias))
{
alias = alias.Trim();
queryData = queryData.Where(m => m.ALIAS.Contains(alias));
}
if (!string.IsNullOrWhiteSpace(conRemark))
{
conRemark = conRemark.Trim();
queryData = queryData.Where(m => m.CONREMARK.Contains(conRemark));
}
if (!string.IsNullOrWhiteSpace(nickName))
{
nickName = nickName.Trim();
queryData = queryData.Where(m => m.NICKNAME.Contains(nickName));
}
if (!string.IsNullOrWhiteSpace(resID))
{
resID = resID.Trim();
queryData = queryData.Where(m => m.RESID == resID);
}
if (isValids != null && isValids.Length > 0)
{
queryData = queryData.Where(m => isValids.Contains(m.ISVALID.Value));
}
if (!string.IsNullOrWhiteSpace(stime))
{
DateTime time1 = Convert.ToDateTime(stime);
queryData = queryData.Where(m => m.CTIME >= time1);
}
if (!string.IsNullOrWhiteSpace(etime))
{
DateTime time2 = Convert.ToDateTime(etime).AddDays(1);
queryData = queryData.Where(m => m.CTIME < time2);
}
if (innerUserId > 0)
{
queryData = queryData.Where(m => m.INNERUSERID == innerUserId);
}
queryData = queryData.OrderByDescending(m => m.CTIME);
PagerUtil.SetPager<WX_WORKACCOUNT>(ref queryData, ref page);
return queryData.ToList();
}
}
public List<WX_WORKACCOUNT> GetList(ref Pager page, string userName, string alias, string conRemark, string nickName, string resID, decimal? groupId, decimal? userId, decimal? isValid, string stime, string etime)
{
using (var db = new crmContext())
{
//var queryData = db.WX_WORKACCOUNT.AsQueryable();
var queryData = from n in db.WX_WORKACCOUNT
join c in db.RES_CUSTOMER on n.RESID equals c.RESID
select new WX_WORKACCOUNT
{
PKID = n.PKID,
RESID = c.UMID,
USERNAME = n.USERNAME,
ALIAS = n.ALIAS,
CONREMARK = n.CONREMARK,
DOMAINLIST = n.DOMAINLIST,
NICKNAME = n.NICKNAME,
PYINITIAL = n.PYINITIAL,
QUANPIN = n.QUANPIN,
SHOWHEAD = n.SHOWHEAD,
TYPE = n.TYPE,
WEIBOFLAG = n.WEIBOFLAG,
WEIBONICKNAME = n.WEIBONICKNAME,
CONREMARKPYFULL = n.CONREMARKPYFULL,
CONREMARKPYSHORT = n.CONREMARKPYSHORT,
LVBUFF = n.LVBUFF,
VERFYFLAG = n.VERFYFLAG,
ENCRYPTUSERNAME = n.ENCRYPTUSERNAME,
CHATROOMFLAG = n.CHATROOMFLAG,
DELETEFLAG = n.DELETEFLAG,
CONTACTLABELIDS = n.CONTACTLABELIDS,
CTIME = n.CTIME,
QRCODEURL = n.QRCODEURL,
INNERUSERID = n.INNERUSERID,
ISVALID = n.ISVALID,
PAUSEENDTIME = n.PAUSEENDTIME,
QUANTITY = n.QUANTITY,
ISFENGHAO = n.ISFENGHAO,
FENGHAOTIME = n.FENGHAOTIME,
};
if (!string.IsNullOrWhiteSpace(userName))
{
userName = userName.Trim();
queryData = queryData.Where(m => m.USERNAME.Contains(userName));
}
if (!string.IsNullOrWhiteSpace(alias))
{
alias = alias.Trim();
queryData = queryData.Where(m => m.ALIAS.Contains(alias));
}
if (!string.IsNullOrWhiteSpace(conRemark))
{
conRemark = conRemark.Trim();
queryData = queryData.Where(m => m.CONREMARK.Contains(conRemark));
}
if (!string.IsNullOrWhiteSpace(nickName))
{
nickName = nickName.Trim();
queryData = queryData.Where(m => m.NICKNAME.Contains(nickName));
}
if (!string.IsNullOrWhiteSpace(resID))
{
resID = resID.Trim();
queryData = queryData.Where(m => m.RESID == resID);
}
if (!string.IsNullOrWhiteSpace(stime))
{
DateTime time1 = Convert.ToDateTime(stime);
queryData = queryData.Where(m => m.CTIME >= time1);
}
if (!string.IsNullOrWhiteSpace(etime))
{
DateTime time2 = Convert.ToDateTime(etime).AddDays(1);
queryData = queryData.Where(m => m.CTIME < time2);
}
if (isValid.HasValue)
{
queryData = queryData.Where(m => m.ISVALID == isValid);
}
//只要userid选中了就按userid查询
if (userId.HasValue && userId.Value > 0)
{
queryData = queryData.Where(m => m.INNERUSERID == userId);
}
//当选择了组然后userid没选中的话按用户组查询
else if (groupId.HasValue && groupId.Value > 0)
{
decimal g = groupId.Value;
var returnData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID
where b.GID == g
select a);
queryData = returnData;
}
queryData = queryData.OrderByDescending(m => m.CTIME);
PagerUtil.SetPager<WX_WORKACCOUNT>(ref queryData, ref page);
return queryData.ToList();
}
}
public List<WxWorkAccountView> GetAll(string[] userNames, string alias, string conRemark, string nickName, string resID, string groupId, decimal? userId, decimal? isValid, string stime, string etime, int isDismiss)
{
using (var db = new crmContext())
{
var queryData = from a in db.WX_WORKACCOUNT
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID into tmp1
from ab in tmp1.DefaultIfEmpty()
join c in db.BAS_INNERUSER on a.INNERUSERID equals c.PKID into tmp2
from ac in tmp2.DefaultIfEmpty()
join d in db.WX_ALIVE on a.USERNAME equals d.USERNAME into jiontemp
from d in jiontemp.DefaultIfEmpty()
//where c.ISDISMISS==0//临时添加
select new WxWorkAccountView() { WxWorkaccount = a, GroupId = ab.GID, ISDISMISS = ac.ISDISMISS, VERSION = d.VERSION };
if (isDismiss > -1)
{
queryData = queryData.Where(m => m.ISDISMISS == isDismiss);
}
if (userNames != null && userNames.Length > 0)
{
queryData = queryData.Where(m => userNames.Contains(m.WxWorkaccount.USERNAME));
}
if (!string.IsNullOrWhiteSpace(alias))
{
alias = alias.Trim();
queryData = queryData.Where(m => m.WxWorkaccount.ALIAS.Contains(alias));
}
if (!string.IsNullOrWhiteSpace(conRemark))
{
conRemark = conRemark.Trim();
queryData = queryData.Where(m => m.WxWorkaccount.CONREMARK.Contains(conRemark));
}
if (!string.IsNullOrWhiteSpace(nickName))
{
nickName = nickName.Trim();
queryData = queryData.Where(m => m.WxWorkaccount.NICKNAME.Contains(nickName));
}
if (!string.IsNullOrWhiteSpace(resID))
{
resID = resID.Trim();
queryData = queryData.Where(m => m.WxWorkaccount.RESID == resID);
}
if (!string.IsNullOrWhiteSpace(stime))
{
DateTime time1 = Convert.ToDateTime(stime);
queryData = queryData.Where(m => m.WxWorkaccount.CTIME >= time1);
}
if (!string.IsNullOrWhiteSpace(etime))
{
DateTime time2 = Convert.ToDateTime(etime).AddDays(1);
queryData = queryData.Where(m => m.WxWorkaccount.CTIME < time2);
}
if (isValid.HasValue)
{
queryData = queryData.Where(m => m.WxWorkaccount.ISVALID == isValid);
}
//只要userid选中了就按userid查询
if (userId.HasValue && userId.Value > 0)
{
queryData = queryData.Where(m => m.WxWorkaccount.INNERUSERID == userId);
}
//当选择了组然后userid没选中的话按用户组查询
else if (!string.IsNullOrWhiteSpace(groupId))
{
//decimal g = groupId.Value;
var _groupids = OperationUtil.ConvertToDecimal(groupId.Split(','));
List<decimal?> groupList = new List<decimal?>();
if (_groupids != null)
{
foreach (var g in _groupids)
{
groupList.Add(g);
}
}
if (groupList != null)
{
var returnData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.WxWorkaccount.INNERUSERID equals b.INNERUSERID
where groupList.Contains(b.GID)
select a);
queryData = returnData;
}
}
queryData = queryData.OrderByDescending(m => m.GroupId).ThenBy(m => m.WxWorkaccount.INNERUSERID);
return queryData.ToList();
}
}
public bool Update(ref ValidationErrors errors, string alias, string resID, string qrCodeUrl, decimal innerUserId, decimal? quantity, out decimal workAccountPkId)
{
try
{
using (crmContext db = new crmContext())
{
var model = db.WX_WORKACCOUNT.FirstOrDefault(m => m.ALIAS == alias);
if (model != null)
{
model.RESID = resID;
model.QRCODEURL = qrCodeUrl;
model.INNERUSERID = innerUserId;
model.QUANTITY = quantity;
workAccountPkId = model.PKID;
return db.SaveChanges().GetResult();
}
else
{
model = new WX_WORKACCOUNT();
model.PKID = new SEQUENCES_BL().Seq_base_get();
model.ALIAS = alias;
model.RESID = resID;
model.QRCODEURL = qrCodeUrl;
model.INNERUSERID = innerUserId;
model.CTIME = DateTime.Now;
model.QUANTITY = quantity;
db.WX_WORKACCOUNT.Add(model);
workAccountPkId = model.PKID;
return db.SaveChanges().GetResult();
}
}
}
catch (Exception ex)
{
workAccountPkId = 0;
errors.Add(ex.Message);
return false;
}
}
public bool WxUserBindToInnerUser(decimal innerUserId, decimal workAccountPkId, string alias, string startDate, DateTime ctime, out string errmsg)
{
return wx_WorkAccount_DAL.WxUserBindToInnerUser(innerUserId, workAccountPkId, alias, startDate, ctime, out errmsg);
}
public List<WX_WORKACCOUNT_ALIVE> GetAliveList(decimal?[] isValids)
{
using (var db = new crmContext())
{
var queryData = db.WX_WORKACCOUNT.AsQueryable();
if (isValids != null && isValids.Length > 0)
{
queryData = queryData.Where(m => isValids.Contains(m.ISVALID));
}
else
{
queryData = queryData.Where(m => m.ISVALID != 0);
}
var returnData = from a in queryData
join b in db.WX_ALIVE on a.USERNAME equals b.USERNAME into jiontemp
from b in jiontemp.DefaultIfEmpty()
join c in db.WX_WORKACCOUNT_INIT on a.ALIAS equals c.ALIAS into jiontemp2
from c in jiontemp2.DefaultIfEmpty()
join d in db.BAS_GROUPLEADER on a.INNERUSERID equals d.INNERUSERID into jiontemp3
from d in jiontemp3.DefaultIfEmpty()
select new WX_WORKACCOUNT_ALIVE()
{
UserName = a.USERNAME,
Alias = a.ALIAS,
NickName = a.NICKNAME,
LastTime = b.LASTTIME,
InnerUserId = a.INNERUSERID,
Version = b.VERSION,
Uin = b.UIN,
IsValid = a.ISVALID,
AuditMemo = c.AUDITMEMO,
LeaderType = d.LEADERTYPE,
Quantity = a.QUANTITY,
ISFENGHAO = a.ISFENGHAO,
FENGHAOTIME = a.FENGHAOTIME
};
List<WX_WORKACCOUNT_ALIVE> list = new List<WX_WORKACCOUNT_ALIVE>();
foreach (var item in returnData)
{
if (item.LastTime.HasValue && DateTime.Now.AddMinutes(-10) < item.LastTime)
{
item.OnLine = 1;
}
list.Add(item);
}
return list.OrderByDescending(m => m.OnLine).OrderByDescending(m => m.LastTime).ToList();
}
}
public List<WX_WORKACCOUNT_ALIVE> Get24HoursNoWeixinFriendAliveList(List<string> weixinList)
{
using (var db = new crmContext())
{
var queryData = db.WX_WORKACCOUNT.AsQueryable();
queryData = queryData.Where(m => weixinList.Contains(m.ALIAS));
var returnData = from a in queryData
join b in db.WX_ALIVE on a.USERNAME equals b.USERNAME into jiontemp
from b in jiontemp.DefaultIfEmpty()
join c in db.WX_WORKACCOUNT_INIT on a.ALIAS equals c.ALIAS into jiontemp2
from c in jiontemp2.DefaultIfEmpty()
join d in db.BAS_GROUPLEADER on a.INNERUSERID equals d.INNERUSERID into jiontemp3
from d in jiontemp3.DefaultIfEmpty()
select new WX_WORKACCOUNT_ALIVE()
{
UserName = a.USERNAME,
Alias = a.ALIAS,
NickName = a.NICKNAME,
LastTime = b.LASTTIME,
InnerUserId = a.INNERUSERID,
Version = b.VERSION,
Uin = b.UIN,
IsValid = a.ISVALID,
AuditMemo = c.AUDITMEMO,
LeaderType = d.LEADERTYPE,
Quantity = a.QUANTITY,
ISFENGHAO = a.ISFENGHAO,
FENGHAOTIME = a.FENGHAOTIME
};
List<WX_WORKACCOUNT_ALIVE> list = new List<WX_WORKACCOUNT_ALIVE>();
foreach (var item in returnData)
{
if (item.LastTime.HasValue && DateTime.Now.AddMinutes(-10) < item.LastTime)
{
item.OnLine = 1;
}
list.Add(item);
}
return list.OrderByDescending(m => m.OnLine).OrderByDescending(m => m.LastTime).ToList();
}
}
/// <summary>
/// 通过工作微信获取
/// </summary>
/// <param name="workusername"></param>
/// <returns></returns>
public List<WX_WorkRCONTACT> GetRcontactList(string workusername, string column, string sort)
{
return new WX_WORKACCOUNT_DAL().GetRcontactByWorkAccount(workusername, column, sort);
}
/// <summary>
/// 通过工作微信获取
/// </summary>
/// <param name="workusername"></param>
/// <returns></returns>
public List<Wx_WorkGroupRcontact> GetGroupsByWorkAccount(string workusername, string column, string sort)
{
return new WX_WORKACCOUNT_DAL().GetGroupsByWorkAccount(workusername, column, sort);
}
public WX_WORKACCOUNT GetWorAccount(string worusername)
{
using (var db = new crmContext())
{
return db.WX_WORKACCOUNT.FirstOrDefault(m => m.USERNAME == worusername);
}
}
public bool EveryDayManualPauseHandle(out string errmsg)
{
return wx_WorkAccount_DAL.EveryDayManualPauseHandle(out errmsg);
}
public bool EveryDaySystemPauseHandle(out string errmsg)
{
return wx_WorkAccount_DAL.EveryDaySystemPauseHandle(out errmsg);
}
public List<WxResourceReport> GetWxResourceReport(QueryUserComboDto usercomboDto, DateTime sTime, DateTime eTime, decimal curMonth, decimal? resType, DateTime? cjTime1, DateTime? cjTime2)
{
if (!string.IsNullOrWhiteSpace(usercomboDto.deptId))
{
UserServices userservices = new UserServices();
List<decimal> deptIDS = new List<decimal>();
List<decimal> gidS = new List<decimal>();
userservices.GetAllDeptIDOrGidByDeptStr(usercomboDto.deptId, ref deptIDS, ref gidS);//获取所有的组别和gid
usercomboDto.deptId = string.Join(",", deptIDS);
}
return wx_WorkAccount_DAL.GetWxResourceReport(usercomboDto, sTime, eTime, curMonth, resType, cjTime1, cjTime2);
}
public List<OrderResourceReport> GetOrderResourceReport(DateTime sTime, DateTime eTime)
{
return wx_WorkAccount_DAL.GetOrderResourceReport(sTime, eTime);
}
public DataTable UpdateAliasFengHao(string v_alias, int v_isFenghao)
{
return wx_WorkAccount_DAL.UpdateAliasFengHao(v_alias, v_isFenghao);
}
public WxResourceDay GetWxResourceDay(DateTime sTime, DateTime eTime)
{
return wx_WorkAccount_DAL.GetWxResourceDay(sTime, eTime);
}
public void GenWxResourceCount()
{
wx_WorkAccount_DAL.GenWxResourceCount();
}
public DataTable GetWorkAccountBindByInnerUserId(decimal innerUserId)
{
var ds = wx_WorkAccount_DAL.GetWorkAccountBindByInnerUserId(innerUserId);
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0];
}
return new DataTable();
}
public List<string> Get24HoursNoWeixinFriend()
{
return wx_WorkAccount_DAL.Get24HoursNoWeixinFriend();
}
public int GetWeiXinPauseTime(string alias)
{
return wx_WorkAccount_DAL.GetWeiXinPauseTime(alias);
}
public List<WxWorkAccountView> GetWorkAccountAllList(int isDismiss, decimal? groupId)
{
using (var db = new crmContext())
{
var queryData = from a in db.WX_WORKACCOUNT
join b in db.BAS_INNERUSERGROUP on a.INNERUSERID equals b.INNERUSERID into tmp1
from ab in tmp1.DefaultIfEmpty()
join c in db.BAS_INNERUSER on a.INNERUSERID equals c.PKID into tmp2
from ac in tmp2.DefaultIfEmpty()
join d in db.WX_ALIVE on a.USERNAME equals d.USERNAME into jiontemp
from d in jiontemp.DefaultIfEmpty()
join e in db.WX_WORKACCOUNT_INIT on a.ALIAS equals e.ALIAS into jiontemp2
from e in jiontemp2.DefaultIfEmpty()
where a.ISVALID == 2
select new WxWorkAccountView() { WxWorkaccount = a, GroupId = ab.GID, ISDISMISS = ac.ISDISMISS, VERSION = d.VERSION, LASTTIME = d.LASTTIME, MOBILE = e.MOBILE, Uin = d.UIN };
if (isDismiss > -1)
{
queryData = queryData.Where(m => m.ISDISMISS == isDismiss);
}
//当选择了组
if (groupId.HasValue && groupId.Value > 0)
{
decimal g = groupId.Value;
var returnData = (from a in queryData
join b in db.BAS_INNERUSERGROUP on a.WxWorkaccount.INNERUSERID equals b.INNERUSERID
where b.GID == g
select a);
queryData = returnData;
}
List<WxWorkAccountView> list = new List<WxWorkAccountView>();
foreach (var item in queryData)
{
if (item.LASTTIME.HasValue && DateTime.Now.AddMinutes(-10) < item.LASTTIME)
{
item.OnLine = 1;
}
list.Add(item);
}
//queryData = queryData.OrderByDescending(m => m.GroupId).ThenBy(m => m.WxWorkaccount.INNERUSERID);
return list.OrderByDescending(m => m.OnLine).OrderByDescending(m => m.LASTTIME).ToList();
}
}
public List<TMP_DANGSAN_DATA_REPORT> GetUserWorkStatistics(Pager pager, List<decimal> userId, DateTime Stime, DateTime Etime, bool hideQuit)
{
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
List<TMP_DANGSAN_DATA_REPORT> result = new List<TMP_DANGSAN_DATA_REPORT>();
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (OracleTransaction trans = conn.BeginTransaction())
{
var p = new List<OracleParameter> {
new OracleParameter{ ParameterName="start_date", OracleType = OracleType.VarChar,Value=Stime.ToString("yyyy-MM-dd") },
new OracleParameter{ ParameterName="end_date", OracleType = OracleType.VarChar, Value=Etime.ToString("yyyy-MM-dd") },
new OracleParameter{ParameterName="results",OracleType=OracleType.Cursor,Direction = ParameterDirection.Output}
};
var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "DongSanDataReport", p.ToArray());
trans.Commit();
if (null != ds && ds.Tables[0].Rows.Count > 0)
{
var dataRows = ds.Tables[0].ToList<TMP_DANGSAN_DATA_REPORT>();
var list = dataRows.Where(m => userId.Contains(m.PKID)).AsQueryable();
if (hideQuit)
{
list = list.Where(m => m.ISDISMISS == 0);
}
result = list.ToList();
//PagerUtil.SetPager<TMP_DANGSAN_DATA_REPORT>(ref list, ref pager);//分页
}
else
{
return new List<TMP_DANGSAN_DATA_REPORT>();
}
}
#region
var url = Utility.GetSettingByKey("rzapi");
//获取 统计数据
var fullApi = $"{url}/Api/EarlyWarning/ExternalUserTotal";
Dictionary<string, object> param = new Dictionary<string, object>();
param.Add("dateFrom", Stime.ToString("yyyy-MM-dd HH:mm:ss"));
param.Add("dateTo", Etime.ToString("yyyy-MM-dd HH:mm:ss"));
param.Add("eids", result.Select(m => Convert.ToInt32(m.EID)));
var dataJson = Utility.PostAjaxData(fullApi, JsonConvert.SerializeObject(param), System.Text.Encoding.UTF8);
var queData = JsonConvert.DeserializeObject<RZApiModel<List<RZApiItem>>>(dataJson);
var totalGup = queData.Data.ToDictionary(m => m.eid, n => n.total);//加微数
var unionGup = queData.Data.ToDictionary(m => m.eid, n => n.eidrepeattypenew);//工号去重
var amountGup = queData.Data.ToDictionary(m => m.eid, n => n.eidrepeattype1deptnew);//部门去重
foreach (var item in result)
{
var eid = Convert.ToInt32(item.EID);
item.WX_AMOUNT = 0;
item.WX_AMOUNT_UNIONID = 0;
item.WX_AMOUNT_DISTINCT = 0;
if (totalGup.ContainsKey(eid))
{
item.WX_AMOUNT = totalGup[eid] ?? 0;
}
if (unionGup.ContainsKey(eid))
{
item.WX_AMOUNT_UNIONID = unionGup[eid] ?? 0;
}
if (amountGup.ContainsKey(eid))
{
item.WX_AMOUNT_DISTINCT = amountGup[eid] ?? 0;
}
if (item.TOTAL_AMOUNT > 0)
{
item.WX_RATE = Math.Round(item.WX_AMOUNT / item.TOTAL_AMOUNT * 100, 2);
item.WX_RATE_DISTINCT = Math.Round(item.WX_AMOUNT_DISTINCT / item.TOTAL_AMOUNT * 100, 2);
item.WX_RATE_UNIONID = Math.Round(item.WX_AMOUNT_UNIONID / item.TOTAL_AMOUNT * 100, 2);
}
}
#endregion
#region
//MySqlDbHelper mySqlhelper = new MySqlDbHelper("MysqlQWConn");
//using (var db = new crmContext())
//{
// //用户userid与 eid 对应关系
// var eid2innerId = db.Database.SqlQuery<TMP_EID_USERID>("select corpid,eid,Userid from ww_hhuser_eid");
// //本部门 所有数据
// var allextuser = mySqlhelper.QueryEntitys<MySql_WW_USER_EXTUSER>($@"select * from ww_user_extuser where
// CONCAT(corpid,userid) in ('{string.Join("','", eid2innerId.Select(m => m.CORPID + m.USERID))}')");
// //代码提取最早的一条数据
// #region 加微数
// var allUser_extuser = allextuser
// .Where(m => m.Ctime >= Stime && m.Ctime <= Etime.AddDays(1).AddSeconds(-1))//时间筛选
// .GroupBy(m => m.CORPID + m.USERID); //时间分组
// //匹配eid
// var gup = eid2innerId.Join(allUser_extuser, m => m.CORPID + m.USERID, n => n.Key, (m, n) =>
// {
// return new
// {
// eid = m.EID,
// count = n.Count()
// };
// }).GroupBy(m => m.eid).ToDictionary(m => m.Key.ToString(), n => n.Sum(i => i.count));
// #endregion
// #region 去重加微数
// var trueExtuser = new List<MySql_WW_USER_EXTUSER>();
// //去重
// var extuser_gup_dis = allextuser.GroupBy(m => m.Extuserid);
// foreach (var item in extuser_gup_dis)
// {
// var first = item.ToList().OrderBy(m => m.Ctime).First();//获取最早添加好友的记录
// trueExtuser.Add(first);
// }
// //统计 时间范围内 去重后加微数
// var allUser_extuser_dis = trueExtuser
// .Where(m=>m.Ctime>= Stime && m.Ctime<=Etime.AddDays(1).AddSeconds(-1))//时间筛选
// .GroupBy(m => m.CORPID + m.USERID).Select(i =>
// new WW_USER_EXTUSERID()
// {
// CORPID = i.First().CORPID,
// USERID = i.First().USERID,
// Count = i.Count()
// });
// //匹配eid
// var gup_dis = eid2innerId.Join(allUser_extuser_dis, m => m.CORPID + m.USERID, n => n.CORPID + n.USERID, (m, n) =>
// {
// return new
// {
// eid = m.EID,
// count = n.Count
// };
// }).GroupBy(m => m.eid).ToDictionary(m => m.Key.ToString(), n => n.Sum(i => i.count));
// #endregion
// foreach (var item in result)
// {
// item.WX_RATE = 0;
// item.WX_AMOUNT = 0;
// item.WX_AMOUNT_DISTINCT = 0;
// if (gup.ContainsKey(item.EID.ToString()))
// {
// item.WX_AMOUNT = gup[item.EID.ToString()];
// }
// if (gup_dis.ContainsKey(item.EID.ToString()))
// {
// item.WX_AMOUNT_DISTINCT = gup_dis[item.EID.ToString()];
// }
// if (item.TOTAL_AMOUNT > 0)
// {
// item.WX_RATE = Math.Round(item.WX_AMOUNT / item.TOTAL_AMOUNT * 100, 2);
// item.WX_RATE_DISTINCT = Math.Round(item.WX_AMOUNT_DISTINCT / item.TOTAL_AMOUNT * 100, 2);
// }
// }
//}
#endregion
}
catch (Exception ex) { throw ex; }
finally { conn.Close(); }
#region
//排序
if (pager.order == "desc")
{
switch (pager.sort)
{
case "total_amount":
result = result.OrderByDescending(c => c.TOTAL_AMOUNT).ToList();
break;
case "reg_amount":
result = result.OrderByDescending(c => c.REG_AMOUNT).ToList();
break;
case "reg_f_amount":
result = result.OrderByDescending(c => c.REG_F_AMOUNT).ToList();
break;
case "act_amount":
result = result.OrderByDescending(c => c.ACT_AMOUNT).ToList();
break;
case "other_amount":
result = result.OrderByDescending(c => c.OTHER_AMOUNT).ToList();
break;
case "wx_amount":
result = result.OrderByDescending(c => c.WX_AMOUNT).ToList();
break;
case "explain_amount":
result = result.OrderByDescending(c => c.EXPLAIN_AMOUNT).ToList();
break;
case "explain_rate":
result = result.OrderByDescending(c => c.EXPLAIN_RATE).ToList();
break;
case "open_amount":
result = result.OrderByDescending(c => c.OPEN_AMOUNT).ToList();
break;
case "deal_amount":
result = result.OrderByDescending(c => c.DEAL_AMOUNT).ToList();
break;
case "deal_rate":
result = result.OrderByDescending(c => c.DEAL_RATE).ToList();
break;
default:
result = result.OrderByDescending(c => c.TOTAL_AMOUNT).ToList();
break;
}
}
else
{
switch (pager.sort)
{
case "total_amount":
result = result.OrderBy(c => c.TOTAL_AMOUNT).ToList();
break;
case "reg_amount":
result = result.OrderBy(c => c.REG_AMOUNT).ToList();
break;
case "reg_f_amount":
result = result.OrderBy(c => c.REG_F_AMOUNT).ToList();
break;
case "act_amount":
result = result.OrderBy(c => c.ACT_AMOUNT).ToList();
break;
case "other_amount":
result = result.OrderBy(c => c.OTHER_AMOUNT).ToList();
break;
case "wx_amount":
result = result.OrderBy(c => c.WX_AMOUNT).ToList();
break;
case "explain_amount":
result = result.OrderBy(c => c.EXPLAIN_AMOUNT).ToList();
break;
case "explain_rate":
result = result.OrderBy(c => c.EXPLAIN_RATE).ToList();
break;
case "open_amount":
result = result.OrderBy(c => c.OPEN_AMOUNT).ToList();
break;
case "deal_amount":
result = result.OrderBy(c => c.DEAL_AMOUNT).ToList();
break;
case "deal_rate":
result = result.OrderBy(c => c.DEAL_RATE).ToList();
break;
default:
result = result.OrderBy(c => c.TOTAL_AMOUNT).ToList();
break;
}
}
#endregion
return result;
}
public List<UserWorkReport3View> GetMediareport(Pager pager, List<decimal> userId, string deptid, string uname, string eid, DateTime Stime, DateTime Etime, bool hideQuit)
{
List<UserWorkReport3View> reslut = new List<UserWorkReport3View>();
try
{
List<Mysql_Mediareport3> mediareportList = new List<Mysql_Mediareport3>();
var url = Utility.GetSettingByKey("CmsApi");
using (var db = new crmContext())
{
//获取 统计数据
var fullApi = $"{url}/Read/QueryMediareport3.html";
var dataJson = Utility.GetData(fullApi, $"&deptid={deptid}&starttime={Stime.ToString("yyyy-MM-dd")}&endtime={Etime.ToString("yyyy-MM-dd")}", System.Text.Encoding.Unicode);
var queData = JsonConvert.DeserializeObject<MediareportApiModel<List<Mysql_Mediareport3>>>(dataJson);
if (queData.s)
{
mediareportList = queData.d;
}
reslut = (from iu in db.BAS_INNERUSER
join iug in db.BAS_INNERUSERGROUP on iu.PKID equals iug.INNERUSERID
join ig in db.BAS_INNERGROUP on iug.GID equals ig.GID
where userId.Contains(iu.PKID) && (!hideQuit || (hideQuit && iu.ISDISMISS == 0)) //过滤前端组选择
select new UserWorkReport3View()
{
UNAME = iu.UNAME,
EID = iu.EID,
GID = ig.GID,
GNAME = ig.GNAME
}).ToList();
//合并数据
var medGup = mediareportList.Where(m => m.eid != null).GroupBy(m => m.eid).ToDictionary(m => m.Key, n => n.ToList());
//过滤一下
reslut = reslut.Where(m => (string.IsNullOrEmpty(uname) || m.UNAME.Contains(uname)) && (string.IsNullOrEmpty(eid) || m.EID.ToString() == eid)).ToList();
//加微数total - addway202
//取关数unsubscribe - unsubscribeaddway202
//加微去重部门去重repeattype + repeattype100 + repeattype150
//PC注册人数dgeeregsdept
//APP注册人数 appregsdept
//成交人数totaluv
//当月成交人数totaluv_m0
foreach (var item in reslut)
{
if (medGup.ContainsKey(item.EID))
{
var medList = medGup[item.EID];
item.WX_TOTAL = medList.Sum(m => (m.total ?? 0) - (m.addway202 ?? 0));//加微
item.WX_TOTAL_RE_DEP = medList.Sum(m => (m.repeattype ?? 0) + (m.repeattype100 ?? 0) + (m.repeattype150 ?? 0));//部门去重
item.DEL_TOTAL = medList.Sum(m => (m.unsubscribe ?? 0) - (m.unsubscribeaddway202 ?? 0));//取关
item.REG_TOTAL_PC = medList.Sum(m => m.dgeeregsdept ?? 0);//PC注册
item.REG_TOTAL_APP = medList.Sum(m => m.appregsdept ?? 0);//APP注册
item.DEAL_TOTAL = medList.Sum(m => m.totaluv ?? 0);//成交量
item.DEAL_TOTAL_M0 = medList.Sum(m => m.totaluv_m0 ?? 0);//当月成交量
}
else
{
item.WX_TOTAL = 0;//加微
item.WX_TOTAL_RE_DEP = 0;//部门去重
item.DEL_TOTAL = 0;//取关
item.REG_TOTAL_PC = 0;//PC注册
item.REG_TOTAL_APP = 0;//APP注册
item.DEAL_TOTAL = 0;//成交量
item.DEAL_TOTAL_M0 = 0;//当月成交量
}
item.REG_TOTAL = item.REG_TOTAL_APP + item.REG_TOTAL_PC;
item.DEL_RATE = GetRate(item.DEL_TOTAL, item.WX_TOTAL);//删除微信率
item.REG_RATE = GetRate(item.REG_TOTAL, item.WX_TOTAL_RE_DEP);//注册率
item.REG_RATE_APP = GetRate(item.REG_TOTAL_APP, item.WX_TOTAL_RE_DEP);//注册率
item.REG_RATE_PC = GetRate(item.REG_TOTAL_PC, item.WX_TOTAL_RE_DEP);//注册率
item.DEAL_RATE = GetRate(item.DEAL_TOTAL, item.WX_TOTAL);//成交率
}
#region
//排序
if (pager.order == "desc")
{
switch (pager.sort.ToLower())
{
case "wx_total_re_dep":
reslut = reslut.OrderByDescending(c => c.WX_TOTAL_RE_DEP).ToList();
break;
case "wx_total":
reslut = reslut.OrderByDescending(c => c.WX_TOTAL).ToList();
break;
case "del_total":
reslut = reslut.OrderByDescending(c => c.DEL_TOTAL).ToList();
break;
case "reg_total":
reslut = reslut.OrderByDescending(c => c.REG_TOTAL).ToList();
break;
case "reg_total_app":
reslut = reslut.OrderByDescending(c => c.REG_TOTAL_APP).ToList();
break;
case "reg_total_pc":
reslut = reslut.OrderByDescending(c => c.REG_TOTAL_PC).ToList();
break;
case "deal_total":
reslut = reslut.OrderByDescending(c => c.DEAL_TOTAL).ToList();
break;
case "del_rate":
reslut = reslut.OrderByDescending(c => c.DEL_RATE).ToList();
break;
case "reg_rate":
reslut = reslut.OrderByDescending(c => c.REG_RATE).ToList();
break;
case "reg_rate_app":
reslut = reslut.OrderByDescending(c => c.REG_RATE_APP).ToList();
break;
case "reg_rate_pc":
reslut = reslut.OrderByDescending(c => c.REG_RATE_PC).ToList();
break;
case "deal_rate":
reslut = reslut.OrderByDescending(c => c.DEAL_RATE).ToList();
break;
case "deal_total_m0":
reslut = reslut.OrderByDescending(c => c.DEAL_TOTAL_M0).ToList();
break;
default:
reslut = reslut.OrderByDescending(c => c.WX_TOTAL).ToList();
break;
}
}
else
{
switch (pager.sort.ToLower())
{
case "wx_total_re_dep":
reslut = reslut.OrderBy(c => c.WX_TOTAL_RE_DEP).ToList();
break;
case "wx_total":
reslut = reslut.OrderBy(c => c.WX_TOTAL).ToList();
break;
case "del_total":
reslut = reslut.OrderBy(c => c.DEL_TOTAL).ToList();
break;
case "reg_total":
reslut = reslut.OrderBy(c => c.REG_TOTAL).ToList();
break;
case "reg_total_app":
reslut = reslut.OrderBy(c => c.REG_TOTAL_APP).ToList();
break;
case "reg_total_pc":
reslut = reslut.OrderBy(c => c.REG_TOTAL_PC).ToList();
break;
case "deal_total":
reslut = reslut.OrderBy(c => c.DEAL_TOTAL).ToList();
break;
case "del_rate":
reslut = reslut.OrderBy(c => c.DEL_RATE).ToList();
break;
case "reg_rate":
reslut = reslut.OrderBy(c => c.REG_RATE).ToList();
break;
case "reg_rate_app":
reslut = reslut.OrderBy(c => c.REG_RATE_APP).ToList();
break;
case "reg_rate_pc":
reslut = reslut.OrderBy(c => c.REG_RATE_PC).ToList();
break;
case "deal_rate":
reslut = reslut.OrderBy(c => c.DEAL_RATE).ToList();
break;
case "deal_total_m0":
reslut = reslut.OrderBy(c => c.DEAL_TOTAL_M0).ToList();
break;
default:
reslut = reslut.OrderBy(c => c.WX_TOTAL).ToList();
break;
}
}
#endregion
//合计
UserWorkReport3View sum = new UserWorkReport3View();
sum.GNAME = "合计";
sum.UNAME = "合计";
sum.WX_TOTAL = reslut.Sum(m => m.WX_TOTAL);//加微
sum.WX_TOTAL_RE_DEP = reslut.Sum(m => m.WX_TOTAL_RE_DEP);//部门 去重
sum.DEL_TOTAL = reslut.Sum(m => m.DEL_TOTAL);//删除微信
sum.REG_TOTAL = reslut.Sum(m => m.REG_TOTAL);//注册
sum.REG_TOTAL_PC = reslut.Sum(m => m.REG_TOTAL_PC);//注册
sum.REG_TOTAL_APP = reslut.Sum(m => m.REG_TOTAL_APP);//注册
sum.DEAL_TOTAL = reslut.Sum(m => m.DEAL_TOTAL);//成交量
sum.DEAL_TOTAL_M0 = reslut.Sum(m => m.DEAL_TOTAL_M0);//当月成交量
sum.DEL_RATE = GetRate(sum.DEL_TOTAL, sum.WX_TOTAL);//删除微信率
sum.REG_RATE = GetRate(sum.REG_TOTAL, sum.WX_TOTAL_RE_DEP);//注册率
sum.REG_RATE_APP = GetRate(sum.REG_TOTAL_APP, sum.WX_TOTAL_RE_DEP);//注册率
sum.REG_RATE_PC = GetRate(sum.REG_TOTAL_PC, sum.WX_TOTAL_RE_DEP);//注册率
sum.DEAL_RATE = GetRate(sum.DEAL_TOTAL, sum.WX_TOTAL);//成交率
reslut.Add(sum);
}
}
catch (Exception ex) { throw ex; }
return reslut;
}
private decimal GetRate(int? total, int? dividend, int rcount = 1)
{
if (!total.HasValue || !dividend.HasValue) return 0;
return (total == 0 || dividend == 0) ? 0 : Math.Round(Convert.ToDecimal(total.Value) / dividend.Value * 100, rcount);
}
public List<string> GetAllVersion()
{
using (var db = new crmContext())
{
DateTime time = new DateTime(2018, 1, 1);
var xx = from p in db.WX_ALIVE
where p.LASTTIME > time
group p by p.VERSION into g
select g.Key
;
return xx.OrderBy(m => m).ToList();
}
}
/// <summary>
/// 获取db上传位置
/// </summary>
/// <param name="v_username"></param>
/// <returns></returns>
public WX_UPLOADMAXCREATETIME GetUploadMaxCreateTime(string v_username)
{
using (var db = new crmContext())
{
return db.WX_UPLOADMAXCREATETIME.FirstOrDefault(m => m.USERNAME == v_username);
}
}
/// <summary>
/// 手动修改上传位置
/// </summary>
/// <param name="username"></param>
/// <param name="type">1:普通消息 2群发助手消息</param>
/// <param name="time"></param>
/// <returns></returns>
public bool UpdateUpdateMaxCreateTime(string username, int type, DateTime time)
{
using (var db = new crmContext())
{
WX_UPLOADMAXCREATETIME entry = db.WX_UPLOADMAXCREATETIME.FirstOrDefault(m => m.USERNAME == username);
if (entry == null)//没有初始化数据,就新增
{
WX_UPLOADMAXCREATETIME model = new WX_UPLOADMAXCREATETIME()
{
USERNAME = username,
UPTIME = DateTime.Now
};
if (type == 1)
{
model.CREATETIME = DateTimeTool.ConvertDateTimeLong(time);
model.CREATETIMEWIN = time;
}
else
{
model.QUNFACLIENTID = "" + DateTimeTool.ConvertDateTimeLong(time);
}
db.WX_UPLOADMAXCREATETIME.Add(model);
}
else
{
if (type == 1)
{
entry.CREATETIME = DateTimeTool.ConvertDateTimeLong(time);
entry.CREATETIMEWIN = time;
}
else
{
entry.QUNFACLIENTID = "" + DateTimeTool.ConvertDateTimeLong(time);
}
}
return db.SaveChanges().GetResult();
}
}
public List<TemplateListModel> GetTemplateList(Laypage pager, GetWarnningTemplateDto dto)
{
List<TemplateListModel> res = new List<TemplateListModel>();
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
var postparams = $"PageIndex={pager.page}&PageSize={pager.limit}&Sort={pager.sort}&Order={pager.order}";
if (dto.Id.HasValue)
{
postparams += $"&Id={dto.Id}";
}
if (!string.IsNullOrWhiteSpace(dto.Name))
{
postparams += $"&name={dto.Name}";
}
if (!string.IsNullOrWhiteSpace(dto.DeptId))
{
postparams += $"&deptid={dto.DeptId}";
}
if (!string.IsNullOrWhiteSpace("Core_ZxdService_WebApi"))
{
url = $"{url}Api/Warnning/TemplatePage";
var result = Utility.GetData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<TemplateReturnModel>>(result);
pager.count = reqInfo.Data.total;
res = reqInfo.Data.data;
}
return res;
}
public TemplateListModel GetTemplate(int id)
{
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
var postparams = $"id={id}";
if (!string.IsNullOrWhiteSpace("Core_ZxdService_WebApi"))
{
url = $"{url}Api/Warnning/Template";
var result = Utility.GetData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<TemplateListModel>>(result);
return reqInfo.Data;
}
return new TemplateListModel();
}
public List<WarnUserList> GetWarnUser(Laypage pager, GetWarnningUserDto dto)
{
List<WarnUserList> res = new List<WarnUserList>();
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
var postparams = $"PageIndex={pager.page}&PageSize={pager.limit}&Sort={pager.sort}&Order={pager.order}";
if (!string.IsNullOrWhiteSpace(dto.DeptId))
{
postparams += $"&deptid={dto.DeptId}";
}
if (!string.IsNullOrWhiteSpace("Core_ZxdService_WebApi"))
{
url = $"{url}Api/Warnning/GetWarnUserTotal";
var result = Utility.GetData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<List<WarnUserList>>>(result);
//pager.count = reqInfo.Data.totalCount;
res = reqInfo.Data;
}
return res;
}
public EarlyWarningUser GetWarnUserModel(string code)
{
EarlyWarningUser res = new EarlyWarningUser();
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
var postparams = "";
if (!string.IsNullOrWhiteSpace(code))
{
postparams += $"&code={code}";
}
if (!string.IsNullOrWhiteSpace("Core_ZxdService_WebApi"))
{
url = $"{url}Api/Warnning/GetWarnUser";
var result = Utility.GetData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<EarlyWarningUser>>(result);
//pager.count = reqInfo.Data.totalCount;
res = reqInfo.Data;
}
return res;
}
public void DeleteWarnUser(string code)
{
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
var postparams = "";
if (!string.IsNullOrWhiteSpace(code))
{
postparams += $"&code={code}";
}
if (!string.IsNullOrWhiteSpace("Core_ZxdService_WebApi"))
{
url = $"{url}Api/Warnning/WarnUser";
var result = Utility.DeleteData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult>(result);
}
}
public bool AddTemplate(TemplateListModel dto)
{
dto.PrewarningValue = JsonConvert.DeserializeObject<List<TemplateSettingDetail>>(dto.PrewarningValue).ToJson();
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
url = $"{url}Api/Warnning/AddTemplate";
var result = Utility.PostAjaxData(url, dto.ToJson(), Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<bool>>(result);
//res = reqInfo.Data.data;
return reqInfo.Data;
}
public TemplateListModel GetNewTemplateListModel(string deptId)
{
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
url = $"{url}Api/Warnning/NewTemplatePeriod";
var result = Utility.GetData(url, "?deptid=" + deptId, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<TemplateListModel>>(result);
return reqInfo.Data;
}
public List<TemplateListModel> GetWarnUserList(Laypage pager, GetWarnningTemplateDto dto)
{
List<TemplateListModel> res = new List<TemplateListModel>();
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
var postparams = $"PageIndex={pager.page}&PageSize={pager.limit}&Sort={pager.sort}&Order={pager.order}";
if (dto.Id.HasValue)
{
postparams += $"&Id={dto.Id}";
}
if (!string.IsNullOrWhiteSpace(dto.Name))
{
postparams += $"&name={dto.Name}";
}
if (!string.IsNullOrWhiteSpace(dto.DeptId))
{
postparams += $"&deptid={dto.DeptId}";
}
if (!string.IsNullOrWhiteSpace("Core_ZxdService_WebApi"))
{
url = $"{url}Api/Warnning/GetTemplate";
var result = Utility.GetData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<TemplateReturnModel>>(result);
pager.count = reqInfo.Data.totalCount;
res = reqInfo.Data.data;
}
return res;
}
public bool AddWarnUser(EarlyWarningUser dto)
{
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
url = $"{url}Api/Warnning/AddWarnUser";
var result = Utility.PostAjaxData(url, dto.ToJson(), Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<bool>>(result);
//res = reqInfo.Data.data;
return reqInfo.Data;
}
public bool AddWarnSetting(CreateOrEditSettingDto dto)
{
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
url = $"{url}Api/Warnning/AddWarnSetting";
var result = Utility.PostAjaxData(url, dto.ToJson(), Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<bool>>(result);
if (reqInfo.Code == -1)
{
throw new Exception(reqInfo.Message);
}
//res = reqInfo.Data.data;
return reqInfo.Data;
}
public List<WranReportListModel> GetWarnSettingByEid(List<decimal> eidFilter)
{
List<WranReportListModel> res = new List<WranReportListModel>();
try
{
var url = _cache_bl.GetValue_Parameter("Core_ZxdService_WebApi");
url = $"{url}Api/Warnning/GetWarnSettingByEid";
var postparams = $"eidFilter=" + string.Join(",", eidFilter);
var result = Utility.GetData(url, postparams, Encoding.UTF8);
var reqInfo = JsonConvert.DeserializeObject<ApiResult<List<WranReportListModel>>>(result);
//res = reqInfo.Data.data;
res = reqInfo.Data;
}
catch (Exception ex)
{
LogHelper.Error($"获取最大资源量失败{ex.Message}");
}
return res;
}
}
}