From 56fde6ea4d065e0a3688e89576e4099cedcefab3 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期四, 12 九月 2024 16:03:02 +0800 Subject: [PATCH] 新增一些带有判断的接口 --- Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 1 deletions(-) diff --git a/Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs b/Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs index 400a7da..30365e5 100644 --- a/Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs +++ b/Yw.Service.Repair.Core/04-dal/03-sqlite/01-request/RepairRequestForm.cs @@ -456,9 +456,13 @@ ) { if (PageIndex < 1) + { PageIndex = 1; + } if (PageSize < 1) + { PageSize = 1; + } var exp = Expressionable.Create<Entity.RepairRequestForm>(); exp.And(x => x.CreateUserID == CreateUserID); exp.AndIF(FormStatus.HasValue, x => x.FormStatus == FormStatus.Value); @@ -493,9 +497,13 @@ ) { if (PageIndex < 1) + { PageIndex = 1; + } if (PageSize < 1) + { PageSize = 1; + } var exp = Expressionable.Create<Entity.RepairRequestForm>(); exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, x => EquipmentIds.Contains(x.EquipmentID)); exp.AndIF(CreateUserID.HasValue, x => x.CreateUserID == CreateUserID); @@ -515,9 +523,57 @@ } /// <summary> + /// 鑾峰彇璁惧妯$硦鍒嗛〉鍒楄〃 + /// </summary> + public List<Entity.RepairRequestForm> GetFluzzyPageListOfEquipmentIds + ( + List<long> EquipmentIds, + long? CreateUserID, + int? FormStatus, + int? Urgency, + string FormNo, + DateTime? StartTime, + DateTime? EndTime, + int PageIndex, + int PageSize, + ref int Total + ) + { + if (EquipmentIds == null || EquipmentIds.Count < 1) + { + return default; + } + if (PageIndex < 1) + { + PageIndex = 1; + } + if (PageSize < 1) + { + PageSize = 1; + } + + var exp = Expressionable.Create<Entity.RepairRequestForm>(); + exp.And(x => EquipmentIds.Contains(x.EquipmentID)); + exp.AndIF(CreateUserID.HasValue, x => x.CreateUserID == CreateUserID); + exp.AndIF(FormStatus.HasValue, x => x.FormStatus == FormStatus.Value); + exp.AndIF(Urgency.HasValue, x => x.Urgency == Urgency.Value); + exp.AndIF(!string.IsNullOrEmpty(FormNo), x => x.FormNo.Contains(FormNo)); + exp.AndIF(StartTime.HasValue, x => x.CreateTime >= StartTime.Value); + exp.AndIF(EndTime.HasValue, x => x.CreateTime <= EndTime.Value); + + using (var db = new SqlSugarClient(ConnectionConfig)) + { + return db.Queryable<Entity.RepairRequestForm>() + .Where(exp.ToExpression()) + .OrderBy(x => x.CreateTime, OrderByType.Desc) + .ToPageList(PageIndex, PageSize, ref Total); ; + } + } + + /// <summary> /// 鑾峰彇寰呮淳鍗曞垎椤靛垪琛� /// </summary> - public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAccepedPageList + public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageList ( List<long> EquipmentIds, long? CreateUserID, @@ -531,9 +587,13 @@ ) { if (PageIndex < 1) + { PageIndex = 1; + } if (PageSize < 1) + { PageSize = 1; + } var exp = Expressionable.Create<Entity.RepairRequestForm, Entity.RepairTaskForm>(); exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, (x, y) => EquipmentIds.Contains(x.EquipmentID)); exp.AndIF(CreateUserID.HasValue, (x, y) => x.CreateUserID == CreateUserID); @@ -557,6 +617,56 @@ } } + /// <summary> + /// 鑾峰彇璁惧寰呮淳鍗曞垎椤靛垪琛� + /// </summary> + public List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAcceptedPageListOfEquipmentIds + ( + List<long> EquipmentIds, + long? CreateUserID, + int? Urgency, + string FormNo, + DateTime? StartTime, + DateTime? EndTime, + int PageIndex, + int PageSize, + ref int Total + ) + { + if (EquipmentIds == null || EquipmentIds.Count < 1) + { + return default; + } + if (PageIndex < 1) + { + PageIndex = 1; + } + if (PageSize < 1) + { + PageSize = 1; + } + var exp = Expressionable.Create<Entity.RepairRequestForm, Entity.RepairTaskForm>(); + exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID)); + exp.AndIF(CreateUserID.HasValue, (x, y) => x.CreateUserID == CreateUserID); + exp.And((x, y) => x.FormStatus == (int)eRequestStatus.Accepted); + exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value); + exp.AndIF(!string.IsNullOrEmpty(FormNo), (x, y) => x.FormNo.Contains(FormNo)); + exp.AndIF(StartTime.HasValue, (x, y) => x.CreateTime >= StartTime.Value); + exp.AndIF(EndTime.HasValue, (x, y) => x.CreateTime <= EndTime.Value); + exp.And((x, y) => y.FormStatus == (int)eTaskStatus.Accepted); + + + using (var db = new SqlSugarClient(ConnectionConfig)) + { + var list = db.Queryable<Entity.RepairRequestForm>() + .InnerJoin<Entity.RepairTaskForm>((x, y) => y.RequestID != null && x.ID == y.RequestID.Value) + .Where(exp.ToExpression()) + .OrderBy(x => x.CreateTime, OrderByType.Desc) + .Select((x, y) => new { x, y }) + .ToPageList(PageIndex, PageSize, ref Total); + return list?.Select(x => new Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>(x.x, x.y)).ToList(); + } + } -- Gitblit v1.9.3