using Dlhis.Entity.Canteen.Enums;
using Dlhis.ExcelHelper;
using Kurisu.AspNetCore.Utils.Converters;
using Kurisu.AspNetCore.Utils.Extensions;
using Newtonsoft.Json;
namespace Dlhis.Canteen.Order.Response;
[Excel("BalanceRecords")]
public class BalanceRecordResponse : IExcelExportable
{
public long Id { get; set; }
///
/// 是否离线
///
public bool IsOffline { get; set; }
///
/// 流水号
///
public string No { get; set; }
///
/// 档案号/QRCode
///
public string UserNo { get; set; }
///
/// 姓名
///
[Excel("姓名")]
public string Name { get; set; }
[JsonIgnore]
public string NameEn { get; set; }
///
/// 学工号
///
[Excel("工号")]
public string UserCode { get; set; }
///
/// 部门号
///
[Excel("部门号")]
public string DepartmentNo { get; set; }
///
/// 部门
///
[Excel("部门名称")]
public string DepartmentName { get; set; }
///
/// 所属成本日期
///
[Excel("营业日期", "yyyy-MM-dd")]
[JsonConverter(typeof(ToDateJsonConverter))]
public DateTime CostDate { get; set; }
///
/// 记录产生时间
///
[Excel("消费时间", "yyyy-MM-dd HH:mm:ss")]
public DateTime CostDateTime { get; set; }
///
/// 来源
///
public BalanceRecordSourceEnumType Source { get; set; }
///
/// 消费识别来源
///
[Excel("消费来源")]
public string SourceDesc => Source.GetDescription();
///
/// 收入/支出
///
public BalanceRecordTypeEnumType Type { get; set; }
///
/// 消费类型
///
[Excel("消费类型")]
public string TypeDesc => Type.GetDescription();
///
/// 金额
///
[Excel("消费金额", "0.00")]
public decimal Amount { get; set; }
///
/// 营业点
///
[Excel("营业点")]
public string BusinessPlaceName { get; set; }
///
/// 餐次
///
public ShiftEnumType? ShiftType { get; set; }
///
/// 餐次
///
[Excel("餐次")]
public string ShiftTypeDesc => ShiftType?.GetDescription();
///
/// 消费机器唯一信息
///
public string DeviceInfo { get; set; }
///
/// 成本中心
///
public string CostId { get; set; }
///
/// 数据状态
///
public BalanceRecordStatusEnumType Status { get; set; }
///
/// 数据状态描述
///
[Excel("数据状态")]
public string StatusDesc => Status.GetDescription();
///
/// 消费者所在基地
///
[Excel("在职厂区")]
public string OriginTenantId { get; set; }
///
/// 厂区
///
[Excel("消费厂区")]
public string Factory { get; set; }
///
/// 人事范围
///
[Excel("人事范围")]
public string Werks { get; set; }
///
/// 备注
///
[Excel("备注")]
public string Remark { get; set; }
}