package com.wms.entity.app.request;

import cn.hutool.core.bean.BeanUtil;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms.entity.table.Location;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 库位查询请求
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class LocationQuery extends PageQuery {
    /**
     * 库位号
     */
    @JsonProperty("locationId")
    private String locationId;
    /**
     * 库区编号
     */
    @JsonProperty("areaId")
    private Integer areaId;
    /**
     * 设备编号
     */
    @JsonProperty("equipmentId")
    private Integer equipmentId;
    /**
     * 库位类型
     */
    @JsonProperty("locationType")
    private Integer locationType;
    /**
     * 排
     */
    @JsonProperty("wRow")
    private Integer wRow;
    /**
     * 列
     */
    @JsonProperty("wCol")
    private Integer wCol;
    /**
     * 层
     */
    @JsonProperty("wLayer")
    private Integer wLayer;
    /**
     * 深度
     */
    @JsonProperty("wDepth")
    private Integer wDepth;
    /**
     * 是否锁定
     */
    @JsonProperty("isLock")
    private Integer isLock;
    /**
     * 库位状态
     */
    @JsonProperty("locationStatus")
    private Integer locationStatus;
    /**
     * 载具号
     */
    @JsonProperty("vehicleId")
    private String vehicleId;

    /**
     * 将locationQuery转化为LocationPO
     * @return locationPO
     */
    public Location toLocationPO() {
        return BeanUtil.copyProperties(this, Location.class);
    }
}
