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

275 lines
14 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 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(); //时间字段01
}
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字段01
}
if (drDATABASECOLUMN["COLUMN_ISLABLE"].ToString() != "")
{
databasecolumnModel.COLUMN_ISLABLE = drDATABASECOLUMN["COLUMN_ISLABLE"].TryParseToShort(); //lable字段01
}
if (drDATABASECOLUMN["COLUMN_ISVALUE"].ToString() != "")
{
databasecolumnModel.COLUMN_ISVALUE = drDATABASECOLUMN["COLUMN_ISVALUE"].TryParseToShort(); //value字段01
}
if (drDATABASECOLUMN["COLUMN_ISICO"].ToString() != "")
{
databasecolumnModel.COLUMN_ISICO = drDATABASECOLUMN["COLUMN_ISICO"].TryParseToShort(); //ico字段01
}
if (drDATABASECOLUMN["COLUMN_SEARCHKEY"].ToString() != "")
{
databasecolumnModel.COLUMN_SEARCHKEY = drDATABASECOLUMN["COLUMN_SEARCHKEY"].TryParseToShort(); //模糊查询字段01
}
if (drDATABASECOLUMN["COLUMN_ISFILE"].ToString() != "")
{
databasecolumnModel.COLUMN_ISFILE = drDATABASECOLUMN["COLUMN_ISFILE"].TryParseToShort(); //附件字段01
}
if (drDATABASECOLUMN["COLUMN_ISDESC"].ToString() != "")
{
databasecolumnModel.COLUMN_ISDESC = drDATABASECOLUMN["COLUMN_ISDESC"].TryParseToShort(); //备注字段01
}
if (drDATABASECOLUMN["COLUMN_ISDELETE"].ToString() != "")
{
databasecolumnModel.COLUMN_ISDELETE = drDATABASECOLUMN["COLUMN_ISDELETE"].TryParseToShort(); //删除状态字段01
}
if (drDATABASECOLUMN["COLUMN_ISINDEX"].ToString() != "")
{
databasecolumnModel.COLUMN_ISINDEX = drDATABASECOLUMN["COLUMN_ISINDEX"].TryParseToShort(); //索引字段01
}
}
#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
}
}