package com.zcloud.primeport.dto;

import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * web-client
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:23
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VehicleApplyAddCmd extends Command {
    @ApiModelProperty(value = "车牌类型数据字典", name = "licenceType")
    @NotEmpty(message = "车牌类型数据字典不能为空")
    private String licenceType;
    @ApiModelProperty(value = "车牌类型名称0-白牌  1- 蓝牌   2-黄牌  3-绿牌   4-黑牌", name = "licenceTypeName")
    @NotEmpty(message = "车牌类型名称0-白牌  1- 蓝牌   2-黄牌  3-绿牌   4-黑牌不能为空")
    private String licenceTypeName;
    @ApiModelProperty(value = "车牌号", name = "licenceNo")
    @NotEmpty(message = "车牌号不能为空")
    private String licenceNo;
    @ApiModelProperty(value = "车辆类型", name = "vehicleType")
    @NotEmpty(message = "车辆类型不能为空")
    private String vehicleType;
    @ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName")
    @NotEmpty(message = "车辆类型-名字不能为空")
    private String vehicleTypeName;
    @ApiModelProperty(value = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆", name = "vehicleBelongType")
    @NotEmpty(message = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆不能为空")
    private String vehicleBelongType;
    @ApiModelProperty(value = "授权范围港区与区域", name = "gateLevelAuthArea")
    @NotEmpty(message = "授权范围港区与区域不能为空")
    private String gateLevelAuthArea;
    @ApiModelProperty(value = "访问起始时间", name = "visitStartTime")
    @NotEmpty(message = "访问起始时间不能为空")
    private String visitStartTime;
    @ApiModelProperty(value = "访问结束时间", name = "visitEndTime")
    @NotEmpty(message = "访问结束时间不能为空")
    private String visitEndTime;
    @ApiModelProperty(value = "排放标准名称", name = "emissionStandards")
    private String emissionStandards;
    @ApiModelProperty(value = "排放标准", name = "emissionStandardsName")
    private String emissionStandardsName;
    @ApiModelProperty(value = "行驶证照片", name = "drivingLicenseId")
    @NotNull(message = "行驶证照片不能为空")
    private String drivingLicenseId;
    @ApiModelProperty(value = "车辆照片", name = "attachmentId")
    @NotNull(message = "车辆照片不能为空")
    private String attachmentId;
    @ApiModelProperty(value = "告知签字", name = "informSignId")
    private String informSignId;
    @ApiModelProperty(value = "项目id", name = "projectId")
    private Long projectId;
    @ApiModelProperty(value = "项目名称", name = "projectName")
    private String projectName;
//    @ApiModelProperty(value = "1被拉黑2未拉黑", name = "blockedFlag")
//    private Integer blockedFlag;
    @ApiModelProperty(value = "口门id", name = "mkmjId")
    private Long mkmjId;
    @ApiModelProperty(value = "口门名称", name = "mkmjName")
    private String mkmjName;
    @ApiModelProperty(value = "临时申请驾驶人手机号", name = "lsUserPhone")
    private String lsUserPhone;
    @ApiModelProperty(value = "临时申请驾驶人身份证", name = "lsUserIdcard")
    private String lsUserIdcard;
    @ApiModelProperty(value = "临时申请驾驶人姓名", name = "drivingUserId")
    private Long drivingUserId;
    @ApiModelProperty(value = "临时申请驾驶人姓名", name = "drivingUserName")
    private String drivingUserName;
    @ApiModelProperty(value = "来访事由", name = "remarks")
    private String remarks;


    //车辆所属企业ID
    @ApiModelProperty(value = "车辆所属企业ID", name = "vehicleCorpId")
    private Long vehicleCorpId;
    @ApiModelProperty(value = "车辆所属企业名称", name = "vehicleCorpName")
    //车辆所属企业名称
    private String vehicleCorpName;
    @ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId")
    //车辆所属部门id
    private Long vehicleDepartmentId;
    @ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName")
    //车辆所属部门名称
    private String vehicleDepartmentName;
    @ApiModelProperty(value = "车辆所属人id", name = "employeeVehicleUserId")
    //车辆所属人员id
    private Long employeeVehicleUserId;
    @ApiModelProperty(value = "车辆所属人名称", name = "employeeVehicleUserName")
    //车辆所属人员名称
    private String employeeVehicleUserName;
    // 审批
    @ApiModelProperty(value = "审核企业", name = "auditCorpId")
    private Long auditCorpId;
    @ApiModelProperty(value = "审核企业名称", name = "auditCorpName")
    private String auditCorpName;
    @ApiModelProperty(value = "审核部门", name = "auditDeptId")
    private Long auditDeptId;
    @ApiModelProperty(value = "审核部门名称", name = "auditDeptName")
    private String auditDeptName;
    @ApiModelProperty(value = "审核用户", name = "auditUserId")
    private Long auditUserId;
    @ApiModelProperty(value = "审核用户名称", name = "auditUserName")
    private String auditUserName;

}

