package com.wms.entity.app.vo;

import cn.hutool.core.bean.BeanUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms.entity.table.WorkStationConfig;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

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

    /**
     * 转化为StationConfigVo
     * @param stationConfigPo 数据库实体
     * @return 显示实体
     */
    public static StationConfigVo of(WorkStationConfig stationConfigPo) {
        return BeanUtil.copyProperties(stationConfigPo, StationConfigVo.class);
    }
}
