package com.ruoyi.info.collection.domain.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.ruoyi.common.annotation.DictDropdown;
import com.ruoyi.common.annotation.TextFormat;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 实体中介Excel导入导出对象
 *
 * @author ruoyi
 * @date 2026-02-04
 */
@Data
public class CcdiIntermediaryEntityExcel implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 机构名称 */
    @ExcelProperty(value = "机构名称*", index = 0)
    @ColumnWidth(30)
    private String enterpriseName;

    /** 统一社会信用代码 */
    @ExcelProperty(value = "统一社会信用代码*", index = 1)
    @ColumnWidth(20)
    @TextFormat
    private String socialCreditCode;

    /** 主体类型 */
    @ExcelProperty(value = "主体类型", index = 2)
    @ColumnWidth(15)
    @DictDropdown(dictType = "ccdi_entity_type")
    private String enterpriseType;

    /** 企业性质 */
    @ExcelProperty(value = "企业性质", index = 3)
    @ColumnWidth(15)
    @DictDropdown(dictType = "ccdi_enterprise_nature")
    private String enterpriseNature;

    /** 行业分类 */
    @ExcelProperty(value = "行业分类", index = 4)
    @ColumnWidth(15)
    private String industryClass;

    /** 所属行业 */
    @ExcelProperty(value = "所属行业", index = 5)
    @ColumnWidth(15)
    private String industryName;

    /** 成立日期 */
    @ExcelProperty(value = "成立日期", index = 6)
    @ColumnWidth(15)
    private Date establishDate;

    /** 注册地址 */
    @ExcelProperty(value = "注册地址", index = 7)
    @ColumnWidth(40)
    private String registerAddress;

    /** 法定代表人 */
    @ExcelProperty(value = "法定代表人", index = 8)
    @ColumnWidth(15)
    private String legalRepresentative;

    /** 法定代表人证件类型 */
    @ExcelProperty(value = "法定代表人证件类型", index = 9)
    @ColumnWidth(20)
    @DictDropdown(dictType = "ccdi_certificate_type")
    private String legalCertType;

    /** 法定代表人证件号码 */
    @ExcelProperty(value = "法定代表人证件号码", index = 10)
    @ColumnWidth(20)
    @TextFormat
    private String legalCertNo;

    /** 股东1 */
    @ExcelProperty(value = "股东1", index = 11)
    @ColumnWidth(15)
    private String shareholder1;

    /** 股东2 */
    @ExcelProperty(value = "股东2", index = 12)
    @ColumnWidth(15)
    private String shareholder2;

    /** 股东3 */
    @ExcelProperty(value = "股东3", index = 13)
    @ColumnWidth(15)
    private String shareholder3;

    /** 股东4 */
    @ExcelProperty(value = "股东4", index = 14)
    @ColumnWidth(15)
    private String shareholder4;

    /** 股东5 */
    @ExcelProperty(value = "股东5", index = 15)
    @ColumnWidth(15)
    private String shareholder5;

    /** 备注 */
    @ExcelProperty(value = "备注", index = 16)
    @ColumnWidth(30)
    private String remark;
}
