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/5/9 15:47:25自动生成
///
public class BIZPSPLITMONTHHelper
{
#region 获取月度经营项目应收拆分表列表
///
/// 获取月度经营项目应收拆分表列表
///
/// 事务管理器
/// 查询结果总数
/// 查询条件对象
public static List GetBIZPSPLITMONTHList(Transaction transaction,
ref int TotalCount, Model.SearchModel searchModel)
{
List BIZPSPLITMONTHList = new List();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"STATISTICS_MONTH_Start", "STATISTICS_MONTH_End");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询统计月份
if (searchModel.SearchParameter.STATISTICS_MONTH_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(STATISTICS_MONTH,1,8) >= " +
DateTime.Parse(searchModel.SearchParameter.STATISTICS_MONTH_Start).ToString("yyyyMMdd");
}
if (searchModel.SearchParameter.STATISTICS_MONTH_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(STATISTICS_MONTH,1,8) <= " +
DateTime.Parse(searchModel.SearchParameter.STATISTICS_MONTH_End).ToString("yyyyMMdd");
}
}
DataTable dtBIZPSPLITMONTH = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_BIZPSPLITMONTH" + 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 != "")
{
dtBIZPSPLITMONTH.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtBIZPSPLITMONTH.DefaultView.Sort = searchModel.SortStr;
dtBIZPSPLITMONTH = dtBIZPSPLITMONTH.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtBIZPSPLITMONTH.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtBIZPSPLITMONTH = CommonHelper.GetDataTableWithPageSize(dtBIZPSPLITMONTH, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drBIZPSPLITMONTH in dtBIZPSPLITMONTH.Rows)
{
Model.BIZPSPLITMONTHModel bizpsplitmonthModel = new Model.BIZPSPLITMONTHModel();
//绑定月度经营项目应收拆分表数据对象
BindDataRowToModel(drBIZPSPLITMONTH, bizpsplitmonthModel);
BIZPSPLITMONTHList.Add(bizpsplitmonthModel);
}
return BIZPSPLITMONTHList;
}
#region 绑定model
///
/// 绑定model
///
/// datarow数据源
/// model对象
public static void BindDataRowToModel(DataRow drBIZPSPLITMONTH, Model.BIZPSPLITMONTHModel bizpsplitmonthModel)
{
if (drBIZPSPLITMONTH["BIZPSPLITMONTH_ID"].ToString() != "")
{
bizpsplitmonthModel.BIZPSPLITMONTH_ID = drBIZPSPLITMONTH["BIZPSPLITMONTH_ID"].TryParseToInt(); //拆分表内码
}
if (!string.IsNullOrWhiteSpace(drBIZPSPLITMONTH["STATISTICS_MONTH"].ToString()))
{
//统计月份
bizpsplitmonthModel.STATISTICS_MONTH = HCC.Common.TranslateDateTime(drBIZPSPLITMONTH["STATISTICS_MONTH"].ToString());
}
if (drBIZPSPLITMONTH["SHOPROYALTY_ID"].ToString() != "")
{
bizpsplitmonthModel.SHOPROYALTY_ID = drBIZPSPLITMONTH["SHOPROYALTY_ID"].TryParseToInt(); //门店应收拆分内码
}
if (drBIZPSPLITMONTH["REGISTERCOMPACT_ID"].ToString() != "")
{
bizpsplitmonthModel.REGISTERCOMPACT_ID = drBIZPSPLITMONTH["REGISTERCOMPACT_ID"].TryParseToInt(); //经营合同内码
}
if (drBIZPSPLITMONTH["BUSINESSPROJECT_ID"].ToString() != "")
{
bizpsplitmonthModel.BUSINESSPROJECT_ID = drBIZPSPLITMONTH["BUSINESSPROJECT_ID"].TryParseToInt(); //经营项目内码
}
if (drBIZPSPLITMONTH["MERCHANTS_ID"].ToString() != "")
{
bizpsplitmonthModel.MERCHANTS_ID = drBIZPSPLITMONTH["MERCHANTS_ID"].TryParseToInt(); //经营商户内码
}
bizpsplitmonthModel.SERVERPART_ID = drBIZPSPLITMONTH["SERVERPART_ID"].ToString(); //服务区内码
bizpsplitmonthModel.SERVERPART_NAME = drBIZPSPLITMONTH["SERVERPART_NAME"].ToString(); //服务区名称
bizpsplitmonthModel.SERVERPARTSHOP_ID = drBIZPSPLITMONTH["SERVERPARTSHOP_ID"].ToString(); //门店内码
bizpsplitmonthModel.SERVERPARTSHOP_NAME = drBIZPSPLITMONTH["SERVERPARTSHOP_NAME"].ToString(); //门店名称
if (drBIZPSPLITMONTH["BUSINESS_TYPE"].ToString() != "")
{
bizpsplitmonthModel.BUSINESS_TYPE = drBIZPSPLITMONTH["BUSINESS_TYPE"].TryParseToInt(); //经营模式
}
if (!string.IsNullOrWhiteSpace(drBIZPSPLITMONTH["STARTDATE"].ToString()))
{
//开始日期
bizpsplitmonthModel.STARTDATE = HCC.Common.TranslateDateTime(drBIZPSPLITMONTH["STARTDATE"].ToString());
}
if (!string.IsNullOrWhiteSpace(drBIZPSPLITMONTH["ENDDATE"].ToString()))
{
//结束日期
bizpsplitmonthModel.ENDDATE = HCC.Common.TranslateDateTime(drBIZPSPLITMONTH["ENDDATE"].ToString());
}
if (drBIZPSPLITMONTH["REVENUE_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.REVENUE_AMOUNT = drBIZPSPLITMONTH["REVENUE_AMOUNT"].TryParseToDouble(); //营收金额
}
if (drBIZPSPLITMONTH["REVENUEDAILY_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.REVENUEDAILY_AMOUNT = drBIZPSPLITMONTH["REVENUEDAILY_AMOUNT"].TryParseToDouble(); //自然日营业额
}
if (drBIZPSPLITMONTH["DIFDAILY_REVENUE"].ToString() != "")
{
bizpsplitmonthModel.DIFDAILY_REVENUE = drBIZPSPLITMONTH["DIFDAILY_REVENUE"].TryParseToDouble(); //当日营收差额(自然日营收-日结营收)
}
if (drBIZPSPLITMONTH["ROYALTY_PRICE"].ToString() != "")
{
bizpsplitmonthModel.ROYALTY_PRICE = drBIZPSPLITMONTH["ROYALTY_PRICE"].TryParseToDouble(); //业主分润
}
if (drBIZPSPLITMONTH["SUBROYALTY_PRICE"].ToString() != "")
{
bizpsplitmonthModel.SUBROYALTY_PRICE = drBIZPSPLITMONTH["SUBROYALTY_PRICE"].TryParseToDouble(); //商家分润
}
if (drBIZPSPLITMONTH["TICKET_FEE"].ToString() != "")
{
bizpsplitmonthModel.TICKET_FEE = drBIZPSPLITMONTH["TICKET_FEE"].TryParseToDouble(); //手续费
}
if (drBIZPSPLITMONTH["ROYALTY_THEORY"].ToString() != "")
{
bizpsplitmonthModel.ROYALTY_THEORY = drBIZPSPLITMONTH["ROYALTY_THEORY"].TryParseToDouble(); //业主入账
}
if (drBIZPSPLITMONTH["SUBROYALTY_THEORY"].ToString() != "")
{
bizpsplitmonthModel.SUBROYALTY_THEORY = drBIZPSPLITMONTH["SUBROYALTY_THEORY"].TryParseToDouble(); //商家入账
}
if (drBIZPSPLITMONTH["MINTURNOVER"].ToString() != "")
{
bizpsplitmonthModel.MINTURNOVER = drBIZPSPLITMONTH["MINTURNOVER"].TryParseToDouble(); //保底营业额
}
if (drBIZPSPLITMONTH["GUARANTEERATIO"].ToString() != "")
{
bizpsplitmonthModel.GUARANTEERATIO = drBIZPSPLITMONTH["GUARANTEERATIO"].TryParseToDouble(); //保底比例
}
if (drBIZPSPLITMONTH["NATUREDAY"].ToString() != "")
{
bizpsplitmonthModel.NATUREDAY = drBIZPSPLITMONTH["NATUREDAY"].TryParseToInt(); //拆分天数
}
if (drBIZPSPLITMONTH["BUSINESSDAYS"].ToString() != "")
{
bizpsplitmonthModel.BUSINESSDAYS = drBIZPSPLITMONTH["BUSINESSDAYS"].TryParseToInt(); //营业天数
}
if (drBIZPSPLITMONTH["MOBILEPAY_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.MOBILEPAY_AMOUNT = drBIZPSPLITMONTH["MOBILEPAY_AMOUNT"].TryParseToDouble(); //移动支付
}
if (drBIZPSPLITMONTH["CASHPAY_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.CASHPAY_AMOUNT = drBIZPSPLITMONTH["CASHPAY_AMOUNT"].TryParseToDouble(); //现金支付
}
if (drBIZPSPLITMONTH["OTHERPAY_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.OTHERPAY_AMOUNT = drBIZPSPLITMONTH["OTHERPAY_AMOUNT"].TryParseToDouble(); //其他支付
}
if (drBIZPSPLITMONTH["DIFFERENT_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.DIFFERENT_AMOUNT = drBIZPSPLITMONTH["DIFFERENT_AMOUNT"].TryParseToDouble(); //长短款额
}
if (drBIZPSPLITMONTH["CORRECT_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.CORRECT_AMOUNT = drBIZPSPLITMONTH["CORRECT_AMOUNT"].TryParseToDouble(); //冲正金额
}
if (drBIZPSPLITMONTH["ACCOUNT_TYPE"].ToString() != "")
{
bizpsplitmonthModel.ACCOUNT_TYPE = drBIZPSPLITMONTH["ACCOUNT_TYPE"].TryParseToInt(); //款项类型(1000:应收账款;2000:物业费;3000:水费、电费;4000:住宿费;5000:就餐费;9000:商家缴款;9999:其他费用)
}
if (drBIZPSPLITMONTH["BIZPSPLITMONTH_STATE"].ToString() != "")
{
bizpsplitmonthModel.BIZPSPLITMONTH_STATE = drBIZPSPLITMONTH["BIZPSPLITMONTH_STATE"].TryParseToShort(); //数据状态
}
if (drBIZPSPLITMONTH["RECORD_DATE"].ToString() != "")
{
bizpsplitmonthModel.RECORD_DATE = drBIZPSPLITMONTH["RECORD_DATE"].TryParseToDateTime(); //更新时间
}
bizpsplitmonthModel.BIZPSPLITMONTH_DESC = drBIZPSPLITMONTH["BIZPSPLITMONTH_DESC"].ToString(); //备注说明
if (drBIZPSPLITMONTH["ACCREVENUE_AMOUNT"].ToString() != "")
{
bizpsplitmonthModel.ACCREVENUE_AMOUNT = drBIZPSPLITMONTH["ACCREVENUE_AMOUNT"].TryParseToDouble(); //累计营业额
}
if (drBIZPSPLITMONTH["ACCROYALTY_PRICE"].ToString() != "")
{
bizpsplitmonthModel.ACCROYALTY_PRICE = drBIZPSPLITMONTH["ACCROYALTY_PRICE"].TryParseToDouble(); //累计业主到账
}
if (drBIZPSPLITMONTH["ACCSUBROYALTY_PRICE"].ToString() != "")
{
bizpsplitmonthModel.ACCSUBROYALTY_PRICE = drBIZPSPLITMONTH["ACCSUBROYALTY_PRICE"].TryParseToDouble(); //累计商家到账
}
if (drBIZPSPLITMONTH["ACCTICKET_FEE"].ToString() != "")
{
bizpsplitmonthModel.ACCTICKET_FEE = drBIZPSPLITMONTH["ACCTICKET_FEE"].TryParseToDouble(); //累计手续费
}
if (drBIZPSPLITMONTH["ACCROYALTY_THEORY"].ToString() != "")
{
bizpsplitmonthModel.ACCROYALTY_THEORY = drBIZPSPLITMONTH["ACCROYALTY_THEORY"].TryParseToDouble(); //累计业主入账
}
if (drBIZPSPLITMONTH["ACCSUBROYALTY_THEORY"].ToString() != "")
{
bizpsplitmonthModel.ACCSUBROYALTY_THEORY = drBIZPSPLITMONTH["ACCSUBROYALTY_THEORY"].TryParseToDouble(); //累计商家入账
}
if (drBIZPSPLITMONTH["MOBILEPAY_CORRECT"].ToString() != "")
{
bizpsplitmonthModel.MOBILEPAY_CORRECT = drBIZPSPLITMONTH["MOBILEPAY_CORRECT"].TryParseToDouble(); //移动支付冲正
}
if (drBIZPSPLITMONTH["CASHPAY_CORRECT"].ToString() != "")
{
bizpsplitmonthModel.CASHPAY_CORRECT = drBIZPSPLITMONTH["CASHPAY_CORRECT"].TryParseToDouble(); //现金支付冲正
}
}
#endregion
#endregion
#region 获取月度经营项目应收拆分表明细
///
/// 获取月度经营项目应收拆分表明细
///
/// 事务管理器
/// 月度经营项目应收拆分表内码
public static Model.BIZPSPLITMONTHModel GetBIZPSPLITMONTHDetail(Transaction transaction, int BIZPSPLITMONTHId)
{
Model.BIZPSPLITMONTHModel bizpsplitmonthModel = new Model.BIZPSPLITMONTHModel();
string WhereSQL = "WHERE BIZPSPLITMONTH_ID = " + BIZPSPLITMONTHId;
//查询明细数据
DataTable dtBIZPSPLITMONTH = new Business.CATERINGGROSSMARGIN(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_BIZPSPLITMONTH " + WhereSQL);
if (dtBIZPSPLITMONTH.Rows.Count > 0)
{
//绑定月度经营项目应收拆分表数据对象
BindDataRowToModel(dtBIZPSPLITMONTH.Rows[0], bizpsplitmonthModel);
}
return bizpsplitmonthModel;
}
#endregion
#region 同步月度经营项目应收拆分表
///
/// 赋值月度经营项目应收拆分表数据对象
///
/// 事务管理器
/// 月度经营项目应收拆分表数据对象
public static bool SynchroBIZPSPLITMONTH(Transaction transaction, Model.BIZPSPLITMONTHModel bizpsplitmonthModel)
{
bool SynchroFlag = true;
string SQLString;
List excludeField = new List();
Dictionary dateFieldList = new Dictionary();
string tableName = "PLATFORM_DASHBOARD.T_BIZPSPLITMONTH", keyField = "BIZPSPLITMONTH_ID", seqName = "SEQ_BIZPSPLITMONTH";
Business.CATERINGGROSSMARGIN _CATERINGGROSSMARGIN = new Business.CATERINGGROSSMARGIN(transaction);
#region 添加SQL语句中需要排除在外的字段
excludeField.Add("STATISTICS_MONTH_Start");
excludeField.Add("STATISTICS_MONTH_End");
#endregion
#region 添加SQL语句中日期相关字段的执行语句
//统计月份
if (!string.IsNullOrWhiteSpace(bizpsplitmonthModel.STATISTICS_MONTH))
{
dateFieldList.Add("STATISTICS_MONTH", DateTime.Parse(
bizpsplitmonthModel.STATISTICS_MONTH).ToString("yyyyMMddHHmmss"));
}
else
{
dateFieldList.Add("STATISTICS_MONTH", "NULL");
}
//开始日期
if (!string.IsNullOrWhiteSpace(bizpsplitmonthModel.STARTDATE))
{
dateFieldList.Add("STARTDATE", DateTime.Parse(
bizpsplitmonthModel.STARTDATE).ToString("yyyyMMddHHmmss"));
}
else
{
dateFieldList.Add("STARTDATE", "NULL");
}
//结束日期
if (!string.IsNullOrWhiteSpace(bizpsplitmonthModel.ENDDATE))
{
dateFieldList.Add("ENDDATE", DateTime.Parse(
bizpsplitmonthModel.ENDDATE).ToString("yyyyMMddHHmmss"));
}
else
{
dateFieldList.Add("ENDDATE", "NULL");
}
#endregion
if (bizpsplitmonthModel.BIZPSPLITMONTH_ID != null)
{
string WhereSQL = " WHERE BIZPSPLITMONTH_ID = " + bizpsplitmonthModel.BIZPSPLITMONTH_ID;
DataTable dtBIZPSPLITMONTH = _CATERINGGROSSMARGIN.ExecuteDataTable(
"SELECT * FROM PLATFORM_DASHBOARD.T_BIZPSPLITMONTH" + WhereSQL);
if (dtBIZPSPLITMONTH.Rows.Count > 0)
{
SQLString = OperationDataHelper.GetTableExcuteSQL(
bizpsplitmonthModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtBIZPSPLITMONTH = _CATERINGGROSSMARGIN.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
bizpsplitmonthModel.BIZPSPLITMONTH_ID = dtBIZPSPLITMONTH.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper.GetTableExcuteSQL(
bizpsplitmonthModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region 删除月度经营项目应收拆分表
///
/// 删除月度经营项目应收拆分表
///
/// 事务管理器
/// 月度经营项目应收拆分表内码
public static bool DeleteBIZPSPLITMONTH(Transaction transaction, int? BIZPSPLITMONTHId)
{
bool DeleteFlag = false;
if (BIZPSPLITMONTHId != null)
{
string SQLString = "UPDATE PLATFORM_DASHBOARD.T_BIZPSPLITMONTH SET BIZPSPLITMONTH_STATE = 0 WHERE BIZPSPLITMONTH_ID = " + BIZPSPLITMONTHId;
int ExcuteCount = new Business.CATERINGGROSSMARGIN(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}