package com.wms.utils.excel.vo;

import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.wms.entity.table.WorkSummary;
import lombok.Data;

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

/**
 * 工作总结excelVo
 */
@Data
public class WorkSummaryExcelVo {
    /**
     * id
     */
    @ExcelProperty("id")
    private String workFlowId;
    /**
     * 工作站台
     */
    @ExcelProperty("工作站台")
    private String workStation;
    /**
     * 工单
     */
    @ExcelProperty("工单")
    private String workOrder;
    /**
     * 工位
     */
    @ExcelProperty("小工位")
    private String workCenter;
    /**
     * 物料编号
     */
    @ExcelProperty("物料编号")
    private String goodsId;
    /**
     * 已拣货数量
     */
    @ExcelProperty("已拣货数量")
    private BigDecimal pickedNum;
    /**
     * 需求数量
     */
    @ExcelProperty("需求数量")
    private BigDecimal needNum;
    /**
     * 缺件数量
     */
    @ExcelProperty("缺件数量")
    private BigDecimal lackNum;
    /**
     * 工作日期
     */
    @ExcelProperty("工作日期")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private LocalDateTime workDate;
    /**
     * 工作状态
     * 0：未开始
     * 1：正在做
     * 2：已完成
     */
    @ExcelProperty("工作状态")
    private Integer workStatus;
    /**
     * 缺件状态
     * 0：不缺件
     * 1：缺件
     */
    @ExcelProperty("缺件状态")
    private Integer lackStatus;
    /**
     * 完成时间
     */
    @ExcelProperty("完成时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private LocalDateTime finishTime;
    /**
     * 操作人员
     */
    @ExcelProperty("操作人员")
    private String opUser;
    /**
     * 电子标签位
     */
    @ExcelProperty("电子标签位")
    private String eLocationId;

    /**
     * 将数据库Po转化为ExcelVo
     * @param workSummaryPo 数据库Po
     * @return ExcelVo
     */
    public static WorkSummaryExcelVo of(WorkSummary workSummaryPo) {
        return BeanUtil.copyProperties(workSummaryPo, WorkSummaryExcelVo.class);
    }
}
