176 lines
5.2 KiB
C
176 lines
5.2 KiB
C
|
#pragma once
|
|||
|
#include "../stdafx.h"
|
|||
|
#include <vector>
|
|||
|
#include <map>
|
|||
|
#include "LogBean.h"
|
|||
|
#include "Jobbean.h"
|
|||
|
#include "LogImage.h"
|
|||
|
#include "HistoryAlarm.h"
|
|||
|
//#include "../UI/UIBean.h"
|
|||
|
#include "../external/SQLiteCpp/SQLiteCpp.h"
|
|||
|
#include "PartAddition.h"
|
|||
|
#include "AxisLog.h"
|
|||
|
#include "ScannerStatus.h"
|
|||
|
//#include "../ScannerCtrl/IntelliScanState.h"
|
|||
|
#include "ScannerPowerLog.h"
|
|||
|
#include "FocusStatus.h"
|
|||
|
#include "PartPosBean.h"
|
|||
|
|
|||
|
using namespace std;
|
|||
|
class LogDao
|
|||
|
{
|
|||
|
public:
|
|||
|
LogDao();
|
|||
|
~LogDao();
|
|||
|
void Init();
|
|||
|
|
|||
|
void GetLogs(struct tm &begin, struct tm &end);
|
|||
|
void AddLog(string prefix, string content);
|
|||
|
|
|||
|
|
|||
|
bool GetCheckJob(string uid, JobBean& bean);
|
|||
|
void UpdateJobInvalid(long jid);
|
|||
|
void LogJobStart(JobBean* job);
|
|||
|
void UpdateJobPauseTime(JobBean* job);
|
|||
|
void UpdateJobAfterPrintLayer(JobBean* job);
|
|||
|
|
|||
|
void GetJobsByTaskId(string taskid, vector<JobBean*>& jobs);
|
|||
|
void GetJobsByTime(struct tm& begin, struct tm& end, vector<JobBean*>& jobs);
|
|||
|
void GetJobs(struct tm &begin, struct tm &end);
|
|||
|
//void GetJobMaximun(JobBean* jobbean);
|
|||
|
|
|||
|
void LogLayerStatus(LayerStatus& status);
|
|||
|
//void GetLayerStatusTable(LogAssist& la, bool isRemote = false);
|
|||
|
//void GetLayerStatusByLayer(LogAssist& la, bool isRemote = false);
|
|||
|
//void GetLayerStatusByTime(LogAssist& la, bool isRemote = false);
|
|||
|
//void GetLayerStatus(LogAssist& la, bool isRemote = false);
|
|||
|
//void GetLayerStatusByLevel(LogAssist& la, bool isRemote = false);
|
|||
|
|
|||
|
void GetAlarms(struct tm &begin, struct tm &end, bool isRemote = false);
|
|||
|
void AddHistoryAlarm(string jobname, int type, string code);
|
|||
|
|
|||
|
//void DeleteImageAfterPrint();
|
|||
|
void AddImage(LogImage& image);
|
|||
|
void FindImageInfo(bool isRemote = false);
|
|||
|
bool FindImage(unsigned int layerindex, unsigned char** image, unsigned long* imagesize, bool isRemote = false);
|
|||
|
//void LogImageBeforePrint(int jobid, bool iscontinue);
|
|||
|
bool DelJobImage(string str);
|
|||
|
void ResetImageDB();
|
|||
|
|
|||
|
void AddPartAddition(PartAddition& pa);
|
|||
|
void UpdatePartAdditionOffset(string jid, int partid, float x, float y, float rotate);
|
|||
|
void DeletePartAddition(string jid, int partid);
|
|||
|
void FindPartAddition(string jid, vector<PartAddition*>& vec);
|
|||
|
|
|||
|
void AddAxisLog(AxisLog* axisLog);
|
|||
|
void FindAxisLogInfo(bool isRemote = false);
|
|||
|
void FindAxisLogData(AxisLog* axisLog, bool isRemote = false);
|
|||
|
|
|||
|
//void StartExport(string path, LogAssist& assist);
|
|||
|
void StopExport();
|
|||
|
bool IsExportFinished();
|
|||
|
string GetExportInfo() { return m_ExportInfo; }
|
|||
|
float GetExportProgress() { return m_ExportProgress; }
|
|||
|
|
|||
|
void LogScannerStatus(vector<ScannerStatus*>& scannerStatus);
|
|||
|
void FindScanState();
|
|||
|
|
|||
|
void LogFocusStatus(vector<FocusStatus*>& focusStatus);
|
|||
|
void FindFocusState();
|
|||
|
|
|||
|
void SaveScannerPower(ScannerPowerLog* log);
|
|||
|
void FindScannerPowerInfo();
|
|||
|
void FindScannerPowerData(ScannerPowerLog* spl);
|
|||
|
|
|||
|
void AddPartPos(string jid, vector<int>& pids);
|
|||
|
void FindPartPos(string jid, vector<PartPosBean*>& partPos);
|
|||
|
void UpdatePartPos(string jid, int partid, float x, float y, float rotate);
|
|||
|
|
|||
|
void FindRecordByJob();
|
|||
|
bool IsFindingRecord() {
|
|||
|
bool rel = true;
|
|||
|
EnterCriticalSection(&m_FindRecordCS);
|
|||
|
rel = m_IsFindingRecord;
|
|||
|
LeaveCriticalSection(&m_FindRecordCS);
|
|||
|
return rel;
|
|||
|
}
|
|||
|
void SetIsFindingRecord(bool bvalue) {
|
|||
|
EnterCriticalSection(&m_FindRecordCS);
|
|||
|
m_IsFindingRecord = bvalue;
|
|||
|
LeaveCriticalSection(&m_FindRecordCS);
|
|||
|
}
|
|||
|
private:
|
|||
|
//static DWORD WINAPI DeleteImageProc(LogDao* _this);
|
|||
|
//void DeleteImageRun();
|
|||
|
static DWORD WINAPI ExportProc(LogDao* _this);
|
|||
|
//void ExportRun();
|
|||
|
static DWORD WINAPI FindRecordProc(LogDao* _this);
|
|||
|
void FindRecordRun();
|
|||
|
public:
|
|||
|
CRITICAL_SECTION m_LogCs;
|
|||
|
vector<string> m_Logs;
|
|||
|
CRITICAL_SECTION m_JobCs;
|
|||
|
vector<JobBean*> m_JobBaens;
|
|||
|
CRITICAL_SECTION m_StatusCs;
|
|||
|
vector<LayerStatus*> m_LayerStatus;
|
|||
|
CRITICAL_SECTION m_LogImageCs;
|
|||
|
vector<LogImage*> m_LogImages;
|
|||
|
vector<HistoryAlarm*> m_Alarms;
|
|||
|
CRITICAL_SECTION m_AlarmCs;
|
|||
|
|
|||
|
CRITICAL_SECTION m_ScannerStatusCS;
|
|||
|
vector<ScannerStatus*> m_ScannerStatus;
|
|||
|
|
|||
|
CRITICAL_SECTION m_FocusStatusCS;
|
|||
|
vector<FocusStatus*> m_FocusStatus;
|
|||
|
|
|||
|
vector<AxisLog*> m_AxisLogs;
|
|||
|
CRITICAL_SECTION m_AxisLogCs;
|
|||
|
AxisLog* m_ShowAxisLog;
|
|||
|
JobBean* m_CurrentShowJob;
|
|||
|
|
|||
|
vector<ScannerPowerLog*> m_ScannerPower;
|
|||
|
ScannerPowerLog* m_ShowScannerPower;
|
|||
|
|
|||
|
CRITICAL_SECTION m_RemoteJobCs;
|
|||
|
vector<JobBean*> m_RemoteJobBaens;
|
|||
|
CRITICAL_SECTION m_RemoteStatusCs;
|
|||
|
vector<LayerStatus*> m_RemoteLayerStatus;
|
|||
|
CRITICAL_SECTION m_RemoteLogImageCs;
|
|||
|
vector<LogImage*> m_RemoteLogImages;
|
|||
|
vector<HistoryAlarm*> m_RemoteAlarms;
|
|||
|
CRITICAL_SECTION m_RemoteAlarmCs;
|
|||
|
vector<AxisLog*> m_RemoteAxisLogs;
|
|||
|
CRITICAL_SECTION m_RemoteAxisLogCs;
|
|||
|
JobBean* m_RemoteCurrentShowJob;
|
|||
|
|
|||
|
//LogAssist m_LogAssist;
|
|||
|
private:
|
|||
|
HANDLE m_ImageThread;
|
|||
|
bool m_ImageFlag;
|
|||
|
SQLite::Database* m_pDB;
|
|||
|
std::map<int, SQLite::Database*> m_DBMap;
|
|||
|
//SQLite::Database* m_pImgDB;
|
|||
|
//std::map<int, SQLite::Database*> m_ImgDBMap;
|
|||
|
|
|||
|
SQLite::Database* m_LogImageDB;
|
|||
|
SQLite::Database* m_ShowImageDB;
|
|||
|
CRITICAL_SECTION m_ImgDbCs;
|
|||
|
string m_RootPath;
|
|||
|
CRITICAL_SECTION m_DbCs;
|
|||
|
string m_ImagePath;
|
|||
|
|
|||
|
HANDLE m_ExportThread;
|
|||
|
float m_ExportProgress;
|
|||
|
bool m_ExportFlag;
|
|||
|
string m_ExportPath;
|
|||
|
string m_ExportInfo;
|
|||
|
bool m_IsExportData;
|
|||
|
bool m_IsExportAxisData;
|
|||
|
bool m_IsExportImage;
|
|||
|
bool m_IsExportScanData;
|
|||
|
|
|||
|
CRITICAL_SECTION m_FindRecordCS;
|
|||
|
bool m_IsFindingRecord;
|
|||
|
};
|