542 lines
22 KiB
C#
542 lines
22 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using WX.CRM.BLL.Base;
|
|
using WX.CRM.BLL.RedisBL;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.DAL.Csvr;
|
|
using WX.CRM.DAL.QH;
|
|
using WX.CRM.IBLL.Csvr;
|
|
using WX.CRM.Model.Entity;
|
|
using WX.CRM.Model.EntitySync;
|
|
using WX.CRM.Model.MAP;
|
|
using WX.CRM.BLL.Application.UserComBox;
|
|
using System.Data.Entity;
|
|
|
|
namespace WX.CRM.BLL.Csvr
|
|
{
|
|
public class CSVR_CALLRECORD_BL : DbContextRepository<CSVR_CALLRECORD>, ICSVR_CALLRECORD, ICSVR_CALLRECORD_Q
|
|
{
|
|
private readonly RedisBL.ReadOrWriteFromRedis_BL redisBl = new RedisBL.ReadOrWriteFromRedis_BL();
|
|
public DataSet GetCallRecord(ref Pager pager, QueryUserComboDto usercomboDto,
|
|
DateTime? V_STIME, DateTime? V_ETIME, int? V_MAXLENGTH, int? V_MINLENGHT, string V_RESID,
|
|
string V_RECORDID, decimal V_CALLTYPE, decimal V_ISCHECKED, string procedureName = "PACK_CSVR.CSVR_CALLRECORDQUERY")
|
|
{
|
|
|
|
List<decimal> ALLdeptIDS = new List<decimal>();
|
|
List<decimal> ALLgidS = new List<decimal>();
|
|
if (string.IsNullOrEmpty(usercomboDto.groupIds) && !string.IsNullOrEmpty(usercomboDto.deptId))
|
|
{
|
|
var depts = OperationUtil.ConvertToDecimal(usercomboDto.deptId.Split(','));
|
|
|
|
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);
|
|
}
|
|
ALLdeptIDS.AddRange(ALLgidS);
|
|
usercomboDto.groupIds = string.Join(",", ALLdeptIDS);//所有的部门ID和销售组ID
|
|
}
|
|
|
|
|
|
return new CALLRECORD_DAL().GetCallRecord(ref pager, usercomboDto, V_STIME, V_ETIME, V_MAXLENGTH, V_MINLENGHT, V_RESID, V_RECORDID, V_CALLTYPE, V_ISCHECKED, procedureName);
|
|
}
|
|
|
|
public DataSet GetUnCallRecord(ref Pager pager, QueryUserComboDto usercomboDto, DateTime? V_STIME, DateTime? V_ETIME, int? V_MAXLENGTH, int? V_MINLENGHT, string V_RESID,string V_UMID, string V_RECORDID, decimal V_CALLTYPE, decimal V_ISCHECKED, string V_EIDS)
|
|
{
|
|
List<decimal> ALLdeptIDS = new List<decimal>();
|
|
List<decimal> ALLgidS = new List<decimal>();
|
|
if (string.IsNullOrEmpty(usercomboDto.groupIds) && !string.IsNullOrEmpty(usercomboDto.deptId))
|
|
{
|
|
var depts = OperationUtil.ConvertToDecimal(usercomboDto.deptId.Split(','));
|
|
|
|
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);
|
|
}
|
|
ALLdeptIDS.AddRange(ALLgidS);
|
|
usercomboDto.groupIds = string.Join(",", ALLdeptIDS);//所有的部门ID和销售组ID
|
|
}
|
|
|
|
return new CALLRECORD_DAL().GetUnCallRecord(ref pager, usercomboDto, V_STIME, V_ETIME, V_MAXLENGTH, V_MINLENGHT, V_RESID,V_UMID, V_RECORDID, V_CALLTYPE, V_ISCHECKED, usercomboDto.isCallBack,V_EIDS);
|
|
}
|
|
|
|
public List<CSVR_CALLRECORDUN> GetUNCallRemindList(DateTime startTime, int daysAgo)
|
|
{
|
|
return new CALLRECORD_DAL().GetUNCallRemindList(startTime, daysAgo);
|
|
}
|
|
|
|
public DataSet GetOrderCallRecord(ref Pager pager, string V_DEPTID, string V_GROUPID, string V_USERID,
|
|
DateTime? V_STIME, DateTime? V_ETIME, int? V_MAXLENGTH, int? V_MINLENGHT, string V_RESID, string V_RECORDID, decimal V_CALLTYPE)
|
|
{
|
|
return new CALLRECORD_DAL().GetOrderCallRecord(ref pager, V_DEPTID, V_GROUPID, V_USERID,
|
|
V_STIME, V_ETIME, V_MAXLENGTH, V_MINLENGHT, V_RESID, V_RECORDID, V_CALLTYPE);
|
|
}
|
|
/// <summary>
|
|
/// 未接电话回拨 事件
|
|
/// </summary>
|
|
public void ReCallRecordUn(string resid, string coid)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var myRecordUn = db.CSVR_CALLRECORDUN.Where(m => m.RESID == resid);
|
|
if (myRecordUn.Any())//查找到需要回拨的未接记录
|
|
{
|
|
foreach (var unItem in myRecordUn)
|
|
{
|
|
unItem.RECALLCOID = coid;//绑定回拨录音
|
|
}
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 获取没有通话时间的工单
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public IEnumerable<MemoDto> GetNoEndTime()
|
|
{
|
|
return new CALLRECORD_DAL().GetNoEndTime();
|
|
}
|
|
|
|
public CSVR_TODAYRECORD GetNewestCallRecord(string resid, decimal salerid, DateTime ctime)
|
|
{
|
|
return new CALLRECORD_DAL().GetNewestCallRecord(resid, salerid, ctime);
|
|
}
|
|
public void InitOrderCallTime()
|
|
{
|
|
new CALLRECORD_DAL().InitOrderCallTime();
|
|
}
|
|
|
|
public List<CSVR_CALLRECORD> getCallRecordByTimestart(DateTime timestart)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
return db.CSVR_CALLRECORD.Where(p => p.TIMESTART > timestart).ToList();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 更新工单通话时间
|
|
/// </summary>
|
|
/// <param name="list"></param>
|
|
public void UpdateEndTime(IEnumerable<MemoDto> list)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
foreach (var row in list)
|
|
{
|
|
if (row.CALLTIME == null || row.CALLTIMEEND == null)
|
|
continue;
|
|
decimal orderid = row.ORDERID;
|
|
if (row.TYP == "ORD_SALEMEMO")
|
|
{
|
|
var memo = db.ORD_SALEMEMO.FirstOrDefault(o => o.MEMOID == orderid);
|
|
if (null != memo)
|
|
{
|
|
memo.ISCHECKED = 1;
|
|
memo.CALLTIME = row.CALLTIME;
|
|
memo.CALLTIMEEND = row.CALLTIMEEND;
|
|
}
|
|
}
|
|
if (row.TYP == "ORD_SERVICEMEMO")
|
|
{
|
|
var memo = db.ORD_SERVICEMEMO.FirstOrDefault(o => o.MEMOID == orderid);
|
|
if (null != memo)
|
|
{
|
|
memo.ISCHECKED = 1;
|
|
memo.CALLTIME = row.CALLTIME;
|
|
memo.CALLTIMEEND = row.CALLTIMEEND;
|
|
}
|
|
}
|
|
if (row.TYP == "ORD_PURPOSEMEMO")
|
|
{
|
|
var memo = db.ORD_PURPOSEMEMO.FirstOrDefault(o => o.MEMOID == orderid);
|
|
if (null != memo)
|
|
{
|
|
memo.ISCHECKED = 1;
|
|
memo.CALLTIME = row.CALLTIME;
|
|
memo.CALLTIMEEND = row.CALLTIMEEND;
|
|
}
|
|
}
|
|
if (row.TYP == "ORD_SPECIALMEMO")
|
|
{
|
|
var memo = db.ORD_SPECIALMEMO.FirstOrDefault(o => o.MEMOID == orderid);
|
|
if (null != memo)
|
|
{
|
|
memo.ISCHECKED = 1;
|
|
memo.CALLTIME = row.CALLTIME;
|
|
memo.CALLTIMEEND = row.CALLTIMEEND;
|
|
}
|
|
}
|
|
}
|
|
try
|
|
{
|
|
db.Configuration.ValidateOnSaveEnabled = false;
|
|
db.SaveChanges();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
foreach (var error in db.GetValidationErrors())
|
|
{
|
|
LogHelper.Error(error.ToString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
public decimal? GetLastCallRecord()
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
decimal? resid = db.CSVR_CALLRECORD.Max(m => m.RECORDID);
|
|
return resid;
|
|
|
|
}
|
|
}
|
|
public string GetLastCoid()
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
string coid = db.CSVR_CALLRECORD.Max(p => p.COID);
|
|
return coid;
|
|
}
|
|
}
|
|
|
|
public DateTime GetLastStartTime()
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
DateTime? timestart = db.CSVR_CALLRECORD.Max(p => p.TIMESTART);
|
|
return timestart.Value;
|
|
}
|
|
}
|
|
|
|
public void AddListRecord(List<CSVR_CALLRECORD> listModel)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var pkid = new SEQUENCES_BL();
|
|
foreach (var model in listModel)
|
|
{
|
|
model.PKID = pkid.Seq_base_get();
|
|
if (model.RECORDID == 0)
|
|
model.RECORDID = model.PKID;
|
|
db.CSVR_CALLRECORD.Add(model);
|
|
}
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
public void AddListRecordUN(List<CSVR_CALLRECORDUN> listModel)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var pkid = new SEQUENCES_BL();
|
|
foreach (var model in listModel)
|
|
{
|
|
model.PKID = pkid.Seq_base_get();
|
|
if (model.RECORDID == 0)
|
|
model.RECORDID = model.PKID;
|
|
db.CSVR_CALLRECORDUN.Add(model);
|
|
}
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
public void AddListRecord2(List<CSVR_CALLRECORD> listModel)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var pkid = new SEQUENCES_BL();
|
|
foreach (var model in listModel)
|
|
{
|
|
var m = new CSVR_CALLRECORD2()
|
|
{
|
|
PKID = pkid.Seq_base_get(),
|
|
RECORDID = model.RECORDID,
|
|
SERVERID = model.SERVERID,
|
|
FILENAME = model.FILENAME,
|
|
RESID = model.RESID,
|
|
SERVICENUMBER = model.SERVICENUMBER,
|
|
TELNUMBERLAST4 = model.TELNUMBERLAST4,
|
|
TIMELENGTH = model.TIMELENGTH,
|
|
CALLTYPE = model.CALLTYPE,
|
|
SALESEID = model.SALESEID,
|
|
TIMESTART = model.TIMESTART,
|
|
CTIME = model.CTIME,
|
|
TIMEEND = model.TIMEEND,
|
|
COID = model.COID
|
|
};
|
|
if (m.RECORDID == 0)
|
|
m.RECORDID = m.PKID;
|
|
db.CSVR_CALLRECORD2.Add(m);
|
|
}
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 获取未回访的 未接电话记录
|
|
/// </summary>
|
|
/// <param name="TimeOut">未回访时间</param>
|
|
/// <param name="limit">获取条数</param>
|
|
/// <returns></returns>
|
|
public IList<CSVR_CALLRECORDUN> GetUNCallBackList(int TimeOut = 3600, int? limit = null) {
|
|
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var limitTime = DateTime.Now.AddSeconds(-TimeOut);
|
|
var list = db.CSVR_CALLRECORDUN.Where(m => string.IsNullOrEmpty(m.RECALLCOID)
|
|
&& m.TIMEEND.HasValue && m.TIMEEND.Value <= limitTime//超过 TimeOut 秒未电话回访
|
|
).OrderByDescending(m => m.CTIME);
|
|
if (limit.HasValue)
|
|
return list.Take(limit.Value).ToList();
|
|
else
|
|
return list.ToList();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 批量修改数据
|
|
/// </summary>
|
|
/// <param name=""></param>
|
|
public void BathUpdateReCallRecordUn(IList<CSVR_CALLRECORDUN> list) {
|
|
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
foreach (var item in list)
|
|
{
|
|
var entry = db.Entry(item);
|
|
db.Set<CSVR_CALLRECORDUN>().Attach(item);
|
|
entry.State = EntityState.Modified;
|
|
}
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
|
|
public void UpdateNoTimeBymemoids(string Memoids)
|
|
{
|
|
new CALLRECORD_DAL().UpdateNoTimeBymemoids(Memoids);
|
|
}
|
|
/// <summary>
|
|
/// 质检录音查询
|
|
/// </summary>
|
|
/// <param name="pager"></param>
|
|
/// <param name="V_GROUPNAME"></param>
|
|
/// <param name="V_USEREID"></param>
|
|
/// <param name="V_STIME"></param>
|
|
/// <param name="V_ETIME"></param>
|
|
/// <param name="V_MAXLENGTH"></param>
|
|
/// <param name="V_MINLENGHT"></param>
|
|
/// <param name="V_RESID"></param>
|
|
/// <param name="V_RECORDID"></param>
|
|
/// <returns></returns>
|
|
public DataSet GetOACallRecord(ref Pager pager, string V_GROUPNAME, decimal? V_USEREID,
|
|
DateTime? V_STIME, DateTime? V_ETIME, int? V_MAXLENGTH, int? V_MINLENGHT, string V_RESID, decimal? V_RECORDID, decimal? V_TYPE)
|
|
{
|
|
return new CALLRECORD_DAL().GetOACallRecord(ref pager, V_GROUPNAME, V_USEREID,
|
|
V_STIME, V_ETIME, V_MAXLENGTH, V_MINLENGHT, V_RESID, V_RECORDID, V_TYPE);
|
|
}
|
|
|
|
public CSVR_CALLRECORD GetModel_CallRecord(decimal pkid)
|
|
{
|
|
using (var db = new crmContext())
|
|
{
|
|
return db.CSVR_CALLRECORD.Where(m => m.PKID == pkid).FirstOrDefault();
|
|
}
|
|
}
|
|
|
|
public void UpdateCallTime(decimal memoid)
|
|
{
|
|
using (var db = new crmContext())
|
|
{
|
|
CACHE_ORD_MEMO cacheMemo = db.CACHE_ORD_MEMO.FirstOrDefault(m => m.MEMOID == memoid);
|
|
if (null != cacheMemo)
|
|
{
|
|
CSVR_TODAYRECORD record = new CALLRECORD_DAL().GetNewestCallRecord(cacheMemo.RESID, cacheMemo.INNERUSERID.Value, cacheMemo.CTIME.Value);
|
|
if (null != record)
|
|
{
|
|
cacheMemo.CALLTIME = record.TIMESTART;
|
|
cacheMemo.CALLTIMEEND = record.TIMEEND;
|
|
switch (Convert.ToInt32(cacheMemo.MTYPEID))
|
|
{
|
|
case 0:
|
|
ORD_SALEMEMO salememo = db.ORD_SALEMEMO.FirstOrDefault(p => p.MEMOID == cacheMemo.MEMOID);
|
|
salememo.STRCONTENT = "-1";
|
|
salememo.CALLTIME = record.TIMESTART;
|
|
salememo.CALLTIMEEND = record.TIMEEND;
|
|
break;
|
|
case 1:
|
|
ORD_SERVICEMEMO servicememo = db.ORD_SERVICEMEMO.FirstOrDefault(p => p.MEMOID == cacheMemo.MEMOID);
|
|
servicememo.STRCONTENT = "-1";
|
|
servicememo.CALLTIME = record.TIMESTART;
|
|
servicememo.CALLTIMEEND = record.TIMEEND;
|
|
break;
|
|
case 2:
|
|
ORD_PURPOSEMEMO purposememo = db.ORD_PURPOSEMEMO.FirstOrDefault(p => p.MEMOID == cacheMemo.MEMOID);
|
|
purposememo.STRCONTENT = "-1";
|
|
purposememo.CALLTIME = record.TIMESTART;
|
|
purposememo.CALLTIMEEND = record.TIMEEND;
|
|
break;
|
|
case 3:
|
|
ORD_SPECIALMEMO specialmemo = db.ORD_SPECIALMEMO.FirstOrDefault(p => p.MEMOID == cacheMemo.MEMOID);
|
|
specialmemo.STRCONTENT = "-1";
|
|
specialmemo.CALLTIME = record.TIMESTART;
|
|
specialmemo.CALLTIMEEND = record.TIMEEND;
|
|
break;
|
|
}
|
|
db.SaveChanges();
|
|
|
|
//UpdateToRedis(memoid, cacheMemo.CALLTIME, cacheMemo.CALLTIMEEND);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("工单不存在");
|
|
}
|
|
}
|
|
}
|
|
|
|
public void DeleteByCOID(string coid)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var d = db.CSVR_CALLRECORD.FirstOrDefault(p => p.COID == coid);
|
|
if (null != d)
|
|
db.CSVR_CALLRECORD.Remove(d);
|
|
var d2 = db.CSVR_TODAYRECORD.FirstOrDefault(p => p.COID == coid);
|
|
if (null != d2)
|
|
db.CSVR_TODAYRECORD.Remove(d2);
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
|
|
public string Sys_Environment_CTI_VER()
|
|
{
|
|
var rst = Utility.GetSettingByKey("Sys_Environment_CTI_VER");
|
|
if (string.IsNullOrEmpty(rst))
|
|
{
|
|
var rstmodel = new BAS_PARAMETER_BL().GetModel_Patameter("Sys_Environment_CTI_VER");
|
|
if (null != rstmodel)
|
|
rst = rstmodel.PARAVALUE;
|
|
}
|
|
return rst;
|
|
}
|
|
|
|
|
|
public DataSet GetCallRecordHis(string V_RESID, decimal? V_RECORDID)
|
|
{
|
|
return new CALLRECORD_DAL().GetCallRecordHis(V_RESID, V_RECORDID);
|
|
}
|
|
|
|
public int RestoreCallRecord(string resid, DateTime? dtstart, DateTime? dtend)
|
|
{
|
|
if (dtstart != null && dtend != null)
|
|
{
|
|
return new CALLRECORD_DAL().RestoreCallRecord(resid, dtstart.Value, dtend.Value);
|
|
}
|
|
return 0;
|
|
}
|
|
/// <summary>
|
|
/// 重新手动分配eid
|
|
/// </summary>
|
|
/// <param name="eid"></param>
|
|
/// <param name="ename"></param>
|
|
/// <param name="pkids"></param>
|
|
public void ReAllocationRecord(decimal eid, string ename, string pkids) {
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var ids = pkids.Split(',').Select(m=>Convert.ToDecimal(m)).ToList();
|
|
var d = db.CSVR_CALLRECORDUN.Where(m=> ids.Contains(m.PKID));
|
|
if (d.Any()) {
|
|
foreach (var item in d)
|
|
{
|
|
item.EID = eid;
|
|
item.ENAME = ename;
|
|
}
|
|
}
|
|
db.SaveChanges();
|
|
}
|
|
|
|
|
|
}
|
|
public DataTable GetRecordByEID(decimal? v_recordid, decimal v_eid, string v_resid, ref Pager pager)
|
|
{
|
|
return new AccountApply_DAL().GetRecordByEID(v_recordid, v_eid, v_resid, ref pager);
|
|
}
|
|
#region UpdateRedis
|
|
private void UpdateToRedis(decimal memoid, DateTime? calltime, DateTime? calltimeend, bool result = true)
|
|
{
|
|
redisBl.UpdateCallTime(memoid, calltime, calltimeend, out result);
|
|
if (!result)
|
|
{
|
|
REDIS_CACHE_SSODATASYNC_BL cacheBL = new REDIS_CACHE_SSODATASYNC_BL();
|
|
|
|
#region redis 添加到待打包表
|
|
REDIS_CACHE_SSODATASYNC redisMoel1 = new REDIS_CACHE_SSODATASYNC();
|
|
redisMoel1.TABLETYPE = "cache_ord_memo";
|
|
redisMoel1.KEYS = memoid.ToString();
|
|
redisMoel1.OPTYPE = "U";
|
|
redisMoel1.TIME = DateTime.Now;
|
|
redisMoel1.LASTSYNCTIME = DateTime.Now;
|
|
redisMoel1.ERRNUM = 0;
|
|
redisMoel1.ERRMSG = "";
|
|
cacheBL.Create_RedisCacheSSODataSYNC(redisMoel1);
|
|
#endregion
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public List<CSVR_CALLRECORD> GetListByResIds(List<string> resids)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var query = db.CSVR_CALLRECORD.AsQueryable();
|
|
query = query.Where(m => resids.Contains(m.RESID));
|
|
query = query.OrderByDescending(m => m.CTIME);
|
|
return query.ToList();
|
|
}
|
|
}
|
|
|
|
|
|
public CSVR_CALLRECORDUN GetUnRecordHF(string resId)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
//最新的回访成功工单
|
|
//var memo = db.CACHE_ORD_MEMO.OrderByDescending(x => x.CTIME).FirstOrDefault(x => x.RESID == resId && x.MEMOSUBTYPEID == 1091);
|
|
|
|
//var query = db.CSVR_CALLRECORDUN.OrderByDescending(x => x.CTIME).AsQueryable().Where(x => x.RESID == resId);
|
|
//if(memo != null)
|
|
// query = query.Where(x=> x.TIMESTART > memo.CTIME);
|
|
|
|
//var result = query.FirstOrDefault();
|
|
|
|
//return result;
|
|
|
|
|
|
var query = db.CSVR_CALLRECORDUN.OrderByDescending(x => x.CTIME).FirstOrDefault(x => x.RESID == resId && x.ISHF == 0 && x.CALLTYPE == 0);
|
|
return query;
|
|
|
|
}
|
|
}
|
|
|
|
public int GetNotHFCount(string resid, DateTime startTime, int daysAgo)
|
|
{
|
|
using (var db = new WX.CRM.Model.Entity.crmContext())
|
|
{
|
|
var timeAgo = DateTime.Now.Date.AddDays(-daysAgo);
|
|
|
|
var query = db.CSVR_CALLRECORDUN.Count(x => x.RESID == resid && x.ISHF == 0 && x.CALLTYPE == 0 && x.TIMESTART >= startTime && x.TIMESTART >= timeAgo);
|
|
return query;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|