package com.dcsoft.system.vehicle.domain;

import java.util.Date;

import com.dcsoft.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dcsoft.common.core.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 车辆信息对象 car_info
 *
 * @author nichun
 * @date 2023-12-26
 */
public class CarInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** customer_id */

    private Long customerId;

    /** 白名单生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "白名单生效时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 2)
    private Date enableTime;

    /** 白名单失效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "白名单失效时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 3)
    private Date overdueTime;

    /** 是否启动 */
    @Excel(name = "是否启动",sort = 4,readConverterExp="0=否,1=是")
    private String enable;

    /** 车牌号 */
    @Excel(name = "车牌号",sort = 5)
    private String plate;

    /** 是否启用时间段 */
    @Excel(name = "是否启用时间段",sort = 6,readConverterExp="0=否,1=是")
    private String timeSegEnable;

    /** 时间段 */
    private String segTime;


    /** 是否需要报警 */
    @Excel(name = "是否需要报警",sort = 7,readConverterExp="0=否,1=是")
    private String needAlarm;

    /** 用户自定义代码 */
    private String vehicleCode;

    /** 用户自定义的注释 */
    private String vehicleComment;

    /** 所属人员 */

    private Long peopleId;

    /** 是否删除 0 是未删除 2是删除 */
    private String delFlag;

    /** 同步标识 sync 0是未同步 1是已同步 */
    private String sync;

    private Long parkId;
    @Excel(name = "所属员工",sort = 9)
    private String peopleName;

    @Excel(name = "所属车场",sort = 1)
    private String parkName;

    private int num;

    @Excel(name = "联系电话",sort = 10)
    private String phone;

    @Excel(name = "备注",sort =11)
    private String remark;
    private String carType;

    @Excel(name = "所属单位",sort = 8,readConverterExp = "1=锦盛化工,2=锦亿科技,3=锦泽化工,4=锋盛环保,5=锦鑫化工,6=锦鑫稀材,7=锦盛电厂,8=锦桂科技,9=晟锦科技,10=锦淳公司")
    private String unit;

    public Long getParkId() {
        return parkId;
    }

    public void setParkId(Long parkId) {
        this.parkId = parkId;
    }

    public String getPeopleName() {
        return peopleName;
    }

    public void setPeopleName(String peopleName) {
        this.peopleName = peopleName;
    }

    public String getParkName() {
        return parkName;
    }

    public void setParkName(String parkName) {
        this.parkName = parkName;
    }

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }
    public void setEnableTime(Date enableTime)
    {
        this.enableTime = enableTime;
    }

    public Date getEnableTime()
    {
        return enableTime;
    }
    public void setOverdueTime(Date overdueTime)
    {
        this.overdueTime = overdueTime;
    }

    public Date getOverdueTime()
    {
        return overdueTime;
    }
    public void setEnable(String enable)
    {
        this.enable = enable;
    }

    public String getEnable()
    {
        return enable;
    }
    public void setPlate(String plate)
    {
        this.plate = plate;
    }

    public String getPlate()
    {
        return plate;
    }
    public void setTimeSegEnable(String timeSegEnable)
    {
        this.timeSegEnable = timeSegEnable;
    }

    public String getTimeSegEnable()
    {
        return timeSegEnable;
    }
    public void setSegTime(String segTime)
    {
        this.segTime = segTime;
    }

    public String getSegTime()
    {
        return segTime;
    }
    public void setNeedAlarm(String needAlarm)
    {
        this.needAlarm = needAlarm;
    }

    public String getNeedAlarm()
    {
        return needAlarm;
    }
    public void setVehicleCode(String vehicleCode)
    {
        this.vehicleCode = vehicleCode;
    }

    public String getVehicleCode()
    {
        return vehicleCode;
    }
    public void setVehicleComment(String vehicleComment)
    {
        this.vehicleComment = vehicleComment;
    }

    public String getVehicleComment()
    {
        return vehicleComment;
    }
    public void setPeopleId(Long peopleId)
    {
        this.peopleId = peopleId;
    }

    public Long getPeopleId()
    {
        return peopleId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setSync(String sync)
    {
        this.sync = sync;
    }

    public String getSync()
    {
        return sync;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getCarType() {
        return carType;
    }

    public void setCarType(String carType) {
        this.carType = carType;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("customerId", getCustomerId())
            .append("enableTime", getEnableTime())
            .append("overdueTime", getOverdueTime())
            .append("enable", getEnable())
            .append("plate", getPlate())
            .append("timeSegEnable", getTimeSegEnable())
            .append("segTime", getSegTime())
            .append("needAlarm", getNeedAlarm())
            .append("vehicleCode", getVehicleCode())
            .append("vehicleComment", getVehicleComment())
            .append("peopleId", getPeopleId())
            .append("delFlag", getDelFlag())
            .append("sync", getSync())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
