package com.centreproject.system.domain.kpi.guestExperience;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 运输行业KPI指标实体类
 * 对应数据库表：kpi_transport
 * @author zhonglei.xu
 */
@Data
@TableName("kpi_transport")
public class KpiTransport {

    /**
     * 主键ID（BIGINT类型）
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 准点率（Decimal(5,2)，如98.00表示98%）
     */
    private BigDecimal onTimeRate;

    /**
     * 准点率（冗余字段，与onTimeRate一致，用于数据校验）
     */
    private BigDecimal onScheduleRate;

    /**
     * 线路数量（INT，单位：条）
     */
    private Integer lineCount;

    /**
     * 乘客数量（INT，单位：万人）
     */
    private Integer passengerCount;

    /**
     * 公交车数量（INT，单位：辆）
     */
    private Integer busCount;

    /**
     * 准点率环比变化（Decimal(5,2)，如+1.20表示+1.2%）
     */
    private BigDecimal onTimeRateChange;

    /**
     * 统计日期（DATE类型，格式：yyyy-MM-dd）
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate dataDate;

    /**
     * 数据同步时间（DATETIME类型，格式：yyyy-MM-dd HH:mm:ss）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime synchTime;

    /**
     * 同步追踪唯一ID（VARCHAR(100)，如sync_20250625_001）
     */
    private String syncTraceId;

}