CModuleConfig.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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. class DLL_MODULE_CONFIG_API CModuleConfig : public CDataBaseOperate
  30. {
  31. public:
  32. CModuleConfig();
  33. LONG GetConfigParam(string strTableName, vector<MODULE_CONFIG_STRUCT>& vecConfig);
  34. LONG GetConfigParam(string strTableName, vector<CONFIG_BASE_STRUCT>& vecConfig);
  35. LONG SetConfigParam(string strTableName, vector<MODULE_CONFIG_STRUCT> vecconfig);
  36. LONG SetConfigParam(string strTableName, vector<CONFIG_BASE_STRUCT> vecconfig);
  37. private:
  38. std::unique_ptr<CConfigBase> m_ConfigBaseDb;
  39. LONG SaveDB() override;
  40. LONG LoadDB() override;
  41. /*LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, string& value);
  42. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, CHAR* value, UINT len);
  43. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, LONG* value);
  44. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, ULONG* value);
  45. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, INT* value);
  46. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, DOUBLE* value);
  47. LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, bool* value);
  48. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, const CHAR* value);
  49. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, string value);
  50. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, LONG value);
  51. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, ULONG value);
  52. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, INT value);
  53. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, DOUBLE value);
  54. LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, bool value);*/
  55. /*LONG GetConfigParam(vector<CONFIG_BASE_STRUCT> stConfig, vector<MODULE_CONFIG_STRUCT>* vecconfig);
  56. LONG SetConfigParam(vector<CONFIG_BASE_STRUCT>* stConfig, vector<MODULE_CONFIG_STRUCT> vecconfig);*/
  57. #pragma region HardwareSwich
  58. private:
  59. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_HardwareSwich;
  60. public:
  61. LONG GetConfigParam_HardwareSwich(string name,bool* flag);
  62. vector<CONFIG_BASE_STRUCT> GetConfigParam_HardwareSwich() { return m_vecConfig_HardwareSwich; };
  63. LONG SetConfigParam_HardwareSwich(vector<CONFIG_BASE_STRUCT> vecconfig);
  64. LONG SetConfigParam_HardwareSwich(vector<MODULE_CONFIG_STRUCT> vecconfig);
  65. #pragma endregion
  66. #pragma region BondHead
  67. private:
  68. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_BondHead;
  69. public:
  70. LONG GetConfigParam_BondHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  71. vector<CONFIG_BASE_STRUCT> GetConfigParam_BondHead() { return m_vecConfig_BondHead; };
  72. LONG SetConfigParam_BondHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  73. LONG SetConfigParam_BondHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  74. #pragma endregion
  75. #pragma region WaferHead
  76. private:
  77. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferHead;
  78. public:
  79. LONG GetConfigParam_WaferHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  80. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferHead() { return m_vecConfig_WaferHead; };
  81. LONG SetConfigParam_WaferHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  82. LONG SetConfigParam_WaferHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  83. #pragma endregion
  84. #pragma region WaffleHead
  85. private:
  86. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaffleHead;
  87. public:
  88. LONG GetConfigParam_WaffleHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  89. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaffleHead() { return m_vecConfig_WaffleHead; };
  90. LONG SetConfigParam_WaffleHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  91. LONG SetConfigParam_WaffleHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  92. #pragma endregion
  93. #pragma region Ejector
  94. private:
  95. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_Ejector;
  96. public:
  97. LONG GetConfigParam_Ejector(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  98. vector<CONFIG_BASE_STRUCT> GetConfigParam_Ejector() { return m_vecConfig_Ejector; };
  99. LONG SetConfigParam_Ejector(vector<CONFIG_BASE_STRUCT> vecconfig);
  100. LONG SetConfigParam_Ejector(vector<MODULE_CONFIG_STRUCT> vecconfig);
  101. #pragma endregion
  102. #pragma region WaferTable
  103. private:
  104. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferTable;
  105. public:
  106. LONG GetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  107. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferTable() { return m_vecConfig_WaferTable; };
  108. LONG SetConfigParam_WaferTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  109. LONG SetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  110. #pragma endregion
  111. #pragma region CalibTable
  112. private:
  113. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferCalibTable;
  114. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaffleCalibTable;
  115. public:
  116. //LONG GetConfigParamg_CalibTable(int moduleType, vector<MODULE_CONFIG_STRUCT>* vecconfig);
  117. LONG GetConfigParam_WaferCalibTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  118. LONG GetConfigParam_WaffleCalibTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  119. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferCalibTable() { return m_vecConfig_WaferCalibTable; };
  120. vector<CONFIG_BASE_STRUCT> GetConfigParam_WaffleCalibTable() { return m_vecConfig_WaffleCalibTable; };
  121. LONG SetConfigParam_WaferCalibTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  122. LONG SetConfigParam_WaffleCalibTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  123. LONG SetConfigParam_WaferCalibTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  124. LONG SetConfigParam_WaffleCalibTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  125. //LONG SetConfigParam_CalibTable(int moduleType, vector<MODULE_CONFIG_STRUCT> vecconfig);
  126. #pragma endregion
  127. #pragma region BondTable
  128. private:
  129. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_BondTable;
  130. public:
  131. LONG GetConfigParam_BondTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  132. vector<CONFIG_BASE_STRUCT> GetConfigParam_BondTable() { return m_vecConfig_BondTable; };
  133. LONG SetConfigParam_BondTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  134. LONG SetConfigParam_BondTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  135. #pragma endregion
  136. #pragma region NozzleTable
  137. private:
  138. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_NozzleTable;
  139. public:
  140. LONG GetConfigParam_NozzleTable(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  141. vector<CONFIG_BASE_STRUCT> GetConfigParam_NozzleTable() { return m_vecConfig_NozzleTable; };
  142. LONG SetConfigParam_NozzleTable(vector<CONFIG_BASE_STRUCT> vecconfig);
  143. LONG SetConfigParam_NozzleTable(vector<MODULE_CONFIG_STRUCT> vecconfig);
  144. #pragma endregion
  145. #pragma region UltraHead
  146. private:
  147. std::vector<CONFIG_BASE_STRUCT> m_vecConfig_UltraHead;
  148. public:
  149. LONG GetConfigParam_UltraHead(vector<MODULE_CONFIG_STRUCT>* vecconfig);
  150. vector<CONFIG_BASE_STRUCT> GetConfigParam_UltraHead() { return m_vecConfig_UltraHead; };
  151. LONG SetConfigParam_UltraHead(vector<CONFIG_BASE_STRUCT> vecconfig);
  152. LONG SetConfigParam_UltraHead(vector<MODULE_CONFIG_STRUCT> vecconfig);
  153. #pragma endregion
  154. };
  155. }