#include "SkyWritingCfg.h" #include "ScanCfg.h" #include "../utils/ConverType.hpp" SkyWritingCfg::SkyWritingCfg() { m_IsEnable=true; m_Timelag=470.0; m_TimelagMin=0.05; m_TimelagMax=1000.0; m_LaserOnShift=-60; m_LaserOnShiftMin=-1000; m_LaserOnShiftMax=1000; m_Nprev=710; m_NprevMin=0; m_NprevMax=1000; m_Npost=500; m_NpostMin=0; m_NpostMax=1000; m_Mode=2; m_Limite=0.0; m_LimiteMin=-1.0; m_LimiteMax=1.0; } SkyWritingCfg::~SkyWritingCfg() { } void SkyWritingCfg::GetUpdateSql(int cno,vector& ups) { char buffer[512]; sprintf_s(buffer, sizeof(buffer), "UPDATE %s set %s=", ScanCfg::TABLE_NAME.c_str(), ScanCfg::FIELD_SCAN_VALUE.c_str() ); string strhead(buffer); sprintf_s(buffer, sizeof(buffer), " WHERE %s=%d AND %s='%s' AND %s=", ScanCfg::FIELD_CNO.c_str(), cno, ScanCfg::FIELD_CONFIG_NAME.c_str(), CONFIG_NAME.c_str(), ScanCfg::FIELD_SCAN_CODE.c_str() ); string strtail(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_IsEnable?1:0).c_str(), strtail.c_str(), FIELD_IS_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Timelag).c_str(), strtail.c_str(), FIELD_TIMELAG.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_LaserOnShift).c_str(), strtail.c_str(), FIELD_LASER_ON_SHIFT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Nprev).c_str(), strtail.c_str(), FIELD_NPREV.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Npost).c_str(), strtail.c_str(), FIELD_NPOST.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Mode).c_str(), strtail.c_str(), FIELD_MODE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Limite).c_str(), strtail.c_str(), FIELD_LIMITE.c_str()); ups.push_back(buffer); } void SkyWritingCfg::SetSkyWritingCfg(stream::SkyWritingCfg * cp) { cp->set_isenable(m_IsEnable); cp->set_timelag(m_Timelag); cp->set_timelagmin(m_TimelagMin); cp->set_timelagmax(m_TimelagMax); cp->set_laseronshift(m_LaserOnShift); cp->set_laseronshiftmin(m_LaserOnShiftMin); cp->set_laseronshiftmax(m_LaserOnShiftMax); cp->set_nprev(m_Nprev); cp->set_nprevmin(m_NprevMin); cp->set_nprevmax(m_NprevMax); cp->set_npost(m_Npost); cp->set_npostmin(m_NpostMin); cp->set_npostmax(m_NpostMax); cp->set_mode(m_Mode); cp->set_limite(m_Limite); cp->set_limitemin(m_LimiteMin); cp->set_limitemax(m_LimiteMax); } void SkyWritingCfg::Update(const ReadData& rd,const list& lst) { for (auto start = lst.begin(); start != lst.end(); ++start) { if (start->nameKey == "IsEnable") m_IsEnable =(bool) ConverType::TryToI(start->strValue); else if (start->nameKey == "Timelag") m_Timelag = ConverType::TryToI(start->strValue); else if (start->nameKey == "TimelagMin") m_TimelagMin = ConverType::TryToI(start->strValue); else if (start->nameKey == "TimelagMax") m_TimelagMax = ConverType::TryToI(start->strValue); else if (start->nameKey == "LaserOnShift") m_LaserOnShift = (long)ConverType::TryToI(start->strValue); else if (start->nameKey == "LaserOnShiftMin") m_LaserOnShiftMin = (long)ConverType::TryToI(start->strValue); else if (start->nameKey == "LaserOnShiftMax") m_LaserOnShiftMax = (long)ConverType::TryToI(start->strValue); else if (start->nameKey == "Nprev") m_Nprev = (unsigned int)ConverType::TryToI(start->strValue); else if (start->nameKey == "Npost") m_Npost = (unsigned int)ConverType::TryToI(start->strValue); else if (start->nameKey == "NprevMax") m_NprevMax = (unsigned int)ConverType::TryToI(start->strValue); else if (start->nameKey == "Npost") m_Npost = (unsigned int)ConverType::TryToI(start->strValue); else if (start->nameKey == "NpostMin") m_NpostMin = (unsigned int)ConverType::TryToI(start->strValue); else if (start->nameKey == "NpostMax") m_NpostMax = (unsigned int)ConverType::TryToI(start->strValue); else if (start->nameKey == "m_Mode") m_Mode = ConverType::TryToI(start->strValue); else if (start->nameKey == "Limite") m_Limite = (unsigned int)ConverType::TryToD(start->strValue); else if (start->nameKey == "LimiteMin") m_LimiteMin = (unsigned int)ConverType::TryToD(start->strValue); else if (start->nameKey == "LimiteMax") m_LimiteMax = (unsigned int)ConverType::TryToD(start->strValue); } } string SkyWritingCfg::CONFIG_NAME = "SkyWriting"; string SkyWritingCfg::FIELD_IS_ENABLE = "is_enable"; string SkyWritingCfg::FIELD_TIMELAG = "timelag"; string SkyWritingCfg::FIELD_TIMELAG_MIN = "timelag_min"; string SkyWritingCfg::FIELD_TIMELAG_MAX = "timelag_max"; string SkyWritingCfg::FIELD_LASER_ON_SHIFT = "laser_on_shift"; string SkyWritingCfg::FIELD_LASER_ON_SHIFT_MIN = "laser_on_shift_min"; string SkyWritingCfg::FIELD_LASER_ON_SHIFT_MAX = "laser_on_shift_max"; string SkyWritingCfg::FIELD_NPREV = "nprev"; string SkyWritingCfg::FIELD_NPREV_MIN = "nprev_min"; string SkyWritingCfg::FIELD_NPREV_MAX = "nprev_max"; string SkyWritingCfg::FIELD_NPOST = "npost"; string SkyWritingCfg::FIELD_NPOST_MIN = "npost_min"; string SkyWritingCfg::FIELD_NPOST_MAX = "npost_max"; string SkyWritingCfg::FIELD_MODE = "mode"; string SkyWritingCfg::FIELD_LIMITE = "limite"; string SkyWritingCfg::FIELD_LIMITE_MIN = "limite_min"; string SkyWritingCfg::FIELD_LIMITE_MAX = "limite_max";