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 { /// /// 业务办理日志表相关方法 /// 2024/1/19 15:28:22自动生成 /// public class BUSINESSLOGHelper { #region 获取业务办理日志表列表 /// /// 获取业务办理日志表列表 /// /// 事务管理器 /// 查询结果总数 /// 查询条件对象 public static List GetBUSINESSLOGList(Transaction transaction, ref int TotalCount, Model.SearchModel searchModel) { List BUSINESSLOGList = new List(); string WhereSQL = "", RowFilterSQL = ""; if (searchModel.SearchParameter != null) { WhereSQL = OperationDataHelper.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 /// /// 绑定model /// /// datarow数据源 /// model对象 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 获取业务办理日志表明细 /// /// 获取业务办理日志表明细 /// /// 事务管理器 /// 业务办理日志表内码 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 同步业务办理日志表 /// /// 赋值业务办理日志表数据对象 /// /// 事务管理器 /// 业务办理日志表数据对象 public static bool SynchroBUSINESSLOG(Transaction transaction, Model.BUSINESSLOGModel businesslogModel) { bool SynchroFlag = true; string SQLString; List excludeField = new List(); Dictionary dateFieldList = new Dictionary(); 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.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.GetTableExcuteSQL( businesslogModel, 0, tableName, keyField, seqName, dateFieldList, excludeField); } _PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null); return SynchroFlag; } #endregion #region 删除业务办理日志表 /// /// 删除业务办理日志表 /// /// 事务管理器 /// 业务办理日志表内码 public static bool DeleteBUSINESSLOG(Transaction transaction, int? BUSINESSLOGId) { bool DeleteFlag = false; if (BUSINESSLOGId != null) { } return DeleteFlag; } #endregion } }