From 469bf4af5180cdee2808b595e2d48d6266992235 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 10 三月 2025 16:10:29 +0800
Subject: [PATCH] 1.调整报警窗口

---
 SourceCode/Bond/Servo/AlarmManager.cpp |    6 ++-
 SourceCode/Bond/Servo/AlarmDlg.cpp     |   12 -----
 SourceCode/Bond/Servo/Servo.cpp        |    2 
 SourceCode/Bond/Servo/Servo.rc         |    0 
 SourceCode/Bond/Servo/CMaster.cpp      |    5 +-
 SourceCode/Bond/Servo/Model.cpp        |   13 ++----
 SourceCode/Bond/Servo/ServoDlg.cpp     |   41 +++++++++++++++-----
 7 files changed, 43 insertions(+), 36 deletions(-)

diff --git a/SourceCode/Bond/Servo/AlarmDlg.cpp b/SourceCode/Bond/Servo/AlarmDlg.cpp
index f12426f..3c3ff33 100644
--- a/SourceCode/Bond/Servo/AlarmDlg.cpp
+++ b/SourceCode/Bond/Servo/AlarmDlg.cpp
@@ -81,17 +81,7 @@
 						if (pListCtrl != nullptr) {
 							InsertAlarmData(pListCtrl, alarmData);
 						}
-
-						// 娣诲姞鏂扮殑 Alarm 鏁版嵁
-						int alarmEventId = 0;
-						bool result = alarmManager.addAlarm(alarmData, alarmEventId);
-						if (result) {
-							LOGI("<CAlarmDlg> Alarm added successfully!");
 					}
-						else {
-							LOGI("<CAlarmDlg> Failed to add alarm.");
-				}
-			}
 				}
 			}
 
@@ -116,7 +106,7 @@
 	GetClientRect(&rcClient);
 
 	pItem = GetDlgItem(IDC_LIST_ALARM);
-	pItem->MoveWindow(12, 52, rcClient.Width() - 24, rcClient.Height() - 64);
+	pItem->MoveWindow(12, 58, rcClient.Width() - 24, rcClient.Height() - 64);
 }
 
 void CAlarmDlg::LoadAlarms()
diff --git a/SourceCode/Bond/Servo/AlarmManager.cpp b/SourceCode/Bond/Servo/AlarmManager.cpp
index da8215d..3283979 100644
--- a/SourceCode/Bond/Servo/AlarmManager.cpp
+++ b/SourceCode/Bond/Servo/AlarmManager.cpp
@@ -89,7 +89,7 @@
             unit_id TEXT NOT NULL,
             description TEXT NOT NULL,
             start_time DATETIME NOT NULL,
-            end_time DATETIME NOT NULL,
+            end_time DATETIME,
             FOREIGN KEY (device_id) REFERENCES devices(device_id),
             FOREIGN KEY (unit_id) REFERENCES units(unit_id)
         )
@@ -127,7 +127,7 @@
 
     // 插入单元数据
     for (int i = 1; i <= 3; ++i) {
-        for (int j = 1; j <= 3; ++j) {
+        for (int j = 0; j <= 3; ++j) {
             int unitId = j;
             std::string deviceId = std::to_string(i);
             std::string unitName = "Unit" + std::to_string(j);
@@ -144,6 +144,7 @@
         }
     }
 
+    /*
     // 初始化随机数生成器
     std::random_device rd;
     std::mt19937 gen(rd());
@@ -181,6 +182,7 @@
             std::cerr << "Failed to insert alarm data." << std::endl;
         }
     }
+    */
 }
 
 // 添加报警信息
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 7040c70..63157a6 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -74,7 +74,7 @@
 		// 初始化添加各子设备
 		addEFEM(listener);
 
-		
+		/*
 		{
 			CBonder* pBonder = new CBonder();
 			pBonder->setName("Bonder 1");
@@ -84,7 +84,7 @@
 			addEquipment(pBonder);
 			LOGE("已添加“Bonder 1”.");
 		}
-		
+		*/
 
 		// 定时器
 		g_pMaster = this;
@@ -244,7 +244,6 @@
 				delete pStep;
 			}
 		}
