From a50ee893d90f98974de664e365f8802198ad2539 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 03 四月 2025 11:33:49 +0800
Subject: [PATCH] 1. 添加生产履历管理器 2. 删除报警管理器的设置数据库的接口,防止野指针
---
SourceCode/Bond/Servo/Servo.vcxproj | 2 ++
SourceCode/Bond/Servo/AlarmManager.cpp | 6 ------
SourceCode/Bond/Servo/Servo.vcxproj.filters | 2 ++
SourceCode/Bond/Servo/AlarmManager.h | 6 ------
SourceCode/Bond/Servo/Servo.cpp | 17 +++++++++++++++++
5 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/SourceCode/Bond/Servo/AlarmManager.cpp b/SourceCode/Bond/Servo/AlarmManager.cpp
index 3283979..6c30cfc 100644
--- a/SourceCode/Bond/Servo/AlarmManager.cpp
+++ b/SourceCode/Bond/Servo/AlarmManager.cpp
@@ -33,12 +33,6 @@
}
}
-// 设置数据库连接
-void AlarmManager::setDatabase(BL::Database* db) {
- std::lock_guard<std::mutex> lock(m_mutex);
- m_pDB = db;
-}
-
// 初始化报警表
bool AlarmManager::initAlarmTable() {
char path[MAX_PATH];
diff --git a/SourceCode/Bond/Servo/AlarmManager.h b/SourceCode/Bond/Servo/AlarmManager.h
index 0540f70..cbe1bb9 100644
--- a/SourceCode/Bond/Servo/AlarmManager.h
+++ b/SourceCode/Bond/Servo/AlarmManager.h
@@ -41,12 +41,6 @@
static AlarmManager& getInstance();
/**
- * 设置数据库连接
- * @param db 数据库连接的指针
- */
- void setDatabase(BL::Database* db);
-
- /**
* 初始化报警表
* @return 成功返回true,失败返回false
*/
diff --git a/SourceCode/Bond/Servo/Servo.cpp b/SourceCode/Bond/Servo/Servo.cpp
index 1bace55..f947821 100644
--- a/SourceCode/Bond/Servo/Servo.cpp
+++ b/SourceCode/Bond/Servo/Servo.cpp
@@ -8,6 +8,7 @@
#include "ServoGraph.h"
#include "AlarmManager.h"
#include "SECSRuntimeManager.h"
+#include "ProductionLogManager.h"
#include "VerticalLine.h"
#include "EqsGraphWnd.h"
#include "MapPosWnd.h"
@@ -128,6 +129,22 @@
AlarmManager::getInstance().insertMockData();
+ // 初始化生产履历管理器
+ try {
+ if (!ProductionLogManager::getInstance().initProductionTable()) {
+ AfxMessageBox("初始化生产履历管理器失败!");
+ return FALSE;
+ }
+ }
+ catch (const std::exception& ex) {
+ CString errorMsg;
+ errorMsg.Format(_T("初始化生产履历管理器失败:%s"), CString(ex.what()));
+ AfxMessageBox(errorMsg, MB_ICONERROR);
+ return FALSE;
+ }
+ ProductionLogManager::getInstance().insertMockData();
+
+
// 初始化SECS运行设置管理库
try {
if (!SECSRuntimeManager::getInstance().initRuntimeSetting()) {
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj b/SourceCode/Bond/Servo/Servo.vcxproj
index 36a12e3..0522556 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj
+++ b/SourceCode/Bond/Servo/Servo.vcxproj
@@ -258,6 +258,7 @@
<ClInclude Include="LogEdit.h" />
<ClInclude Include="MapPosWnd.h" />
<ClInclude Include="Model.h" />
+ <ClInclude Include="ProductionLogManager.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="SECSRuntimeManager.h" />
<ClInclude Include="SecsTestDlg.h" />
@@ -333,6 +334,7 @@
<ClCompile Include="LogEdit.cpp" />
<ClCompile Include="MapPosWnd.cpp" />
<ClCompile Include="Model.cpp" />
+ <ClCompile Include="ProductionLogManager.cpp" />
<ClCompile Include="SECSRuntimeManager.cpp" />
<ClCompile Include="SecsTestDlg.cpp" />
<ClCompile Include="Servo.cpp" />
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj.filters b/SourceCode/Bond/Servo/Servo.vcxproj.filters
index 00faaa0..d9b4643 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj.filters
+++ b/SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -82,6 +82,7 @@
<ClCompile Include="CEqPortChangeStep.cpp" />
<ClCompile Include="CEqReadIntStep.cpp" />
<ClCompile Include="CEqCassetteTransferStateStep.cpp" />
+ <ClCompile Include="ProductionLogManager.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="AlarmManager.h" />
@@ -162,6 +163,7 @@
<ClInclude Include="CEqPortChangeStep.h" />
<ClInclude Include="CEqReadIntStep.h" />
<ClInclude Include="CEqCassetteTransferStateStep.h" />
+ <ClInclude Include="ProductionLogManager.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Servo.rc" />
--
Gitblit v1.9.3