Files
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

402 lines
11 KiB
C#

//**********************************************************
//
// 功能说明:系统配置数据缓存区
// 创 建 人:袁世金
// 创建日期: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
{
/// <summary>
///
/// </summary>
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<DataTable> dataList = new Queue<DataTable>();
//****************************************************************************************************
#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()
{
}
/// <summary>
/// 获取基础档案、报表模版类型
/// </summary>
private int _BaseType = 0;
public int BaseType
{
get { return _BaseType; }
set { _BaseType = value; }
}
/// <summary>
/// 错误码,大于0有错
/// </summary>
private int _ErrCode = 0;
public int ErrCode
{
get { return _ErrCode; }
set { _ErrCode = value; }
}
/// <summary>
/// 获取基础档案、报表模版类型
/// </summary>
/// <returns></returns>
int GetBaseType()
{
return _BaseType;
}
/// <summary>
/// 获取主键
/// </summary>
/// <param name="menuCode"></param>
/// <returns></returns>
public string GetBasePrimaryKey()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return (dtResult.Rows.Count > 0) ? dtResult.Rows[0]["fieldname"] + "" : string.Empty;
}
/// <summary>
/// 获取列前缀
/// </summary>
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;
}
/*
/// <summary>
/// 执行SQL语句返回结果集
/// </summary>
public DataTable GetDataTableResult(string sqlValue)
{
if (_DataSetConfig == null || _DataSetConfig.Tables.Count == 0)
return null;
DataTable dtResult = _DataSetConfig.Tables[2];
return dtResult;
}
*/
/// <summary>
/// 获取菜单其他配置
/// </summary>
public DataRow GetMenuConfigTab()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult != null && dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null;
}
/// <summary>
/// 加载自定义配置字段
/// </summary>
public DataTable GetCustomQueryFields()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取高级查询条件模版
/// </summary>
public DataTable GetSchemesList()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取基础档案表格列
/// </summary>
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;
}
/// <summary>
/// 加载固定查询条件
/// </summary>
public DataTable GetFixedQueryFields()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取单个模块信息
/// </summary>
public DataRow GetSystemdllTab()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null;
}
/// <summary>
/// 获取基础档案表格所有列
/// </summary>
public DataTable GetBaseGridAllColumns()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取打印配置
/// </summary>
/// <returns></returns>
public DataTable GetPrintTemp70()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 通过数据库获取个性配置列
/// </summary>
/// <returns></returns>
public DataTable GetCustomColumnByDatabase()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 是否存在xxx表
/// </summary>
/// <returns></returns>
public bool HasExistsTable()
{
return _ErrCode != 99;
}
public DataTable GetBaseGridRowColors()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
//---------------------------------------
/// <summary>
/// 获取基础档案底部标签数据
/// </summary>
/// <returns></returns>
public DataTable GetBaseDetailPages()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取报表明细列
/// </summary>
/// <param name="detailId"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取表格左侧树字段
/// </summary>
/// <returns></returns>
public DataRow GetBaseLeftTreeField()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult != null && dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null;
}
/// <summary>
/// 获取右键菜单数据
/// </summary>
/// <returns></returns>
public DataTable GetBaseGridRightMenus()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取存储过程中的内容 表
/// </summary>
/// <returns></returns>
public DataTable AccessToContent()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult;
}
/// <summary>
/// 获取存储过程中的内容 行
/// </summary>
/// <returns></returns>
public DataRow AccessToContentRow()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult != null && dtResult.Rows.Count > 0 ? dtResult.Rows[0] : null;
}
/// <summary>
/// 获取存储过程中的内容 返回的条数
/// </summary>
/// <returns></returns>
public int AccessToContentRowCount()
{
if (dataList.Count == 0)
return 0;
DataTable dtResult = dataList.Dequeue();
return dtResult == null ? 0 : Convert.ToInt32(dtResult.Rows.Count);
}
/// <summary>
/// 获取存储过程中的内容 获取返回的第一行第一列内容
/// </summary>
/// <returns></returns>
public string AccessToContentTheCell()
{
if (dataList.Count == 0)
return null;
DataTable dtResult = dataList.Dequeue();
return dtResult == null ? null : dtResult.Rows[0][0].ToString();
}
/// <summary>
/// 是否包含流转步骤
/// </summary>
/// <returns></returns>
public bool IncludeFlowSteps()
{
if (dataList.Count == 0)
return false;
DataTable dtResult = dataList.Dequeue();
return dtResult.Rows.Count > 0;
}
}
//****************************************************************************
}