|
|
@ -12,20 +12,20 @@ using System.Linq; |
|
|
|
|
|
|
|
|
|
|
|
namespace Tiobon.Core.Services |
|
|
|
namespace Tiobon.Core.Services |
|
|
|
{ |
|
|
|
{ |
|
|
|
public partial class TasksLogServices : BaseServices<TasksLog>, ITasksLogServices |
|
|
|
public partial class TasksLogServices : BaseServices<Ghre_TasksLog>, ITasksLogServices |
|
|
|
{ |
|
|
|
{ |
|
|
|
public async Task<PageModel<TasksLog>> GetTaskLogs(long jobId, int page, int intPageSize, DateTime? runTime, DateTime? endTime) |
|
|
|
public async Task<PageModel<Ghre_TasksLog>> GetTaskLogs(long jobId, int page, int intPageSize, DateTime? runTime, DateTime? endTime) |
|
|
|
{ |
|
|
|
{ |
|
|
|
RefAsync<int> totalCount = 0; |
|
|
|
RefAsync<int> totalCount = 0; |
|
|
|
Expression<Func<TasksLog, bool>> whereExpression = log => true; |
|
|
|
Expression<Func<Ghre_TasksLog, bool>> whereExpression = log => true; |
|
|
|
if (jobId > 0) whereExpression = whereExpression.And(log => log.JobId == jobId); |
|
|
|
if (jobId > 0) whereExpression = whereExpression.And(log => log.JobId == jobId); |
|
|
|
var data = await this.Db.Queryable<TasksLog>() |
|
|
|
var data = await this.Db.Queryable<Ghre_TasksLog>() |
|
|
|
.LeftJoin<TasksQz>((log, qz) => log.JobId == qz.Id) |
|
|
|
.LeftJoin<Ghre_TasksQz>((log, qz) => log.JobId == qz.Id) |
|
|
|
.OrderByDescending((log) => log.RunTime) |
|
|
|
.OrderByDescending((log) => log.RunTime) |
|
|
|
.WhereIF(jobId > 0, (log) => log.JobId == jobId) |
|
|
|
.WhereIF(jobId > 0, (log) => log.JobId == jobId) |
|
|
|
.WhereIF(runTime != null, (log) => log.RunTime >= runTime.Value) |
|
|
|
.WhereIF(runTime != null, (log) => log.RunTime >= runTime.Value) |
|
|
|
.WhereIF(endTime != null, (log) => log.RunTime <= endTime.Value) |
|
|
|
.WhereIF(endTime != null, (log) => log.RunTime <= endTime.Value) |
|
|
|
.Select((log, qz) => new TasksLog |
|
|
|
.Select((log, qz) => new Ghre_TasksLog |
|
|
|
{ |
|
|
|
{ |
|
|
|
RunPars = log.RunPars, |
|
|
|
RunPars = log.RunPars, |
|
|
|
RunResult = log.RunResult, |
|
|
|
RunResult = log.RunResult, |
|
|
@ -39,7 +39,7 @@ namespace Tiobon.Core.Services |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
.ToPageListAsync(page, intPageSize, totalCount); |
|
|
|
.ToPageListAsync(page, intPageSize, totalCount); |
|
|
|
return new PageModel<TasksLog>(page, totalCount, intPageSize, data); |
|
|
|
return new PageModel<Ghre_TasksLog>(page, totalCount, intPageSize, data); |
|
|
|
} |
|
|
|
} |
|
|
|
public async Task<object> GetTaskOverview(long jobId, DateTime? runTime, DateTime? endTime, string type) |
|
|
|
public async Task<object> GetTaskOverview(long jobId, DateTime? runTime, DateTime? endTime, string type) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -55,7 +55,7 @@ namespace Tiobon.Core.Services |
|
|
|
days--; |
|
|
|
days--; |
|
|
|
} |
|
|
|
} |
|
|
|
var queryableLeft = this.Db.Reportable(dayArray).ToQueryable<DateTime>(); |
|
|
|
var queryableLeft = this.Db.Reportable(dayArray).ToQueryable<DateTime>(); |
|
|
|
var queryableRight = this.Db.Queryable<TasksLog>().Where((x) => x.RunTime.Year >= runTime.Value.Year && x.RunTime.Year <= endTime.Value.Year); ; ; //声名表 |
|
|
|
var queryableRight = this.Db.Queryable<Ghre_TasksLog>().Where((x) => x.RunTime.Year >= runTime.Value.Year && x.RunTime.Year <= endTime.Value.Year); ; ; //声名表 |
|
|
|
|
|
|
|
|
|
|
|
var list = this.Db.Queryable(queryableLeft, queryableRight, JoinType.Left, |
|
|
|
var list = this.Db.Queryable(queryableLeft, queryableRight, JoinType.Left, |
|
|
|
(x1, x2) => x1.ColumnName.Year == x2.RunTime.Year) |
|
|
|
(x1, x2) => x1.ColumnName.Year == x2.RunTime.Year) |
|
|
@ -71,7 +71,7 @@ namespace Tiobon.Core.Services |
|
|
|
{ |
|
|
|
{ |
|
|
|
//按月 |
|
|
|
//按月 |
|
|
|
var queryableLeft = this.Db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>(); //生成月份 //ReportableDateType.MonthsInLast1yea 表式近一年月份 并且queryable之后还能在where过滤 |
|
|
|
var queryableLeft = this.Db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<DateTime>(); //生成月份 //ReportableDateType.MonthsInLast1yea 表式近一年月份 并且queryable之后还能在where过滤 |
|
|
|
var queryableRight = this.Db.Queryable<TasksLog>().Where((x) => x.RunTime.Year == runTime.Value.Year); //声名表 |
|
|
|
var queryableRight = this.Db.Queryable<Ghre_TasksLog>().Where((x) => x.RunTime.Year == runTime.Value.Year); //声名表 |
|
|
|
|
|
|
|
|
|
|
|
//月份和表JOIN |
|
|
|
//月份和表JOIN |
|
|
|
var list = queryableLeft |
|
|
|
var list = queryableLeft |
|
|
@ -97,7 +97,7 @@ namespace Tiobon.Core.Services |
|
|
|
var queryableLeft = this.Db.Reportable(dayArray).ToQueryable<DateTime>(); |
|
|
|
var queryableLeft = this.Db.Reportable(dayArray).ToQueryable<DateTime>(); |
|
|
|
var star = Convert.ToDateTime(runTime.Value.ToString("yyyy-MM-01 00:00:00")); |
|
|
|
var star = Convert.ToDateTime(runTime.Value.ToString("yyyy-MM-01 00:00:00")); |
|
|
|
var end = Convert.ToDateTime(runTime.Value.ToString($"yyyy-MM-{days} 23:59:59")); |
|
|
|
var end = Convert.ToDateTime(runTime.Value.ToString($"yyyy-MM-{days} 23:59:59")); |
|
|
|
var queryableRight = this.Db.Queryable<TasksLog>().Where((x) => x.RunTime >= star && x.RunTime <= end); ; ; //声名表 |
|
|
|
var queryableRight = this.Db.Queryable<Ghre_TasksLog>().Where((x) => x.RunTime >= star && x.RunTime <= end); ; ; //声名表 |
|
|
|
|
|
|
|
|
|
|
|
var list = this.Db.Queryable(queryableLeft, queryableRight, JoinType.Left, |
|
|
|
var list = this.Db.Queryable(queryableLeft, queryableRight, JoinType.Left, |
|
|
|
(x1, x2) => x1.ColumnName.Date == x2.RunTime.Date) |
|
|
|
(x1, x2) => x1.ColumnName.Date == x2.RunTime.Date) |
|
|
@ -117,7 +117,7 @@ namespace Tiobon.Core.Services |
|
|
|
var days = 24; |
|
|
|
var days = 24; |
|
|
|
var dayArray = Enumerable.Range(0, days).Select(it => Convert.ToDateTime(time.ToString($"yyyy-MM-dd {it.ToString().PadLeft(2, '0')}:00:00"))).ToList();//转成时间数组 |
|
|
|
var dayArray = Enumerable.Range(0, days).Select(it => Convert.ToDateTime(time.ToString($"yyyy-MM-dd {it.ToString().PadLeft(2, '0')}:00:00"))).ToList();//转成时间数组 |
|
|
|
var queryableLeft = this.Db.Reportable(dayArray).ToQueryable<DateTime>(); |
|
|
|
var queryableLeft = this.Db.Reportable(dayArray).ToQueryable<DateTime>(); |
|
|
|
var queryableRight = this.Db.Queryable<TasksLog>().Where((x) => x.RunTime >= runTime.Value.Date && x.RunTime <= runTime.Value.Date.AddDays(1).AddMilliseconds(-1)); //声名表 |
|
|
|
var queryableRight = this.Db.Queryable<Ghre_TasksLog>().Where((x) => x.RunTime >= runTime.Value.Date && x.RunTime <= runTime.Value.Date.AddDays(1).AddMilliseconds(-1)); //声名表 |
|
|
|
|
|
|
|
|
|
|
|
var list = this.Db.Queryable(queryableLeft, queryableRight, JoinType.Left, |
|
|
|
var list = this.Db.Queryable(queryableLeft, queryableRight, JoinType.Left, |
|
|
|
(x1, x2) => x1.ColumnName.Hour == x2.RunTime.Hour) |
|
|
|
(x1, x2) => x1.ColumnName.Hour == x2.RunTime.Hour) |
|
|
|