From b13e43c3eb3881d56f0da797a4171f070bcf2413 Mon Sep 17 00:00:00 2001
From: darker <mr.darker@163.com>
Date: 星期四, 20 二月 2025 18:05:23 +0800
Subject: [PATCH] 1.修复状态错误的问题 2.SECS运行表完成SystemDV表和EqpDV的增删改查,并且把DV数据和SV数据的增删改查提取成一个通用函数

---
 SourceCode/Bond/Servo/SECSRuntimeManager.h |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/SourceCode/Bond/Servo/SECSRuntimeManager.h b/SourceCode/Bond/Servo/SECSRuntimeManager.h
index f0a722d..b66c70f 100644
--- a/SourceCode/Bond/Servo/SECSRuntimeManager.h
+++ b/SourceCode/Bond/Servo/SECSRuntimeManager.h
@@ -31,6 +31,34 @@
 	*/
     void termRuntimeSetting();
 
+    /**
+     * 鍒濆鍖栨寚瀹氱殑 SystemV 琛�
+     * @param tableName: 瑕佸垵濮嬪寲鐨勮〃鍚嶏紙濡� "SystemSV" 鎴� "SystemDV"锛夈��
+     *
+     * 姝ゅ嚱鏁扮敤浜庡垵濮嬪寲鎸囧畾鍚嶇О鐨� SystemV 琛ㄣ�傚鏋滆〃涓嶅瓨鍦紝灏嗕細鍒涘缓璇ヨ〃銆�
+     * - 琛ㄧ粨鏋勫寘鎷細ID銆丯ame銆丏ataType銆丩ength銆乁nit銆丷emark銆丼ystemID銆�
+     * - 濡傛灉琛ㄥ凡缁忓瓨鍦紝鍒欎笉杩涜浠讳綍鎿嶄綔銆�
+     */
+    void initSystemVTable(const std::string& tableName);
+
+    int addSystemVData(const std::string& tableName, int nID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSystemID);
+
+    std::vector<std::vector<std::string>> getSystemVByID(const std::string& tableName, int nID);
+
+    std::vector<std::vector<std::string>> getAllSystemV(const std::string& tableName);
+
+    int updateIDSystemV(const std::string& tableName, int nID, int sNewID);
+
+    int updateAllSystemV(const std::string& tableName, int nID, int sNewID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSystemID);
+
+    void initEqpVTable(const std::string& tableName);
+
+    int addEqpVData(const std::string& tableName, int nID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSeqNo);
+
+    std::vector<std::vector<std::string>> getEqpVDataByID(const std::string& tableName, int nID);
+
+    int updateEqpV(const std::string& tableName, int nID, int nNewID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSeqNo);
+
 	/**
     * 鍒濆鍖朣ystemSV琛�
     */
@@ -190,14 +218,8 @@
 
     /**
     * 鑾峰彇鎵�鏈� EqpSV 鏁版嵁
-    * @return std::vector<std::vector<std::string>>: 杩斿洖涓�涓簩缁村瓧绗︿覆鍚戦噺锛岃〃绀烘煡璇㈢粨鏋溿�傛瘡琛屼唬琛ㄤ竴鏉¤褰曪紝姣忓垪浠h〃璇ヨ褰曠殑涓�涓瓧娈靛�笺��
-    *          濡傛灉琛ㄤ腑鏈夋暟鎹紝鍒欒繑鍥炴墍鏈夎褰曪紱濡傛灉琛ㄤ负绌猴紝鍒欒繑鍥炵┖鐨勪簩缁村悜閲忋��
-    *
-    * 姝ゅ嚱鏁扮敤浜庝粠 EqpSV 琛ㄤ腑鑾峰彇鎵�鏈夌殑鏁版嵁銆傞�氳繃鏋勯�� SQL 鏌ヨ璇彞鏉ラ�夋嫨鎵�鏈夎褰曪紝骞舵墽琛屾煡璇㈡搷浣溿��
-    * 杩斿洖鐨勭粨鏋滄槸涓�涓簩缁村瓧绗︿覆鍚戦噺锛岃〃绀鸿〃涓殑鎵�鏈夎褰曘�傛瘡琛屾暟鎹槸涓�涓瓧绗︿覆鍚戦噺锛屽叾涓寘鍚璁板綍鐨勫悇涓瓧娈点��
-    * 濡傛灉琛ㄤ腑娌℃湁鏁版嵁锛屽嚱鏁板皢杩斿洖涓�涓┖鐨勪簩缁村悜閲忋��
     */
-    std::vector<std::vector<std::string>> SECSRuntimeManager::getAllEqpSV();
+    bool getAllEqpSV(std::vector<std::vector<std::string>>& outEqpSV);
 
     /**
      * 鏇存柊鎸囧畾 ID 鐨� EqpSV 鏁版嵁
@@ -258,10 +280,36 @@
     */ 
     void initSystemDVTable();
 
+    int addSystemDV(int nID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSystemID);
+
+    std::vector<std::vector<std::string>> getSystemDVByID(int nID);
+
+    std::vector<std::vector<std::string>> getAllSystemDV();
+
+    int updateIDSystemDV(int nID, int sNewID);
+
+    int updateAllSystemDV(int nID, int sNewID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSystemID);
+
+    int deleteSystemDVByID(int nID);
+
+    int deleteAllSystemDV();
+
 	/**
 	* 鍒濆鍖� EqpDV 琛�
     */ 
     void initEqpDVTable();
+
+    int addEqpDV(int nID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSeqNo);
+
+    std::vector<std::vector<std::string>> getEqpDVByID(int nID);
+
+    bool getAllEqpDV(std::vector<std::vector<std::string>>& outEqpDV);
+
+    int updateEqpDV(int nID, int nNewID, const std::string& sName, const std::string& sDataType, int nLength, const std::string& sUnit, const std::string& sRemark, int nSeqNo);
+
+    int deleteEqpDVByID(int nID);
+
+    int deleteAllEqpDV();
 
 	/**
 	* 鍒濆鍖� SystemEC 琛�
@@ -434,6 +482,15 @@
 	// 鍒ゆ柇鍚嶇О鏄惁閲嶅
     bool isNameDuplicate(const std::string& sName);
 
+	// 鍒犻櫎鎸囧畾琛ㄤ腑鐨勬墍鏈夋暟鎹�
+    int deleteAllDataFromTable(const std::string& tableName);
+
+    // 鏌ヨ鎸囧畾琛ㄦ墍鏈夋暟鎹紙閫氱敤鍑芥暟锛�
+    bool getAllDataFromTable(const std::string& tableName, std::vector<std::vector<std::string>>& outData);
+
+	// 鍒犻櫎鎸囧畾琛ㄤ腑鎸囧畾 ID 鐨勬暟鎹�
+    int deleteDataByID(const std::string& tableName, int nID);
+
     BL::Database* m_pDB;
     static std::mutex m_mutex;
 };

--
Gitblit v1.9.3