279 lines
14 KiB
C#
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
|
|
}
|
|
}
|