|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using NPoco;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace POSV.Entity
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交班注册表
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Serializable]
|
|
|
|
|
[JsonObject(MemberSerialization.OptIn)]
|
|
|
|
|
[TableName("pos_store_handover")]
|
|
|
|
|
[PrimaryKey(new string[] { "id" }, AutoIncrement = false)]
|
|
|
|
|
public class HandOverTicket : BaseEntity
|
|
|
|
|
{
|
|
|
|
|
public HandOverTicket()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 租户编码
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "tenantId")]
|
|
|
|
|
[Column("tenantId")]
|
|
|
|
|
public string TenantId{ get; set; }// 租户ID
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交班单号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "no")]
|
|
|
|
|
[Column("no")]
|
|
|
|
|
public string No{ get; set; }// 交班单号
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 门店ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "storeId")]
|
|
|
|
|
[Column("storeId")]
|
|
|
|
|
public string StoreId{ get; set; }// 门店ID
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 门店编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "storeNo")]
|
|
|
|
|
[Column("storeNo")]
|
|
|
|
|
public string StoreNo{ get; set; }// 门店编号
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 门店名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "storeName")]
|
|
|
|
|
[Column("storeName")]
|
|
|
|
|
public string StoreName{ get; set; }// 门店名称
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 员工ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "workId")]
|
|
|
|
|
[Column("workId")]
|
|
|
|
|
public string WorkId{ get; set; }// 员工ID
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 员工编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "workNo")]
|
|
|
|
|
[Column("workNo")]
|
|
|
|
|
public string WorkNo{ get; set; }// 员工编号
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 员工名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "workName")]
|
|
|
|
|
[Column("workName")]
|
|
|
|
|
public string WorkName{ get; set; }// 员工名称
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 班次
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "shiftNo")]
|
|
|
|
|
[Column("shiftNo")]
|
|
|
|
|
public string ShiftNo{ get; set; }// 班次
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 班次名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "shiftName")]
|
|
|
|
|
[Column("shiftName")]
|
|
|
|
|
public string ShiftName{ get; set; }// 班次名称
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开始时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "datetimeBegin")]
|
|
|
|
|
[Column("datetimeBegin")]
|
|
|
|
|
public string DatetimeBegin{ get; set; }// 开始时间
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 结束时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "datetimeEnd")]
|
|
|
|
|
[Column("datetimeEnd")]
|
|
|
|
|
public string DatetimeEnd{ get; set; }// 结束时间
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交班时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "datetimeShift")]
|
|
|
|
|
[Column("datetimeShift")]
|
|
|
|
|
public string DatetimeShift{ get; set; }// 交班时间
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交单工号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "acceptWorkerNo")]
|
|
|
|
|
[Column("acceptWorkerNo")]
|
|
|
|
|
public string AcceptWorkerNo{ get; set; }// 交单工号
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交单POS
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "posNo")]
|
|
|
|
|
[Column("posNo")]
|
|
|
|
|
public string PosNo{ get; set; }// 交单POS
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 备注
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "memo")]
|
|
|
|
|
[Column("memo")]
|
|
|
|
|
public string Memo{ get; set; }// 备注
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 总人数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "peopleCount")]
|
|
|
|
|
[Column("peopleCount")]
|
|
|
|
|
public int PeopleCount{ get; set; }// 总人数
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 成交单数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "dealTicketCount")]
|
|
|
|
|
[Column("dealTicketCount")]
|
|
|
|
|
public int DealTicketCount{ get; set; }// 成交单数
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 成交金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "dealAmount")]
|
|
|
|
|
[Column("dealAmount")]
|
|
|
|
|
public decimal DealAmount{ get; set; }// 成交金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 退单次数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "backTicketCount")]
|
|
|
|
|
[Column("backTicketCount")]
|
|
|
|
|
public int BackTicketCount{ get; set; }// 退单次数
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 退单金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "backAmount")]
|
|
|
|
|
[Column("backAmount")]
|
|
|
|
|
public decimal BackAmount{ get; set; }// 退单金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 合计单数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "ticketCount")]
|
|
|
|
|
[Column("ticketCount")]
|
|
|
|
|
public int TicketCount{ get; set; }// 合计单数
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 合计金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "amount")]
|
|
|
|
|
[Column("amount")]
|
|
|
|
|
public decimal Amount{ get; set; } = 0.0M;// 合计金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 优惠金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "discountMoney")]
|
|
|
|
|
[Column("discountMoney")]
|
|
|
|
|
public decimal DiscountMoney{ get; set; } = 0.0M;// 优惠金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 其他优惠
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "otherDiscountMoney")]
|
|
|
|
|
[Column("otherDiscountMoney")]
|
|
|
|
|
public decimal OtherDiscountMoney { get; set; } = 0.0M;// 其他优惠
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 卡券优惠
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "couponDiscountMoney")]
|
|
|
|
|
[Column("couponDiscountMoney")]
|
|
|
|
|
public decimal CouponDiscountMoney { get; set; } = 0.0M;// 卡券优惠
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 应收金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "receivable")]
|
|
|
|
|
[Column("receivable")]
|
|
|
|
|
public decimal Receivable{ get; set; } = 0.0M;// 应收金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 抹零金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "maling")]
|
|
|
|
|
[Column("maling")]
|
|
|
|
|
public decimal Maling { get; set; } = 0.0M;// 抹零金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 实收金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "paid")]
|
|
|
|
|
[Column("paid")]
|
|
|
|
|
public decimal Paid => this.Receivable - this.Maling;// 实收金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 充值笔数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "cardCount")]
|
|
|
|
|
[Column("cardCount")]
|
|
|
|
|
public int CardCount{ get; set; }// 充值笔数
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 卡充值金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "cardRealMoney")]
|
|
|
|
|
[Column("cardRealMoney")]
|
|
|
|
|
public decimal CardRealMoney{ get; set; } = 0.0M;// 卡充值金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 退卡次数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "cardRefundCount")]
|
|
|
|
|
[Column("cardRefundCount")]
|
|
|
|
|
public int CardRefundCount { get; set; }// 退卡次数
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 退卡金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "cardRefundMoney")]
|
|
|
|
|
[Column("cardRefundMoney")]
|
|
|
|
|
public decimal CardRefundMoney { get; set; } = 0.0M;// 退卡金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 支付实收金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "realMoney")]
|
|
|
|
|
[Column("realMoney")]
|
|
|
|
|
public decimal RealMoney { get; set; } = 0.0M;// 支付实收金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 支付虚收金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "virtualMoney")]
|
|
|
|
|
[Column("virtualMoney")]
|
|
|
|
|
public decimal VirtualMoney { get; set; } = 0.0M;// 支付虚收金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 营业收入金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "sumRealMoney")]
|
|
|
|
|
[Column("sumRealMoney")]
|
|
|
|
|
public decimal SumRealMoney => this.Amount -this.Maling- this.DiscountMoney + this.CardRealMoney - this.CardRefundMoney;// 营业收入金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 非营业收入
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "inmoney")]
|
|
|
|
|
[Column("inmoney")]
|
|
|
|
|
public decimal Inmoney { get; set; } = 0.0M;// 非营业收入
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 非营业支出
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "outmoney")]
|
|
|
|
|
[Column("outmoney")]
|
|
|
|
|
public decimal Outmoney{ get; set; } = 0.0M;// 非营业支出
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 配送费用(微信点餐)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "distributionFee")]
|
|
|
|
|
[Column("distributionFee")]
|
|
|
|
|
public decimal DistributionFee { get; set; }// 配送费用(微信点餐)
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 班次总收入金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "shiftAmount")]
|
|
|
|
|
[Column("shiftAmount")]
|
|
|
|
|
public decimal ShiftAmount => this.SumRealMoney + this.Inmoney - this.Outmoney + this.DistributionFee;// 班次总收入金额
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 备用金
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "imprest")]
|
|
|
|
|
[Column("imprest")]
|
|
|
|
|
public decimal Imprest{ get; set; }// 备用金
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "deviceName")]
|
|
|
|
|
[Column("deviceName")]
|
|
|
|
|
public string DeviceName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备MAC
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "deviceMac")]
|
|
|
|
|
[Column("deviceMac")]
|
|
|
|
|
public string DeviceMac { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备IP
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "deviceIp")]
|
|
|
|
|
[Column("deviceIp")]
|
|
|
|
|
public string DeviceIp { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 支付方式明细
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "detail")]
|
|
|
|
|
public List<HandOverDetail> Detail { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交班杯子盘点
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "part")]
|
|
|
|
|
public List<HandOverDetailPart> Part { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交班支付方式
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "pay")]
|
|
|
|
|
public List<HandOverPay> Pay { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 交班营业模式
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "mode")]
|
|
|
|
|
public List<HandOverSaleMode> Mode { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 类别汇总
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Ignore]
|
|
|
|
|
public List<HandOverProductType> ProductType { get; set; }
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
|
|
|
|
public List<HandOverProduct> Product { get; set; }
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
|
|
|
|
public List<HandOverInfo> Info { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
|
|
|
|
public decimal handMoney { get; set; }//手工金额
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
|
|
|
|
public decimal diffMoney { get; set; }//差异金额
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
|
|
|
|
public string PrintType { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|