feat(finance): add cost management backend module
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
using MediatR;
|
||||
using TakeoutSaaS.Application.App.Finance.Cost.Dto;
|
||||
using TakeoutSaaS.Domain.Finance.Enums;
|
||||
|
||||
namespace TakeoutSaaS.Application.App.Finance.Cost.Commands;
|
||||
|
||||
/// <summary>
|
||||
/// 保存成本录入数据。
|
||||
/// </summary>
|
||||
public sealed class SaveFinanceCostEntryCommand : IRequest<FinanceCostEntryDto>
|
||||
{
|
||||
/// <summary>
|
||||
/// 统计维度。
|
||||
/// </summary>
|
||||
public FinanceCostDimension Dimension { get; init; } = FinanceCostDimension.Tenant;
|
||||
|
||||
/// <summary>
|
||||
/// 门店标识(门店维度必填)。
|
||||
/// </summary>
|
||||
public long? StoreId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 目标月份(UTC 每月第一天)。
|
||||
/// </summary>
|
||||
public DateTime CostMonth { get; init; } = DateTime.UtcNow;
|
||||
|
||||
/// <summary>
|
||||
/// 成本分类列表。
|
||||
/// </summary>
|
||||
public IReadOnlyList<SaveFinanceCostCategoryCommandItem> Categories { get; init; } = [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 成本分类保存项。
|
||||
/// </summary>
|
||||
public sealed class SaveFinanceCostCategoryCommandItem
|
||||
{
|
||||
/// <summary>
|
||||
/// 成本分类。
|
||||
/// </summary>
|
||||
public FinanceCostCategory Category { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 分类总金额。
|
||||
/// </summary>
|
||||
public decimal TotalAmount { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 分类明细项。
|
||||
/// </summary>
|
||||
public IReadOnlyList<SaveFinanceCostDetailCommandItem> Items { get; init; } = [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 成本明细保存项。
|
||||
/// </summary>
|
||||
public sealed class SaveFinanceCostDetailCommandItem
|
||||
{
|
||||
/// <summary>
|
||||
/// 明细标识(编辑时透传,可为空)。
|
||||
/// </summary>
|
||||
public long? ItemId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 明细名称。
|
||||
/// </summary>
|
||||
public string ItemName { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 金额。
|
||||
/// </summary>
|
||||
public decimal Amount { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 数量(人工类可用)。
|
||||
/// </summary>
|
||||
public decimal? Quantity { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价(人工类可用)。
|
||||
/// </summary>
|
||||
public decimal? UnitPrice { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// 排序值。
|
||||
/// </summary>
|
||||
public int SortOrder { get; init; }
|
||||
}
|
||||
Reference in New Issue
Block a user