package com.zcloud.personnel.positioning.dto;

import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;

/**
 * web-client
 *
 * @Author fangjiakai
 * @Date 2026-07-07
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AreaAddCmd extends Command {
    @ApiModelProperty(value = "区域编码", name = "areaCode")
    private String areaCode;

    @ApiModelProperty(value = "区域名称", name = "areaName")
    private String areaName;

    @ApiModelProperty(value = "区域类型 PORT港区 COMPANY_AREA公司区域 WORK_AREA作业区 BUFFER缓冲区", name = "areaType")
    private String areaType;

    @ApiModelProperty(value = "上级区域id", name = "parentId")
    private Long parentId;

    @ApiModelProperty(value = "上级区域编码", name = "parentCode")
    private String parentCode;

    @ApiModelProperty(value = "所属组织编码", name = "orgCode")
    private String orgCode;

    @ApiModelProperty(value = "所属组织名称", name = "orgName")
    private String orgName;

    @ApiModelProperty(value = "企业id/公司id（公司及子公司数据隔离）", name = "corpinfoId")
    private String corpinfoId;

    @ApiModelProperty(value = "企业名称/公司名称", name = "corpinfoName")
    private String corpinfoName;

    @ApiModelProperty(value = "区域层级", name = "areaLevel")
    private Integer areaLevel;

    @ApiModelProperty(value = "排序号", name = "sortNo")
    private Integer sortNo;

    @ApiModelProperty(value = "中心点经度", name = "centerLon")
    private BigDecimal centerLon;

    @ApiModelProperty(value = "中心点纬度", name = "centerLat")
    private BigDecimal centerLat;

    @ApiModelProperty(value = "区域边界坐标JSON", name = "polygonJson")
    private String polygonJson;

    @ApiModelProperty(value = "状态 ENABLED启用 DISABLED停用", name = "status")
    private String status;

    @ApiModelProperty(value = "绑定围栏id", name = "bindFenceId")
    private Long bindFenceId;

    @ApiModelProperty(value = "FindS围栏id", name = "findsFenceId")
    private Long findsFenceId;
}
