package cn.superdesk.uniorder.openapicall.thirdpart.szhtxx.paperInvoice.dto.request.SID5SelectBillInfo;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description: 4.2.1.3.4 查询发票信息 SID=5_深圳航信纸质发票（SOAP）
 * @Author: linjinyu
 * @CreateDate: 2022/7/15 11:00 上午
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022/7/15 11:00 上午
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
@Data
public class SID5SelectBillInfoRequestBodyStructVo implements Serializable {

    @ApiModelProperty("发票种类固定值: 0-专用发票; 2-普通发票; 11-货运发票; 12-机动车票; 41-卷票; 51-电子发票;")
    @JsonProperty("fpzl")
    @JSONField(name = "fpzl")
    private Integer fpzl;

    @ApiModelProperty("销售单编号 只有金税盘版本支持传入单据编码查询")
    @JsonProperty("xsdh")
    @JSONField(name = "xsdh")
    private String xsdh;

    @ApiModelProperty("购方名称")
    @JsonProperty("gfmc")
    @JSONField(name = "gfmc")
    private String gfmc;
    @ApiModelProperty("购方税号")
    @JsonProperty("gfsh")
    @JSONField(name = "gfsh")
    private String gfsh;

    @ApiModelProperty("销方名称")
    @JsonProperty("xfmc")
    @JSONField(name = "xfmc")
    private String xfmc;
    @ApiModelProperty("销方税号")
    @JsonProperty("xfsh")
    @JSONField(name = "xfsh")
    private String xfsh;

    @ApiModelProperty("发票代码")
    @JsonProperty("fpdm")
    @JSONField(name = "fpdm")
    private String fpdm;
    @ApiModelProperty("发票号码")
    @JsonProperty("fphm")
    @JSONField(name = "fphm")
    private String fphm;

    @ApiModelProperty("开票机号")
    @JsonProperty("kpjh")
    @JSONField(name = "kpjh")
    private Integer kpjh;

    @ApiModelProperty("作废标志")
    @JsonProperty("zfbz")
    @JSONField(name = "zfbz")
    private Integer zfbz;
    @ApiModelProperty("清单标志")
    @JsonProperty("qdbz")
    @JSONField(name = "qdbz")
    private Integer qdbz;
    @ApiModelProperty("打印标志")
    @JsonProperty("dybz")
    @JSONField(name = "dybz")
    private Integer dybz;
    @ApiModelProperty("报税标志")
    @JsonProperty("bsbz")
    @JSONField(name = "bsbz")
    private Integer bsbz;

    @ApiModelProperty("开始日期 yyyy-MM-dd 要求指定发票种类")
    @JsonProperty("BeginDate")
    @JSONField(name = "BeginDate")
    private String beginDate;
    @ApiModelProperty("截至时期 yyyy-MM-dd 要求指定发票种类")
    @JsonProperty("EndDate")
    @JSONField(name = "EndDate")
    private String endDate;

    @ApiModelProperty("分页可根据需要传-分页大小:一次查询返回的最大记录数")
    @JsonProperty("PageSize")
    @JSONField(name = "PageSize")
    private Integer pageSize;
    @ApiModelProperty("分页可根据需要传-当前页序号，第一页为 1")
    @JsonProperty("PageIndex")
    @JSONField(name = "PageIndex")
    private Integer pageIndex;

}
