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

311 lines
15 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>
/// 业务办理日志表相关方法
/// 2024/1/19 15:28:22自动生成
/// </summary>
public class BUSINESSLOGHelper
{
#region
/// <summary>
/// 获取业务办理日志表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.BUSINESSLOGModel> GetBUSINESSLOGList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.BUSINESSLOGModel> searchModel)
{
List<Model.BUSINESSLOGModel> BUSINESSLOGList = new List<Model.BUSINESSLOGModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.BUSINESSLOGModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"BUSINESSLOG_TYPES", "BUSINESS_IDS", "OPERATE_DATE_Start", "OPERATE_DATE_End", "STATISTICS_DATE_Start", "STATISTICS_DATE_End", "ENDACCOUNT_IDS");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询业务类型
if (searchModel.SearchParameter.BUSINESSLOG_TYPES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "BUSINESSLOG_TYPE IN (" + searchModel.SearchParameter.BUSINESSLOG_TYPES + ")";
}
//查询业务内码
if (searchModel.SearchParameter.BUSINESS_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "BUSINESS_ID IN (" + searchModel.SearchParameter.BUSINESS_IDS + ")";
}
//查询操作时间
if (searchModel.SearchParameter.OPERATE_DATE_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(OPERATE_DATE,1,8) >= " +
DateTime.Parse(searchModel.SearchParameter.OPERATE_DATE_Start).ToString("yyyyMMdd");
}
if (searchModel.SearchParameter.OPERATE_DATE_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(OPERATE_DATE,1,8) <= " +
DateTime.Parse(searchModel.SearchParameter.OPERATE_DATE_End).ToString("yyyyMMdd");
}
//查询结算时间
if (searchModel.SearchParameter.STATISTICS_DATE_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(STATISTICS_DATE,1,8) >= " +
DateTime.Parse(searchModel.SearchParameter.STATISTICS_DATE_Start).ToString("yyyyMMdd");
}
if (searchModel.SearchParameter.STATISTICS_DATE_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(STATISTICS_DATE,1,8) <= " +
DateTime.Parse(searchModel.SearchParameter.STATISTICS_DATE_End).ToString("yyyyMMdd");
}
//查询日结账单内码
if (searchModel.SearchParameter.ENDACCOUNT_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "ENDACCOUNT_ID IN (" + searchModel.SearchParameter.ENDACCOUNT_IDS + ")";
}
}
DataTable dtBUSINESSLOG = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSLOG" + 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 != "")
{
dtBUSINESSLOG.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtBUSINESSLOG.DefaultView.Sort = searchModel.SortStr;
dtBUSINESSLOG = dtBUSINESSLOG.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtBUSINESSLOG.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtBUSINESSLOG = CommonHelper.GetDataTableWithPageSize(dtBUSINESSLOG, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drBUSINESSLOG in dtBUSINESSLOG.Rows)
{
Model.BUSINESSLOGModel businesslogModel = new Model.BUSINESSLOGModel();
//绑定业务办理日志表数据对象
BindDataRowToModel(drBUSINESSLOG, businesslogModel);
BUSINESSLOGList.Add(businesslogModel);
}
return BUSINESSLOGList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drBUSINESSLOG">datarow数据源</param>
/// <param name="businesslogModel">model对象</param>
public static void BindDataRowToModel(DataRow drBUSINESSLOG, Model.BUSINESSLOGModel businesslogModel)
{
if (drBUSINESSLOG["BUSINESSLOG_ID"].ToString() != "")
{
businesslogModel.BUSINESSLOG_ID = drBUSINESSLOG["BUSINESSLOG_ID"].TryParseToInt(); //业务办理日志内码
}
if (drBUSINESSLOG["BUSINESSLOG_TYPE"].ToString() != "")
{
businesslogModel.BUSINESSLOG_TYPE = drBUSINESSLOG["BUSINESSLOG_TYPE"].TryParseToInt(); //业务类型
}
if (drBUSINESSLOG["BUSINESS_ID"].ToString() != "")
{
businesslogModel.BUSINESS_ID = drBUSINESSLOG["BUSINESS_ID"].TryParseToInt(); //业务内码
}
businesslogModel.TABLE_NAME = drBUSINESSLOG["TABLE_NAME"].ToString(); //业务表名称
businesslogModel.OWNER_NAME = drBUSINESSLOG["OWNER_NAME"].ToString(); //业务表用户
businesslogModel.BUSINESSLOG_CONTENT = drBUSINESSLOG["BUSINESSLOG_CONTENT"].ToString(); //日志内容
if (!string.IsNullOrWhiteSpace(drBUSINESSLOG["OPERATE_DATE"].ToString()))
{
//操作时间
businesslogModel.OPERATE_DATE = HCC.Common.TranslateDateTime(drBUSINESSLOG["OPERATE_DATE"].ToString());
}
if (drBUSINESSLOG["DATA_CONSISTENCY"].ToString() != "")
{
businesslogModel.DATA_CONSISTENCY = drBUSINESSLOG["DATA_CONSISTENCY"].TryParseToShort(); //数据一致性0不一致1一致
}
if (drBUSINESSLOG["CHECK_STATE"].ToString() != "")
{
businesslogModel.CHECK_STATE = drBUSINESSLOG["CHECK_STATE"].TryParseToShort(); //反查标识0后续需要干预处理的日志1纯记录作为定时删除日志的标记
}
businesslogModel.UNIQUECODE = drBUSINESSLOG["UNIQUECODE"].ToString(); //日结账期唯一标识
if (drBUSINESSLOG["CHECK_COUNT"].ToString() != "")
{
businesslogModel.CHECK_COUNT = drBUSINESSLOG["CHECK_COUNT"].TryParseToShort(); //复查次数
}
businesslogModel.SERVERPARTCODE = drBUSINESSLOG["SERVERPARTCODE"].ToString(); //服务区编码
businesslogModel.SHOPCODE = drBUSINESSLOG["SHOPCODE"].ToString(); //门店编码
businesslogModel.MACHINECODE = drBUSINESSLOG["MACHINECODE"].ToString(); //机器编码
if (!string.IsNullOrWhiteSpace(drBUSINESSLOG["STATISTICS_DATE"].ToString()))
{
//结算时间
businesslogModel.STATISTICS_DATE = HCC.Common.TranslateDateTime(drBUSINESSLOG["STATISTICS_DATE"].ToString());
}
if (drBUSINESSLOG["BUSINESSTYPE"].ToString() != "")
{
businesslogModel.BUSINESSTYPE = drBUSINESSLOG["BUSINESSTYPE"].TryParseToInt(); //商品业态
}
if (drBUSINESSLOG["SALE_AMOUNT"].ToString() != "")
{
businesslogModel.SALE_AMOUNT = drBUSINESSLOG["SALE_AMOUNT"].TryParseToDouble(); //单品报表金额
}
if (drBUSINESSLOG["CASHPAY_AMOUNT"].ToString() != "")
{
businesslogModel.CASHPAY_AMOUNT = drBUSINESSLOG["CASHPAY_AMOUNT"].TryParseToDouble(); //账期实收金额
}
if (drBUSINESSLOG["DAILY_AMOUNT"].ToString() != "")
{
businesslogModel.DAILY_AMOUNT = drBUSINESSLOG["DAILY_AMOUNT"].TryParseToDouble(); //自然日移动流水
}
if (drBUSINESSLOG["CHANNEL_AMOUNT"].ToString() != "")
{
businesslogModel.CHANNEL_AMOUNT = drBUSINESSLOG["CHANNEL_AMOUNT"].TryParseToDouble(); //通道反馈流水
}
if (drBUSINESSLOG["ENDACCOUNT_ID"].ToString() != "")
{
businesslogModel.ENDACCOUNT_ID = drBUSINESSLOG["ENDACCOUNT_ID"].TryParseToInt(); //日结账单内码
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取业务办理日志表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BUSINESSLOGId">业务办理日志表内码</param>
public static Model.BUSINESSLOGModel GetBUSINESSLOGDetail(Transaction transaction, int BUSINESSLOGId)
{
Model.BUSINESSLOGModel businesslogModel = new Model.BUSINESSLOGModel();
string WhereSQL = "WHERE BUSINESSLOG_ID = " + BUSINESSLOGId;
//查询明细数据
DataTable dtBUSINESSLOG = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSLOG " + WhereSQL);
if (dtBUSINESSLOG.Rows.Count > 0)
{
//绑定业务办理日志表数据对象
BindDataRowToModel(dtBUSINESSLOG.Rows[0], businesslogModel);
}
return businesslogModel;
}
#endregion
#region
/// <summary>
/// 赋值业务办理日志表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="businesslogModel">业务办理日志表数据对象</param>
public static bool SynchroBUSINESSLOG(Transaction transaction, Model.BUSINESSLOGModel businesslogModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "PLATFORM_FRAMEWORK.T_BUSINESSLOG", keyField = "BUSINESSLOG_ID", seqName = "SEQ_BUSINESSLOG";
Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("BUSINESSLOG_TYPES");
excludeField.Add("BUSINESS_IDS");
excludeField.Add("OPERATE_DATE_Start");
excludeField.Add("OPERATE_DATE_End");
excludeField.Add("STATISTICS_DATE_Start");
excludeField.Add("STATISTICS_DATE_End");
excludeField.Add("ENDACCOUNT_IDS");
#endregion
#region SQL语句中日期相关字段的执行语句
//操作时间
if (!string.IsNullOrWhiteSpace(businesslogModel.OPERATE_DATE))
{
dateFieldList.Add("OPERATE_DATE", DateTime.Parse(
businesslogModel.OPERATE_DATE).ToString("yyyyMMddHHmmss"));
}
else
{
dateFieldList.Add("OPERATE_DATE", "NULL");
}
//结算时间
if (!string.IsNullOrWhiteSpace(businesslogModel.STATISTICS_DATE))
{
dateFieldList.Add("STATISTICS_DATE", DateTime.Parse(
businesslogModel.STATISTICS_DATE).ToString("yyyyMMddHHmmss"));
}
else
{
dateFieldList.Add("STATISTICS_DATE", "NULL");
}
#endregion
if (businesslogModel.BUSINESSLOG_ID != null)
{
string WhereSQL = " WHERE BUSINESSLOG_ID = " + businesslogModel.BUSINESSLOG_ID;
DataTable dtBUSINESSLOG = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSLOG" + WhereSQL);
if (dtBUSINESSLOG.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.BUSINESSLOGModel>.GetTableExcuteSQL(
businesslogModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtBUSINESSLOG = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
businesslogModel.BUSINESSLOG_ID = dtBUSINESSLOG.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.BUSINESSLOGModel>.GetTableExcuteSQL(
businesslogModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除业务办理日志表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BUSINESSLOGId">业务办理日志表内码</param>
public static bool DeleteBUSINESSLOG(Transaction transaction, int? BUSINESSLOGId)
{
bool DeleteFlag = false;
if (BUSINESSLOGId != null)
{
}
return DeleteFlag;
}
#endregion
}
}