CModuleConfig.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #pragma once
  2. #include "CppSQLite3.h"
  3. #include "dt.h"
  4. #include <string>
  5. #include <windows.h>
  6. #include <mutex>
  7. #include "CConfigBaseManage.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. #define BONDHEAD_BUTTON_CONFIG_TABLE_NAME "EutecticHead_Button"
  32. #define WAFERHEAD_BUTTON_CONFIG_TABLE_NAME "WaferHead_Button"
  33. #define WAFFLEHEAD_BUTTON_CONFIG_TABLE_NAME "WaffleHead_Button"
  34. #define EJECTOR_BUTTON_CONFIG_TABLE_NAME "Ejector_Button"
  35. #define WAFERTABLE_BUTTON_CONFIG_TABLE_NAME "WaferTable_Button"
  36. #define MATERIAL_BUTTON_BOX_CONFIG_TABLE_NAME "MaterialBox_Button"
  37. #define WAFER_CALIB_BUTTON_TABLE_CONFIG_TABLE_NAME "WaferCalibTable_Button"
  38. #define WAFFLE_CALIB_BUTTON_TABLE_CONFIG_TABLE_NAME "WaffleCalibTable_Button"
  39. #define BOND_BUTTON_TABLE_CONFIG_TABLE_NAME "BondTable_Button"
  40. #define NOZZLE_BUTTON_TABLE_CONFIG_TABLE_NAME "NozzleTable_Button"
  41. #define ULTRAHEAD_BUTTON_TABLE_NAME "UltraHead_Button"
  42. const static std::vector<std::string> g_vetModuleConfigTableName = {
  43. BONDHEAD_CONFIG_TABLE_NAME,
  44. WAFERHEAD_CONFIG_TABLE_NAME,
  45. //WAFFLEHEAD_CONFIG_TABLE_NAME,
  46. EJECTOR_CONFIG_TABLE_NAME,
  47. WAFERTABLE_CONFIG_TABLE_NAME,
  48. //MATERIAL_BOX_CONFIG_TABLE_NAME,
  49. //WAFER_CALIB_TABLE_CONFIG_TABLE_NAME,
  50. //WAFFLE_CALIB_TABLE_CONFIG_TABLE_NAME,
  51. //BOND_TABLE_CONFIG_TABLE_NAME,
  52. //NOZZLE_TABLE_CONFIG_TABLE_NAME,
  53. HARDWARE_SWICH_TABLE_NAME,
  54. ULTRAHEAD_TABLE_NAME,
  55. BONDHEAD_BUTTON_CONFIG_TABLE_NAME,
  56. WAFERHEAD_BUTTON_CONFIG_TABLE_NAME,
  57. WAFFLEHEAD_BUTTON_CONFIG_TABLE_NAME,
  58. EJECTOR_BUTTON_CONFIG_TABLE_NAME,
  59. WAFERTABLE_BUTTON_CONFIG_TABLE_NAME,
  60. MATERIAL_BUTTON_BOX_CONFIG_TABLE_NAME,
  61. WAFER_CALIB_BUTTON_TABLE_CONFIG_TABLE_NAME,
  62. WAFFLE_CALIB_BUTTON_TABLE_CONFIG_TABLE_NAME,
  63. BOND_BUTTON_TABLE_CONFIG_TABLE_NAME,
  64. NOZZLE_BUTTON_TABLE_CONFIG_TABLE_NAME,
  65. ULTRAHEAD_BUTTON_TABLE_NAME,
  66. ULTRAHEAD_DIAGNOSIS_TABLE_NAME
  67. };
  68. class DLL_MODULE_CONFIG_API CModuleConfig : public CDataBaseOperate
  69. {
  70. public:
  71. CModuleConfig();
  72. private:
  73. //CConfigBase* m_ConfigBaseDb;
  74. CConfigBaseManage* m_pConfigBaseManage;
  75. LONG SaveDB() override;
  76. LONG LoadDB() override;
  77. public:
  78. LONG GetConfigParam_HardwareSwich(string sKey, bool* flag);
  79. vector<CONFIG_BASE_STRUCT> GetConfigParam(string sTableName);
  80. LONG GetConfigParam(string sTableName, vector<MODULE_CONFIG_STRUCT>* vecconfig);
  81. LONG SetConfigParam(string sTableName,vector<CONFIG_BASE_STRUCT> vecconfig,bool bSendNotice = true);
  82. LONG SetConfigParam(string sTableName,vector<MODULE_CONFIG_STRUCT> vecconfig, bool bSendNotice = true);
  83. };
  84. }