#ifndef ATTENDANCERECORD_H #define ATTENDANCERECORD_H #include #include /** * @brief 考勤记录数据模型 * * 对应CSV文件格式:Timestamp,Student_ID,Name,Confidence,Status,Class_ID */ class AttendanceRecord { public: AttendanceRecord(); AttendanceRecord(const QString ×tamp, const QString &studentId, const QString &name, float confidence, const QString &status, const QString &classId = "0"); // Getters QString getTimestamp() const { return m_timestamp; } QString getStudentId() const { return m_studentId; } QString getName() const { return m_name; } float getConfidence() const { return m_confidence; } QString getStatus() const { return m_status; } QString getClassId() const { return m_classId; } QDateTime getDateTime() const { return m_dateTime; } // Setters void setTimestamp(const QString ×tamp); void setStudentId(const QString &studentId) { m_studentId = studentId; } void setName(const QString &name) { m_name = name; } void setConfidence(float confidence) { m_confidence = confidence; } void setStatus(const QString &status) { m_status = status; } void setClassId(const QString &classId) { m_classId = classId; } // 从CSV行解析 static AttendanceRecord fromCsvLine(const QString &line); // 转换为显示字符串 QString toString() const; private: QString m_timestamp; // 时间戳字符串 QString m_studentId; // 学号 QString m_name; // 姓名 float m_confidence; // 置信度 (0.0-1.0) QString m_status; // 状态 (success/fail) QString m_classId; // 班级编号 QDateTime m_dateTime; // 解析后的日期时间对象 }; #endif // ATTENDANCERECORD_H