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

171 lines
8.0 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.Configuration;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using HZQR.Common;
namespace ThirdPartyClient.Method
{
/// <summary>
/// 业务日志帮助类
/// </summary>
public class BusinessLogHelper
{
#region ->
/// <summary>
/// 记录业务操作日志
/// </summary>
/// <param name="_OracleHelper">业务操作日志表所在数据库链接</param>
/// <param name="BusinessLogType">
/// 日志类型<br/>
/// 压缩文件解压异常0<br/>
/// 移动支付到账差异1<br/>
/// 固化历史单品差异2<br/>
/// 应收账款生成异常3<br/>
/// 卡口流水生成差异4<br/>
/// 优惠券统计表差异5<br/>
/// 优惠券明细表差异6<br/>
/// 日度营收生成差异7<br/>
/// 月度营收生成差异8<br/>
/// 移动支付分账差异9<br/>
/// 移动支付分账比例10<br/>
/// 营收拆分生成差异11<br/>
/// 移动支付未传门店12<br/>
/// 应收拆分生成差异16<br/>
/// 日结单品销售100000<br/>
/// 商品信息变更102000<br/>
/// 进销存业务200000<br/>
/// 入库业务[商超]201000<br/>
/// 重复入库[商超]201001<br/>
/// 调拨业务[商超]202000<br/>
/// 退货业务[商超]203000<br/>
/// 领用业务[商超]204000<br/>
/// 单品销售[商超]205000<br/>
/// 盘点结存[商超]206000<br/>
/// 盘点损溢[商超]206001<br/>
/// 统配业务500000<br/>
/// 入库业务[统配]501000<br/>
/// 调拨业务[统配]502000<br/>
/// 退货业务[统配]503000<br/>
/// 领用业务[统配]504000<br/>
/// 损溢业务[统配]505000<br/>
/// 盘点结存[统配]506000<br/>
/// 盘点损溢[统配]506001<br/>
/// 异常库存[统配]507000<br/>
/// 配送业务[统配]508000<br/>
/// 异常退货[统配]509000<br/>
/// 成本管控700000<br/>
/// 入库业务[餐饮]701000<br/>
/// 调拨业务[餐饮]702000<br/>
/// 领用业务[餐饮]703000<br/>
/// 退货业务[餐饮]704000<br/>
/// 单品销售[餐饮]705000<br/>
/// 盘点结存[餐饮]706000<br/>
/// 盘点损溢[餐饮]706001
/// </param>
/// <param name="BusinessID">业务内码</param>
/// <param name="TableName">数据表名称</param>
/// <param name="OwnerName">数据表用户名称</param>
/// <param name="BusinessLogContent">日志内容</param>
/// <param name="Data_Consistency">数据一致性0【不一致】1【一致】</param>
/// <param name="Check_State">处理状态0【待处理】1【无异常】</param>
/// <param name="ServerpartCode">服务区编码</param>
/// <param name="ShopCode">门店编码</param>
/// <param name="MachineCode">机器编码</param>
/// <param name="Statistics_Date">
/// 统计日期<br/>
/// 格式yyyy、yyyyMM、yyyyMMdd、yyyyMMddHH、yyyyMMddHHmm、yyyyMMddHHmmss
/// </param>
/// <param name="Daily_Amount">自然日口径统计的金额</param>
/// <param name="Channel_Amount">移动支付渠道统计的金额</param>
/// <returns>返回结果SQL语句执行成功的条数</returns>
public static int RecordBusinessLog(OracleHelper _OracleHelper, int BusinessLogType, int BusinessID,
string TableName, string OwnerName, string BusinessLogContent, int Data_Consistency, int Check_State,
string ServerpartCode = "", string ShopCode = "", string MachineCode = "", long? Statistics_Date = null,
decimal? Daily_Amount = null, decimal? Channel_Amount = null)
{
string SQLString = "";
try
{
SQLString = string.Format(@"INSERT INTO PLATFORM_FRAMEWORK.T_BUSINESSLOG (
BUSINESSLOG_ID,BUSINESSLOG_TYPE,BUSINESS_ID,TABLE_NAME,OWNER_NAME,
BUSINESSLOG_CONTENT,OPERATE_DATE,DATA_CONSISTENCY,CHECK_STATE,
SERVERPARTCODE,SHOPCODE,MACHINECODE,STATISTICS_DATE,DAILY_AMOUNT,CHANNEL_AMOUNT)
VALUES (PLATFORM_FRAMEWORK.SEQ_BUSINESSLOG.NEXTVAL,
{0},{1},'{2}','{3}','{4}',{5},{6},{7},'{8}','{9}','{10}',{11},{12},{13})",
BusinessLogType, BusinessID, TableName, OwnerName, BusinessLogContent,
DateTime.Now.ToString("yyyyMMddHHmmss"), Data_Consistency, Check_State,
ServerpartCode, ShopCode, MachineCode,
Statistics_Date == null ? "NULL" : Statistics_Date.ToString(),
Daily_Amount == null ? "NULL" : Daily_Amount.ToString(),
Channel_Amount == null ? "NULL" : Channel_Amount.ToString());
return _OracleHelper.ExcuteSql(SQLString);
}
catch (Exception ex)
{
LogUtil.WriteLog(ex, "记录业务办理日志失败!执行语句:" + SQLString,
DateTime.Now.ToString("yyyyMMdd") + "_DataTransmission_Error");
return -1;
}
}
#endregion
#region ->
/// <summary>
/// 更新日志表反查标识
/// </summary>
/// <param name="_Transaction">事务管理器</param>
/// <param name="BusinessLogType">日志类型</param>
/// <param name="BusinessID">业务ID</param>
/// <param name="TableName">业务表名称</param>
/// <param name="OwnerName">业务表用户</param>
/// <param name="Check_State">反查标识0后续需要干预处理的日志1纯记录作为定时删除日志的标记</param>
public static int UpdateBusinessLogCheckState(OracleHelper _OracleHelper, int BusinessLogType,
int BusinessID, string TableName, string OwnerName, int Check_State, string BusinessLogTypeContent)
{
string SQLString = "";
try
{
SQLString = string.Format(@"UPDATE PLATFORM_FRAMEWORK.T_BUSINESSLOG
SET DATA_CONSISTENCY = 1,CHECK_STATE = {0},BUSINESSLOG_CONTENT = '{5}'
WHERE BUSINESSLOG_TYPE = {1} AND BUSINESS_ID = {2} AND
TABLE_NAME = '{3}' AND OWNER_NAME = '{4}'",
Check_State, BusinessLogType, BusinessID, TableName, OwnerName, BusinessLogTypeContent);
return _OracleHelper.ExcuteSql(SQLString);
}
catch (Exception ex)
{
LogUtil.WriteLog(ex, "更新业务办理日志失败!执行语句:" + SQLString,
DateTime.Now.ToString("yyyyMMdd") + "_DataTransmission_Error");
return -1;
}
}
public static int UpdateBusinessLogCheckState(OracleHelper _OracleHelper,
int BusinessLogID, int Check_State, string BusinessLogTypeContent)
{
string SQLString = "";
try
{
SQLString = string.Format(@"UPDATE PLATFORM_FRAMEWORK.T_BUSINESSLOG
SET DATA_CONSISTENCY = 1,CHECK_STATE = {0},BUSINESSLOG_CONTENT = '{1}'
WHERE BUSINESSLOG_ID = {2}",
Check_State, BusinessLogTypeContent, BusinessLogID);
return _OracleHelper.ExcuteSql(SQLString);
}
catch (Exception ex)
{
LogUtil.WriteLog(ex, "更新业务办理日志失败!执行语句:" + SQLString,
DateTime.Now.ToString("yyyyMMdd") + "_DataTransmission_Error");
return -1;
}
}
#endregion
}
}