package cn.iocoder.yudao.module.asset.controller.admin.delivery.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 交车单 Response VO")
@Data
public class DeliveryOrderRespVO {

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "交车单编码")
    private String orderCode;

    @Schema(description = "交车任务ID")
    private Long taskId;

    @Schema(description = "任务编码")
    private String taskCode;

    @Schema(description = "合同ID")
    private Long contractId;

    @Schema(description = "合同编码")
    private String contractCode;

    @Schema(description = "项目名称")
    private String projectName;

    @Schema(description = "客户ID")
    private Long customerId;

    @Schema(description = "客户名称")
    private String customerName;

    @Schema(description = "交车日期")
    private LocalDateTime deliveryDate;

    @Schema(description = "交车人")
    private String deliveryPerson;

    @Schema(description = "交车地点")
    private String deliveryLocation;

    @Schema(description = "被授权人姓名")
    private String authorizedPersonName;

    @Schema(description = "被授权人电话")
    private String authorizedPersonPhone;

    @Schema(description = "E签宝状态")
    private Integer esignStatus;

    @Schema(description = "交车照片")
    private String deliveryPhotos;

    @Schema(description = "司机姓名")
    private String driverName;

    @Schema(description = "司机身份证")
    private String driverIdCard;

    @Schema(description = "司机手机号")
    private String driverPhone;

    @Schema(description = "交检清单JSON")
    private String inspectionData;

    @Schema(description = "费用信息JSON")
    private String costList;

    @Schema(description = "关联验车记录ID")
    private Long inspectionRecordId;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "车辆列表")
    private List<DeliveryOrderVehicleVO> vehicles;

}
