From d3be686753cd800fc364ef8c8eff18a43f57969c Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期三, 17 七月 2024 12:32:30 +0800 Subject: [PATCH] 新增 dbfirst --- Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs | 162 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 135 insertions(+), 27 deletions(-) diff --git a/Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs b/Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs index 454f2fc..1db57a3 100644 --- a/Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs +++ b/Yw.Service.Run.Core/04-dal/02-postgresql/RunRealRecord.cs @@ -35,7 +35,7 @@ exp.AndIF(StartTime.HasValue, x => x.DataTime >= StartTime.Value); exp.AndIF(EndTime.HasValue, x => x.DataTime <= EndTime.Value); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -58,7 +58,7 @@ var exp = Expressionable.Create<Entity.RunRealRecord>(); exp.And(x => x.DataTime >= Day.Date && x.DataTime < Day.AddDays(1).Date); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -85,7 +85,7 @@ var exp = Expressionable.Create<Entity.RunRealRecord>(); exp.And(x => x.DataTime >= StartDay.Date && x.DataTime < EndDay.AddDays(1).Date); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -112,7 +112,7 @@ var exp = Expressionable.Create<Entity.RunRealRecord>(); exp.And(x => x.DataTime >= StartTime && x.DataTime <= EndTime); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -139,7 +139,7 @@ exp.AndIF(StartTime.HasValue, x => x.DataTime >= StartTime.Value); exp.AndIF(EndTime.HasValue, x => x.DataTime <= EndTime.Value); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -158,7 +158,7 @@ var exp = Expressionable.Create<Entity.RunRealRecord>(); exp.And(x => x.DataTime >= Day.Date && x.DataTime < Day.AddDays(1).Date); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -182,7 +182,7 @@ var exp = Expressionable.Create<Entity.RunRealRecord>(); exp.And(x => x.DataTime >= StartDay.Date && x.DataTime < EndDay.AddDays(1).Date); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -205,7 +205,7 @@ var exp = Expressionable.Create<Entity.RunRealRecord>(); exp.And(x => x.DataTime >= StartTime && x.DataTime <= EndTime); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -232,7 +232,7 @@ exp.AndIF(StartTime.HasValue, x => x.DataTime >= StartTime.Value); exp.AndIF(EndTime.HasValue, x => x.DataTime <= EndTime.Value); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -260,7 +260,7 @@ exp.And(x => x.ObjectType == ObjectType); exp.And(x => x.ObjectID == ObjectID); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -289,7 +289,7 @@ exp.And(x => x.ObjectType == ObjectType); exp.And(x => x.ObjectID == ObjectID); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -297,6 +297,36 @@ .Where(exp.ToExpression()) .OrderBy(x => x.DataTime, OrderByType.Asc) .ToList(); + } + } + + /// <summary> + /// 閫氳繃 ObjectType 鍜� ObjectID 鑾峰彇 (闄愬埗鏁伴噺) + /// </summary> + public List<Entity.RunRealRecord> GetLimitByObjectTypeAndObjectID(string ObjectType, long ObjectID, DateTime? StartTime, DateTime? EndTime, int Limit, bool? Run = null) + { + if (StartTime.HasValue && EndTime.HasValue) + { + if (StartTime.Value > EndTime.Value) + { + return default; + } + } + var exp = Expressionable.Create<Entity.RunRealRecord>(); + exp.AndIF(StartTime.HasValue, x => x.DataTime >= StartTime.Value); + exp.AndIF(EndTime.HasValue, x => x.DataTime <= EndTime.Value); + exp.And(x => x.ObjectType == ObjectType); + exp.And(x => x.ObjectID == ObjectID); + exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); + + using (var db = new SqlSugarClient(ConnectionConfig)) + { + var list = db.Queryable<Entity.RunRealRecord>() + .Where(exp.ToExpression()) + .OrderBy(x => x.DataTime, OrderByType.Asc) + .ToList(); + return list?.ToLimitList(Limit); } } @@ -310,7 +340,7 @@ exp.And(x => x.ObjectType == ObjectType); exp.And(x => x.ObjectID == ObjectID); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -318,6 +348,28 @@ .Where(exp.ToExpression()) .OrderBy(x => x.DataTime, OrderByType.Asc) .ToList(); + } + } + + /// <summary> + /// 閫氳繃 ObjectType 鍜� ObjectID 鑾峰彇鏌愭棩鐨勬暟鎹� (闄愬埗鏁伴噺) + /// </summary> + public List<Entity.RunRealRecord> GetLimitByObjectTypeAndObjectIDOfDay(string ObjectType, long ObjectID, DateTime Day, int Limit, bool? Run = null) + { + var exp = Expressionable.Create<Entity.RunRealRecord>(); + exp.And(x => x.DataTime >= Day.Date && x.DataTime < Day.AddDays(1).Date); + exp.And(x => x.ObjectType == ObjectType); + exp.And(x => x.ObjectID == ObjectID); + exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); + + using (var db = new SqlSugarClient(ConnectionConfig)) + { + var list = db.Queryable<Entity.RunRealRecord>() + .Where(exp.ToExpression()) + .OrderBy(x => x.DataTime, OrderByType.Asc) + .ToList(); + return list?.ToLimitList(Limit); } } @@ -335,7 +387,7 @@ exp.And(x => x.ObjectType == ObjectType); exp.And(x => x.ObjectID == ObjectID); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -343,6 +395,32 @@ .Where(exp.ToExpression()) .OrderBy(x => x.DataTime, OrderByType.Asc) .ToList(); + } + } + + /// <summary> + /// 閫氳繃 ObjectType 鍜� ObjectID 鑾峰彇鏃ユ湡鍖洪棿鍐呯殑鏁版嵁 (闄愬埗鏁伴噺) + /// </summary> + public List<Entity.RunRealRecord> GetLimitByObjectTypeAndObjectIDOfDayRange(string ObjectType, long ObjectID, DateTime StartDay, DateTime EndDay, int Limit, bool? Run = null) + { + if (StartDay.Date > EndDay.Date) + { + return default; + } + var exp = Expressionable.Create<Entity.RunRealRecord>(); + exp.And(x => x.DataTime >= StartDay.Date && x.DataTime < EndDay.AddDays(1).Date); + exp.And(x => x.ObjectType == ObjectType); + exp.And(x => x.ObjectID == ObjectID); + exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); + + using (var db = new SqlSugarClient(ConnectionConfig)) + { + var list = db.Queryable<Entity.RunRealRecord>() + .Where(exp.ToExpression()) + .OrderBy(x => x.DataTime, OrderByType.Asc) + .ToList(); + return list?.ToLimitList(Limit); } } @@ -360,7 +438,7 @@ exp.And(x => x.ObjectType == ObjectType); exp.And(x => x.ObjectID == ObjectID); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -368,6 +446,32 @@ .Where(exp.ToExpression()) .OrderBy(x => x.DataTime, OrderByType.Asc) .ToList(); + } + } + + /// <summary> + /// 閫氳繃 ObjectType 鍜� ObjectID 鑾峰彇鏃堕棿鍖洪棿鍐呯殑鏁版嵁 (闄愬埗鏁伴噺) + /// </summary> + public List<Entity.RunRealRecord> GetLimitByObjectTypeAndObjectIDOfTimeRange(string ObjectType, long ObjectID, DateTime StartTime, DateTime EndTime, int Limit, bool? Run = null) + { + if (StartTime > EndTime) + { + return default; + } + var exp = Expressionable.Create<Entity.RunRealRecord>(); + exp.And(x => x.DataTime >= StartTime && x.DataTime <= EndTime); + exp.And(x => x.ObjectType == ObjectType); + exp.And(x => x.ObjectID == ObjectID); + exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); + + using (var db = new SqlSugarClient(ConnectionConfig)) + { + var list = db.Queryable<Entity.RunRealRecord>() + .Where(exp.ToExpression()) + .OrderBy(x => x.DataTime, OrderByType.Asc) + .ToList(); + return list?.ToLimitList(Limit); } } @@ -389,7 +493,7 @@ exp.And(x => x.ObjectType == ObjectType); exp.And(x => x.ObjectID == ObjectID); exp.AndIF(Run.HasValue && Run.Value, x => x.RSa == RunStatus.Run); - exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Stop); + exp.AndIF(Run.HasValue && !Run.Value, x => x.RSa == RunStatus.Shut); using (var db = new SqlSugarClient(ConnectionConfig)) { @@ -460,10 +564,11 @@ { var sb = new StringBuilder(); sb.AppendLine("INSERT INTO run_real_record"); - sb.AppendLine($" VALUES(@objecttype,@objectid,@datatime,@rsa,@continueruntime,@totalruntime,@boottimes,@analystatus,@analyinfo)"); + sb.AppendLine($" VALUES(@objecttype,@objectid,@datatime,@rsa,@continuetime,@totalshuttime,@totalruntime,@boottimes,@analystatus,@analyinfo)"); sb.AppendLine("ON CONFLICT(objecttype, objectid, datatime) DO UPDATE"); sb.AppendLine("SET rsa = excluded.rsa,"); - sb.AppendLine("continueruntime = excluded.continueruntime,"); + sb.AppendLine("continuetime = excluded.continuetime,"); + sb.AppendLine("totalshuttime = excluded.totalshuttime,"); sb.AppendLine("totalruntime = excluded.totalruntime,"); sb.AppendLine("boottimes = excluded.boottimes,"); sb.AppendLine("analystatus = excluded.analystatus,"); @@ -474,16 +579,19 @@ //鍒涘缓鍙傛暟 private List<SugarParameter> CreateParameters(Entity.RunRealRecord entity) { - var list = new List<SugarParameter>(); - list.Add(new SugarParameter("@objecttype", entity.ObjectType)); - list.Add(new SugarParameter("@objectid", entity.ObjectID)); - list.Add(new SugarParameter("@datatime", entity.DataTime)); - list.Add(new SugarParameter("@rsa", entity.RSa)); - list.Add(new SugarParameter("@continueruntime", entity.ContinueRunTime)); - list.Add(new SugarParameter("@totalruntime", entity.TotalRunTime)); - list.Add(new SugarParameter("@boottimes", entity.BootTimes)); - list.Add(new SugarParameter("@analystatus", entity.AnalyStatus)); - list.Add(new SugarParameter("@analyinfo", entity.AnalyInfo)); + var list = new List<SugarParameter> + { + new SugarParameter("@objecttype", entity.ObjectType), + new SugarParameter("@objectid", entity.ObjectID), + new SugarParameter("@datatime", entity.DataTime), + new SugarParameter("@rsa", entity.RSa), + new SugarParameter("@continuetime", entity.ContinueTime), + new SugarParameter("@totalshuttime", entity.TotalShutTime), + new SugarParameter("@totalruntime", entity.TotalRunTime), + new SugarParameter("@boottimes", entity.BootTimes), + new SugarParameter("@analystatus", entity.AnalyStatus), + new SugarParameter("@analyinfo", entity.AnalyInfo) + }; return list; } -- Gitblit v1.9.3