package com.sckw.transport.api.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * desc 车辆运单
 * author zk
 * date 2023/9/6 0006
 */
@Data
public class RWaybillOrderVo implements Serializable {

    @Serial
    private static final long serialVersionUID = -2991208083876944003L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 企业id
     */
    private Long entId;

    /**
     * 物流订单id（kwt_logistics_order）
     */
    private Long lOrderId;

    /**
     * 编号
     */
    private String wOrderNo;

    /**
     * 单据类型(1:趟次；2:循环)
     */
    private Integer type;

    /**
     * 车辆信息ID
     */
    private Long truckId;

    /**
     * 车牌号
     */
    private String truckNo;

    /**
     * 司机id
     */
    private Long driverId;

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

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

    /**
     * 司机身份证号
     */
    private String driverIdcard;

    /**
     * 已委托量
     */
    private BigDecimal entrustAmount;

    /**
     * 卸货重量
     */
    private BigDecimal unloadAmount;

    /**
     * 装货重量
     */
    private BigDecimal loadAmount;

    /**
     * 亏吨重量
     */
    private BigDecimal deficitAmount;

    /**
     * 亏吨扣款
     */
    private BigDecimal deficitPrice;

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

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

    /**
     * 用户状态（待受理、待运输、运输中、已完成、已取消）
     */
    private Integer status;

    /**
     * 出车时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date departureTime;
}
