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.KateDBS;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class KateDbsExcelVo {
    /**
     * DBS计划Id
     */
    @ExcelProperty("DBS计划Id")
    private String dbsId;
    /**
     * 顺序号
     */
    @ExcelProperty("序号")
    private Integer workSequence;
    /**
     * 机器序列号
     */
    @ExcelProperty("机器序列号")
    private String machineNo;
    /**
     * 工单
     */
    @ExcelProperty("装配工单")
    private String workOrder;
    /**
     * 计划开工日期
     */
    @ExcelProperty("装配/测试/喷漆开工")
    @DateTimeFormat("yyyy/MM/dd")
    private LocalDateTime planStartDate;
    /**
     * dbs的状态
     * 0：未开始
     * 1：已开始未完成
     * 2：已完成
     */
    @ExcelProperty("状态")
    private Integer dbsStatus;
    /**
     * 最近更新时间
     */
    @ExcelProperty("最近更新时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastUpdateTime;
    /**
     * 最近更新用户
     */
    @ExcelProperty("最近更新时间")
    private String lastUpdateUser;

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