You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

260 lines
8.9 KiB
C#

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