package com.jianshui.income.domain.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @Description 进项 全票面采集dto
 * @Author 巩权林
 * @Date 2022-05-25 15:56
 **/
@Data
public class IncomeGetInvoiceDTO {
    @NotEmpty(message = "购方税号不能为空")
    private String GMFSBH; // 购方税号
    @NotEmpty(message = "发票类型不能为空")
    private String FPLXDM; // 发票类型 按字典 invoice_type处理
    @NotEmpty(message = "批次号不能为空")
    private String PCH; // 批次号

    @NotNull(message = "发票采集不能为空")
    @JsonFormat(pattern = "yyyyMMddHHmmss")
    @JSONField(format="yyyyMMddHHmmss")
    private Date CJKSRQ; // 发票采集 开始时间

    @NotNull(message = "发票采集不能为空")
    @JsonFormat(pattern = "yyyyMMddHHmmss")
    @JSONField(format="yyyyMMddHHmmss")
    private Date CJJSRQ; // 发票采集 结束时间

    @NotNull(message = "开始行数不能为空")
    private Integer KSHS; // 开始行数 整数,第一次请求时为 1.(若本次返回行数小于总行数，需再次请求，开始行数为 本次返回行数+ 1.类似分页获取
    @NotEmpty(message = "状态标志不能为空")
    private String ZTBZ; // 状态标志 当给 1 时继续请求，0 时结束请求
    private String FHHS; // 当该参数有值时，接口按照参数返回发票条数，如果没值时，接口按照默认值返回发票条数


    @ApiModelProperty("企业id")
    private Long identity;

    @ApiModelProperty("企业税号")
    private String taxno;

    //发票采集类型 1 自动采集   2 手动采集
    private String cjlx;
}
