194 lines
7.6 KiB
C#
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
|
|
|
|
}
|
|
}
|