2025-03-28 09:49:56 +08:00

244 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Data;
using SuperMap.RealEstate.ServiceModel;
using Business = SuperMap.RealEstate.FrameWork.Platform.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 数据库表信息相关方法
/// 2023/6/7 15:04:32自动生成
/// </summary>
public class DATABASETABLEHelper
{
#region
/// <summary>
/// 获取数据库表信息列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.DATABASETABLEModel> GetDATABASETABLEList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.DATABASETABLEModel> searchModel)
{
List<Model.DATABASETABLEModel> DATABASETABLEList = new List<Model.DATABASETABLEModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.DATABASETABLEModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
}
DataTable dtDATABASETABLE = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASETABLE" + WhereSQL);
//增加组合查询条件
if (searchModel.keyWord != null && !string.IsNullOrWhiteSpace(searchModel.keyWord.Key))
{
foreach (string KeyName in searchModel.keyWord.Key.Split(','))
{
RowFilterSQL += (RowFilterSQL == "" ? "" : " or ") +
KeyName + " like '%" + searchModel.keyWord.Value + "%'";
}
}
if (RowFilterSQL != "")
{
dtDATABASETABLE.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtDATABASETABLE.DefaultView.Sort = searchModel.SortStr;
dtDATABASETABLE = dtDATABASETABLE.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtDATABASETABLE.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtDATABASETABLE = CommonHelper.GetDataTableWithPageSize(dtDATABASETABLE, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drDATABASETABLE in dtDATABASETABLE.Rows)
{
Model.DATABASETABLEModel databasetableModel = new Model.DATABASETABLEModel();
//绑定数据库表信息数据对象
BindDataRowToModel(drDATABASETABLE, databasetableModel);
DATABASETABLEList.Add(databasetableModel);
}
return DATABASETABLEList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drDATABASETABLE">datarow数据源</param>
/// <param name="databasetableModel">model对象</param>
public static void BindDataRowToModel(DataRow drDATABASETABLE, Model.DATABASETABLEModel databasetableModel)
{
if (drDATABASETABLE["DATABASETABLE_ID"].ToString() != "")
{
databasetableModel.DATABASETABLE_ID = drDATABASETABLE["DATABASETABLE_ID"].TryParseToInt(); //数据库表信息内码
}
if (drDATABASETABLE["DATABASETABLE_PID"].ToString() != "")
{
databasetableModel.DATABASETABLE_PID = drDATABASETABLE["DATABASETABLE_PID"].TryParseToInt(); //父级表内码
}
if (drDATABASETABLE["DATABASEINFO_ID"].ToString() != "")
{
databasetableModel.DATABASEINFO_ID = drDATABASETABLE["DATABASEINFO_ID"].TryParseToInt(); //数据库内码
}
databasetableModel.DATABASEINFO_NAME = drDATABASETABLE["DATABASEINFO_NAME"].ToString(); //数据库名称
databasetableModel.DATABASEINFO_URL = drDATABASETABLE["DATABASEINFO_URL"].ToString(); //数据库地址
databasetableModel.CONNECTION_STRING = drDATABASETABLE["CONNECTION_STRING"].ToString(); //数据库连接字符串
databasetableModel.OWNER_NAME = drDATABASETABLE["OWNER_NAME"].ToString(); //所属用户名称
databasetableModel.TABLE_NAME = drDATABASETABLE["TABLE_NAME"].ToString(); //数据表名称
databasetableModel.TABLE_COMMENTS = drDATABASETABLE["TABLE_COMMENTS"].ToString(); //数据表释义
if (drDATABASETABLE["DATABASETABLE_STATE"].ToString() != "")
{
databasetableModel.DATABASETABLE_STATE = drDATABASETABLE["DATABASETABLE_STATE"].TryParseToShort(); //有效状态
}
if (drDATABASETABLE["STAFF_ID"].ToString() != "")
{
databasetableModel.STAFF_ID = drDATABASETABLE["STAFF_ID"].TryParseToInt(); //操作人内码
}
databasetableModel.STAFF_NAME = drDATABASETABLE["STAFF_NAME"].ToString(); //操作人员
if (drDATABASETABLE["OPERATE_DATE"].ToString() != "")
{
databasetableModel.OPERATE_DATE = drDATABASETABLE["OPERATE_DATE"].TryParseToDateTime(); //操作时间
}
databasetableModel.DATABASETABLE_DESC = drDATABASETABLE["DATABASETABLE_DESC"].ToString(); //备注说明
databasetableModel.DATABASETABLE_TYPE = drDATABASETABLE["DATABASETABLE_TYPE"].ToString(); //数据表分类
if (drDATABASETABLE["DATABASETABLE_IMPORTANCE"].ToString() != "")
{
databasetableModel.DATABASETABLE_IMPORTANCE = drDATABASETABLE["DATABASETABLE_IMPORTANCE"].TryParseToShort(); //重要程度
}
if (drDATABASETABLE["DATABASETABLE_INDEX"].ToString() != "")
{
databasetableModel.DATABASETABLE_INDEX = drDATABASETABLE["DATABASETABLE_INDEX"].TryParseToInt(); //排序索引
}
if (drDATABASETABLE["DATABASETABLE_TYPEINDEX"].ToString() != "")
{
databasetableModel.DATABASETABLE_TYPEINDEX = drDATABASETABLE["DATABASETABLE_TYPEINDEX"].TryParseToInt(); //分类索引
}
if (drDATABASETABLE["DATABASETABLE_USERINDEX"].ToString() != "")
{
databasetableModel.DATABASETABLE_USERINDEX = drDATABASETABLE["DATABASETABLE_USERINDEX"].TryParseToInt(); //自定义索引
}
if (drDATABASETABLE["DATABASETABLE_CHILDPARENT"].ToString() != "")
{
databasetableModel.DATABASETABLE_CHILDPARENT = drDATABASETABLE["DATABASETABLE_CHILDPARENT"].TryParseToShort(); //子父级表
}
if (drDATABASETABLE["SHOW_WHOLEPOWER"].ToString() != "")
{
databasetableModel.SHOW_WHOLEPOWER = drDATABASETABLE["SHOW_WHOLEPOWER"].TryParseToShort(); //是否支持全局权限的配置0不支持1支持
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取数据库表信息明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="DATABASETABLEId">数据库表信息内码</param>
public static Model.DATABASETABLEModel GetDATABASETABLEDetail(Transaction transaction, int DATABASETABLEId)
{
Model.DATABASETABLEModel databasetableModel = new Model.DATABASETABLEModel();
string WhereSQL = "WHERE DATABASETABLE_ID = " + DATABASETABLEId;
//查询明细数据
DataTable dtDATABASETABLE = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASETABLE " + WhereSQL);
if (dtDATABASETABLE.Rows.Count > 0)
{
//绑定数据库表信息数据对象
BindDataRowToModel(dtDATABASETABLE.Rows[0], databasetableModel);
}
return databasetableModel;
}
#endregion
#region
/// <summary>
/// 赋值数据库表信息数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="databasetableModel">数据库表信息数据对象</param>
public static bool SynchroDATABASETABLE(Transaction transaction, Model.DATABASETABLEModel databasetableModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "PLATFORM_FRAMEWORK.T_DATABASETABLE", keyField = "DATABASETABLE_ID", seqName = "SEQ_DATABASETABLE";
Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction);
#region SQL语句中需要排除在外的字段
#endregion
#region SQL语句中日期相关字段的执行语句
#endregion
if (databasetableModel.DATABASETABLE_ID != null)
{
string WhereSQL = " WHERE DATABASETABLE_ID = " + databasetableModel.DATABASETABLE_ID;
DataTable dtDATABASETABLE = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASETABLE" + WhereSQL);
if (dtDATABASETABLE.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.DATABASETABLEModel>.GetTableExcuteSQL(
databasetableModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtDATABASETABLE = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
databasetableModel.DATABASETABLE_ID = dtDATABASETABLE.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.DATABASETABLEModel>.GetTableExcuteSQL(
databasetableModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除数据库表信息
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="DATABASETABLEId">数据库表信息内码</param>
public static bool DeleteDATABASETABLE(Transaction transaction, int? DATABASETABLEId)
{
bool DeleteFlag = false;
if (DATABASETABLEId != null)
{
string SQLString = "UPDATE PLATFORM_FRAMEWORK.T_DATABASETABLE SET DATABASETABLE_STATE = 0 WHERE DATABASETABLE_ID = " + DATABASETABLEId;
int ExcuteCount = new Business.PERMISSIONAPPLY(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}