package com.yuchen.saas.park.api.entity.property;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.mp.base.BaseEntity;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

/**
 * <p>
 * 物业-收费-前台收费-收银台-收费历史
 * </p>
 *
 * @author baichaojie
 * @since 2024-09-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("saas_park_property_bill_fee_history")
@ApiModel(value="SaasParkPropertyBillFeeHistory对象", description="物业-收费-前台收费-收银台-收费历史")
public class SaasParkPropertyBillFeeHistory extends BaseEntity {

    /**
     * 项目id
     */
    @ApiModelProperty(name = "parkId", value = "项目id")
    private Long parkId;
    /**
     * 收费时间
     */
    @ApiModelProperty(name = "chargingTime", value = "收费时间")
    private Date chargingTime;
    /**
     * 收费单号
     */
    @ApiModelProperty(name = "chargingNo", value = "收费单号")
    private String chargingNo;
    /**
     * 房间id
     */
    @ApiModelProperty(name = "roomId", value = "房间id")
    private Long roomId;
    /**
     * 房间号
     */
    @ApiModelProperty(name = "roomNo", value = "房间号")
    private String roomNo;
    /**
     * 客户名称
     */
    @ApiModelProperty(name = "personName", value = "客户名称")
    private String personName;
    /**
     * 客户id
     */
    @ApiModelProperty(name = "personId", value = "客户id")
    private Long personId;
    /**
     * 合同编号
     */
    @ApiModelProperty(name = "contractNumber", value = "合同编号")
    private String contractNumber;
    /**
     * 收费类型id
     */
    @ApiModelProperty(name = "feeTypeId", value = "收费类型id")
    private Long feeTypeId;
    /**
     * 起始日期(收费琪琪)
     */
    @ApiModelProperty(name = "startDate", value = "起始日期")
    private Date startDate;
    /**
     * 结束日期(弃用)
     */
    @ApiModelProperty(name = "endDate", value = "结束日期")
    private Date endDate;
    /**
     * 应收金额
     */
    @ApiModelProperty(name = "receivableAmount", value = "应收金额")
    private Float receivableAmount;
    /**
     * 待收金额
     */
    @ApiModelProperty(name = "actualAmount", value = "待收金额")
    private Float actualAmount;
    /**
     * 减免金额
     */
    @ApiModelProperty(name = "reductionAmount", value = "减免金额")
    private Float reductionAmount;
    /**
     * 关联的已出未出账单表
     */
    @ApiModelProperty(name = "relativeReceivableManageId", value = "关联的已出未出账单表")
    private Long relativeReceivableManageId;
    /**
     * 累计退款
     */
    @ApiModelProperty(name = "totalRefunds", value = "累计退款")
    private Float totalRefunds;
    /**
     * 最终实收
     */
    @ApiModelProperty(name = "lastActualAmount", value = "最终实收")
    private Float lastActualAmount;
    /**
     * 开票状态
     */
    @ApiModelProperty(name = "invoiceStatus", value = "开票状态")
    private Integer invoiceStatus;
    /**
     * 缴费类型id
     */
    @ApiModelProperty(name = "payTypeId", value = "缴费类型id")
    private Long payTypeId;
    /**
     * 缴费类型
     */
    @ApiModelProperty(name = "payType", value = "缴费类型")
    private String payType;
    /**
     * 付款方式id
     */
    @ApiModelProperty(name = "payMethodId", value = "付款方式id")
    private Long payMethodId;
    /**
     * 付款方式
     */
    @ApiModelProperty(name = "payMethod", value = "付款方式")
    private String payMethod;
    /**
     * 账单类型id
     */
    @ApiModelProperty(name = "billTypeId", value = "账单类型id")
    private Long billTypeId;
    /**
     * 账单类型
     */
    @ApiModelProperty(name = "billType", value = "账单类型")
    private String billType;



}
