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