using HL_FristAidPlatform_Help; using HL_FristAidPlatform_IDataBase.Service; using HL_FristAidPlatform_Models; using SqlSugar; using System.Collections.Generic; using System.Linq; namespace HL_FristAidPlatform_DataBase { /// /// 事故信息 /// public class T_Base_AccidentInfoDB : BaseDB, IT_Base_AccidentInfo { public SqlSugarClient db = GetClient(); /// /// 查询所有的事故 Tree /// /// public List GetListAccidentInfo() { //TableModel t = new TableModel(); var oneClass = db.Queryable().ToList(); var twoClass = db.Queryable().ToList(); List list = new List(); oneClass.ForEach(x => { AccidentInfoModel infoModel = new AccidentInfoModel(); infoModel.Name = x.ParentName; infoModel.GUID = x.GUID; infoModel.AccidentLevel = x.AccidentLevel; infoModel.childrenModel = new List(); twoClass.Where(a => a.AccidentLevel == x.AccidentLevel).ToList().ForEach(m => { AccidentInfoModel model = new AccidentInfoModel(); model.GUID = x.GUID; model.AccidentLevel = m.AccidentLevel; model.Describe = m.Describe; model.NodeGUID = m.GUID; model.NodeName = m.LevelName; model.Name = m.LevelName; model.ParentName = infoModel.Name; infoModel.childrenModel.Add(model); }); list.Add(infoModel); }); return list; //t.Code = 0; //t.PageCount = list.Count; //t.TotalNumber = list.Count; //t.Data = list; //t.Msg = "成功"; //return t; } /// /// 重大事故/群伤事件数据集合 /// /// public List GetAccidentInfoClass() { List list = new List(); return list = db.Queryable().Select(i=>new AccidentInfoClassModel { ID=i.ID, Name=i.ParentName }).ToList(); } /// /// 查询所有的事故 Tree eDataTable /// /// //public TableModel GetListAccidentInfoeDataTable() //{ // TableModel t = new TableModel(); // var oneClass = db.Queryable().ToList(); // var twoClass = db.Queryable().ToList(); // List list = new List(); // List modelList = new List(); // oneClass.ForEach(x => // { // AccidentInfoModel infoModel = new AccidentInfoModel(); // infoModel.parentModel = new ParentModel();//类是引用类型,会覆盖 每次循环都要实例化 // infoModel.parentModel.Name = x.ParentName; // infoModel.parentModel.GUID = x.GUID; // infoModel.parentModel.AccidentLevel = x.AccidentLevel; // infoModel.parentModel.childrenModel = new List(); // twoClass.Where(a => a.AccidentLevel == x.AccidentLevel).ToList().ForEach(m => // { // ChildrenModel model = new ChildrenModel(); // model.AccidentLevel = m.AccidentLevel; // model.Describe = m.Describe; // model.NodeGUID = m.GUID; // model.NodeName = m.LevelName; // model.ParentGUID = x.GUID; // infoModel.parentModel.childrenModel.Add(model); // }); // list.Add(infoModel); // }); // t.Code = 0; // t.PageCount = list.Count; // t.TotalNumber = list.Count; // t.Data = list; // t.Msg = "成功"; // return t; //} /// /// 事故集合 /// /// public TableModel GetListAccident() { TableModel t = new TableModel(); var list = db.Queryable().Where(it => it.DeleteFlag == 0).ToList(); t.Code = 0; t.PageCount = list.Count; t.TotalNumber = list.Count; t.Data = list; t.Msg = "成功"; return t; } #region 群伤事件 public List GetList(string name, int accidentLevel) { return db.Queryable().Where(i => i.DeleteFlag == 0) .WhereIF(!SqlFunc.IsNullOrEmpty(name), i => i.ParentName.Contains(name)) .WhereIF(accidentLevel > 0, i => i.AccidentLevel == accidentLevel).ToList(); } public T_Base_AccidentInfo GetByName(string parentName, int accidentLevel) { return db.Queryable().Where(i => i.ParentName == parentName && i.AccidentLevel == accidentLevel && i.DeleteFlag == 0).First(); } public bool SaveAccidentInfo(T_Base_AccidentInfo department) { return db.Insertable(department).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand() == 1 ? true : false; } public T_Base_AccidentInfo GetById(int iD) { return db.Queryable().Where(i => i.ID == iD && i.DeleteFlag == 0).First(); } public bool UpdateAccidentInfo(T_Base_AccidentInfo department) { return db.Updateable(department).UpdateColumns(i => new { i.ParentName ,i.AccidentLevel }).ExecuteCommand() == 1 ? true : false; } #endregion #region 事故等级 public List GetAccidentLevelList(string name, int accidentLevel) { return db.Queryable().Where(i => i.DeleteFlag == 0) .WhereIF(!SqlFunc.IsNullOrEmpty(name), i => i.LevelName.Contains(name)) .WhereIF(accidentLevel > 0, i => i.AccidentLevel == accidentLevel).ToList(); } public T_Base_AccidentLevel GetAccidentLevelByName(string name, int accidentLevel) { return db.Queryable().Where(i => i.LevelName == name && i.AccidentLevel == accidentLevel && i.DeleteFlag == 0).First(); } public bool SaveAccidentLevel(T_Base_AccidentLevel department) { return db.Insertable(department).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand() == 1 ? true : false; } public T_Base_AccidentLevel GetAccidentLevelById(int iD) { return db.Queryable().Where(i => i.ID == iD && i.DeleteFlag == 0).First(); } public bool UpdateAccidentLevel(T_Base_AccidentLevel department) { return db.Updateable(department).UpdateColumns(i => new { i.LevelName, i.AccidentLevel }).ExecuteCommand() == 1 ? true : false; } #endregion } }