12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using OASystem.Domain.Entities.PersonnelModule;
- using OASystem.Infrastructure.Repositories.PersonnelModule;
- using ILogger = Microsoft.Extensions.Logging.ILogger;
- namespace OASystem.API.OAMethodLib.Quartz.Business
- {
- /// <summary>
- /// 任务指派
- /// 定时任务
- /// </summary>
- public static class TaskAssignment
- {
- private readonly static TaskAllocationRepository _taskAllocationRep = AutofacIocManager.Instance.GetService<TaskAllocationRepository>();
- //private readonly static SqlSugarClient _sqlSugar = AutofacIocManager.Instance.GetService<SqlSugarClient>();
- private readonly static ILogger _logger;
- /// <summary>
- /// 定时任务更改状态
- /// 每天下午六点定时更新
- /// </summary>
- public static async void PostTaskUpdateStatus()
- {
- //_taskAllocationRep.ChangeDataBase(DBEnum.OA2023DB);
- var newDB = _taskAllocationRep._sqlSugar.CopyNew();
- var data = newDB.Queryable<Pm_TaskAllocation>()
- .Where(it => it.IsDel == 0 &&
- !string.IsNullOrEmpty(it.PredictEndTime) &&
- Convert.ToDateTime(it.PredictEndTime) >= DateTime.Now
- )
- .ToList();
- if (data.Count > 0)
- {
- //处理要变更状态的员工
- List<int> primaryIds = new List<int>();
- primaryIds = data.Select(it => it.Id).ToList();
- var subData = newDB.Queryable<Pm_TaskRelevanceUser>()
- .Where(it =>
- it.IsDel == 0 &&
- primaryIds.Contains(it.TAId) &&
- it.TaskStatus <= TaskerEnum.UnderWay
- )
- .ToList();
- if (subData.Count > 0)
- {
- foreach (var item in subData)
- {
- item.OverTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- item.TaskStatus = TaskerEnum.UnFinished;
- item.Cause = string.Format(@"任务没有提交完成或者超时,由系统设置任务未完成");
- }
- var updateStatus = newDB.Updateable(subData)
- .WhereColumns(it => it.Id)
- .ExecuteCommand();
- //_taskAllocationRep._sqlSugar.Close();
- }
- }
- }
- }
- }
|