using Dlhis.Entity.Canteen.Enums;
using Kurisu.AspNetCore.DataAccess.Entity;
using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar;
using SqlSugar.DbConvert;
namespace Dlhis.Entity.Canteen.Entities;
///
/// 充值/消费记录
///
[SugarTable(TableName = "BalanceRecord", TableDescription = "充值/消费记录")]
public class BalanceRecordEntity : SugarBaseEntity, ISoftDeleted, ITenantId
{
///
/// 流水号
///
[SugarColumn(ColumnDescription = "流水号", UniqueGroupNameList = new[] { "Unique_BalanceRecord_No" })]
public string No { get; set; }
///
/// 档案号/QRCode
///
[SugarColumn(ColumnDescription = "档案号/QRCode")]
public string UserNo { get; set; }
///
/// 姓名
///
[SugarColumn(ColumnDescription = "姓名")]
public string Name { get; set; }
///
/// 学工号
///
[SugarColumn(ColumnDescription = "学工号")]
public string UserCode { get; set; }
///
/// 部门号
///
[SugarColumn(ColumnDescription = "部门号")]
public string DepartmentNo { get; set; }
///
/// 来源
///
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "来源")]
public BalanceRecordSourceEnumType Source { get; set; }
///
/// 收入/支出
///
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "收入/支出")]
public BalanceRecordTypeEnumType Type { get; set; }
///
/// 金额 + - 表示
///
[SugarColumn(ColumnDescription = "金额+-表示")]
public decimal Amount { get; set; }
///
/// 营业点
///
[SugarColumn(ColumnDescription = "营业点", IsNullable = true)]
public Guid? BusinessPlaceCode { get; set; }
///
/// 餐别
///
[SugarColumn(ColumnDescription = "餐别", IsNullable = true)]
public Guid? BusinessShiftCode { get; set; }
///
/// 餐次
///
[SugarColumn(ColumnDescription = "餐次", ColumnDataType = "varchar(50)", IsNullable = true, SqlParameterDbType = typeof(EnumToStringConvert))]
public ShiftEnumType? ShiftType { get; set; }
///
/// 所属成本日期
///
[SugarColumn(ColumnDataType = "date", ColumnDescription = "所属成本日期")]
public DateTime CostDate { get; set; }
///
/// 消费机器唯一信息
///
[SugarColumn(ColumnDescription = "消费机器唯一信息", IsNullable = true)]
public string DeviceUniqueNo { get; set; }
///
/// Ip
///
[SugarColumn(ColumnDescription = "IP")]
public string IP { get; set; }
///
/// 成本中心
///
[SugarColumn(ColumnDescription = "成本中心")]
public string CostId { get; set; }
///
/// 消费者所在基地
///
[SugarColumn(ColumnDescription = "消费者所在基地")]
public string OriginTenantId { get; set; }
///
/// 成本计算是否允许跨基地范围
///
[SugarColumn(ColumnDataType = "bit", ColumnDescription = "成本计算是否允许跨基地范围")]
public bool IsCostCrossTenant { get; set; }
///
/// 数据状态
///
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "数据状态")]
public BalanceRecordStatusEnumType Status { get; set; }
///
/// 消费时间
///
[SugarColumn(ColumnDescription = "消费时间")]
public DateTime CostDateTime { get; set; }
///
/// 备注
///
[SugarColumn(ColumnDescription = "备注")]
public string Remark { get; set; }
///
/// 餐饮应用类型
///
[SugarColumn(ColumnDescription = "餐饮应用类型", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public CanteenApplicationTypeEnumType ApplicationType { get; set; }
public string TenantId { get; set; }
///
/// 人事范围
///
public string Werks { get; set; }
[SugarColumn(ColumnDataType = "bit")]
public bool IsDeleted { get; set; }
}