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

444 lines
22 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.PlatForm.Dashboard.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 经营数据分析表相关方法
/// 2024/4/11 14:54:40自动生成
/// </summary>
public class BUSINESSANALYSISHelper
{
#region
/// <summary>
/// 获取经营数据分析表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.BUSINESSANALYSISModel> GetBUSINESSANALYSISList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.BUSINESSANALYSISModel> searchModel)
{
List<Model.BUSINESSANALYSISModel> BUSINESSANALYSISList = new List<Model.BUSINESSANALYSISModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.BUSINESSANALYSISModel>.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
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drBUSINESSANALYSIS">datarow数据源</param>
/// <param name="businessanalysisModel">model对象</param>
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
/// <summary>
/// 获取经营数据分析表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BUSINESSANALYSISId">经营数据分析表内码</param>
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
/// <summary>
/// 赋值经营数据分析表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="businessanalysisModel">经营数据分析表数据对象</param>
public static bool SynchroBUSINESSANALYSIS(Transaction transaction, Model.BUSINESSANALYSISModel businessanalysisModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
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<Model.BUSINESSANALYSISModel>.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<Model.BUSINESSANALYSISModel>.GetTableExcuteSQL(
businessanalysisModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除经营数据分析表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BUSINESSANALYSISId">经营数据分析表内码</param>
public static bool DeleteBUSINESSANALYSIS(Transaction transaction, int? BUSINESSANALYSISId)
{
bool DeleteFlag = false;
if (BUSINESSANALYSISId != null)
{
}
return DeleteFlag;
}
#endregion
}
}