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:24
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VehicleApplyUpdateCmd extends Command {
    @ApiModelProperty(value = "id", name = "id")
    @NotNull(message = "id不能为空")
    private Long id;
    @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 = "vehicleType")
    @NotEmpty(message = "车辆类型不能为空")
    private String vehicleType;
    @ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName")
    @NotEmpty(message = "车辆类型-名字不能为空")
    private String vehicleTypeName;
    @ApiModelProperty(value = "授权范围港区与区域", name = "gateLevelAuthArea")
    @NotEmpty(message = "授权范围港区与区域不能为空")
    private String gateLevelAuthArea;
    @ApiModelProperty(value = "访问起始时间", name = "visitStartTime")
    @NotNull(message = "访问起始时间不能为空")
    private String visitStartTime;
    @ApiModelProperty(value = "访问结束时间", name = "visitEndTime")
    @NotNull(message = "访问结束时间不能为空")
    private String visitEndTime;
    @ApiModelProperty(value = "车辆所属企业ID", name = "vehicleCorpId")
    @NotNull(message = "车辆所属企业ID不能为空")
    private Long vehicleCorpId;
    @ApiModelProperty(value = "车辆所属企业名称", name = "vehicleCorpName")
    @NotEmpty(message = "车辆所属企业名称不能为空")
    private String vehicleCorpName;
    @ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId")
    @NotNull(message = "车辆所属部门id不能为空")
    private Long vehicleDepartmentId;
    @ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName")
    @NotEmpty(message = "车辆所属部门名称不能为空")
    private String vehicleDepartmentName;
    @ApiModelProperty(value = "车辆所属人id(员工车辆/驾驶人id)", name = "employeeVehicleUserId")
//    @NotNull(message = "车辆所属人id(员工车辆/驾驶人id)不能为空")
    private Long employeeVehicleUserId;
    @ApiModelProperty(value = "车辆所属人姓名(员工车辆/驾驶人名称)", name = "employeeVehicleUserName")
//    @NotEmpty(message = "车辆所属人姓名(员工车辆/驾驶人名称)不能为空")
    private String employeeVehicleUserName;
    @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")
//    @NotNull(message = "告知签字不能为空")
    private String informSignId;
    @ApiModelProperty(value = "项目id", name = "projectId")
    private Long projectId;
    @ApiModelProperty(value = "项目名称", name = "projectName")
    private String projectName;

    // 审批
    @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;

}

