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

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

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

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

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

    @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 LocalDate expectedDeliveryDateStart;

    @Schema(description = "预计交车结束日期")
    private LocalDate expectedDeliveryDateEnd;

    @Schema(description = "开始计费日期")
    private LocalDate billingStartDate;

    @Schema(description = "交车省份")
    private String deliveryProvince;

    @Schema(description = "交车城市")
    private String deliveryCity;

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

    @Schema(description = "交车数量")
    private Integer vehicleCount;

    @Schema(description = "任务状态")
    private Integer taskStatus;

    @Schema(description = "交车状态")
    private Integer deliveryStatus;

    @Schema(description = "是否需要还车")
    private Boolean needReturn;

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

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

}
