StableVersion4.3/HL_FristAidPlatform_DataBase/Base/T_Base_TimeAxisDB.cs

262 lines
12 KiB
C#

using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
using System.Collections.Generic;
namespace HL_FristAidPlatform_DataBase
{
public class T_Base_TimeAxisDB : BaseDB, IT_Base_TimeAxis
{
public SqlSugarClient db = GetClient();
#region 增
public bool Add(T_Base_TimeAxis menu)
{
return db.Insertable(menu).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand() == 1 ? true : false;
}
#endregion
#region 改
public bool Update(T_Base_TimeAxis menu)
{
return db.Updateable(menu).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 1 ? true : false;
}
#endregion
#region 删
public bool Dels(dynamic[] ids)
{
return db.Deleteable<T_Base_TimeAxis>().In(new dynamic[] { ids }).ExecuteCommand() == 1 ? true : false;
}
#endregion
#region 查
public T_Base_TimeAxis Get(long id)
{
return db.Queryable<T_Base_TimeAxis>().First(it => it.ID == id);
}
/// <summary>
/// 分页获取列表
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页大小</param>
/// <param name="systemModuleID">所属系统模块</param>
/// <param name="groupID">所属分组</param>
/// <param name="parentID">父级节点</param>
/// <param name="keyWord">关键词</param>
/// <returns></returns>
public TableModel<T_Base_TimeAxisModel> GetPageList(int pageIndex, int pageSize, long systemModuleID, long groupID, long parentID, string keyWord)
{
int TotalNumber = 0;
TableModel<T_Base_TimeAxisModel> t = new TableModel<T_Base_TimeAxisModel>();
var listMode = db.Queryable<T_Base_TimeAxis, T_Base_TimeAxis, T_Base_TimeAxisGroup, T_SYS_SystemModule>((TimeAxis, Parent, AxisGroup, System) => new object[] {
JoinType.Left,TimeAxis.ParentID==Parent.ID,
JoinType.Left,TimeAxis.GroupID==AxisGroup.ID,
JoinType.Left,TimeAxis.SystemModuleID==System.ID,
}).Where((TimeAxis, Parent, AxisGroup, System) => TimeAxis.DeleteFlag == 0 && AxisGroup.DeleteFlag == 0 && System.DeleteFlag == 0)
.WhereIF(systemModuleID > 0, (TimeAxis, Parent, AxisGroup, System) => TimeAxis.SystemModuleID == systemModuleID)
.WhereIF(groupID > 0, (TimeAxis, Parent, AxisGroup, System) => TimeAxis.GroupID == groupID)
.WhereIF(parentID > 0, (TimeAxis, Parent, AxisGroup, System) => TimeAxis.ID == parentID)
.WhereIF(!string.IsNullOrEmpty(keyWord), (TimeAxis, Parent, Group, System) => TimeAxis.TimeName.Contains(keyWord))
.Select((TimeAxis, Parent, AxisGroup, System) => new T_Base_TimeAxisModel
{
ID = TimeAxis.ID,
GUID = TimeAxis.GUID.ToString(),
SystemModuleID = TimeAxis.SystemModuleID,
ParentID = TimeAxis.ParentID,
TimeName = TimeAxis.TimeName,
Interval = TimeAxis.Interval,
ContrastTimeAxisID = TimeAxis.ContrastTimeAxisID,
IsPrintBarCode = TimeAxis.IsPrintBarCode,
PrintBarCodeNumber = TimeAxis.PrintBarCodeNumber,
Describe = TimeAxis.Describe,
GroupID = TimeAxis.GroupID,
LocationX = TimeAxis.LocationX,
LocationY = TimeAxis.LocationY,
OrderBy = TimeAxis.OrderBy,
IsDisplayTimeAxis = TimeAxis.IsDisplayTimeAxis,
Form_Flag = TimeAxis.Form_Flag,
From_Table = TimeAxis.From_Table,
From_Columns = TimeAxis.From_Columns,
DeleteFlag = TimeAxis.DeleteFlag,
CreationDate = TimeAxis.CreationDate,
ModificationDate = TimeAxis.ModificationDate,
ParentName = Parent.TimeName.ToString(),
GroupName = AxisGroup.GroupName,
SystemModule = System.SystemName,
IsPrintBarCodeCase = TimeAxis.IsPrintBarCode.ToString(),
IsDisplayTimeAxisCase = TimeAxis.IsDisplayTimeAxis.ToString(),
}).OrderBy((TimeAxis) => TimeAxis.OrderBy).ToPageList(pageIndex, pageSize, ref TotalNumber);
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = TotalNumber;
t.Data = listMode;
t.Msg = "成功";
return t;
}
/// <summary>
/// 获取当前系统所有节点
/// </summary>
/// <param name="systemModuleID">所属系统模块</param>
/// <returns></returns>
public TableModel<T_Base_TimeAxisModel> GetListBySystemModuleID(long systemModuleID)
{
TableModel<T_Base_TimeAxisModel> t = new TableModel<T_Base_TimeAxisModel>();
var listMode = db.Queryable<T_Base_TimeAxis, T_Base_TimeAxis, T_Base_TimeAxisGroup, T_SYS_SystemModule>((TimeAxis, Parent, AxisGroup, System) => new object[] {
JoinType.Left,TimeAxis.ParentID==Parent.ID,
JoinType.Left,TimeAxis.GroupID==AxisGroup.ID,
JoinType.Left,TimeAxis.SystemModuleID==System.ID,
}).Where((TimeAxis, Parent, AxisGroup, System) => TimeAxis.DeleteFlag == 0 && AxisGroup.DeleteFlag == 0 && System.DeleteFlag == 0)
.WhereIF(systemModuleID > 0, (TimeAxis, Parent, AxisGroup, System) => TimeAxis.SystemModuleID == systemModuleID)
.Select((TimeAxis, Parent, AxisGroup, System) => new T_Base_TimeAxisModel
{
ID = TimeAxis.ID,
GUID = TimeAxis.GUID.ToString(),
SystemModuleID = TimeAxis.SystemModuleID,
ParentID = TimeAxis.ParentID,
TimeName = TimeAxis.TimeName,
Interval = TimeAxis.Interval,
ContrastTimeAxisID = TimeAxis.ContrastTimeAxisID,
IsPrintBarCode = TimeAxis.IsPrintBarCode,
PrintBarCodeNumber = TimeAxis.PrintBarCodeNumber,
Describe = TimeAxis.Describe,
GroupID = TimeAxis.GroupID,
LocationX = TimeAxis.LocationX,
LocationY = TimeAxis.LocationY,
IsDisplayTimeAxis = TimeAxis.IsDisplayTimeAxis,
Form_Flag = TimeAxis.Form_Flag,
From_Table = TimeAxis.From_Table,
From_Columns = TimeAxis.From_Columns,
OrderBy = TimeAxis.OrderBy,
DeleteFlag = TimeAxis.DeleteFlag,
CreationDate = TimeAxis.CreationDate,
ModificationDate = TimeAxis.ModificationDate,
ParentName = Parent.TimeName.ToString(),
GroupName = AxisGroup.GroupName,
SystemModule = System.SystemName,
IsPrintBarCodeCase = TimeAxis.IsPrintBarCode.ToString(),
IsDisplayTimeAxisCase = TimeAxis.IsDisplayTimeAxis.ToString(),
}).OrderBy((TimeAxis) => TimeAxis.OrderBy).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
/// <summary>
/// 根据父级节点获取子节点
/// </summary>
/// <param name="parentID"></param>
/// <returns></returns>
public TableModel<T_Base_TimeAxis> GetTimeAxis(int parentID)
{
List<T_Base_TimeAxis> dt = db.Queryable<T_Base_TimeAxis>().Where(w => w.ParentID == parentID).OrderBy("OrderBy asc").ToList();
TableModel<T_Base_TimeAxis> t = new TableModel<T_Base_TimeAxis>();
t.Code = 0;
t.PageCount = dt.Count;
t.TotalNumber = 1;
t.Data = dt;
t.Msg = "成功";
return t;
}
/// <summary>
/// 通过节点组编号获取该组内所有父节点为0的节点列表
/// </summary>
/// <param name="parentID">节点组编号</param>
/// <returns></returns>
public TableModel<T_Base_TimeAxis> GetTimeAxisByGroupID(int groupId)
{
List<T_Base_TimeAxis> dt = db.Queryable<T_Base_TimeAxis>().WhereIF(groupId != -1, it => it.GroupID == groupId).Where(it => it.DeleteFlag == 0).OrderBy(it => it.OrderBy).ToList();
TableModel<T_Base_TimeAxis> t = new TableModel<T_Base_TimeAxis>();
t.Code = 0;
t.PageCount = dt.Count;
t.TotalNumber = 1;
t.Data = dt;
t.Msg = "成功";
return t;
}
/// <summary>
/// 通过节点组编号获取该组内所有父节点为0的节点列表
/// </summary>
/// <param name="isPrintBarCode">是否打印条码</param>
/// <param name="systemModuleID">所属模块ID</param>
/// <returns></returns>
public TableModel<T_Base_TimeAxisModel> GetTimeAxisByIsPrintBarCode(int isPrintBarCode, long systemModuleID)
{
TableModel<T_Base_TimeAxisModel> t = new TableModel<T_Base_TimeAxisModel>();
var listMode = db.Queryable<T_Base_TimeAxis, T_SYS_SystemModule>((TimeAxis, System) => new object[] {
JoinType.Left,TimeAxis.SystemModuleID==System.ID,
}).Where((TimeAxis, System) => TimeAxis.IsPrintBarCode == isPrintBarCode && TimeAxis.SystemModuleID == systemModuleID && TimeAxis.DeleteFlag == 0 && System.DeleteFlag == 0)
.Select((TimeAxis, System) => new T_Base_TimeAxisModel
{
ID = TimeAxis.ID,
GUID = TimeAxis.GUID.ToString(),
SystemModuleID = TimeAxis.SystemModuleID,
ParentID = TimeAxis.ParentID,
TimeName = TimeAxis.TimeName,
Interval = TimeAxis.Interval,
ContrastTimeAxisID = TimeAxis.ContrastTimeAxisID,
IsPrintBarCode = TimeAxis.IsPrintBarCode,
PrintBarCodeNumber = TimeAxis.PrintBarCodeNumber,
Describe = TimeAxis.Describe,
GroupID = TimeAxis.GroupID,
LocationX = TimeAxis.LocationX,
LocationY = TimeAxis.LocationY,
OrderBy = TimeAxis.OrderBy,
IsDisplayTimeAxis = TimeAxis.IsDisplayTimeAxis,
Form_Flag = TimeAxis.Form_Flag,
From_Table = TimeAxis.From_Table,
From_Columns = TimeAxis.From_Columns,
DeleteFlag = TimeAxis.DeleteFlag,
CreationDate = TimeAxis.CreationDate,
ModificationDate = TimeAxis.ModificationDate,
SystemModule = System.SystemName,
IsPrintBarCodeCase = TimeAxis.IsPrintBarCode.ToString(),
IsDisplayTimeAxisCase = TimeAxis.IsDisplayTimeAxis.ToString(),
}).OrderBy((TimeAxis) => TimeAxis.OrderBy).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
/// <summary>
/// 获取未配置到指定时间轴模板中的其他时间节点
/// </summary>
/// <param name="keyWord">关键词</param>
/// <param name="systemModuleID">系统编号(ID)</param>
/// <param name="templetGUID">时间轴模板编号(GUID)</param>
/// <returns></returns>
public TableModel<T_Base_TimeAxisModel> GetNoConfigured(string keyWord, long systemModuleID, string templetGUID)
{
string Sql = @"SELECT [ID],[GUID],TimeName,OrderBy FROM T_Base_TimeAxis WHERE SystemModuleID='{0}' AND TimeName LIKE '%{1}%' AND ParentID!=-1 AND DeleteFlag=0 AND [GUID] NOT IN(SELECT TimeAxisGUID FROM T_Base_TimeAxis_TempletDetail WHERE TempletGUID='{2}' AND DeleteFlag=0) ORDER BY OrderBy";
Sql = string.Format(Sql, systemModuleID, keyWord, templetGUID);
List<T_Base_TimeAxisModel> data = db.Ado.SqlQuery<T_Base_TimeAxisModel>(Sql);
TableModel<T_Base_TimeAxisModel> t = new TableModel<T_Base_TimeAxisModel>();
t.Code = 0;
t.PageCount = data.Count;
t.TotalNumber = data.Count;
t.Data = data;
t.Msg = "成功";
return t;
}
#endregion
}
}