package com.bs.cm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;

/**
 * 车辆主机信息对象 cm_vehicle_host
 *
 * @author bs
 * @date 2025-01-12
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cm_vehicle_host")
@Data
public class CmVehicleHost extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** 车辆主机ID */
    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "车辆主机ID")
    private Long id;

    /** 车辆ID */

    @Excel(name = "车辆ID")
    @ApiModelProperty(value = "车辆ID")
    private Long vehicleId;

    /** 设备类型 */

    @Excel(name = "设备类型")
    @ApiModelProperty(value = "设备类型")
    private String hostType;

    /** 厂商 */

    @Excel(name = "厂商")
    @ApiModelProperty(value = "厂商")
    private String manufacturer;

    /** 主机编号 */

    @Excel(name = "主机编号")
    @ApiModelProperty(value = "主机编号")
    private String hostNo;

    /** 流量卡号 */

    @Excel(name = "流量卡号")
    @ApiModelProperty(value = "流量卡号")
    private String simNo;

    /** 安装日期 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "安装日期")
    private Date setupDate;

    /** 生效日期 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "生效日期")
    private Date effectiveDate;

    /** 失效日期 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "失效日期")
    private Date expiringDate;

    /** 最后工作时间 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "最后工作时间")
    private Date lastWorkDate;

    /** 是否有效 */

    @Excel(name = "是否有效")
    @ApiModelProperty(value = "是否有效")
    private String isValid;

    /** 作业港区 */

    @Excel(name = "作业港区")
    @ApiModelProperty(value = "作业港区")
    private String workArea;

    /** 备注 */

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;


    @TableField(exist = false)
    private CmVehicle vehicle;

}
