CModuleConfig.h 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. #pragma once
  2. #include "CppSQLite3.h"
  3. #include "dt.h"
  4. #include <string>
  5. #include <windows.h>
  6. #include <mutex>
  7. #include "CConfigBase.h"
  8. #include "CDataBaseOperate.h"
  9. namespace ns_db
  10. {
  11. using namespace std;
  12. #ifdef MODULE_CONFIG_DLL
  13. #define DLL_MODULE_CONFIG_API __declspec(dllexport)
  14. #else
  15. #define DLL_MODULE_CONFIG_API
  16. #endif
  17. #define MODULECONFIG_DATABASE_NAME ROOT_PATH##"\\db\\ModuleConfig.db"
  18. #define BONDHEAD_CONFIG_TABLE_NAME "EutecticHead"
  19. #define WAFERHEAD_CONFIG_TABLE_NAME "WaferHead"
  20. #define WAFFLEHEAD_CONFIG_TABLE_NAME "WaffleHead"
  21. #define EJECTOR_CONFIG_TABLE_NAME "Ejector"
  22. #define WAFERTABLE_CONFIG_TABLE_NAME "WaferTable"
  23. #define WAFER_CALIB_TABLE_CONFIG_TABLE_NAME "WaferCalibTable"
  24. #define WAFFLE_CALIB_TABLE_CONFIG_TABLE_NAME "WaffleCalibTable"
  25. #define BOND_TABLE_CONFIG_TABLE_NAME "BondTable"
  26. #define NOZZLE_TABLE_CONFIG_TABLE_NAME "NozzleTable"
  27. #define HARDWARE_SWICH_TABLE_NAME "HardwareSwich"
  28. #define ULTRAHEAD_TABLE_NAME "UltraHead"
  29. #define ULTRAHEAD_DIAGNOSIS_TABLE_NAME "UltraHead_Diagnosis"
  30. const static std::string g_mapModuleConfigDbList[] = {
  31. BONDHEAD_CONFIG_TABLE_NAME,
  32. WAFERHEAD_CONFIG_TABLE_NAME,
  33. WAFFLEHEAD_CONFIG_TABLE_NAME,
  34. EJECTOR_CONFIG_TABLE_NAME,
  35. WAFERTABLE_CONFIG_TABLE_NAME,
  36. WAFER_CALIB_TABLE_CONFIG_TABLE_NAME,
  37. WAFFLE_CALIB_TABLE_CONFIG_TABLE_NAME,
  38. BOND_TABLE_CONFIG_TABLE_NAME,
  39. NOZZLE_TABLE_CONFIG_TABLE_NAME,
  40. HARDWARE_SWICH_TABLE_NAME,
  41. ULTRAHEAD_TABLE_NAME,
  42. ULTRAHEAD_DIAGNOSIS_TABLE_NAME
  43. };
  44. class DLL_MODULE_CONFIG_API CModuleConfig : public CDataBaseOperate
  45. {
  46. public:
  47. CModuleConfig();
  48. LONG GetConfigParam(string strTableName, vector<MODULE_CONFIG_STRUCT>& vecConfig);
  49. LONG GetConfigParam(string strTableName, vector<CONFIG_BASE_STRUCT>& vecConfig);
  50. LONG SetConfigParam(string strTableName, vector<MODULE_CONFIG_STRUCT> vecconfig);
  51. LONG SetConfigParam(string strTableName, vector<CONFIG_BASE_STRUCT> vecconfig);
  52. private:
  53. std::unique_ptr<CConfigBase> m_ConfigBaseDb;
  54. LONG SaveDB() override;
  55. LONG LoadDB() override;
  56. /*LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, string& value);
  57. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, CHAR* value, UINT len);
  58. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, LONG* value);
  59. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, ULONG* value);
  60. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, INT* value);
  61. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, DOUBLE* value);
  62. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, bool* value);
  63. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, const CHAR* value);
  64. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, string value);
  65. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, LONG value);
  66. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, ULONG value);
  67. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, INT value);
  68. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, DOUBLE value);
  69. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, bool value);*/
  70. /*LONG GetConfigParam(vector<CONFIG_BASE_STRUCT> stConfig, vector<MODULE_CONFIG_STRUCT>* vecconfig);
  71. LONG SetConfigParam(vector<CONFIG_BASE_STRUCT>* stConfig, vector<MODULE_CONFIG_STRUCT> vecconfig);*/
  72. #pragma region HardwareSwich
  73. private:
  74. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_HardwareSwich;
  75. public:
  76. LONG GetConfigParam_HardwareSwich(string name,bool* flag);
  77. vector<CONFIG_BASE_STRUCT> GetConfigParam_HardwareSwich() { return m_vecConfig_HardwareSwich; };
  78. LONG SetConfigParam_HardwareSwich(vector<CONFIG_BASE_STRUCT> vecconfig);
  79. LONG SetConfigParam_HardwareSwich(vector<MODULE_CONFIG_STRUCT> vecconfig);
  80. #pragma endregion
  81. #pragma region BondHead
  82. private:
  83. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_BondHead;
  84. public:
  85. LONG GetConfigParam_BondHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  86. vector<CONFIG_BASE_STRUCT> GetConfigParam_BondHead() { return m_vecConfig_BondHead; };
  87. LONG SetConfigParam_BondHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  88. LONG SetConfigParam_BondHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  89. #pragma endregion
  90. #pragma region WaferHead
  91. private:
  92. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferHead;
  93. public:
  94. LONG GetConfigParam_WaferHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  95. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferHead() { return m_vecConfig_WaferHead; };
  96. LONG SetConfigParam_WaferHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  97. LONG SetConfigParam_WaferHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  98. #pragma endregion
  99. #pragma region WaffleHead
  100. private:
  101. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaffleHead;
  102. public:
  103. LONG GetConfigParam_WaffleHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  104. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaffleHead() { return m_vecConfig_WaffleHead; };
  105. LONG SetConfigParam_WaffleHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  106. LONG SetConfigParam_WaffleHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  107. #pragma endregion
  108. #pragma region Ejector
  109. private:
  110. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_Ejector;
  111. public:
  112. LONG GetConfigParam_Ejector(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  113. vector<CONFIG_BASE_STRUCT> GetConfigParam_Ejector() { return m_vecConfig_Ejector; };
  114. LONG SetConfigParam_Ejector(vector<CONFIG_BASE_STRUCT> vecconfig);
  115. LONG SetConfigParam_Ejector(vector<MODULE_CONFIG_STRUCT> vecconfig);
  116. #pragma endregion
  117. #pragma region WaferTable
  118. private:
  119. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferTable;
  120. public:
  121. LONG GetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  122. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferTable() { return m_vecConfig_WaferTable; };
  123. LONG SetConfigParam_WaferTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  124. LONG SetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  125. #pragma endregion
  126. #pragma region CalibTable
  127. private:
  128. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferCalibTable;
  129. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaffleCalibTable;
  130. public:
  131. //LONG GetConfigParamg_CalibTable(int moduleType, vector<MODULE_CONFIG_STRUCT>* vecconfig);
  132. LONG GetConfigParam_WaferCalibTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  133. LONG GetConfigParam_WaffleCalibTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  134. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferCalibTable() { return m_vecConfig_WaferCalibTable; };
  135. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaffleCalibTable() { return m_vecConfig_WaffleCalibTable; };
  136. LONG SetConfigParam_WaferCalibTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  137. LONG SetConfigParam_WaffleCalibTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  138. LONG SetConfigParam_WaferCalibTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  139. LONG SetConfigParam_WaffleCalibTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  140. //LONG SetConfigParam_CalibTable(int moduleType, vector<MODULE_CONFIG_STRUCT> vecconfig);
  141. #pragma endregion
  142. #pragma region BondTable
  143. private:
  144. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_BondTable;
  145. public:
  146. LONG GetConfigParam_BondTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  147. vector<CONFIG_BASE_STRUCT> GetConfigParam_BondTable() { return m_vecConfig_BondTable; };
  148. LONG SetConfigParam_BondTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  149. LONG SetConfigParam_BondTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  150. #pragma endregion
  151. #pragma region NozzleTable
  152. private:
  153. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_NozzleTable;
  154. public:
  155. LONG GetConfigParam_NozzleTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  156. vector<CONFIG_BASE_STRUCT> GetConfigParam_NozzleTable() { return m_vecConfig_NozzleTable; };
  157. LONG SetConfigParam_NozzleTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  158. LONG SetConfigParam_NozzleTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  159. #pragma endregion
  160. #pragma region UltraHead
  161. private:
  162. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_UltraHead;
  163. public:
  164. LONG GetConfigParam_UltraHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  165. vector<CONFIG_BASE_STRUCT> GetConfigParam_UltraHead() { return m_vecConfig_UltraHead; };
  166. LONG SetConfigParam_UltraHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  167. LONG SetConfigParam_UltraHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  168. #pragma endregion
  169. #pragma region UltraHead_Diagnosis
  170. private:
  171. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_UltraHeadDiagnosis;
  172. public:
  173. LONG GetConfigParam_UltraHeadDiagnosis(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  174. vector<CONFIG_BASE_STRUCT> GetConfigParam_UltraHeadDiagnosis() { return m_vecConfig_UltraHeadDiagnosis; };
  175. LONG SetConfigParam_UltraHeadDiagnosis(vector<CONFIG_BASE_STRUCT> vecconfig);
  176. LONG SetConfigParam_UltraHeadDiagnosis(vector<MODULE_CONFIG_STRUCT> vecconfig);
  177. #pragma endregion
  178. };
  179. }