ComplianceServer/oldcode/BLL/Csvr/CSVR_RECORDSHARED_BL.cs

247 lines
11 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using WX.CRM.BLL.Base;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.IBLL.Csvr;
using WX.CRM.Model.Entity;
using WX.CRM.Model.MAP;
using WX.CRM.BLL.Application.UserComBox;
namespace WX.CRM.BLL.Csvr
{
public class CSVR_RECORDSHARED_BL : ICSVR_RECORDSHARED, ICSVR_RECORDSHARED_Q
{
public bool Create_RecordShared(ref ValidationErrors errors, CSVR_RECORDSHARED model)
{
try
{
using (var db = new crmContext())
{
CSVR_RECORDSHARED entity = db.CSVR_RECORDSHARED.FirstOrDefault(m => m.RECORDID == model.RECORDID);
if (entity == null)
{
model.PKID = new SEQUENCES_BL().Seq_base_get();
db.CSVR_RECORDSHARED.Add(model);
return db.SaveChanges().GetResult();
}
else
{
errors.Add("添加的共享录音已存在!");
return false;
}
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public CSVR_RECORDSHARED GetModel_RecordShared(decimal recordId)
{
using (var db = new crmContext())
{
return db.CSVR_RECORDSHARED.FirstOrDefault(m => m.RECORDID == recordId);
}
}
public bool Delete_RecordShared(ref ValidationErrors errors, decimal id)
{
try
{
using (var db = new crmContext())
{
CSVR_RECORDSHARED entity = db.CSVR_RECORDSHARED.FirstOrDefault(m => m.PKID == id);
if (entity == null)
{
errors.Add("数据不存在!");
return false;
}
db.CSVR_RECORDSHARED.Remove(entity);
return db.SaveChanges().GetResult();
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
return false;
}
}
public List<CSVR_RECORDSHARED> GetList_RecordShared(ref Pager pg, decimal recordTypeID, string resid, decimal recordid, decimal recordShardtype, string stime, string etime, decimal serviceEid, decimal shareEid)
{
using (crmContext db = new crmContext())
{
IQueryable<CSVR_RECORDSHARED> data = db.CSVR_RECORDSHARED.AsQueryable<CSVR_RECORDSHARED>();
if (!string.IsNullOrEmpty(resid))
data = data.Where(m => m.RESID == resid);
if (recordTypeID > 0)
data = data.Where(m => m.RECORDTYPEID == recordTypeID);
if (recordShardtype > 0)
data = data.Where(m => m.RECORDSHAREDTYPE == recordShardtype);
if (recordid > 0)
data = data.Where(m => m.RECORDID == recordid);
if (serviceEid > 0)
data = data.Where(m => m.SALESEID == serviceEid);
if (shareEid > 0)
data = data.Where(m => db.BAS_INNERUSER.Where(d => d.EID == shareEid).FirstOrDefault().PKID == m.INNERUSERID);
DateTime _stime;
DateTime _etime;
if (!string.IsNullOrEmpty(stime) && DateTime.TryParse(stime, out _stime))
data = data.Where(m => m.CTIME >= _stime);
if (!string.IsNullOrEmpty(etime) && DateTime.TryParse(etime, out _etime))
{
_etime = _etime.AddDays(1);
data = data.Where(m => m.CTIME < _etime);
}
data = data.OrderByDescending(m => m.CTIME);
PagerUtil.SetPager<CSVR_RECORDSHARED>(ref data, ref pg);//分页
return data.ToList();
}
}
public List<CSVR_RECORDSHARED> GetList_RecordShared(ref Pager pg, decimal recordTypeID, string resid, decimal recordid, decimal recordShardtype, string stime, string etime, decimal shareEid, decimal groupId, decimal userId)
{
using (crmContext db = new crmContext())
{
IQueryable<CSVR_RECORDSHARED> data = db.CSVR_RECORDSHARED.AsQueryable<CSVR_RECORDSHARED>();
if (!string.IsNullOrEmpty(resid))
data = data.Where(m => m.RESID == resid);
if (recordTypeID > 0)
data = data.Where(m => m.RECORDTYPEID == recordTypeID);
if (recordShardtype > 0)
data = data.Where(m => m.RECORDSHAREDTYPE == recordShardtype);
if (recordid > 0)
data = data.Where(m => m.RECORDID == recordid);
if (userId > 0)
{
data = data.Where(m => m.SALESUSERID == userId);
}
else
{
if (groupId > 0)
{
var returnData = (from a in data
join b in db.BAS_INNERUSERGROUP on a.SALESUSERID equals b.INNERUSERID
where b.GID == groupId
select a);
data = returnData;
}
}
if (shareEid > 0)
data = data.Where(m => db.BAS_INNERUSER.Where(d => d.EID == shareEid).FirstOrDefault().PKID == m.INNERUSERID);
DateTime _stime;
DateTime _etime;
if (!string.IsNullOrEmpty(stime) && DateTime.TryParse(stime, out _stime))
data = data.Where(m => m.CTIME >= _stime);
if (!string.IsNullOrEmpty(etime) && DateTime.TryParse(etime, out _etime))
{
_etime = _etime.AddDays(1);
data = data.Where(m => m.CTIME < _etime);
}
data = data.OrderByDescending(m => m.CTIME);
PagerUtil.SetPager<CSVR_RECORDSHARED>(ref data, ref pg);//分页
return data.ToList();
}
}
public List<CSVR_RECORDSHARED_Extend> GetList_WgRecordShared(ref Pager pg, string resid, decimal recordid, decimal recordShardtype, string stime, string etime, decimal shareEid, string bigType, string subType, QueryUserComboDto usercomboDto)
{
using (crmContext db = new crmContext())
{
IQueryable<CSVR_RECORDSHARED> data = db.CSVR_RECORDSHARED.AsQueryable<CSVR_RECORDSHARED>();
if (!string.IsNullOrEmpty(resid))
data = data.Where(m => m.RESID == resid);
if (recordShardtype > 0)
data = data.Where(m => m.RECORDSHAREDTYPE == recordShardtype);
if (recordid > 0)
data = data.Where(m => m.RECORDID == recordid);
if (!string.IsNullOrWhiteSpace(bigType))
{
data = data.Where(m => m.BIGTYPE == bigType);
}
if (!string.IsNullOrWhiteSpace(subType))
{
data = data.Where(m => m.SUBTYPE == subType);
}
if (usercomboDto.userId.HasValue)
{
data = data.Where(m => m.SALESUSERID == usercomboDto.userId);
}
else if (!string.IsNullOrEmpty(usercomboDto.groupIds))
{
var _groupids = OperationUtil.ConvertToDecimal(usercomboDto.groupIds.Split(','));
data = (from a in data
join b in db.BAS_INNERUSERGROUP on a.SALESUSERID equals b.INNERUSERID
where _groupids.Contains(b.GID.Value)
select a);
}
else if (!string.IsNullOrEmpty(usercomboDto.deptId))
{
var depts = OperationUtil.ConvertToDecimal(usercomboDto.deptId.Split(','));
List<decimal> ALLdeptIDS = new List<decimal>();
List<decimal> ALLgidS = new List<decimal>();
UserServices userservices = new UserServices();
foreach (var item in depts)
{
List<decimal> deptIDS = new List<decimal>();
List<decimal> gidS = new List<decimal>();
userservices.GetAllDeptIDOrGidByDeptId(item, ref deptIDS, ref gidS);//获取所有的组别和gid
ALLdeptIDS.AddRange(deptIDS);
ALLgidS.AddRange(gidS);
}
data = (from a in data
join b in db.BAS_INNERUSERGROUP on a.SALESUSERID equals b.INNERUSERID
//join g in db.BAS_INNERGROUP on b.GID equals g.GID
where ALLdeptIDS.Contains(b.DEPTID.Value) || ALLgidS.Contains(b.GID.Value)
select a);
}
//else
//{
// if (groupId > 0)
// {
// var returnData = (from a in data
// join b in db.BAS_INNERUSERGROUP on a.SALESUSERID equals b.INNERUSERID
// where b.GID == groupId
// select a);
// data = returnData;
// }
//}
if (shareEid > 0)
data = data.Where(m => db.BAS_INNERUSER.Where(d => d.EID == shareEid).FirstOrDefault().PKID == m.INNERUSERID);
DateTime _stime;
DateTime _etime;
if (!string.IsNullOrEmpty(stime) && DateTime.TryParse(stime, out _stime))
data = data.Where(m => m.CTIME >= _stime);
if (!string.IsNullOrEmpty(etime) && DateTime.TryParse(etime, out _etime))
{
_etime = _etime.AddDays(1);
data = data.Where(m => m.CTIME < _etime);
}
var result = (from a in data
join b in db.WX_MESSAGECOMPLIANCE on a.RECORDID equals b.RECORDID
select new CSVR_RECORDSHARED_Extend
{
RecordShared = a,
PENALTY = b.PENALTY,
RESULT = b.RESULT
});
result = result.OrderByDescending(m => m.RecordShared.CTIME);
PagerUtil.SetPager<CSVR_RECORDSHARED_Extend>(ref result, ref pg);//分页
return result.ToList();
}
}
}
}