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

444 lines
22 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:33:05自动生成
/// </summary>
public class INTERFACEMODELHelper
{
#region
/// <summary>
/// 获取参数对象表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.INTERFACEMODELModel> GetINTERFACEMODELList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.INTERFACEMODELModel> searchModel)
{
List<Model.INTERFACEMODELModel> INTERFACEMODELList = new List<Model.INTERFACEMODELModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.INTERFACEMODELModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
}
DataTable dtINTERFACEMODEL = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_INTERFACEMODEL" + 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 != "")
{
dtINTERFACEMODEL.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtINTERFACEMODEL.DefaultView.Sort = searchModel.SortStr;
dtINTERFACEMODEL = dtINTERFACEMODEL.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtINTERFACEMODEL.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtINTERFACEMODEL = CommonHelper.GetDataTableWithPageSize(dtINTERFACEMODEL, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drINTERFACEMODEL in dtINTERFACEMODEL.Rows)
{
Model.INTERFACEMODELModel interfacemodelModel = new Model.INTERFACEMODELModel();
//绑定参数对象表数据对象
BindDataRowToModel(drINTERFACEMODEL, interfacemodelModel);
INTERFACEMODELList.Add(interfacemodelModel);
}
return INTERFACEMODELList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drINTERFACEMODEL">datarow数据源</param>
/// <param name="interfacemodelModel">model对象</param>
public static void BindDataRowToModel(DataRow drINTERFACEMODEL, Model.INTERFACEMODELModel interfacemodelModel)
{
if (drINTERFACEMODEL["INTERFACEMODEL_ID"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_ID = drINTERFACEMODEL["INTERFACEMODEL_ID"].TryParseToInt(); //参数对象内码
}
if (drINTERFACEMODEL["INTERFACEMODEL_PID"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_PID = drINTERFACEMODEL["INTERFACEMODEL_PID"].TryParseToInt(); //参数字段父级内码
}
if (drINTERFACEMODEL["INTERFACEMODEL_FORMAT"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_FORMAT = drINTERFACEMODEL["INTERFACEMODEL_FORMAT"].TryParseToShort(); //参数字段格式0string1number2date3bool4object5list
}
if (drINTERFACEMODEL["INTERFACEMODEL_USEDID"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_USEDID = drINTERFACEMODEL["INTERFACEMODEL_USEDID"].TryParseToInt(); //使用对象内码
}
interfacemodelModel.INTERFACEMODEL_NAME = drINTERFACEMODEL["INTERFACEMODEL_NAME"].ToString(); //参数字段名称
interfacemodelModel.INTERFACEMODEL_COMMENT = drINTERFACEMODEL["INTERFACEMODEL_COMMENT"].ToString(); //参数字段释义
if (drINTERFACEMODEL["INTERFACEMODEL_REQUIRED"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_REQUIRED = drINTERFACEMODEL["INTERFACEMODEL_REQUIRED"].TryParseToShort(); //是否必填01
}
if (drINTERFACEMODEL["OPERATE_DATE"].ToString() != "")
{
interfacemodelModel.OPERATE_DATE = drINTERFACEMODEL["OPERATE_DATE"].TryParseToDateTime(); //操作时间
}
interfacemodelModel.INTERFACEMODEL_DESC = drINTERFACEMODEL["INTERFACEMODEL_DESC"].ToString(); //参数字段说明
interfacemodelModel.INTERFACEMODEL_NAMESPACE = drINTERFACEMODEL["INTERFACEMODEL_NAMESPACE"].ToString(); //数据对象命名空间
interfacemodelModel.INTERFACEMODEL_TABLENAME = drINTERFACEMODEL["INTERFACEMODEL_TABLENAME"].ToString(); //数据表名称
if (drINTERFACEMODEL["DATE_FIELD"].ToString() != "")
{
interfacemodelModel.DATE_FIELD = drINTERFACEMODEL["DATE_FIELD"].TryParseToShort(); //时间字段01
}
interfacemodelModel.ENUM_FIELD = drINTERFACEMODEL["ENUM_FIELD"].ToString(); //枚举字段
interfacemodelModel.SEARCH_FIELD = drINTERFACEMODEL["SEARCH_FIELD"].ToString(); //查询字段
interfacemodelModel.HEADER_FIELD = drINTERFACEMODEL["HEADER_FIELD"].ToString(); //请求头字段
if (drINTERFACEMODEL["DATABASETABLE_ID"].ToString() != "")
{
interfacemodelModel.DATABASETABLE_ID = drINTERFACEMODEL["DATABASETABLE_ID"].TryParseToInt(); //数据库表内码
}
if (drINTERFACEMODEL["INTERFACEMODEL_INDEX"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_INDEX = drINTERFACEMODEL["INTERFACEMODEL_INDEX"].TryParseToInt(); //参数字段索引
}
if (drINTERFACEMODEL["INTERFACEMODEL_STATE"].ToString() != "")
{
interfacemodelModel.INTERFACEMODEL_STATE = drINTERFACEMODEL["INTERFACEMODEL_STATE"].TryParseToShort(); //有效状态
}
if (drINTERFACEMODEL["MULTI_SEARCH"].ToString() != "")
{
interfacemodelModel.MULTI_SEARCH = drINTERFACEMODEL["MULTI_SEARCH"].TryParseToShort(); //多条件查询字段01
}
if (drINTERFACEMODEL["COLUMN_ISDELETE"].ToString() != "")
{
interfacemodelModel.COLUMN_ISDELETE = drINTERFACEMODEL["COLUMN_ISDELETE"].TryParseToShort(); //删除状态字段01
}
if (drINTERFACEMODEL["COLUMN_ISINDEX"].ToString() != "")
{
interfacemodelModel.COLUMN_ISINDEX = drINTERFACEMODEL["COLUMN_ISINDEX"].TryParseToShort(); //索引字段01
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取参数对象表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="INTERFACEMODELId">参数对象表内码</param>
public static Model.INTERFACEMODELModel GetINTERFACEMODELDetail(Transaction transaction, int INTERFACEMODELId)
{
Model.INTERFACEMODELModel interfacemodelModel = new Model.INTERFACEMODELModel();
string WhereSQL = "WHERE INTERFACEMODEL_ID = " + INTERFACEMODELId;
//查询明细数据
DataTable dtINTERFACEMODEL = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_INTERFACEMODEL " + WhereSQL);
if (dtINTERFACEMODEL.Rows.Count > 0)
{
//绑定参数对象表数据对象
BindDataRowToModel(dtINTERFACEMODEL.Rows[0], interfacemodelModel);
}
return interfacemodelModel;
}
#endregion
#region
/// <summary>
/// 赋值参数对象表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="interfacemodelModel">参数对象表数据对象</param>
public static bool SynchroINTERFACEMODEL(Transaction transaction, Model.INTERFACEMODELModel interfacemodelModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "PLATFORM_FRAMEWORK.T_INTERFACEMODEL", keyField = "INTERFACEMODEL_ID", seqName = "SEQ_INTERFACEMODEL";
Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction);
#region SQL语句中需要排除在外的字段
#endregion
#region SQL语句中日期相关字段的执行语句
#endregion
if (interfacemodelModel.INTERFACEMODEL_ID != null)
{
string WhereSQL = " WHERE INTERFACEMODEL_ID = " + interfacemodelModel.INTERFACEMODEL_ID;
DataTable dtINTERFACEMODEL = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_INTERFACEMODEL" + WhereSQL);
if (dtINTERFACEMODEL.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.INTERFACEMODELModel>.GetTableExcuteSQL(
interfacemodelModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtINTERFACEMODEL = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
interfacemodelModel.INTERFACEMODEL_ID = dtINTERFACEMODEL.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.INTERFACEMODELModel>.GetTableExcuteSQL(
interfacemodelModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除参数对象表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="INTERFACEMODELId">参数对象表内码</param>
public static bool DeleteINTERFACEMODEL(Transaction transaction, int? INTERFACEMODELId)
{
bool DeleteFlag = false;
if (INTERFACEMODELId != null)
{
string SQLString = "UPDATE PLATFORM_FRAMEWORK.T_INTERFACEMODEL SET INTERFACEMODEL_STATE = 0 WHERE INTERFACEMODEL_ID = " + INTERFACEMODELId;
int ExcuteCount = new Business.PERMISSIONAPPLY(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
#region
/// <summary>
/// 获取参数对象表嵌套列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SearchKey">模糊查询</param>
/// <returns></returns>
public static List<Model.NestingModel<Model.INTERFACEMODELModel>> GetNestingINTERFACEMODELList(Transaction transaction,
, string SearchKey)
{
//申明嵌套列表集合
List<Model.NestingModel<Model.INTERFACEMODELModel>> nestingModelList = new List<Model.NestingModel<Model.INTERFACEMODELModel>>();
//赋值sql语句
string WhereSQL = "";
//查询参数对象表数据
DataTable dtINTERFACEMODEL = new Business.PERMISSIONAPPLY(transaction).FillDataTable(WhereSQL);
if ( == "-1")
{
//调用绑定数据的方法
BindNestingList(nestingModelList, "-1", dtINTERFACEMODEL, SearchKey);
}
else
{
Model.INTERFACEMODELModel interfacemodelModel = GetINTERFACEMODELDetail(transaction, .TryParseToInt());
if (interfacemodelModel != null && interfacemodelModel.INTERFACEMODEL_ID != null)
{
//申明嵌套对象
Model.NestingModel<Model.INTERFACEMODELModel> nestingModel = new Model.NestingModel<Model.INTERFACEMODELModel>();
//将参数对象表model添加到嵌套对象中去
nestingModel.node = interfacemodelModel;
List<Model.NestingModel<Model.INTERFACEMODELModel>> nestingModelListChild = new List<Model.NestingModel<Model.INTERFACEMODELModel>>();
//调用绑定嵌套列表的方法
BindNestingList(nestingModelListChild, interfacemodelModel.INTERFACEMODEL_ID.ToString(), dtINTERFACEMODEL, SearchKey);
//赋值子级
nestingModel.children = nestingModelListChild;
//过滤模糊查询条件
if (nestingModelListChild.Count > 0 || string.IsNullOrWhiteSpace(SearchKey))
{
nestingModelList.Add(nestingModel);
}
}
}
dtINTERFACEMODEL.Clear();
dtINTERFACEMODEL.Dispose();
return nestingModelList;
}
#region
/// <summary>
/// 绑定嵌套列表
/// </summary>
/// <param name="">上级分类</param>
/// <param name="nestingModelList">嵌套列表</param>
/// <param name="dtINTERFACEMODEL">参数对象表数据</param>
/// <param name="SearchKey">模糊查询内容</param>
public static void BindNestingList(List<Model.NestingModel<Model.INTERFACEMODELModel>> nestingModelList,
string , DataTable dtINTERFACEMODEL, string SearchKey)
{
//遍历数据
foreach (DataRow drINTERFACEMODEL in dtINTERFACEMODEL.Select("INTERFACEMODEL_PID = " +
, ""))
{
//申明嵌套对象
Model.NestingModel<Model.INTERFACEMODELModel> nestingModelChild = new Model.NestingModel<Model.INTERFACEMODELModel>();
//申明参数对象表对象
Model.INTERFACEMODELModel interfacemodelModel = new Model.INTERFACEMODELModel();
//赋值参数对象表数据对象
BindDataRowToModel(drINTERFACEMODEL, interfacemodelModel);
nestingModelChild.node = interfacemodelModel;
List<Model.NestingModel<Model.INTERFACEMODELModel>> nestingModelListChild = new List<Model.NestingModel<Model.INTERFACEMODELModel>>();
//判断下一关系级下面是否还存在数据,没有则跳出遍历
if (dtINTERFACEMODEL.Select(" = " + interfacemodelModel.INTERFACEMODEL_ID).Length > 0)
{
//调用绑定嵌套列表的方法
BindNestingList(nestingModelListChild, interfacemodelModel.INTERFACEMODEL_ID.ToString(), dtINTERFACEMODEL, SearchKey);
//赋值子级
nestingModelChild.children = nestingModelListChild;
}
//过滤模糊查询条件
if (nestingModelListChild.Count > 0 || string.IsNullOrWhiteSpace(SearchKey))
{
nestingModelList.Add(nestingModelChild);
}
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取参数对象表嵌套树
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SearchKey">模糊查询</param>
/// <returns></returns>
public static List<Model.NestingModel<Model.CommonTypeModel>> GetNestingINTERFACEMODELTree(Transaction transaction,
, string SearchKey)
{
//申明嵌套树集合
List<Model.NestingModel<Model.CommonTypeModel>> nestingModelList = new List<Model.NestingModel<Model.CommonTypeModel>>();
//赋值sql语句
string WhereSQL = "";
//查询参数对象表数据
DataTable dtINTERFACEMODEL = new Business.PERMISSIONAPPLY(transaction).FillDataTable(WhereSQL);
if ( == "-1")
{
//调用绑定数据的方法
BindNestingTree(nestingModelList, "-1", dtINTERFACEMODEL, SearchKey);
}
else
{
Model.INTERFACEMODELModel interfacemodelModel = GetINTERFACEMODELDetail(transaction, .TryParseToInt());
if (interfacemodelModel != null && interfacemodelModel.INTERFACEMODEL_ID != null)
{
//申明嵌套对象
Model.NestingModel<Model.CommonTypeModel> nestingModel = new Model.NestingModel<Model.CommonTypeModel>();
//申明参数对象表对象
Model.CommonTypeModel commonTypeModel = new Model.CommonTypeModel
{
//将参数对象表赋值给CommonTypeModel
//绑定业主单位内码
value = interfacemodelModel.INTERFACEMODEL_ID,
type = 1,//标识为子级节点
};
commonTypeModel.key = commonTypeModel.type + "-" + commonTypeModel.value;
//将commonTypeModel添加到嵌套对象中去
nestingModel.node = commonTypeModel;
List<Model.NestingModel<Model.CommonTypeModel>> nestingModelListChild = new List<Model.NestingModel<Model.CommonTypeModel>>();
//调用绑定数据的方法
BindNestingTree(nestingModelListChild, interfacemodelModel.INTERFACEMODEL_ID.ToString(), dtINTERFACEMODEL, SearchKey);
//赋值子级
nestingModel.children = nestingModelListChild;
//过滤模糊查询条件
if (nestingModelListChild.Count > 0 || string.IsNullOrWhiteSpace(SearchKey))
{
nestingModelList.Add(nestingModel);
}
}
}
dtINTERFACEMODEL.Clear();
dtINTERFACEMODEL.Dispose();
return nestingModelList;
}
#region
/// <summary>
/// 绑定嵌套树
/// </summary>
/// <param name="">上级分类</param>
/// <param name="nestingModelList">嵌套列表</param>
/// <param name="dtINTERFACEMODEL">参数对象表数据</param>
/// <param name="SearchKey">模糊查询内容</param>
public static void BindNestingTree(List<Model.NestingModel<Model.CommonTypeModel>> nestingModelList,
string , DataTable dtINTERFACEMODEL, string SearchKey)
{
//遍历数据
foreach (DataRow drINTERFACEMODEL in dtINTERFACEMODEL.Select("INTERFACEMODEL_PID = " +
, ""))
{
//申明嵌套对象
Model.NestingModel<Model.CommonTypeModel> nestingModelChild = new Model.NestingModel<Model.CommonTypeModel>();
//申明参数对象表对象
Model.CommonTypeModel commonTypeModel = new Model.CommonTypeModel();
//将参数对象表赋值给CommonTypeModel
//绑定业主单位内码
commonTypeModel.value = drINTERFACEMODEL["INTERFACEMODEL_ID"].TryParseToInt();
commonTypeModel.type = 1;//标识为子级节点
commonTypeModel.key = commonTypeModel.type + "-" + commonTypeModel.value;
nestingModelChild.node = commonTypeModel;
List<Model.NestingModel<Model.CommonTypeModel>> nestingModelListChild = new List<Model.NestingModel<Model.CommonTypeModel>>();
//判断下一关系级下面是否还存在数据,没有则跳出遍历
if (dtINTERFACEMODEL.Select(" = " + drINTERFACEMODEL["INTERFACEMODEL_ID"]).Length > 0)
{
//调用绑定嵌套列表的方法
BindNestingTree(nestingModelListChild, drINTERFACEMODEL["INTERFACEMODEL_ID"].ToString(), dtINTERFACEMODEL, SearchKey);
//赋值子级
nestingModelChild.children = nestingModelListChild;
}
//过滤模糊查询条件
if (nestingModelListChild.Count > 0 || string.IsNullOrWhiteSpace(SearchKey))
{
nestingModelList.Add(nestingModelChild);
}
}
}
#endregion
#endregion
}
}