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.*;

/**
 * web-client
 *
 * @Author dearLin
 * @Date 2026-04-14 14:53:28
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VehicleDockLogAddCmd extends Command {
    @ApiModelProperty(value = "1一级口门，2二级口门", name = "level", required = true)
    @NotEmpty(message = "1一级口门，2二级口门不能为空")
    private String level;

    @ApiModelProperty(value = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆8，驻港单位员工车辆，9驻港单位公车", name = "vehicleBelongType", required = true)
    @NotEmpty(message = "车辆所属类型 1-股份员工车辆，2-股份单位车辆，3-分公司员工车辆，4-分公司单位车辆 ，5-相关方车辆， 6:临时车辆，7检查部门车辆8，驻港单位员工车辆，9驻港单位公车不能为空")
    private String vehicleBelongType;

    @ApiModelProperty(value = "车牌号", name = "licenceNo", required = true)
    @NotEmpty(message = "车牌号不能为空")
    private String licenceNo;

    @ApiModelProperty(value = "申请人名称", name = "applyName", required = true)
    @NotEmpty(message = "申请人名称不能为空")
    private String applyName;

    @ApiModelProperty(value = "申请时间", name = "applyTime", required = true)
    @NotEmpty(message = "申请时间不能为空")
    private String applyTime;

    @ApiModelProperty(value = "审批人名称", name = "auditName", required = true)
    @NotEmpty(message = "审批人名称不能为空")
    private String auditName;

    @ApiModelProperty(value = "审批时间", name = "auditTime", required = true)
    @NotEmpty(message = "审批时间不能为空")
    private String auditTime;

    @ApiModelProperty(value = "港区名称0全部，1东港，2西港", name = "portArea", required = true)
    @NotEmpty(message = "港区名称0全部，1东港，2西港不能为空")
    private String portArea;

    @ApiModelProperty(value = "有效期", name = "validDte", required = true)
    @NotEmpty(message = "有效期不能为空")
    private String validDte;

    @ApiModelProperty(value = "车牌颜色", name = "truckCardColor", required = true)
    @NotEmpty(message = "车牌颜色不能为空")
    private String truckCardColor;

    @ApiModelProperty(value = "车辆类型", name = "truckTypCod", required = true)
    @NotEmpty(message = "车辆类型不能为空")
    private String truckTypCod;

    @ApiModelProperty(value = "运全路  0 不可以，1 可以", name = "yqlCheckFlag", required = true)
    @NotEmpty(message = "运全路  0 不可以，1 可以不能为空")
    private String yqlCheckFlag;

    @ApiModelProperty(value = "司机名称", name = "driverNam", required = true)
    @NotEmpty(message = "司机名称不能为空")
    private String driverNam;

    @ApiModelProperty(value = "申请类别1	公务用车2	生产用车3	政府部门4	职工私家车5客户私家车", name = "truckAppTypCod", required = true)
    @NotEmpty(message = "申请类别1	公务用车2	生产用车3	政府部门4	职工私家车5客户私家车不能为空")
    private String truckAppTypCod;

    @ApiModelProperty(value = "对接状态 1没对接，2已对接", name = "dockFlag", required = true)
    @NotEmpty(message = "对接状态 1没对接，2已对接不能为空")
    private String dockFlag;

    @ApiModelProperty(value = "1对接失败，2对接成功", name = "dockStatus", required = true)
    @NotEmpty(message = "1对接失败，2对接成功不能为空")
    private String dockStatus;

    @ApiModelProperty(value = "对接失败原因", name = "reasonsRefusal", required = true)
    @NotEmpty(message = "对接失败原因不能为空")
    private String reasonsRefusal;

}

