123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #include "stdafx.h"
- #include <atlcomtime.h>
- #include "CalibrationProcess.h"
- #include "PixMatrix.h"
- #include "common_api.h"
- extern Log4CPP::Logger* 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)
- {
- 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;
- Info( "Calibration Date:{$}{$}{$}", nYear, nMonth, nDay);
- obCalibTime.SetDate(nYear, nMonth, nDay);
- COleDateTimeSpan obSpanTime(DeviceConf.nCalibDueSetting, 0, 0, 0);
- COleDateTime obDueTime = obCalibTime + obSpanTime;
- 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;
- Info( "Calibration Due result: {$}", strCalibDue.c_str());
- return strCalibDue;
- }
- bool CalibrationProcess::CheckCalibartionDue(DeviceIndexStruct DeviceConf)
- {
- 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;
- Info( "Current Date:{$}{$}{$}", obNowTime.GetYear(), obNowTime.GetMonth(), obNowTime.GetDay());
- Info( "Calibration Date:{$}: year {$}, month {$}, day {$}", DeviceConf.strCalibrationDate, nYear, nMonth, nDay);
- double nSpanTimeTotalDays = obSpanTime.GetTotalDays();
- Info( "nSpanTimeTotalDays :{$} , m_nOldDay {$}", nSpanTimeTotalDays, m_nOldDay);
- if ((nSpanTimeTotalDays >= DeviceConf.nCalibDueSetting) && (m_nOldDay != obNowTime.GetDay()))
- {
- Info( "[Calibration File is out of Date]");
- //DeviceConf.strCalibrationDate = " ";//fixbug 12406
- m_nOldDay = obNowTime.GetDay();
- return false;
- }
- m_nOldDay = obNowTime.GetDay();
- Info( "[Calibration File is Normal]");
- return true;
- }
|