package com.hotwj.platform.reportStatistics.domain.bo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 驾驶员台账查询参数
 *
 * @author shihongwei
 * @date 2026-01-06
 */
@Data
public class ReportLedgerQueryBo {

    @Schema(description = "公司ID")
    private Long companyId;

    @Schema(description = "驾驶员姓名")
    private String driverName;

    @Schema(description = "身份证号")
    private String idCardNo;

    @Schema(description = "驾驶证号")
    private String driverLicenseNo;

    @Schema(description = "车牌号")
    private String plateNumber;

    @Schema(description = "事故等级")
    private String accidentLevel;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "事故日期")
    private Date accidentDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "结案日期")
    private Date caseClosingDate;

    @Schema(description = "状态：1=正常 0=禁用")
    private Long status;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "开始日期")
    private Date startDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "结束日期")
    private Date endDate;

    @Schema(description = "关键字")
    private String keyword;

    @Schema(description = "是否完成培训：1=是 0=否")
    private Integer isCompletedTraining;

    @Schema(description = "计划名称")
    private String planName;

    @Schema(description = "ID列表，逗号分隔")
    private String ids;

    @Schema(description = "负责人姓名")
    private String managerName;

    @Schema(description = "负责人电话")
    private String managerPhone;

    @Schema(description = "是否整改")
    private Long isRectified;

    @Schema(description = "会议主题")
    private String meetingSubject;

    @Schema(description = "会议种类")
    private String meetingCategory;

    @Schema(description = "审核状态：0=待审核 1=审核通过 2=审核驳回")
    private Integer auditStatus;

    @Schema(description = "车辆状态 1=正常, 0=停用")
    private Integer vehicleStatus;

    @Schema(description = "运营状态:1=正常,2=暂停,3=租赁,4=报废，5=过户")
    private Integer operationStatus;

    @Schema(description = "是否需要约谈 0=否 1=是")
    private Integer needInterview;

    @Schema(description = "处理状态 0=待处理 1=处理中 2=已处理")
    private Integer processStatus;
}
