package com.zcloud.personnel.positioning.dto.clientobject;

import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * BI人员实时定位数据。
 *
 * @Author fangjiakai
 * @Date 2026-07-07
 */
@Data
public class BiPersonLocationCO extends ClientObject {
    @ApiModelProperty(value = "本平台用户ID", name = "userId")
    private Long userId;

    @ApiModelProperty(value = "人员姓名", name = "staffName")
    private String staffName;

    @ApiModelProperty(value = "本平台工号", name = "localStaffNo")
    private String localStaffNo;

    @ApiModelProperty(value = "人员工号", name = "staffNo")
    private String staffNo;

    @ApiModelProperty(value = "身份证号", name = "idCardNo")
    private String idCardNo;

    @ApiModelProperty(value = "手机号", name = "mobileNo")
    private String mobileNo;

    @ApiModelProperty(value = "本平台部门ID", name = "departmentId")
    private Long departmentId;

    @ApiModelProperty(value = "本平台部门名称", name = "departmentName")
    private String departmentName;

    @ApiModelProperty(value = "公司名称", name = "companyName")
    private String companyName;

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

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

    @ApiModelProperty(value = "企业信息ID", name = "corpinfoId")
    private String corpinfoId;

    @ApiModelProperty(value = "企业信息名称", name = "corpinfoName")
    private String corpinfoName;

    @ApiModelProperty(value = "港区，1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
    private Integer portArea;

    @ApiModelProperty(value = "统一社会信用代码", name = "creditCode")
    private String creditCode;

    @ApiModelProperty(value = "终端号", name = "terminalNo")
    private String terminalNo;

    @ApiModelProperty(value = "定位方式", name = "positionMode")
    private String positionMode;

    @ApiModelProperty(value = "当前位置名称", name = "currentLocation")
    private String currentLocation;

    @ApiModelProperty(value = "最后定位时间，毫秒时间戳", name = "lastLocationTime")
    private Long lastLocationTime;

    @ApiModelProperty(value = "经度", name = "lon")
    private BigDecimal lon;

    @ApiModelProperty(value = "纬度", name = "lat")
    private BigDecimal lat;

    @ApiModelProperty(value = "海拔", name = "alt")
    private BigDecimal alt;

    @ApiModelProperty(value = "速度", name = "speed")
    private BigDecimal speed;

    @ApiModelProperty(value = "方向", name = "direction")
    private BigDecimal direction;

    @ApiModelProperty(value = "是否在线", name = "online")
    private Boolean online;

    @ApiModelProperty(value = "是否告警", name = "alarmStatus")
    private Boolean alarmStatus;

    @ApiModelProperty(value = "未关闭告警数量", name = "alarmCount")
    private Integer alarmCount;

    @ApiModelProperty(value = "人员原始JSON数据", name = "staffRawJson")
    private String staffRawJson;

    @ApiModelProperty(value = "定位原始JSON数据", name = "locationRawJson")
    private String locationRawJson;
}
