package com.wms_main.model.vo.wms;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms_main.model.po.TAppVehicle;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 载具显示Vo
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VehicleVo {
    /**
     * 载具号
     */
    @JsonProperty("vehicleId")
    private String vehicleId;
    /**
     * 是否空载具
     */
    @JsonProperty("isEmpty")
    private Integer isEmpty;
    /**
     * 载具状态
     */
    @JsonProperty("vehicleStatus")
    private Integer vehicleStatus;
    /**
     * 载具类型
     */
    @JsonProperty("vehicleType")
    private String vehicleType;
    /**
     * 是否锁定
     */
    @JsonProperty("isLock")
    private Integer isLock;
    /**
     * 库位
     */
    @JsonProperty("locationId")
    private String locationId;
    /**
     * 上次入库时间
     */
    @JsonProperty("lastInTime")
    private LocalDateTime lastInTime;

    /**
     * 将po对象转换为vo对象
     * @param po po对象
     * @return vo
     */
    public static VehicleVo of(TAppVehicle po) {
        if (po == null) {
            return new VehicleVo();
        }
        // 返回vo
        return new VehicleVo(
                po.getVehicleId(),
                po.getIsEmpty(),
                po.getVehicleStatus(),
                po.getVehicleType(),
                po.getIsLock(),
                po.getLocationId(),
                po.getLastInTime()
        );
    }
}
