package com.dhcc.finance.main.model;

import com.dhcc.common.util.ExcelColumn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "CwBdManualSerialWeb",description = "批量凭证导入实体类")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CwBdManualSerialWeb {

    /**
     * 主键
     */
    private String id;

    /**
     * 批次号
     */
    @ApiModelProperty(value = "批次号", required = false, example = "")
    private String batchNo;

    /**
     * 凭证号
     * */
    @ApiModelProperty(value = "凭证号", required = false, example = "")
    private String pkVoucher;

    /**
     * 项目编号
     */
    @ApiModelProperty(value = "项目编号", required = false, example = "")
    @ExcelColumn(value = "项目编号", col=1)
    private String projectCode;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称", required = false, example = "")
    @ExcelColumn(value = "项目名称", col=2)
    private String projectName;

    /**
     * 子项目编号
     */
    @ApiModelProperty(value = "子项目编号", required = false, example = "")
    @ExcelColumn(value = "子项目编号", col=3)
    private String subProjectCode;

    /**
     * 子项目名称
     */
    @ApiModelProperty(value = "子项目名称", required = false, example = "")
    @ExcelColumn(value = "子项目名称", col=4)
    private String subProjectName;

    /**
     * 科目编号
     */
    @ApiModelProperty(value = "科目编号", required = false, example = "")
//    @ExcelColumn(value = "科目编号", col=3)
    private String subjcode;

    /**
     * 生成凭证类型
     */
    @ApiModelProperty(value = "生成凭证类型", required = false, example = "")
    @ExcelColumn(value = "生成凭证类型",key = "SCPZLX", col=5)
    private String voucherType;

    /**
     * 生成凭证金额
     */
    @ApiModelProperty(value = "生成凭证金额", required = false, example = "")
    @ExcelColumn(value = "生成凭证金额", col=6)
    private BigDecimal voucherAmount;

    /**
     * 导入日期
     */
    @ApiModelProperty(value = "导入日期", required = false, example = "")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date importDate;

    /**
     * 使用状态
     */
    @ApiModelProperty(value = "使用状态", required = false, example = "")
    private String useState;

    /**
     * 录入人员
     */
    @ApiModelProperty(value = "录入人员", required = false, example = "")
    private String createUser;

    /**
     * 录入时间
     */
    @ApiModelProperty(value = "录入时间", required = false, example = "")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 最后修改人员
     */
    @ApiModelProperty(value = "最后修改人员", required = false, example = "")
    private String updateUser;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value = "最后修改时间", required = false, example = "CURRENT_TIMESTAMP")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", required = false, example = "")
    private String remark;

    /**
     * 流水号
     * */
    @ApiModelProperty(value = "流水号", required = false, example = "")
    private String serialNo;

}
