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

245 lines
10 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.PlatForm.Dashboard.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 提示词表相关方法
/// 2025/2/10 17:49:35自动生成
/// </summary>
public class PROMPTHelper
{
#region
/// <summary>
/// 获取提示词表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.PROMPTModel> GetPROMPTList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.PROMPTModel> searchModel)
{
List<Model.PROMPTModel> PROMPTList = new List<Model.PROMPTModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.PROMPTModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"PROMPT_TYPES", "OPERATE_DATE_Start", "OPERATE_DATE_End");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询提示词类型
if (searchModel.SearchParameter.PROMPT_TYPES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "PROMPT_TYPE IN (" + searchModel.SearchParameter.PROMPT_TYPES + ")";
}
//查询操作时间
if (searchModel.SearchParameter.OPERATE_DATE_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "OPERATE_DATE >= TO_DATE('" +
searchModel.SearchParameter.OPERATE_DATE_Start.Split(' ')[0] + "','YYYY/MM/DD')";
}
if (searchModel.SearchParameter.OPERATE_DATE_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "OPERATE_DATE < TO_DATE('" +
searchModel.SearchParameter.OPERATE_DATE_End.Split(' ')[0] + "','YYYY/MM/DD') + 1";
}
}
DataTable dtPROMPT = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_PROMPT" + 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 != "")
{
dtPROMPT.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtPROMPT.DefaultView.Sort = searchModel.SortStr;
dtPROMPT = dtPROMPT.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtPROMPT.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtPROMPT = CommonHelper.GetDataTableWithPageSize(dtPROMPT, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drPROMPT in dtPROMPT.Rows)
{
Model.PROMPTModel promptModel = new Model.PROMPTModel();
//绑定提示词表数据对象
BindDataRowToModel(drPROMPT, promptModel);
PROMPTList.Add(promptModel);
}
return PROMPTList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drPROMPT">datarow数据源</param>
/// <param name="promptModel">model对象</param>
public static void BindDataRowToModel(DataRow drPROMPT, Model.PROMPTModel promptModel)
{
if (drPROMPT["PROMPT_ID"].ToString() != "")
{
promptModel.PROMPT_ID = drPROMPT["PROMPT_ID"].TryParseToInt(); //提示词内码
}
if (drPROMPT["PROMPT_TYPE"].ToString() != "")
{
promptModel.PROMPT_TYPE = drPROMPT["PROMPT_TYPE"].TryParseToShort(); //提示词类型
}
promptModel.PROMPT_CONTENT = drPROMPT["PROMPT_CONTENT"].ToString(); //提示词内容
if (drPROMPT["PROMPT_SWITCH"].ToString() != "")
{
promptModel.PROMPT_SWITCH = drPROMPT["PROMPT_SWITCH"].TryParseToShort(); //开启状态0关闭1开启
}
if (drPROMPT["STAFF_ID"].ToString() != "")
{
promptModel.STAFF_ID = drPROMPT["STAFF_ID"].TryParseToInt(); //操作人内码
}
promptModel.STAFF_NAME = drPROMPT["STAFF_NAME"].ToString(); //操作人员
if (!string.IsNullOrWhiteSpace(drPROMPT["OPERATE_DATE"].ToString()))
{
//操作时间
promptModel.OPERATE_DATE = drPROMPT["OPERATE_DATE"].ToString();
}
if (drPROMPT["PROMPT_STATE"].ToString() != "")
{
promptModel.PROMPT_STATE = drPROMPT["PROMPT_STATE"].TryParseToShort(); //有效状态
}
promptModel.PROMPT_DESC = drPROMPT["PROMPT_DESC"].ToString(); //备注说明
}
#endregion
#endregion
#region
/// <summary>
/// 获取提示词表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="PROMPTId">提示词表内码</param>
public static Model.PROMPTModel GetPROMPTDetail(Transaction transaction, int PROMPTId)
{
Model.PROMPTModel promptModel = new Model.PROMPTModel();
string WhereSQL = "WHERE PROMPT_ID = " + PROMPTId;
//查询明细数据
DataTable dtPROMPT = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_PROMPT " + WhereSQL);
if (dtPROMPT.Rows.Count > 0)
{
//绑定提示词表数据对象
BindDataRowToModel(dtPROMPT.Rows[0], promptModel);
}
return promptModel;
}
#endregion
#region
/// <summary>
/// 赋值提示词表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="promptModel">提示词表数据对象</param>
public static bool SynchroPROMPT(Transaction transaction, Model.PROMPTModel promptModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "PLATFORM_DASHBOARD.T_PROMPT", keyField = "PROMPT_ID", seqName = "SEQ_PROMPT";
Business.CATERINGGROSSMARGIN _CATERINGGROSSMARGIN = new Business.CATERINGGROSSMARGIN(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("PROMPT_TYPES");
excludeField.Add("OPERATE_DATE_Start");
excludeField.Add("OPERATE_DATE_End");
#endregion
#region SQL语句中日期相关字段的执行语句
//操作时间
if (!string.IsNullOrWhiteSpace(promptModel.OPERATE_DATE))
{
dateFieldList.Add("OPERATE_DATE", "TO_DATE('" +
promptModel.OPERATE_DATE + "','YYYY/MM/DD HH24:MI:SS')");
}
else
{
dateFieldList.Add("OPERATE_DATE", "NULL");
}
#endregion
if (promptModel.PROMPT_ID != null)
{
string WhereSQL = " WHERE PROMPT_ID = " + promptModel.PROMPT_ID;
DataTable dtPROMPT = _CATERINGGROSSMARGIN.ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_PROMPT" + WhereSQL);
if (dtPROMPT.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.PROMPTModel>.GetTableExcuteSQL(
promptModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtPROMPT = _CATERINGGROSSMARGIN.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
promptModel.PROMPT_ID = dtPROMPT.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.PROMPTModel>.GetTableExcuteSQL(
promptModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除提示词表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="PROMPTId">提示词表内码</param>
public static bool DeletePROMPT(Transaction transaction, int? PROMPTId)
{
bool DeleteFlag = false;
if (PROMPTId != null)
{
string SQLString = "UPDATE PLATFORM_DASHBOARD.T_PROMPT SET PROMPT_STATE = 0 WHERE PROMPT_ID = " + PROMPTId;
int ExcuteCount = new Business.CATERINGGROSSMARGIN(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}