#include <jdbc/mysql_driver.h> #include <mysql/jdbc.h> #include <vector> //部门任务 struct Dept { std::string id; std::string sample_name; std::string sample_model; std::string help_instruction; std::string manufacture_no; std::string manufacturer; std::string customer_name; std::string FULL_NAME; std::string require_over_time; std::string is_urgent; }; // 我的任务 struct MyTasks { std::string id; std::string sample_name; std::string sample_model; std::string help_instruction; std::string manufacture_no; std::string manufacturer; std::string customer_name; std::string FULL_NAME; std::string require_over_time; std::string is_urgent; }; //创建任务单列表 struct CreateTaskList { std::string id; std::string order_no; std::string customer_name; std::string DEPT_FULL_NAME; std::string require_over_time; std::string deliverer; std::string is_urgent; }; //查看任务单 struct CatTask { std::string id; std::string order_no; std::string customer_name; std::string DEPT_FULL_NAME; std::string require_over_time; std::string deliverer; std::string deliverer_tel; std::string undertaker_name; std::string undertake_time; std::string is_urgent; std::string receive_illustrate; }; //查看任务单-任务单列表 struct CatTaskList { std::string id; std::string sample_name; std::string sample_model; std::string manufacture_no; std::string manufacturer; std::string appendix_descn; std::string special_require; std::string measure_complete_time; std::string conclusion; std::string limit_instruction; }; //标准设备管理 struct BizDeviceManage { std::string id; std::string equipment_name; std::string model; std::string manufacture_no; std::string manufacturer; }; //标准设备管理-查看设备信息 struct CatDeviceInfor { std::string equipment_name; std::string model; std::string manufacture_no; std::string measure_valid_date; std::string product_country; std::string manufacturer; std::string produce_date; std::string purchase_date; std::string unit_price; std::string usage_status; std::string quality_status; std::string dept_name; std::string director_name; std::string supplier_name; std::string location; std::string type; std::string standard_type; std::string category; std::string level; std::string measure_cycle; std::string unpack_record_name; std::string remark; }; //标准设备管理-核查项目及核查点-直流稳压电源检定装置 struct CheckDCPower { std::string id; std::string params; std::string check_point; std::string unit; std::string resolution; std::string urel; std::string check_type; std::string datum_point; std::string cycle_number; std::string resistance_value; std::string resistance_value_unit; std::string remark; }; //被检设备管理- struct TestedDevice { std::string id; std::string equipment_name; std::string model; std::string help_instruction; std::string manufacture_no; std::string manufacturer; std::string FULL_NAME; std::string meter_identify; std::string check_cycle; std::string certificate_valid; }; //被检设备管理-查看设备 struct TestedCatDevice { std::string equipment_name; std::string model; std::string help_instruction; std::string manufacture_no; std::string product_country; std::string manufacturer; std::string product_date; std::string purchase_date; std::string unit_price; std::string usage_status; std::string quality_condition; std::string FULL_NAME; std::string category; std::string check_cycle; std::string level; std::string remark; }; //被检设备管理-检定项目及检定点-检定项多功能校准源 struct VerificationMultifunctionalCalibration { std::string id; std::string params; std::string capacity; std::string unit; std::string frequency; std::string range_range; std::string standard_value; std::string resolution; std::string maximum_error; std::string error_param_a; std::string error_param_b; }; //判断装置表 struct JudgeCalibrationTable { std::string item_category_id; std::string belong_standard_equipment; }; //检定数据管理 struct VerificationDataManagement { std::string id; std::string sample_name; std::string model; std::string help_instruction; std::string manufacture_no; std::string manufacturer; std::string customer_name; std::string FULL_NAME; std::string NAME; std::string trace_date; std::string measure_valid_date; std::string meter_identify; std::string restriction_instruction; }; //检定数据管理-检定基本信息 struct VerificationBasicDataDetails { std::string sample_name; std::string model; std::string help_instruction; std::string manufacture_no; std::string manufacturer; std::string customer_name; std::string based_documents; std::string trace_date; std::string temperature; std::string humidity; std::string measure_address; std::string measure_valid_date; std::string NAME; std::string conclusion; std::string restriction_instruction; }; //检定数据管理-检定结果信息 struct VerificationResultData { std::string id; std::string params; std::string capacity; std::string unit; std::string frequency; std::string range_range; std::string standard_value; std::string resolution; std::string maximum_error; std::string error_param_a; std::string error_param_b; std::string other_outcome; }; //核查数据管理 struct CheckDataManage { std::string id; std::string equipment_name; std::string model; std::string manufacture_no; std::string meter_standard_name; std::string meter_standard_id; std::string create_user_name; std::string check_date; std::string dept_name; }; //核查数据管理-核查基本信息 struct CheckDataManageBasicInfo { std::string equipment_name; std::string model; std::string manufacture_no; std::string manufacturer; std::string temperature; std::string humidity; std::string check_date; std::string check_address; std::string create_user_name; std::string conclusion; }; //核查数据管理-核查结果信息-核查项多功能校准源数据 struct CheckDataManageResultManage { std::string id; std::string check_type; std::string params; std::string unit; std::string frequency; std::string check_point; std::string check_date; std::string urel; std::string tfer; std::string dccp; std::string flit; }; class MySQLConnector { private: sql::mysql::MySQL_Driver* driver; sql::Connection* con; public: MySQLConnector(const std::string& host, const std::string& port,const std::string& user, const std::string& password, const std::string& database) { driver = sql::mysql::get_mysql_driver_instance(); con = driver->connect("tcp://" + host + ":"+ port, user, password); con->setSchema(database); con->setClientOption("character_set_results", "utf8mb4"); con->setClientOption("character_set_connection", "utf8mb4"); } ~MySQLConnector() { delete con; } std::vector<Dept> getAllData() { std::vector<Dept> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery("SELECT bi.id ,br.sample_name , br.sample_model ,ei.help_instruction ,ei.manufacture_no ,ei.manufacturer ,bi.customer_name ,dept.FULL_NAME,bi.require_over_time ,bi.is_urgent FROM biz_business_order_info bi LEft JOIN biz_business_order_sample_relation br ON bi.id = br.order_id LEft JOIN eqpt_equipment_info ei ON br.sample_no = ei.equipment_no LEft JOIN sys_dept dept ON ei.dept_id = dept.ID LEft JOIN sys_user user ON user.ID = bi.create_user_id"); while (res->next()) { Dept Dept; Dept.id = res->getString("id"); Dept.sample_name = res->getString("sample_name"); Dept.sample_model = res->getString("sample_model"); Dept.help_instruction = res->getString("help_instruction"); Dept.manufacture_no = res->getString("manufacture_no"); Dept.manufacturer = res->getString("manufacturer"); Dept.customer_name = res->getString("customer_name"); Dept.FULL_NAME = res->getString("FULL_NAME"); Dept.require_over_time = res->getString("require_over_time"); Dept.is_urgent = res->getString("is_urgent"); result.push_back(Dept); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } std::vector<MyTasks> getMyTasks() { std::vector<MyTasks> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery("SELECT " "bi.id, br.sample_name, br.sample_model, ei.help_instruction, ei.manufacture_no," "ei.manufacturer, bi.customer_name," "dept.FULL_NAME, bi.require_over_time," "bi.is_urgent FROM biz_business_order_info bi" " LEfT JOIN biz_business_order_sample_relation br ON bi.id = br.order_id" " LEfT JOIN eqpt_equipment_info ei ON br.sample_no = ei.equipment_no LEfT JOIN " "sys_dept dept ON ei.dept_id = dept.ID WHERE bi.create_user_id = '1640229293790650370'"); while (res->next()) { MyTasks MyTasks; MyTasks.id = res->getString("id"); MyTasks.sample_name = res->getString("sample_name"); MyTasks.sample_model = res->getString("sample_model"); MyTasks.help_instruction = res->getString("help_instruction"); MyTasks.manufacture_no = res->getString("manufacture_no"); MyTasks.manufacturer = res->getString("manufacturer"); MyTasks.customer_name = res->getString("customer_name"); MyTasks.FULL_NAME = res->getString("FULL_NAME"); MyTasks.require_over_time = res->getString("require_over_time"); MyTasks.is_urgent = res->getString("is_urgent"); result.push_back(MyTasks); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } std::vector<CreateTaskList> getCreateTaskList() { std::vector<CreateTaskList> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery("SELECT bi.id,bi.order_no ,bi.customer_name ,dept.FULL_NAME ," "bi.require_over_time , bi.deliverer ,bi.is_urgent FROM biz_business_order_info bi,sys_dept dept WHERE bi.customer_id = dept.ID"); while (res->next()) { CreateTaskList CreateTaskList; CreateTaskList.id = res->getString("id"); CreateTaskList.order_no = res->getString("order_no"); CreateTaskList.customer_name = res->getString("customer_name"); CreateTaskList.DEPT_FULL_NAME = res->getString("FULL_NAME"); CreateTaskList.require_over_time = res->getString("require_over_time"); CreateTaskList.deliverer = res->getString("deliverer"); CreateTaskList.is_urgent = res->getString("is_urgent"); result.push_back(CreateTaskList); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } std::vector<CatTask> getCatTask(std::string orderNo) { std::vector<CatTask> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT bi.id, bi.order_no, bi.customer_name, dept.FULL_NAME, bi.require_over_time," "bi.deliverer, bi.deliverer_tel, bi.undertaker_name, bi.undertake_time, bi.is_urgent," "bi.receive_illustrate FROM biz_business_order_info bi LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID" " WHERE bi.order_no = ?"); // 绑定参数 prepStmt->setString(1, orderNo); sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { CatTask CatTask; CatTask.id = res->getString("id"); CatTask.order_no = res->getString("order_no"); CatTask.customer_name = res->getString("customer_name"); CatTask.DEPT_FULL_NAME = res->getString("FULL_NAME"); CatTask.require_over_time = res->getString("require_over_time"); CatTask.deliverer = res->getString("deliverer"); CatTask.deliverer_tel = res->getString("deliverer_tel"); CatTask.undertaker_name = res->getString("undertaker_name"); CatTask.undertake_time = res->getString("undertake_time"); CatTask.is_urgent = res->getString("is_urgent"); CatTask.receive_illustrate = res->getString("receive_illustrate"); result.push_back(CatTask); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } std::vector<CatTaskList> getCatTaskList(std::string orderId) { std::vector<CatTaskList> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT br.id , br.sample_name ,br.sample_model ,ei.manufacture_no,ei.manufacturer ,br.appendix_descn ," "br.special_require ,br.measure_complete_time ,bbdmi.conclusion ,ei.limit_instruction FROM biz_business_order_sample_relation br" " Left JOIN eqpt_equipment_info ei ON br.sample_no = ei.equipment_no " "Left JOIN biz_business_device_measure_info bbdmi ON br.order_id = bbdmi.order_id " "WHERE br.order_id = ?;"); // 绑定参数 prepStmt->setString(1, orderId); sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { CatTaskList CatTaskList; CatTaskList.id = res->getString("id"); CatTaskList.sample_name = res->getString("sample_name"); CatTaskList.sample_model = res->getString("sample_model"); CatTaskList.manufacture_no = res->getString("manufacture_no"); CatTaskList.manufacturer = res->getString("manufacturer"); CatTaskList.appendix_descn = res->getString("appendix_descn"); CatTaskList.special_require = res->getString("special_require"); CatTaskList.measure_complete_time = res->getString("measure_complete_time"); CatTaskList.conclusion = res->getString("conclusion"); CatTaskList.limit_instruction = res->getString("limit_instruction"); result.push_back(CatTaskList); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } std::vector<BizDeviceManage> getBizDeviceManage() { std::vector<BizDeviceManage> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery("SELECT bei.id ,bei.equipment_name ,bei.model ,bei.manufacture_no ,bei.manufacturer FROM biz_equipment_info bei"); while (res->next()) { BizDeviceManage BizDeviceManage; BizDeviceManage.id = res->getString("id"); BizDeviceManage.equipment_name = res->getString("equipment_name"); BizDeviceManage.model = res->getString("model"); BizDeviceManage.manufacture_no = res->getString("manufacture_no"); BizDeviceManage.manufacturer = res->getString("manufacturer"); result.push_back(BizDeviceManage); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } std::vector<CatDeviceInfor> getCatDeviceInfor(std::string id) { std::vector<CatDeviceInfor> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT bei.equipment_name ,bei.model ,bei.manufacture_no ,bei.measure_valid_date ," "bei.product_country , bei.manufacturer , bei.produce_date, bei.purchase_date ,bei.unit_price , bei.usage_status , bei.quality_status , " "bei.dept_name , bei.director_name , bei.supplier_name , bei.location , bei.type , bei.standard_type , bei.category , bei.level , " "bei.measure_cycle , bei.unpack_record_name , bei.remark FROM biz_equipment_info bei WHERE bei.id = ?"); // 绑定参数 prepStmt->setString(1, id); sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { CatDeviceInfor CatDeviceInfor; //CatTaskList.id = res->getString("id"); CatDeviceInfor.equipment_name = res->getString("equipment_name"); CatDeviceInfor.model = res->getString("model"); CatDeviceInfor.manufacture_no = res->getString("manufacture_no"); CatDeviceInfor.measure_valid_date = res->getString("measure_valid_date"); CatDeviceInfor.product_country = res->getString("product_country"); CatDeviceInfor.manufacturer = res->getString("manufacturer"); CatDeviceInfor.produce_date = res->getString("produce_date"); CatDeviceInfor.purchase_date = res->getString("purchase_date"); CatDeviceInfor.unit_price = res->getString("unit_price"); CatDeviceInfor.usage_status = res->getString("usage_status"); CatDeviceInfor.quality_status = res->getString("quality_status"); CatDeviceInfor.dept_name = res->getString("dept_name"); CatDeviceInfor.director_name = res->getString("director_name"); CatDeviceInfor.supplier_name = res->getString("supplier_name"); CatDeviceInfor.location = res->getString("location"); CatDeviceInfor.type = res->getString("type"); CatDeviceInfor.location = res->getString("location"); CatDeviceInfor.standard_type = res->getString("standard_type"); CatDeviceInfor.category = res->getString("category"); CatDeviceInfor.level = res->getString("level"); CatDeviceInfor.measure_cycle = res->getString("measure_cycle"); CatDeviceInfor.unpack_record_name = res->getString("unpack_record_name"); CatDeviceInfor.remark = res->getString("remark"); result.push_back(CatDeviceInfor); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //根据id获取装置名称 std::string getApparatus(std::string id) { std::string result; try { // 使用预编译的PreparedStatement以防止SQL注入 sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT besi.standard_name FROM biz_equipment_standard_info besi WHERE besi.id = ( " "SELECT bei.meter_standard_id FROM biz_equipment_info bei WHERE bei.id = ? )" ); // 设置参数 prepStmt->setString(1, id); // 执行查询并获取结果集 sql::ResultSet* res = prepStmt->executeQuery(); // 检查是否获取到数据 if (res->next()) { // 获取standard_name字段的值 result = res->getString("standard_name"); } else { // 如果没有找到对应记录,可以设置一个默认值或者抛出异常 result = "Not Found"; } // 释放资源 delete res; delete prepStmt; // 注意这里应该是删除PreparedStatement而不是Statement } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; // 可能需要在catch块中处理更详细的错误情况,比如重试、回滚事务等 } return result; } //直流稳压电源检定装置 std::vector<CheckDCPower> getCheckDCPower(std::string item_category_id) { std::vector<CheckDCPower> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT besciddp.id ,besciddp.params,besciddp.unit,resolution,besciddp.urel,besciddp.check_type,datum_point,cycle_number" ", datum_point, resistance_value, resistance_value_unit, remark FROM biz_equipment_standard_check_item_data_dc_power besciddp WHERE item_category_id = (SELECT bescic.id FROM biz_equipment_standard_check_item_category bescic WHERE bescic.belong_standard_equipment_name = ?)"); // 绑定参数 prepStmt->setString(1, item_category_id); sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { CheckDCPower CheckDCPower; //CatTaskList.id = res->getString("id"); CheckDCPower.id = res->getString("id"); CheckDCPower.params = res->getString("params"); CheckDCPower.check_point = res->getString("check_point"); CheckDCPower.unit = res->getString("unit"); CheckDCPower.resolution = res->getString("resolution"); CheckDCPower.urel = res->getString("urel"); CheckDCPower.check_type = res->getString("check_type"); CheckDCPower.datum_point = res->getString("datum_point"); CheckDCPower.cycle_number = res->getString("cycle_number"); CheckDCPower.datum_point = res->getString("datum_point"); CheckDCPower.resistance_value = res->getString("resistance_value"); CheckDCPower.resistance_value_unit = res->getString("resistance_value_unit"); CheckDCPower.remark = res->getString("remark"); result.push_back(CheckDCPower); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } // 被检设备管理 std::vector<TestedDevice> getTestedDevice() { std::vector<TestedDevice> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery("SELECT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,sys_dept.FULL_NAME ,eei.meter_identify ,eei.check_cycle ,eei.certificate_valid from eqpt_equipment_info eei LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id"); while (res->next()) { TestedDevice TestedDevice; TestedDevice.id = res->getString("id"); TestedDevice.equipment_name = res->getString("equipment_name"); TestedDevice.model = res->getString("model"); TestedDevice.help_instruction = res->getString("help_instruction"); TestedDevice.manufacture_no = res->getString("manufacture_no"); TestedDevice.manufacturer = res->getString("manufacturer"); TestedDevice.FULL_NAME = res->getString("FULL_NAME"); TestedDevice.meter_identify = res->getString("meter_identify"); TestedDevice.check_cycle = res->getString("check_cycle"); TestedDevice.certificate_valid = res->getString("certificate_valid"); result.push_back(TestedDevice); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } // 被检设备管理查看设备信息 std::vector<TestedCatDevice>getTestedCatDevice(std::string id) { std::vector<TestedCatDevice> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.product_country ,eei.manufacturer ,eei.product_date ,eei.purchase_date ,eei.unit_price ,eei.usage_status ,eei.quality_condition ,sys_dept.FULL_NAME ," "eei.category , eei.check_cycle ,eei.level , eei.remark from eqpt_equipment_info eei LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id WHERE eei.id = ?"); // 绑定参数 prepStmt->setString(1, id); sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { TestedCatDevice TestedCatDevice; //CatTaskList.id = res->getString("id"); TestedCatDevice.equipment_name = res->getString("equipment_name"); TestedCatDevice.model = res->getString("model"); TestedCatDevice.help_instruction = res->getString("help_instruction"); TestedCatDevice.manufacture_no = res->getString("manufacture_no"); TestedCatDevice.product_country = res->getString("product_country"); TestedCatDevice.manufacturer = res->getString("manufacturer"); TestedCatDevice.product_date = res->getString("product_date"); TestedCatDevice.purchase_date = res->getString("purchase_date"); TestedCatDevice.unit_price = res->getString("unit_price"); TestedCatDevice.usage_status = res->getString("usage_status"); TestedCatDevice.quality_condition = res->getString("quality_condition"); TestedCatDevice.FULL_NAME = res->getString("FULL_NAME"); TestedCatDevice.category = res->getString("category"); TestedCatDevice.check_cycle = res->getString("check_cycle"); TestedCatDevice.level = res->getString("level"); TestedCatDevice.remark = res->getString("remark"); result.push_back(TestedCatDevice); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //判断检定装置是哪张表 参数:设备id std::vector<JudgeCalibrationTable> getJudgeCalibrationTable(std::string id) { std::vector<JudgeCalibrationTable> result; try { // 使用预编译的PreparedStatement以防止SQL注入 sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT item_category_id,belong_standard_equipment FROM biz_business_device_measure_item_info bbdmii WHERE bbdmii.device_model_id =(SELECT eei.model_id from eqpt_equipment_info eei WHERE eei.id = ?)" ); // 设置参数 1716997603953311746 prepStmt->setString(1, id); // 执行查询并获取结果集 sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { JudgeCalibrationTable JudgeCalibrationTable; //CatTaskList.id = res->getString("id"); JudgeCalibrationTable.item_category_id = res->getString("item_category_id"); JudgeCalibrationTable.belong_standard_equipment = res->getString("belong_standard_equipment"); result.push_back(JudgeCalibrationTable); } // 释放资源 delete res; delete prepStmt; // 注意这里应该是删除PreparedStatement而不是Statement } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; // 可能需要在catch块中处理更详细的错误情况,比如重试、回滚事务等 } return result; } //被检设备管理-检定项目及检定点-多功能校准源 std::vector<VerificationMultifunctionalCalibration> getVerificationMultifunctionalCalibration(std::string itemId) { std::vector<VerificationMultifunctionalCalibration> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ,bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , bbdmidc.error_param_a , bbdmidc.error_param_b " " FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = ?"); // 绑定参数 '1717086652508487681' prepStmt->setString(1, itemId); sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { VerificationMultifunctionalCalibration VerificationMultifunctionalCalibration; VerificationMultifunctionalCalibration.id = res->getString("id"); VerificationMultifunctionalCalibration.params = res->getString("params"); VerificationMultifunctionalCalibration.capacity = res->getString("capacity"); VerificationMultifunctionalCalibration.unit = res->getString("unit"); VerificationMultifunctionalCalibration.frequency = res->getString("frequency"); VerificationMultifunctionalCalibration.range_range = res->getString("range_range"); VerificationMultifunctionalCalibration.standard_value = res->getString("standard_value"); VerificationMultifunctionalCalibration.resolution = res->getString("resolution"); VerificationMultifunctionalCalibration.maximum_error = res->getString("maximum_error"); VerificationMultifunctionalCalibration.error_param_a = res->getString("error_param_a"); VerificationMultifunctionalCalibration.error_param_b = res->getString("error_param_b"); result.push_back(VerificationMultifunctionalCalibration); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //检定数据管理 std::vector<VerificationDataManagement> getVerificationDataManagement() { std::vector<VerificationDataManagement> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery("SELECT bbdmi.id , bbdmi.sample_name ,bbdmi.model ,eei.help_instruction ,bbdmi.manufacture_no ," "bbdmi.manufacturer , bboi.customer_name , dept.FULL_NAME , _user.NAME , bbdmi.trace_date ," "bbdmi.measure_valid_date , eei.meter_identify , bbdmi.restriction_instruction " "FROM biz_business_device_measure_info bbdmi LEFT JOIN eqpt_equipment_info eei ON bbdmi.sample_id = eei.id " " LEFT JOIN biz_business_order_info bboi ON bbdmi.order_id = bboi.id LEFT JOIN sys_dept dept ON eei.dept_id = dept.ID " " LEFT JOIN sys_user _user ON bbdmi.create_user_id = _user.id"); while (res->next()) { VerificationDataManagement VerificationDataManagement; VerificationDataManagement.id = res->getString("id"); VerificationDataManagement.sample_name = res->getString("sample_name"); VerificationDataManagement.model = res->getString("model"); VerificationDataManagement.help_instruction = res->getString("help_instruction"); VerificationDataManagement.manufacture_no = res->getString("manufacture_no"); VerificationDataManagement.manufacturer = res->getString("manufacturer"); VerificationDataManagement.FULL_NAME = res->getString("FULL_NAME"); VerificationDataManagement.NAME = res->getString("NAME"); VerificationDataManagement.trace_date = res->getString("trace_date"); VerificationDataManagement.measure_valid_date = res->getString("measure_valid_date"); VerificationDataManagement.meter_identify = res->getString("meter_identify"); VerificationDataManagement.restriction_instruction = res->getString("restriction_instruction"); result.push_back(VerificationDataManagement); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //检定数据管理-检定基本信息 std::vector<VerificationBasicDataDetails> getVerificationBasicDataDetails(std::string id) { std::vector<VerificationBasicDataDetails> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT bbdmi.sample_name ,bbdmi.model ,eei.help_instruction ,bbdmi.manufacture_no ,bbdmi.manufacturer ," " bboi.customer_name, eemtte.based_documents, bbdmi.trace_date , bbdmi.temperature , bbdmi.humidity ," "bbdmi.measure_address , bbdmi.measure_valid_date , _user.NAME , bbdmi.conclusion , bbdmi.restriction_instruction " "FROM biz_business_device_measure_info bbdmi LEFT JOIN eqpt_equipment_info eei ON bbdmi.sample_id = eei.id " " LEFT JOIN biz_business_order_info bboi ON bbdmi.order_id = bboi.id " " LEFT JOIN biz_business_device_measure_item_info bbdmii ON bbdmi.item_id = bbdmii.id " " LEFT JOIN eqpt_equipment_model_technical_target eemtte ON bbdmii.device_model_id = eemtte.model_id " " LEFT JOIN sys_user _user ON bbdmi.create_user_id = _user.id WHERE bbdmi.id = ?"); prepStmt->setString(1, id); //'1708657907573821442' sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { VerificationBasicDataDetails VerificationBasicDataDetails; VerificationBasicDataDetails.sample_name = res->getString("sample_name"); VerificationBasicDataDetails.model = res->getString("model"); VerificationBasicDataDetails.help_instruction = res->getString("help_instruction"); VerificationBasicDataDetails.manufacture_no = res->getString("manufacture_no"); VerificationBasicDataDetails.manufacturer = res->getString("manufacturer"); VerificationBasicDataDetails.customer_name = res->getString("customer_name"); VerificationBasicDataDetails.trace_date = res->getString("trace_date"); VerificationBasicDataDetails.temperature = res->getString("temperature"); VerificationBasicDataDetails.humidity = res->getString("humidity"); VerificationBasicDataDetails.measure_address = res->getString("measure_address"); VerificationBasicDataDetails.measure_valid_date = res->getString("measure_valid_date"); VerificationBasicDataDetails.based_documents = res->getString("based_documents"); VerificationBasicDataDetails.NAME = res->getString("NAME"); VerificationBasicDataDetails.conclusion = res->getString("conclusion"); VerificationBasicDataDetails.restriction_instruction = res->getString("restriction_instruction"); result.push_back(VerificationBasicDataDetails); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //检定数据管理-检定结果信息 std::vector<VerificationResultData>getVerificationResultData(std::string sampleId) { std::vector<VerificationResultData> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT bbdmidc.id ,bbdmidc.params ,bbdmidc.capacity ,bbdmidc.unit ," " bbdmidc.frequency , bbdmidc.range_range , bbdmidc.standard_value , bbdmidc.resolution , bbdmidc.maximum_error , " " bbdmidc.error_param_a , bbdmidc.error_param_b ,bbdmi.other_outcome " " FROM biz_business_device_measure_item_data_calibrator bbdmidc " " LEFT JOIN biz_business_device_measure_info bbdmi ON bbdmi.item_id = bbdmidc.item_id " "WHERE bbdmidc.item_id = (SELECT CONVERT(item_id USING utf8mb4) COLLATE utf8mb4_0900_ai_ci FROM biz_business_device_measure_info bbdmi " " WHERE sample_id = ? )"); prepStmt->setString(1, sampleId); //prepStmt->setString(2, otherOutcome); //'1708657907573821442' sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { VerificationResultData VerificationResultData; VerificationResultData.id = res->getString("id"); VerificationResultData.params = res->getString("params"); VerificationResultData.capacity = res->getString("capacity"); VerificationResultData.unit = res->getString("unit"); VerificationResultData.frequency = res->getString("frequency"); VerificationResultData.range_range = res->getString("range_range"); VerificationResultData.standard_value = res->getString("standard_value"); VerificationResultData.resolution = res->getString("resolution"); VerificationResultData.maximum_error = res->getString("maximum_error"); VerificationResultData.error_param_a = res->getString("error_param_a"); VerificationResultData.error_param_b = res->getString("error_param_b"); VerificationResultData.other_outcome = res->getString("other_outcome"); result.push_back(VerificationResultData); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //核查数据管理 std::vector<CheckDataManage> getCheckDataManage() { std::vector<CheckDataManage> result; try { sql::Statement* stmt = con->createStatement(); sql::ResultSet* res = stmt->executeQuery( "SELECT bei.id , bei.equipment_name ,bei.model ,bei.manufacture_no ,bei.meter_standard_name ,bei.meter_standard_id ," " besci.create_user_name , besci.check_date , bei.dept_name " " FROM biz_equipment_info bei LEFT JOIN biz_equipment_standard_check_info besci ON besci.equipment_id = bei.id" ); while (res->next()) { CheckDataManage CheckDataManage; CheckDataManage.id = res->getString("id"); CheckDataManage.equipment_name = res->getString("equipment_name"); CheckDataManage.model = res->getString("model"); CheckDataManage.manufacture_no = res->getString("manufacture_no"); CheckDataManage.meter_standard_name = res->getString("meter_standard_name"); CheckDataManage.meter_standard_id = res->getString("meter_standard_id"); CheckDataManage.create_user_name = res->getString("create_user_name"); CheckDataManage.check_date = res->getString("check_date"); CheckDataManage.dept_name = res->getString("dept_name"); result.push_back(CheckDataManage); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //核查数据管理-核查基本信息 std::vector<CheckDataManageBasicInfo> getCheckDataManageBasicInfo(std::string id) { std::vector<CheckDataManageBasicInfo> result; try { sql::Statement* stmt = con->createStatement(); sql::PreparedStatement* prepStmt = con->prepareStatement( "SELECT bei.equipment_name ,bei.model ,bei.manufacture_no ,bei.manufacturer ,besci.temperature ,besci.humidity ,besci.check_date ," " besci.check_address , besci.create_user_name , besci.conclusion " "FROM biz_equipment_info bei LEFT JOIN biz_equipment_standard_check_info besci ON besci.equipment_id = bei.id " " LEFT JOIN biz_equipment_standard_check_info_equipment bescie ON bei.id = bescie.check_equipment_id" " WHERE bei.id = ? "); prepStmt->setString(1, id); //''1692780663553441794'' sql::ResultSet* res = prepStmt->executeQuery(); while (res->next()) { CheckDataManageBasicInfo CheckDataManageBasicInfo; CheckDataManageBasicInfo.equipment_name = res->getString("equipment_name"); CheckDataManageBasicInfo.model = res->getString("model"); CheckDataManageBasicInfo.manufacture_no = res->getString("manufacture_no"); CheckDataManageBasicInfo.manufacturer = res->getString("manufacturer"); CheckDataManageBasicInfo.temperature = res->getString("temperature"); CheckDataManageBasicInfo.humidity = res->getString("humidity"); CheckDataManageBasicInfo.check_date = res->getString("check_date"); CheckDataManageBasicInfo.check_address = res->getString("check_address"); CheckDataManageBasicInfo.create_user_name = res->getString("create_user_name"); CheckDataManageBasicInfo.conclusion = res->getString("conclusion"); result.push_back(CheckDataManageBasicInfo); } // Clean up delete res; delete stmt; } catch (sql::SQLException& e) { std::cerr << "SQL error: " << e.what() << std::endl; } return result; } //核查数据管理-核查结果信息-核查项多功能校准源数据 std::vector<CheckDataManageResultManage> getCheckDataManageResultManage() { } }; int main() { MySQLConnector connector("111.198.10.15", "21906", "zdjdcs", "11111111", "casic_metering_xichang"); std::vector<Dept> people = connector.getAllData(); std::setlocale(LC_ALL, "en_US.utf8"); // 设置本地化环境为 UTF-8 std::wcout.imbue(std::locale("en_US.utf8")); //for (const auto& Dept : people) { // std::cout << Dept.id << ", " << Dept.sample_name << ", " << Dept.sample_model << ", " << Dept.help_instruction // << Dept.manufacture_no << "," << Dept.manufacturer << "," << Dept.customer_name << "," << Dept.FULL_NAME // << "," << Dept.require_over_time << "," << Dept.is_urgent // << std::endl; //} std::vector<MyTasks> myTasks = connector.getMyTasks(); //for (const auto& MyTasks : myTasks) //{ // std::cout << MyTasks.id << ", " << MyTasks.sample_name << ", " << MyTasks.sample_model << ", " << MyTasks.help_instruction // << MyTasks.manufacture_no << "," << MyTasks.manufacturer << "," << MyTasks.customer_name << "," << MyTasks.FULL_NAME // << "," << MyTasks.require_over_time << "," << MyTasks.is_urgent // << std::endl; //} std::vector<CreateTaskList> createTaskList = connector.getCreateTaskList(); //for (const auto& CreateTaskList : createTaskList) //{ // std::cout << CreateTaskList.id << ", " <<CreateTaskList.order_no << ", " << CreateTaskList.customer_name << ", " << CreateTaskList.DEPT_FULL_NAME << ", " << CreateTaskList.require_over_time // << CreateTaskList.deliverer << "," << CreateTaskList.is_urgent // << std::endl; //} std::vector<CatTask> catTask = connector.getCatTask("rwd202308220001"); /* for (const auto& CatTask : catTask) { std::cout << CatTask.id << "," << CatTask.order_no << ", " << CatTask.customer_name << ", " << CatTask.DEPT_FULL_NAME << ", " << CatTask.require_over_time << "," << CatTask.deliverer <<", "<< CatTask.deliverer_tel << ", " << CatTask.undertaker_name << ", " << CatTask.undertake_time << "," << CatTask.is_urgent << "," << CatTask.receive_illustrate << std::endl; }*/ std::vector<CatTaskList> catTaskList = connector.getCatTaskList("1735863426170793985"); //for (const auto& CatTaskList : catTaskList) //{ // std::cout << CatTaskList.id << "," << CatTaskList.sample_name << ", " << CatTaskList.sample_model << ", " << CatTaskList.manufacture_no // << ", " << CatTaskList.manufacturer << "," << CatTaskList.appendix_descn << ", " << CatTaskList.special_require << ", " << CatTaskList.measure_complete_time << ", " // << CatTaskList.conclusion << "," << CatTaskList.limit_instruction // << std::endl; //} std::vector<BizDeviceManage> bizDeviceManage = connector.getBizDeviceManage(); //for (const auto& BizDeviceManage : bizDeviceManage) //{ // std::cout << BizDeviceManage.id << "," << BizDeviceManage.equipment_name << ", " << BizDeviceManage.model << ", " << BizDeviceManage.manufacture_no // << ", " << BizDeviceManage.manufacturer // << std::endl; //} std::vector<CatDeviceInfor> catDeviceInfor = connector.getCatDeviceInfor("1692772193007128577"); //for (const auto& CatDeviceInfor : catDeviceInfor) //{ // std::cout << CatDeviceInfor.equipment_name << "," << CatDeviceInfor.model << ", " << CatDeviceInfor.manufacture_no << ", " << CatDeviceInfor.measure_valid_date // << ", " << CatDeviceInfor.manufacturer // << std::endl; //} std::string getApparatus = connector.getApparatus("1752157193060225025"); //std::cout << getApparatus << std::endl; std::vector<TestedDevice> getTestedDevice = connector.getTestedDevice(); /* for (const auto& TestedDevice : getTestedDevice) { std::cout << TestedDevice.id << "," << TestedDevice.equipment_name << ", " << TestedDevice.model << ", " << TestedDevice.help_instruction << ", " << TestedDevice.manufacture_no << std::endl; }*/ std::vector<TestedCatDevice> getTestedCatDevice = connector.getTestedCatDevice("1697133619962744833"); //for (const auto& TestedCatDevice : getTestedCatDevice) //{ // std::cout << TestedCatDevice.equipment_name << ", " << TestedCatDevice.model << ", " << TestedCatDevice.help_instruction // << ", " << TestedCatDevice.manufacture_no << std::endl; //} std::vector<JudgeCalibrationTable> getJudgeCalibrationTable = connector.getJudgeCalibrationTable("1716997603953311746"); for (const auto& JudgeCalibrationTable : getJudgeCalibrationTable) { std::cout << JudgeCalibrationTable.item_category_id << ", " << JudgeCalibrationTable.belong_standard_equipment << std::endl; } std::vector<VerificationMultifunctionalCalibration> getVerificationMultifunctionalCalibration = connector.getVerificationMultifunctionalCalibration("1717086652508487681"); /* for (const auto& VerificationMultifunctionalCalibration : getVerificationMultifunctionalCalibration) { std::cout << VerificationMultifunctionalCalibration.id << ", " << VerificationMultifunctionalCalibration.params << ", " << VerificationMultifunctionalCalibration.capacity << ", " << VerificationMultifunctionalCalibration.unit << ", " << VerificationMultifunctionalCalibration.frequency << std::endl; }*/ std::vector< VerificationDataManagement> getVerificationDataManagement = connector.getVerificationDataManagement(); //for (const auto& VerificationDataManagement : getVerificationDataManagement) //{ // std::cout << VerificationDataManagement.id << ", " << VerificationDataManagement.sample_name // << ", " << VerificationDataManagement.model // << ", " << VerificationDataManagement.help_instruction // << ", " << VerificationDataManagement.manufacture_no // << ", " << VerificationDataManagement.manufacturer // << ", " << VerificationDataManagement.FULL_NAME // << ", " << VerificationDataManagement.NAME // << std::endl; //} std::vector<VerificationBasicDataDetails> getVerificationBasicDataDetails = connector.getVerificationBasicDataDetails("1708657907573821442"); //for (const auto& VerificationBasicDataDetails : getVerificationBasicDataDetails) //{ // std::cout << VerificationBasicDataDetails.sample_name // << ", " << VerificationBasicDataDetails.model // << ", " << VerificationBasicDataDetails.help_instruction // << ", " << VerificationBasicDataDetails.manufacture_no // << ", " << VerificationBasicDataDetails.manufacturer // << ", " << VerificationBasicDataDetails.customer_name // << ", " << VerificationBasicDataDetails.NAME // << std::endl; //} std::vector<VerificationResultData> getVerificationResultData = connector.getVerificationResultData("1716997603953311746"); //for (const auto& VerificationResultData : getVerificationResultData) //{ // std::cout << VerificationResultData.id // << ", " << VerificationResultData.params // << ", " << VerificationResultData.capacity // << ", " << VerificationResultData.unit // << ", " << VerificationResultData.frequency // << ", " << VerificationResultData.range_range // << ", " << VerificationResultData.standard_value // << std::endl; //} std::vector<CheckDataManage> getCheckDataManage = connector.getCheckDataManage(); //for (const auto& CheckDataManage : getCheckDataManage) //{ // std::cout << CheckDataManage.id // << ", " << CheckDataManage.equipment_name // << ", " << CheckDataManage.model // << ", " << CheckDataManage.manufacture_no // << ", " << CheckDataManage.meter_standard_name // << ", " << CheckDataManage.meter_standard_id // << ", " << CheckDataManage.create_user_name // << ", " << CheckDataManage.create_user_name // << ", " << CheckDataManage.dept_name // << std::endl; //} std::vector<CheckDataManageBasicInfo> getCheckDataManageBasicInfo = connector.getCheckDataManageBasicInfo("1692780663553441794"); for (const auto& CheckDataManageBasicInfo : getCheckDataManageBasicInfo) { std::cout << CheckDataManageBasicInfo.equipment_name << ", " << CheckDataManageBasicInfo.model << ", " << CheckDataManageBasicInfo.manufacture_no << ", " << CheckDataManageBasicInfo.temperature << ", " << CheckDataManageBasicInfo.humidity << ", " << CheckDataManageBasicInfo.create_user_name << ", " << CheckDataManageBasicInfo.create_user_name << ", " << CheckDataManageBasicInfo.check_date << ", " << CheckDataManageBasicInfo.check_address << std::endl; } return 0; }