#pragma once #include "CppSQLite3.h" #include "dt.h" #include <string> #include <windows.h> #include <mutex> #include "CConfigBase.h" #include "CDataBaseOperate.h" namespace ns_db { using namespace std; #ifdef MODULE_CONFIG_DLL #define DLL_MODULE_CONFIG_API __declspec(dllexport) #else #define DLL_MODULE_CONFIG_API #endif #define MODULECONFIG_DATABASE_NAME ROOT_PATH##"\\db\\ModuleConfig.db" #define BONDHEAD_CONFIG_TABLE_NAME "EutecticHead" #define WAFERHEAD_CONFIG_TABLE_NAME "WaferHead" #define WAFFLEHEAD_CONFIG_TABLE_NAME "WaffleHead" #define EJECTOR_CONFIG_TABLE_NAME "Ejector" #define WAFERTABLE_CONFIG_TABLE_NAME "WaferTable" #define WAFER_CALIB_TABLE_CONFIG_TABLE_NAME "WaferCalibTable" #define WAFFLE_CALIB_TABLE_CONFIG_TABLE_NAME "WaffleCalibTable" #define BOND_TABLE_CONFIG_TABLE_NAME "BondTable" #define NOZZLE_TABLE_CONFIG_TABLE_NAME "NozzleTable" #define HARDWARE_SWICH_TABLE_NAME "HardwareSwich" #define ULTRAHEAD_TABLE_NAME "UltraHead" class DLL_MODULE_CONFIG_API CModuleConfig : public CDataBaseOperate { public: CModuleConfig(); LONG GetConfigParam(string strTableName, vector<MODULE_CONFIG_STRUCT>& vecConfig); LONG GetConfigParam(string strTableName, vector<CONFIG_BASE_STRUCT>& vecConfig); LONG SetConfigParam(string strTableName, vector<MODULE_CONFIG_STRUCT> vecconfig); LONG SetConfigParam(string strTableName, vector<CONFIG_BASE_STRUCT> vecconfig); private: std::unique_ptr<CConfigBase> m_ConfigBaseDb; LONG SaveDB() override; LONG LoadDB() override; /*LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, string& value); LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, CHAR* value, UINT len); LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, LONG* value); LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, ULONG* value); LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, INT* value); LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, DOUBLE* value); LONG Read(vector<CONFIG_BASE_STRUCT> stConfig, const CHAR* key, bool* value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, const CHAR* value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, string value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, LONG value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, ULONG value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, INT value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, DOUBLE value); LONG Write(vector<CONFIG_BASE_STRUCT>* stConfig, const CHAR* key, bool value);*/ /*LONG GetConfigParam(vector<CONFIG_BASE_STRUCT> stConfig, vector<MODULE_CONFIG_STRUCT>* vecconfig); LONG SetConfigParam(vector<CONFIG_BASE_STRUCT>* stConfig, vector<MODULE_CONFIG_STRUCT> vecconfig);*/ #pragma region HardwareSwich private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_HardwareSwich; public: LONG GetConfigParam_HardwareSwich(string name,bool* flag); vector<CONFIG_BASE_STRUCT> GetConfigParam_HardwareSwich() { return m_vecConfig_HardwareSwich; }; LONG SetConfigParam_HardwareSwich(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_HardwareSwich(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region BondHead private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_BondHead; public: LONG GetConfigParam_BondHead(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_BondHead() { return m_vecConfig_BondHead; }; LONG SetConfigParam_BondHead(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_BondHead(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region WaferHead private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferHead; public: LONG GetConfigParam_WaferHead(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferHead() { return m_vecConfig_WaferHead; }; LONG SetConfigParam_WaferHead(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_WaferHead(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region WaffleHead private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaffleHead; public: LONG GetConfigParam_WaffleHead(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_WaffleHead() { return m_vecConfig_WaffleHead; }; LONG SetConfigParam_WaffleHead(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_WaffleHead(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region Ejector private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_Ejector; public: LONG GetConfigParam_Ejector(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_Ejector() { return m_vecConfig_Ejector; }; LONG SetConfigParam_Ejector(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_Ejector(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region WaferTable private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferTable; public: LONG GetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferTable() { return m_vecConfig_WaferTable; }; LONG SetConfigParam_WaferTable(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_WaferTable(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region CalibTable private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaferCalibTable; std::vector<CONFIG_BASE_STRUCT> m_vecConfig_WaffleCalibTable; public: //LONG GetConfigParamg_CalibTable(int moduleType, vector<MODULE_CONFIG_STRUCT>* vecconfig); LONG GetConfigParam_WaferCalibTable(vector<MODULE_CONFIG_STRUCT>* vecconfig); LONG GetConfigParam_WaffleCalibTable(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_WaferCalibTable() { return m_vecConfig_WaferCalibTable; }; vector<CONFIG_BASE_STRUCT> GetConfigParam_WaffleCalibTable() { return m_vecConfig_WaffleCalibTable; }; LONG SetConfigParam_WaferCalibTable(vector<MODULE_CONFIG_STRUCT> vecconfig); LONG SetConfigParam_WaffleCalibTable(vector<MODULE_CONFIG_STRUCT> vecconfig); LONG SetConfigParam_WaferCalibTable(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_WaffleCalibTable(vector<CONFIG_BASE_STRUCT> vecconfig); //LONG SetConfigParam_CalibTable(int moduleType, vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region BondTable private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_BondTable; public: LONG GetConfigParam_BondTable(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_BondTable() { return m_vecConfig_BondTable; }; LONG SetConfigParam_BondTable(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_BondTable(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region NozzleTable private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_NozzleTable; public: LONG GetConfigParam_NozzleTable(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_NozzleTable() { return m_vecConfig_NozzleTable; }; LONG SetConfigParam_NozzleTable(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_NozzleTable(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion #pragma region UltraHead private: std::vector<CONFIG_BASE_STRUCT> m_vecConfig_UltraHead; public: LONG GetConfigParam_UltraHead(vector<MODULE_CONFIG_STRUCT>* vecconfig); vector<CONFIG_BASE_STRUCT> GetConfigParam_UltraHead() { return m_vecConfig_UltraHead; }; LONG SetConfigParam_UltraHead(vector<CONFIG_BASE_STRUCT> vecconfig); LONG SetConfigParam_UltraHead(vector<MODULE_CONFIG_STRUCT> vecconfig); #pragma endregion }; }