using BaseOUDAL;
namespace YLErp.Modules.ClientCashModule
{
///
/// 客户结算数据服务
///
public class ClientBalanceService : YLBaseService
{
public ClientBalanceService(OptUserInfo userInfo) : base(userInfo)
{
}
public List GetClientBalanceList(ClientBalanceReq req)
{
var query = from source in DbContext.ClientBalanceDaily select source;
if (req.ClientId != null)
{
query = query.Where(d => d.ClientId == req.ClientId);
}
if (!string.IsNullOrEmpty(req.ClientName))
{
query = query.Where(d => d.ClientName.Contains(req.ClientName));
}
if (!string.IsNullOrEmpty(req.ClientNumber))
{
query = query.Where(d => d.ClientNumber.Contains(req.ClientNumber));
}
if (req.BalanceDateStart != DateTime.MinValue)
{
query = query.Where(d => d.BalanceDate >= req.BalanceDateStart);
}
if (req.BalanceDateEnd != DateTime.MinValue)
{
DateTime BalanceDateTemp = req.BalanceDateEnd.AddDays(1);
query = query.Where(d => d.BalanceDate < BalanceDateTemp);
}
if (req.BalanceDate != null && req.BalanceDate != DateTime.MinValue)
{
query = query.Where(d => d.BalanceDate == req.BalanceDate);
}
if (!string.IsNullOrEmpty(req.State))
{
query = query.Where(d => d.State.Contains(req.State));
}
if (req.OptId != null)
{
query = query.Where(d => d.OptId == req.OptId);
}
if (!string.IsNullOrEmpty(req.OptName))
{
query = query.Where(d => d.OptName.Contains(req.OptName));
}
if (req.OptDateStart != DateTime.MinValue)
{
query = query.Where(d => d.OptDate >= req.OptDateStart);
}
if (req.OptDateEnd != DateTime.MinValue)
{
DateTime OptDateTemp = req.OptDateEnd.AddDays(1);
query = query.Where(d => d.OptDate < OptDateTemp);
}
return query.ToList();
}
}
///
/// 客户结算数据请求
///
public class ClientBalanceReq : BaseSearchReq
{
///
/// 当日损益
///
public double? DayDnl { get; set; }
///
/// 预付金
///
public double? Margin { get; set; }
///
/// 客户信息
///
public int? ClientId { get; set; }
///
/// 客户名称
///
public string ClientName { get; set; }
///
/// 客户编号
///
public string ClientNumber { get; set; }
///
/// 结算日期
///
public DateTime? BalanceDate { get; set; }
public DateTime BalanceDateStart { get; set; }
public DateTime BalanceDateEnd { get; set; }
///
/// 上日资金余额
///
public double? LastDayRemainFund { get; set; }
///
/// 当日入金
///
public double? InFund { get; set; }
///
/// 当日出金
///
public double? OutFund { get; set; }
///
/// 当日损益
///
public double? DayGainLoss { get; set; }
///
/// 状态
///
public string State { get; set; }
///
/// 操作人_optid
///
public int? OptId { get; set; }
///
/// 操作人_optname
///
public string OptName { get; set; }
///
/// 创建日期_createdate
///
public DateTime? OptDate { get; set; }
public DateTime OptDateStart { get; set; }
public DateTime OptDateEnd { get; set; }
///
/// 确认人
///
public int? ConfirmerId { get; set; }
///
/// 确认人
///
public string ConfirmerName { get; set; }
///
/// 客户名称列表
///
public List ClientNameList { get; set; }
///
/// 客户编号列表
///
public List ClientNumberList { get; set; }
///
/// 当日余额范围开始
///
public double? ToDayRemainFundStart { get; set; }
///
/// 当日余额范围结束
///
public double? ToDayRemainFundEnd { get; set; }
///
/// 昨日余额范围开始
///
public double? LastDayRemainFundStart { get; set; }
///
/// 昨日余额范围结束
///
public double? LastDayRemainFundEnd { get; set; }
///
/// 当日入金范围开始
///
public double? InFundStart { get; set; }
///
/// 当日入金范围结束
///
public double? InFundEnd { get; set; }
///
/// 当日出金范围开始
///
public double? OutFundStart { get; set; }
///
/// 当日出金范围结束
///
public double? OutFundEnd { get; set; }
///
/// 当日损益范围开始
///
public double? DayGainLossStart { get; set; }
///
/// 当日损益范围结束
///
public double? DayGainLossEnd { get; set; }
///
/// 期权费收支范围开始
///
public double? OptionPremiumStart { get; set; }
///
/// 期权费收支范围结束
///
public double? OptionPremiumEnd { get; set; }
///
/// 行权收益范围开始
///
public double? SettlementBalanceStart { get; set; }
///
/// 行权收益范围结束
///
public double? SettlementBalanceEnd { get; set; }
///
/// 追保金额范围开始
///
public double? MarginStart { get; set; }
///
/// 追保金额范围结束
///
public double? MarginEnd { get; set; }
///
/// 净资金流入范围开始
///
public double? NetFundStart { get; set; }
///
/// 净资金流入范围结束
///
public double? NetFundEnd { get; set; }
///
/// 预付金余额范围开始
///
public double? MarginBalanceStart { get; set; }
///
/// 预付金余额范围结束
///
public double? MarginBalanceEnd { get; set; }
///
/// 冻结权利金范围开始
///
public double? FrozenPremiumStart { get; set; }
///
/// 冻结权利金范围结束
///
public double? FrozenPremiumEnd { get; set; }
///
/// 冻结资金范围开始
///
public double? FrozenBalanceStart { get; set; }
///
/// 冻结资金范围结束
///
public double? FrozenBalanceEnd { get; set; }
///
/// 应付到期权利金范围开始
///
public double? CopeWithExpirePremiumStart { get; set; }
///
/// 应付到期权利金范围结束
///
public double? CopeWithExpirePremiumEnd { get; set; }
///
/// 应付存续权利金范围开始
///
public double? CopeWithLastPremiumStart { get; set; }
///
/// 应付存续权利金范围结束
///
public double? CopeWithLastPremiumEnd { get; set; }
///
/// 潜在行权盈余范围开始
///
public double? PvStart { get; set; }
///
/// 潜在行权盈余范围结束
///
public double? PvEnd { get; set; }
///
/// 未了结名义成交金额范围开始
///
public double? TotalNominalStart { get; set; }
///
/// 未了结名义成交金额范围结束
///
public double? TotalNominalEnd { get; set; }
///
/// 应付预付金范围开始
///
public double? PayableMarginStart { get; set; }
///
/// 应付预付金范围结束
///
public double? PayableMarginEnd { get; set; }
///
/// 可提取预付金范围开始
///
public double? AdvisableMarginStart { get; set; }
///
/// 可提取预付金范围结束
///
public double? AdvisableMarginEnd { get; set; }
///
/// 授信额度范围开始
///
public double? CreditStart { get; set; }
///
/// 授信额度范围结束
///
public double? CreditEnd { get; set; }
///
/// 当日抵押品资金余额范围开始
///
public double? TodayRemianFundProductStart { get; set; }
///
/// 当日抵押品资金余额范围结束
///
public double? TodayRemianFundProductEnd { get; set; }
///
/// 抵押品变化范围开始
///
public double? CashInCashOutProductChangeStart { get; set; }
///
/// 抵押品变化范围结束
///
public double? CashInCashOutProductChangeEnd { get; set; }
}
}