#include "basecommonapi.h" #include <QDateTime> #include <QByteArray> #include <QProcess> #include <QString> #include <QDebug> BaseCommonApi::BaseCommonApi() { } const QString BaseCommonApi::temporary_user_id="1634107227953819649"; const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) { userId=temporary_user_id; StaffInfo result; QSqlQuery query; query.prepare("SELECT brsi.* from biz_resource_staff_info brsi " " JOIN sys_user ON sys_user.ACCOUNT = brsi.account " " WHERE sys_user.id = :userId "); query.bindValue(":userId", userId); if (query.exec()) { while (query.next()) { StaffInfo info; info.id = query.value("id").toString(); info.account = query.value("account").toString(); info.staff_no = query.value("staff_no").toString(); info.staff_name = query.value("staff_name").toString(); info.picture_file = query.value("picture_file").toString(); info.id_card = query.value("id_card").toString(); info.birthday = query.value("birthday").toString(); info.native_place = query.value("native_place").toString(); info.education = query.value("education").toString(); info.record_date = query.value("record_date").toString(); info.officer_no = query.value("officer_no").toString(); info.gender = query.value("gender").toString(); info.graduation_date = query.value("graduation_date").toString(); info.nation = query.value("nation").toString(); info.degree = query.value("degree").toString(); info.dept_id = query.value("dept_id").toString(); info.dept_name = query.value("dept_name").toString(); info.station = query.value("station").toString(); info.major = query.value("major").toString(); info.certificate_number = query.value("certificate_number").toString(); info.engage_date = query.value("engage_date").toString(); info.working_age = query.value("working_age").toString(); info.title_initial_date = query.value("title_initial_date").toString(); info.remark = query.value("remark").toString(); info.create_time = query.value("create_time").toDateTime(); info.update_time = query.value("update_time").toDateTime(); result=info; } // qDebug() << "sql代码: " << query.lastQuery(); }else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //登录接口 QString privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAK7mTyBxMUnLlS0x+a0qJHd/8RxR73eTN+15GPr6wzl8dG86Jvzb66pAyOBpFmIxyvceIcgVjm8Dpz5F9vlHYI6K2g6HHID1TZ4teSfPEtRAgCpcC8pA7wqd6sDVCNx2zvGEkHZc+FYWVjhFW0xPbCvaUx3b1AMTgX+TPIOE0GnHAgMBAAECgYEAhJApfzRsIDu++L99N4POmgiOLmHn+CDMbiCwD2LLX6H1+mwAKv1hVOy/lF/ySEDnToA3KJk2GOyS8X9EH1K7WmxRcJ1am1JLwy+spHkExQzvAO9mrEhtavpwAZLiBoCUB4uQazETHncM0lNXtUYY8Ydd/zKodCMVPN4tql84f0kCQQDrPEgk6vdAc8vW1JL3ldhRkbl7DKuvDhhoixGEbXrsXXiKN6iB0A3lNTptMxcd1TjSJz8CF8piGRpVyLGoZOYLAkEAvlaXoVXndT+hbsStjORp2RGxZWMPyyyJ4Kw2TnMaUuODXA0PtnYcSA5lI6SpVAvTthSX7VDi5C9xLyc+QRvMtQJAVjzhTfd98XkCL536yx16El1UHFJG1oRaWmkxYNUqDWEvAazp770weukKpGHohZ1XmWOd68yA+3msd+p9hviGhQJAUIntgUwLM3aoRWmdkhd4nmw5JxCCt1LySIo2NH3J7rbsd3/jXS6fCvJkY2+iYrjabZpLKxTl3O4iM3SkiAJOXQJBAN++IAMMs7HVTQnsIN+L+tQwcWM5jn0sSRLGFvSkPjlT2W++qJNTW/oswmcQTPFn7Vf3GaE5JF6XAxrZMOZBG00="; QString publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCu5k8gcTFJy5UtMfmtKiR3f/EcUe93kzfteRj6+sM5fHRvOib82+uqQMjgaRZiMcr3HiHIFY5vA6c+Rfb5R2COitoOhxyA9U2eLXknzxLUQIAqXAvKQO8KnerA1Qjcds7xhJB2XPhWFlY4RVtMT2wr2lMd29QDE4F/kzyDhNBpxwIDAQAB"; // 加密 QString BaseCommonApi::encrypt(const QString &str, const QString &publicKey) { QByteArray pubKey = QByteArray::fromBase64(publicKey.toUtf8()); QString outStr; QString command = "openssl rsautl -encrypt -pubin -inkey <(echo \"" + pubKey + "\")"; QProcess process; process.setProcessChannelMode(QProcess::MergedChannels); process.start(command); process.write(str.toUtf8()); process.closeWriteChannel(); process.waitForFinished(-1); outStr = QString::fromUtf8(process.readAll()); return outStr.trimmed().toUtf8().toBase64(); } // 解密 QString decrypt(const QString &str, const QString &privateKey) { QByteArray inputByte = QByteArray::fromBase64(str.toUtf8()); QByteArray priKey = QByteArray::fromBase64(privateKey.toUtf8()); QString outStr; QString command = "openssl rsautl -decrypt -inkey <(echo \"" + priKey + "\")"; QProcess process; process.setProcessChannelMode(QProcess::MergedChannels); process.start(command); process.write(inputByte); process.closeWriteChannel(); process.waitForFinished(-1); outStr = QString::fromUtf8(process.readAll()); return outStr.trimmed(); } //获取部门任务数据 QList<Dept> BaseCommonApi::getAllData() { QList<Dept> result; QSqlQuery query; QString deptId=ConvertStaffInfo(temporary_user_id).dept_id; query.prepare("SELECT blei.id AS id, blei.sample_id as equipmentId,eei.equipment_name AS sampleName, eei.model AS sampleModel,eei.help_instruction AS helpInstruction, " " eei.manufacture_no AS manufactureNo, eei.manufacturer,bo.customer_name,sd.SIMPLE_NAME,bo.require_over_time, bo.is_urgent,blei.measure_status " "FROM biz_business_lab_executive_info blei " "JOIN eqpt_equipment_info eei ON eei.id = blei.sample_id " "LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID " " JOIN biz_business_order_info bo ON bo.id = blei.order_id " // " WHERE blei.measure_dept_id = :deptId " " ORDER BY blei.update_time DESC"); // 将参数绑定到占位符 // query.bindValue(":deptId", deptId); if (query.exec()) { while (query.next()) { Dept dept; dept.id = query.value("id").toString(); dept.sample_name = query.value("sampleName").toString(); dept.sample_id = query.value("equipmentId").toString(); dept.sample_model = query.value("sampleModel").toString(); dept.help_instruction = query.value("helpInstruction").toString(); dept.manufacture_no = query.value("manufactureNo").toString(); dept.manufacturer = query.value("manufacturer").toString(); dept.customer_name = query.value("customer_name").toString(); dept.FULL_NAME = query.value("SIMPLE_NAME").toString(); dept.require_over_time = query.value("require_over_time").toDateTime(); dept.is_urgent = query.value("is_urgent").toString(); dept.measure_status=query.value("measure_status").toString(); result.append(dept); // qDebug() <<"---+"<<dept.sample_id; } }else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //获取我的任务 参数登录用户的id 和 任务状态 //blei.measure_status 3 为检定中的状态 //blei.measure_status 4 为检定完 //blei.measure_status 10 已退回 QList<MyTask> BaseCommonApi::getMyTasks(QString userId,QString status){ userId=temporary_user_id; QString _measure_person_id=measure_person_id; QList<MyTask> result; QSqlQuery query; query.prepare("SELECT blei.id AS id, eei.equipment_name AS sampleName, eei.model AS sampleModel, eei.help_instruction AS helpInstruction, " "eei.manufacture_no AS manufactureNo, eei.manufacturer,bo.customer_name,sd.SIMPLE_NAME AS measureDeptName,bo.require_over_time ," " bo.is_urgent,blei.measure_status " "FROM biz_business_lab_executive_info blei " "JOIN eqpt_equipment_info eei ON eei.id = blei.sample_id " "JOIN biz_business_order_info bo ON bo.id = blei.order_id " "LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID " " WHERE blei.measure_person_id = :person_id " " AND blei.measure_status =3 or blei.measure_status = 4 " " ORDER BY blei.update_time DESC"); // 将参数绑定到占位符 query.bindValue(":person_id", _measure_person_id); //query.bindValue(":status", status); if (query.exec()) { while (query.next()) { MyTask task; task.id = query.value("id").toString(); task.sample_name = query.value("sampleName").toString(); task.sample_model = query.value("sampleModel").toString(); task.help_instruction = query.value("helpInstruction").toString(); task.manufacture_no = query.value("manufactureNo").toString(); task.manufacturer = query.value("manufacturer").toString(); task.customer_name = query.value("customer_name").toString(); task.FULL_NAME = query.value("measureDeptName").toString(); task.require_over_time = query.value("require_over_time").toDateTime(); task.is_urgent = query.value("is_urgent").toString(); task.measure_status=query.value("measure_status").toString(); result.append(task); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //查看最新结果保存数据 SaveDeviceMeasureInfo BaseCommonApi::getNewResultData() { SaveDeviceMeasureInfo result; QSqlQuery query; query.prepare("select * from biz_business_device_measure_info as bz ORDER BY bz.create_time DESC LIMIT 1"); if (query.exec()) { while (query.next()) { result.id = query.value("id").toString(); result.data_no = query.value("data_no").toString(); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //查看当前最新的任务单 QList<CreateTaskList> BaseCommonApi::getCreateTaskListNew() { QList<CreateTaskList> result; QSqlQuery query; query.prepare("select * from biz_business_order_info as bz ORDER BY bz.create_time DESC LIMIT 1"); if (query.exec()) { while (query.next()) { CreateTaskList task; task.id = query.value("id").toString(); task.order_no = query.value("order_no").toString(); task.customer_name = query.value("customer_name").toString(); task.DEPT_FULL_NAME = query.value("FULL_NAME").toString(); task.require_over_time = query.value("require_over_time").toDateTime(); task.deliverer = query.value("deliverer").toString(); task.is_urgent = query.value("is_urgent").toString(); result.append(task); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //获取创建任务首页数据 QList<CreateTaskList> BaseCommonApi::getCreateTaskList(QString userId) { userId=temporary_user_id; QList<CreateTaskList> result; QSqlQuery query; query.prepare("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 LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID " " WHERE bi.create_user_id = :userId ORDER BY bi.create_time DESC"); // 将参数绑定到占位符 query.bindValue(":userId", userId); if (query.exec()) { while (query.next()) { CreateTaskList task; task.id = query.value("id").toString(); task.order_no = query.value("order_no").toString(); task.customer_name = query.value("customer_name").toString(); task.DEPT_FULL_NAME = query.value("FULL_NAME").toString(); task.require_over_time = query.value("require_over_time").toDateTime(); task.deliverer = query.value("deliverer").toString(); task.is_urgent = query.value("is_urgent").toString(); result.append(task); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //获取创建任务首页数据 QList<CreateTaskList>getCreateTaskList(QString userId) { QList<CreateTaskList> result; QSqlQuery query; query.prepare("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 LEFT JOIN sys_dept dept ON bi.customer_id = dept.ID " " WHERE bi.create_user_id = :userId "); // 将参数绑定到占位符 query.bindValue(":userId", userId); if (query.exec()) { while (query.next()) { CreateTaskList task; task.id = query.value("id").toString(); task.order_no = query.value("order_no").toString(); task.customer_name = query.value("customer_name").toString(); task.DEPT_FULL_NAME = query.value("FULL_NAME").toString(); task.require_over_time = query.value("require_over_time").toDateTime(); task.deliverer = query.value("deliverer").toString(); task.is_urgent = query.value("is_urgent").toString(); result.append(task); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //创建任务单-查看/编辑 顶部数据 传参该条数据的id QList<CatTask>BaseCommonApi::getCatTask(QString id) { QList<CatTask> result; QSqlQuery query; query.prepare("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.id = :id "); // 将参数绑定到占位符 query.bindValue(":id", id); if (query.exec()) { while (query.next()) { CatTask task; task.id=query.value("id").toString(); task.order_no = query.value("order_no").toString(); task.customer_name = query.value("customer_name").toString(); task.DEPT_FULL_NAME = query.value("FULL_NAME").toString(); task.require_over_time = query.value("require_over_time").toDateTime(); task.deliverer = query.value("deliverer").toString(); task.deliverer_tel = query.value("deliverer_tel").toString(); task.undertaker_name = query.value("undertaker_name").toString(); task.undertake_time = query.value("undertake_time").toDateTime(); task.is_urgent = query.value("is_urgent").toString(); task.receive_illustrate = query.value("receive_illustrate").toString(); result.append(task); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //获取创建任务 -任务单列表 QList<CatTaskList>BaseCommonApi::getCatTaskList(QString orderId) { QList<CatTaskList> result; QSqlQuery query; query.prepare("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 = :order_id"); // 将参数绑定到占位符 query.bindValue(":order_id", orderId); if (query.exec()) { while (query.next()) { CatTaskList task; task.id = query.value("id").toString(); task.sample_name = query.value("sample_name").toString(); task.sample_model = query.value("sample_model").toString(); task.manufacture_no = query.value("manufacture_no").toString(); task.manufacturer = query.value("manufacturer").toString(); task.appendix_descn = query.value("appendix_descn").toString(); task.special_require = query.value("special_require").toString(); task.measure_complete_time = query.value("measure_complete_time").toDateTime(); task.conclusion = query.value("conclusion").toString(); task.limit_instruction = query.value("limit_instruction").toString(); result.append(task); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //先查询指定下拉框的字段 QList<SelectSpecifyFields> BaseCommonApi::getSelectSpecifyFields() { QList<SelectSpecifyFields> result; QSqlQuery query; bool IsSucc= query.exec("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"); if (IsSucc) { while (query.next()) { SelectSpecifyFields customerInfo; customerInfo.id = query.value("id").toString(); customerInfo.customer_no = query.value("customer_no").toString(); customerInfo.customer_name = query.value("customer_name").toString(); customerInfo.FULL_NAME = query.value("FULL_NAME").toString(); result.append(customerInfo); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //新增任务单 bool BaseCommonApi::InsertTaskBasic(InsertTask insertTask) { //1640229293790650370 insertTask.Create_user_id=temporary_user_id; QSqlQuery query; query.prepare("INSERT INTO biz_business_order_info (id," "order_no, customer_name, require_over_time, deliverer, deliverer_tel," "undertaker_name, undertake_time, is_urgent, receive_illustrate, customer_id,Create_user_id" " ) VALUES (:id, " " :order_no, :customer_name, :require_over_time, " " :deliverer, :deliverer_tel, :undertaker_name, :undertake_time, " " :is_urgent, " " :receive_illustrate," " :customer_id," " :Create_user_id" " );"); query.bindValue(":id", insertTask.id); query.bindValue(":order_no", insertTask.order_no); query.bindValue(":customer_name", insertTask.customer_name); query.bindValue(":require_over_time", insertTask.require_over_time); query.bindValue(":deliverer", insertTask.deliverer); query.bindValue(":deliverer_tel", insertTask.deliverer_tel); query.bindValue(":undertaker_name", insertTask.undertaker_name); query.bindValue(":undertake_time", insertTask.undertake_time); query.bindValue(":is_urgent", insertTask.is_urgent); query.bindValue(":receive_illustrate", insertTask.receive_illustrate); query.bindValue(":customer_id", insertTask.customer_id); query.bindValue(":Create_user_id", insertTask.Create_user_id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; } //新增任务单样品表 bool BaseCommonApi::InsertOrderSampleRelation(OrderSampleRelation orderSample) { orderSample.create_user_id=temporary_user_id; QSqlQuery query; query.prepare("INSERT INTO biz_business_order_sample_relation (id,order_id,sample_id," "sample_name, sample_model,measure_complete_time)" "VALUES (:id,:order_id,:sample_id," ":sample_name, :sample_model,:measure_complete_time);"); // Bind values to the parameters query.bindValue(":id", orderSample.id); query.bindValue(":order_id", orderSample.order_id); query.bindValue(":sample_id", orderSample.sample_id); query.bindValue(":sample_name", orderSample.sample_name); query.bindValue(":sample_model", orderSample.sample_model); query.bindValue(":measure_complete_time", orderSample.measure_complete_time); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << " query failed: " << query.lastError().text(); } return isSuccess; } //新增任务单 信息记录表 bool BaseCommonApi::InsertTaskInfoRecord(biz_business_lab_executive_info eneity) { eneity.create_user_id=temporary_user_id; eneity.measure_person_id=measure_person_id; QSqlQuery query; query.prepare("INSERT biz_business_lab_executive_info(id,order_id,sample_id,measure_dept_id," "measure_person_id,create_user,measure_status,is_auto" ")VALUES" "(:id,:order_id,:sample_id,:measure_dept_id,:measure_person_id," ":create_user_id,:measure_status,:is_auto)"); // Bind values to the parameters query.bindValue(":id", eneity.id); query.bindValue(":order_id", eneity.order_id); query.bindValue(":sample_id", eneity.sample_id); query.bindValue(":measure_dept_id", eneity.measure_dept_id); query.bindValue(":measure_person_id", eneity.measure_person_id); query.bindValue(":create_user_id", eneity.create_user_id); query.bindValue(":measure_status","3"); query.bindValue(":is_auto","0"); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << " query failed: " << query.lastError().text(); } return isSuccess; } //更新 任务单 bool BaseCommonApi::UpdateTask(InsertTask updateTask) { QSqlQuery query; query.prepare("UPDATE biz_business_order_info" " SET order_no = :order_no,customer_name = :customer_name," " require_over_time = :require_over_time,deliverer = :deliverer," " deliverer_tel = :deliverer_tel,undertaker_name = :undertaker_name," " undertake_time = :undertake_time, is_urgent = :is_urgent," " receive_illustrate = :receive_illustrate, customer_id = :customer_id " " WHERE id = :id;"); query.bindValue(":order_no", updateTask.order_no); query.bindValue(":customer_name", updateTask.customer_name); query.bindValue(":require_over_time", updateTask.require_over_time); query.bindValue(":deliverer", updateTask.deliverer); query.bindValue(":deliverer_tel", updateTask.deliverer_tel); query.bindValue(":undertaker_name", updateTask.undertaker_name); query.bindValue(":undertake_time", updateTask.undertake_time); query.bindValue(":is_urgent", updateTask.is_urgent); query.bindValue(":receive_illustrate", updateTask.receive_illustrate); query.bindValue(":customer_id", updateTask.customer_id); query.bindValue(":id", updateTask.id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "query failed: " << query.lastError().text(); } return isSuccess; } //单独查询任务单表 //更新 任务单 InsertTask BaseCommonApi::SelectTaskSingle(QString order_id) { InsertTask result; QSqlQuery query; query.prepare("SELECT * From biz_business_order_info WHERE id=:order_id"); // 将参数绑定到占位符 query.bindValue(":order_id", order_id); if (query.exec()) { while (query.next()) { result.id = query.value("id").toString(); result.customer_name = query.value("customer_name").toString(); result.require_over_time = query.value("require_over_time").toString(); result.deliverer = query.value("deliverer").toString(); result.deliverer_tel = query.value("deliverer_tel").toString(); result.undertaker_name = query.value("undertaker_name").toString(); result.undertake_time = query.value("undertake_time").toString(); bool is_urgent=false; if(query.value("is_urgent").toString()=="是"){is_urgent=true;}else{is_urgent=false;}; result.is_urgent = is_urgent; result.receive_illustrate = query.value("receive_illustrate").toString(); result.customer_id = query.value("customer_id").toString(); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //删除任务单 bool BaseCommonApi::DeleteTask(QString id) { QSqlQuery query; bool allSuccessful = true; // 定义一个删除函数,用于复用删除逻辑 auto deleteRecord = [&](const QString& tableName) { query.prepare("DELETE FROM " + tableName + " WHERE order_id = :id"); query.bindValue(":id", id); if (!query.exec()) { qDebug() << "删除" << tableName << "表中的记录失败: " << query.lastError().text(); allSuccessful = false; } }; deleteRecord("biz_business_order_info"); deleteRecord("biz_business_order_sample_relation"); deleteRecord("biz_business_lab_executive_info"); return allSuccessful; } //删除任务单信息记录表同一任务ID的设备 bool BaseCommonApi::DeleteTaskInfoRecordDevice(QString order_id) { QSqlQuery query; //删除任务单样品表数据 query.prepare("DELETE FROM biz_business_lab_executive_info WHERE order_id = :id"); query.bindValue(":id", order_id); if (!query.exec()) { qDebug() << "删除失败 " << query.lastError().text(); return false; } return true; } //删除任务详情表同一任务ID的设备 bool BaseCommonApi::DeleteTaskSameDevice(QString order_id) { QSqlQuery query; //删除任务单样品表数据 query.prepare("DELETE FROM biz_business_order_sample_relation WHERE order_id = :id"); query.bindValue(":id", order_id); if (!query.exec()) { qDebug() << "删除失败 " << query.lastError().text(); return false; } return true; } //删除任务单内设备 bool BaseCommonApi::DeleteTaskDevice(QString id) { QSqlQuery query; //删除任务单样品表数据 query.prepare("DELETE FROM biz_business_order_sample_relation WHERE id = :id"); query.bindValue(":id", id); if (!query.exec()) { qDebug() << "删除失败 " << query.lastError().text(); return false; } return true; } //获取标准设备管理 首页 QList<BizDevice>BaseCommonApi::getBizDeviceManage() { QList<BizDevice> result; QSqlQuery query; bool isSuccess = query.exec("SELECT bei.id ,bei.equipment_name ,bei.model ,bei.manufacture_no ,bei.manufacturer FROM biz_equipment_info bei"); if (isSuccess) { while (query.next()) { BizDevice device; device.id = query.value("id").toString(); device.equipment_name = query.value("equipment_name").toString(); device.model = query.value("model").toString(); device.manufacture_no = query.value("manufacture_no").toString(); device.manufacturer = query.value("manufacturer").toString(); result.append(device); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //获取标准设备管理-基本信息 QList<CatDeviceInfor>BaseCommonApi::getCatDeviceInfor(QString id) { QList<CatDeviceInfor> result; QSqlQuery query; query.prepare("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 = :id"); // 将参数绑定到占位符 query.bindValue(":id", id); if (query.exec()) { while (query.next()) { CatDeviceInfor device; device.equipment_name = query.value("equipment_name").toString(); device.model = query.value("model").toString(); device.manufacture_no = query.value("manufacture_no").toString(); device.measure_valid_date = query.value("measure_valid_date").toString(); device.product_country = query.value("product_country").toString(); device.manufacturer = query.value("manufacturer").toString(); device.produce_date = query.value("produce_date").toString(); device.purchase_date = query.value("purchase_date").toString(); device.unit_price = query.value("unit_price").toString(); device.usage_status = query.value("usage_status").toString(); device.quality_status = query.value("quality_status").toString(); device.dept_name = query.value("dept_name").toString(); device.director_name = query.value("director_name").toString(); device.supplier_name = query.value("supplier_name").toString(); device.location = query.value("location").toString(); device.type = query.value("type").toString(); device.standard_type = query.value("standard_type").toString(); device.category = query.value("category").toString(); device.level = query.value("level").toString(); device.measure_cycle = query.value("measure_cycle").toString(); device.unpack_record_name = query.value("unpack_record_name").toString(); device.remark = query.value("remark").toString(); result.append(device); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //核查直流稳压电源检定装置 待修改 禁用 2024年3月20日13:55:12 查询的不对 QList<CheckDCPower>BaseCommonApi::getCheckDCPower(QString equipment_id,QStringList *headList) { // equipment_id="1693435753272557570"; QList<CheckDCPower> result; QSqlQuery query; query.prepare("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 equipment_id = :equipment_id "); // 将参数绑定到占位符 1693435753272557570 query.bindValue(":equipment_id", equipment_id); if (query.exec()) { while (query.next()) { CheckDCPower checkDCPower; checkDCPower.id = query.value("id").toString(); checkDCPower.params = query.value("params").toString(); checkDCPower.check_point = query.value("check_point").toString(); checkDCPower.unit = query.value("unit").toString(); checkDCPower.resolution = query.value("resolution").toString(); checkDCPower.urel = query.value("urel").toString(); checkDCPower.check_type = query.value("check_type").toString(); checkDCPower.datum_point = query.value("datum_point").toString(); checkDCPower.cycle_number = query.value("cycle_number").toString(); checkDCPower.resistance_value = query.value("resistance_value").toString(); checkDCPower.resistance_value_unit = query.value("resistance_value_unit").toString(); checkDCPower.remark = query.value("remark").toString(); result.append(checkDCPower); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } *headList <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"Urel"<<"核查类型"<<"是否为基准点(1/0)"<<"循环次数" <<"电阻值/频率"<<"电阻值单位/频率单位"<<"核查项备注"; return result; } //根据id获取装置名称 QString BaseCommonApi::getApparatus(QString id) { QString result; QSqlQuery query; query.prepare("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 = :id )"); // 将参数绑定到占位符 query.bindValue(":id", id); if (query.exec()) { while (query.next()) { result = query.value("standard_name").toString(); } } else { result = "Not Found"; } return result; } // 被检设备管理 首页 QList<TestedDevice> BaseCommonApi::getTestedDevice() { QList<TestedDevice> result; QSqlQuery query; bool isSuccess = query.exec("SELECT DISTINCT eei.id ,eei.equipment_name ,eei.model ,eei.help_instruction ,eei.manufacture_no ,eei.manufacturer ,bboi.customer_name ,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 " " LEFT JOIN biz_business_order_info bboi ON bboi.customer_id = eei.company_id"); if (isSuccess) { while (query.next()) { TestedDevice testedDevice; testedDevice.id = query.value("id").toString(); testedDevice.equipment_name = query.value("equipment_name").toString(); testedDevice.model = query.value("model").toString(); testedDevice.help_instruction = query.value("help_instruction").toString(); testedDevice.manufacture_no = query.value("manufacture_no").toString(); testedDevice.manufacturer = query.value("manufacturer").toString(); testedDevice.FULL_NAME = query.value("FULL_NAME").toString(); testedDevice.customer_name = query.value("customer_name").toString(); testedDevice.meter_identify = query.value("meter_identify").toString(); testedDevice.check_cycle = query.value("check_cycle").toString(); testedDevice.certificate_valid = query.value("certificate_valid").toString(); result.append(testedDevice); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } // 被检设备管理查看设备信息 QList<TestedCatDevice> BaseCommonApi::getTestedCatDevice(QString id) { QList<TestedCatDevice> result; QSqlQuery query; query.prepare("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 = :id "); // 将参数绑定到占位符 query.bindValue(":id", id); if (query.exec()) { while (query.next()) { TestedCatDevice testedCatDevice; testedCatDevice.equipment_name = query.value("equipment_name").toString(); testedCatDevice.model = query.value("model").toString(); testedCatDevice.help_instruction = query.value("help_instruction").toString(); testedCatDevice.manufacture_no = query.value("manufacture_no").toString(); testedCatDevice.product_country = query.value("product_country").toString(); testedCatDevice.manufacturer = query.value("manufacturer").toString(); testedCatDevice.product_date = query.value("product_date").toString(); testedCatDevice.purchase_date = query.value("purchase_date").toString(); testedCatDevice.unit_price = query.value("unit_price").toString(); testedCatDevice.usage_status = query.value("usage_status").toString(); testedCatDevice.quality_condition = query.value("quality_condition").toString(); testedCatDevice.FULL_NAME = query.value("FULL_NAME").toString(); testedCatDevice.category = query.value("category").toString(); testedCatDevice.check_cycle = query.value("check_cycle").toString(); testedCatDevice.level = query.value("level").toString(); testedCatDevice.remark = query.value("remark").toString(); result.append(testedCatDevice); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //核查 判断哪个装置表 JudgeCalibrationTable BaseCommonApi::getJudgeVerifyTable(QString deviceId) { JudgeCalibrationTable result; QSqlQuery query; query.prepare("SELECT besi.standard_name,bescic.belong_standard_equipment FROM biz_equipment_standard_info besi " " JOIN biz_equipment_standard_check_item_category bescic ON bescic.belong_standard_equipment_name = besi.standard_name " " WHERE besi.id = ( SELECT bei.meter_standard_id FROM biz_equipment_info bei WHERE bei.id = :deviceId )"); // 将参数绑定到占位符 '1692796512381222914' query.bindValue(":deviceId", deviceId); if (query.exec()) { while (query.next()) { JudgeCalibrationTable calibration; calibration.belong_standard_equipment = query.value("belong_standard_equipment").toString(); // QString equipmentValue = query.value("belong_standard_equipment").toString(); result = calibration; } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //判断 检定 哪个装置表 传参 设备id QList<JudgeCalibrationTable> BaseCommonApi::getJudgeCalibrationTable(QString id) { // id="1720260188257480706"; QList<JudgeCalibrationTable> result; QSqlQuery query; query.prepare("SELECT 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 = :id )"); // query.prepare("SELECT id,belong_standard_equipment FROM biz_business_device_measure_item_info bbdmii " // "WHERE bbdmii.device_model_id = 1714161758107967489"); // 将参数绑定到占位符 query.bindValue(":id", id); if (query.exec()) { while (query.next()) { JudgeCalibrationTable calibration; calibration.id = query.value("id").toString(); calibration.belong_standard_equipment = query.value("belong_standard_equipment").toString(); // QString equipmentValue = query.value("belong_standard_equipment").toString(); result.append(calibration); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //标准装置字典类型 /** * 多功能校准源标准装置 = 1 * 直流稳压电源检定装置 = 2 * 多功能电气安全校准器标准装置 = 3 * 0.02级活塞式压力计标准装置 = 4 * 二等铂电阻温度计标准装置 = 5 * 安全阀校验装置 = 6 * 精密露点仪标准装置 = 7 * E2等级砝码标准装置 = 8 * 频谱分析仪标准装置 = 9 * 信号发生器标准装置 = 10 * 微波衰减标准装置 = 11 * 频率短期稳定度标准装置 =12 * 示波器标准装置 = 13 * 铯原子频率标准装置 =14 * 小功率标准装置 = 15 * 低频信号发生器标准装置 = 16 * S参数标准装置 = 17 * 失真度标准装置 = 18 */ //根据被检设备ID获取当前设备的 检定项目及检定点 QMap<QString, QList<QStringList>> BaseCommonApi::Search_CalibrationTableClass(QString DeiverId,QMap<QString, QStringList> *HeadList) { QMap<QString, QList<QStringList>> DataList; DataList.clear(); QList<JudgeCalibrationTable> CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); if(CliTable.count()==0)return DataList; QList<DeviceMeasureEquipmentCatory> deviceCatory = BaseCommonApi::getDeviceMeasureEquipmentCatory(DeiverId); QString deviceCatoryName = deviceCatory[0].item_category_name; switch (CliTable[0].belong_standard_equipment.toInt()) { case 1: DataList=BaseCommonApi::getVerMultiCalClass(deviceCatoryName,CliTable[0].id,HeadList); break; case 2: DataList=BaseCommonApi::getDeviceMeasureItemDataDcPower(deviceCatoryName,CliTable[0].id,HeadList); break; case 4: DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(deviceCatoryName,CliTable[0].id,HeadList); break; case 13: //示波器标准装置 = 13 //DataList=BaseCommonApi::getDeviceOscilloscopeCalibration(deviceCatoryName,CliTable[0].id,HeadList); break; } return DataList; }; //查询测试页面中 生成结果处理的表头及数据 QMap<QString, QList<QStringList>> BaseCommonApi::Search_GenerateTableClass(QString DeiverId,QMap<QString, QStringList> *HeadList) { QMap<QString, QList<QStringList>> DataList; DataList.clear(); QList<JudgeCalibrationTable> CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); if(CliTable.count()==0)return DataList; QList<DeviceMeasureEquipmentCatory> deviceCatory = BaseCommonApi::getDeviceMeasureEquipmentCatory(DeiverId); QString deviceCatoryName = deviceCatory[0].item_category_name; switch (CliTable[0].belong_standard_equipment.toInt()) { case 4: DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate(deviceCatoryName,CliTable[0].id,HeadList); break; case 13: //示波器标准装置 = 13 //DataList=BaseCommonApi::getDeviceOscilloscopeCalibration(deviceCatoryName,CliTable[0].id,HeadList); break; } return DataList; } //根据被检设备ID获取当前设备的 检定项目及检定点 测试函数 //QList<QStringList> BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) //{ // QList<QStringList> DataList; // DataList.clear(); // QList<JudgeCalibrationTable> CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); // if(CliTable.count()==0)return DataList; // switch (CliTable[0].belong_standard_equipment.toInt()) // { // case 1: // //CliTable[0].id // //1717086652508487681 // DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); //// case 4: //// DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(CliTable[0].id,HeadList); // } // return DataList; //}; //核查设备对应的装置表 核查项及核查点 传参设备id QList<QStringList> BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { QList<QStringList> DataList; JudgeCalibrationTable CliTable=BaseCommonApi::getJudgeVerifyTable(DeiverId); if(CliTable.belong_standard_equipment.isEmpty() || CliTable.belong_standard_equipment.isNull()) return DataList; switch(CliTable.belong_standard_equipment.toInt()) { case 1: //多功能校准源 DataList = BaseCommonApi::getVerificationItemsMultiList(DeiverId,HeadList); break; } return DataList; }; //判断检定数据管理 结果信息表 QList<QStringList> BaseCommonApi::Search_CalibrationDataTable(QString DeiverId,QString dataId,QStringList *HeadList) { QList<QStringList> DataList; QList<JudgeCalibrationTable> CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); if(CliTable.count()==0)return DataList; switch (CliTable[0].belong_standard_equipment.toInt()) { case 1: //多功能校准源 DataList = BaseCommonApi::getVerificationMultiCalResultData(dataId,HeadList); break; } return DataList; }; //判断核查数据管理 结果信息表 QList<QStringList> BaseCommonApi::Search_VerifyDataTable(QString DeiverId,QString dataId,QStringList *HeadList) { QList<QStringList> DataList; JudgeCalibrationTable CliTable=BaseCommonApi::getJudgeVerifyTable(DeiverId); if(CliTable.belong_standard_equipment.isEmpty() || CliTable.belong_standard_equipment.isNull()) return DataList; switch(CliTable.belong_standard_equipment.toInt()) { case 1: //多功能校准源 DataList = BaseCommonApi::getCheckDataManageResultManageMult(dataId,HeadList); break; } return DataList; }; //被检设备管理-检定项目及检定点-多功能校准源 QList<QStringList> BaseCommonApi::getVerMultiCal(QString itemId,QStringList *headList) { QMap<QString, QStringList> dailyTaskCounts; QMap<QString, QList<QStringList>> dailyTaskCounts1; QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT bbdmidc.*,bbdmic.category_name FROM biz_business_device_measure_item_data_calibrator bbdmidc " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidc.item_id " " JOIN biz_business_device_measure_item_category bbdmic ON bbdmic.id = bbdmii.item_category_id " " WHERE item_id = :itemId"); // 将参数绑定到占位符 query.bindValue(":itemId", itemId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("item_id").toString()); //检定项目ID result.append(query.value("params").toString()); //检查项目 result.append(query.value("capacity").toString()); result.append(query.value("unit").toString()); result.append(query.value("frequency").toString()); result.append(query.value("frequency_unit").toString()); result.append(query.value("range_range").toString()); result.append(query.value("standard_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); result.append(query.value("error_param_b").toString()); result.append(query.value("line_mode").toString()); result.append(query.value("coil_enlarge").toString()); result.append(query.value("indicating_value").toString()); result.append(query.value("accuracy_a").toString()); result.append(query.value("full_scale_value").toString()); result.append(query.value("full_scale_value_unit").toString()); result.append(query.value("measure_indication_value").toString()); result.append(query.value("accuracy_level").toString()); result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); result.append(query.value("category_name").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } *headList <<"序号"<<"检定项id"<<"参数"<<"量"<<"单位"<<"频率"<<"频率单位"<<"量程"<<"标准值"<<"分辨力"<<"最大允许误差(公式)"<<"误差参数a"<<"误差参数b" <<"两线/四线模式"<<"线圈放大"<<"示值"<<"准确度a"<<"指针式仪表满量程值"<<"指针式仪表满量程值单位"<<"被检表示值"<<"准确度等级"<<"创建时间"<<"更新时间"<<"检定项分类"; return resultData; } //被检设备管理-检定项目及检定点-多功能校准源 QMap<QString, QList<QStringList>> BaseCommonApi::getVerMultiCalClass(QString itemCatoryName,QString itemId,QMap<QString, QStringList> *headList) { QMap<QString, QList<QStringList>> DataMapList; QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT * FROM biz_business_device_measure_item_data_calibrator bbdmidc WHERE item_id = :itemId "); // 将参数绑定到占位符 query.bindValue(":itemId", itemId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("item_id").toString()); //检定项目ID result.append(query.value("params").toString()); //检查项目 result.append(query.value("capacity").toString());//量 result.append(query.value("unit").toString());//单位 result.append(query.value("frequency").toString());//频率 result.append(query.value("frequency_unit").toString());//频率单位 result.append(query.value("range_range").toString());//量程 result.append(query.value("standard_value").toString());//标准值 result.append(query.value("resolution").toString());//分辨力 result.append(query.value("maximum_error").toString());//最大允许误差(公式) result.append(query.value("error_param_a").toString());//误差参数a result.append(query.value("error_param_b").toString());//误差参数b result.append(query.value("line_mode").toString());//两线/四线模式 result.append(query.value("coil_enlarge").toString());//线圈放大 result.append(query.value("indicating_value").toString());//示值 result.append(query.value("accuracy_a").toString());//准确度a result.append(query.value("full_scale_value").toString());//指针式仪表满量程值 result.append(query.value("full_scale_value_unit").toString());//指针式仪表满量程值单位 result.append(query.value("measure_indication_value").toString());//被检表示值 result.append(query.value("accuracy_level").toString());//准确度等级 result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } //进行检定项目列头转换 DataMapList= GetDataReturnItemList( itemCatoryName,resultData,DataMapList,headList); return DataMapList; } QMap<QString, QList<QStringList>> BaseCommonApi::GetDataReturnItemList(QString itemCatoryName,QList<QStringList> ResultData,QMap<QString, QList<QStringList>> DataMapList,QMap<QString, QStringList> *HeadMapList) { QList<QStringList> DCVList; QList<QStringList> ACVList; QList<QStringList> DCIList; QList<QStringList> ACIList; QList<QStringList> RList; if(itemCatoryName.contains("数字多用表")){ for(const QStringList &row : ResultData) { QStringList head; QStringList Data; QString VerificationItem=NULL; if (!row.isEmpty()) { // 确保行不为空 if(row[2]=="DCV") { VerificationItem = "DCV"; //添加列头 head << "序号" << "检定项目" << "量" << "单位" << "量程"<< "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); //添加数据 Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 Data.append(""); //绝对误差 软件界面计算 //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 try { //保证数据库内数据没问题 Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + (row[12].toDouble()*row[7].toDouble()))); } catch(const std::exception &e) { Data.append("0"); } Data.append(row[9]); //分辨力 DCVList.append(Data); } else if(row[2]=="ACV" ) { VerificationItem = "ACV"; //添加列头 head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位"<< "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); //添加数据 Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 Data.append(row[5]); //频率 Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 Data.append(""); //绝对误差 软件界面计算 //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 try { //保证数据库内数据没问题 Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + (row[12].toDouble()*row[7].toDouble()))); } catch(const std::exception &e) { Data.append("0"); } Data.append(row[9]); //分辨力 ACVList.append(Data); } else if(row[2]=="DCI" ) { VerificationItem = "DCI"; //添加列头 head << "序号" << "检定项目" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); //添加数据 Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 //Data.append(row[5]); //频率 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 Data.append(""); //绝对误差 软件界面计算 //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 try { //保证数据库内数据没问题 Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + (row[12].toDouble()*row[7].toDouble()))); } catch(const std::exception &e) { Data.append("0"); } Data.append(row[9]); //分辨力 DCIList.append(Data); } else if(row[2]=="ACI" ) { VerificationItem = "ACI"; //添加列头 head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); //添加数据 Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 Data.append(row[5]); //频率 Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 Data.append(""); //绝对误差 软件界面计算 //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 try { //保证数据库内数据没问题 Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + (row[12].toDouble()*row[7].toDouble()))); } catch(const std::exception &e) { Data.append("0"); } Data.append(row[9]); //分辨力 ACIList.append(Data); } else if(row[2]=="R") { VerificationItem = "R"; //添加列头 head << "序号" << "检定项目" << "量" << "单位" <<"两线/四线" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); //添加数据 Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 Data.append(row[13]); //两线/四线 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 Data.append(""); //绝对误差 软件界面计算 //最大允许误差 根据公式计算 目前 先都按 a*标准值 + b*量程 try { //保证数据库内数据没问题 Data.append(QString::number((row[11].toDouble()*row[8].toDouble()) + (row[12].toDouble()*row[7].toDouble()))); } catch(const std::exception &e) { Data.append("0"); } Data.append(row[9]); //分辨力 RList.append(Data); } } } if(DCVList.count()!=0){ DataMapList.insert("DCV",DCVList); }; if(ACVList.count()!=0){ DataMapList.insert("ACV",ACVList); }; if(DCIList.count()!=0){ DataMapList.insert("DCI",DCIList); }; if(ACIList.count()!=0){ DataMapList.insert("ACI",ACIList); }; if(RList.count()!=0){ DataMapList.insert("R",RList); }; } return DataMapList; } //检定数据管理 首页 QList<VerificationData> BaseCommonApi::getVerificationData() { QList<VerificationData> result; QSqlQuery query; /*bool isSuccess = query.exec("SELECT bbdmi.*, eei.id,bboi.customer_name, eemi.help_instruction, bbdmii.item_category_id, bbdmii.item_category_name, " " bbdmii.belong_standard_equipment, bboi.customer_address,_user.NAME,eei.meter_identify,dept.FULL_NAME" " FROM biz_business_device_measure_info bbdmi " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmi.item_id " " LEFT JOIN sys_user _user ON bbdmi.create_user_id = _user.id " " LEFT JOIN eqpt_equipment_info eei ON bbdmi.sample_id = eei.id " " LEFT JOIN sys_dept dept ON eei.dept_id = dept.ID " " JOIN eqpt_equipment_model_info eemi ON eemi.id = bbdmii.device_model_id " " JOIN biz_business_order_sample_relation bbosr ON (bbosr.order_id = bbdmi.order_id AND bbosr.sample_id = " " bbdmi.sample_id) JOIN biz_business_order_info bboi ON bbosr.order_id = bboi.id " " ORDER BY bbdmi.create_time DESC");*/ bool isSuccess = query.exec("SELECT bbdmi.*, eei.id,bboi.customer_name, eemi.help_instruction, bbdmii.item_category_id, bbdmii.item_category_name, " " bbdmii.belong_standard_equipment, bboi.customer_address,_user.NAME,eei.meter_identify,dept.FULL_NAME " " FROM biz_business_device_measure_info bbdmi " " LEFT JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmi.item_id " " LEFT JOIN sys_user _user ON bbdmi.create_user_id = _user.id " " LEFT JOIN eqpt_equipment_info eei ON bbdmi.sample_id = eei.id " " LEFT JOIN sys_dept dept ON eei.dept_id = dept.ID " " LEFT JOIN eqpt_equipment_model_info eemi ON eemi.id = bbdmii.device_model_id " " LEFT JOIN biz_business_order_sample_relation bbosr ON (bbosr.order_id = bbdmi.order_id AND bbosr.sample_id = " " bbdmi.sample_id) " " LEFT JOIN biz_business_order_info bboi ON bbosr.order_id = bboi.id " " ORDER BY bbdmi.create_time DESC"); if (isSuccess) { while (query.next()) { VerificationData verificationData; verificationData.id = query.value("id").toString(); verificationData.sample_id = query.value("sample_id").toString(); verificationData.item_id = query.value("item_id").toString(); verificationData.sample_name = query.value("sample_name").toString(); verificationData.model = query.value("model").toString(); verificationData.help_instruction = query.value("help_instruction").toString(); verificationData.manufacture_no = query.value("manufacture_no").toString(); verificationData.manufacturer = query.value("manufacturer").toString(); verificationData.customer_name = query.value("customer_name").toString(); verificationData.FULL_NAME = query.value("FULL_NAME").toString(); verificationData.NAME = query.value("NAME").toString(); verificationData.trace_date = query.value("trace_date").toDate(); verificationData.measure_valid_date = query.value("measure_valid_date").toDateTime(); verificationData.meter_identify = query.value("meter_identify").toString(); verificationData.restriction_instruction = query.value("restriction_instruction").toString(); result.append(verificationData); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //检定数据管理-检定基本信息-标准设备 参数:首页数据的id QList<VerificationBasicDataDevice> BaseCommonApi::getVerificationBasicDataDevice(QString data_id) { QList<VerificationBasicDataDevice> result; QSqlQuery query; query.prepare("SELECT bei.id AS equipmentId, bei.equipment_no, bei.equipment_name, bei.manufacture_no, bei.model, bei.measure_valid_date, " "bett.uncertainty " " FROM biz_business_device_measure_equipment bbdme " " JOIN biz_equipment_info bei ON bei.id = bbdme.equipment_id " " Left JOIN biz_equipment_technical_target bett ON bei.equipment_no = bett.equipment_no " " WHERE bbdme.data_id = :data_id"); // 将参数绑定到占位符 query.bindValue(":data_id", data_id); if (query.exec()) { while (query.next()) { VerificationBasicDataDevice dataDetails; dataDetails.equipmentId = query.value("equipmentId").toString(); dataDetails.equipment_no = query.value("equipment_no").toString(); dataDetails.equipment_name = query.value("equipment_name").toString(); dataDetails.model = query.value("model").toString(); dataDetails.measure_valid_date = query.value("measure_valid_date").toDateTime(); dataDetails.uncertainty = query.value("uncertainty").toString(); result.append(dataDetails); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //检定数据管理-检定基本信息 参数item_id 首页单条数据中包含 VerificationBasicDataDetails BaseCommonApi::getVerificationBasicDataDetails(QString item_id) { VerificationBasicDataDetails result; QSqlQuery query; query.prepare("SELECT bbdmi.*, bboi.customer_name, eemi.help_instruction, bbdmii.item_category_name, bboi.order_no,eemtte.based_documents,_user.NAME" " FROM biz_business_device_measure_info bbdmi " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmi.item_id " " JOIN eqpt_equipment_model_info eemi ON eemi.id = bbdmii.device_model_id " " JOIN biz_business_order_sample_relation bbosr ON (bbosr.order_id = bbdmi.order_id AND bbosr.sample_id = bbdmi.sample_id) " " JOIN biz_business_order_info bboi ON bbosr.order_id = bboi.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.item_id = :item_id " " ORDER BY bbdmi.update_time DESC" " LIMIT 1"); // 将参数绑定到占位符 query.bindValue(":item_id", item_id); if (query.exec()) { while (query.next()) { VerificationBasicDataDetails dataDetails; dataDetails.customer_name = query.value("customer_name").toString(); dataDetails.humidity = query.value("humidity").toString(); dataDetails.temperature = query.value("temperature").toString(); // dataDetails.model = query.value("model").toString(); dataDetails.measure_address = query.value("measure_address").toString(); dataDetails.measure_valid_date = query.value("measure_valid_date").toDateTime(); dataDetails.conclusion = query.value("conclusion").toString(); dataDetails.restriction_instruction = query.value("restriction_instruction").toString(); dataDetails.based_documents = query.value("based_documents").toString(); dataDetails.trace_date = query.value("trace_date").toDate(); dataDetails.NAME = query.value("NAME").toString(); dataDetails.appearance_function_check=query.value("appearance_function_check").toString(); dataDetails.appearance_remark=query.value("appearance_remark").toString(); result = dataDetails; } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //检定数据管理-检定结果信息 SaveDeviceMeasureCalibrator 多功能校准源结果数据表 QList<QStringList> BaseCommonApi::getVerificationMultiCalResultData(QString dataId,QStringList *HeadList) { QList<QStringList> resultData; QStringList result; QSqlQuery query; query.prepare("SELECT * FROM biz_business_device_measure_data_calibrator WHERE data_id = :dataId "); // 将参数绑定到占位符 query.bindValue(":dataId", dataId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("params").toString()); result.append(query.value("capacity").toString()); result.append(query.value("unit").toString()); result.append(query.value("frequency").toString()); result.append( query.value("range_range").toString()); result.append(query.value("standard_value").toString()); result.append(query.value("indicating_value").toString()); result.append(query.value("resolution").toString()); result.append(query.value("maximum_error").toString()); result.append(query.value("error_param_a").toString()); result.append( query.value("error_param_b").toString()); result.append(query.value("other_outcome").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"参数"<<"量"<<"单位"<<"频率" <<"量程"<<"标准值" <<"示值" <<"分辨力"<<"最大允许误差"<<"误差参数a" <<"误差参数b"<<"合格率"; return resultData; } //核查数据管理 首页 QList<CheckData> BaseCommonApi::getCheckData() { QList<CheckData> result; QSqlQuery query; bool isSuccess = query.exec("SELECT besci.*, besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName, beit.model AS equipmentModel, " " bescic.category_name AS itemCategoryName, bescic.belong_standard_equipment AS belongStandardEquipment,beit.manufacture_no," " beit.manufacturer,besci.create_user_name " " FROM biz_equipment_standard_check_info besci " " JOIN biz_equipment_standard_info besi ON besci.standard_equipment_id = besi.id " " JOIN biz_equipment_info beit ON besci.equipment_id = beit.id " " LEFT JOIN biz_equipment_standard_check_item_category bescic ON bescic.id = besci.item_category_id ORDER BY besci.create_time DESC "); if (isSuccess) { while (query.next()) { CheckData dataManage; dataManage.id = query.value("id").toString(); dataManage.equipmentName = query.value("equipmentName").toString(); dataManage.equipmentModel = query.value("equipmentModel").toString(); dataManage.manufacture_no = query.value("manufacture_no").toString(); // dataManage.meter_standard_name = query.value("meter_standard_name").toString(); dataManage.equipment_id = query.value("equipment_id").toString(); dataManage.create_user_name = query.value("create_user_name").toString(); dataManage.check_date = query.value("check_date").toDate(); dataManage.dept_name = query.value("dept_name").toString(); dataManage.manufacturer=query.value("manufacturer").toString(); result.append(dataManage); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //核查数据管理-核查基本信息-核查件 参数为 首页id QList<CheckDataManageBasicInfo> BaseCommonApi::getCheckDataManageBasicInfoDevice(QString data_id) { QList<CheckDataManageBasicInfo> result; QSqlQuery query; query.prepare("SELECT bei.* FROM biz_equipment_standard_check_info_equipment bescie " " JOIN biz_equipment_info bei ON bei.id = bescie.check_equipment_id " " WHERE bescie.data_id = :data_id "); // 将参数绑定到占位符 query.bindValue(":data_id", data_id); if (query.exec()) { while (query.next()) { CheckDataManageBasicInfo basicInfo; basicInfo.equipment_name = query.value("equipment_name").toString(); basicInfo.model = query.value("model").toString(); basicInfo.manufacture_no = query.value("manufacture_no").toString(); basicInfo.manufacturer = query.value("manufacturer").toString(); result.append(basicInfo); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //核查数据管理-核查基本信息-基本信息 CheckDataManageBasicInfo BaseCommonApi::getCheckDataManageBasicInfo(QString equipment_id) { CheckDataManageBasicInfo result; QSqlQuery query; query.prepare("SELECT * FROM biz_equipment_standard_check_info WHERE equipment_id = :equipment_id"); // 将参数绑定到占位符 query.bindValue(":equipment_id", equipment_id); if (query.exec()) { while (query.next()) { CheckDataManageBasicInfo basicInfo; basicInfo.temperature = query.value("temperature").toString(); basicInfo.humidity = query.value("humidity").toString(); basicInfo.check_date = query.value("check_date").toDate(); basicInfo.check_address = query.value("check_address").toString(); basicInfo.create_user_name = query.value("create_user_name").toString(); basicInfo.conclusion = query.value("conclusion").toString(); result=basicInfo; } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //核查数据管理-核查结果信息-核查项多功能校准源数据 参数首页数据的id QList<QStringList> BaseCommonApi::getCheckDataManageResultManageMult(QString data_id,QStringList *HeadList) { QList<QStringList> resultDate; QStringList result; QSqlQuery query; query.prepare("SELECT * FROM biz_equipment_standard_check_data_calibrator WHERE data_id = :data_id "); query.bindValue(":data_id", data_id); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("data_id").toString()); result.append(query.value("check_type").toString()); result.append(query.value("test_type").toString()); result.append(query.value("params").toString()); result.append(query.value("unit").toString()); result.append(query.value("frequency").toString()); result.append(query.value("frequency_unit").toString()); result.append(query.value("check_point").toString()); result.append(query.value("test_value_one_date").toString()); result.append(query.value("test_value_one").toString()); result.append(query.value("test_value_two_date").toString()); result.append(query.value("test_value_two").toString()); result.append( query.value("test_value_three_date").toString()); result.append(query.value("test_value_three").toString()); result.append(query.value("test_value_four_date").toString()); result.append(query.value("test_value_four").toString()); result.append(query.value("test_value_five_date").toString()); result.append(query.value("test_value_five").toString()); result.append( query.value("test_value_six_date").toString()); result.append( query.value("test_value_six").toString()); result.append(query.value("average_value").toString()); result.append( query.value("standard_deviation").toString()); result.append( query.value("relative_repeatability").toString()); result.append( query.value("urel").toString()); result.append(query.value("less_than").toString()); result.append( query.value("qualified").toString()); result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultDate.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList<<"id"<<"核查数据管理基础信息表id"<<"核查类型"<<"核查点类型"<<"核查项目"<<"单位"<<"频率"<<"频率单位"<<"核查点" <<"核查读数1日期"<<"核查读数1(示值)"<<"核查读数2日期(稳定性)"<<"核查读数2(示值)" <<"核查读数3日期(稳定性) "<<"核查读数3(示值)"<<"核查读数4日期(稳定性)"<<"核查读数4(示值)"<<"核查读数5日期(稳定性)" <<"核查读数5(示值)"<<"核查读数6日期(稳定性)"<<"核查读数6(本次示值)"<<"核查读数平均值(算数平均值)"<<"Sn(x)(标准偏差)" <<"Sn(x)/核查读数平均值(相对重复性)"<<"UREL"<<"是否小于相对扩展不确定度Urel(0/1)"<<"稳定性考核是否合格"<<"创建时间"<<"更新时间"; return resultDate; } //技术文件管理 QList<Technique_File> BaseCommonApi::getTechnique_File() { QList<Technique_File> result; QSqlQuery query; bool isSuccess = query.exec("SELECT brtf.id,brtf.file_distribute_no ,brtf.file_name ,brtf.version_no ,brtf.active_date ,brtf.remark " " FROM biz_resource_technique_file brtf"); if (isSuccess) { while (query.next()) { Technique_File file; file.id=query.value("id").toString(); file.file_distribute_no = query.value("file_distribute_no").toString(); file.file_name = query.value("file_name").toString(); file.version_no = query.value("version_no").toString(); file.active_date = query.value("active_date").toDateTime(); file.remark = query.value("remark").toString(); result.append(file); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //检定程序管理首页查询 QList<VerificationProgramInfo> BaseCommonApi::getVerificationProgramInfoMain() { QList<VerificationProgramInfo> result; QSqlQuery query; bool isSuccess = query.exec("SELECT * FROM zd_verification_program_info"); if (isSuccess) { while (query.next()) { VerificationProgramInfo programInfo; programInfo.id = query.value("id").toString(); programInfo.program_name = query.value("program_name").toString(); programInfo.create_name = query.value("create_name").toString(); programInfo.create_time = query.value("create_time").toDateTime(); programInfo.remark = query.value("remark").toString(); programInfo.belong_standard_equipment = query.value("belong_standard_equipment").toString(); programInfo.equipment_item_category = query.value("equipment_item_category").toString(); programInfo.equipment_name = query.value("equipment_name").toString(); programInfo.model = query.value("model").toString(); programInfo.help_instruction = query.value("help_instruction").toString(); result.append(programInfo); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //查询检定项分类 参数 装置字典键 例如 1 ,2 可传空值 “” 查询所有 QList<itemCategory> BaseCommonApi::getitemCategoryList(QString item) { QList<itemCategory> result; QSqlQuery query; if(item.isEmpty() || item.isNull()){ query.prepare("SELECT * FROM biz_business_device_measure_item_category"); }else { query.prepare("SELECT * FROM biz_business_device_measure_item_category WHERE belong_standard_equipment = :item "); query.bindValue(":item", item); } if (query.exec()) { while (query.next()) { itemCategory category; category.id = query.value("id").toString(); category.category_no = query.value("category_no").toString(); category.category_name = query.value("category_name").toString(); category.create_time = query.value("create_time").toDateTime(); category.device_type = query.value("device_type").toString(); category.belong_standard_equipment = query.value("belong_standard_equipment").toString(); category.measure_category = query.value("measure_category").toString(); category.technology_file = query.value("technology_file").toString(); category.update_time = query.value("update_time").toDateTime(); category.lab_x = query.value("lab_x").toString(); category.lab_h = query.value("lab_h").toString(); category.wiring_diagram = query.value("wiring_diagram").toString(); result.append(category); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //检定程序管理-编辑 查询 VerificationProgramInfo BaseCommonApi::getVerificationProgramInfo(QString id) { VerificationProgramInfo result; QSqlQuery query; query.prepare("SELECT * FROM zd_verification_program_info WHERE id = :id "); query.bindValue(":id", id); if (query.exec()) { while (query.next()) { VerificationProgramInfo programInfo; programInfo.id = query.value("id").toString(); programInfo.program_name = query.value("program_name").toString(); programInfo.create_name = query.value("create_name").toString(); programInfo.create_time = query.value("create_time").toDateTime(); programInfo.remark = query.value("remark").toString(); programInfo.img_path = query.value("img_path").toString(); programInfo.tested_device_id = query.value("tested_device_id").toString(); programInfo.standard_device_id = query.value("standard_device_id").toString(); programInfo.update_time = query.value("update_time").toDateTime(); programInfo.belong_standard_equipment = query.value("belong_standard_equipment").toString(); programInfo.equipment_item_category = query.value("equipment_item_category").toString(); programInfo.equipment_name = query.value("equipment_name").toString(); programInfo.model = query.value("model").toString(); programInfo.help_instruction = query.value("help_instruction").toString(); result = programInfo; } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; } //查询设备通信接口 QList<VerificationProgramConfigInterface> BaseCommonApi::getVerificationProgramConfigInterface(QString deviceId) { QList<VerificationProgramConfigInterface> result; QSqlQuery query; query.prepare("SELECT id,device_id ,communication_type ,serial_port ,visa ,create_time ,update_time " "FROM zd_communication_setting WHERE device_id = :deviceId "); query.bindValue(":deviceId", deviceId); if (query.exec()) { while (query.next()) { VerificationProgramConfigInterface configInterface; configInterface.id = query.value("id").toString(); configInterface.device_id = query.value("device_id").toString(); configInterface.communication_type = query.value("communication_type").toString(); configInterface.serial_port = query.value("serial_port").toString(); configInterface.visa = query.value("visa").toString(); configInterface.create_time = query.value("create_time").toDateTime(); configInterface.update_time = query.value("update_time").toDateTime(); result.append(configInterface); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //新建检定程序 bool BaseCommonApi::InsertVerificationProgramInfo(VerificationProgramInfo verInfo) { QSqlQuery query; query.prepare(" INSERT INTO zd_verification_program_info (id,program_name,create_name,create_time, " "remark,img_path,tested_device_id,standard_device_id,update_time,belong_standard_equipment," "equipment_item_category,equipment_name,model,help_instruction)" " VALUES (:id, :program_name, :create_name, :create_time, :remark, :img_path, :tested_device_id, " ":standard_device_id,:update_time,:belong_standard_equipment,:equipment_item_category," ":equipment_name,:model,:help_instruction);"); QString formattedDateTime = verInfo.create_time.toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", verInfo.id); query.bindValue(":program_name", verInfo.program_name); query.bindValue(":create_name", verInfo.create_name); query.bindValue(":create_time", formattedDateTime); query.bindValue(":remark", verInfo.remark); query.bindValue(":img_path", verInfo.img_path); query.bindValue(":tested_device_id", verInfo.tested_device_id); query.bindValue(":standard_device_id", verInfo.standard_device_id); query.bindValue(":update_time",formattedDateTime); query.bindValue(":belong_standard_equipment",verInfo.belong_standard_equipment); query.bindValue(":equipment_item_category",verInfo.equipment_item_category); query.bindValue(":equipment_name",verInfo.equipment_name); query.bindValue(":model",verInfo.model); query.bindValue(":help_instruction",verInfo.help_instruction); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //新增通讯接口 bool BaseCommonApi::InsertVerificationProgramConfigInterface(VerificationProgramConfigInterface configInterdace) { QSqlQuery query; query.prepare("INSERT INTO zd_communication_setting (id,device_id,communication_type,serial_port,visa,create_time,update_time) " " VALUES (:id,:device_id,:communication_type,:serial_port,:visa,:create_time,:update_time)"); QString formattedDateTime = configInterdace.create_time.toString("yyyy-MM-dd HH:mm:ss"); QString formattedUpdateDateTime = configInterdace.update_time.toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", configInterdace.id); query.bindValue(":device_id", configInterdace.device_id); query.bindValue(":communication_type", configInterdace.communication_type); query.bindValue(":serial_port", configInterdace.serial_port); query.bindValue(":visa", configInterdace.visa); query.bindValue(":create_time", formattedDateTime); query.bindValue(":update_time", formattedUpdateDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //更新检定程序 bool BaseCommonApi::UpdateVerificationProgramInfo(VerificationProgramInfo verInfo) { QSqlQuery query; query.prepare("UPDATE zd_verification_program_info " " SET program_name = :program_name," "create_name = :create_name, " "create_time = :create_time," "remark = :remark," "img_path = :img_path," "tested_device_id = :tested_device_id," "standard_device_id = :standard_device_id ," "update_time = :update_time, " "belong_standard_equipment = :belong_standard_equipment," "equipment_item_category = :equipment_item_category," "equipment_name = :equipment_name," "model=:model," "help_instruction=:help_instruction " " WHERE id = :id;"); QString formattedDateTime = verInfo.create_time.toString("yyyy-MM-dd HH:mm:ss"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":update_time",currentDateTime); query.bindValue(":program_name", verInfo.program_name); query.bindValue(":create_name", verInfo.create_name); query.bindValue(":create_time", formattedDateTime); query.bindValue(":remark", verInfo.remark); query.bindValue(":img_path", verInfo.img_path); query.bindValue(":tested_device_id", verInfo.tested_device_id); query.bindValue(":standard_device_id", verInfo.standard_device_id); query.bindValue(":belong_standard_equipment", verInfo.belong_standard_equipment); query.bindValue(":equipment_item_category", verInfo.equipment_item_category); query.bindValue(":equipment_name", verInfo.equipment_name); query.bindValue(":model", verInfo.model); query.bindValue(":help_instruction", verInfo.help_instruction); query.bindValue(":id", verInfo.id); bool isSuccess = query.exec(); qDebug() << "执行的sql:" <<query.lastQuery(); if (!isSuccess) { qDebug() << "InsertOrderSampleRelation query failed: " << query.lastError().text(); } return isSuccess; }; //更新通讯接口 bool BaseCommonApi::UpdateVerificationProgramConfigInterface(VerificationProgramConfigInterface configInterdace) { QSqlQuery query; query.prepare("UPDATE zd_communication_setting SET communication_type = :communication_type, " " serial_port = :serial_port,visa = :visa,update_time = :update_time " " WHERE device_id = :device_id;"); QString formattedDateTime = configInterdace.update_time.toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":communication_type", configInterdace.communication_type); query.bindValue(":serial_port", configInterdace.serial_port); query.bindValue(":visa", configInterdace.visa); query.bindValue(":update_time", formattedDateTime); query.bindValue(":device_id", configInterdace.device_id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertOrderSampleRelation query failed: " << query.lastError().text(); } return isSuccess; }; //删除检定程序 bool BaseCommonApi::DeleteVerificationProgramInfo(QString id) { QSqlQuery query; //删除检定程序 query.prepare("DELETE FROM zd_verification_program_info WHERE id = :id"); query.bindValue(":id", id); if (!query.exec()) { qDebug() << "删除失败: " << query.lastError().text(); return false; } return true; }; //查询指令库 参数 检定程序id QList<InstructionLib> BaseCommonApi::getInstructionLib(QString verification_program_id) { QList<InstructionLib> result; QSqlQuery query; query.prepare("SELECT * FROM zd_instruction_library WHERE verification_program_id = :verification_program_id "); query.bindValue(":verification_program_id", verification_program_id); if (query.exec()) { while (query.next()) { InstructionLib instruction; instruction.id = query.value("id").toString(); instruction.device_id = query.value("device_id").toString(); instruction.device_name = query.value("device_name").toString(); instruction.instruct_config = query.value("instruct_config").toString(); instruction.instruct_read = query.value("instruct_read").toString(); instruction.type = query.value("type").toString(); instruction.belong_vername = query.value("belong_vername").toString(); instruction.belong_checkname = query.value("belong_checkname").toString(); instruction.verification_program_id = query.value("verification_program_id").toString(); instruction.create_time = query.value("create_time").toDateTime(); instruction.update_time = query.value("update_time").toDateTime(); instruction.param = query.value("param").toString(); result.append(instruction); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //查询检定项用于在新增指令时筛选 例如DCV ACI 如果equipment_item_category_id为空查询所有 QList<Params> BaseCommonApi::getParams(QString belong_standard_equipment_id,QString equipment_item_category_id) { QList<Params> result; QSqlQuery query; switch (belong_standard_equipment_id.toInt()) { case 1: if(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty()) { query.prepare("SELECT DISTINCT bbdmidc.params FROM biz_business_device_measure_item_data_calibrator bbdmidc " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmidc.item_id "); }else { query.prepare("SELECT DISTINCT bbdmidc.params FROM biz_business_device_measure_item_data_calibrator bbdmidc " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmidc.item_id " " WHERE bbdmii.item_category_id = :equipment_item_category_id "); } break; } query.bindValue(":equipment_item_category_id", equipment_item_category_id); if (query.exec()) { while (query.next()) { Params param; param.param = query.value("params").toString(); result.append(param); } }else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //新增指令库 bool BaseCommonApi::InsertInstructionLib(InstructionLib instructionLib) { QSqlQuery query; query.prepare("INSERT INTO zd_instruction_library (id,device_id,device_name,instruct_config,instruct_read," "type,belong_vername,belong_checkname,create_time,update_time,verification_program_id,param) " " VALUES (:id,:device_id,:device_name,:instruct_config,:instruct_read,:type,:belong_vername," ":belong_checkname,:create_time,:update_time,:verification_program_id,:param)"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", instructionLib.id); query.bindValue(":device_id", instructionLib.device_id); query.bindValue(":device_name", instructionLib.device_name); query.bindValue(":instruct_config", instructionLib.instruct_config); query.bindValue(":instruct_read", instructionLib.instruct_read); query.bindValue(":type", instructionLib.type); query.bindValue(":belong_vername", instructionLib.belong_vername); query.bindValue(":belong_checkname", instructionLib.belong_checkname); query.bindValue(":create_time", currentDateTime); query.bindValue(":update_time", currentDateTime); query.bindValue(":verification_program_id", instructionLib.verification_program_id); query.bindValue(":param", instructionLib.param); bool isSuccess = query.exec(); // qDebug() << "InsertTaskBasic query failed: " << query.lastQuery(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //删除指令库 bool BaseCommonApi::DeleteInstructionLib(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_instruction_library WHERE id = :id "); query.bindValue(":id", id); if (!query.exec()) { qDebug() << "删除失败: " << query.lastError().text(); return false; } return true; }; //更新指令库 bool BaseCommonApi::UpdateInstructionLib(InstructionLib instructionLib) { QSqlQuery query; query.prepare("UPDATE zd_instruction_library SET device_id=:device_id," "device_name = :device_name,instruct_config = :instruct_config,instruct_read = :instruct_read," " type = :type,belong_vername = :belong_vername,belong_checkname = :belong_checkname," "update_time = :update_time,verification_program_id=:verification_program_id,param=:param WHERE id = :id"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":device_id", instructionLib.device_id); query.bindValue(":device_name", instructionLib.device_name); query.bindValue(":instruct_config", instructionLib.instruct_config); query.bindValue(":instruct_read", instructionLib.instruct_read); query.bindValue(":type", instructionLib.type); query.bindValue(":belong_vername", instructionLib.belong_vername); query.bindValue(":belong_checkname", instructionLib.belong_checkname); query.bindValue(":update_time", currentDateTime); query.bindValue(":verification_program_id", instructionLib.verification_program_id); query.bindValue(":param", instructionLib.param); query.bindValue(":id", instructionLib.id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertOrderSampleRelation query failed: " << query.lastError().text(); } return isSuccess; }; //雪花算法生成id qint64 BaseCommonApi::generateId() { return this->idWorker.nextId(); }; QString BaseCommonApi::GenerateTaskNumber() { QList<CreateTaskList> TaskList= BaseCommonApi::getCreateTaskListNew(); return TaskManager::generateTask(TaskList.first().order_no); }; bool BaseCommonApi::AddTaskNumber() { return TaskManager::AddCurrenTaskCount(); }; ////自动检定-根据被检设备 查询检定项分类 QList<DeviceMeasureEquipmentCatory> BaseCommonApi::getDeviceMeasureEquipmentCatory(QString deviceId) { QList<DeviceMeasureEquipmentCatory> result; QSqlQuery query; query.prepare( " SELECT bbdmii.*, eemi.category AS deviceType, eemi.equipment_name AS deviceName, " " eemi.model AS model, eemi.help_instruction AS helpInstruction, eemi.instructions_file AS instructionsFile, " " eemi.check_cycle AS checkCycle, eemi.id AS eqptDeviceModelId, eemi.category AS eqptDeviceType " " FROM eqpt_equipment_model_info eemi " " LEFT JOIN biz_business_device_measure_item_info bbdmii ON eemi.id = bbdmii.device_model_id " " JOIN eqpt_equipment_info eei ON eei.model_id = eemi.id " " WHERE eei.id = :deviceId " " ORDER BY eemi.create_time DESC "); query.bindValue(":deviceId",deviceId); if (query.exec()) { while (query.next()) { DeviceMeasureEquipmentCatory catory; catory.id = query.value("id").toString(); catory.device_model_id = query.value("device_model_id").toString(); catory.belong_standard_equipment = query.value("belong_standard_equipment").toString(); catory.help_field_instruction = query.value("help_field_instruction").toString(); catory.item_category_id = query.value("item_category_id").toString(); catory.item_category_name = query.value("item_category_name").toString(); catory.deviceType = query.value("deviceType").toString(); catory.deviceName = query.value("deviceName").toString(); catory.model = query.value("model").toString(); catory.helpInstruction = query.value("helpInstruction").toString(); catory.instructionsFile = query.value("instructionsFile").toString(); catory.checkCycle = query.value("checkCycle").toString(); catory.eqptDeviceModelId = query.value("eqptDeviceModelId").toString(); catory.eqptDeviceType = query.value("eqptDeviceType").toString(); result.append(catory); } // qDebug() << query.lastQuery(); } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; ////自动检定-根据被检设备 查询检定项分类 在查询检定程序 //根据getDeviceMeasureEquipmentCatory返回的item_category_id查询检定程序 QList<VerificationProgramInfo> BaseCommonApi::getVerificationProgramInfoByDeviceId(QString deviceId) { QList<DeviceMeasureEquipmentCatory> catory; QSqlQuery query; QList<VerificationProgramInfo> result; catory = BaseCommonApi::getDeviceMeasureEquipmentCatory(deviceId); if(catory.length() <= 0 ){ return result; } QString equipment_item_category = catory[0].item_category_id; query.prepare("SELECT * from zd_verification_program_info zvpi WHERE zvpi.equipment_item_category = :equipment_item_category"); query.bindValue(":equipment_item_category",equipment_item_category); if (query.exec()) { while (query.next()) { VerificationProgramInfo info; info.id = query.value("id").toString(); info.program_name = query.value("program_name").toString(); info.create_name = query.value("create_name").toString(); info.create_time = query.value("create_time").toDateTime(); info.remark = query.value("remark").toString(); info.img_path = query.value("img_path").toString(); info.tested_device_id = query.value("tested_device_id").toString(); info.standard_device_id = query.value("standard_device_id").toString(); info.update_time = query.value("update_time").toDateTime(); info.belong_standard_equipment = query.value("belong_standard_equipment").toString(); info.equipment_item_category = query.value("equipment_item_category").toString(); info.equipment_name = query.value("equipment_name").toString(); info.model = query.value("model").toString(); info.help_instruction = query.value("help_instruction").toString(); result.append(info); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //自动检定-结果保存-biz_business_device_measure_info 基本信息表 bool BaseCommonApi::InsertSaveDeviceMeasureInfo(SaveDeviceMeasureInfo saveInfo) { saveInfo.data_no=TaskManager::getsaveResultdatano(); QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_info ( " " id, data_no, measure_category, order_id, sample_id, sample_name, model, " " manufacture_no, manufacturer, item_id, trace_date, measure_valid_date, " " measure_address, temperature, humidity, data_source, ipri, ipri_unit, " " isec, isec_unit, vpri, vpri_unit, vsec, vsec_unit, appearance_function_check, " " appearance, appearance_remark, pointer_deflection_stability, " " pointer_deflection_stability_remark, tightness, tightness_remark," " insulation_resistance, insulation_resistance_remark, measure_medium," " division, zero_drift_result, work_line_equation, sealing_test, " " insulation_resistance_value, angle_adjust_error, actual_division_value," " actual_division_value_unit, conclusion, restriction_instruction, outcome," " other_outcome, remark, other_remark, create_user_id, measure_person_id," " create_user_name, create_time, update_time " " ) VALUES ( " " :id, :data_no, :measure_category, :order_id, :sample_id, :sample_name, :model, " " :manufacture_no, :manufacturer, :item_id, :trace_date, :measure_valid_date, " " :measure_address, :temperature, :humidity, :data_source, :ipri, :ipri_unit, " " :isec, :isec_unit, :vpri, :vpri_unit, :vsec, :vsec_unit, :appearance_function_check, " " :appearance, :appearance_remark, :pointer_deflection_stability, " " :pointer_deflection_stability_remark, :tightness, :tightness_remark, " " :insulation_resistance, :insulation_resistance_remark, :measure_medium, " " :division, :zero_drift_result, :work_line_equation, :sealing_test, " " :insulation_resistance_value, :angle_adjust_error, :actual_division_value, " " :actual_division_value_unit, :conclusion, :restriction_instruction, :outcome, " " :other_outcome, :remark, :other_remark, :create_user_id, :measure_person_id, " " :create_user_name, :create_time, :update_time);"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", saveInfo.id); //id 自动生成 query.bindValue(":id", saveInfo.id); query.bindValue(":data_no", saveInfo.data_no); query.bindValue(":measure_category", saveInfo.measure_category); query.bindValue(":order_id", saveInfo.order_id); query.bindValue(":sample_id", saveInfo.sample_id); query.bindValue(":sample_name", saveInfo.sample_name); query.bindValue(":model", saveInfo.model); query.bindValue(":manufacture_no", saveInfo.manufacture_no); query.bindValue(":manufacturer", saveInfo.manufacturer); query.bindValue(":item_id", saveInfo.item_id); query.bindValue(":trace_date", saveInfo.trace_date.toString("yyyy-MM-dd")); // 根据数据库实际日期格式转换 query.bindValue(":measure_valid_date", saveInfo.measure_valid_date.toString("yyyy-MM-dd")); query.bindValue(":measure_address", saveInfo.measure_address); query.bindValue(":temperature", saveInfo.temperature); query.bindValue(":humidity", saveInfo.humidity); query.bindValue(":data_source", saveInfo.data_source); query.bindValue(":ipri", saveInfo.ipri); query.bindValue(":ipri_unit", saveInfo.ipri_unit); query.bindValue(":isec", saveInfo.isec); query.bindValue(":isec_unit", saveInfo.isec_unit); query.bindValue(":vpri", saveInfo.vpri); query.bindValue(":vpri_unit", saveInfo.vpri_unit); query.bindValue(":vsec", saveInfo.vsec); query.bindValue(":vsec_unit", saveInfo.vsec_unit); query.bindValue(":appearance_function_check", saveInfo.appearance_function_check); query.bindValue(":appearance", saveInfo.appearance); query.bindValue(":appearance_remark", saveInfo.appearance_remark); query.bindValue(":pointer_deflection_stability", saveInfo.pointer_deflection_stability); query.bindValue(":pointer_deflection_stability_remark", saveInfo.pointer_deflection_stability_remark); query.bindValue(":tightness", saveInfo.tightness); query.bindValue(":tightness_remark", saveInfo.tightness_remark); query.bindValue(":insulation_resistance", saveInfo.insulation_resistance); query.bindValue(":insulation_resistance_remark", saveInfo.insulation_resistance_remark); query.bindValue(":measure_medium", saveInfo.measure_medium); query.bindValue(":division", saveInfo.division); query.bindValue(":zero_drift_result", saveInfo.zero_drift_result); query.bindValue(":work_line_equation", saveInfo.work_line_equation); query.bindValue(":sealing_test", saveInfo.sealing_test); query.bindValue(":insulation_resistance_value", saveInfo.insulation_resistance_value); query.bindValue(":angle_adjust_error", saveInfo.angle_adjust_error); query.bindValue(":actual_division_value", saveInfo.actual_division_value); query.bindValue(":actual_division_value_unit", saveInfo.actual_division_value_unit); query.bindValue(":conclusion", saveInfo.conclusion); query.bindValue(":restriction_instruction", saveInfo.restriction_instruction); query.bindValue(":outcome", saveInfo.outcome); query.bindValue(":other_outcome", saveInfo.other_outcome); query.bindValue(":remark", saveInfo.remark); query.bindValue(":other_remark", saveInfo.other_remark); query.bindValue(":create_user_id", saveInfo.create_user_id); query.bindValue(":measure_person_id", saveInfo.measure_person_id); query.bindValue(":create_user_name", saveInfo.create_user_name); query.bindValue(":create_time", currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); }else{ TaskManager::AddResultDataNoCount(); } return isSuccess; }; //计量检定业务-受检设备检定管理-检定数据管理-所使用的标准、主要测量设备 bool BaseCommonApi::InsertDeviceMeasureEquipment(DeviceMeasureEquipment deviceMeasure) { QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_equipment " " (id,data_id,equipment_id,create_time,update_time) " " VALUES " " (:id,:data_id,:equipment_id,:create_time,:update_time)"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); // QString createTime = deviceMeasure.create_time.toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", deviceMeasure.id); query.bindValue(":data_id", deviceMeasure.data_id); query.bindValue(":equipment_id", deviceMeasure.equipment_id); query.bindValue(":create_time", currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //自动检定-结果保存-检定数据管理多功能校准源数据(自动检定输出或业务创建) bool BaseCommonApi::InsertVerMultiCal(SaveDeviceMeasureCalibrator measureCalibrator) { QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_data_calibrator " " (id,data_id,item_data_id,maximum_error_formula,error_param_a,error_param_b,params,capacity,unit,frequency,frequency_unit," "range_range,standard_value,indicating_value,maximum_error,absolute_error,resolution,line_mode,remark,an,bn,cn,delta_an," "delta_bn,delta_cn,measure_indication_value,standard_value_upper_limit,accuracy_level,create_time,update_time) " " VALUES " " (:id,:data_id,:item_data_id,:maximum_error_formula,:error_param_a,:error_param_b,:params,:capacity,:unit,:frequency,:frequency_unit,:range_range,:standard_value,:indicating_value,:maximum_error,:absolute_error,:resolution,:line_mode,:remark,:an,:bn,:cn,:delta_an,:delta_bn,:delta_cn,:measure_indication_value,:standard_value_upper_limit,:accuracy_level,:create_time,:update_time);"); // QString formattedUpdateDateTime = measureCalibrator.create_time.toString("yyyy-MM-dd HH:mm:ss"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id",measureCalibrator.id); query.bindValue(":data_id",measureCalibrator.data_id); query.bindValue(":item_data_id",measureCalibrator.item_data_id); query.bindValue(":maximum_error_formula",measureCalibrator.maximum_error_formula); query.bindValue(":error_param_a",measureCalibrator.error_param_a); query.bindValue(":error_param_b",measureCalibrator.error_param_b); query.bindValue(":params",measureCalibrator.params); query.bindValue(":capacity",measureCalibrator.capacity); query.bindValue(":unit",measureCalibrator.unit); query.bindValue(":frequency",measureCalibrator.frequency); query.bindValue(":frequency_unit",measureCalibrator.frequency_unit); query.bindValue(":range_range",measureCalibrator.range_range); query.bindValue(":standard_value",measureCalibrator.standard_value); query.bindValue(":indicating_value",measureCalibrator.measure_indication_value); // 暂时改为被检表示值2024年3月27日09:43:27 待修改 query.bindValue(":maximum_error",measureCalibrator.maximum_error); query.bindValue(":absolute_error",measureCalibrator.absolute_error); query.bindValue(":resolution",measureCalibrator.resolution); query.bindValue(":line_mode",measureCalibrator.line_mode); query.bindValue(":remark",measureCalibrator.remark); query.bindValue(":an",measureCalibrator.an); query.bindValue(":bn",measureCalibrator.bn); query.bindValue(":cn",measureCalibrator.cn); query.bindValue(":delta_an",measureCalibrator.delta_an); query.bindValue(":delta_bn",measureCalibrator.delta_bn); query.bindValue(":delta_cn",measureCalibrator.delta_cn); query.bindValue(":measure_indication_value",measureCalibrator.measure_indication_value); query.bindValue(":standard_value_upper_limit",measureCalibrator.standard_value_upper_limit); query.bindValue(":accuracy_level",measureCalibrator.accuracy_level); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time",currentDateTime); bool isSuccess = query.exec(); qDebug()<<"保存的示值为:"<<measureCalibrator.indicating_value; if (!isSuccess) { qDebug() << "InsertOrderSampleRelation query failed: " << query.lastError().text(); } return isSuccess; }; // 核查程序管理首页查询 QList<CheckProgramManage> BaseCommonApi::getCheckProgramManage() { QList<CheckProgramManage> result; QSqlQuery query; bool isSuccess = query.exec("SELECT id,check_name,create_name,create_time,remark,img_path,standard_device_id,verification_documents_id,update_time " "FROM zd_verification_program_manage"); if (isSuccess) { while (query.next()) { CheckProgramManage programInfo; programInfo.id = query.value("id").toString(); programInfo.check_name = query.value("check_name").toString(); programInfo.create_name = query.value("create_name").toString(); programInfo.create_time = query.value("create_time").toDateTime(); programInfo.remark = query.value("remark").toString(); result.append(programInfo); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //核查程序管理-编辑查询单个 CheckProgramManage BaseCommonApi::getCheckProgramManageById(QString id) { CheckProgramManage result; QSqlQuery query; query.prepare("SELECT id,check_name,create_name,create_time,remark,img_path,standard_device_id,verification_documents_id,update_time " "FROM zd_verification_program_manage where id = :id "); query.bindValue(":id", id); if (query.exec()) { while (query.next()) { CheckProgramManage programInfo; programInfo.id = query.value("id").toString(); programInfo.check_name = query.value("check_name").toString(); programInfo.create_name = query.value("create_name").toString(); programInfo.create_time = query.value("create_time").toDateTime(); programInfo.remark = query.value("remark").toString(); programInfo.img_path = query.value("img_path").toString(); programInfo.standard_device_id = query.value("standard_device_id").toString(); programInfo.verification_documents_id = query.value("verification_documents_id").toString(); programInfo.update_time = query.value("update_time").toDateTime(); result = programInfo; } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //核查程序管理-编辑查询 选择设备 选择标准 QList<CheckAndTestedDevice> BaseCommonApi::getCheckDeviceList() { QList<CheckAndTestedDevice> result; QSqlQuery query; bool isSuccess = query.exec("SELECT bei.id ,bei.equipment_name ,bei.model ,bei.manufacture_no ,bei.manufacturer FROM biz_equipment_info bei "); if (isSuccess) { while (query.next()) { CheckAndTestedDevice device; device.id = query.value("id").toString(); device.equipment_name = query.value("equipment_name").toString(); device.model = query.value("model").toString(); device.manufacture_no = query.value("manufacture_no").toString(); device.manufacturer = query.value("manufacturer").toString(); result.append(device); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //核查程序管理-编辑查询 选择设备 选择核查件 为标准和被检的并集 QList<CheckAndTestedDevice> BaseCommonApi::getCheckAndTestedDeviceList() { QList<CheckAndTestedDevice> result; QSqlQuery query; bool isSuccess = query.exec("SELECT " " bei.id , bei.equipment_name , bei.model , bei.manufacture_no , bei.manufacturer " " FROM biz_equipment_info bei UNION ALL SELECT " " eei.id , eei.equipment_name , eei.model , eei.manufacture_no , eei.manufacturer " " FROM eqpt_equipment_info eei LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id;"); if (isSuccess) { while (query.next()) { CheckAndTestedDevice device; device.id = query.value("id").toString(); device.equipment_name = query.value("equipment_name").toString(); device.model = query.value("model").toString(); device.manufacture_no = query.value("manufacture_no").toString(); device.manufacturer = query.value("manufacturer").toString(); result.append(device); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //核查程序管理-核查设置-多功能校准源 参数设备id 同信息管理-标准设备管理-核查项及核查点 QList<QStringList> BaseCommonApi::getVerificationItemsMultiList(QString equipment_id,QStringList *headList) { QList<QStringList> resultData; QStringList result; QSqlQuery query; query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_calibrator " "WHERE equipment_id = :equipment_id"); query.bindValue(":equipment_id", equipment_id); if (query.exec()) { while (query.next()) { result.clear(); result.append( query.value("id").toString()); result.append( query.value("item_category_id").toString()); result.append( query.value("equipment_id").toString()); result.append( query.value("check_type").toString()); result.append( query.value("test_type").toString()); result.append( query.value("params").toString()); result.append( query.value("unit").toString()); result.append( query.value("frequency").toString()); result.append( query.value("check_point").toString()); result.append( query.value("resolution").toString()); result.append( query.value("cycle_number").toString()); result.append( query.value("frequency_unit").toString()); result.append( query.value("urel").toString()); result.append( query.value("thoroughfare").toString()); result.append( query.value("dccp").toString()); result.append( query.value("flit").toString()); result.append( query.value("remark").toString()); result.append( query.value("create_time").toString()); result.append( query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } *headList <<"id"<<"核查项分类id"<<"配套设备id"<<"核查类型"<<"核查点类型"<<"核查项目"<<"单位"<<"频率"<<"分辨力"<<"核查点" <<"频率单位"<<"循环次数"<<"Urel"<<"通道"<<"TFER"<<"DCCP"<<"FLIT"<<"核查项备注"<<"创建时间"<<"更新时间"; return resultData; }; //新增核查程序 bool BaseCommonApi::InsertCheckProgramManage(CheckProgramManage check) { QSqlQuery query; query.prepare("INSERT INTO zd_verification_program_manage " " (id,check_name,create_name,create_time,remark,img_path,standard_device_id,verification_documents_id,update_time) " " VALUES (:id,:check_name,:create_name,:create_time,:remark,:img_path,:standard_device_id, " " :verification_documents_id,:update_time)"); QString formattedDateTime = check.create_time.toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", check.id); query.bindValue(":check_name", check.check_name); query.bindValue(":create_name", check.create_name); query.bindValue(":create_time", formattedDateTime); query.bindValue(":remark", check.remark); query.bindValue(":img_path", check.img_path); query.bindValue(":standard_device_id", check.standard_device_id); query.bindValue(":verification_documents_id", check.verification_documents_id); query.bindValue(":update_time",formattedDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //更新核查程序 bool BaseCommonApi::UpdateCheckProgramManage(CheckProgramManage check) { QSqlQuery query; query.prepare("UPDATE zd_verification_program_manage SET check_name =:check_name," " create_name = :create_name, remark = :remark, img_path =:img_path, standard_device_id =:standard_device_id," " verification_documents_id=:verification_documents_id, update_time=:update_time WHERE id = :id;"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":check_name", check.check_name); query.bindValue(":create_name", check.create_name); query.bindValue(":remark", check.remark); query.bindValue(":img_path", check.img_path); query.bindValue(":standard_device_id", check.standard_device_id); query.bindValue(":verification_documents_id", check.verification_documents_id); query.bindValue(":update_time",currentDateTime); query.bindValue(":id", check.id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertOrderSampleRelation query failed: " << query.lastError().text(); } return isSuccess; }; //删除核查程序 bool BaseCommonApi::DeleteCheckProgramManage(QString id) { QSqlQuery query; query.prepare("DELETE FROM zd_verification_program_manage WHERE id = :id"); query.bindValue(":id", id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertOrderSampleRelation query failed: " << query.lastError().text(); } return isSuccess; }; // 自动核查-根据 设备id查询核查件设备信息 CheckAndTestedDevice BaseCommonApi::getCheckAndTestedDeviceById(QString deviceId) { CheckAndTestedDevice result; QSqlQuery query; query.prepare("SELECT bei.id , bei.equipment_name , bei.model , bei.manufacture_no ," " bei.manufacturer FROM biz_equipment_info bei WHERE bei.id = :deviceId " " UNION ALL " " SELECT eei.id , eei.equipment_name , eei.model, eei.manufacture_no , eei.manufacturer " " FROM eqpt_equipment_info eei LEFT JOIN sys_dept ON sys_dept.ID = eei.dept_id WHERE eei.id = :deviceId"); query.bindValue(":deviceId", deviceId); bool isSuccess = query.exec(); if (isSuccess) { while (query.next()) { CheckAndTestedDevice device; device.id = query.value("id").toString(); device.equipment_name = query.value("equipment_name").toString(); device.model = query.value("model").toString(); device.manufacture_no = query.value("manufacture_no").toString(); device.manufacturer = query.value("manufacturer").toString(); result=device; } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //自动核查-结果保存-设备与装置-标准装置管理-核查数据管理0.02级活塞式压力计数据表 bool BaseCommonApi::InsertStandardCheckDatePistonGauge(StandardCheckDatePistonGauge gauge) { QSqlQuery query; query.prepare("INSERT INTO biz_equipment_standard_check_data_piston_gauge " " (id,data_id,unit,check_point,first_forward_stroke,first_reverse_stroke,second_forward_stroke,second_reverse_stroke,third_forward_stroke,third_reverse_stroke,average_value," "average_average_value,max_indicating_error,max_return_error,params,test_value_one,measure_value_one,test_value_two,measure_value_two,test_value_three,measure_value_three," "test_value_four,measure_value_four,test_value_five,measure_value_five,test_value_six,measure_value_six,maximum_error,create_time,update_time) " " VALUES " " (:id,:data_id,:unit,:check_point,:first_forward_stroke,:first_reverse_stroke,:second_forward_stroke,:second_reverse_stroke,:third_forward_stroke,:third_reverse_stroke,:average_value,:average_average_value,:max_indicating_error,:max_return_error,:params,:test_value_one,:measure_value_one,:test_value_two,:measure_value_two,:test_value_three,:measure_value_three,:test_value_four,:measure_value_four,:test_value_five,:measure_value_five,:test_value_six,:measure_value_six,:maximum_error,:create_time,:update_time) "); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id",gauge.id); query.bindValue(":data_id",gauge.data_id); query.bindValue(":unit",gauge.unit); query.bindValue(":check_point",gauge.check_point); query.bindValue(":first_forward_stroke",gauge.first_forward_stroke); query.bindValue(":first_reverse_stroke",gauge.first_reverse_stroke); query.bindValue(":second_forward_stroke",gauge.second_forward_stroke); query.bindValue(":second_reverse_stroke",gauge.second_reverse_stroke); query.bindValue(":third_forward_stroke",gauge.third_forward_stroke); query.bindValue(":third_reverse_stroke",gauge.third_reverse_stroke); query.bindValue(":average_value",gauge.average_value); query.bindValue(":average_average_value",gauge.average_average_value); query.bindValue(":max_indicating_error",gauge.max_indicating_error); query.bindValue(":max_return_error",gauge.max_return_error); query.bindValue(":params",gauge.params); query.bindValue(":test_value_one",gauge.test_value_one); query.bindValue(":measure_value_one",gauge.measure_value_one); query.bindValue(":test_value_two",gauge.test_value_two); query.bindValue(":measure_value_two",gauge.measure_value_two); query.bindValue(":test_value_three",gauge.test_value_three); query.bindValue(":measure_value_three",gauge.measure_value_three); query.bindValue(":test_value_four",gauge.test_value_four); query.bindValue(":measure_value_four",gauge.measure_value_four); query.bindValue(":test_value_five",gauge.test_value_five); query.bindValue(":measure_value_five",gauge.measure_value_five); query.bindValue(":test_value_six",gauge.test_value_six); query.bindValue(":measure_value_six",gauge.measure_value_six); query.bindValue(":maximum_error",gauge.maximum_error); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time",currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //自动核查-结果保存-基本信息 bool BaseCommonApi::InsertCheckDataManageBasicInfo(CheckDataManageBasicInfo baseInfo) { QSqlQuery query; query.prepare("INSERT INTO biz_equipment_standard_check_info " " (id,data_no,check_date,check_address,temperature,humidity,check_accord,stability_examine,standard_equipment_id" ",equipment_id,item_category_id,conclusion,remark,create_user_id,create_user_name,create_time,update_time) " " VALUES " " (:id,:data_no,:check_date,:check_address,:temperature,:humidity,:check_accord,:stability_examine,:standard_equipment_id," ":equipment_id,:item_category_id,:conclusion,:remark,:create_user_id,:create_user_name,:create_time,:update_time) "); QString checkData = baseInfo.check_date.toString("yyyy-MM-dd"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id",baseInfo.id); query.bindValue(":data_no",baseInfo.data_no); query.bindValue(":check_date",checkData); query.bindValue(":check_address",baseInfo.check_address); query.bindValue(":temperature",baseInfo.temperature); query.bindValue(":humidity",baseInfo.humidity); query.bindValue(":check_accord",baseInfo.check_accord); query.bindValue(":stability_examine",baseInfo.stability_examine); query.bindValue(":standard_equipment_id",baseInfo.standard_equipment_id); query.bindValue(":equipment_id",baseInfo.equipment_id); query.bindValue(":item_category_id",baseInfo.item_category_id); query.bindValue(":conclusion",baseInfo.conclusion); query.bindValue(":remark",baseInfo.remark); query.bindValue(":create_user_id",baseInfo.create_user_id); query.bindValue(":create_user_name",baseInfo.create_user_name); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time",currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //自动检定和自动核查 查询实验室及温湿度 QList<LocationInfo> BaseCommonApi::getLocationInfo() { QList<LocationInfo> result; QSqlQuery query; bool isSuccess = query.exec("SELECT * FROM env_location_info eli LEFT JOIN ( SELECT temperature, humidity, location_id AS locationId " " FROM env_environment_record_data ) ethd ON ethd.locationId = eli.id " " ORDER BY update_time DESC"); if (isSuccess) { while (query.next()) { LocationInfo info; info.id = query.value("id").toString(); info.location_no = query.value("location_no").toString(); info.location_name = query.value("location_name").toString(); info.location_position = query.value("location_position").toString(); info.create_user_id = query.value("create_user_id").toString(); info.create_user = query.value("create_user").toString(); info.create_time = query.value("create_time").toDateTime(); info.update_time = query.value("update_time").toDateTime(); info.location_lab = query.value("location_lab").toString(); info.temperature = query.value("temperature").toString(); info.humidity = query.value("humidity").toString(); info.location_id = query.value("location_id").toString(); result.append(info); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //查询出所有实验室地点,用于自动检定/核查 结果保存 地点下拉框查询 QList<LocationInfo> BaseCommonApi::getLocationInfoList() { QList<LocationInfo> result; QSqlQuery query; bool isSuccess = query.exec("SELECT * FROM env_location_info"); if (isSuccess) { while (query.next()) { LocationInfo info; info.id = query.value("id").toString(); info.location_no = query.value("location_no").toString(); info.location_name = query.value("location_name").toString(); info.location_position = query.value("location_position").toString(); info.create_user_id = query.value("create_user_id").toString(); info.create_user = query.value("create_user").toString(); info.create_time = query.value("create_time").toDateTime(); info.update_time = query.value("update_time").toDateTime(); info.location_lab = query.value("location_lab").toString(); result.append(info); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //查询所有用户,用于自动检定/核查 结果保存 QList<User> BaseCommonApi::getUser() { QList<User> result; QSqlQuery query; bool isSuccess = query.exec("SELECT * FROM sys_user"); if (isSuccess) { while (query.next()) { User user; user.ID = query.value("ID").toString(); user.NAME = query.value("NAME").toString(); user.DEPT_ID = query.value("DEPT_ID").toString(); result.append(user); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; // 设备与装置-标准装置管理-核查数据基本信息关联的核查标准设备,即给设备做核查的设备 bool BaseCommonApi::InsertStandCheckInfoEquipent(StandCheckInfoEquipent equiment) { QSqlQuery query; query.prepare("INSERT INTO biz_equipment_standard_check_info_equipment " " (id,check_equipment_id,data_id) " " VALUES " " (:id,:check_equipment_id,:data_id)"); query.bindValue(":id",equiment.id); query.bindValue(":check_equipment_id",equiment.check_equipment_id); query.bindValue(":data_id",equiment.data_id); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //自动核查--结果保存-设备与装置-标准装置管理-核查数据管理多功能校准源数据表 bool BaseCommonApi::InsertStandCheckDataCalibrator(StandCheckDataCalibrator calibrator) { QSqlQuery query; query.prepare("INSERT INTO biz_equipment_standard_check_data_calibrator " "(id, data_id, check_type, test_type, params, unit, frequency, frequency_unit, check_point, " "test_value_one_date, test_value_one, test_value_two_date, test_value_two, " "test_value_three_date, test_value_three, test_value_four_date, test_value_four, " "test_value_five_date, test_value_five, test_value_six_date, test_value_six, average_value, " "standard_deviation, relative_repeatability, urel, less_than, qualified, create_time, update_time) " "VALUES " "(:id, :data_id, :check_type, :test_type, :params, :unit, :frequency, :frequency_unit, :check_point, " ":test_value_one_date, :test_value_one, :test_value_two_date, :test_value_two, " ":test_value_three_date, :test_value_three, :test_value_four_date, :test_value_four, " ":test_value_five_date, :test_value_five, :test_value_six_date, :test_value_six, :average_value, " ":standard_deviation, :relative_repeatability, :urel, :less_than, :qualified, :create_time, :update_time)"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); // 绑定所有值 query.bindValue(":id", calibrator.id); query.bindValue(":data_id", calibrator.data_id); query.bindValue(":check_type", calibrator.check_type); query.bindValue(":test_type", calibrator.test_type); query.bindValue(":params", calibrator.params); query.bindValue(":unit", calibrator.unit); query.bindValue(":frequency", calibrator.frequency); query.bindValue(":frequency_unit", calibrator.frequency_unit); query.bindValue(":check_point", calibrator.check_point); query.bindValue(":test_value_one_date", calibrator.test_value_one_date.toString("yyyy-MM-dd")); query.bindValue(":test_value_one", calibrator.test_value_one); query.bindValue(":test_value_two_date", calibrator.test_value_two_date.toString("yyyy-MM-dd")); query.bindValue(":test_value_two", calibrator.test_value_two); query.bindValue(":test_value_three_date", calibrator.test_value_three_date.toString("yyyy-MM-dd")); query.bindValue(":test_value_three", calibrator.test_value_three); query.bindValue(":test_value_four_date", calibrator.test_value_four_date.toString("yyyy-MM-dd")); query.bindValue(":test_value_four", calibrator.test_value_four); query.bindValue(":test_value_five_date", calibrator.test_value_five_date.toString("yyyy-MM-dd")); query.bindValue(":test_value_five", calibrator.test_value_five); query.bindValue(":test_value_six_date", calibrator.test_value_six_date.toString("yyyy-MM-dd")); query.bindValue(":test_value_six", calibrator.test_value_six); query.bindValue(":average_value", calibrator.average_value); query.bindValue(":standard_deviation", calibrator.standard_deviation); query.bindValue(":relative_repeatability", calibrator.relative_repeatability); query.bindValue(":urel", calibrator.urel); query.bindValue(":less_than", calibrator.less_than); query.bindValue(":qualified", calibrator.qualified); query.bindValue(":create_time", currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "InsertTaskBasic query failed: " << query.lastError().text(); } return isSuccess; }; //根据用户ID查询 当前部门ID和部门名称全程 QList<Dept> BaseCommonApi::SelectDeptData(QString UserId) { UserId=temporary_user_id; QList<Dept> result; QSqlQuery query; bool isSuccess=query.exec(QString("SELECT dept.ID,dept.FULL_NAME FROM sys_dept as " "dept WHERE dept.CREATE_USER=%1").arg(UserId)); if (isSuccess) { while (query.next()) { Dept info; info.id = query.value("id").toString(); info.FULL_NAME = query.value("FULL_NAME").toString(); result.append(info); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //查询出所有委托方 QList<biz_resource_customer_info> BaseCommonApi::SelectCustomerData() { QList<biz_resource_customer_info> result; QSqlQuery query; bool isSuccess=query.exec("SELECT * FROM biz_resource_customer_info"); if (isSuccess) { while (query.next()) { biz_resource_customer_info info; info.id = query.value("id").toString(); info.customer_name = query.value("customer_name").toString(); result.append(info); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //计量检定业务-受检设备检定管理-检定数据管理检定数据历史修改记录[新增] bool BaseCommonApi::InsertModifyRecord(MeasureModifyRecord record) { QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_modify_record " " (id, data_id,source_system, modify_content, create_user_id, create_user_name, create_time,update_time ) " " VALUES (:id, :data_id, :source_system, :modify_content, :create_user_id, :create_user_name, :create_time, :update_time )"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); // 绑定所有值 query.bindValue(":id", record.id); query.bindValue(":data_id", record.data_id); query.bindValue(":source_system", record.source_system); query.bindValue(":modify_content", record.modify_content); query.bindValue(":create_user_id", record.create_user_id); query.bindValue(":create_user_name", record.create_user_name); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; }; //计量检定业务-受检设备检定管理-检定数据管理检定数据历史修改记录[查询] 参数 检定数据管理基础信息表id QList<MeasureModifyRecord> BaseCommonApi::getModifyRecord(QString data_id) { QList<MeasureModifyRecord> result; QSqlQuery query; query.prepare("SELECT * FROM biz_business_device_measure_modify_record WHERE data_id = :data_id "); query.bindValue(":data_id",data_id); if (query.exec()) { while (query.next()) { MeasureModifyRecord record; record.id = query.value("id").toString(); record.data_id = query.value("data_id").toString(); record.source_system = query.value("source_system").toString(); record.modify_content = query.value("modify_content").toString(); record.create_user_id = query.value("create_user_id").toString(); record.create_user_name = query.value("create_user_name").toString(); record.create_time = query.value("create_time").toDateTime(); record.update_time = query.value("update_time").toDateTime(); result.append(record); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录 bool BaseCommonApi::InsertCheckModifyRecord(MeasureModifyRecord record) { QSqlQuery query; query.prepare("INSERT INTO biz_equipment_standard_check_modify_record " " (id, data_id,source_system, modify_content, create_user_id, create_user_name, create_time,update_time ) " " VALUES (:id, :data_id, :source_system, :modify_content, :create_user_id, :create_user_name, :create_time, :update_time )"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); // 绑定所有值 query.bindValue(":id", record.id); query.bindValue(":data_id", record.data_id); query.bindValue(":source_system", record.source_system); query.bindValue(":modify_content", record.modify_content); query.bindValue(":create_user_id", record.create_user_id); query.bindValue(":create_user_name", record.create_user_name); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; }; //设备与装置-标准装置管理-核查数据管理核查数据历史修改记录[查询] 参数 检定数据管理基础信息表id QList<MeasureModifyRecord> BaseCommonApi::getMeasureModifyRecord(QString data_id) { QList<MeasureModifyRecord> result; QSqlQuery query; query.prepare("SELECT * FROM biz_equipment_standard_check_modify_record WHERE data_id = :data_id "); query.bindValue(":data_id",data_id); if (query.exec()) { while (query.next()) { MeasureModifyRecord record; record.id = query.value("id").toString(); record.data_id = query.value("data_id").toString(); record.source_system = query.value("source_system").toString(); record.modify_content = query.value("modify_content").toString(); record.create_user_id = query.value("create_user_id").toString(); record.create_user_name = query.value("create_user_name").toString(); record.create_time = query.value("create_time").toDateTime(); record.update_time = query.value("update_time").toDateTime(); result.append(record); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //保存log信息 //log文件 bool BaseCommonApi::SaveLogInfo(int pathIndex,QString Info) { // 获取应用程序的根目录 QString path = QCoreApplication::applicationDirPath(); //QString path ="C:\\AutoVerScheme"; switch (pathIndex) { case 0: path+="\\File\\sync_info.txt"; break; case 1: path+="\\File\\textlog.txt"; break; } QByteArray utf8Dat; QString Message=Info; QFile file(path); // 如果目录不存在,则创建目录 // 获取文件所在的目录 QDir logDir = QDir(QFileInfo(path).absolutePath()); if (!logDir.exists()) { if (!logDir.mkpath(".")) { qDebug() << "Failed to create log directory:" << logDir.absolutePath(); return false; } } if (!file.open(QIODevice::Append | QIODevice::Text)) { qDebug() << "无法打开文件:" << file.errorString(); QString str=file.errorString(); return false; } QTextStream out(&file); utf8Dat = Message.toUtf8(); out << QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss") << "\t" << utf8Dat << "\n"; file.close(); return true; }; //新增日志表数据 bool BaseCommonApi::InsertzdLog(zdLog log) { log.userid=temporary_user_id; QSqlQuery query; query.prepare("INSERT INTO zd_log(id,is_sync,sync_time,remark,userid,type,create_time,update_time) " " VALUES(:id,:is_sync,:sync_time,:remark,:userid,:type,:create_time,:update_time) "); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); // 绑定所有值 query.bindValue(":id", log.id); query.bindValue(":is_sync", log.is_sync); query.bindValue(":sync_time", log.sync_time.toString("yyyy-MM-dd HH:mm:ss")); query.bindValue(":remark", log.remark); query.bindValue(":userid", log.userid); query.bindValue(":type", log.type); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; }; //根据userid查询日志表数据 QList<zdLog> BaseCommonApi::getzdLogByuserId(QString userid) { userid=temporary_user_id; QList<zdLog> result; QSqlQuery query; query.prepare("SELECT * FROM zd_log WHERE userid = :userid "); query.bindValue(":userid",userid); if (query.exec()) { while (query.next()) { zdLog log; log.id = query.value("id").toString(); log.is_sync = query.value("is_sync").toString(); log.sync_time = query.value("sync_time").toDateTime(); log.remark = query.value("remark").toString(); log.type = query.value("type").toString(); log.create_time = query.value("create_time").toDateTime(); log.update_time = query.value("update_time").toDateTime(); result.append(log); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //新增数据同步表 bool BaseCommonApi::InsertzdDataSync(zdDataSync data) { data.userid=temporary_user_id; QSqlQuery query; query.prepare("INSERT INTO zd_data_sync(id,type,ssql,userid,remark,create_time,update_time,log_sync_id,sync_type) " " VALUES " " (:id,:type,:ssql,:userid,:remark,:create_time,:update_time,:log_sync_id,:sync_type) "); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); // 绑定所有值 query.bindValue(":id", data.id); query.bindValue(":type", data.type); query.bindValue(":ssql", data.ssql); query.bindValue(":remark", data.remark); query.bindValue(":userid", data.userid); query.bindValue(":log_sync_id", data.log_sync_id); query.bindValue(":sync_type", data.sync_type); query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; }; //根据userid查询数据同步表 QList<zdDataSync> BaseCommonApi::getzdDataSyncByuserId(QString log_sync_id) { QList<zdDataSync> result; QSqlQuery query; query.prepare("SELECT * FROM zd_data_sync WHERE log_sync_id= :log_sync_id "); query.bindValue(":log_sync_id",log_sync_id); if (query.exec()) { while (query.next()) { zdDataSync data; data.id = query.value("id").toString(); data.type = query.value("type").toString(); data.ssql = query.value("ssql").toString(); data.remark = query.value("remark").toString(); data.userid = query.value("userid").toString(); data.log_sync_id = query.value("log_sync_id").toString(); data.sync_type = query.value("sync_type").toString(); data.create_time = query.value("create_time").toDateTime(); data.update_time = query.value("update_time").toDateTime(); result.append(data); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } return result; }; //【查询】检定项0.02活塞式压力计数据(包含字典的字段都存为字典value) QMap<QString, QList<QStringList>> BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(QString itemCatoryName,QString itemId,QMap<QString, QStringList> *headList) { QMap<QString, QList<QStringList>> DataMapList; QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT bbdmidpg.*,bbdmii.appearance_function_check,bbdmicp.indication_error,bbdmicp.measure_medium, " " bbdmicp.division,bbdmicp.deviation_and_switching,bbdmicp.display_value_one,bbdmicp.display_value_two,bbdmicp.display_value_three, " " bbdmicp.insulation_resistance,bbdmicp.appearance,bbdmicp.tightness,bbdmicp.pointer_deflection_stability," "bbdmidpg.create_time,bbdmidpg.update_time " " FROM biz_business_device_measure_item_data_piston_gauge bbdmidpg " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidpg.item_id " " JOIN biz_business_device_measure_item_config_piston_gauge bbdmicp ON bbdmicp.item_id = bbdmidpg.item_id " " WHERE bbdmidpg.item_id = :itemId ORDER BY bbdmidpg.update_time DESC"); // 将参数绑定到占位符 query.bindValue(":itemId", itemId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("item_id").toString()); //检定项目ID result.append(query.value("indicating_value").toString());//标准器示值 result.append(query.value("return_error").toString());//回程误差允许值 result.append(query.value("friction_error").toString());//轻敲位移允许值 result.append(query.value("indicating_error").toString());//示值误差允许值 result.append(query.value("zero_position").toString());//零位是否带止销 result.append(query.value("measure_medium").toString());//检定介质(字典value) result.append(query.value("accuracy_class").toString());//准确度等级 result.append(query.value("maximum_error").toString());//最大允许误差 result.append(query.value("theoretical_output_value").toString());//理论输出值 result.append(query.value("theoretical_output_value_unit").toString());//理论输出值单位 result.append(query.value("appearance_function_check").toString());//外观及功能性检查(1/0) result.append(query.value("indication_error").toString());//示值误差、回程误差、轻敲位移 result.append(query.value("measure_medium").toString());//检定介质(字典value) result.append(query.value("division").toString());//分度值的五分之一 result.append(query.value("deviation_and_switching").toString());//设定点偏差及切换差 result.append(query.value("display_value_one").toString());//设定标准器示值1 result.append(query.value("display_value_two").toString());//设定标准器示值2 result.append(query.value("display_value_three").toString());//设定标准器示值3 result.append(query.value("insulation_resistance").toString());//绝缘电阻 result.append(query.value("appearance").toString());//外观 result.append(query.value("tightness").toString());//密封性 result.append(query.value("pointer_deflection_stability").toString());//指针偏转平稳性 result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } // *headList <<"序号"<<"检定项id"<<"标准器示值"<<"回程误差允许值"<<"轻敲位移允许值"<<"示值误差允许值"<<"零位是否带止销" // <<"检定介质"<<"准确度等级"<<"最大允许误差"<<"理论输出值"<<"理论输出值单位"<<"外观及功能性检查(1/0)"<<"示值误差、回程误差、轻敲位移" // <<"检定介质(字典value)"<<"分度值的五分之一"<<"创建时间"<<"更新时间"; //进行检定项目列头转换 DataMapList= GetDataReturnItemListByPistonGauge(itemCatoryName,resultData,DataMapList,headList); return DataMapList; }; //0.02压力表头 QMap<QString, QList<QStringList>> BaseCommonApi::GetDataReturnItemListByPistonGauge(QString itemCatoryName,QList<QStringList> ResultData,QMap<QString, QList<QStringList>> DataMapList,QMap<QString, QStringList> *HeadMapList) { QList<QStringList> IndicationErrorList; if(itemCatoryName.contains("一般压力表")){ for(const QStringList &row : ResultData) { QString VerificationItem=NULL; if (!row.isEmpty() && row[13] =="1") { VerificationItem = "示值误差"; //添加列头 QStringList head; head <<"序号"<<"标准器示值"<<"轻敲前示值-正"<<"轻敲前示值-反"<<"轻敲后示值-正" <<"轻敲后示值-反"<<"轻敲前后变动量-正"<<"轻敲前后变动量-反" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; // Data.append(row[12]); //外观及功能性检查 // Data.append(row[13]); //示值误差、回程误差、轻敲位移 // Data.append(row[11]); //理论输出值单位 // Data.append(row[14]); //检定介质 // Data.append(row[15]); //分度值的五分之一 Data.append(row[0]); //ID Data.append(row[2]); //标准器示值 Data.append(row[2]);//轻敲前示值-正 Data.append(row[2]);//"轻敲前示值-反" Data.append(row[2]);//轻敲后示值-正 Data.append(row[2]);//轻敲后示值-反 Data.append("0");//轻敲前后变动量-正 Data.append("0");//轻敲前后变动量-反 IndicationErrorList.append(Data); } } } if(IndicationErrorList.count()!=0){ DataMapList.insert("示值误差",IndicationErrorList); }; return DataMapList; }; //一般压力表 查询生成结果处理界面的头和数据 QMap<QString, QList<QStringList>> BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate(QString itemCatoryName,QString itemId,QMap<QString, QStringList> *headList) { QMap<QString, QList<QStringList>> DataMapList; QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT bbdmidpg.*,bbdmii.appearance_function_check,bbdmicp.indication_error,bbdmicp.measure_medium, " " bbdmicp.division,bbdmicp.deviation_and_switching,bbdmicp.display_value_one,bbdmicp.display_value_two,bbdmicp.display_value_three, " " bbdmicp.insulation_resistance,bbdmicp.appearance,bbdmicp.tightness,bbdmicp.pointer_deflection_stability," " bbdmicp.accuracy_level_lower,bbdmicp.accuracy_level_upper" " FROM biz_business_device_measure_item_data_piston_gauge bbdmidpg " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidpg.item_id " " JOIN biz_business_device_measure_item_config_piston_gauge bbdmicp ON bbdmicp.item_id = bbdmidpg.item_id " " WHERE bbdmidpg.item_id = :itemId ORDER BY bbdmidpg.update_time DESC"); // 将参数绑定到占位符 query.bindValue(":itemId", itemId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("item_id").toString()); //检定项目ID result.append(query.value("indicating_value").toString());//标准器示值 result.append(query.value("return_error").toString());//回程误差允许值 result.append(query.value("friction_error").toString());//轻敲位移允许值 result.append(query.value("indicating_error").toString());//示值误差允许值 result.append(query.value("zero_position").toString());//零位是否带止销 result.append(query.value("measure_medium").toString());//检定介质(字典value) result.append(query.value("accuracy_class").toString());//准确度等级 result.append(query.value("maximum_error").toString());//最大允许误差 result.append(query.value("theoretical_output_value").toString());//理论输出值 result.append(query.value("theoretical_output_value_unit").toString());//理论输出值单位 result.append(query.value("appearance_function_check").toString());//外观及功能性检查(1/0) result.append(query.value("indication_error").toString());//示值误差、回程误差、轻敲位移 result.append(query.value("measure_medium").toString());//检定介质(字典value) result.append(query.value("division").toString());//分度值的五分之一 result.append(query.value("deviation_and_switching").toString());//设定点偏差及切换差 result.append(query.value("display_value_one").toString());//设定标准器示值1 result.append(query.value("display_value_two").toString());//设定标准器示值2 result.append(query.value("display_value_three").toString());//设定标准器示值3 result.append(query.value("insulation_resistance").toString());//绝缘电阻 result.append(query.value("appearance").toString());//外观 result.append(query.value("tightness").toString());//密封性 result.append(query.value("pointer_deflection_stability").toString());//指针偏转平稳性 result.append(query.value("accuracy_level_lower").toString());//准确度等级(量程上限90%以下) result.append(query.value("accuracy_level_upper").toString());//准确度等级(量程上限90%以上) result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } // *headList <<"序号"<<"检定项id"<<"标准器示值"<<"回程误差允许值"<<"轻敲位移允许值"<<"示值误差允许值"<<"零位是否带止销" // <<"检定介质"<<"准确度等级"<<"最大允许误差"<<"理论输出值"<<"理论输出值单位"<<"外观及功能性检查(1/0)"<<"示值误差、回程误差、轻敲位移" // <<"检定介质(字典value)"<<"分度值的五分之一"<<"创建时间"<<"更新时间"; //进行检定项目列头转换 DataMapList= GetDataReturnItemListByPistonGaugeResult(itemCatoryName,resultData,DataMapList,headList); return DataMapList; }; QMap<QString, QList<QStringList>> BaseCommonApi::GetDataReturnItemListByPistonGaugeResult(QString itemCatoryName,QList<QStringList> ResultData,QMap<QString, QList<QStringList>> DataMapList,QMap<QString, QStringList> *HeadMapList) { QList<QStringList> IndicationErrorList; if(itemCatoryName.contains("一般压力表")){ for(const QStringList &row : ResultData) { QString VerificationItem=NULL; if (!row.isEmpty()) { VerificationItem = "项目"; //添加列头 QStringList head; head <<"项目-量程上限90%以下"<<"项目-量程上限90%以上"<<"示值误差允许值"<<"示值误差最大值"<<"轻敲位移允许值"<<"轻敲位移最大值" <<"回程误差允许值"<<"回程误差最大值"<<"结果"<<"输出备注"; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[24]); //量程上限90%以下 Data.append(row[25]); //量程上限90%及以上 Data.append(row[5]);//示值误差允许值 Data.append("");//示值误差最大值 Data.append(row[4]);//轻敲位移允许值 Data.append("");//轻敲位移最大值 Data.append(row[3]);//回程误差允许值 Data.append("");//回程误差最大值 Data.append("");//结果 Data.append("");//输出备注 IndicationErrorList.append(Data); } } } if(IndicationErrorList.count()!=0){ DataMapList.insert("项目",IndicationErrorList); }; return DataMapList; } //测试界面 外观及功能性检查和检定数据头 //QMap<QString,QList<QMap<QString,QString>>> ; //自动检定数据结果保存 参数1:装置字典1,2,3 参数2:BaseClass父类, 子类赋值 bool BaseCommonApi::SearchSelectTable(QString id, BaseClass *object) { bool result = false; // 初始化为 false 或根据需要初始化为其他值 switch (id.toInt()) { case 1: { //多功能校准源 SaveDeviceMeasureCalibrator *recordCal = dynamic_cast<SaveDeviceMeasureCalibrator *>(object); if (recordCal != nullptr) { result = BaseCommonApi::InsertVerMultiCal(*recordCal); // 注意这里使用recordCal而不是recordGauge } else { // 处理转换失败的情况 result = false; } break; } case 2: { //直流稳压电源 bizBusinessDeviceMeasureDataDcPower *dcPower = dynamic_cast<bizBusinessDeviceMeasureDataDcPower *>(object); if (dcPower != nullptr) { result = BaseCommonApi::InsertbizBusinessDeviceMeasureDataDcPower(*dcPower); } else { // 处理转换失败的情况 result = false; } break; } case 4: { //0.02压力活塞计 DeviceMeasureDataPistonGauge *recordGauge = dynamic_cast<DeviceMeasureDataPistonGauge *>(object); if (recordGauge != nullptr) { result = BaseCommonApi::InsertDeviceMeasureDataPistonGauge(*recordGauge); } else { // 处理转换失败的情况 result = false; } break; } // 可能还有其他的case default: // 处理未知或未处理的id result = false; break; } return result; // 返回结果 }; //【结果保存】压力 bool BaseCommonApi::InsertDeviceMeasureDataPistonGauge(DeviceMeasureDataPistonGauge gauge) { QSqlQuery query; query.prepare("INSERT INTO biz_business_device_measure_data_piston_gauge " "(id, data_id, data_type, data_category, indicating_value, " "before_friction_forward_stroke, before_friction_reverse_stroke, " "after_friction_forward_stroke, after_friction_reverse_stroke, " "variation_forward_stroke, variation_reverse_stroke, " "theoretical_output_value, first_forward_stroke, first_reverse_stroke, " "second_forward_stroke, second_reverse_stroke, third_forward_stroke, " "third_reverse_stroke, indicating_error, return_error, average_forward_stroke, " "average_reverse_stroke, average_value, average_return_error, item, " "max_indicating_error, max_return_error, max_friction_error, maximum_error_absolute, " "forward_stroke_switch_value, reverse_stroke_switch_value, point_deviation, " "different_gap, max_point_deviation, allow_point_deviation, max_different_gap, " "allow_different_gap, zero_drift_one, zero_drift_two, zero_drift_three, " "zero_drift_four, zero_drift_five, intercept_a, slope_b, sensitivity_b, " "repeatability_r, hysteresis_h, linear_l, basic_error_a, periodic_stability_s_b, " "create_time, update_time) " "VALUES (:id, :data_id, :data_type, :data_category, :indicating_value, " ":before_friction_forward_stroke, :before_friction_reverse_stroke, " ":after_friction_forward_stroke, :after_friction_reverse_stroke, " ":variation_forward_stroke, :variation_reverse_stroke, " ":theoretical_output_value, :first_forward_stroke, :first_reverse_stroke, " ":second_forward_stroke, :second_reverse_stroke, :third_forward_stroke, " ":third_reverse_stroke, :indicating_error, :return_error, :average_forward_stroke, " ":average_reverse_stroke, :average_value, :average_return_error, :item, " ":max_indicating_error, :max_return_error, :max_friction_error, :maximum_error_absolute, " ":forward_stroke_switch_value, :reverse_stroke_switch_value, :point_deviation, " ":different_gap, :max_point_deviation, :allow_point_deviation, :max_different_gap, " ":allow_different_gap, :zero_drift_one, :zero_drift_two, :zero_drift_three, " ":zero_drift_four, :zero_drift_five, :intercept_a, :slope_b, :sensitivity_b, " ":repeatability_r, :hysteresis_h, :linear_l, :basic_error_a, :periodic_stability_s_b, " ":create_time, :update_time)"); //// QString formattedUpdateDateTime = measureCalibrator.create_time.toString("yyyy-MM-dd HH:mm:ss"); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", gauge.id); query.bindValue(":data_id", gauge.data_id); query.bindValue(":data_type", gauge.data_type); query.bindValue(":data_category", gauge.data_category); query.bindValue(":indicating_value", gauge.indicating_value); query.bindValue(":before_friction_forward_stroke", gauge.before_friction_forward_stroke); query.bindValue(":before_friction_reverse_stroke", gauge.before_friction_reverse_stroke); query.bindValue(":after_friction_forward_stroke", gauge.after_friction_forward_stroke); query.bindValue(":after_friction_reverse_stroke", gauge.after_friction_reverse_stroke); query.bindValue(":variation_forward_stroke", gauge.variation_forward_stroke); query.bindValue(":variation_reverse_stroke", gauge.variation_reverse_stroke); query.bindValue(":theoretical_output_value", gauge.theoretical_output_value); query.bindValue(":first_forward_stroke", gauge.first_forward_stroke); query.bindValue(":first_reverse_stroke", gauge.first_reverse_stroke); query.bindValue(":second_forward_stroke", gauge.second_forward_stroke); query.bindValue(":second_reverse_stroke", gauge.second_reverse_stroke); query.bindValue(":third_forward_stroke", gauge.third_forward_stroke); query.bindValue(":third_reverse_stroke", gauge.third_reverse_stroke); query.bindValue(":indicating_error", gauge.indicating_error); query.bindValue(":return_error", gauge.return_error); query.bindValue(":average_forward_stroke", gauge.average_forward_stroke); query.bindValue(":average_reverse_stroke", gauge.average_reverse_stroke); query.bindValue(":average_value", gauge.average_value); query.bindValue(":average_return_error", gauge.average_return_error); query.bindValue(":item", gauge.item); query.bindValue(":max_indicating_error", gauge.max_indicating_error); query.bindValue(":max_return_error", gauge.max_return_error); query.bindValue(":max_friction_error", gauge.max_friction_error); query.bindValue(":maximum_error_absolute", gauge.maximum_error_absolute); query.bindValue(":forward_stroke_switch_value", gauge.forward_stroke_switch_value); query.bindValue(":reverse_stroke_switch_value", gauge.reverse_stroke_switch_value); query.bindValue(":point_deviation", gauge.point_deviation); query.bindValue(":different_gap", gauge.different_gap); query.bindValue(":max_point_deviation", gauge.max_point_deviation); query.bindValue(":allow_point_deviation", gauge.allow_point_deviation); query.bindValue(":max_different_gap", gauge.max_different_gap); query.bindValue(":allow_different_gap", gauge.allow_different_gap); query.bindValue(":zero_drift_one", gauge.zero_drift_one); query.bindValue(":zero_drift_two", gauge.zero_drift_two); query.bindValue(":zero_drift_three", gauge.zero_drift_three); query.bindValue(":zero_drift_four", gauge.zero_drift_four); query.bindValue(":zero_drift_five", gauge.zero_drift_five); query.bindValue(":intercept_a", gauge.intercept_a); query.bindValue(":slope_b", gauge.slope_b); query.bindValue(":sensitivity_b", gauge.sensitivity_b); query.bindValue(":repeatability_r", gauge.repeatability_r); query.bindValue(":hysteresis_h", gauge.hysteresis_h); query.bindValue(":linear_l", gauge.linear_l); query.bindValue(":basic_error_a", gauge.basic_error_a); query.bindValue(":periodic_stability_s_b", gauge.periodic_stability_s_b); query.bindValue(":create_time", currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "Insert data failed: " << query.lastError().text(); } return isSuccess; }; //【查询】 0.02压力结果表数据 QList<QStringList> BaseCommonApi::getDeviceMeasureDataPistonGauge(QString data_id,QStringList *HeadList) { QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT * FROM biz_business_device_measure_data_piston_gauge WHERE data_id= :data_id "); // 将参数绑定到占位符 query.bindValue(":data_id", data_id); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("data_id").toString()); //检定数据管理基础信息表id result.append(query.value("data_type").toString());//检定数据类型(电接点一般压力表一个检定数据中区分两个表格)(字典code) result.append(query.value("data_category").toString());//检定数据类别(1检定数据,2计算结果数据) result.append(query.value("indicating_value").toString());//标准器示值 result.append(query.value("before_friction_forward_stroke").toString());//轻敲前被检设备示值-正行程 result.append(query.value("before_friction_reverse_stroke").toString());//轻敲前被检设备示值-反行程 result.append(query.value("after_friction_forward_stroke").toString());//轻敲后被检设备示值-正行程 result.append(query.value("after_friction_reverse_stroke").toString());//轻敲后被检设备示值-反行程 result.append(query.value("variation_forward_stroke").toString());//轻敲前后变动量-正行程 result.append(query.value("variation_reverse_stroke").toString());//轻敲前后变动量-反行程 result.append(query.value("theoretical_output_value").toString());//理论输出值 result.append(query.value("first_forward_stroke").toString());//第一次正行程 result.append(query.value("first_reverse_stroke").toString());//第一次反行程 result.append(query.value("second_forward_stroke").toString());//第二次正行程 result.append(query.value("second_reverse_stroke").toString());//第二次反行程 result.append(query.value("third_forward_stroke").toString());//第三次正行程 result.append(query.value("third_reverse_stroke").toString());//第三次反行程 result.append(query.value("indicating_error").toString());//示值误差 result.append(query.value("return_error").toString());//回程误差 result.append(query.value("average_forward_stroke").toString());//正行程平均值 result.append(query.value("average_reverse_stroke").toString());//反行程平均值 result.append(query.value("average_value").toString());//平均值 result.append(query.value("average_return_error").toString());//回程误差平均值 result.append(query.value("item").toString());//项目(结果表) result.append(query.value("max_indicating_error").toString());//示值误差最大值(结果表) result.append(query.value("max_return_error").toString());//回程误差最大值(结果表) result.append(query.value("max_friction_error").toString());//轻敲位移最大值(结果表) result.append(query.value("maximum_error_absolute").toString());//最大允许误差绝对值 result.append(query.value("forward_stroke_switch_value").toString());//正行程切换值(电接点一般压力表) result.append(query.value("reverse_stroke_switch_value").toString());//反行程切换值(电接点一般压力表) result.append(query.value("point_deviation").toString());//设定点偏差(电接点一般压力表) result.append(query.value("different_gap").toString());//切换差(电接点一般压力表) result.append(query.value("max_point_deviation").toString());//最大设定点偏差绝对值(结果表)(电接点一般压力表的第2个结果表) result.append(query.value("allow_point_deviation").toString());//允许设定点偏差绝对值(结果表)(电接点一般压力表的第2个结果表) result.append(query.value("max_different_gap").toString());//最大切换差(结果表)(电接点一般压力表的第2个结果表) result.append(query.value("allow_different_gap").toString());//允许切换差(结果表)(电接点一般压力表的第2个结果表) result.append(query.value("zero_drift_one").toString());//零位漂移(数字压力计手工输入的第1个示值) result.append(query.value("zero_drift_two").toString());//零位漂移(数字压力计手工输入的第2个示值) result.append(query.value("zero_drift_three").toString());//零位漂移(数字压力计手工输入的第3个示值) result.append(query.value("zero_drift_four").toString());//零位漂移(数字压力计手工输入的第4个示值) result.append(query.value("zero_drift_five").toString());//零位漂移(数字压力计手工输入的第5个示值) result.append(query.value("intercept_a").toString());//截距a(结果表) result.append(query.value("slope_b").toString());//斜率b(结果表) result.append(query.value("sensitivity_b").toString());//灵敏度b(结果表) result.append(query.value("repeatability_r").toString());//重复性ξR(结果表) result.append(query.value("hysteresis_h").toString());//迟滞ξH(结果表) result.append(query.value("linear_l").toString());//线性ξL(结果表) result.append(query.value("basic_error_a").toString());//基本误差A(结果表) result.append(query.value("periodic_stability_s_b").toString());//周期稳定性Sb(结果表) result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } *HeadList <<"序号"<<"检定数据管理基础信息表id"<<"检定数据类型"<<"标准器示值"<<"轻敲前被检设备示值-正行程"<<"轻敲前被检设备示值-反行程"<<"轻敲后被检设备示值-正行程" <<"轻敲后被检设备示值-反行程"<<"理论输出值"<<"第一次正行程"<<"第一次反行程"<<"第二次正行程"<<"第二次反行程"<<"第三次正行程" <<"第三次反行程"<<"示值误差"<<"回程误差"<<"正行程平均值"<<"反行程平均值"<<"平均值"<<"回程误差平均值"<<"项目(结果表)"<<"示值误差最大值(结果表)" <<"轻敲位移最大值(结果表)"<<"最大允许误差绝对值"<<"正行程切换值(电接点一般压力表)"<<"反行程切换值(电接点一般压力表)" <<"设定点偏差(电接点一般压力表)"<<"切换差(电接点一般压力表)"<<"最大设定点偏差绝对值(结果表)(电接点一般压力表的第2个结果表)"<<"允许设定点偏差绝对值(结果表)(电接点一般压力表的第2个结果表)" <<"最大切换差(结果表)(电接点一般压力表的第2个结果表)"<<"允许切换差(结果表)(电接点一般压力表的第2个结果表)"<<"零位漂移(数字压力计手工输入的第1个示值)" <<"零位漂移(数字压力计手工输入的第2个示值)"<<"零位漂移(数字压力计手工输入的第3个示值)"<<"零位漂移(数字压力计手工输入的第4个示值)" <<"零位漂移(数字压力计手工输入的第5个示值)"<<"截距a(结果表)"<<"斜率b(结果表)"<<"灵敏度b(结果表)"<<"重复性ξR(结果表)"<<"迟滞ξH(结果表)" <<"线性ξL(结果表)"<<"基本误差A(结果表)"<<"周期稳定性Sb(结果表)"<<"创建日期"<<"更新日期"; return resultData; }; //检定数据管理-检定结果信息-直流稳压电源 QList<QStringList> BaseCommonApi::getbizBusinessDeviceMeasureDataDcPower(QString data_id,QStringList *HeadList) { QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT * FROM biz_business_device_measure_data_dc_power WHERE data_id= :data_id "); // 将参数绑定到占位符 query.bindValue(":data_id", data_id); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("data_id").toString());//检定数据管理基础信息表id result.append(query.value("data_type").toString());//检定数据类型(一个检定数据中区分多个表格)(字典code) result.append(query.value("data_type_type").toString());//检定项数据类型的类型(一个检定项中一个表格切换的类型)(字典value) result.append(query.value("output_channel").toString());//输出通道 result.append(query.value("unit").toString());//单位 result.append(query.value("voltage_regulator_output_value").toString());//调压器输出值 result.append(query.value("voltage_max_difference").toString());//被检电源输出电压最大差值 result.append(query.value("technical_index").toString());//被检电源技术指标/仪器技术指标 result.append(query.value("technical_index_symbol").toString());//被检电源技术指标/仪器技术指标前符号 result.append(query.value("voltage_regulation").toString());//电源电压调整率 result.append(query.value("load_situation").toString());//负载情况 result.append(query.value("voltage_output_value").toString());//被检电源输出电压值 result.append(query.value("voltage_difference").toString());//电压差值 result.append(query.value("load_regulation").toString());//负载调整率 result.append(query.value("measure_indication_value").toString());//被检表示值 result.append(query.value("standard_value").toString());//标准值 result.append(query.value("maximum_error").toString());//最大允许误差 result.append(query.value("maximum_error_unit").toString());//最大允许误差单位 result.append(query.value("absolute_error").toString());//绝对误差 result.append(query.value("resolution").toString());//分辨力 result.append(query.value("standard_voltage_value").toString());//标准电压值 result.append(query.value("standard_voltage_value_unit").toString());//标准电压值单位 result.append(query.value("standard_resistance_value").toString());//标准电阻值 result.append(query.value("standard_resistance_value_unit").toString());//标准电阻值单位 result.append(query.value("ripple_voltage").toString());//纹波电压 result.append(query.value("output_voltage_max_change").toString());//输出电压最大变化值 result.append(query.value("short_term_stability").toString());//短期稳定性 result.append(query.value("exceed_mark").toString());//超出范围标*(1/0) result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); } } //待修改 *HeadList <<"序号"; } //【查询】检定项直流稳压电源 QMap<QString,QList<QStringList>> BaseCommonApi::getDeviceMeasureItemDataDcPower(QString itemCatoryName,QString itemId,QMap<QString, QStringList> *headList){ QMap<QString, QList<QStringList>> DataMapList; QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare( " SELECT bbdmiddp.*,bbdmii.appearance_function_check,bbdmii.voltage_regulation,bbdmii.load_regulation," " bbdmii.voltage_represent_error,bbdmii.current_represent_error_direct,bbdmii.current_represent_error_indirect," " bbdmii.ripple_voltage,bbdmii.voltage_output_stability " " FROM biz_business_device_measure_item_data_dc_power bbdmiddp " " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmiddp.item_id " " WHERE bbdmiddp.item_id = :itemId " " ORDER BY bbdmiddp.update_time DESC "); // 将参数绑定到占位符 query.bindValue(":itemId", itemId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("item_id").toString()); //检定项目ID result.append(query.value("data_type").toString());//检定项数据类型(一个检定项中区分两个表格)(字典code) result.append(query.value("data_type_type").toString());//检定项数据类型的类型(一个检定项中一个表格切换的类型)(字典code) result.append(query.value("output_channel").toString());//输出通道 result.append(query.value("unit").toString());//单位 result.append(query.value("voltage_regulator_output_value").toString());//调压器输出值 result.append(query.value("technical_index").toString());//被检电源技术指标/仪器技术指标 result.append(query.value("technical_index_symbol").toString());//被检电源技术指标/仪器技术指标前符号 result.append(query.value("load_situation").toString());//负载情况 result.append(query.value("measure_indication_value").toString());//被检表示值 result.append(query.value("full_scale_value").toString());//指针式仪表满量程值 result.append(query.value("standard_resistance_value").toString());//标准电阻值 result.append(query.value("standard_resistance_value_unit").toString());//标准电阻值单位 result.append(query.value("error_param_a").toString());//误差参数a result.append(query.value("accuracy_a").toString());//准确度a result.append(query.value("error_param_b").toString());//误差参数b result.append(query.value("maximum_error").toString());//最大允许误差 result.append(query.value("resolution").toString());//分辨力 result.append(query.value("appearance_function_check").toString());//外观及功能性检查(1/0) result.append(query.value("voltage_regulation").toString());//电源电压调整率(1/0)(直流稳压电源) result.append(query.value("load_regulation").toString());//负载调整率(1/0)(直流稳压电源) result.append(query.value("voltage_represent_error").toString());//电压表示值误差(1/0)(直流稳压电源) result.append(query.value("current_represent_error_direct").toString());//电流表示值误差(直接测量)(1/0)(直流稳压电源) result.append(query.value("current_represent_error_indirect").toString());//电流表示值误差(间接测量)(1/0)(直流稳压电源) result.append(query.value("ripple_voltage").toString());//纹波电压(1/0)(直流稳压电源) result.append(query.value("voltage_output_stability").toString());//输出电压短期稳定性(1/0)(直流稳压电源) result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } //进行检定项目列头转换 DataMapList= GetDataReturnItemListByDcPower(itemCatoryName,resultData,DataMapList,headList); return DataMapList; }; //直流稳压电源 检定项头 QMap<QString, QList<QStringList>> BaseCommonApi::GetDataReturnItemListByDcPower(QString itemCatoryName,QList<QStringList> ResultData,QMap<QString, QList<QStringList>> DataMapList,QMap<QString, QStringList> *HeadMapList){ QList<QStringList> VpsAdjustmentRateList; QList<QStringList> LoadAdjustmentRateList; QList<QStringList> VoltageIndicationErrorList; QList<QStringList> CurrentIndicationErrorDirectList; QList<QStringList> CurrentIndicationErrorIndirectList; QList<QStringList> RippleVoltageList; QList<QStringList> ShortTermStabilityVoltageList; if(itemCatoryName.contains("直流稳压电源")){ for(const QStringList &row : ResultData) { QString VerificationItem=NULL; if (!row.isEmpty() && row[20]=="1" && row[2] == "1") { VerificationItem = "电源电压调整率"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"调压器输出值" <<"被检电源输出电压值"<<"被检电源输出电压最大差值"<<"被检电源技术指标"<<"电源电压调整率" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append(row[6]);//调压器输出值 Data.append("");//被检电源输出电压值 Data.append("");//被检电源输出电压最大差值 公式 Data.append(row[8] + row[7]);//被检电源技术指标 Data.append("");//电源电压调整率 公式 VpsAdjustmentRateList.append(Data); }else if(!row.isEmpty() && row[21]=="1" && row[2] =="2"){ VerificationItem = "负载调整率"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"负载情况" <<"被检电源输出电压值"<<"电压差值"<<"被检电源技术指标"<<"负载调整率" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append(row[9]);//负载情况 Data.append("");//被检电源输出电压值 Data.append("");//电压差值 Data.append(row[8] + row[7]);//被检电源技术指标 Data.append("");//负载调整率 LoadAdjustmentRateList.append(Data); }else if(!row.isEmpty() && row[22]=="1" && row[2] =="3"){ VerificationItem = "电压示值误差"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"被检表示值" <<"标准值"<<"最大允许误差"<<"绝对误差" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append(row[10]);//被检表示值 Data.append("");//标准值 Data.append(row[17]);//最大允许误差 Data.append("");//绝对误差 VoltageIndicationErrorList.append(Data); }else if(!row.isEmpty() && row[23]=="1" && row[2] =="4"){ VerificationItem = "电流示值误差(直接测量)"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"被检表示值" <<"标准值"<<"最大允许误差"<<"绝对误差" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append(row[10]);//被检表示值 Data.append("");//标准值 Data.append(row[17]);//最大允许误差 Data.append("");//绝对误差 CurrentIndicationErrorDirectList.append(Data); }else if(!row.isEmpty() && row[24]=="1" && row[2] =="5"){ VerificationItem = "电流示值误差(间接测量)"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"被检表示值" <<"标准电压值"<<"标准电阻值"<<"标准值"<<"最大允许误差"<<"绝对误差" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append(row[10]);//被检表示值 Data.append("");//标准电压值 Data.append(row[12]);//标准电阻值 Data.append("");//标准值 Data.append(row[17]);//最大允许误差 Data.append("");//绝对误差 CurrentIndicationErrorIndirectList.append(Data); }else if(!row.isEmpty() && row[25]=="1" && row[2] =="6"){ VerificationItem = "纹波电压"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"被检电源技术指标"<<"纹波电压" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append(row[8] + row[7]);//被检电源技术指标 Data.append("");//纹波电压 RippleVoltageList.append(Data); }else if(!row.isEmpty() && row[25]=="1" && row[2] =="7"){ VerificationItem = "输出电压短期稳定性"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"输出通道"<<"单位"<<"被测电源输出电压"<<"输出电压最大变化值" <<"仪器技术指标"<<"短期稳定性"; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[4]);//输出通道 Data.append(row[5]);//单位 Data.append("");//被测电源输出电压 Data.append("");//输出电压最大变化值 Data.append(row[8] + row[7]);//仪器技术指标 Data.append("");//短期稳定性 ShortTermStabilityVoltageList.append(Data); } } } if(VpsAdjustmentRateList.count()!=0){ DataMapList.insert("直流稳压电源",VpsAdjustmentRateList); }; if(LoadAdjustmentRateList.count()!=0){ DataMapList.insert("负载调整率",LoadAdjustmentRateList); }; if(VoltageIndicationErrorList.count()!=0){ DataMapList.insert("电压示值误差",VoltageIndicationErrorList); }; if(CurrentIndicationErrorDirectList.count()!=0){ DataMapList.insert("电流示值误差(直接测量)",CurrentIndicationErrorDirectList); }; if(CurrentIndicationErrorIndirectList.count()!=0){ DataMapList.insert("电流示值误差(间接测量)",CurrentIndicationErrorIndirectList); }; if(RippleVoltageList.count()!=0){ DataMapList.insert("纹波电压",RippleVoltageList); }; if(ShortTermStabilityVoltageList.count()!=0){ DataMapList.insert("输出电压短期稳定性",ShortTermStabilityVoltageList); }; return DataMapList; }; //【结果保存】直流稳压电源 bool BaseCommonApi::InsertbizBusinessDeviceMeasureDataDcPower(bizBusinessDeviceMeasureDataDcPower power) { QSqlQuery query; query.prepare( "INSERT INTO biz_business_device_measure_data_dc_power " "(id, data_id, data_type, data_type_type, output_channel, unit, voltage_regulator_output_value, voltage_max_difference, " "technical_index, technical_index_symbol, voltage_regulation, load_situation, voltage_output_value, voltage_difference, " "load_regulation, measure_indication_value, standard_value, maximum_error, maximum_error_unit, absolute_error, resolution, " "standard_voltage_value, standard_voltage_value_unit, standard_resistance_value, standard_resistance_value_unit, ripple_voltage, " "output_voltage_max_change, short_term_stability, exceed_mark, create_time, update_time) " "VALUES " "(:id, :data_id, :data_type, :data_type_type, :output_channel, :unit, :voltage_regulator_output_value, :voltage_max_difference, " ":technical_index, :technical_index_symbol, :voltage_regulation, :load_situation, :voltage_output_value, :voltage_difference, " ":load_regulation, :measure_indication_value, :standard_value, :maximum_error, :maximum_error_unit, :absolute_error, :resolution, " ":standard_voltage_value, :standard_voltage_value_unit, :standard_resistance_value, :standard_resistance_value_unit, :ripple_voltage, " ":output_voltage_max_change, :short_term_stability, :exceed_mark, :create_time, :update_time)" ); QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); query.bindValue(":id", power.id); query.bindValue(":data_id", power.data_id); query.bindValue(":data_type", power.data_type); query.bindValue(":data_type_type", power.data_type_type); query.bindValue(":output_channel", power.output_channel); query.bindValue(":unit", power.unit); query.bindValue(":voltage_regulator_output_value", power.voltage_regulator_output_value); query.bindValue(":voltage_max_difference", power.voltage_max_difference); query.bindValue(":technical_index", power.technical_index); query.bindValue(":technical_index_symbol", power.technical_index_symbol); query.bindValue(":voltage_regulation", power.voltage_regulation); query.bindValue(":load_situation", power.load_situation); query.bindValue(":voltage_output_value", power.voltage_output_value); query.bindValue(":voltage_difference", power.voltage_difference); query.bindValue(":load_regulation", power.load_regulation); query.bindValue(":measure_indication_value", power.measure_indication_value); query.bindValue(":standard_value", power.standard_value); query.bindValue(":maximum_error", power.maximum_error); query.bindValue(":maximum_error_unit", power.maximum_error_unit); query.bindValue(":absolute_error", power.absolute_error); query.bindValue(":resolution", power.resolution); query.bindValue(":standard_voltage_value", power.standard_voltage_value); query.bindValue(":standard_voltage_value_unit", power.standard_voltage_value_unit); query.bindValue(":standard_resistance_value", power.standard_resistance_value); query.bindValue(":standard_resistance_value_unit", power.standard_resistance_value_unit); query.bindValue(":ripple_voltage", power.ripple_voltage); query.bindValue(":output_voltage_max_change", power.output_voltage_max_change); query.bindValue(":short_term_stability", power.short_term_stability); query.bindValue(":exceed_mark", power.exceed_mark); query.bindValue(":create_time", currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); if (!isSuccess) { qDebug() << "Insert data failed: " << query.lastError().text(); } return isSuccess; }; //检定项 示波器检定装置 QMap<QString, QList<QStringList>> BaseCommonApi::getDeviceOscilloscopeCalibration(QString itemCatoryName,QString itemId,QMap<QString, QStringList> *headList) { QMap<QString, QList<QStringList>> DataMapList; QList<QStringList> resultData; QStringList result; resultData.clear(); QSqlQuery query; query.prepare("SELECT * FROM biz_business_device_measure_item_data_oscilloscope bbdmido" " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmido.item_id " " WHERE bbdmido.item_id = :itemId ORDER BY bbdmido.update_time DESC"); // 将参数绑定到占位符 query.bindValue(":itemId", itemId); if (query.exec()) { while (query.next()) { result.clear(); result.append(query.value("id").toString()); result.append(query.value("item_id").toString()); //检定项目ID result.append(query.value("time_base").toString());//时基 result.append(query.value("current_gain").toString());//直流增益(示波器-数字) result.append(query.value("current_bias").toString());//直流偏置(示波器-数字) result.append(query.value("band_width").toString());//频带宽度 (示波器-数字/模拟) result.append(query.value("trigger_sensitivity").toString());//触发灵敏度(示波器-数字/模拟) result.append(query.value("rise_time").toString());//上升时间(示波器-数字/模拟) result.append(query.value("input_resistance").toString());//输入电阻 (示波器-数字/模拟) result.append(query.value("calibrating_signal").toString());//校准信号(示波器-数字/模拟) result.append(query.value("scan_time_coefficient").toString());//扫描时间系数及扩展(示波器-模拟) result.append(query.value("cycle_signal").toString());//周期时标信号 result.append(query.value("cycle_signal_unit").toString());//周期时标信号单位 result.append(query.value("technical_index").toString());//技术指标 result.append(query.value("technical_index_unit").toString());//技术指标单位 result.append(query.value("thoroughfare").toString());//通道 result.append(query.value("impedance").toString());//阻抗 result.append(query.value("impedance_unit").toString());//阻抗单位 result.append(query.value("vertical_deflect_coefficient").toString());//垂直偏转系数/div result.append(query.value("vertical_deflect_coefficient_unit").toString());//垂直偏转系数单位 result.append(query.value("standard_value").toString());//标准值 result.append(query.value("standard_value_unit").toString());//标准值单位 result.append(query.value("band_width").toString());//频带宽度 result.append(query.value("band_width_unit").toString());//频带宽度单位 result.append(query.value("amplitude").toString());//幅度 result.append(query.value("amplitude_unit").toString());//幅度单位 result.append(query.value("trigger_type").toString());//触发类型 result.append(query.value("signal_frequency").toString());//信号频率 result.append(query.value("nominal_value").toString());//标称值 result.append(query.value("nominal_value_unit").toString());//标称值单位 result.append(query.value("create_time").toString()); result.append(query.value("update_time").toString()); resultData.append(result); } } else { qDebug() << "Query execution failed: " << query.lastError().text(); } DataMapList= GetDataReturnItemListByOscilloscope(itemCatoryName,resultData,DataMapList,headList); return DataMapList; }; QMap<QString, QList<QStringList>> BaseCommonApi::GetDataReturnItemListByOscilloscope(QString itemCatoryName,QList<QStringList> ResultData,QMap<QString, QList<QStringList>> DataMapList,QMap<QString, QStringList> *HeadMapList) { QList<QStringList> IndicationErrorList; if(itemCatoryName.contains("数字示波器")){ for(const QStringList &row : ResultData) { QString VerificationItem=NULL; if (!row.isEmpty() && row[2] =="1") { VerificationItem = "示值误差"; //添加列头 QStringList head; head <<"序号"<<"检定项目"<<"轻敲前示值-正"<<"轻敲前示值-反"<<"轻敲后示值-正" <<"轻敲后示值-反"<<"轻敲前后变动量-正"<<"轻敲前后变动量-反" ; HeadMapList->insert(VerificationItem,head); //添加数据 QStringList Data; Data.append(row[0]); //ID Data.append(row[2]); //标准器示值 Data.append(row[2]);//轻敲前示值-正 Data.append(row[2]);//"轻敲前示值-反" Data.append(row[2]);//轻敲后示值-正 Data.append(row[2]);//轻敲后示值-反 Data.append("0");//轻敲前后变动量-正 Data.append("0");//轻敲前后变动量-反 IndicationErrorList.append(Data); } } } if(IndicationErrorList.count()!=0){ DataMapList.insert("示值误差",IndicationErrorList); }; return DataMapList; };