244 lines
12 KiB
C#
244 lines
12 KiB
C#
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
|
||
}
|
||
}
|