#ifndef ATTENDANCE_SYSTEM_APP_HPP #define ATTENDANCE_SYSTEM_APP_HPP #include #include #include #include "employee.hpp" #include "schedule.hpp" #include "checkin.hpp" #include "attendance.hpp" #include "alert.hpp" namespace AttendanceSystem { class Application { public: Application(); ~Application() = default; // 初始化应用程序 bool initialize(); // 运行主逻辑 void run(); // 添加员工 bool addEmployee(const std::string& name, const std::string& departmentId, const std::string& position, const std::string& mobile, const std::string& email); // 添加排班规则 bool addScheduleRule(const std::string& shiftName, int startHour, int startMinute, int endHour, int endMinute, int breakDuration, int overtimeThreshold); // 员工打卡 bool employeeCheckIn(const std::string& employeeId, CheckInMethod method, int hour, int minute, double latitude = 0.0, double longitude = 0.0); // 计算考勤结果 void calculateAttendance(); // 检测异常事件 void detectAbnormalities(); // 生成统计信息 void generateStatistics(); // 获取员工列表 std::vector getEmployees() const; // 获取考勤记录列表 std::vector getCheckInRecords() const; // 获取考勤结果列表 std::vector getAttendanceResults() const; // 获取异常事件列表 std::vector getAlertEvents() const; private: std::vector employees_; std::vector scheduleRules_; std::vector checkInRecords_; std::vector attendanceResults_; std::vector alertEvents_; // 生成模拟数据 void generateMockData(); // 显示菜单 void showMenu(); // 处理用户输入 void handleInput(int choice); }; } // namespace AttendanceSystem #endif // ATTENDANCE_SYSTEM_APP_HPP