package com.dxhy.domestic.model.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

/**
 * @author dxhy
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("退税认证查询接口参数")
public class AuthenticationCheckConditionDTO extends PageInfo implements Serializable {

    @NotBlank
    @ApiModelProperty("购方税号，页面“购方名称”下拉框中购方名称相应税号")
    private String buyerTaxNo;

    @ApiModelProperty("业务部门，登录信息中获取部门Id")
    private String deptId;

    @ApiModelProperty("销方名称")
    private String sellerName;

    @ApiModelProperty("发票号码")
    private String invoiceNo;

    @ApiModelProperty("发票类型")
    private String invoiceType;

    @ApiModelProperty("发票来源")
    private String invoiceSource;

    @NotBlank
    @ApiModelProperty("开票日期-开始")
    private String invoiceStartTime;

    @NotBlank
    @ApiModelProperty("开票日期-结束")
    private String invoiceEndTime;

    @NotBlank
    @ApiModelProperty("签收状态")
    private String signInStatus;

    @NotBlank
    @ApiModelProperty("签收方式")
    private String signInType;

    @NotBlank
    @ApiModelProperty("签收日期-开始")
    private String signInStartTime;

    @NotBlank
    @ApiModelProperty("签收日期-结束")
    private String signInEndTime;

    @ApiModelProperty("签收人")
    private String signInPerson;

    @NotBlank
    @ApiModelProperty("发票状态")
    private String invoiceStatus;

    @NotBlank
    @ApiModelProperty("认证状态")
    private String authenticationStatus;

    @NotBlank
    @ApiModelProperty("认证处理状态")
    private String authenticationDetailStatus;

    @ApiModelProperty("认证人")
    private String authenticationPeople;

    @ApiModelProperty("认证时间-开始")
    private String authenticationStartTime;

    @ApiModelProperty("认证时间-结束")
    private String authenticationEndTime;

    @ApiModelProperty("当前属期")
    private String currentPeriod;

    @ApiModelProperty("税号列表")
    private List<String> taxNoList;
    @ApiModelProperty("admin数据库")
    private String dxhyAdmin;
    @ApiModelProperty("tertiary数据库")
    private String dxhyTertiary;
}
