#include "stdafx.h" #include #include "CalibrationProcess.h" #include "PixMatrix.h" #include "common_api.h" extern Log4CPP::Logger* //mLog::gLogger; #define MAX_STRING 1024 CalibrationProcess::CalibrationProcess(): m_pZSKKPixMatrix(NULL), m_bDefectAccept(false), m_nOldDay(0), m_nTotalDefectLine(0), m_nTotalDefectColumn(0), m_nTotalDoubleDefectLine(0), m_nTotalDoubleDefectColumn(0), m_nTripleDoubleDefectLine(0), m_nTripleDoubleDefectColumn(0), m_nDefectLineMinGap(0), m_nDefectColumnMinGap(0), m_nTotalECV(0) { g_strAppPath = GetProcessDirectory(); } CalibrationProcess::~CalibrationProcess() { } string CalibrationProcess::GetCalibDueDate(DeviceIndexStruct DeviceConf, string strCalibDate) { //mLog::Info( "GetCalibDueDate from {$}", strCalibDate.c_str()); if (strCalibDate.size()<8) { return "0"; } COleDateTime obCalibTime; string strYear = strCalibDate.substr(0, 4); int nYear = atoi(strYear.c_str()); string strMonth = strCalibDate.substr(4, 2); int nMonth = atoi(strMonth.c_str()); string strDay = strCalibDate.substr(6, 2); int nDay = atoi(strDay.c_str()); string strLog; //mLog::Info( "Calibration Date:{$}{$}{$}", nYear, nMonth, nDay); obCalibTime.SetDate(nYear, nMonth, nDay); //COleDateTimeSpan obSpanTime(DeviceConf.nCalibDueSetting, 0, 0, 0); //COleDateTime obDueTime = obCalibTime + obSpanTime; ////mLog::Info( "Calibration Due: {$}{$}{$}", obDueTime.GetYear(), obDueTime.GetMonth(), obDueTime.GetDay()); char szTemp[MAX_STRING] = { 0 }; //sprintf_s(szTemp, "%d%.2d%.2d", obDueTime.GetYear(), obDueTime.GetMonth(), obDueTime.GetDay()); //auto szTemp = std::to_string(obDueTime.GetYear()) + std::to_string(obDueTime.GetMonth()) + std::to_string(obDueTime.GetDay()); //sprintf(szTemp, "{$}{$}{$}", , , ); string strCalibDue = szTemp; //mLog::Info( "Calibration Due result: {$}", strCalibDue.c_str()); return strCalibDue; } bool CalibrationProcess::CheckCalibartionDue(DeviceIndexStruct DeviceConf) { //mLog::Info( "[Checking Calibration Date]"); COleDateTime obNowTime = COleDateTime::GetCurrentTime(); //if (DeviceConf.strCalibrationDate == " " && m_nOldDay != obNowTime.GetDay()) //{ // m_nOldDay = obNowTime.GetDay(); // //OnWarn(m_nDeviceIndex, WAR_FPD_LOAD_CORRECT_FILE, L""); // return false; //} //endif COleDateTime obCalibTime; string strYear = ""; int nYear = 1970; string strMonth = ""; int nMonth = 1; string strDay = ""; int nDay = 1; /*if (DeviceConf.strCalibrationDate != " ") { strYear = DeviceConf.strCalibrationDate.substr(0, 4); strMonth = DeviceConf.strCalibrationDate.substr(4, 2); strDay = DeviceConf.strCalibrationDate.substr(6, 2); nYear = atoi(strYear.c_str()); nMonth = atoi(strMonth.c_str()); nDay = atoi(strDay.c_str()); }*/ obCalibTime.SetDate(nYear, nMonth, nDay); COleDateTimeSpan obSpanTime = obNowTime - obCalibTime; string strLog; //mLog::Info( "Current Date:{$}{$}{$}", obNowTime.GetYear(), obNowTime.GetMonth(), obNowTime.GetDay()); ////mLog::Info( "Calibration Date:{$}: year {$}, month {$}, day {$}", DeviceConf.strCalibrationDate, nYear, nMonth, nDay); double nSpanTimeTotalDays = obSpanTime.GetTotalDays(); //mLog::Info( "nSpanTimeTotalDays :{$} , m_nOldDay {$}", nSpanTimeTotalDays, m_nOldDay); //if ((nSpanTimeTotalDays >= DeviceConf.nCalibDueSetting) && (m_nOldDay != obNowTime.GetDay())) //{ // //mLog::Info( "[Calibration File is out of Date]"); // //DeviceConf.strCalibrationDate = " ";//fixbug 12406 // m_nOldDay = obNowTime.GetDay(); // return false; //} m_nOldDay = obNowTime.GetDay(); //mLog::Info( "[Calibration File is Normal]"); return true; }