using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.Service
{
///
/// 维修单
///
public partial class RepairTaskForm
{
private readonly DAL.RepairTaskForm _dal = new DAL.RepairTaskForm();
#region Query
///
/// 通过 CorpID 获取
///
public List GetByCorpID(long CorpID)
{
var entityList = _dal.GetByCorpID(CorpID);
var modelList = Entity2Models(entityList);
return modelList?.OrderByDescending(x=>x.CreateTime).ToList();
}
///
/// 通过 CorpID 获取数量
///
public int GetCountByCorpID(long CorpID)
{
return _dal.GetCountByCorpID(CorpID);
}
///
/// 通过 ID 获取
///
public Model.RepairTaskForm GetByID(long CorpID, long ID)
{
var entity = _dal.GetByID(CorpID, ID);
var model = Entity2Model(entity);
return model;
}
///
/// 通过 Ids 获取
///
public List GetByIds(long CorpID, List Ids)
{
if (Ids == null || Ids.Count() < 1)
return default;
var entityList = _dal.GetByIds(CorpID, Ids);
var modelList = Entity2Models(entityList);
return modelList?.OrderByDescending(x => x.CreateTime).ToList();
}
///
/// 通过 RequestID 获取
///
public List GetByRequestID(long CorpID, long RequestID)
{
var entityList=_dal.GetByRequestID(CorpID, RequestID);
var modelList = Entity2Models(entityList);
return modelList;
}
///
/// 通过 RequestIds 获取
///
public List GetByRequestIds(long CorpID, List RequestIds)
{
if (RequestIds == null || RequestIds.Count < 1)
return default;
var entityList = _dal.GetByRequestIds(CorpID,RequestIds);
var modelList = Entity2Models(entityList);
return modelList;
}
///
/// 通过 CorpID 获取未验收
///
public List GetUnCheckedByCorpID(long CorpID)
{
var entityList=_dal.GetUnCheckedByCorpID(CorpID);
var modelList = Entity2Models(entityList);
return modelList;
}
///
/// 获取模糊列表
///
public List> GetFluzzyList
(
long CorpID,
string BelongType,
long? BelongID,
long? ProductID,
long? RepairUserID,
Model.Repair.eTaskStatus? FormStatus,
Model.Repair.eUrgency? Urgency,
string FormNo,
DateTime? StartTime,
DateTime? EndTime
)
{
var entityList = _dal.GetFluzzyList
(CorpID, BelongType, BelongID, ProductID, RepairUserID, (int?)FormStatus, (int?)Urgency, FormNo, StartTime, EndTime);
var modelList = entityList?.Select(x => new Tuple(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
return modelList;
}
///
/// 获取分页列表
///
public List> GetPageList
(
long CorpID,
string BelongType,
long? BelongID,
long? ProductID,
long? RepairUserID,
Model.Repair.eTaskStatus? FormStatus,
Model.Repair.eUrgency? Urgency,
string FormNo,
DateTime? StartTime,
DateTime? EndTime,
int PageIndex,
int PageSize,
ref int Total
)
{
var entityList = _dal.GetPageList
(CorpID, BelongType, BelongID, ProductID, RepairUserID,(int?) FormStatus, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
var modelList = entityList?.Select(x => new Tuple(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
return modelList;
}
///
/// 获取进行中的分页列表
///
public List> GetProgressPageList
(
long CorpID,
string BelongType,
long? BelongID,
long? ProductID,
long? RepairUserID,
Model.Repair.eUrgency? Urgency,
string FormNo,
DateTime? StartTime,
DateTime? EndTime,
int PageIndex,
int PageSize,
ref int Total
)
{
var entityList = _dal.GetProgressPageList
(CorpID, BelongType, BelongID, ProductID, RepairUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
var modelList = entityList?.Select(x => new Tuple(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
return modelList;
}
///
/// 获取已完成的分页列表
///
public List> GetHasFinishedPageList
(
long CorpID,
string BelongType,
long? BelongID,
long? ProductID,
long? RepairUserID,
Model.Repair.eUrgency? Urgency,
string FormNo,
DateTime? StartTime,
DateTime? EndTime,
int PageIndex,
int PageSize,
ref int Total
)
{
var entityList = _dal.GetHasFinishedPageList
(CorpID, BelongType, BelongID, ProductID, RepairUserID, (int?)Urgency, FormNo, StartTime, EndTime, PageIndex, PageSize, ref Total);
var modelList = entityList?.Select(x => new Tuple(Entity2Model(x.Item1), Entity2Model(x.Item2))).ToList();
return modelList;
}
#endregion
#region Insert
///
/// 插入一条数据
///
public long Insert(Model.RepairTaskForm model)
{
if (model == null)
return default;
if (model.CorpID < 1)
return default;
var entity = Model2Entity(model);
var id = _dal.Insert(entity);
return id;
}
#endregion
#region Update
///
/// 更新一条
///
public bool Update(Model.RepairTaskForm model)
{
if (model == null)
return default;
if (model.CorpID < 1)
return default;
if (model.ID < 1)
return default;
var entity = Model2Entity(model);
var bol = _dal.Update(entity);
return bol;
}
///
/// 更新多条
///
public bool Updates(List list)
{
if (list == null || list.Count() < 1)
return default;
var corpIds = list.Select(x => x.CorpID).Distinct().ToList();
if (corpIds.Count != 1 || corpIds[0] < 1)
return default;
if (list.ToList().Exists(x => x.ID < 1))
return default;
var entity_list = Model2Entities(list.ToList());
var bol = _dal.Updates(entity_list);
return bol;
}
///
/// 更新 FormStatus
///
public bool UpdateFormStatus(long CorpID, long ID, Model.Repair.eTaskStatus FormStatus, long UpdateUserID, DateTime UpdateTime)
{
var bol = _dal.UpdateFormStatus(CorpID, ID, (int)FormStatus, UpdateUserID, UpdateTime);
return bol;
}
///
/// 派单
///
public bool Assign(long CorpID, long ID, long AssignUserID, string Note, long UpdateUserID, DateTime UpdateTime)
{
var bol=_dal.Assign(CorpID, ID, AssignUserID, Note, UpdateUserID, UpdateTime);
return bol;
}
///
/// 接单
///
public bool Receive(long CorpID, long ID, string Note, long UpdateUserID, DateTime UpdateTime)
{
var bol = _dal.Receive(CorpID, ID, Note, UpdateUserID, UpdateTime);
return bol;
}
///
/// 开工
///
public bool Start(long CorpID, long ID, string Note, List fileList, long UpdateUserID, DateTime UpdateTime)
{
var entity4FileList = Model2Entities(fileList);
var bol = _dal.Start(CorpID, ID, Note, entity4FileList, UpdateUserID, UpdateTime);
return bol;
}
///
/// 暂停
///
public bool Pause(long CorpID, long ID, string Note, List fileList, long UpdateUserID, DateTime UpdateTime)
{
var entity4FileList = Model2Entities(fileList);
var bol = _dal.Pause(CorpID, ID, Note, entity4FileList, UpdateUserID, UpdateTime);
return bol;
}
///
/// 重新开工
///
public bool Restart(long CorpID, long ID, string Note, List fileList, long UpdateUserID, DateTime UpdateTime)
{
var entity4FileList = Model2Entities(fileList);
var bol = _dal.Restart(CorpID, ID, Note, entity4FileList, UpdateUserID, UpdateTime);
return bol;
}
///
/// 完工
///
public bool Finish(long CorpID, long ID, string Note, List fileList, long UpdateUserID, DateTime UpdateTime)
{
var entity4FileList = Model2Entities(fileList);
var bol = _dal.Finish(CorpID, ID, Note, entity4FileList, UpdateUserID, UpdateTime);
return bol;
}
///
/// 验收通过
///
public bool Success(long CorpID, long ID, string Note, long UpdateUserID, DateTime UpdateTime)
{
var bol = _dal.Success(CorpID,ID,Note,UpdateUserID,UpdateTime);
return bol;
}
#endregion
#region Exist
///
/// 根据 ID 判断是否存在
///
public bool IsExistByID(long CorpID, long ID)
{
var all = GetByCorpID(CorpID);
return all.Exists(x => x.ID == ID);
}
#endregion
#region Delete
///
/// 通过 ID 删除
///
public bool DeleteByID(long CorpID, long ID, out string Msg)
{
Msg = string.Empty;
var dal = new DAL.RepairTaskForm();
var bol = dal.DeleteByID(CorpID, ID);
return bol;
}
#endregion
}
}