package cn.superdesk.uniorder.dto.param.thirdpart.szhtxx.electronicInvoice;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

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

/**
 * @author linjinyu
 * @email linjinyu@avic-s.com
 * @date 2022-01-24 11:50:43
 */
@Data
@ToString
public class SzhtxxElectronicInvoiceFptxxParam implements Serializable {

    @ApiModelProperty("Id")
    private Long       id;
    @ApiModelProperty("发票请求唯一流水号^_^每张发票的发票请求唯一流水号无重复,由企业定义.限制固定20位.流水号包含公司简称(如:华为终端:HWZD************)")
    private String     fpqqlsh;
    @ApiModelProperty("主要开票项目^_^主要开票商品,或者第一条商品,取项目信息中第一条数据的项目名称(或传递大类例如:办公用品)")
    private String     kpxm;
    @ApiModelProperty("开票方识别号^_^必填,开票方纳税人识别号")
    private String     xhfNsrsbh;
    @ApiModelProperty("销货方名称^_^销货方名称")
    private String     xhfmc;
    @ApiModelProperty("销货方地址电话^_^销货方地址电话")
    private String     xhfDzdh;
    @ApiModelProperty("销货方银行账号^_^销货方银行账号")
    private String     xhfYhzh;
    @ApiModelProperty("购货方名称^_^购货方名称,即发票抬头.购货方为\"个人\"时,可输入名称,输入名称是为\"个人(名称)\",\"(\"为半角;例:个人(王杰)")
    private String     ghfmc;
    @ApiModelProperty("购货方纳税人识别号^_^购货方企业类型为'01, 02'时,必填")
    private String     ghfNsrsbh;
    @ApiModelProperty("购货方银行账号^_^购货方银行账号")
    private String     ghfYhzh;
    @ApiModelProperty("购货方地址电话^_^购货方地址电话")
    private String     ghfDzdh;
    @ApiModelProperty("购货方手机^_^购货方手机号(交付手机)")
    private String     ghfSj;
    @ApiModelProperty("购货方邮箱^_^购货方邮箱(交付邮箱)")
    private String     ghfEmail;
    @ApiModelProperty("交付标志^_^0-不交付;1-交付邮箱;2-交付手机;3-手机邮箱都交付;默认:0")
    private String     billSentSign;
    @ApiModelProperty("状态回调地址^_^为空时不回调,不为空时回调,若提供的接收回调地址有误,则最多回调三次,回调成功需返回格式{returnCode:\"0000\",returnMsg:\"原因\"}其他都视为失败")
    private String     callBackUrl;
    @ApiModelProperty("购货方企业类型^_^购货方企业类型'01, 02'代表企业,两者没区别,'03'代表个人")
    private String     ghfqylx;
    @ApiModelProperty("代开标志^_^0-自开;1-代开;默认:0")
    private String     dkbz;
    @ApiModelProperty("分机号^_^为空时随机获取分机盘开票,不为空是指定分机盘开具(A9暂时不支持,C48支持)")
    private String     fjh;
    @ApiModelProperty("开票员^_^开票员")
    private String     kpy;
    @ApiModelProperty("收款员^_^收款员")
    private String     sky;
    @ApiModelProperty("复核人^_^复核人")
    private String     fhr;
    @ApiModelProperty("开票类型^_^开票类型(1-蓝票;2-红票;10-特殊冲红)")
    private String     kplx;
    @ApiModelProperty("原发票代码^_^开红票时必填")
    private String     yfpDm;
    @ApiModelProperty("原发票号码^_^开红票时必填")
    private String     yfpHm;
    @ApiModelProperty("清单标志^_^0-普通电子发票;1-普通电子发票(清单);2-收购电子发票;3-收购电子发票(清单);4-成品油电子发票(成品油无清单);备注:默认为0;1,3-清单是指强制清单;0,2-如果超出8行自动打印清单;4-成品油,则商品明细行不能有其他商品,一个商品是成品油,另一个不是成品油,开不出来票.并且成品油的发票的商品行中,单价;数量;单位必填,其中单位为升或者吨")
    private String     qdBz;
    @ApiModelProperty("清单项目名称^_^清单标志为1时必填")
    private String     qdxmmc;
    @ApiModelProperty("价税合计金额^_^小数点后2位,以元为单位,精确到分")
    private BigDecimal kphjje;
    @ApiModelProperty("合计不含税金额.所有商品行不含税金额之和.^_^小数点后2位,以元为单位精确到分(单行商品金额之和).")
    private BigDecimal hjbhsje;
    @ApiModelProperty("合计税额.所有商品行税额之和.^_^小数点后2位,以元为单位精确到分(单行商品税额之和)")
    private BigDecimal hjse;
    @ApiModelProperty("备注^_^增值税发票红字发票开具时,备注要求:开具负数发票,必须在备注中注明'对应正数发票代码:XXXXXXXXX号码:YYYYYYYY'字样,其中'X'为发票代码,'Y'为发票号码.")
    private String     bz;
    @ApiModelProperty("0000")
    private String     returnCode;
    @ApiModelProperty("发票开具成功")
    private String     returnMsg;
    @ApiModelProperty("创建时间")
    private Date       createTime;
    @ApiModelProperty("操作人 sysUserId")
    private Long       createUserId;
    @ApiModelProperty("操作人 sysUserName")
    private String     createUserName;
    @ApiModelProperty("最近更新时间")
    private Date       updateTime;
    @ApiModelProperty("操作人 sysUserId")
    private Long       updateUserId;
    @ApiModelProperty("操作人 sysUserName")
    private String     updateUserName;
    @ApiModelProperty("软删除:0-未删除;1-已删除")
    private Integer    deleted;


}
