StableVersion4.3/HL_FristAidPlatform_DataBase/Base/T_Base_AccidentInfoDB.cs

194 lines
7.6 KiB
C#

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
{
/// <summary>
/// 事故信息
/// </summary>
public class T_Base_AccidentInfoDB : BaseDB, IT_Base_AccidentInfo
{
public SqlSugarClient db = GetClient();
/// <summary>
/// 查询所有的事故 Tree
/// </summary>
/// <returns></returns>
public List<AccidentInfoModel> GetListAccidentInfo()
{
//TableModel<AccidentInfoModel> t = new TableModel<AccidentInfoModel>();
var oneClass = db.Queryable<T_Base_AccidentInfo>().ToList();
var twoClass = db.Queryable<T_Base_AccidentLevel>().ToList();
List<AccidentInfoModel> list = new List<AccidentInfoModel>();
oneClass.ForEach(x =>
{
AccidentInfoModel infoModel = new AccidentInfoModel();
infoModel.Name = x.ParentName;
infoModel.GUID = x.GUID;
infoModel.AccidentLevel = x.AccidentLevel;
infoModel.childrenModel = new List<AccidentInfoModel>();
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;
}
/// <summary>
/// 重大事故/群伤事件数据集合
/// </summary>
/// <returns></returns>
public List<AccidentInfoClassModel> GetAccidentInfoClass()
{
List<AccidentInfoClassModel> list = new List<AccidentInfoClassModel>();
return list = db.Queryable<T_Base_AccidentInfo>().Select(i=>new AccidentInfoClassModel
{
ID=i.ID,
Name=i.ParentName
}).ToList();
}
/// <summary>
/// 查询所有的事故 Tree eDataTable
/// </summary>
/// <returns></returns>
//public TableModel<AccidentInfoModel> GetListAccidentInfoeDataTable()
//{
// TableModel<AccidentInfoModel> t = new TableModel<AccidentInfoModel>();
// var oneClass = db.Queryable<T_Service_FristAid_AccidentInfo>().ToList();
// var twoClass = db.Queryable<T_Service_FristAid_AccidentLevel>().ToList();
// List<AccidentInfoModel> list = new List<AccidentInfoModel>();
// List<ChildrenModel> modelList = new List<ChildrenModel>();
// 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<ChildrenModel>();
// 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;
//}
/// <summary>
/// 事故集合
/// </summary>
/// <returns></returns>
public TableModel<T_Base_AccidentInfo> GetListAccident()
{
TableModel<T_Base_AccidentInfo> t = new TableModel<T_Base_AccidentInfo>();
var list = db.Queryable<T_Base_AccidentInfo>().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<T_Base_AccidentInfo> GetList(string name, int accidentLevel)
{
return db.Queryable<T_Base_AccidentInfo>().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<T_Base_AccidentInfo>().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<T_Base_AccidentInfo>().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<T_Base_AccidentLevel> GetAccidentLevelList(string name, int accidentLevel)
{
return db.Queryable<T_Base_AccidentLevel>().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<T_Base_AccidentLevel>().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<T_Base_AccidentLevel>().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
}
}