-
 
 		pEquipment->init();
 		LOGE("已添加“EFEM(ROBOT)”.");
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 5dce62e..2429f3a 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -124,10 +124,6 @@
 				}
 				int state = pEqAlarmStep->getAlarmState();
 				if (state == 1) {
-					LOGE("<CAlarmDlg> 发生警告");
-					std::string startTime = CToolUnits::timeToString2(CToolUnits::getTimestamp());
-					std::string endTime = "2000-01-01 00:00";
-
 					AlarmData alarmData;
 					alarmData.nId = pEqAlarmStep->getAlarmId();
 					alarmData.nSeverityLevel = pEqAlarmStep->getAlarmLevel();
@@ -135,8 +131,8 @@
 					alarmData.nUnitId = pEqAlarmStep->getUnitId();
 					alarmData.strDeviceName = alarmManager.getDeviceNameById(alarmData.nDeviceId);
 					alarmData.strUnitName = alarmManager.getUnitNameById(alarmData.nDeviceId, alarmData.nUnitId);
-					alarmData.strStartTime = startTime;
-					alarmData.strEndTime = endTime;
+					alarmData.strStartTime = CToolUnits::timeToString2(CToolUnits::getTimestamp());
+					alarmData.strEndTime = "";
 
 					const AlarmInfo* alarmInfo = alarmManager.getAlarmInfoByID(alarmData.nId);
 					alarmData.strDescription = alarmInfo != nullptr ? alarmInfo->strAlarmText : "";
@@ -144,14 +140,13 @@
 					int nAlarmEventId = 0;
 					bool result = alarmManager.addAlarm(alarmData, nAlarmEventId);
 					if (result) {
-						LOGI("<CAlarmDlg> Alarm added successfully!");
+						LOGI("<CModel> Alarm added successfully!");
 					}
 					else {
-						LOGE("<CAlarmDlg> Failed to add alarm.");
+						LOGE("<CModel> Failed to add alarm.");
 					}
 				}
 				else {
-					LOGE("<CAlarmDlg> i消除警告");
 					alarmManager.clearAlarmByAttributes(pEqAlarmStep->getAlarmId(),
 						pEqAlarmStep->getEquipment()->getID(),
 						pEqAlarmStep->getUnitId(),
diff --git a/SourceCode/Bond/Servo/Servo.cpp b/SourceCode/Bond/Servo/Servo.cpp
index 4a492c8..d88737c 100644
--- a/SourceCode/Bond/Servo/Servo.cpp
+++ b/SourceCode/Bond/Servo/Servo.cpp
@@ -119,7 +119,7 @@
 		AfxMessageBox(errorMsg, MB_ICONERROR);
 		return FALSE;
 	}
-	//AlarmManager::getInstance().insertMockData();
+	AlarmManager::getInstance().insertMockData();
 
 
 	// 初始化SECS运行设置管理库
diff --git a/SourceCode/Bond/Servo/Servo.rc b/SourceCode/Bond/Servo/Servo.rc
index d4dd065..7466ab6 100644
--- a/SourceCode/Bond/Servo/Servo.rc
+++ b/SourceCode/Bond/Servo/Servo.rc
Binary files differ
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index 90ee383..3bfbe09 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -626,6 +626,33 @@
 
 }
 
+void CServoDlg::OnBnClickedButtonAlarm()
+{
+	m_bShowAlarmWnd = !m_bShowAlarmWnd;
+
+	// 如果要显示报警窗口,则隐藏日志窗口
+	if (m_bShowLogWnd) {
+		m_bShowLogWnd = false;
+		if (m_pLogDlg != nullptr) {
+			m_pLogDlg->ShowWindow(SW_HIDE);
+			UpdateLogBtn();
+		}
+	}
+
+	if (m_pAlarmDlg == nullptr) {
+		m_pAlarmDlg = new CAlarmDlg();
+		m_pAlarmDlg->Create(IDD_DIALOG_ALARM, this);
+
+		CRect rcWnd;
+		GetWindowRect(&rcWnd);
+		m_pAlarmDlg->MoveWindow(rcWnd.left, rcWnd.bottom - 8, rcWnd.Width(), 200);
+	}
+	ASSERT(m_pAlarmDlg);
+	m_pAlarmDlg->ShowWindow(m_bShowAlarmWnd ? SW_SHOW : SW_HIDE);
+
+	UpdateAlarmBtn();
+}
+
 void CServoDlg::OnBnClickedButtonLog()
 {
 	m_bShowLogWnd = !m_bShowLogWnd;
@@ -848,14 +875,16 @@
 	y += rcItem.Height();
 	y += 8;
 
-	x = 8;
+	x = rcClient.right - 8;
 	pItem = GetDlgItem(IDC_BUTTON_LOG);
 	pItem->GetClientRect(&rcItem);
+	x -= rcItem.Width();
 	pItem->MoveWindow(x, rcClient.bottom - 8 - rcItem.Height(), rcItem.Width(), rcItem.Height());
+	x -= 8;
 
-	x = 20 + rcItem.Width();
 	pItem = GetDlgItem(IDC_BUTTON_ALARM);
 	pItem->GetClientRect(&rcItem);
+	x -= rcItem.Width();
 	pItem->MoveWindow(x, rcClient.bottom - 8 - rcItem.Height(), rcItem.Width(), rcItem.Height());
 }
 
@@ -945,14 +974,6 @@
 	}
 	
 	return CDialogEx::OnEraseBkgnd(pDC);
-}
-
-
-void CServoDlg::OnBnClickedButtonAlarm()
-{
-	// TODO: 在此添加控件通知处理程序代码
-	CAlarmDlg dlg;
-	dlg.DoModal();
 }
 
 void CServoDlg::OnGraphItemClicked(NMHDR* pNMHDR, LRESULT* pResult)

--
Gitblit v1.9.3