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 { /// /// 业务日志帮助类 /// public class BusinessLogHelper { #region 方法 -> 记录业务操作日志 /// /// 记录业务操作日志 /// /// 业务操作日志表所在数据库链接 /// /// 日志类型
/// 压缩文件解压异常:0
/// 移动支付到账差异:1
/// 固化历史单品差异:2
/// 应收账款生成异常:3
/// 卡口流水生成差异:4
/// 优惠券统计表差异:5
/// 优惠券明细表差异:6
/// 日度营收生成差异:7
/// 月度营收生成差异:8
/// 移动支付分账差异:9
/// 移动支付分账比例:10
/// 营收拆分生成差异:11
/// 移动支付未传门店:12
/// 应收拆分生成差异:16
/// 日结单品销售:100000
/// 商品信息变更:102000
/// 进销存业务:200000
/// 入库业务[商超]:201000
/// 重复入库[商超]:201001
/// 调拨业务[商超]:202000
/// 退货业务[商超]:203000
/// 领用业务[商超]:204000
/// 单品销售[商超]:205000
/// 盘点结存[商超]:206000
/// 盘点损溢[商超]:206001
/// 统配业务:500000
/// 入库业务[统配]:501000
/// 调拨业务[统配]:502000
/// 退货业务[统配]:503000
/// 领用业务[统配]:504000
/// 损溢业务[统配]:505000
/// 盘点结存[统配]:506000
/// 盘点损溢[统配]:506001
/// 异常库存[统配]:507000
/// 配送业务[统配]:508000
/// 异常退货[统配]:509000
/// 成本管控:700000
/// 入库业务[餐饮]:701000
/// 调拨业务[餐饮]:702000
/// 领用业务[餐饮]:703000
/// 退货业务[餐饮]:704000
/// 单品销售[餐饮]:705000
/// 盘点结存[餐饮]:706000
/// 盘点损溢[餐饮]:706001 /// /// 业务内码 /// 数据表名称 /// 数据表用户名称 /// 日志内容 /// 数据一致性:0【不一致】,1【一致】 /// 处理状态:0【待处理】,1【无异常】 /// 服务区编码 /// 门店编码 /// 机器编码 /// /// 统计日期
/// 格式yyyy、yyyyMM、yyyyMMdd、yyyyMMddHH、yyyyMMddHHmm、yyyyMMddHHmmss /// /// 自然日口径统计的金额 /// 移动支付渠道统计的金额 /// 返回结果:SQL语句执行成功的条数 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 方法 -> 更新日志表反查标识 /// /// 更新日志表反查标识 /// /// 事务管理器 /// 日志类型 /// 业务ID /// 业务表名称 /// 业务表用户 /// 反查标识(0:后续需要干预处理的日志,1:纯记录,作为定时删除日志的标记) 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 } }