package com.sckw.transport.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sckw.core.model.constant.Global;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author zk
 * @desc 看板
 * @date 2024/3/13 0013
 */
@Data
@Accessors(chain = true)
public class WaybillOrderNdexVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 4526063761808958350L;
    /**
     * 企业ID
     */
    private Long  entId;

    /**
     * 运单id
     */
    @JsonProperty(value="wOrderId")
    private Long wOrderId;

    /**
     * 运单号
     */
    @JsonProperty(value="wOrderNo")
    private String wOrderNo;

    /**
     * 企业名称
     */
    private String firmName;

    /**
     * 车辆牌照
     */
    private String truckNo;

    /**
     * 司机
     */
    private String driverName;

    /**
     * 司机手机号
     */
    private String driverPhone;

    /**
     * 运单类型数字
     */
    private int type;

    /**
     * 运单类型字符
     */
    private String typeLabel;

    /**
     * 运单状态
     */
    private Integer  status;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 更新时间
     */
    private String updateTime;

    /**
     * 运单状态字符
     */
    private String  statusLabel;

    /**
     * 派车时间
     */
    private String sendCarTime;

    /**
     * 创建人
     */
    private Long createBy;

    /**
     * 派车人
     */
    private String createByName;

    /**
     * 计划开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /**
     * 计划结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /**
     * 状态轴
     */
    private List<Map<String, Object>> tracks;

    /**
     * 榜单-装货
     */
    private List<String> loadUrl;

    /**
     * 榜单-卸货
     */
    private List<String> unloadUrl;

    public String getTypeLabel() {
        return type == Global.NUMERICAL_ONE ? "趟次" : "循环";
    }

}
