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

279 lines
14 KiB
C#

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>
/// AI智能经营情况分析相关方法
/// 2024/4/16 18:13:11自动生成
/// </summary>
public class SITUATIONANALYSISHelper
{
#region AI智能经营情况分析列表
/// <summary>
/// 获取AI智能经营情况分析列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.SITUATIONANALYSISModel> GetSITUATIONANALYSISList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.SITUATIONANALYSISModel> searchModel)
{
List<Model.SITUATIONANALYSISModel> SITUATIONANALYSISList = new List<Model.SITUATIONANALYSISModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.SITUATIONANALYSISModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"SERVERPART_IDS");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询服务区内码
if (searchModel.SearchParameter.SERVERPART_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPART_ID IN (" + searchModel.SearchParameter.SERVERPART_IDS + ")";
}
}
DataTable dtSITUATIONANALYSIS = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_SITUATIONANALYSIS" + 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 != "")
{
dtSITUATIONANALYSIS.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtSITUATIONANALYSIS.DefaultView.Sort = searchModel.SortStr;
dtSITUATIONANALYSIS = dtSITUATIONANALYSIS.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtSITUATIONANALYSIS.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtSITUATIONANALYSIS = CommonHelper.GetDataTableWithPageSize(dtSITUATIONANALYSIS, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drSITUATIONANALYSIS in dtSITUATIONANALYSIS.Rows)
{
Model.SITUATIONANALYSISModel situationanalysisModel = new Model.SITUATIONANALYSISModel();
//绑定AI智能经营情况分析数据对象
BindDataRowToModel(drSITUATIONANALYSIS, situationanalysisModel);
SITUATIONANALYSISList.Add(situationanalysisModel);
}
return SITUATIONANALYSISList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drSITUATIONANALYSIS">datarow数据源</param>
/// <param name="situationanalysisModel">model对象</param>
public static void BindDataRowToModel(DataRow drSITUATIONANALYSIS, Model.SITUATIONANALYSISModel situationanalysisModel)
{
if (drSITUATIONANALYSIS["SITUATIONANALYSIS_ID"].ToString() != "")
{
situationanalysisModel.SITUATIONANALYSIS_ID = drSITUATIONANALYSIS["SITUATIONANALYSIS_ID"].TryParseToInt(); //表内码
}
if (drSITUATIONANALYSIS["SERVERPART_ID"].ToString() != "")
{
situationanalysisModel.SERVERPART_ID = drSITUATIONANALYSIS["SERVERPART_ID"].TryParseToInt(); //服务区内码
}
situationanalysisModel.SERVERPART_NAME = drSITUATIONANALYSIS["SERVERPART_NAME"].ToString(); //服务区名称
if (drSITUATIONANALYSIS["SERVERPART_TYPE"].ToString() != "")
{
situationanalysisModel.SERVERPART_TYPE = drSITUATIONANALYSIS["SERVERPART_TYPE"].TryParseToInt(); //服务区类型
}
if (drSITUATIONANALYSIS["REVENUE_AMOUNT"].ToString() != "")
{
situationanalysisModel.REVENUE_AMOUNT = drSITUATIONANALYSIS["REVENUE_AMOUNT"].TryParseToDouble(); //全年营收
}
if (drSITUATIONANALYSIS["HOLIDAY_AMOUNT"].ToString() != "")
{
situationanalysisModel.HOLIDAY_AMOUNT = drSITUATIONANALYSIS["HOLIDAY_AMOUNT"].TryParseToDouble(); //节日营收
}
if (drSITUATIONANALYSIS["HOLIDAY_RATE"].ToString() != "")
{
situationanalysisModel.HOLIDAY_RATE = drSITUATIONANALYSIS["HOLIDAY_RATE"].TryParseToDouble(); //节日营收占比
}
if (drSITUATIONANALYSIS["HOLIDAY_RANK"].ToString() != "")
{
situationanalysisModel.HOLIDAY_RANK = drSITUATIONANALYSIS["HOLIDAY_RANK"].TryParseToShort(); //节日营收排名
}
if (drSITUATIONANALYSIS["REVENUE_RANK"].ToString() != "")
{
situationanalysisModel.REVENUE_RANK = drSITUATIONANALYSIS["REVENUE_RANK"].TryParseToShort(); //营收排行
}
if (drSITUATIONANALYSIS["MINIMART_RANK"].ToString() != "")
{
situationanalysisModel.MINIMART_RANK = drSITUATIONANALYSIS["MINIMART_RANK"].TryParseToShort(); //自营商超排行
}
if (drSITUATIONANALYSIS["RESTUARANT_RANK"].ToString() != "")
{
situationanalysisModel.RESTUARANT_RANK = drSITUATIONANALYSIS["RESTUARANT_RANK"].TryParseToShort(); //自营餐饮排行
}
if (drSITUATIONANALYSIS["ACCOUNT_AMOUNT"].ToString() != "")
{
situationanalysisModel.ACCOUNT_AMOUNT = drSITUATIONANALYSIS["ACCOUNT_AMOUNT"].TryParseToDouble(); //业主入账(含税)
}
if (drSITUATIONANALYSIS["ACCOUNT_AMOUNTNOTAX"].ToString() != "")
{
situationanalysisModel.ACCOUNT_AMOUNTNOTAX = drSITUATIONANALYSIS["ACCOUNT_AMOUNTNOTAX"].TryParseToDouble(); //业主入账(除税)
}
if (drSITUATIONANALYSIS["ACCOUNT_TYPERANK"].ToString() != "")
{
situationanalysisModel.ACCOUNT_TYPERANK = drSITUATIONANALYSIS["ACCOUNT_TYPERANK"].TryParseToShort(); //业主入账(除税)排名(服务区类型)
}
if (drSITUATIONANALYSIS["ACCOUNT_RANK"].ToString() != "")
{
situationanalysisModel.ACCOUNT_RANK = drSITUATIONANALYSIS["ACCOUNT_RANK"].TryParseToShort(); //业主入账(除税)排名(全省)
}
if (drSITUATIONANALYSIS["BUSINESS_SHOPCOUNT"].ToString() != "")
{
situationanalysisModel.BUSINESS_SHOPCOUNT = drSITUATIONANALYSIS["BUSINESS_SHOPCOUNT"].TryParseToInt(); //在营门店数量
}
if (drSITUATIONANALYSIS["BUSINESS_SHOPCOUNT_LY"].ToString() != "")
{
situationanalysisModel.BUSINESS_SHOPCOUNT_LY = drSITUATIONANALYSIS["BUSINESS_SHOPCOUNT_LY"].TryParseToInt(); //同比门店数量
}
if (drSITUATIONANALYSIS["SERVERPART_FLOW"].ToString() != "")
{
situationanalysisModel.SERVERPART_FLOW = drSITUATIONANALYSIS["SERVERPART_FLOW"].TryParseToInt(); //日均车流量
}
if (drSITUATIONANALYSIS["SERVERPART_FLOW_LY"].ToString() != "")
{
situationanalysisModel.SERVERPART_FLOW_LY = drSITUATIONANALYSIS["SERVERPART_FLOW_LY"].TryParseToInt(); //同比日均车流
}
if (drSITUATIONANALYSIS["REVENUE_AMOUNT_LY"].ToString() != "")
{
situationanalysisModel.REVENUE_AMOUNT_LY = drSITUATIONANALYSIS["REVENUE_AMOUNT_LY"].TryParseToDouble(); //同比营业额
}
if (drSITUATIONANALYSIS["ACCOUNT_AMOUNT_LY"].ToString() != "")
{
situationanalysisModel.ACCOUNT_AMOUNT_LY = drSITUATIONANALYSIS["ACCOUNT_AMOUNT_LY"].TryParseToDouble(); //同比业主入账(含税)
}
if (drSITUATIONANALYSIS["ACCOUNT_AMOUNTNOTAX_LY"].ToString() != "")
{
situationanalysisModel.ACCOUNT_AMOUNTNOTAX_LY = drSITUATIONANALYSIS["ACCOUNT_AMOUNTNOTAX_LY"].TryParseToDouble(); //同比业主入账(除税)
}
situationanalysisModel.ADDED_PROJECT = drSITUATIONANALYSIS["ADDED_PROJECT"].ToString(); //新增经营项目
situationanalysisModel.DUE_PROJECT = drSITUATIONANALYSIS["DUE_PROJECT"].ToString(); //撤场经营项目
if (drSITUATIONANALYSIS["RECORD_DATE"].ToString() != "")
{
situationanalysisModel.RECORD_DATE = drSITUATIONANALYSIS["RECORD_DATE"].TryParseToDateTime(); //记录时间
}
}
#endregion
#endregion
#region AI智能经营情况分析明细
/// <summary>
/// 获取AI智能经营情况分析明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SITUATIONANALYSISId">AI智能经营情况分析内码</param>
public static Model.SITUATIONANALYSISModel GetSITUATIONANALYSISDetail(Transaction transaction, int SITUATIONANALYSISId)
{
Model.SITUATIONANALYSISModel situationanalysisModel = new Model.SITUATIONANALYSISModel();
string WhereSQL = "WHERE SITUATIONANALYSIS_ID = " + SITUATIONANALYSISId;
//查询明细数据
DataTable dtSITUATIONANALYSIS = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_SITUATIONANALYSIS " + WhereSQL);
if (dtSITUATIONANALYSIS.Rows.Count > 0)
{
//绑定AI智能经营情况分析数据对象
BindDataRowToModel(dtSITUATIONANALYSIS.Rows[0], situationanalysisModel);
}
return situationanalysisModel;
}
#endregion
#region AI智能经营情况分析
/// <summary>
/// 赋值AI智能经营情况分析数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="situationanalysisModel">AI智能经营情况分析数据对象</param>
public static bool SynchroSITUATIONANALYSIS(Transaction transaction, Model.SITUATIONANALYSISModel situationanalysisModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "PLATFORM_DASHBOARD.T_SITUATIONANALYSIS", keyField = "SITUATIONANALYSIS_ID", seqName = "SEQ_SITUATIONANALYSIS";
Business.CATERINGGROSSMARGIN _CATERINGGROSSMARGIN = new Business.CATERINGGROSSMARGIN(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("SERVERPART_IDS");
#endregion
#region SQL语句中日期相关字段的执行语句
#endregion
if (situationanalysisModel.SITUATIONANALYSIS_ID != null)
{
string WhereSQL = " WHERE SITUATIONANALYSIS_ID = " + situationanalysisModel.SITUATIONANALYSIS_ID;
DataTable dtSITUATIONANALYSIS = _CATERINGGROSSMARGIN.ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_SITUATIONANALYSIS" + WhereSQL);
if (dtSITUATIONANALYSIS.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.SITUATIONANALYSISModel>.GetTableExcuteSQL(
situationanalysisModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtSITUATIONANALYSIS = _CATERINGGROSSMARGIN.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
situationanalysisModel.SITUATIONANALYSIS_ID = dtSITUATIONANALYSIS.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.SITUATIONANALYSISModel>.GetTableExcuteSQL(
situationanalysisModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region AI智能经营情况分析
/// <summary>
/// 删除AI智能经营情况分析
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SITUATIONANALYSISId">AI智能经营情况分析内码</param>
public static bool DeleteSITUATIONANALYSIS(Transaction transaction, int? SITUATIONANALYSISId)
{
bool DeleteFlag = false;
if (SITUATIONANALYSISId != null)
{
}
return DeleteFlag;
}
#endregion
}
}