feat(finance): add cost management backend module

This commit is contained in:
2026-03-04 16:07:16 +08:00
parent 39e28c1a62
commit fa6e376b86
24 changed files with 3001 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
using TakeoutSaaS.Domain.Finance.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Finance.Entities;
/// <summary>
/// 成本录入明细项实体。
/// </summary>
public sealed class FinanceCostEntryItem : MultiTenantEntityBase
{
/// <summary>
/// 关联汇总行标识。
/// </summary>
public long EntryId { get; set; }
/// <summary>
/// 统计维度。
/// </summary>
public FinanceCostDimension Dimension { get; set; } = FinanceCostDimension.Tenant;
/// <summary>
/// 门店标识(租户汇总维度为空)。
/// </summary>
public long? StoreId { get; set; }
/// <summary>
/// 成本月份(统一存储为 UTC 每月第一天 00:00:00
/// </summary>
public DateTime CostMonth { get; set; }
/// <summary>
/// 成本分类。
/// </summary>
public FinanceCostCategory Category { get; set; }
/// <summary>
/// 明细名称。
/// </summary>
public string ItemName { get; set; } = string.Empty;
/// <summary>
/// 明细金额。
/// </summary>
public decimal Amount { get; set; }
/// <summary>
/// 数量(人工类可用)。
/// </summary>
public decimal? Quantity { get; set; }
/// <summary>
/// 单价(人工类可用)。
/// </summary>
public decimal? UnitPrice { get; set; }
/// <summary>
/// 排序值。
/// </summary>
public int SortOrder { get; set; } = 100;
}