package com.cico.nest.lcdp.boot.core.system.controller.admin.dept.vo.dept;

import com.cico.nest.lcdp.boot.api.system.enums.DictTypeConstants;
import com.cico.nest.lcdp.framework.excel.core.annotations.DictFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 部门信息 Response VO")
@Data
public class DeptRespVO {

    @Schema(description = "部门编号", example = "1024")
    private String id;

    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "lcdp")
    private String name;

    @Schema(description = "父部门 ID", example = "1024")
    private String parentId;

    @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Integer sort;

    @Schema(description = "负责人的用户编号", example = "2048")
    private Long leaderUserId;

    @Schema(description = "联系电话", example = "15601691000")
    private String phone;

    @Schema(description = "邮箱", example = "lcdp@test.cn")
    private String email;

    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
    private LocalDateTime createTime;

    /**
     * 部门等级:39101一级，39102二级，39103三级，39104四级，39105五级，39106六级
     */
    @DictFormat(DictTypeConstants.DEPT_LEVEL)
    private Integer level;

    /*****  以下是全息隧道参考隧道管控新增的字段  *****/
    /**
     * 编号
     */
    private String code;
    /**
     * 别名
     */
    private String alias;
    /**
     * 部门类型(见字典):39001省中心，39002-监控中心，39003-区域监控中心，39004-监控分中心，39005-隧道所，39006-救援站
     */
    @DictFormat(DictTypeConstants.DEPT_TYPE)
    private String type;
    /**
     * 板块id
     */
    @DictFormat(DictTypeConstants.DEPT_PLATE)
    private String plateId;
    /**
     * 管理处
     */
    private String adminName;
    /**
     * 集团内外(见字典)：39201集团内，39202集团外
     */
    @DictFormat(DictTypeConstants.DEPT_GROUP_INOUT)
    private String inGroup;
    /**
     * 纬度信息
     */
    private String latitude;
    /**
     * 经度信息
     */
    private String longitude;
    /**
     * 备注
     */
    private String remarks;

}
