package com.prolog.rdc.tms.model.vo.intelligent;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;


/**
* 智能调度派车单表 vo
* <p>
* Copyright: Copyright (C) 2023 prolog-int, Inc. All rights reserved.
* <p>
* Company: 湖北普罗格科技股份有限公司
*
*
* @author hongbo.pan
* @since 2023-08-24 12:27:10
*/
@Data
public class IntelligentDispatchLoadingVO {

    @NotBlank
    @ApiModelProperty(value = "调度单id")
    private String loadingId;

    @NotNull
    @ApiModelProperty(value = "装载率")
    private BigDecimal loadingRate;

    @ApiModelProperty(value = "备注")
    private String memo;

    @NotNull
    @ApiModelProperty(value = "司机ID")
    private Long driverId;

    @ApiModelProperty(value = "司机编号")
    private String driverCode;

    @ApiModelProperty(value = "司机名称")
    private String driverName;

    @ApiModelProperty(value = "司机手机号")
    private String driverPhoneNumber;

    @ApiModelProperty(value = "副司机ID")
    private String viceDriverId;

    @ApiModelProperty(value = "副司机编号")
    private String viceDriverCode;

    @ApiModelProperty(value = "副司机名称")
    private String viceDriverName;

    @ApiModelProperty(value = "副司机手机号")
    private String viceDriverPhoneNumber;

    @NotNull
    @ApiModelProperty(value = "车辆ID")
    private Long vehicleId;

    @ApiModelProperty(value = "车辆编号")
    private String vehicleCode;

    @ApiModelProperty(value = "车辆名称")
    private String vehicleName;

    @NotBlank
    @ApiModelProperty(value = "车牌号")
    private String vehiclePlateNumber;

    @ApiModelProperty(value = "车辆归属")
    private Integer vehicleAscription;

    @ApiModelProperty(value = "车辆隶属机构ID")
    private String vehicleAffiliationId;

    @ApiModelProperty(value = "车辆隶属机构CODE")
    private String vehicleAffiliationCode;

    @ApiModelProperty(value = "车辆隶属机构名称")
    private String vehicleAffiliationName;

    @NotNull
    @ApiModelProperty(value = "车型ID")
    private Long vehicleTypeId;

    @ApiModelProperty(value = "车型编码")
    private String vehicleTypeCode;

    @ApiModelProperty(value = "车型名称")
    private String vehicleTypeName;

    @ApiModelProperty(value = "车辆类别")
    private String vehicleTypeCategory;

    @ApiModelProperty(value = "车型载方")
    private BigDecimal vehicleTypeVolume;

    @ApiModelProperty(value = "车型载重")
    private BigDecimal vehicleTypeWeight;

    @ApiModelProperty(value = "送货员ID")
    private Long deliverymanId;

    @ApiModelProperty(value = "送货员编号")
    private String deliverymanCode;

    @ApiModelProperty(value = "送货员名称")
    private String deliverymanName;

    @ApiModelProperty(value = "送货员手机号")
    private String deliverymanPhoneNumber;

    @ApiModelProperty(value = "副送货员ID")
    private String viceDeliverymanId;

    @ApiModelProperty(value = "副送货员编号")
    private String viceDeliverymanCode;

    @ApiModelProperty(value = "副送货员名称")
    private String viceDeliverymanName;

    @ApiModelProperty(value = "副送货员手机号")
    private String viceDeliverymanPhoneNumber;

    @NotNull
    @ApiModelProperty(value = "配载体积装载率")
    private BigDecimal volumeLoadingRate;

    @NotNull
    @ApiModelProperty(value = "配载重量装载率")
    private BigDecimal weightLoadingRate;

    @ApiModelProperty(value = "设备ID")
    private String deviceId;

    @ApiModelProperty(value = "设备CODE")
    private String deviceCode;

    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    @ApiModelProperty(value = "容器id")
    private String containerId;

    @ApiModelProperty(value = "容器编号")
    private String containerCode;

    @ApiModelProperty(value = "容器名称")
    private String containerName;

    @ApiModelProperty(value = "最大行驶时间(小时)")
    private BigDecimal driverMaxTravelTime;

    @ApiModelProperty(value = "最大行驶里程(公里)")
    private BigDecimal driverMaxMileage;

    @ApiModelProperty(value = "最多配送客户数")
    private BigDecimal driverMaxDeliveryCustomer;

}
