namespace Yw.DAL
|
{
|
/// <summary>
|
/// RepairRequestForm
|
/// </summary>
|
public interface IRepairRequestForm : IBaseTraceDAL<Entity.RepairRequestForm>
|
{
|
|
/// <summary>
|
/// 获取最近列表
|
/// </summary>
|
List<Entity.RepairRequestForm> GetLastList(int Number = 1);
|
|
/// <summary>
|
/// 获取所有待受理的数据
|
/// </summary>
|
List<Entity.RepairRequestForm> GetPendingList();
|
|
/// <summary>
|
/// 获取待受理的数量
|
/// </summary>
|
int GetPendingCount();
|
|
/// <summary>
|
/// 通过 FormStatus 获取
|
/// </summary>
|
List<Entity.RepairRequestForm> GetByFormStatus(int FormStatus);
|
|
/// <summary>
|
/// 通过 FormStatus 获取数量
|
/// </summary>
|
int GetCountByFormStatus(int FormStatus);
|
|
/// <summary>
|
/// 通过 EquipmentID 获取
|
/// </summary>
|
List<Entity.RepairRequestForm> GetByEquipmentID(long EquipmentID);
|
|
/// <summary>
|
/// 通过 EquipmentIds 获取
|
/// </summary>
|
List<Entity.RepairRequestForm> GetByEquipmentIds(List<long> EquipmentIds);
|
|
/// <summary>
|
/// 获取某日的数量
|
/// </summary>
|
int GetCountOfDay(DateTime Day);
|
|
/// <summary>
|
/// 更新 FormStatus
|
/// </summary>
|
bool UpdateFormStatus(long ID, int FormStatus);
|
|
/// <summary>
|
/// 插入
|
/// </summary>
|
long Insert(Entity.RepairRequestForm entity, List<Entity.RepairRequestFile> entity4FileList)
|
{
|
if (string.IsNullOrEmpty(entity.FormNo))
|
{
|
var count = GetCountOfDay(entity.CreateTime) + 1;
|
entity.FormNo = $"R{entity.CreateTime.ToString("yyyyMMdd")}{count.ToString("000000")}";
|
}
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var formId = db.Insertable(entity).ExecuteReturnSnowflakeId();
|
if (formId < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
var entity4Log = new Entity.RepairRequestLog();
|
entity4Log.FormID = formId;
|
entity4Log.OperateType = (int)eRequestOperation.Create;
|
entity4Log.OperateContent = "创建";
|
entity4Log.OperateTime = entity.CreateTime;
|
entity4Log.OperateUserID = entity.CreateUserID;
|
entity4Log.OperateUserName = entity.CreateUserName;
|
entity4Log.OperateNote = "创建";
|
var logId = db.Insertable(entity4Log).ExecuteReturnSnowflakeId();
|
if (logId < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
if (entity4FileList != null && entity4FileList.Count > 0)
|
{
|
entity4FileList.ForEach(x => x.FormID = formId);
|
var fileIds = db.Insertable(entity4FileList).ExecuteReturnSnowflakeIdList();
|
if (fileIds == null || fileIds.Count != entity4FileList.Count)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
}
|
|
db.CommitTran();
|
return formId;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 驳回
|
/// </summary>
|
bool Reject(long ID, string Reason);
|
|
/// <summary>
|
/// 受理
|
/// </summary>
|
bool Accept(long ID, string Note);
|
|
/// <summary>
|
/// 获取我的模糊分页列表
|
/// </summary>
|
List<Entity.RepairRequestForm> GetMyFluzzyPageList
|
(
|
long CreateUserID,
|
int? FormStatus,
|
int? Urgency,
|
DateTime? StartTime,
|
DateTime? EndTime,
|
int PageIndex,
|
int PageSize,
|
ref int Total
|
);
|
|
/// <summary>
|
/// 获取模糊分页列表
|
/// </summary>
|
List<Entity.RepairRequestForm> GetFluzzyPageList
|
(
|
List<long> EquipmentIds,
|
long? CreateUserID,
|
int? FormStatus,
|
int? Urgency,
|
string FormNo,
|
DateTime? StartTime,
|
DateTime? EndTime,
|
int PageIndex,
|
int PageSize,
|
ref int Total
|
);
|
|
/// <summary>
|
/// 获取待派单分页列表
|
/// </summary>
|
List<Tuple<Entity.RepairRequestForm, Entity.RepairTaskForm>> GetJustAccepedPageList
|
(
|
List<long> EquipmentIds,
|
long? CreateUserID,
|
int? Urgency,
|
string FormNo,
|
DateTime? StartTime,
|
DateTime? EndTime,
|
int PageIndex,
|
int PageSize,
|
ref int Total
|
);
|
|
|
|
|
}
|
}
|