package com.bs.cw.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;

/**
 * 现金日记账对象 cw_finance_cash
 *
 * @author bs
 * @date 2024-02-07
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cw_finance_cash")
@Data
public class CwFinanceCash extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Long id;

    /** 关联ID */

    @Excel(name = "关联ID")
    @ApiModelProperty(value = "关联ID")
    private Long relId;

    /** 关联ID2 */

    @Excel(name = "关联ID2")
    @ApiModelProperty(value = "关联ID2")
    private Long relId2;

    /** 单据号 */

    @Excel(name = "单据号")
    @ApiModelProperty(value = "单据号")
    private String billNo;

    /** 付款单位 */

    @Excel(name = "付款单位")
    @ApiModelProperty(value = "付款单位")
    private Long custId;

    /** 币别 */

    @Excel(name = "币别")
    @ApiModelProperty(value = "币别")
    private String currencyCode;

    /** 实收金额 */

    @Excel(name = "实收金额")
    @ApiModelProperty(value = "实收金额")
    private BigDecimal paidMoney;

    /** 已核销金额 */

    @Excel(name = "已核销金额")
    @ApiModelProperty(value = "已核销金额")
    private BigDecimal hxAmount;

    /** 未核金额 */

    @Excel(name = "未核金额")
    @ApiModelProperty(value = "未核金额")
    private BigDecimal whxAmount;

    /** 处理金额 */

    @Excel(name = "处理金额")
    @ApiModelProperty(value = "处理金额")
    private BigDecimal handleAmount;

    /** 实收时间 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实收时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "实收时间")
    private Date paidTime;

    /** 结算方式 */

    @Excel(name = "结算方式")
    @ApiModelProperty(value = "结算方式")
    private String settelType;

    /** 封装 */

    @Excel(name = "封装")
    @ApiModelProperty(value = "封装")
    private String journalPack;

    /** 收付款凭证 */

    @Excel(name = "收付款凭证")
    @ApiModelProperty(value = "收付款凭证")
    private String paymentVoucher;

    /** 特殊处理凭证 */

    @Excel(name = "特殊处理凭证")
    @ApiModelProperty(value = "特殊处理凭证")
    private String specVoucher;

    /** 核销凭证 */

    @Excel(name = "核销凭证")
    @ApiModelProperty(value = "核销凭证")
    private String hxVoucher;

    /** 日记账 */

    @Excel(name = "日记账")
    @ApiModelProperty(value = "日记账")
    private String journalNote;

    /** 核销凭证2 */

    @Excel(name = "核销凭证2")
    @ApiModelProperty(value = "核销凭证2")
    private String hxVoucher2;

    /** 开户银行 */

    @Excel(name = "开户银行")
    @ApiModelProperty(value = "开户银行")
    private String bankName;

    /** 经办人 */

    @Excel(name = "经办人")
    @ApiModelProperty(value = "经办人")
    private String userId;

    /** 收入付出类型：0收入 1付出 */

    @Excel(name = "收入付出类型：0收入 1付出")
    @ApiModelProperty(value = "收入付出类型：0收入 1付出")
    private String rpFlag;

    /** 是否预付款 */

    @Excel(name = "是否预付款")
    @ApiModelProperty(value = "是否预付款")
    private String isAdvance;

    /** 状态 */

    @Excel(name = "状态")
    @ApiModelProperty(value = "状态")
    private String status;

    /** 备注 */

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    @TableField(exist = false)
    private String custName;
}
