CManageDB.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #pragma once
  2. #include "CppSQLite3.h"
  3. #include "dt.h"
  4. #include "CProduct.h"
  5. #include "CMachineSetup.h"
  6. #include "CHardware.h"
  7. #include "CModuleConfig.h"
  8. #include "CMachineCalibration.h"
  9. #include "CSecurity.h"
  10. #include "CStatisticCounters.h"
  11. #include "CCalibrationConfig.h"
  12. #include <string>
  13. #include <windows.h>
  14. #include <mutex>
  15. using namespace std;
  16. namespace ns_db
  17. {
  18. const static std::map<std::string, std::string> g_mapDatabaseList = {
  19. {MODULECONFIG_DATABASE_NAME , BONDHEAD_CONFIG_TABLE_NAME},
  20. {MODULECONFIG_DATABASE_NAME , WAFERHEAD_CONFIG_TABLE_NAME},
  21. {MODULECONFIG_DATABASE_NAME , WAFFLEHEAD_CONFIG_TABLE_NAME},
  22. {MODULECONFIG_DATABASE_NAME , EJECTOR_CONFIG_TABLE_NAME},
  23. {MODULECONFIG_DATABASE_NAME , WAFERTABLE_CONFIG_TABLE_NAME},
  24. {MODULECONFIG_DATABASE_NAME , WAFER_CALIB_TABLE_CONFIG_TABLE_NAME},
  25. {MODULECONFIG_DATABASE_NAME , WAFFLE_CALIB_TABLE_CONFIG_TABLE_NAME },
  26. {MODULECONFIG_DATABASE_NAME , BOND_TABLE_CONFIG_TABLE_NAME},
  27. {MODULECONFIG_DATABASE_NAME , NOZZLE_TABLE_CONFIG_TABLE_NAME},
  28. {MODULECONFIG_DATABASE_NAME , HARDWARE_SWICH_TABLE_NAME},
  29. {MODULECONFIG_DATABASE_NAME , ULTRAHEAD_TABLE_NAME },
  30. {MODULECONFIG_DATABASE_NAME , ULTRAHEAD_DIAGNOSIS_TABLE_NAME},
  31. {CALIBCONFIG_DATABASE_NAME , CALIB_CTD_TABLE_NAME},
  32. {CALIBCONFIG_DATABASE_NAME , CALIB_XY_TABLE_NAME},
  33. {CALIBCONFIG_DATABASE_NAME , CALIB_R_TABLE_NAME },
  34. {CALIBCONFIG_DATABASE_NAME , CALIB_STEP_R_RESULT_TABLE_NAME},
  35. {CALIBCONFIG_DATABASE_NAME , FORCE_CONTROL_TABLE_NAME },
  36. {CALIBCONFIG_DATABASE_NAME , HORIZONTAL_MEASURE_TABLE_NAME },
  37. {CALIBCONFIG_DATABASE_NAME , VERTICAL_MEASURE_TABLE_NAME},
  38. {CALIBCONFIG_DATABASE_NAME , CALIB_TIP_RESULT}
  39. };
  40. class __declspec(dllexport) CManageDB
  41. {
  42. public:
  43. static CManageDB* GetInstance();
  44. vector<CDataBaseOperate*> GetAllDataBase();
  45. LONG LoadAllDataBase();
  46. LONG SaveAllDataBase();
  47. string GetCurrentProductPath() { return m_strCurrentProgramPath; };
  48. CHardware* GetCHardware() { return m_pCHardware; };
  49. CModuleConfig* GetCModuleConfig() { return m_pCModuleConfig; };
  50. CStatisticCounters* GetCStatisticCounters() { return m_pCStatisticCounters; };
  51. CProduct* GetCProduct() { return m_pCProduct; };
  52. CMachineSetup* GetCMachineSetup() { return m_pCMachineSetup; };
  53. CMachineCalibration* GetCMachineCalibration() { return m_pCMachineCalibration; };
  54. CSecurity* GetCSecurity() { return m_pCSecurity; };
  55. CCalibrationConfig* GetCCalibrationConfig() { return m_pCCalibrationConfig; };
  56. std::string GetDbNameByTableName(std::string strTableName);
  57. private:
  58. static vector<CDataBaseOperate*> m_vecDataBase;
  59. CHardware* m_pCHardware = nullptr;
  60. CSecurity* m_pCSecurity = nullptr;
  61. CStatisticCounters* m_pCStatisticCounters = nullptr;
  62. CProduct* m_pCProduct = nullptr;
  63. CMachineSetup* m_pCMachineSetup = nullptr;
  64. CModuleConfig* m_pCModuleConfig = nullptr;
  65. CMachineCalibration* m_pCMachineCalibration = nullptr;
  66. CCalibrationConfig* m_pCCalibrationConfig = nullptr;
  67. string m_strCurrentProgramPath;
  68. static CManageDB* m_pInstance;
  69. static std::mutex m_Mutex;
  70. };
  71. }