package com.engine.organization.entity.company.dto;

import com.engine.organization.annotation.OrganizationTable;
import com.engine.organization.annotation.TableTitle;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @description:
 * @author:dxfeng
 * @createTime: 2022/05/16
 * @version: 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@OrganizationTable(pageId = "2c66b3a4-d4f8-11ec-9774-00ffcbed7508")
public class CompListDTO {
    /**
     * 主键id
     */
    private Long id;
    /**
     * 是否被引用
     */
    private Integer isUsed;
    /**
     * 名称
     */
    @TableTitle(title = "名称", dataIndex = "compName", key = "compName")
    private String compName;

    /**
     * 编号
     */
    @TableTitle(title = "编号", dataIndex = "compNo", key = "compNo")
    private String compNo;

    /**
     * 简称
     */
    @TableTitle(title = "简称", dataIndex = "compNameShort", key = "compNameShort")
    private String compNameShort;

    /**
     * 上级公司
     */
    @TableTitle(title = "上级分部", dataIndex = "parentCompName", key = "parentCompName")
    private String parentCompName;

    private Long parentCompany;

    /**
     * 组织机构代码
     */
    @TableTitle(title = "组织机构代码", dataIndex = "orgCode", key = "orgCode")
    private String orgCode;

    /**
     * 行业
     */
    @TableTitle(title = "行业", dataIndex = "industry", key = "industry")
    private String industry;

    /**
     * 负责人
     */
    @TableTitle(title = "负责人", dataIndex = "compPrincipal", key = "compPrincipal")
    private String compPrincipal;

    @TableTitle(title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true)
    private Integer showOrder;

    /**
     * 禁用标记
     */
    @TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag")
    private int forbiddenTag;

    /**
     * 操作列
     */
    @TableTitle(title = "", dataIndex = "operate", key = "operate")
    private String operate;

    /**
     * 子节点
     */
    private List<CompListDTO> children;
}
