package com.wms.utils.excel.vo;

import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.wms.entity.table.KateOrders;
import com.wms.entity.table.Location;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class KateOrdersExcelVo {
    /**
     * id
     */
    @ExcelProperty("order_id")
    private String orderId;
    /**
     * Order
     */
    @ExcelProperty("Order")
    private String workOrder;
    /**
     * Material
     */
    @ExcelProperty("Material")
    private String goodsId;
    /**
     * Item
     */
    @ExcelProperty("Item")
    private String item;
    /**
     * Description
     */
    @ExcelProperty("Description")
    private String description;
    /**
     * SLoc
     */
    @ExcelProperty("SLoc")
    private String sLoc;
    /**
     * Type
     */
    @ExcelProperty("Type")
    private String type;
    /**
     * Status
     */
    @ExcelProperty("Status")
    private String originStatus;
    /**
     * SupplyArea
     */
    @ExcelProperty("SupplyArea")
    private String supplyArea;
    /**
     * SortStrng
     */
    @ExcelProperty("SortStrng")
    private String sortString;
    /**
     * Requirement Qty
     */
    @ExcelProperty("Requirement Qty")
    private BigDecimal requirementQuantity;
    /**
     * BUn
     */
    @ExcelProperty("BUn")
    private String goodsUnit;
    /**
     * 工单状态
     * 0：未开始
     * 1：已生成任务
     * 2：已呼叫料箱
     * 3：正在拣选
     * 4：拣选完成
     */
    @ExcelProperty("工单状态")
    private Integer orderStatus;
    /**
     * 缺少数量
     */
    @ExcelProperty("缺少数量")
    private BigDecimal lackQuantity;
    /**
     * 实际拣选数量
     */
    @ExcelProperty("实际拣选数量")
    private BigDecimal pickedQuantity;
    /**
     * 操作人员
     */
    @ExcelProperty("操作人员")
    private String userName;
    /**
     * 完成时间
     */
    @ExcelProperty("完成时间")
    private LocalDateTime finishTime;

    /**
     * 从数据库实体转换为excel对象
     * @param ordersPo 数据库实体
     * @return excel对象
     */
    public static KateOrdersExcelVo of(KateOrders ordersPo) {
        return BeanUtil.copyProperties(ordersPo, KateOrdersExcelVo.class);
    }
}
