package com.sckw.transport.model.param.forklift.reponse;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

/**
 * @author :chenXiaoFei
 * @version :1.0
 * @description : 分页查询铲车运单信息响应参数
 * @create :2025-11-11 20:16:00
 */
@Data
public class ForkliftOrderResp implements Serializable {

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

    /**
     * 铲车订单主键id
     */
    @Schema(description = "铲车订单主键id")
    private Long id;

    /**
     * 铲车订单编号
     */
    @Schema(description = "铲车订单编号")
    private String forkliftOrderNo;

    /**
     * 企业id
     */
    @Schema(description = "企业id")
    private Long entId;

    /**
     * 物流运单id
     */
    @Schema(description = "物流运单id")
    private Long waybillOrderId;

    /**
     * 物流订单id
     */
    @Schema(description = "物流订单id")
    private Long logisticsOrderId;

    /**
     * 装载类型（0装载，1补货）
     */
    @Schema(description = "装载类型（0装载，1补货）")
    private Integer loadingType;

    /**
     * 装载类型描述
     */
    @Schema(description = "装载类型描述")
    private String loadingTypeDesc;

    /**
     * 状态（1-待接单，5-已接单、10-已装载）
     */
    @Schema(description = "状态（1-待接单，5-已接单、10-已装载）")
    private Integer status;

    /**
     * 状态描述
     */
    @Schema(description = "状态描述")
    private String statusDesc;

    /**
     * 购买企业id
     */
    @Schema(description = "购买企业id")
    private Long prEntId;

    /**
     * 购买企业名称
     */
    @Schema(description = "购买企业名称")
    private String prEntName;

    /**
     * 运输司机车牌主键id
     */
    @Schema(description = "运输司机车牌主键id")
    private Long truckId;

    /**
     * 运输司机车牌号
     */
    @Schema(description = "运输司机车牌号")
    private String truckNo;

    /**
     * 运输司机姓名
     */
    @Schema(description = "运输司机姓名")
    private String name ;

    /**
     * 运输司机电话
     */
    @Schema(description = "运输司机电话")
    private String phone;

    /**
     * 商品id
     */
    @Schema(description = "商品id")
    private Long goodsId;

    /**
     * 商品名称
     */
    @Schema(description = "商品名称")
    private String goodsName;

    /**
     * 任务量
     */
    @Schema(description = "任务量")
    private BigDecimal entrustAmount;

    /**
     * 皮重
     */
    @Schema(description = "皮重")
    private BigDecimal tareAmount;

    /**
     * 毛重
     */
    @Schema(description = "毛重")
    private BigDecimal grossAmount;

    /**
     * 车辆类型
     */
    @Schema(description = "车辆类型")
    private String truckType;

    /**
     * 车辆轴数
     */
    @Schema(description = "车辆轴数")
    private String carAxisName;

    /**
     * 装载员id
     */
    @Schema(description = "装载员id")
    private Long driverId;

    /**
     * 装载员姓名
     */
    @Schema(description = "装载员姓名")
    private String driverName;

    /**
     * 装载员联系电话
     */
    @Schema(description = "装载员联系电话")
    private String driverPhone;

    /**
     * 装载接单时间
     */
    @Schema(description = "装载接单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date acceptOrderTime;

    /**
     * 装载完成时间
     */
    @Schema(description = "装载完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date finishTime;

    /**
     * 运单接单时间
     */
    @Schema(description = "运单接单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date waybillAcceptTime;

}
