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.fasterxml.jackson.annotation.JsonProperty;
import com.wms.entity.table.WorkStationConfig;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 工站配置Vo
 */
@Data
public class StationConfigExcelVo {
    /**
     * 配置id
     */
    @ExcelProperty("配置id")
    private String configId;
    /**
     * 工作站台
     */
    @ExcelProperty("工站")
    private String workStation;
    /**
     * 小盒子---对面工单表里面的小工位
     */
    @ExcelProperty("小盒子#")
    private String smallBox;
    /**
     * 机型
     */
    @ExcelProperty("机型")
    private String model;
    /**
     * 工单数/大盒子
     */
    @ExcelProperty("工单数/大盒子")
    private Integer orderQuantity;
    /**
     * 工位
     */
    @ExcelProperty("工位")
    private String workCenter;
    /**
     * 工位大盒子
     */
    @ExcelProperty("工位大盒子#")
    private String bigBox;
    /**
     * 车辆
     */
    @ExcelProperty("车辆")
    private String vehicle;
    /**
     * 线边架/车位置
     */
    @ExcelProperty("线边架/车位置")
    private String vehicleLocation;
    /**
     * 开工时间调整
     */
    @ExcelProperty("开工时间调整")
    private Integer startDateAdjust = 0;
    /**
     * 最近更新时间
     */
    @ExcelProperty("最近更新时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastUpdateTime;
    /**
     * 最近更新用户
     */
    @ExcelProperty("最近更新用户")
    private String lastUpdateUser;

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