275 lines
14 KiB
C#
275 lines
14 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 14:32:47自动生成
|
||
/// </summary>
|
||
public class DATABASECOLUMNHelper
|
||
{
|
||
#region 获取数据库表字段列表
|
||
/// <summary>
|
||
/// 获取数据库表字段列表
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="TotalCount">查询结果总数</param>
|
||
/// <param name="searchModel">查询条件对象</param>
|
||
public static List<Model.DATABASECOLUMNModel> GetDATABASECOLUMNList(Transaction transaction,
|
||
ref int TotalCount, Model.SearchModel<Model.DATABASECOLUMNModel> searchModel)
|
||
{
|
||
List<Model.DATABASECOLUMNModel> DATABASECOLUMNList = new List<Model.DATABASECOLUMNModel>();
|
||
|
||
string WhereSQL = "", RowFilterSQL = "";
|
||
if (searchModel.SearchParameter != null)
|
||
{
|
||
WhereSQL = OperationDataHelper<Model.DATABASECOLUMNModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
|
||
if (WhereSQL != "")
|
||
{
|
||
WhereSQL = " WHERE " + WhereSQL;
|
||
}
|
||
}
|
||
|
||
DataTable dtDATABASECOLUMN = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
|
||
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASECOLUMN" + 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 != "")
|
||
{
|
||
dtDATABASECOLUMN.DefaultView.RowFilter = RowFilterSQL;
|
||
}
|
||
//排序:
|
||
dtDATABASECOLUMN.DefaultView.Sort = searchModel.SortStr;
|
||
dtDATABASECOLUMN = dtDATABASECOLUMN.DefaultView.ToTable();
|
||
//获取查询结果总记录条数
|
||
TotalCount = dtDATABASECOLUMN.Rows.Count;
|
||
//根据传入的页码和每页显示条数返回结果
|
||
dtDATABASECOLUMN = CommonHelper.GetDataTableWithPageSize(dtDATABASECOLUMN, searchModel.PageSize, searchModel.PageIndex);
|
||
|
||
foreach (DataRow drDATABASECOLUMN in dtDATABASECOLUMN.Rows)
|
||
{
|
||
Model.DATABASECOLUMNModel databasecolumnModel = new Model.DATABASECOLUMNModel();
|
||
//绑定数据库表字段数据对象
|
||
BindDataRowToModel(drDATABASECOLUMN, databasecolumnModel);
|
||
|
||
DATABASECOLUMNList.Add(databasecolumnModel);
|
||
}
|
||
|
||
return DATABASECOLUMNList;
|
||
}
|
||
|
||
#region 绑定model
|
||
/// <summary>
|
||
/// 绑定model
|
||
/// </summary>
|
||
/// <param name="drDATABASECOLUMN">datarow数据源</param>
|
||
/// <param name="databasecolumnModel">model对象</param>
|
||
public static void BindDataRowToModel(DataRow drDATABASECOLUMN, Model.DATABASECOLUMNModel databasecolumnModel)
|
||
{
|
||
if (drDATABASECOLUMN["DATABASECOLUMN_ID"].ToString() != "")
|
||
{
|
||
databasecolumnModel.DATABASECOLUMN_ID = drDATABASECOLUMN["DATABASECOLUMN_ID"].TryParseToInt(); //数据库表字段内码
|
||
}
|
||
if (drDATABASECOLUMN["DATABASETABLE_ID"].ToString() != "")
|
||
{
|
||
databasecolumnModel.DATABASETABLE_ID = drDATABASECOLUMN["DATABASETABLE_ID"].TryParseToInt(); //数据库表内码
|
||
}
|
||
databasecolumnModel.OWNER_NAME = drDATABASECOLUMN["OWNER_NAME"].ToString(); //用户名称
|
||
databasecolumnModel.TABLE_NAME = drDATABASECOLUMN["TABLE_NAME"].ToString(); //数据表名
|
||
databasecolumnModel.COLUMN_NAME = drDATABASECOLUMN["COLUMN_NAME"].ToString(); //字段名称
|
||
databasecolumnModel.COLUMN_COMMENTS = drDATABASECOLUMN["COLUMN_COMMENTS"].ToString(); //字段释义
|
||
databasecolumnModel.DATA_TYPE = drDATABASECOLUMN["DATA_TYPE"].ToString(); //数据类型
|
||
if (drDATABASECOLUMN["CHAR_LENGTH"].ToString() != "")
|
||
{
|
||
databasecolumnModel.CHAR_LENGTH = drDATABASECOLUMN["CHAR_LENGTH"].TryParseToInt(); //字符串长度
|
||
}
|
||
if (drDATABASECOLUMN["DATA_PRECISION"].ToString() != "")
|
||
{
|
||
databasecolumnModel.DATA_PRECISION = drDATABASECOLUMN["DATA_PRECISION"].TryParseToInt(); //十进制数字长度
|
||
}
|
||
if (drDATABASECOLUMN["DATA_SCALE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.DATA_SCALE = drDATABASECOLUMN["DATA_SCALE"].TryParseToShort(); //数字小数点右侧的数字长度
|
||
}
|
||
databasecolumnModel.NULLABLE = drDATABASECOLUMN["NULLABLE"].ToString(); //是否可以为空(Y/N)
|
||
databasecolumnModel.DATA_DEFAULT = drDATABASECOLUMN["DATA_DEFAULT"].ToString(); //默认值
|
||
if (drDATABASECOLUMN["DATABASECOLUMN_STATE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.DATABASECOLUMN_STATE = drDATABASECOLUMN["DATABASECOLUMN_STATE"].TryParseToShort(); //有效状态(0:无效;1:有效;2:隐藏)
|
||
}
|
||
if (drDATABASECOLUMN["STAFF_ID"].ToString() != "")
|
||
{
|
||
databasecolumnModel.STAFF_ID = drDATABASECOLUMN["STAFF_ID"].TryParseToInt(); //操作人内码
|
||
}
|
||
databasecolumnModel.STAFF_NAME = drDATABASECOLUMN["STAFF_NAME"].ToString(); //操作人员
|
||
if (drDATABASECOLUMN["OPERATE_DATE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.OPERATE_DATE = drDATABASECOLUMN["OPERATE_DATE"].TryParseToDateTime(); //操作时间
|
||
}
|
||
databasecolumnModel.DATABASECOLUMN_DESC = drDATABASECOLUMN["DATABASECOLUMN_DESC"].ToString(); //备注说明
|
||
if (drDATABASECOLUMN["DATE_FIELD"].ToString() != "")
|
||
{
|
||
databasecolumnModel.DATE_FIELD = drDATABASECOLUMN["DATE_FIELD"].TryParseToShort(); //时间字段(0:否,1:是)
|
||
}
|
||
databasecolumnModel.ENUM_FIELD = drDATABASECOLUMN["ENUM_FIELD"].ToString(); //枚举字段
|
||
databasecolumnModel.SEARCH_FIELD = drDATABASECOLUMN["SEARCH_FIELD"].ToString(); //查询字段
|
||
databasecolumnModel.HEADER_FIELD = drDATABASECOLUMN["HEADER_FIELD"].ToString(); //请求头字段
|
||
if (drDATABASECOLUMN["COLUMN_INDEX"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_INDEX = drDATABASECOLUMN["COLUMN_INDEX"].TryParseToInt(); //字段索引
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISPID"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISPID = drDATABASECOLUMN["COLUMN_ISPID"].TryParseToShort(); //PID字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISLABLE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISLABLE = drDATABASECOLUMN["COLUMN_ISLABLE"].TryParseToShort(); //lable字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISVALUE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISVALUE = drDATABASECOLUMN["COLUMN_ISVALUE"].TryParseToShort(); //value字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISICO"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISICO = drDATABASECOLUMN["COLUMN_ISICO"].TryParseToShort(); //ico字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_SEARCHKEY"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_SEARCHKEY = drDATABASECOLUMN["COLUMN_SEARCHKEY"].TryParseToShort(); //模糊查询字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISFILE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISFILE = drDATABASECOLUMN["COLUMN_ISFILE"].TryParseToShort(); //附件字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISDESC"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISDESC = drDATABASECOLUMN["COLUMN_ISDESC"].TryParseToShort(); //备注字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISDELETE"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISDELETE = drDATABASECOLUMN["COLUMN_ISDELETE"].TryParseToShort(); //删除状态字段(0:否,1:是)
|
||
}
|
||
if (drDATABASECOLUMN["COLUMN_ISINDEX"].ToString() != "")
|
||
{
|
||
databasecolumnModel.COLUMN_ISINDEX = drDATABASECOLUMN["COLUMN_ISINDEX"].TryParseToShort(); //索引字段(0:否,1:是)
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 获取数据库表字段明细
|
||
/// <summary>
|
||
/// 获取数据库表字段明细
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="DATABASECOLUMNId">数据库表字段内码</param>
|
||
public static Model.DATABASECOLUMNModel GetDATABASECOLUMNDetail(Transaction transaction, int DATABASECOLUMNId)
|
||
{
|
||
Model.DATABASECOLUMNModel databasecolumnModel = new Model.DATABASECOLUMNModel();
|
||
|
||
string WhereSQL = "WHERE DATABASECOLUMN_ID = " + DATABASECOLUMNId;
|
||
//查询明细数据
|
||
DataTable dtDATABASECOLUMN = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
|
||
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASECOLUMN " + WhereSQL);
|
||
if (dtDATABASECOLUMN.Rows.Count > 0)
|
||
{
|
||
//绑定数据库表字段数据对象
|
||
BindDataRowToModel(dtDATABASECOLUMN.Rows[0], databasecolumnModel);
|
||
}
|
||
|
||
return databasecolumnModel;
|
||
}
|
||
#endregion
|
||
|
||
#region 同步数据库表字段
|
||
/// <summary>
|
||
/// 赋值数据库表字段数据对象
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="databasecolumnModel">数据库表字段数据对象</param>
|
||
public static bool SynchroDATABASECOLUMN(Transaction transaction, Model.DATABASECOLUMNModel databasecolumnModel)
|
||
{
|
||
bool SynchroFlag = true;
|
||
|
||
string SQLString;
|
||
List<string> excludeField = new List<string>();
|
||
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
|
||
string tableName = "PLATFORM_FRAMEWORK.T_DATABASECOLUMN", keyField = "DATABASECOLUMN_ID", seqName = "SEQ_DATABASECOLUMN";
|
||
Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction);
|
||
|
||
#region 添加SQL语句中需要排除在外的字段
|
||
#endregion
|
||
|
||
#region 添加SQL语句中日期相关字段的执行语句
|
||
#endregion
|
||
|
||
if (databasecolumnModel.DATABASECOLUMN_ID != null)
|
||
{
|
||
string WhereSQL = " WHERE DATABASECOLUMN_ID = " + databasecolumnModel.DATABASECOLUMN_ID;
|
||
DataTable dtDATABASECOLUMN = _PERMISSIONAPPLY.ExecuteDataTable(
|
||
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASECOLUMN" + WhereSQL);
|
||
if (dtDATABASECOLUMN.Rows.Count > 0)
|
||
{
|
||
SQLString = OperationDataHelper<Model.DATABASECOLUMNModel>.GetTableExcuteSQL(
|
||
databasecolumnModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
|
||
}
|
||
else
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
DataTable dtDATABASECOLUMN = _PERMISSIONAPPLY.ExecuteDataTable(
|
||
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
|
||
databasecolumnModel.DATABASECOLUMN_ID = dtDATABASECOLUMN.Rows[0][0].TryParseToInt();
|
||
SQLString = OperationDataHelper<Model.DATABASECOLUMNModel>.GetTableExcuteSQL(
|
||
databasecolumnModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
|
||
}
|
||
_PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null);
|
||
|
||
return SynchroFlag;
|
||
}
|
||
#endregion
|
||
|
||
#region 删除数据库表字段
|
||
/// <summary>
|
||
/// 删除数据库表字段
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="DATABASECOLUMNId">数据库表字段内码</param>
|
||
public static bool DeleteDATABASECOLUMN(Transaction transaction, int? DATABASECOLUMNId)
|
||
{
|
||
bool DeleteFlag = false;
|
||
|
||
if (DATABASECOLUMNId != null)
|
||
{
|
||
string SQLString = "UPDATE PLATFORM_FRAMEWORK.T_DATABASECOLUMN SET DATABASECOLUMN_STATE = 0 WHERE DATABASECOLUMN_ID = " + DATABASECOLUMNId;
|
||
int ExcuteCount = new Business.PERMISSIONAPPLY(transaction).ExecuteNonQuery(SQLString, null);
|
||
if (ExcuteCount > 0)
|
||
{
|
||
DeleteFlag = true;
|
||
}
|
||
}
|
||
|
||
return DeleteFlag;
|
||
}
|
||
#endregion
|
||
}
|
||
}
|