CModuleConfig.h 9.2 KB

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