1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #ifndef MODULE_ATTENDANCE_PERSON_H
- #define MODULE_ATTENDANCE_PERSON_H
- /**
- *@brief 人员考勤模块 2018-08-26 戴月腾修改
- *主要是针对人卡进行考勤,人卡从井上切换到井下为考勤开始,人卡从井下切换到井上为考勤结束
- *@author 陈欧美
- *@date 2018-08-03
- */
- #include<rapidjson/document.h>
- #include<rapidjson/prettywriter.h>
- #include<rapidjson/stringbuffer.h>
- #include "card.h"
- #include"module_singleton_base.h"
- #include "websocket/sio/sio_client.h"
- /**
- * @brief 主要是针对人卡进行考勤,人卡从井上切换到井下为考勤开始,人卡从井下切换到井上为考勤结束
- */
- class module_attendance_person:public singleton_base<module_attendance_person>
- {
- private:
- friend class singleton_base<module_attendance_person>;
- module_attendance_person()
- {
- }
- public:
- /**
- * @brief 进入分站覆盖区域处理,考勤
- * @param card_ptr
- * @param site_ptr
- */
- void enter_site(std::shared_ptr<card_location_base> card_ptr, std::shared_ptr<site> site_ptr);
- /**
- * @brief 离开现有分站处理,记录现有分站的进出时间和地点
- * @param card_ptr
- * @param site_ptr
- */
- void leave_site(std::shared_ptr<card_location_base> card_ptr, std::shared_ptr<site> site_ptr);
- ///升井或收到web的删除卡命令 site_ptr==nullptr表示收到web的删除卡命令
- /// 保存考勤记录,发升井json,清理卡
- static void up_mine(std::shared_ptr<card_location_base> card_ptr, std::shared_ptr<site> site_ptr);
- /**
- * @brief 手工升井函数
- */
- void handle_up_mine(sio::message::ptr const& data);
- private:
- ///升井json
- static void _to_json_card_up_one(std::shared_ptr<card_location_base> card_ptr,
- rapidjson::Value& out_datas, rapidjson::Document::AllocatorType& allocator);
- };
- #endif // MODULE_ATTENDANCE_PERSON_H
|