#ifndef _card_person_h_ #define _card_person_h_ #include "card_base.h" #include "card_area.h" struct person:card_location_base, card_area { int m_workLine=0; int m_worktype_id=0; int m_thour{-1}; uint16_t m_charge_value{0}; uint16_t m_discharge_value{0}; uint16_t m_ctflag{0}; uint8_t m_power{0}; uint8_t m_index{0}; uint8_t m_card_generation{0}; time_t m_iris_recognition_timeval = 0; static int m_limit_detained_time; static int m_auto_up_mine_time; static int m_person_cards_flag; std::weak_ptr m_monkeyPerson; std::string m_stafferName,m_deptName; std::array m_value; person(const std::string &type,uint32_t cardid,uint16_t needdisplay,int16_t t,int32_t deptid,int32_t level_id,uint32_t cid,int wl,const std::string &sname,const std::string &dname,int workrype_id); ~person(); void clear(); void reset(std::shared_ptr mp); void handle_three_rates(const point & pt); void on_timer(); void IKSDK_DB(int); point getSmoothPoint(uint64_t& t); void print_card_detained(); virtual void site_hover(int sid); virtual void get_card(bool f); virtual std::shared_ptr get_mine_tool(); virtual void do_business(const std::shared_ptr&site,const point &pt,double acc); virtual void set_area_info(int mapid,double scale,int areaid,uint64_t t,int type); virtual void handle_message(uint16_t ct,uint8_t &value); virtual std::shared_ptr get_area_tool() { return m_area_tool; } virtual int get_workline() { return m_workLine; } }; #endif