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 } }