lixiaojun
2024-09-12 56fde6ea4d065e0a3688e89576e4099cedcefab3
Yw.Service.Repair.Core/04-dal/02-postgresql/02-task/RepairTaskForm.cs
@@ -590,6 +590,46 @@
        }
        /// <summary>
        /// 获取设备模糊列表
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetFluzzyListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 int? FormStatus,
                 int? Urgency,
                 string FormNo,
                 DateTime? StartTime,
                 DateTime? EndTime
            )
        {
            if (EquipmentIds == null || EquipmentIds.Count < 1)
            {
                return default;
            }
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.AndIF(FormStatus.HasValue, (x, y) => x.FormStatus == FormStatus.Value);
            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);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .Where(exp.ToExpression())
                            .OrderBy(x => x.CreateTime, OrderByType.Desc)
                            .Select((x, y) => new { x, y })
                            .ToList();
                return list?.Select(x => new Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// 获取分页列表
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageList
@@ -633,6 +673,52 @@
        }
        /// <summary>
        /// 获取设备分页列表
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 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.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.AndIF(FormStatus.HasValue, (x, y) => x.FormStatus == FormStatus.Value);
            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);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .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.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// 获取进行中的分页列表
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageList
@@ -654,6 +740,52 @@
                PageSize = 1;
            var exp = Expressionable.Create<Entity.RepairTaskForm, Entity.RepairRequestForm>();
            exp.AndIF(EquipmentIds != null && EquipmentIds.Count > 0, (x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Received && x.FormStatus < (int)eTaskStatus.Finished);
            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);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .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.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
        /// <summary>
        /// 获取设备进行中的分页列表
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetProgressPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 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.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Received && x.FormStatus < (int)eTaskStatus.Finished);
            exp.AndIF(Urgency.HasValue, (x, y) => x.Urgency == Urgency.Value);
@@ -716,8 +848,52 @@
            }
        }
        /// <summary>
        /// 获取设备已完成的分页列表
        /// </summary>
        public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetHasFinishedPageListOfEquipmentIds
            (
                 List<long> EquipmentIds,
                 long? RepairUserID,
                 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.RepairTaskForm, Entity.RepairRequestForm>();
            exp.And((x, y) => EquipmentIds.Contains(x.EquipmentID));
            exp.AndIF(RepairUserID.HasValue, (x, y) => x.RepairUserID.Value == RepairUserID.Value);
            exp.And((x, y) => x.FormStatus >= (int)eTaskStatus.Finished);
            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);
            using (var db = new SqlSugarClient(ConnectionConfig))
            {
                var list = db.Queryable<Entity.RepairTaskForm>()
                            .LeftJoin<Entity.RepairRequestForm>((x, y) => x.RequestID == y.ID)
                            .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.RepairTaskForm, Entity.RepairRequestForm>(x.x, x.y)).ToList();
            }
        }
    }
}