package org.dromara.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.system.domain.TblDzbcDriverTrip;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TblDzbcDriverTrip.class)
public class TblDzbcDriverTripVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "编号")
    private Long id;

    @ExcelProperty(value = "任务编号")
    private String tripNo;

    @ExcelProperty(value = "路线ID")
    private Long pathId;

    @ExcelProperty(value = "路线名称")
    private String pathName;

    @ExcelProperty(value = "司机ID")
    private Long driverId;

    @ExcelProperty(value = "司机姓名")
    private String driverName;

    @ExcelProperty(value = "司机电话")
    private String driverPhone;

    @ExcelProperty(value = "车辆ID")
    private Long carId;

    @ExcelProperty(value = "车牌号")
    private String carPlate;

    @ExcelProperty(value = "出发时间")
    private LocalDateTime startTime;

    @ExcelProperty(value = "到达时间")
    private LocalDateTime endTime;

    @ExcelProperty(value = "状态 0-待发车 1-运行中 2-已完成 3-已取消")
    private Integer status;

    @ExcelProperty(value = "二维码")
    private String qrCode;

    @ExcelProperty(value = "当前站点ID")
    private Long currentSiteId;

    @ExcelProperty(value = "当前站点名称")
    private String currentSiteName;

    @ExcelProperty(value = "货物数量")
    private Integer cargoCount;

    @ExcelProperty(value = "货物总价（分）")
    private Integer cargoTotalPrice;

    @ExcelProperty(value = "备注")
    private String remark;

    @ExcelProperty(value = "扩展1")
    private String ext1;

    @ExcelProperty(value = "扩展2")
    private String ext2;

    private List<TblDzbcPathSiteVo> sites;

    private List<TblDzbcCargoOrderVo> cargoOrders;
}
