namespace Yw.DAL.PostgreSql
|
{
|
/// <summary>
|
/// RepairTaskForm
|
/// </summary>
|
public partial class RepairTaskForm : BaseTraceDAL<Entity.RepairTaskForm>, IRepairTaskForm
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get
|
{
|
return ConfigHelper.PostgreSqlConnectionConfig;
|
}
|
}
|
|
/// <summary>
|
/// 通过 RequestID 获取
|
/// </summary>
|
public List<Entity.RepairTaskForm> GetByRequestID(long RequestID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.RepairTaskForm>()
|
.Where(x => x.RequestID != null && x.RequestID.Value == RequestID)
|
.OrderBy(x => x.CreateTime, OrderByType.Desc)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 RequestIds 获取
|
/// </summary>
|
public List<Entity.RepairTaskForm> GetByRequestIds(List<long> RequestIds)
|
{
|
if (RequestIds == null || RequestIds.Count < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.RepairTaskForm>()
|
.Where(x => x.RequestID != null && RequestIds.Contains(x.RequestID.Value))
|
.OrderBy(x => x.CreateTime, OrderByType.Desc)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 获取数量
|
/// </summary>
|
public int GetCount()
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.RepairTaskForm>().Count();
|
}
|
}
|
|
/// <summary>
|
/// 获取所有未验收的数据
|
/// </summary>
|
public List<Entity.RepairTaskForm> GetUnCheckedList()
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.RepairTaskForm>()
|
.Where(x => x.FormStatus < (int)eTaskStatus.Succeed)
|
.OrderBy(x => x.CreateTime, OrderByType.Desc)
|
.ToList();
|
}
|
}
|
|
/// <summary>
|
/// 获取某日的数量
|
/// </summary>
|
public int GetCountOfDay(DateTime Day)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.RepairTaskForm>()
|
.Where(x => x.CreateTime >= Day.Date && x.CreateTime < Day.Date.AddDays(1))
|
.Count();
|
}
|
}
|
|
/// <summary>
|
/// 更新 FormStatus
|
/// </summary>
|
public bool UpdateFormStatus(long ID, int FormStatus)
|
{
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == FormStatus)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == DateTime.Now)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommand() > 0;
|
}
|
}
|
|
/// <summary>
|
/// 派单
|
/// </summary>
|
public bool Assign(long ID, long RepairUserID, string RepairUserName, string Note)
|
{
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dt = DateTime.Now;
|
db.BeginTran();
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Assigned)
|
.SetColumns(x => x.RepairUserID == RepairUserID)
|
.SetColumns(x => x.RepairUserName == RepairUserName)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dt)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommand() > 0;
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Assign;
|
entity4Log.OperateContent = "派单";
|
entity4Log.OperateTime = dt;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 接单
|
/// </summary>
|
public bool Receive(long ID, string Note)
|
{
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dtNow = DateTime.Now;
|
db.BeginTran();
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Received)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dtNow)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Receive;
|
entity4Log.OperateContent = "接单";
|
entity4Log.OperateTime = dtNow;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 开工
|
/// </summary>
|
public bool Start(long ID, string Note, List<Entity.RepairTaskLogFile> entity4FileList)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dtNow = DateTime.Now;
|
db.BeginTran();
|
var entity = db.Queryable<Entity.RepairTaskForm>().Where(x => x.ID == ID).First();
|
if (entity == null)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity.FormStatus != (int)eTaskStatus.Received)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Started)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dtNow)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommand() > 0;
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Start;
|
entity4Log.OperateContent = "开工";
|
entity4Log.OperateTime = dtNow;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity4FileList != null && entity4FileList.Count > 0)
|
{
|
entity4FileList.ForEach(x =>
|
{
|
x.FormID = ID;
|
x.LogID = logId;
|
});
|
var fileIds = db.Insertable(entity4FileList).ExecuteReturnSnowflakeIdList();
|
if (fileIds == null || fileIds.Count != entity4FileList.Count)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 暂停
|
/// </summary>
|
public bool Pause(long ID, string Note, List<Entity.RepairTaskLogFile> entity4FileList)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dtNow = DateTime.Now;
|
db.BeginTran();
|
var entity = db.Queryable<Entity.RepairTaskForm>().Where(x => x.ID == ID).First();
|
if (entity == null)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity.FormStatus == (int)eTaskStatus.Paused)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity.FormStatus < (int)eTaskStatus.Started)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity.FormStatus >= (int)eTaskStatus.Finished)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Paused)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dtNow)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Pause;
|
entity4Log.OperateContent = "暂停";
|
entity4Log.OperateTime = dtNow;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity4FileList != null && entity4FileList.Count > 0)
|
{
|
entity4FileList.ForEach(x =>
|
{
|
x.FormID = ID;
|
x.LogID = logId;
|
});
|
var fileIds = db.Insertable(entity4FileList).ExecuteReturnSnowflakeIdList();
|
if (fileIds == null || fileIds.Count != entity4FileList.Count)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 重新开工
|
/// </summary>
|
public bool Restart(long ID, string Note, List<Entity.RepairTaskLogFile> entity4FileList)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dtNow = DateTime.Now;
|
db.BeginTran();
|
var entity = db.Queryable<Entity.RepairTaskForm>().Where(x => x.ID == ID).First();
|
if (entity == null)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity.FormStatus != (int)eTaskStatus.Paused)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Restarted)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dtNow)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Restart;
|
entity4Log.OperateContent = "重新开工";
|
entity4Log.OperateTime = dtNow;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity4FileList != null && entity4FileList.Count > 0)
|
{
|
entity4FileList.ForEach(x =>
|
{
|
x.FormID = ID;
|
x.LogID = logId;
|
});
|
var fileIds = db.Insertable(entity4FileList).ExecuteReturnSnowflakeIdList();
|
if (fileIds == null || fileIds.Count != entity4FileList.Count)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 完工
|
/// </summary>
|
public bool Finish(long ID, string Note, List<Entity.RepairTaskLogFile> entity4FileList)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dtNow = DateTime.Now;
|
db.BeginTran();
|
var entity = db.Queryable<Entity.RepairTaskForm>().Where(x => x.ID == ID).First();
|
if (entity == null)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity.FormStatus != (int)eTaskStatus.Started && entity.FormStatus != (int)eTaskStatus.Restarted)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Finished)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dtNow)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Finish;
|
entity4Log.OperateContent = "完工";
|
entity4Log.OperateTime = dtNow;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (entity4FileList != null && entity4FileList.Count > 0)
|
{
|
entity4FileList.ForEach(x =>
|
{
|
x.FormID = ID;
|
x.LogID = logId;
|
});
|
var fileIds = db.Insertable(entity4FileList).ExecuteReturnSnowflakeIdList();
|
if (fileIds == null || fileIds.Count != entity4FileList.Count)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 验收通过
|
/// </summary>
|
public bool Success(long ID, string Note)
|
{
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
var dtNow = DateTime.Now;
|
db.BeginTran();
|
var bol = db.Updateable<Entity.RepairTaskForm>()
|
.SetColumns(x => x.FormStatus == (int)eTaskStatus.Succeed)
|
.SetColumns(x => x.UpdateUserID == UserRegister.UserID)
|
.SetColumns(x => x.UpdateTime == dtNow)
|
.SetColumns(x => x.UpdateUserName == UserRegister.UserName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
var entity4Log = new Entity.RepairTaskLog();
|
entity4Log.FormID = ID;
|
entity4Log.OperateType = (int)eTaskOperation.Success;
|
entity4Log.OperateContent = "验收通过";
|
entity4Log.OperateTime = dtNow;
|
entity4Log.OperateUserID = UserRegister.UserID;
|
entity4Log.OperateUserName = UserRegister.UserName;
|
entity4Log.OperateNote = Note;
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 获取模糊列表
|
/// </summary>
|
public List<Tuple<Entity.RepairTaskForm, Entity.RepairRequestForm>> GetFluzzyList
|
(
|
List<long> EquipmentIds,
|
long? RepairUserID,
|
int? FormStatus,
|
int? Urgency,
|
string FormNo,
|
DateTime? StartTime,
|
DateTime? EndTime
|
)
|
{
|
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.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>> 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
|
(
|
List<long> EquipmentIds,
|
long? RepairUserID,
|
int? FormStatus,
|
int? Urgency,
|
string FormNo,
|
DateTime? StartTime,
|
DateTime? EndTime,
|
int PageIndex,
|
int PageSize,
|
ref int Total
|
)
|
{
|
if (PageIndex < 1)
|
PageIndex = 1;
|
if (PageSize < 1)
|
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.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>> 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
|
(
|
List<long> EquipmentIds,
|
long? RepairUserID,
|
int? Urgency,
|
string FormNo,
|
DateTime? StartTime,
|
DateTime? EndTime,
|
int PageIndex,
|
int PageSize,
|
ref int Total
|
)
|
{
|
if (PageIndex < 1)
|
PageIndex = 1;
|
if (PageSize < 1)
|
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);
|
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>> GetHasFinishedPageList
|
(
|
List<long> EquipmentIds,
|
long? RepairUserID,
|
int? Urgency,
|
string FormNo,
|
DateTime? StartTime,
|
DateTime? EndTime,
|
int PageIndex,
|
int PageSize,
|
ref int Total
|
)
|
{
|
if (PageIndex < 1)
|
PageIndex = 1;
|
if (PageSize < 1)
|
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.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>> 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();
|
}
|
}
|
|
|
}
|
}
|