package com.zcloud.primeport.persistence.dataobject;

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 com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * web-infrastructure
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:23
 */
@Data
@TableName("vehicle_apply")
@EqualsAndHashCode(callSuper = true)
public class VehicleApplyDO extends BaseDO {
    //车辆状态(1未启用,2启用)
    @ApiModelProperty(value = "车辆状态(1未启用,2启用)")
    private Integer statusFlag;
    //车牌类型数据字典
    @ApiModelProperty(value = "车牌类型数据字典")
    private String licenceType;
    //车牌类型名称0-白牌  1- 蓝牌   2-黄牌  3-绿牌   4-黑牌
    @ApiModelProperty(value = "车牌类型名称0-白牌  1- 蓝牌   2-黄牌  3-绿牌   4-黑牌")
    private String licenceTypeName;
    //车牌号
    @ApiModelProperty(value = "车牌号")
    private String licenceNo;
    //车辆类型
    @ApiModelProperty(value = "车辆类型")
    private String vehicleType;
    //车辆类型-名字
    @ApiModelProperty(value = "车辆类型-名字")
    private String vehicleTypeName;
    //车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆
    @ApiModelProperty(value = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆")
    private String vehicleBelongType;
    //授权范围港区与区域
    @ApiModelProperty(value = "授权范围港区与区域")
    private String gateLevelAuthArea;
    //审核状态(1:审核中;2审核通过; 3：审核驳回，4无需审批（检查部门车辆）)
    @ApiModelProperty(value = "审核状态(1:审核中;2审核通过; 3：审核驳回，4无需审批（检查部门车辆）)")
    private Integer auditFlag;
    //进出港权限(1:有 2：无)
    @ApiModelProperty(value = "进出港权限(1:有 2：无)")
    private Integer mkmjPermission;
    //访问起始时间
    @ApiModelProperty(value = "访问起始时间")
    private String visitStartTime;
    //访问结束时间
    @ApiModelProperty(value = "访问结束时间")
    private String visitEndTime;
    @ApiModelProperty(value = "有效期是否过期。1过期2没过期")
    private String expiredExpiration;
    //车辆所属企业ID
    @ApiModelProperty(value = "车辆所属企业ID")
    private Long vehicleCorpId;
    //车辆所属企业名称
    @ApiModelProperty(value = "车辆所属企业名称")
    private String vehicleCorpName;
    //车辆所属部门id
    @ApiModelProperty(value = "车辆所属部门id")
    private Long vehicleDepartmentId;
    //车辆所属部门名称
    @ApiModelProperty(value = "车辆所属部门名称")
    private String vehicleDepartmentName;
    //车辆所属人id(员工车辆/驾驶人id)
    @ApiModelProperty(value = "车辆所属人id(员工车辆/驾驶人id)")
    private Long employeeVehicleUserId;
    //车辆所属人姓名(员工车辆/驾驶人名称)
    @ApiModelProperty(value = "车辆所属人姓名(员工车辆/驾驶人名称)")
    private String employeeVehicleUserName;
    //排放标准名称
    @ApiModelProperty(value = "排放标准名称")
    private String emissionStandards;
    //排放标准:
    @ApiModelProperty(value = "排放标准:")
    private String emissionStandardsName;
    //行驶证照片
    @ApiModelProperty(value = "行驶证照片")
    private String drivingLicenseId;
    //车辆照片
    @ApiModelProperty(value = "车辆照片")
    private String attachmentId;
    //告知签字
    @ApiModelProperty(value = "告知签字")
    private String informSignId;
    //项目id
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    //项目名称
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    //1被拉黑2未拉黑
    @ApiModelProperty(value = "1被拉黑2未拉黑")
    private Integer blockedFlag;
    @TableField(exist = false)
    @ApiModelProperty(value = "项目人员数")
    private Integer personApplyCount;
    private Long mkmjId;
    private String mkmjName;
    private String lsUserPhone;
    private String lsUserIdcard;
    private Long drivingUserId;
    private String drivingUserName;
    @ApiModelProperty(value = "审核企业")
    @TableField(exist = false)
    private Long auditCorpId;

    @ApiModelProperty(value = "审核企业名称")
    @TableField(exist = false)
    private String auditCorpName;

    @ApiModelProperty(value = "审核部门")
    @TableField(exist = false)
    private Long auditDeptId;

    @ApiModelProperty(value = "审核部门名称")
    @TableField(exist = false)
    private String auditDeptName;

    @ApiModelProperty(value = "审核用户")
    @TableField(exist = false)
    private Long auditUserId;

    @ApiModelProperty(value = "审核用户名称")
    @TableField(exist = false)
    private String auditUserName;
    @ApiModelProperty(value = "检查部门名称", name = "checkDepartmentName")
    @TableField(exist = false)
    private String checkDepartmentName;


    @TableField(exist = false)
    private String type;
    @TableField(exist = false)
    private String belongType;
    @TableField(exist = false)
    private int waitAuditCount;
}

