using System.ComponentModel; using DS.Module.Core; using DS.Module.Core.Data; using DS.Module.Core.Enums; using SqlSugar; namespace DS.WMS.Core.Op.Entity { /// /// 业务相关费用状态表 /// [SqlSugar.SugarTable("op_business_fee_status", "业务相关费用状态表")] public class BusinessFeeStatus : BaseModel { /// /// 业务Id /// [SqlSugar.SugarColumn(ColumnDescription = "业务Id", IsNullable = false, Length = 100)] public long BusinessId { get; set; } /// /// 业务类型 1.海运出口 /// [SqlSugar.SugarColumn(ColumnDescription = "业务类型 1.海运出口", IsNullable = false, DefaultValue = "1")] public BusinessType BusinessType { get; set; } = BusinessType.OceanShippingExport; /// /// 应收费用状态 /// [SqlSugar.SugarColumn(ColumnDescription = "应收费用状态", IsNullable = false, DefaultValue = "0")] public BillFeeStatus ARFeeStatus { get; set; } = BillFeeStatus.NotEntered; /// /// 应付费用状态 /// [SqlSugar.SugarColumn(ColumnDescription = "应付费用状态", IsNullable = false, DefaultValue = "0")] public BillFeeStatus APFeeStatus { get; set; } = BillFeeStatus.NotEntered; /// /// 应收开票状态 /// [SqlSugar.SugarColumn(ColumnDescription = "应收开票状态", IsNullable = false, DefaultValue = "0")] public BillInvoiceStatus ARInvoiceStatus { get; set; } = BillInvoiceStatus.NotIssued; /// /// 应付开票状态 /// [SqlSugar.SugarColumn(ColumnDescription = "应付开票状态", IsNullable = false, DefaultValue = "0")] public BillInvoiceStatus APInvoiceStatus { get; set; } = BillInvoiceStatus.NotIssued; /// /// 应收对账状态 /// [SqlSugar.SugarColumn(ColumnDescription = "应收对账状态", IsNullable = false, DefaultValue = "0")] public BillCheckStatusEnum ARCheckStatus { get; set; } = BillCheckStatusEnum.NotChecked; /// /// Desc:是否业务锁定 /// [SugarColumn(ColumnDescription = "是否业务锁定", DefaultValue = "0")] public bool? IsBusinessLocking { get; set; } = false; /// /// Desc:是否费用锁定 /// [SugarColumn(ColumnDescription = "是否费用锁定", DefaultValue = "0")] public bool? IsFeeLocking { get; set; } = false; /// /// 整单费用审核状态 /// [SugarColumn(ColumnDescription = "整单费用审核状态", IsNullable = true, DefaultValue = "0")] public BillAuditStatus? BillAuditStatus { get; set; } /// /// 整单费用状态时间 /// [SugarColumn(ColumnDescription = "整单费用状态时间", IsNullable = true)] public DateTime? BillFeeStatusTime { get; set; } //[SugarColumn(ColumnDescription = "当前审批工作流ID", IsNullable = true)] //public long? FlowId { get; set; } /// /// Desc:业务锁定人Id /// [SugarColumn(ColumnDescription = "业务锁定人Id", IsNullable = true, DefaultValue = "0")] public long BusinessLockingUserId { get; set; } /// /// Desc:业务锁定人 /// [SugarColumn(ColumnDescription = "业务锁定人", IsNullable = true, Length = 100)] public string BusinessLockingUserName { get; set; } /// /// 业务锁定时间 /// [SqlSugar.SugarColumn(ColumnDescription = "业务锁定时间", IsNullable = true)] public DateTime BusinessLockingTime { get; set; } /// /// Desc:业务解锁人Id /// [SugarColumn(ColumnDescription = "业务解锁人Id", IsNullable = true, DefaultValue = "0")] public long BusinessUnLockingUserId { get; set; } /// /// Desc:业务解锁人 /// [SugarColumn(ColumnDescription = "业务解锁人", IsNullable = true, Length = 100)] public string BusinessUnLockingUserName { get; set; } /// /// 业务解锁时间 /// [SqlSugar.SugarColumn(ColumnDescription = "业务解锁时间", IsNullable = true)] public DateTime BusinessUnLockingTime { get; set; } /// /// Desc:费用锁定人Id /// [SugarColumn(ColumnDescription = "费用锁定人Id", IsNullable = true, DefaultValue = "0")] public long FeeLockingUserId { get; set; } /// /// Desc:费用锁定人 /// [SugarColumn(ColumnDescription = "费用锁定人", IsNullable = true, Length = 100)] public string FeeLockingUserName { get; set; } /// /// 费用锁定时间 /// [SqlSugar.SugarColumn(ColumnDescription = "费用锁定时间", IsNullable = true)] public DateTime FeeLockingTime { get; set; } /// /// Desc:费用解锁人Id /// [SugarColumn(ColumnDescription = "费用解锁人Id", IsNullable = true, DefaultValue = "0")] public long FeeUnLockingUserId { get; set; } /// /// Desc:费用解锁人 /// [SugarColumn(ColumnDescription = "费用解锁人", IsNullable = true, Length = 100)] public string FeeUnLockingUserName { get; set; } /// /// 费用解锁时间 /// [SugarColumn(ColumnDescription = "费用解锁时间", IsNullable = true)] public DateTime FeeUnLockingTime { get; set; } /// /// 整单利润 /// [SugarColumn(IsIgnore = true)] public decimal ProfitMargin { get; set; } /// /// 委托编号 /// [SugarColumn(IsIgnore = true)] public string? CustomerNo { get; set; } /// /// 业务初始化费用状态 /// /// /// public static BusinessFeeStatus Init(long businessId) { return new BusinessFeeStatus() { BusinessId = businessId, ARFeeStatus = BillFeeStatus.NotEntered, APFeeStatus = BillFeeStatus.NotEntered, ARInvoiceStatus = BillInvoiceStatus.NotIssued, APInvoiceStatus = BillInvoiceStatus.NotIssued, ARCheckStatus = BillCheckStatusEnum.NotChecked, IsBusinessLocking = false, IsFeeLocking = false, BillAuditStatus = Module.Core.BillAuditStatus.Pending //BillFeeStatusTime = null, }; } } /// /// 业务类型 /// public enum BusinessType { /// /// 未指定 /// [Description("未指定")] NotSpecified = 0, /// /// 海运出口 /// [Description("海运出口")] OceanShippingExport = 1, /// /// 海运进口 /// [Description("海运进口")] OceanShippingImport = 2, /// /// 箱管_租箱租入 /// [Description("箱管_租箱租入")] CM_RentIn = 101, /// /// 箱管_租箱租出 /// [Description("箱管_租箱租出")] CM_RentOut = 102, /// /// 箱管_单程租出业务 /// [Description("箱管_单程租出业务")] CM_RentOneWay = 103, /// /// 箱管_买箱 /// [Description("箱管_买箱")] CM_BuyCtn = 104, /// /// 箱管_卖箱 /// [Description("箱管_卖箱")] CM_SellCtn = 105, /// /// 箱管_月结账单 /// [Description("箱管_月结账单")] CM_CustFeeDui = 106, /// /// 箱管_卖箱 /// [Description("箱管_报废")] CM_CtnScrap = 107, /// /// 箱管_单程租出业务 /// [Description("箱管_单程租入业务")] CM_RentOneWay_In = 108, /// /// 报销单 /// [Description("报销单")] Reimbursement = 200, } }