Browse Source

加入定时检测

master
feng 3 years ago
parent
commit
e1b35fe0b4
  1. 29
      src/Coldairarrow.Business/HuiYan/pricetasklogBusiness.cs
  2. 29
      src/Coldairarrow.Business/HuiYan/teamitemsBusiness.cs
  3. 2
      src/Coldairarrow.IBusiness/HuiYan/IteamitemsBusiness.cs

29
src/Coldairarrow.Business/HuiYan/pricetasklogBusiness.cs

@ -20,13 +20,15 @@ namespace Coldairarrow.Business.HuiYan
public class pricetasklogBusiness : BaseBusiness<pricetasklog>, IpricetasklogBusiness, ITransientDependency
{
IuserBusiness _iuserBusiness;
IteamitemsBusiness _iteamitemsBusiness;
readonly IOperator _operator;
public pricetasklogBusiness(IDbAccessor db, IuserBusiness iuserBusiness,
public pricetasklogBusiness(IDbAccessor db, IuserBusiness iuserBusiness, IteamitemsBusiness iteamitemsBusiness,
IOperator @operator)
: base(db)
{
_operator = @operator;
_iuserBusiness = iuserBusiness;
_iteamitemsBusiness = iteamitemsBusiness;
}
#region 外部接口
@ -133,6 +135,9 @@ namespace Coldairarrow.Business.HuiYan
public AjaxResult DayTaskSet()
{
CheckIsTimeOut();
var users = _iuserBusiness.GetPriceTaskUserList().ToList();
Expression<Func<user, pricetasklog, PricetaskUser>> select = (a, b) => new PricetaskUser()
@ -212,6 +217,26 @@ namespace Coldairarrow.Business.HuiYan
return Success("任务分配成功!");
}
public AjaxResult CheckIsTimeOut()
{
try
{
var needUpdates = Db.GetIQueryable<pricetasklog>().Where(c => c.State == PriceTaskState. && c.WorkDate != null && (DateTime.Now - c.WorkDate.Value).TotalHours >= 48).ToList();
if (needUpdates.Count > 0)
{
_iteamitemsBusiness.UpdateTaskSuccess(needUpdates);
}
}
catch (Exception ex)
{
}
return Success();
}
public AjaxResult CanelTask(string teamItemId)
{
var teamItem = Db.GetIQueryable<teamitems>().FirstOrDefault(c => c.Id == teamItemId && c.TeamId == _operator.TeamId);
@ -355,6 +380,7 @@ namespace Coldairarrow.Business.HuiYan
}
var taskState = (PriceTaskState)state;
if (taskState == PriceTaskState.)
{
var result = Db.RunTransaction(() =>
@ -362,6 +388,7 @@ namespace Coldairarrow.Business.HuiYan
int row = Db.Update<pricetasklog>(c => c.Id == task.Id, item =>
{
item.State = taskState;
item.WorkDate = DateTime.Now;
});
if (row <= 0)

29
src/Coldairarrow.Business/HuiYan/teamitemsBusiness.cs

@ -255,6 +255,35 @@ namespace Coldairarrow.Business.HuiYan
return Error("操作失败!");
}
public bool UpdateTaskSuccess(List<pricetasklog> logs)
{
var ids= logs.Select(c => c.TeamItemId).ToList();
var list = GetIQueryable().Where(c => ids.Contains(c.Id)).ToList();
list.ForEach(item => {
item.State = (int)TeamItemState.;
//完成日期
item.UpdateDate = DateTime.Now;
//判断是否合格
item.IsQualified = CheckIsPass(item);
});
logs.ForEach(item => {
item.State = PriceTaskState.;
});
var result= Db.RunTransaction(() => {
Db.Update(list);
Db.Update(logs);
});
return result.Success;
}
public async Task<PriceTaskInfo> GetMyTaskInfo(int type,DateTime start,DateTime end)
{
Expression<Func< pricetasklog, teamitems, TaskInfoDto >> select = (a, b) => new TaskInfoDto

2
src/Coldairarrow.IBusiness/HuiYan/IteamitemsBusiness.cs

@ -25,5 +25,7 @@ namespace Coldairarrow.Business.HuiYan
AjaxResult GetTeamCount();
Task<PriceTaskInfo> GetMyTaskInfo(int type, DateTime start, DateTime end);
bool UpdateTaskSuccess(List<pricetasklog> logs);
}
}
Loading…
Cancel
Save