package com.hotwj.platform.resourceManagement.vehicleManagement.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 公司车辆信息对象 hot_vehicle
 *
 * @author shihongwei
 * @date 2025-12-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hot_vehicle")
public class HotVehicle extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private String id;

    /**
     * 公司ID
     */
    private Long companyId;

    /**
     * GPS参数
     */
    private String gpsParams;

    /**
     * 是否挂车0=否, 1=是
     */
    private Long isTrailer;

    /**
     * 车辆状态 1=正常, 0=停用
     */
    private Long vehicleStatus;

    /**
     * 运营状态:1=正常,2=暂停,3=过户,4=报废
     */
    private Long operationStatus;

    /**
     * 备注
     */
    private String remark;

    /**
     * 当前驾驶员id(多个逗号分隔)
     */
    private String currentDriver;

    /**
     * 车身照片URL(多个逗号分隔)
     */
    private String bodyImageUrls;

    /**
     * 其它证附件URL(多个逗号分隔)
     */
    private String otherAttachmentUrls;

    /**
     * 车身颜色
     */
    private String color;

    /**
     * 出厂日期
     */
    private Date manufactureDate;

    /**
     * 燃料种类
     */
    private String fuelType;

    /**
     * 制造厂名称
     */
    private String manufacturerName;

    /**
     * 车牌颜色
     */
    private String plateColor;

    /**
     * 车辆登记日期
     */
    private Date vehicleRegisterDate;

    /**
     * 发动机排量(ml)
     */
    private Long engineDisplacementMl;

    /**
     * 轮胎数量
     */
    private Long tireCount;

    /**
     * 底盘型号
     */
    private String chassisModel;

    /**
     * 卫星定位装置
     */
    private String satellitePositioningDevice;

    /**
     * 变速器
     */
    private String transmission;

    /**
     * 缓速器
     */
    private String retarder;

    /**
     * 货箱内部容积(立方米)
     */
    private BigDecimal cargoInnerVolumeM3;

    /**
     * 排放标准
     */
    private String emissionStandard;

    /**
     * 电池类型
     */
    private String batteryType;

    /**
     * 承保座数
     */
    private Long insuredSeatCount;

    /**
     * 行车制动方式
     */
    private String serviceBrakeType;

    /**
     * 前轮制动器形式
     */
    private String frontBrakeType;

    /**
     * 后轮制动器形式
     */
    private String rearBrakeType;

    /**
     * 制动防抱死系统
     */
    private String hasAbs;

    /**
     * 空调系统
     */
    private String hasAirConditioning;

    /**
     * 三角木标记
     */
    private String hasTriangleBlock;

    /**
     * 灭火器
     */
    private String hasFireExtinguisher;

    /**
     * 故障警示牌
     */
    private String hasBreakdownWarningSign;

    /**
     * 国产标记
     */
    private String domesticMark;

    /**
     * 车辆分类
     */
    private String vehicleCategory;

    /**
     * 强制报废期止
     */
    private Date mandatoryScrapEndDate;

    /**
     * 使用性质
     */
    private String useNature;

    /**
     * 车辆型号
     */
    private String vehicleModel;

    /**
     * 车架号
     */
    private String frameNumber;

    /**
     * 货箱内部长(mm)
     */
    private Long cargoInnerLengthMm;

    /**
     * 货箱内部宽(mm)
     */
    private Long cargoInnerWidthMm;

    /**
     * 货箱内部高(mm)
     */
    private Long cargoInnerHeightMm;

    /**
     * 是否按揭:0=否,1=是
     */
    private Long isMortgaged;

    /**
     * 按揭公司
     */
    private String mortgageCompany;

    /**
     * 按揭联系人
     */
    private String mortgageContact;

    /**
     * 按揭联系人电话
     */
    private String mortgageContactPhone;

    /**
     * 发动机净功率(kW)
     */
    private Long enginePowerKw;

    /**
     * 电机功率(kW)
     */
    private Long motorPowerKw;

    /**
     * 驱动电机型号
     */
    private String engineNumber;

    /**
     * 轮胎规格
     */
    private String tireSpec;

    /**
     * 轴距(mm)
     */
    private Long wheelbaseMm;

    /**
     * 车轴数
     */
    private Long axleCount;

    /**
     * 登记证书图片URL(多个逗号分隔)
     */
    private String registerCertImageUrls;

    /**
     * 车牌号
     */
    private String plateNumber;

    /**
     * 档案号
     */
    private String archiveNo;

    /**
     * 车辆类型
     */
    private String vehicleType;

    /**
     * 注册日期
     */
    private Date firstRegisterDate;

    /**
     * 发证日期
     */
    private Date certificateIssueDate;

    /**
     * 检验有效期(YYYY-MM)
     */
    private String inspectionValidMonth;

    /**
     * 机动车所有人
     */
    private String owner;

    /**
     * 地址
     */
    private String address;

    /**
     * 品牌型号
     */
    private String brandModel;

    /**
     * 核定载人数
     */
    private Long ratedPassengerCount;

    /**
     * 总质量(kg)
     */
    private Long grossWeightKg;

    /**
     * 整备质量(kg)
     */
    private Long curbWeightKg;

    /**
     * 核定载质量(kg)
     */
    private Long ratedLoadKg;

    /**
     * 准牵引总质量(kg)
     */
    private Long towingMassKg;

    /**
     * 车辆外廓长度(mm)
     */
    private Long vehicleLengthMm;

    /**
     * 车辆外廓宽度(mm)
     */
    private Long vehicleWidthMm;

    /**
     * 车辆外廓高度(mm)
     */
    private Long vehicleHeightMm;

    /**
     * 行驶证主页图片URL
     */
    private String drivingLicenseMainUrls;

    /**
     * 行驶证副页图片URL
     */
    private String drivingLicenseAuxUrls;

    /**
     * 行驶证其他URL
     */
    private String drivingLicenseOtherUrl;

    /**
     * 运输证号
     */
    private String transportLicenseNo;

    /**
     * 运输证注册日期
     */
    private Date transportRegisterDate;

    /**
     * 运输证发证日期
     */
    private Date transportIssueDate;

    /**
     * 运输证有效期(YYYY-MM)
     */
    private String transportValidMonth;

    /**
     * 运输证图片URL(多个逗号分隔)
     */
    private String transportLicenseUrls;

    /**
     * 发动机号
     */
    private String driveMotorModel;

    /**
     * 0=正常, 1=已删除
     */
    @TableLogic
    private Long isDeleted;


}
