//********************************************************** // // 功能说明:系统配置数据缓存区 // 创 建 人:袁世金 // 创建日期:2021-6-17 14:30:47 // 修 改 人: // 修改日期: // 修改备注: // 版 本:1.0.0.0 // //********************************************************** using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Data.SqlTypes; using System.Data.SqlClient; namespace Lskj.Data.Caches { /// /// /// public sealed class CacheSYSConfig { private static CacheSYSConfig _Instance = null; private static object lockObj = 1; private bool ProcessExists = false; public static CacheSYSConfig Instance() { if (_Instance == null) { lock (lockObj) _Instance = new CacheSYSConfig(); } return _Instance; } //**************************************************************************************************** Queue dataList = new Queue(); //**************************************************************************************************** #region SetData public void SetData(DataSet dsValue) { dataList.Clear(); if (dsValue != null) { ProcessExists = true; for (int i = 0; i < dsValue.Tables.Count; i++) { DataTable dtResult = dsValue.Tables[i]; dataList.Enqueue(dtResult); } // } else { dataList.Clear(); ResetValues(); } } //清空数据 public void empty() { dataList.Clear(); } public bool JudgeProcessExists() { if (dataList.Count == 0) ProcessExists = false; return ProcessExists; } #endregion public void ResetValues() { } /// /// 获取基础档案、报表模版类型 /// private int _BaseType = 0; public int BaseType { get { return _BaseType; } set { _BaseType = value; } } /// /// 错误码,大于0有错 /// private int _ErrCode = 0; public int ErrCode { get { return _ErrCode; } set { _ErrCode = value; } } /// /// 获取基础档案、报表模版类型 /// /// int GetBaseType() { return _BaseType; } /// /// 获取主键 /// /// /// public string GetBasePrimaryKey() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return (dtResult.Rows.Count > 0) ? dtResult.Rows[0]["fieldname"] + "" : string.Empty; } /// /// 获取列前缀 /// public string GetColumnPrefix() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return (dtResult.Rows.Count > 0) ? dtResult.Rows[0]["column_prefix"] + "" : string.Empty; } /* /// /// 执行SQL语句返回结果集 /// public DataTable GetDataTableResult(string sqlValue) { if (_DataSetConfig == null || _DataSetConfig.Tables.Count == 0) return null; DataTable dtResult = _DataSetConfig.Tables[2]; return dtResult; } */ /// /// 获取菜单其他配置 /// public DataRow GetMenuConfigTab() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult != null && dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null; } /// /// 加载自定义配置字段 /// public DataTable GetCustomQueryFields() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取高级查询条件模版 /// public DataTable GetSchemesList() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取基础档案表格列 /// public DataTable GetBaseGridColumns() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); if (!dtResult.Columns.Contains("username"))//表格中的列不包含指定列名 { dtResult.Columns["username1"].ColumnName = "username"; } if (!dtResult.Columns.Contains("nullable")) { dtResult.Columns["tagid"].ColumnName = "nullable"; } return dtResult; } /// /// 加载固定查询条件 /// public DataTable GetFixedQueryFields() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取单个模块信息 /// public DataRow GetSystemdllTab() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null; } /// /// 获取基础档案表格所有列 /// public DataTable GetBaseGridAllColumns() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取打印配置 /// /// public DataTable GetPrintTemp70() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 通过数据库获取个性配置列 /// /// public DataTable GetCustomColumnByDatabase() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 是否存在xxx表 /// /// public bool HasExistsTable() { return _ErrCode != 99; } public DataTable GetBaseGridRowColors() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } //--------------------------------------- /// /// 获取基础档案底部标签数据 /// /// public DataTable GetBaseDetailPages() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取报表明细列 /// /// /// public DataTable GetReportDetailColumns(string detailId) { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); //DataTable dtResult = new DataTable(); //DataRow[] rows = _ReportDetailColumns.Select("detailId = " + detailId); //dtResult.Rows.Add(rows); return dtResult; } /// /// 获取表格左侧树字段 /// /// public DataRow GetBaseLeftTreeField() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult != null && dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null; } /// /// 获取右键菜单数据 /// /// public DataTable GetBaseGridRightMenus() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取存储过程中的内容 表 /// /// public DataTable AccessToContent() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult; } /// /// 获取存储过程中的内容 行 /// /// public DataRow AccessToContentRow() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult != null && dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null; } /// /// 获取存储过程中的内容 返回的条数 /// /// public int AccessToContentRowCount() { if (dataList.Count == 0) return 0; DataTable dtResult = dataList.Dequeue(); return dtResult == null ? 0 : Convert.ToInt32(dtResult.Rows.Count); } /// /// 获取存储过程中的内容 获取返回的第一行第一列内容 /// /// public string AccessToContentTheCell() { if (dataList.Count == 0) return null; DataTable dtResult = dataList.Dequeue(); return dtResult == null ? null : dtResult.Rows[0][0].ToString(); } /// /// 是否包含流转步骤 /// /// public bool IncludeFlowSteps() { if (dataList.Count == 0) return false; DataTable dtResult = dataList.Dequeue(); return dtResult.Rows.Count > 0; } } //**************************************************************************** }