From bca7e5d43c28757b3de88050e585eb40aa202bce Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期二, 27 一月 2026 15:50:21 +0800
Subject: [PATCH] 1.增加机台事件的上报时关联机器名,slot

---
 SourceCode/Bond/Servo/CUserManager2.cpp |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/SourceCode/Bond/Servo/CUserManager2.cpp b/SourceCode/Bond/Servo/CUserManager2.cpp
index 25912eb..402b2f6 100644
--- a/SourceCode/Bond/Servo/CUserManager2.cpp
+++ b/SourceCode/Bond/Servo/CUserManager2.cpp
@@ -1,9 +1,10 @@
-#include "stdafx.h"
+锘�#include "stdafx.h"
 #include "CUserManager2.h"
 #include "ToolUnits.h"
 #include <vector>
 #include <map>
 #include <utility>
+#include <algorithm>
 #include <sstream>
 #include <cwchar>
 
@@ -40,7 +41,7 @@
 	return L"";
 }
 
-// 获取单例实例
+// 鑾峰彇鍗曚緥瀹炰緥
 CUserManager2& CUserManager2::getInstance() {
 	static CUserManager2 instance;
 	return instance;
@@ -66,10 +67,33 @@
 	bool hasAny = false;
 	for (auto& ln : SplitLines(buffer)) { if (!ln.empty()) { hasAny = true; break; } }
 	if (!hasAny) {
-		const wchar_t* roles = L"Admin:100\nEngineer:50\nOperator:10\n";
+		const wchar_t* roles = L"Admin:100\nEE:80\nPE:50\nOperator:10\n";
 		(void)UX_SetRoleDefinitions(roles);
 		(void)UX_AddUser(L"admin", L"Administrator", L"admin123", L"Admin");
+
+		UX_DefineAction(L"start", L"鍚姩鏈哄彴", L"Operator"); 
+		UX_DefineAction(L"stop", L"鍋滄満", L"Operator");
+		UX_DefineAction(L"recipe", L"缂栬緫閰嶆柟", L"PE");
+		UX_DefineAction(L"delVarialbles", L"鍒犻櫎鍙橀噺", L"PE");
+		UX_DefineAction(L"addVarialbles", L"鏂板鍙橀噺", L"PE");
+		UX_DefineAction(L"editVarialbles", L"缂栬緫鍙橀噺", L"PE");
+		UX_DefineAction(L"addReports", L"鏂板Report", L"PE");
+		UX_DefineAction(L"editReports", L"缂栬緫Report", L"PE");
+		UX_DefineAction(L"delReports", L"鍒犻櫎Report", L"PE");
+		UX_DefineAction(L"addEvents", L"鏂板Event", L"PE");
+		UX_DefineAction(L"editEvents", L"缂栬緫Event", L"PE");
+		UX_DefineAction(L"delEvents", L"鍒犻櫎Event", L"PE");
 	}
+	// 纭繚鏉冮檺瀹氫箟瀛樺湪锛堝箓绛夛級
+	UX_DefineAction(L"addVarialbles", L"鏂板鍙橀噺", L"PE");
+	UX_DefineAction(L"editVarialbles", L"缂栬緫鍙橀噺", L"PE");
+	UX_DefineAction(L"delVarialbles", L"鍒犻櫎鍙橀噺", L"PE");
+	UX_DefineAction(L"addReports", L"鏂板Report", L"PE");
+	UX_DefineAction(L"editReports", L"缂栬緫Report", L"PE");
+	UX_DefineAction(L"delReports", L"鍒犻櫎Report", L"PE");
+	UX_DefineAction(L"delEvents", L"鍒犻櫎Event", L"PE");
+	UX_DefineAction(L"addEvents", L"鏂板Event", L"PE");
+	UX_DefineAction(L"editEvents", L"缂栬緫Event", L"PE");
 }
 
 bool CUserManager2::login(const char* pszAccount, const char* pszPwd)
@@ -142,9 +166,15 @@
 		}
 	}
 
+	std::sort(roles.begin(), roles.end(), [](const RoleInfo& a, const RoleInfo& b) {
+		if (a.level == b.level) {
+			return a.name < b.name;
+		}
+		return a.level > b.level;
+	});
+
 	return roles;
 }
-
 std::vector<CUserManager2::UserInfo> CUserManager2::getUsers()
 {
 	std::vector<UserInfo> users;

--
Gitblit v1.9.3