package com.prolog.rdc.tms.model.entity;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Table;

/**
* 智能调度运单表 Model
* <p>
* Copyright: Copyright (C) 2023 prolog-int, Inc. All rights reserved.
* <p>
* Company: 湖北普罗格科技股份有限公司
*
*
* @author hongbo.pan
* @since 2023-08-24 12:27:10
*/
@Data
@Table(value = "tms_intelligent_dispatch_loading")
public class TmsIntelligentDispatchLoading implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "调度单id")
    @Id
    @Column(value = "loading_id")
    private String loadingId;

    @ApiModelProperty(value = "智能调度单")
    @Column(value = "intelligent_dispatch_id")
    private String intelligentDispatchId;

    @ApiModelProperty(value = "行驶时长")
    @Column(value = "drive_duration")
    private BigDecimal driveDuration;

    @ApiModelProperty(value = "总里程数")
    @Column(value = "total_mileage")
    private BigDecimal totalMileage;

    @ApiModelProperty(value = "预估成本")
    @Column(value = "estimate_cost")
    private BigDecimal estimateCost;

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

    @ApiModelProperty(value = "调度状态 数据字典：INTELLIGENT_DISPATCH_LOADING_STATUS:1待调度 2已调度")
    @Column(value = "status")
    private Integer status;

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

    @ApiModelProperty(value = "企业ID")
    @Column(value = "enterprise_id")
    private Long enterpriseId;

    @ApiModelProperty(value = "企业名称")
    @Column(value = "enterprise_name")
    private String enterpriseName;

    @ApiModelProperty(value = "创建时间")
    @Column(value = "createtime")
    private Date createtime;

    @ApiModelProperty(value = "创建人")
    @Column(value = "createperson")
    private String createperson;

    @ApiModelProperty(value = "修改时间")
    @Column(value = "updatetime")
    private Date updatetime;

    @ApiModelProperty(value = "修改人")
    @Column(value = "updateperson")
    private String updateperson;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @ApiModelProperty(value = "承运方类型 数据字典LINE_CARRIER_TYPE:1.承运商  2.司机")
    @Column(value = "carrier_type")
    private Integer carrierType;

    @ApiModelProperty(value = "承运方ID")
    @Column(value = "carrier_id")
    private Long carrierId;

    @ApiModelProperty(value = "承运方编码")
    @Column(value = "carrier_code")
    private String carrierCode;

    @ApiModelProperty(value = "承运方名称")
    @Column(value = "carrier_name")
    private String carrierName;

    @ApiModelProperty(value = "运单数")
    @Column(value = "ship_bill_num")
    private Integer shipBillNum;

    @ApiModelProperty(value = "地图总里程数")
    @Column(value = "total_mileage_map")
    private BigDecimal totalMileageMap;

    @ApiModelProperty(value = "总件数")
    @Column(value = "total_pcs")
    private BigDecimal totalPcs;

    @ApiModelProperty(value = "总体积")
    @Column(value = "total_volume")
    private BigDecimal totalVolume;

    @ApiModelProperty(value = "总重量")
    @Column(value = "total_weight")
    private BigDecimal totalWeight;

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

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

    @ApiModelProperty(value = "所属部门ID")
    @Column(value = "department_id")
    private String departmentId;

    @ApiModelProperty(value = "所属部门编码")
    @Column(value = "department_code")
    private String departmentCode;

    @ApiModelProperty(value = "所属部门名称")
    @Column(value = "department_name")
    private String departmentName;

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

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

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

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

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

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

}
