package cn.superdesk.uniorder.dto.param.thirdpart.szhtxx.common.singleSelect;

import cn.superdesk.uniorder.common.enums.common.CommonFormStateEnum;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2022/5/5 3:43 下午
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022/5/5 3:43 下午
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
@Data
@ToString
public class SzhtxxInvoiceFptxxOpSingleSelectForm implements Serializable {

    /**************************************** 表单状态 start ****************************************/

    @ApiModelProperty("表单状态:1-预览;2-提交;-前端不用传(传了会报错) enum 引用 CommonFormStateEnum")
    private CommonFormStateEnum formState;

    /**************************************** 表单状态   end ****************************************/

    //    根据销售单号或发票种类、代码、号码，查询发票信息。
//    注意：xsdbh 与 fpzl、fpdm、fphm 是互斥条件，传销售单号就不按照 fpzl,fpdm,fphm 来查询


    /**************************************** 互斥条件 start ****************************************/

    @ApiModelProperty("互斥条件1-销售单号")
    @JsonProperty("xsdbh")
    @JSONField(name = "xsdbh")
    private String xsdbh;

    /**************************************** 互斥条件 start ****************************************/

    @ApiModelProperty("互斥条件2-发票类型 0-(纸质)专票;2-(纸质)普票;41-卷票;42-二手车;51-电子(普)票;52-电子专票;12-机动车发票; 引用 enum SzhtxxElectronicInvoiceFptxxInvoiceTypeEnum")
    @JsonProperty("fpzl")
    @JSONField(name = "fpzl")
    private String fpzl;
    @ApiModelProperty("互斥条件2-发票代码")
    @JsonProperty("fpdm")
    @JSONField(name = "fpdm")
    private String fpdm;
    @ApiModelProperty("互斥条件2-发票号码")
    @JsonProperty("fphm")
    @JSONField(name = "fphm")
    private String fphm;

    /**************************************** 互斥条件 start ****************************************/


    /**************************************** 共用部分 start ****************************************/

    @ApiModelProperty("共用部分-batchId")
    protected String batchId;
    @ApiModelProperty("共用部分-编码串")
    @JsonProperty("ENCMSG")
    @JSONField(name = "ENCMSG")
    protected String ENCMSG;

    /**************************************** 共用部分   end ****************************************/


}
