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

387 lines
19 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/5/9 15:47:25自动生成
/// </summary>
public class BIZPSPLITMONTHHelper
{
#region
/// <summary>
/// 获取月度经营项目应收拆分表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.BIZPSPLITMONTHModel> GetBIZPSPLITMONTHList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.BIZPSPLITMONTHModel> searchModel)
{
List<Model.BIZPSPLITMONTHModel> BIZPSPLITMONTHList = new List<Model.BIZPSPLITMONTHModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.BIZPSPLITMONTHModel>.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
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drBIZPSPLITMONTH">datarow数据源</param>
/// <param name="bizpsplitmonthModel">model对象</param>
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
/// <summary>
/// 获取月度经营项目应收拆分表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BIZPSPLITMONTHId">月度经营项目应收拆分表内码</param>
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
/// <summary>
/// 赋值月度经营项目应收拆分表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="bizpsplitmonthModel">月度经营项目应收拆分表数据对象</param>
public static bool SynchroBIZPSPLITMONTH(Transaction transaction, Model.BIZPSPLITMONTHModel bizpsplitmonthModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
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<Model.BIZPSPLITMONTHModel>.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<Model.BIZPSPLITMONTHModel>.GetTableExcuteSQL(
bizpsplitmonthModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_CATERINGGROSSMARGIN.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除月度经营项目应收拆分表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BIZPSPLITMONTHId">月度经营项目应收拆分表内码</param>
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
}
}