package cn.iocoder.yudao.module.order.vo.orderLocation;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Objects;

/**
* 订单仓位合并 Response VO
* @author 系统管理员
*/
@Data
@Accessors(chain = true)
@ApiModel("管理后台 - 订单仓位合并 Response VO")
public class OrderLocationMergeVO {

    public OrderLocationMergeVO() {
    }

    public OrderLocationMergeVO(Long wareId, Long areaId, Long locationId) {
        this.wareId = wareId;
        this.areaId = areaId;
        this.locationId = locationId;
    }

    @ExcelProperty("库域id")
    @ApiModelProperty(value = "库域id", required = true)
    private Long wareId;

    @ExcelProperty("库区id")
    @ApiModelProperty(value = "库区id")
    private Long areaId;

    @ExcelProperty("仓位id")
    @ApiModelProperty(value = "仓位id")
    private Long locationId;


    @ExcelProperty("库域名称")
    @ApiModelProperty(value = "库域名称")
    private String wareName;
    @ExcelProperty("库区名称")
    @ApiModelProperty(value = "库区名称")
    private String areaName;
    @ExcelProperty("仓位名称")
    @ApiModelProperty(value = "仓位名称")
    private String locationName;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        OrderLocationMergeVO that = (OrderLocationMergeVO) o;
        return Objects.equals(wareId, that.wareId) && Objects.equals(areaId, that.areaId) && Objects.equals(locationId, that.locationId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(wareId, areaId, locationId);
    }
}
