using BaseOUDAL; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Data; using YLErp.Helpers; namespace YLErp.Model { public class EntryExitGridSum { /// /// 金额总数 /// public double? MoneySum { get; set; } /// /// 出入金额总数 /// public double? MoneyInOutSum { get; set; } /// /// 权利金金额总数 /// public double? MoneyPriceSum { get; set; } /// /// 平仓行权金额总数 /// public double? MoneyUnwindExerSum { get; set; } /// /// 票息总数 /// public double? MoneyCouponSum { get; set; } /// /// 互换总数 /// public double? MoneySwapSum { get; set; } /// /// 其他金额总数 /// public double? MoneyOtherSum { get; set; } /// /// 互换预付金总数 /// public double? MoneySwapMarginSum { get; set; } } public class EntryExitReq : BaseSearchReq { [DisplayName("有效状态")] public string ValidState { get; set; } public string TradeAction { get; set; } public string InTradeAction { get; set; } public string OutTradeAction { get; set; } /// /// 方向类型 /// public string DirectionTypes { get; set; } public List DirectionTypeList => DataConvert.SplitByComma(DirectionTypes).ToList(); public List TradeActionList => DataConvert.SplitByComma(TradeAction).ToList(); public List ClientIdsInt { get { if (string.IsNullOrWhiteSpace(ClientIds)) { return new List(); } else { if (ClientIds.Substring(0, 1) == ",") { return new List(); } return ClientIds.Split(',').Select(c => Convert.ToInt32(c)).ToList(); } } } public string ClientIds { get; set; } /// /// /// public int id { get; set; } /// /// 出入金方向 /// public string Direction { get; set; } public List Directions { get { return (Direction ?? string.Empty).Split(',').ToList(); } } /// /// 交易ID /// public int Tradeid { get; set; } /// /// 交易编号 /// public string TradeNumber { get; set; } /// /// 出入金单号 /// public string Number { get; set; } /// /// 客户信息 /// public int? ClientId { get; set; } /// /// 客户编号 /// public string ClientNumber { get; set; } /// /// 客户名称 /// public string ClientName { get; set; } /// /// 客户证件 /// public int? ClientIdentityId { get; set; } /// /// 证件编号 /// public string ClientIdentityNumber { get; set; } /// /// 出入金额 /// public double? Money { get; set; } /// /// 是否排除掉资金为0的情况 /// public bool IsMoneyNotEqualsZero { get; set; } = false; /// /// 出入金时间 /// public DateTime? HappenDate { get; set; } [NotMapped] public DateTime HappenDateStart { get; set; } [NotMapped] public DateTime HappenDateEnd { get; set; } /// /// 状态 /// public string State { get; set; } /// /// 开户银行 /// public int? OpenBankId { get; set; } /// /// 银行卡号 /// public string OpenBankCard { get; set; } /// /// 创建人_optid /// public int? OptId { get; set; } /// /// 创建人_optname /// public string OptName { get; set; } public string OptNames { get; set; } public List IdLists { get { if (string.IsNullOrWhiteSpace(OptNames)) { return new List(); } return (OptNames + "").Split(',').Select(c => Convert.ToInt32(c)).ToList(); } } [NotMapped] public DateTime OptDateStart { get; set; } [NotMapped] public DateTime OptDateEnd { get; set; } public string SerialNumber { get; set; } public string Ids { get; set; } public List IdList { get { if (string.IsNullOrEmpty(Ids)) { return new List(); } return (Ids + "").Split(',').Select(c => Convert.ToInt32(c)).ToList(); } } public string InOut { get; set; } public int IsCompany { get; set; } public int IsCompanyCash { get; set; } public string ActionSource { get; set; } public string Comments { get; set; } /// /// 客户名称列表 /// public List ClientNameList { get; set; } /// /// 客户代码列表 /// public List ClientNumberList { get; set; } /// /// 方向列表 /// public List DirectionList { get; set; } /// /// 类型列表 /// public List ActionList { get; set; } /// /// 金额范围开始 /// public double? MoneyStart { get; set; } /// /// 金额范围结束 /// public double? MoneyEnd { get; set; } /// /// 状态列表 /// public List StateList { get; set; } /// /// 相关订单号列表 /// public List TradeNumberList { get; set; } /// /// 是否查询子级标识 /// public bool ParentFlag { get; set; } public List CurUserClientIds { get; set; } public string Explain { get; set; } } public class ClientCashInCashOutExtend { [DisplayName("有效状态")] public string ValidState { get; set; } public string TradeValidState { get; set; } public int? TradeId { get; set; } [NotMapped] public int? ParentTradeId { get; set; } /// /// 交易编号 /// [NotMapped] public string TradeNumber { get; set; } /// /// 交易类型 /// [DisplayName("交易类型")] public string TradeType { get; set; } /// /// 标的代码(多空组合互换子交易资金会希望看到这个字段) /// [NotMapped] public string UnderlyingCode { get; set; } [NotMapped] public int? TradeCashId { get; set; } [DisplayName("操作来源")] public string Action { get; set; } /// /// 账户类型初保账户/追保账户 /// [DisplayName("账户类型")] public string cash_type { get; set; } /// /// 加密主键 /// [NotMapped] public string EncryptId { get { return DataProtectHelper.Encrypt(id); } } [NotMapped] public string EncryptTradeId { get { if (ParentTradeId > 0) { return DataProtectHelper.Encrypt(ParentTradeId.Value); } return TradeId.HasValue ? DataProtectHelper.Encrypt(TradeId.Value) : ""; } } [Key] public int id { get; set; } /// /// 出入金方向 /// [DisplayName("出入金方向")] public string Direction { get; set; } /// /// 出入金单号 /// [DisplayName("出入金单号")] public string Number { get; set; } /// /// 客户信息 /// [DisplayName("客户信息")] public int? ClientId { get; set; } /// /// 客户编号 /// [DisplayName("客户编号")] public string ClientNumber { get; set; } /// /// 客户名称 /// [DisplayName("客户名称")] public string ClientName { get; set; } /// /// 客户证件 /// [DisplayName("客户证件")] public int? ClientIdentityId { get; set; } /// /// 证件编号 /// [DisplayName("证件编号")] public string ClientIdentityNumber { get; set; } /// /// 出入金额 /// [DisplayName("出入金额")] public double? Money { get; set; } /// /// 币种 /// public string CurrencyCode { get; set; } /// /// 出入金时间 /// [DisplayName("出入金时间")] public DateTime? HappenDate { get; set; } [NotMapped] public string HappenDateString => HappenDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? string.Empty; /// /// 方向类型 /// [NotMapped] public string DirectionType { get { if (Direction == "入金") { return "收入"; } else if (Direction == "出金") { return "支出"; } else if (Money < 0) { return "支出"; } else { return "收入"; } } } public double MoneyAbs { get { return Math.Abs(Money ?? 0); } } /// /// 金额显示带正负号 /// public double MoneyToShow => (Direction == "出金" ? -1 : 1) * (Money ?? 0); /// /// 出入金金额 /// public double MoneyInOut => (Direction == "出金" ? -1 : (Direction == "入金" ? 1 : 0)) * (Money ?? 0); /// /// 出金 /// public double MoneyIn => (Direction == "入金" ? 1 : 0) * (Money ?? 0); /// /// 入金 /// public double MoneyOut => (Direction == "出金" ? -1 : 0) * (Money ?? 0); /// /// 其他金额 /// public double MoneyOther => (Direction == "其他支出" || Direction == "其他收入" ? 1 : 0) * (Money ?? 0); /// /// 权利金 /// public double MoneyPrice { get { return (MoneyType == "权利金" ? 1 : 0) * (Money ?? 0); } } /// /// 平仓行权费 /// public double MoneyUnwindExer { get { return (MoneyType == "平仓行权" ? 1 : 0) * (Money ?? 0); } set { } } public double MoneyCoupon { get { return (MoneyType == "票息" ? 1 : 0) * (Money ?? 0); } } public double MoneySwap { get { return (MoneyType == "互换" ? 1 : 0) * (Money ?? 0); } } public double MoneySwapMargin { get { return (MoneyType == "预付金" ? 1 : 0) * (Money ?? 0); } } public string MoneyType { get { if (Direction == "出金" || Direction == "入金") { return "出入金"; } if (Action == "系统操作-期权费" && !(TradeType == "收益互换" && PS.Config.IsGuoJun)) { return "权利金"; } if ((Action == "系统操作-平仓费" || Action == "系统操作-行权费") && !(TradeType == "收益互换" && PS.Config.IsGuoJun)) { return "平仓行权"; } if (Action == "系统操作-票息" && !(TradeType == "收益互换" && PS.Config.IsGuoJun)) { return "票息"; } if (Action == "系统操作-互换" || (TradeType == "收益互换" && PS.Config.IsGuoJun)) { return "互换"; } if (Action == ClientCashInCashOut.系统操作_应付预付金 || Action == ClientCashInCashOut.系统操作_预付金返息) { return "预付金"; } if (Direction == "其他收入" || Direction == "其他支出") { return "其他"; } return ""; } } /// /// 状态 /// [DisplayName("状态")] public string State { get; set; } /// /// 开户行 /// [DisplayName("开户银行")] public string OpenBank { get; set; } /// /// 开户银行 /// [DisplayName("开户账号")] public string OpenBankId { get; set; } /// /// 备注 /// [DisplayName("备注")] public string OpenBankComments { get; set; } /// /// 银行卡号 /// [DisplayName("银行卡号")] public string OpenBankCard { get; set; } /// /// 创建人_optid /// [DisplayName("创建人")] public int? OptId { get; set; } /// /// 创建人_optname /// [DisplayName("创建人")] public string OptName { get; set; } /// /// 操作时间_createdate /// [DisplayName("操作时间")] public DateTime? OptDate { get; set; } [NotMapped] public string OptDateString => OptDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? string.Empty; public string SerialNumber { get; set; } /// /// 结算日 /// [DisplayName("结算日")] public DateTime SettleDate { get; set; } public string Comments { get; set; } public int IsCompanyCash { get; set; } /// /// 资金标识 /// public int CashFlag { get; set; } /// /// 审批进程 /// public int ApprovalProcess { get; set; } /// /// 创建人ID /// [DisplayName("创建人")] public int? CreatorId { set; get; } /// /// 创建人名称 /// [DisplayName("创建人")] public string CreatorName { set; get; } /// /// 创建时间 /// [DisplayName("创建时间")] public DateTime? CreateDate { set; get; } } }