348 lines
16 KiB
C#
348 lines
16 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>
|
|
/// 门店经营预警表相关方法
|
|
/// 2024/7/3 18:21:45自动生成
|
|
/// </summary>
|
|
public class ACCOUNTWARNINGHelper
|
|
{
|
|
#region 获取门店经营预警表列表
|
|
/// <summary>
|
|
/// 获取门店经营预警表列表
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="TotalCount">查询结果总数</param>
|
|
/// <param name="searchModel">查询条件对象</param>
|
|
public static List<Model.ACCOUNTWARNINGModel> GetACCOUNTWARNINGList(Transaction transaction,
|
|
ref int TotalCount, Model.SearchModel<Model.ACCOUNTWARNINGModel> searchModel)
|
|
{
|
|
List<Model.ACCOUNTWARNINGModel> ACCOUNTWARNINGList = new List<Model.ACCOUNTWARNINGModel>();
|
|
|
|
string WhereSQL = "", RowFilterSQL = "";
|
|
if (searchModel.SearchParameter != null)
|
|
{
|
|
WhereSQL = OperationDataHelper<Model.ACCOUNTWARNINGModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
|
|
if (WhereSQL != "")
|
|
{
|
|
WhereSQL = " WHERE " + WhereSQL;
|
|
}
|
|
}
|
|
|
|
DataTable dtACCOUNTWARNING = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
|
|
"SELECT * FROM PLATFORM_DASHBOARD.T_ACCOUNTWARNING" + 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 != "")
|
|
{
|
|
dtACCOUNTWARNING.DefaultView.RowFilter = RowFilterSQL;
|
|
}
|
|
//排序:
|
|
dtACCOUNTWARNING.DefaultView.Sort = searchModel.SortStr;
|
|
dtACCOUNTWARNING = dtACCOUNTWARNING.DefaultView.ToTable();
|
|
//获取查询结果总记录条数
|
|
TotalCount = dtACCOUNTWARNING.Rows.Count;
|
|
//根据传入的页码和每页显示条数返回结果
|
|
dtACCOUNTWARNING = CommonHelper.GetDataTableWithPageSize(dtACCOUNTWARNING, searchModel.PageSize, searchModel.PageIndex);
|
|
|
|
foreach (DataRow drACCOUNTWARNING in dtACCOUNTWARNING.Rows)
|
|
{
|
|
Model.ACCOUNTWARNINGModel accountwarningModel = new Model.ACCOUNTWARNINGModel();
|
|
//绑定门店经营预警表数据对象
|
|
BindDataRowToModel(drACCOUNTWARNING, accountwarningModel);
|
|
|
|
ACCOUNTWARNINGList.Add(accountwarningModel);
|
|
}
|
|
|
|
return ACCOUNTWARNINGList;
|
|
}
|
|
|
|
#region 绑定model
|
|
/// <summary>
|
|
/// 绑定model
|
|
/// </summary>
|
|
/// <param name="drACCOUNTWARNING">datarow数据源</param>
|
|
/// <param name="accountwarningModel">model对象</param>
|
|
public static void BindDataRowToModel(DataRow drACCOUNTWARNING, Model.ACCOUNTWARNINGModel accountwarningModel)
|
|
{
|
|
if (drACCOUNTWARNING["ACCOUNTWARNING_ID"].ToString() != "")
|
|
{
|
|
accountwarningModel.ACCOUNTWARNING_ID = drACCOUNTWARNING["ACCOUNTWARNING_ID"].TryParseToInt(); //表内码
|
|
}
|
|
if (drACCOUNTWARNING["WARNING_TYPE"].ToString() != "")
|
|
{
|
|
accountwarningModel.WARNING_TYPE = drACCOUNTWARNING["WARNING_TYPE"].TryParseToShort(); //预警类型
|
|
}
|
|
if (drACCOUNTWARNING["BUSINESSPROJECT_ID"].ToString() != "")
|
|
{
|
|
accountwarningModel.BUSINESSPROJECT_ID = drACCOUNTWARNING["BUSINESSPROJECT_ID"].TryParseToInt(); //项目内码
|
|
}
|
|
accountwarningModel.BUSINESSPROJECT_NAME = drACCOUNTWARNING["BUSINESSPROJECT_NAME"].ToString(); //项目名称
|
|
if (drACCOUNTWARNING["SERVERPART_ID"].ToString() != "")
|
|
{
|
|
accountwarningModel.SERVERPART_ID = drACCOUNTWARNING["SERVERPART_ID"].TryParseToInt(); //服务区内码
|
|
}
|
|
accountwarningModel.SERVERPART_NAME = drACCOUNTWARNING["SERVERPART_NAME"].ToString(); //服务区名称
|
|
accountwarningModel.SERVERPARTSHOP_ID = drACCOUNTWARNING["SERVERPARTSHOP_ID"].ToString(); //门店内码
|
|
accountwarningModel.SERVERPARTSHOP_NAME = drACCOUNTWARNING["SERVERPARTSHOP_NAME"].ToString(); //门店名称
|
|
if (drACCOUNTWARNING["BUSINESS_STATE"].ToString() != "")
|
|
{
|
|
accountwarningModel.BUSINESS_STATE = drACCOUNTWARNING["BUSINESS_STATE"].TryParseToInt(); //经营状态
|
|
}
|
|
if (drACCOUNTWARNING["MERCHANTS_ID"].ToString() != "")
|
|
{
|
|
accountwarningModel.MERCHANTS_ID = drACCOUNTWARNING["MERCHANTS_ID"].TryParseToInt(); //经营商户内码
|
|
}
|
|
accountwarningModel.MERCHANTS_NAME = drACCOUNTWARNING["MERCHANTS_NAME"].ToString(); //经营商户名称
|
|
if (!string.IsNullOrWhiteSpace(drACCOUNTWARNING["PROJECT_STARTDATE"].ToString()))
|
|
{
|
|
//项目开始日期
|
|
accountwarningModel.PROJECT_STARTDATE = HCC.Common.TranslateDateTime(drACCOUNTWARNING["PROJECT_STARTDATE"].ToString());
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(drACCOUNTWARNING["PROJECT_ENDDATE"].ToString()))
|
|
{
|
|
//项目结束日期
|
|
accountwarningModel.PROJECT_ENDDATE = HCC.Common.TranslateDateTime(drACCOUNTWARNING["PROJECT_ENDDATE"].ToString());
|
|
}
|
|
if (drACCOUNTWARNING["GUARANTEE_PRICE"].ToString() != "")
|
|
{
|
|
accountwarningModel.GUARANTEE_PRICE = drACCOUNTWARNING["GUARANTEE_PRICE"].TryParseToDouble(); //项目金额
|
|
}
|
|
if (drACCOUNTWARNING["SETTLEMENT_MODES"].ToString() != "")
|
|
{
|
|
accountwarningModel.SETTLEMENT_MODES = drACCOUNTWARNING["SETTLEMENT_MODES"].TryParseToInt(); //结算模式
|
|
}
|
|
accountwarningModel.BUSINESS_PERIOD = drACCOUNTWARNING["BUSINESS_PERIOD"].ToString(); //经营周期
|
|
if (drACCOUNTWARNING["PERIOD_INDEX"].ToString() != "")
|
|
{
|
|
accountwarningModel.PERIOD_INDEX = drACCOUNTWARNING["PERIOD_INDEX"].TryParseToShort(); //第几期
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(drACCOUNTWARNING["STARTDATE"].ToString()))
|
|
{
|
|
//周期开始日期
|
|
accountwarningModel.STARTDATE = HCC.Common.TranslateDateTime(drACCOUNTWARNING["STARTDATE"].ToString());
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(drACCOUNTWARNING["ENDDATE"].ToString()))
|
|
{
|
|
//周期结束日期
|
|
accountwarningModel.ENDDATE = HCC.Common.TranslateDateTime(drACCOUNTWARNING["ENDDATE"].ToString());
|
|
}
|
|
if (drACCOUNTWARNING["RENTFEE"].ToString() != "")
|
|
{
|
|
accountwarningModel.RENTFEE = drACCOUNTWARNING["RENTFEE"].TryParseToDouble(); //固定租金
|
|
}
|
|
if (drACCOUNTWARNING["MINTURNOVER"].ToString() != "")
|
|
{
|
|
accountwarningModel.MINTURNOVER = drACCOUNTWARNING["MINTURNOVER"].TryParseToDouble(); //保底租金
|
|
}
|
|
if (drACCOUNTWARNING["ACTUAL_RATIO"].ToString() != "")
|
|
{
|
|
accountwarningModel.ACTUAL_RATIO = drACCOUNTWARNING["ACTUAL_RATIO"].TryParseToDouble(); //真实提成
|
|
}
|
|
if (drACCOUNTWARNING["COMMISSION_RATIO"].ToString() != "")
|
|
{
|
|
accountwarningModel.COMMISSION_RATIO = drACCOUNTWARNING["COMMISSION_RATIO"].TryParseToDouble(); //建议提成
|
|
}
|
|
if (drACCOUNTWARNING["REVENUE_AMOUNT"].ToString() != "")
|
|
{
|
|
accountwarningModel.REVENUE_AMOUNT = drACCOUNTWARNING["REVENUE_AMOUNT"].TryParseToDouble(); //营收金额
|
|
}
|
|
if (drACCOUNTWARNING["ROYALTY_THEORY"].ToString() != "")
|
|
{
|
|
accountwarningModel.ROYALTY_THEORY = drACCOUNTWARNING["ROYALTY_THEORY"].TryParseToDouble(); //业主入账
|
|
}
|
|
if (drACCOUNTWARNING["PROFIT_AMOUNT"].ToString() != "")
|
|
{
|
|
accountwarningModel.PROFIT_AMOUNT = drACCOUNTWARNING["PROFIT_AMOUNT"].TryParseToDouble(); //商家盈利
|
|
}
|
|
if (drACCOUNTWARNING["BUSINESS_TYPE"].ToString() != "")
|
|
{
|
|
accountwarningModel.BUSINESS_TYPE = drACCOUNTWARNING["BUSINESS_TYPE"].TryParseToInt(); //经营模式
|
|
}
|
|
if (drACCOUNTWARNING["COST_AMOUNT"].ToString() != "")
|
|
{
|
|
accountwarningModel.COST_AMOUNT = drACCOUNTWARNING["COST_AMOUNT"].TryParseToDouble(); //预估成本
|
|
}
|
|
if (drACCOUNTWARNING["COST_RATE"].ToString() != "")
|
|
{
|
|
accountwarningModel.COST_RATE = drACCOUNTWARNING["COST_RATE"].TryParseToDouble(); //采购成本比例
|
|
}
|
|
if (drACCOUNTWARNING["LABOURS_COUNT"].ToString() != "")
|
|
{
|
|
accountwarningModel.LABOURS_COUNT = drACCOUNTWARNING["LABOURS_COUNT"].TryParseToDouble(); //员工人数
|
|
}
|
|
if (drACCOUNTWARNING["LABOURS_WAGE"].ToString() != "")
|
|
{
|
|
accountwarningModel.LABOURS_WAGE = drACCOUNTWARNING["LABOURS_WAGE"].TryParseToDouble(); //人均工资(元/月)
|
|
}
|
|
if (drACCOUNTWARNING["DEPRECIATION_EXPENSE"].ToString() != "")
|
|
{
|
|
accountwarningModel.DEPRECIATION_EXPENSE = drACCOUNTWARNING["DEPRECIATION_EXPENSE"].TryParseToDouble(); //折旧费用(三年费用)
|
|
}
|
|
if (drACCOUNTWARNING["OTHER_EXPENSE"].ToString() != "")
|
|
{
|
|
accountwarningModel.OTHER_EXPENSE = drACCOUNTWARNING["OTHER_EXPENSE"].TryParseToDouble(); //其他费用
|
|
}
|
|
if (drACCOUNTWARNING["DEPRECIATION_YEAR"].ToString() != "")
|
|
{
|
|
accountwarningModel.DEPRECIATION_YEAR = drACCOUNTWARNING["DEPRECIATION_YEAR"].TryParseToShort(); //折旧年限
|
|
}
|
|
if (drACCOUNTWARNING["MONTH_COUNT"].ToString() != "")
|
|
{
|
|
accountwarningModel.MONTH_COUNT = drACCOUNTWARNING["MONTH_COUNT"].TryParseToDouble(); //结算月数
|
|
}
|
|
accountwarningModel.WARNING_CONTENT = drACCOUNTWARNING["WARNING_CONTENT"].ToString(); //预警条件
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region 获取门店经营预警表明细
|
|
/// <summary>
|
|
/// 获取门店经营预警表明细
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="ACCOUNTWARNINGId">门店经营预警表内码</param>
|
|
public static Model.ACCOUNTWARNINGModel GetACCOUNTWARNINGDetail(Transaction transaction, int ACCOUNTWARNINGId)
|
|
{
|
|
Model.ACCOUNTWARNINGModel accountwarningModel = new Model.ACCOUNTWARNINGModel();
|
|
|
|
string WhereSQL = "WHERE ACCOUNTWARNING_ID = " + ACCOUNTWARNINGId;
|
|
//查询明细数据
|
|
DataTable dtACCOUNTWARNING = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
|
|
"SELECT * FROM PLATFORM_DASHBOARD.T_ACCOUNTWARNING " + WhereSQL);
|
|
if (dtACCOUNTWARNING.Rows.Count > 0)
|
|
{
|
|
//绑定门店经营预警表数据对象
|
|
BindDataRowToModel(dtACCOUNTWARNING.Rows[0], accountwarningModel);
|
|
}
|
|
|
|
return accountwarningModel;
|
|
}
|
|
#endregion
|
|
|
|
#region 同步门店经营预警表
|
|
/// <summary>
|
|
/// 赋值门店经营预警表数据对象
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="accountwarningModel">门店经营预警表数据对象</param>
|
|
public static bool SynchroACCOUNTWARNING(Transaction transaction, Model.ACCOUNTWARNINGModel accountwarningModel)
|
|
{
|
|
bool SynchroFlag = true;
|
|
|
|
string SQLString;
|
|
List<string> excludeField = new List<string>();
|
|
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
|
|
string tableName = "PLATFORM_DASHBOARD.T_ACCOUNTWARNING", keyField = "ACCOUNTWARNING_ID", seqName = "SEQ_ACCOUNTWARNING";
|
|
Business.CATERINGGROSSMARGIN _CATERINGGROSSMARGIN = new Business.CATERINGGROSSMARGIN(transaction);
|
|
|
|
#region 添加SQL语句中需要排除在外的字段
|
|
#endregion
|
|
|
|
#region 添加SQL语句中日期相关字段的执行语句
|
|
//项目开始日期
|
|
if (!string.IsNullOrWhiteSpace(accountwarningModel.PROJECT_STARTDATE))
|
|
{
|
|
dateFieldList.Add("PROJECT_STARTDATE", DateTime.Parse(
|
|
accountwarningModel.PROJECT_STARTDATE).ToString("yyyyMMddHHmmss"));
|
|
}
|
|
else
|
|
{
|
|
dateFieldList.Add("PROJECT_STARTDATE", "NULL");
|
|
}
|
|
//项目结束日期
|
|
if (!string.IsNullOrWhiteSpace(accountwarningModel.PROJECT_ENDDATE))
|
|
{
|
|
dateFieldList.Add("PROJECT_ENDDATE", DateTime.Parse(
|
|
accountwarningModel.PROJECT_ENDDATE).ToString("yyyyMMddHHmmss"));
|
|
}
|
|
else
|
|
{
|
|
dateFieldList.Add("PROJECT_ENDDATE", "NULL");
|
|
}
|
|
//周期开始日期
|
|
if (!string.IsNullOrWhiteSpace(accountwarningModel.STARTDATE))
|
|
{
|
|
dateFieldList.Add("STARTDATE", DateTime.Parse(
|
|
accountwarningModel.STARTDATE).ToString("yyyyMMddHHmmss"));
|
|
}
|
|
else
|
|
{
|
|
dateFieldList.Add("STARTDATE", "NULL");
|
|
}
|
|
//周期结束日期
|
|
if (!string.IsNullOrWhiteSpace(accountwarningModel.ENDDATE))
|
|
{
|
|
dateFieldList.Add("ENDDATE", DateTime.Parse(
|
|
accountwarningModel.ENDDATE).ToString("yyyyMMddHHmmss"));
|
|
}
|
|
else
|
|
{
|
|
dateFieldList.Add("ENDDATE", "NULL");
|
|
}
|
|
#endregion
|
|
|
|
if (accountwarningModel.ACCOUNTWARNING_ID != null)
|
|
{
|
|
string WhereSQL = " WHERE ACCOUNTWARNING_ID = " + accountwarningModel.ACCOUNTWARNING_ID;
|
|
DataTable dtACCOUNTWARNING = _CATERINGGROSSMARGIN.ExecuteDataTable(
|
|
"SELECT * FROM PLATFORM_DASHBOARD.T_ACCOUNTWARNING" + WhereSQL);
|
|
if (dtACCOUNTWARNING.Rows.Count > 0)
|
|
{
|
|
SQLString = OperationDataHelper<Model.ACCOUNTWARNINGModel>.GetTableExcuteSQL(
|
|
accountwarningModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataTable dtACCOUNTWARNING = _CATERINGGROSSMARGIN.ExecuteDataTable(
|
|
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
|
|
accountwarningModel.ACCOUNTWARNING_ID = dtACCOUNTWARNING.Rows[0][0].TryParseToInt();
|
|
SQLString = OperationDataHelper<Model.ACCOUNTWARNINGModel>.GetTableExcuteSQL(
|
|
accountwarningModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
|
|
}
|
|
_CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null);
|
|
|
|
return SynchroFlag;
|
|
}
|
|
#endregion
|
|
|
|
#region 删除门店经营预警表
|
|
/// <summary>
|
|
/// 删除门店经营预警表
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="ACCOUNTWARNINGId">门店经营预警表内码</param>
|
|
public static bool DeleteACCOUNTWARNING(Transaction transaction, int? ACCOUNTWARNINGId)
|
|
{
|
|
bool DeleteFlag = false;
|
|
|
|
if (ACCOUNTWARNINGId != null)
|
|
{
|
|
}
|
|
|
|
return DeleteFlag;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|