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 { /// /// 经营数据分析表相关方法 /// 2024/4/11 14:54:40自动生成 /// public class BUSINESSANALYSISHelper { #region 获取经营数据分析表列表 /// /// 获取经营数据分析表列表 /// /// 事务管理器 /// 查询结果总数 /// 查询条件对象 public static List GetBUSINESSANALYSISList(Transaction transaction, ref int TotalCount, Model.SearchModel searchModel) { List BUSINESSANALYSISList = new List(); string WhereSQL = "", RowFilterSQL = ""; if (searchModel.SearchParameter != null) { WhereSQL = OperationDataHelper.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "", "SERVERPART_IDS", "SERVERPART_TYPES", "BUSINESS_TRADES", "BUSINESS_PTRADES", "BUSINESS_STARTDATE_Start", "BUSINESS_STARTDATE_End", "BUSINESS_ENDDATE_Start", "BUSINESS_ENDDATE_End", "PROJECT_STARTDATE_Start", "PROJECT_STARTDATE_End", "PROJECT_ENDDATE_Start", "PROJECT_ENDDATE_End"); if (WhereSQL != "") { WhereSQL = " WHERE " + WhereSQL; } //查询服务区内码 if (searchModel.SearchParameter.SERVERPART_IDS.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPART_ID IN (" + searchModel.SearchParameter.SERVERPART_IDS + ")"; } //查询服务区类型 if (searchModel.SearchParameter.SERVERPART_TYPES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPART_TYPE IN (" + searchModel.SearchParameter.SERVERPART_TYPES + ")"; } //查询经营业态 if (searchModel.SearchParameter.BUSINESS_TRADES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "BUSINESS_TRADE IN (" + searchModel.SearchParameter.BUSINESS_TRADES + ")"; } //查询父级业态 if (searchModel.SearchParameter.BUSINESS_PTRADES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "BUSINESS_PTRADE IN (" + searchModel.SearchParameter.BUSINESS_PTRADES + ")"; } //查询经营开始日期 if (searchModel.SearchParameter.BUSINESS_STARTDATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_STARTDATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_STARTDATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.BUSINESS_STARTDATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_STARTDATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_STARTDATE_End).ToString("yyyyMMdd"); } //查询最近经营日期 if (searchModel.SearchParameter.BUSINESS_ENDDATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_ENDDATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_ENDDATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.BUSINESS_ENDDATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_ENDDATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_ENDDATE_End).ToString("yyyyMMdd"); } //查询项目开始日期 if (searchModel.SearchParameter.PROJECT_STARTDATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(PROJECT_STARTDATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.PROJECT_STARTDATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.PROJECT_STARTDATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(PROJECT_STARTDATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.PROJECT_STARTDATE_End).ToString("yyyyMMdd"); } //查询项目结束日期 if (searchModel.SearchParameter.PROJECT_ENDDATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(PROJECT_ENDDATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.PROJECT_ENDDATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.PROJECT_ENDDATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(PROJECT_ENDDATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.PROJECT_ENDDATE_End).ToString("yyyyMMdd"); } } DataTable dtBUSINESSANALYSIS = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable( "SELECT * FROM PLATFORM_DASHBOARD.T_BUSINESSANALYSIS" + 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 != "") { dtBUSINESSANALYSIS.DefaultView.RowFilter = RowFilterSQL; } //排序: dtBUSINESSANALYSIS.DefaultView.Sort = searchModel.SortStr; dtBUSINESSANALYSIS = dtBUSINESSANALYSIS.DefaultView.ToTable(); //获取查询结果总记录条数 TotalCount = dtBUSINESSANALYSIS.Rows.Count; //根据传入的页码和每页显示条数返回结果 dtBUSINESSANALYSIS = CommonHelper.GetDataTableWithPageSize(dtBUSINESSANALYSIS, searchModel.PageSize, searchModel.PageIndex); foreach (DataRow drBUSINESSANALYSIS in dtBUSINESSANALYSIS.Rows) { Model.BUSINESSANALYSISModel businessanalysisModel = new Model.BUSINESSANALYSISModel(); //绑定经营数据分析表数据对象 BindDataRowToModel(drBUSINESSANALYSIS, businessanalysisModel); BUSINESSANALYSISList.Add(businessanalysisModel); } return BUSINESSANALYSISList; } #region 绑定model /// /// 绑定model /// /// datarow数据源 /// model对象 public static void BindDataRowToModel(DataRow drBUSINESSANALYSIS, Model.BUSINESSANALYSISModel businessanalysisModel) { if (drBUSINESSANALYSIS["BUSINESSANALYSIS_ID"].ToString() != "") { businessanalysisModel.BUSINESSANALYSIS_ID = drBUSINESSANALYSIS["BUSINESSANALYSIS_ID"].TryParseToInt(); //内码 } if (drBUSINESSANALYSIS["SERVERPART_ID"].ToString() != "") { businessanalysisModel.SERVERPART_ID = drBUSINESSANALYSIS["SERVERPART_ID"].TryParseToInt(); //服务区内码 } businessanalysisModel.SERVERPART_NAME = drBUSINESSANALYSIS["SERVERPART_NAME"].ToString(); //服务区名称 if (drBUSINESSANALYSIS["SERVERPART_TYPE"].ToString() != "") { businessanalysisModel.SERVERPART_TYPE = drBUSINESSANALYSIS["SERVERPART_TYPE"].TryParseToInt(); //服务区类型 } businessanalysisModel.EXPRESSWAY_NAME = drBUSINESSANALYSIS["EXPRESSWAY_NAME"].ToString(); //所在高速路 if (drBUSINESSANALYSIS["BUSINESS_TRADE"].ToString() != "") { businessanalysisModel.BUSINESS_TRADE = drBUSINESSANALYSIS["BUSINESS_TRADE"].TryParseToInt(); //经营业态 } if (drBUSINESSANALYSIS["BUSINESS_PTRADE"].ToString() != "") { businessanalysisModel.BUSINESS_PTRADE = drBUSINESSANALYSIS["BUSINESS_PTRADE"].TryParseToInt(); //父级业态 } if (drBUSINESSANALYSIS["BUSINESS_SHOPCOUNT"].ToString() != "") { businessanalysisModel.BUSINESS_SHOPCOUNT = drBUSINESSANALYSIS["BUSINESS_SHOPCOUNT"].TryParseToInt(); //父级业态门店数量 } businessanalysisModel.SHOPSHORTNAME = drBUSINESSANALYSIS["SHOPSHORTNAME"].ToString(); //门店名称 businessanalysisModel.BUSINESS_UNIT = drBUSINESSANALYSIS["BUSINESS_UNIT"].ToString(); //经营单位 if (drBUSINESSANALYSIS["REVENUE_AMOUNT"].ToString() != "") { businessanalysisModel.REVENUE_AMOUNT = drBUSINESSANALYSIS["REVENUE_AMOUNT"].TryParseToDouble(); //月均营收 } if (drBUSINESSANALYSIS["TICKET_AMOUNT"].ToString() != "") { businessanalysisModel.TICKET_AMOUNT = drBUSINESSANALYSIS["TICKET_AMOUNT"].TryParseToDouble(); //客单均价 } if (drBUSINESSANALYSIS["MINIMART_REVENUE"].ToString() != "") { businessanalysisModel.MINIMART_REVENUE = drBUSINESSANALYSIS["MINIMART_REVENUE"].TryParseToDouble(); //月均商超营收 } if (drBUSINESSANALYSIS["MINTURNOVER"].ToString() != "") { businessanalysisModel.MINTURNOVER = drBUSINESSANALYSIS["MINTURNOVER"].TryParseToDouble(); //保底租金 } if (drBUSINESSANALYSIS["GUARANTEERATIO"].ToString() != "") { businessanalysisModel.GUARANTEERATIO = drBUSINESSANALYSIS["GUARANTEERATIO"].TryParseToDouble(); //提成比例 } if (drBUSINESSANALYSIS["SERVERPART_AVGAMOUNT"].ToString() != "") { businessanalysisModel.SERVERPART_AVGAMOUNT = drBUSINESSANALYSIS["SERVERPART_AVGAMOUNT"].TryParseToInt(); //服务区客单均价 } if (drBUSINESSANALYSIS["MINIMART_AVGAMOUNT"].ToString() != "") { businessanalysisModel.MINIMART_AVGAMOUNT = drBUSINESSANALYSIS["MINIMART_AVGAMOUNT"].TryParseToInt(); //商超客单均价 } if (drBUSINESSANALYSIS["STATISTICS_DAYS"].ToString() != "") { businessanalysisModel.STATISTICS_DAYS = drBUSINESSANALYSIS["STATISTICS_DAYS"].TryParseToInt(); //有效天数 } if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["BUSINESS_STARTDATE"].ToString())) { //经营开始日期 businessanalysisModel.BUSINESS_STARTDATE = HCC.Common.TranslateDateTime(drBUSINESSANALYSIS["BUSINESS_STARTDATE"].ToString()); } if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["BUSINESS_ENDDATE"].ToString())) { //最近经营日期 businessanalysisModel.BUSINESS_ENDDATE = HCC.Common.TranslateDateTime(drBUSINESSANALYSIS["BUSINESS_ENDDATE"].ToString()); } if (drBUSINESSANALYSIS["BUSINESSPROJECT_ID"].ToString() != "") { businessanalysisModel.BUSINESSPROJECT_ID = drBUSINESSANALYSIS["BUSINESSPROJECT_ID"].TryParseToInt(); //经营项目内码 } if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["PROJECT_STARTDATE"].ToString())) { //项目开始日期 businessanalysisModel.PROJECT_STARTDATE = HCC.Common.TranslateDateTime(drBUSINESSANALYSIS["PROJECT_STARTDATE"].ToString()); } if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["PROJECT_ENDDATE"].ToString())) { //项目结束日期 businessanalysisModel.PROJECT_ENDDATE = HCC.Common.TranslateDateTime(drBUSINESSANALYSIS["PROJECT_ENDDATE"].ToString()); } businessanalysisModel.SERVERPARTSHOP_ID = drBUSINESSANALYSIS["SERVERPARTSHOP_ID"].ToString(); //门店内码 if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["STATISTICS_STARTDATE"].ToString())) { //统计开始日期 businessanalysisModel.STATISTICS_STARTDATE = HCC.Common.TranslateDateTime(drBUSINESSANALYSIS["STATISTICS_STARTDATE"].ToString()); } if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["STATISTICS_ENDDATE"].ToString())) { //统计结束日期 businessanalysisModel.STATISTICS_ENDDATE = HCC.Common.TranslateDateTime(drBUSINESSANALYSIS["STATISTICS_ENDDATE"].ToString()); } if (drBUSINESSANALYSIS["ACCOUNT_AMOUNT"].ToString() != "") { businessanalysisModel.ACCOUNT_AMOUNT = drBUSINESSANALYSIS["ACCOUNT_AMOUNT"].TryParseToDouble(); //业主入账(含税) } if (drBUSINESSANALYSIS["ACCOUNT_AMOUNTNOTAX"].ToString() != "") { businessanalysisModel.ACCOUNT_AMOUNTNOTAX = drBUSINESSANALYSIS["ACCOUNT_AMOUNTNOTAX"].TryParseToDouble(); //业主入账(除税) } if (drBUSINESSANALYSIS["ACCOUNT_DAYS"].ToString() != "") { businessanalysisModel.ACCOUNT_DAYS = drBUSINESSANALYSIS["ACCOUNT_DAYS"].TryParseToInt(); //入账结算天数 } if (drBUSINESSANALYSIS["TRANSFER_TYPE"].ToString() != "") { businessanalysisModel.TRANSFER_TYPE = drBUSINESSANALYSIS["TRANSFER_TYPE"].TryParseToShort(); //传输类型(0:收银系统;1:扫码传输;2:接口传输) } if (!string.IsNullOrWhiteSpace(drBUSINESSANALYSIS["RECORD_DATE"].ToString())) { //记录时间 businessanalysisModel.RECORD_DATE = drBUSINESSANALYSIS["RECORD_DATE"].ToString(); } } #endregion #endregion #region 获取经营数据分析表明细 /// /// 获取经营数据分析表明细 /// /// 事务管理器 /// 经营数据分析表内码 public static Model.BUSINESSANALYSISModel GetBUSINESSANALYSISDetail(Transaction transaction, int BUSINESSANALYSISId) { Model.BUSINESSANALYSISModel businessanalysisModel = new Model.BUSINESSANALYSISModel(); string WhereSQL = "WHERE BUSINESSANALYSIS_ID = " + BUSINESSANALYSISId; //查询明细数据 DataTable dtBUSINESSANALYSIS = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable( "SELECT * FROM PLATFORM_DASHBOARD.T_BUSINESSANALYSIS " + WhereSQL); if (dtBUSINESSANALYSIS.Rows.Count > 0) { //绑定经营数据分析表数据对象 BindDataRowToModel(dtBUSINESSANALYSIS.Rows[0], businessanalysisModel); } return businessanalysisModel; } #endregion #region 同步经营数据分析表 /// /// 赋值经营数据分析表数据对象 /// /// 事务管理器 /// 经营数据分析表数据对象 public static bool SynchroBUSINESSANALYSIS(Transaction transaction, Model.BUSINESSANALYSISModel businessanalysisModel) { bool SynchroFlag = true; string SQLString; List excludeField = new List(); Dictionary dateFieldList = new Dictionary(); string tableName = "PLATFORM_DASHBOARD.T_BUSINESSANALYSIS", keyField = "BUSINESSANALYSIS_ID", seqName = "SEQ_BUSINESSANALYSIS"; Business.CATERINGGROSSMARGIN _CATERINGGROSSMARGIN = new Business.CATERINGGROSSMARGIN(transaction); #region 添加SQL语句中需要排除在外的字段 excludeField.Add("SERVERPART_IDS"); excludeField.Add("SERVERPART_TYPES"); excludeField.Add("BUSINESS_TRADES"); excludeField.Add("BUSINESS_PTRADES"); excludeField.Add("BUSINESS_STARTDATE_Start"); excludeField.Add("BUSINESS_STARTDATE_End"); excludeField.Add("BUSINESS_ENDDATE_Start"); excludeField.Add("BUSINESS_ENDDATE_End"); excludeField.Add("PROJECT_STARTDATE_Start"); excludeField.Add("PROJECT_STARTDATE_End"); excludeField.Add("PROJECT_ENDDATE_Start"); excludeField.Add("PROJECT_ENDDATE_End"); #endregion #region 添加SQL语句中日期相关字段的执行语句 //经营开始日期 if (!string.IsNullOrWhiteSpace(businessanalysisModel.BUSINESS_STARTDATE)) { dateFieldList.Add("BUSINESS_STARTDATE", DateTime.Parse( businessanalysisModel.BUSINESS_STARTDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("BUSINESS_STARTDATE", "NULL"); } //最近经营日期 if (!string.IsNullOrWhiteSpace(businessanalysisModel.BUSINESS_ENDDATE)) { dateFieldList.Add("BUSINESS_ENDDATE", DateTime.Parse( businessanalysisModel.BUSINESS_ENDDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("BUSINESS_ENDDATE", "NULL"); } //项目开始日期 if (!string.IsNullOrWhiteSpace(businessanalysisModel.PROJECT_STARTDATE)) { dateFieldList.Add("PROJECT_STARTDATE", DateTime.Parse( businessanalysisModel.PROJECT_STARTDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("PROJECT_STARTDATE", "NULL"); } //项目结束日期 if (!string.IsNullOrWhiteSpace(businessanalysisModel.PROJECT_ENDDATE)) { dateFieldList.Add("PROJECT_ENDDATE", DateTime.Parse( businessanalysisModel.PROJECT_ENDDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("PROJECT_ENDDATE", "NULL"); } //统计开始日期 if (!string.IsNullOrWhiteSpace(businessanalysisModel.STATISTICS_STARTDATE)) { dateFieldList.Add("STATISTICS_STARTDATE", DateTime.Parse( businessanalysisModel.STATISTICS_STARTDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("STATISTICS_STARTDATE", "NULL"); } //统计结束日期 if (!string.IsNullOrWhiteSpace(businessanalysisModel.STATISTICS_ENDDATE)) { dateFieldList.Add("STATISTICS_ENDDATE", DateTime.Parse( businessanalysisModel.STATISTICS_ENDDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("STATISTICS_ENDDATE", "NULL"); } //记录时间 if (!string.IsNullOrWhiteSpace(businessanalysisModel.RECORD_DATE)) { dateFieldList.Add("RECORD_DATE", "TO_DATE('" + businessanalysisModel.RECORD_DATE + "','YYYY/MM/DD HH24:MI:SS')"); } else { dateFieldList.Add("RECORD_DATE", "NULL"); } #endregion if (businessanalysisModel.BUSINESSANALYSIS_ID != null) { string WhereSQL = " WHERE BUSINESSANALYSIS_ID = " + businessanalysisModel.BUSINESSANALYSIS_ID; DataTable dtBUSINESSANALYSIS = _CATERINGGROSSMARGIN.ExecuteDataTable( "SELECT * FROM PLATFORM_DASHBOARD.T_BUSINESSANALYSIS" + WhereSQL); if (dtBUSINESSANALYSIS.Rows.Count > 0) { SQLString = OperationDataHelper.GetTableExcuteSQL( businessanalysisModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL); } else { return false; } } else { DataTable dtBUSINESSANALYSIS = _CATERINGGROSSMARGIN.ExecuteDataTable( "SELECT " + seqName + ".NEXTVAL FROM DUAL"); businessanalysisModel.BUSINESSANALYSIS_ID = dtBUSINESSANALYSIS.Rows[0][0].TryParseToInt(); SQLString = OperationDataHelper.GetTableExcuteSQL( businessanalysisModel, 0, tableName, keyField, seqName, dateFieldList, excludeField); } _CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null); return SynchroFlag; } #endregion #region 删除经营数据分析表 /// /// 删除经营数据分析表 /// /// 事务管理器 /// 经营数据分析表内码 public static bool DeleteBUSINESSANALYSIS(Transaction transaction, int? BUSINESSANALYSISId) { bool DeleteFlag = false; if (BUSINESSANALYSISId != null) { } return DeleteFlag; } #endregion } }