123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- //
- // Created by huli on 2021/12/30.
- //
- #include "led_outlet.h"
- /*
- //更新车辆信息
- void Led_outlet::update_car_information(std::string car_licence, int unit_id, int outlet_id, Outlet_car_status outlet_car_status, int m_time_remaining)
- {
- auto iter = Led_outlet_show_map.begin();
- for (; iter != Led_outlet_show_map.end(); ++iter)
- {
- if ( iter->second.m_car_licence == car_licence )
- {
- iter->second.m_unit_id = unit_id;
- iter->second.m_outlet_id = outlet_id;
- iter->second.m_outlet_car_status = outlet_car_status;
- iter->second.m_time_remaining = m_time_remaining;
- break;
- }
- }
- if ( iter == Led_outlet_show_map.end() )
- {
- std::chrono::system_clock::time_point t_time = std::chrono::system_clock::now();
- Led_outlet_show_map[t_time] = Outlet_car_information();
- Led_outlet_show_map[t_time].m_car_licence = car_licence;
- Led_outlet_show_map[t_time].m_unit_id = unit_id;
- Led_outlet_show_map[t_time].m_outlet_id = outlet_id;
- Led_outlet_show_map[t_time].m_outlet_car_status = outlet_car_status;
- Led_outlet_show_map[t_time].m_time_remaining = m_time_remaining;
- }
- return;
- }
- //更新车辆信息
- void Led_outlet::update_car_information(std::string car_licence, Outlet_car_status outlet_car_status, int m_time_remaining)
- {
- auto iter = Led_outlet_show_map.begin();
- for (; iter != Led_outlet_show_map.end(); ++iter)
- {
- if ( iter->second.m_car_licence == car_licence )
- {
- iter->second.m_outlet_car_status = outlet_car_status;
- iter->second.m_time_remaining = m_time_remaining;
- break;
- }
- }
- if ( iter == Led_outlet_show_map.end() )
- {
- std::chrono::system_clock::time_point t_time = std::chrono::system_clock::now();
- Led_outlet_show_map[t_time] = Outlet_car_information();
- Led_outlet_show_map[t_time].m_car_licence = car_licence;
- Led_outlet_show_map[t_time].m_outlet_car_status = outlet_car_status;
- Led_outlet_show_map[t_time].m_time_remaining = m_time_remaining;
- }
- return;
- }
- //删除车辆信息
- void Led_outlet::delete_car_information(std::string car_licence)
- {
- auto iter = Led_outlet_show_map.begin();
- for (; iter != Led_outlet_show_map.end(); ++iter)
- {
- if ( iter->second.m_car_licence == car_licence )
- {
- Led_outlet_show_map.erase(iter);
- }
- }
- return;
- }
- std::string Led_outlet::get_show_string()
- {
- std::string t_result;
- for (auto iter = Led_outlet_show_map.begin(); iter != Led_outlet_show_map.end(); ++iter)
- {
- //时间字符串
- time_t tt = std::chrono::system_clock::to_time_t(iter->first);
- tm time_tm=*localtime(&tt);
- char strTime[100] = "";
- sprintf(strTime, "%02d:%02d:%02d", time_tm.tm_hour, time_tm.tm_min, time_tm.tm_sec);
- std::string t_time_string = strTime;
- //出口
- char t_char1 = 'A' + iter->second.m_unit_id-1;
- char t_buf1[256];
- if ( iter->second.m_outlet_id != -1 )
- {
- sprintf(t_buf1, "%c单元%d号出口", t_char1, iter->second.m_outlet_id);
- }
- else
- {
- sprintf(t_buf1, "%c单元 ", t_char1 );
- }
- std::string t_outlet_string = std::string(t_buf1);
- //取车状态
- std::string t_outlet_car_status_string ;
- switch ( iter->second.m_outlet_car_status )
- {
- case OUTLET_CAR_STATUS_UNKNOW:
- {
- t_outlet_car_status_string = "未知 ";
- break;
- }
- case OUTLET_CAR_STATUS_READY:
- {
- t_outlet_car_status_string = "准备中";
- break;
- }
- case OUTLET_CAR_STATUS_WORKING:
- {
- t_outlet_car_status_string = "工作中";
- break;
- }
- case OUTLET_CAR_STATUS_OVER:
- {
- t_outlet_car_status_string = "已完成";
- break;
- }
- case OUTLET_CAR_STATUS_FAULT:
- {
- t_outlet_car_status_string = "故障 ";
- break;
- }
- default:
- {
- t_outlet_car_status_string = "未知 ";
- break;
- }
- }
- //剩余时间
- char t_buf2[256];
- if ( iter->second.m_time_remaining != -1 )
- {
- sprintf(t_buf2, "剩余%d秒", iter->second.m_time_remaining);
- }
- else
- {
- sprintf(t_buf2, "剩余X秒");
- }
- std::string t_time_remaining_string = std::string(t_buf2);
- //字符串拼接
- t_result += t_time_string + " "
- + iter->second.m_car_licence + " 取到 "
- + t_outlet_string + " "
- + t_outlet_car_status_string + " "
- + t_time_remaining_string + "\\n";
- }
- return t_result;
- }
- */
|