package com.dxhy.core.model;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.api.model.config.sys.DictdetaModel;
import com.dxhy.api.model.db.TdxTdysMhxcdEntity;
import com.dxhy.api.model.db.TdxTdysMhxcdMxEntity;
import com.dxhy.api.model.db.TdxTdysTldzkpEntity;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 统一签收明细返回的数据格式
 *
 * @author user @date(创建日期)：2019年6月4日
 */
@Data
public class InvoiceSubjectVO implements Serializable {

    private static final long serialVersionUID = -2910283488341255855L;

    /**
     * 税款所属期
     */
    private String dqskssq;

    /**
     * 采集日期
     */
    private String createDate;

    /**
     * 购方地址电话
     */
    private String gfAddressAndPhone;

    /**
     * 购方银行账号
     */
    private String gfBankAndNo;

    /**
     * 购方名称
     */
    private String gfName;

    /**
     * 购方税号
     */
    private String gfTaxNo;

    /**
     * 勾选人账号
     */
    private String gxUserName;

    private String id;

    /**
     * 发票金额
     */
    private String invoiceAmount;

    /**
     * 发票代码
     */
    private String invoiceCode;

    /**
     * 开票日期
     */
    private String invoiceDate;

    /**
     * 发票代码
     */
    private String invoiceNo;

    /**
     * 数电号码
     */
    private String eleInvoiceNo;

    /**
     * 发票状态
     */
    private String invoiceStatus;

    /**
     * 发票类型名称
     */
    private String invoiceString;

    /**
     * 发票类型
     */
    private String invoiceType;

    /**
     * 开票人
     **/
    private String otherKpr;

    /**
     * 收款人
     **/
    private String otherSkr;

    /**
     * 复核人
     **/
    private String otherFh;


    /**
     * 签收日期
     */
    private String qsDate;

    /**
     * 签收人
     */
    private String qsName;

    /**
     * 签收状态
     */
    private String qsStatus;

    /**
     * 签收方式
     */
    private String qsType;

    /**
     * 认证时间
     */
    private String rzhDate;

    /**
     * 认证方式
     */
    private String rzhType;

    /**
     * 是否已认证
     */
    private String rzhYesorno;

    /**
     * 认证类型
     */
    private String rzlx;

    /**
     * 数据来源
     */
    private String sourceSystem;

    /**
     * 税额
     */
    private String taxAmount;

    /**
     * 税率
     */
    private String taxRate;

    /**
     * 价税合计
     */
    private String totalAmount;

    /**
     * 发票唯一标识
     */
    private String uuid;

    /**
     * 销方地址电话
     */
    private String xfAddressAndPhone;

    /**
     * 销方银行账号
     */
    private String xfBankAndNo;

    /**
     * 销方名称
     */
    private String xfName;

    /**
     * 销方税号
     */
    private String xfTaxNo;

    /**
     * 认证流程状态
     */
    private String authStatus;

    /**
     * 备注
     */
    private String remark;
    /**
     * 校验码
     */
    private String checkCode;

    private String scanId;
    private String filePath;
    private String imgPath;

    private String gxState;

    /**
     * 发送认证时间
     */
    private String confirmDate;

    /**
     * 勾选时间
     */
    private String gxDate;

    //触发企业管控规则 0-否 1-是
    private String illegalEnterprise;

    /**
     *航空数电票-主信息
     **/
    private TdxTdysMhxcdEntity tdysMhxcd;

    /**
     *航空数电票-明细
     **/
    private List<TdxTdysMhxcdMxEntity> tdysMhxcdMx;

    /**
     *铁路数电票-扩展信息
     **/
    private TdxTdysTldzkpEntity tdysTldzkp;

    /**
     * 有xml源文件  不是空
     * 无 空
     **/
    private String haveSourceXml;
    /**
     * 0电子源文件
     * 1自己上传
     **/
    private String haveSourceXmlType;
    /**
     * 有pdf源文件  不是空
     * 无 空
     **/
    private String haveSourcePdf;
    /**
     * 0电子源文件
     * 1自己上传
     **/
    private String haveSourcePdfType;
    /**
     * 有ofd源文件  不是空
     * 无 空
     **/
    private String haveSourceOfd;
    /**
     * 0电子源文件
     * 1自己上传
     **/
    private String haveSourceOfdType;

    /**
     * 乐企特定要素类型代码：空：非特定要素 01：成品油发票 02：稀土发票 03：建筑服务发票 04：货物运输服务发票 05：不动产销售服务发票 06：不动产租赁服务发票 07：代收车船税 08：通行费 09：旅客运输服务发票 10：医疗服务（住院）发票 11：医疗服务（门诊）发票 12：自产农产品销售发票 13 拖拉机和联合收割机发票 14：机动车 15：二手车 16：农产品收购发票 17：光伏收购发票 18：卷烟发票
     */
    private String lqTdyslxDm;

    /**
     * 特殊票种主信息结构
     **/
    private JSONObject tdysZxx;

    /**
     * 特殊票种明细信息结构
     **/
    private JSONArray tdysMxxx;

    /**
     * lqTdyslxDm为10的时候，医疗明细信息
     **/
    private JSONObject tdysYlMxXx;

    /**
     *身份证编号字典
     **/
    private List<DictdetaModel> tdysSfzjlxDic;

    /**
     *医疗机构编号字典
     **/
    private List<DictdetaModel> tdysYljglxDic;

}
