diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 2abd43e..b0d2073 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -4,7 +4,7 @@ #include #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< getAllData(); - - +// static QString loginUserId; //部门任务 参数登录用户的部门id和状态 static QList getAllData(); //我的任务 @@ -1827,6 +1864,11 @@ static QMap>> getStandardCheckItemDataResistanceThermometer(QString equipment_id,QMap> *headList); static QMap>> GetDataReturnItemListByCheckItemDataResistanceThermometer(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【查询】核查项-直流稳压电源 + static QMap>> getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList); + static QMap>> GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【保存】核查数据-直流稳压电源 + static bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power); //同步成功后更新检定项字段 static bool UpdateMeasureItemInfo(QString item_id); //配套设备关联表 diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 2abd43e..b0d2073 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -4,7 +4,7 @@ #include #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< getAllData(); - - +// static QString loginUserId; //部门任务 参数登录用户的部门id和状态 static QList getAllData(); //我的任务 @@ -1827,6 +1864,11 @@ static QMap>> getStandardCheckItemDataResistanceThermometer(QString equipment_id,QMap> *headList); static QMap>> GetDataReturnItemListByCheckItemDataResistanceThermometer(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【查询】核查项-直流稳压电源 + static QMap>> getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList); + static QMap>> GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【保存】核查数据-直流稳压电源 + static bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power); //同步成功后更新检定项字段 static bool UpdateMeasureItemInfo(QString item_id); //配套设备关联表 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index 76e3156..a615df1 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -2,6 +2,7 @@ #include "ui_dialogcheckresult.h" #include #include +#include "global.h" DialogCheckResult::DialogCheckResult(QWidget *parent) : QDialog(parent), @@ -319,10 +320,22 @@ measInfo.appearance_function_check = "外观完好,工作正常"; measInfo.conclusion = ui->comboBoxConclusion->currentText(); measInfo.meter_identify = ui->comboBoxIdentify->currentText(); + measInfo.create_user_id = loginUserId; + measInfo.measure_person_id = loginMeasurePersonId; // QString itemId = BaseCommonApi::getStandardItemInfo(); - QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; - BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ +// loginOrderId = measInfo.order_id; + QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; + BaseCommonApi::saveLogToSql(sqls,nullptr); + MeasureModifyRecord record; + record.id = QString::number(api.generateId()); + record.data_id = measInfo.id; + record.source_system = "自动检定系统"; + record.modify_content = "新增"; + record.create_user_id = loginUserId; + record.create_user_name = loginUserName; + BaseCommonApi::InsertModifyRecord(record); + QStringList idList = stdId; int i=0; for(const QString& id : idList) diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 2abd43e..b0d2073 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -4,7 +4,7 @@ #include #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< getAllData(); - - +// static QString loginUserId; //部门任务 参数登录用户的部门id和状态 static QList getAllData(); //我的任务 @@ -1827,6 +1864,11 @@ static QMap>> getStandardCheckItemDataResistanceThermometer(QString equipment_id,QMap> *headList); static QMap>> GetDataReturnItemListByCheckItemDataResistanceThermometer(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【查询】核查项-直流稳压电源 + static QMap>> getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList); + static QMap>> GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【保存】核查数据-直流稳压电源 + static bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power); //同步成功后更新检定项字段 static bool UpdateMeasureItemInfo(QString item_id); //配套设备关联表 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index 76e3156..a615df1 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -2,6 +2,7 @@ #include "ui_dialogcheckresult.h" #include #include +#include "global.h" DialogCheckResult::DialogCheckResult(QWidget *parent) : QDialog(parent), @@ -319,10 +320,22 @@ measInfo.appearance_function_check = "外观完好,工作正常"; measInfo.conclusion = ui->comboBoxConclusion->currentText(); measInfo.meter_identify = ui->comboBoxIdentify->currentText(); + measInfo.create_user_id = loginUserId; + measInfo.measure_person_id = loginMeasurePersonId; // QString itemId = BaseCommonApi::getStandardItemInfo(); - QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; - BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ +// loginOrderId = measInfo.order_id; + QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; + BaseCommonApi::saveLogToSql(sqls,nullptr); + MeasureModifyRecord record; + record.id = QString::number(api.generateId()); + record.data_id = measInfo.id; + record.source_system = "自动检定系统"; + record.modify_content = "新增"; + record.create_user_id = loginUserId; + record.create_user_name = loginUserName; + BaseCommonApi::InsertModifyRecord(record); + QStringList idList = stdId; int i=0; for(const QString& id : idList) diff --git a/softwareDirectory/AutoVerScheme/indexwindow.cpp b/softwareDirectory/AutoVerScheme/indexwindow.cpp index 48bc362..e5b6727 100644 --- a/softwareDirectory/AutoVerScheme/indexwindow.cpp +++ b/softwareDirectory/AutoVerScheme/indexwindow.cpp @@ -10,6 +10,7 @@ //QMessageBox //数据连接类 #include "databaseconnection.h" +#include "basecommonapi.h" IndexWindow::IndexWindow(QWidget *parent) : QMainWindow(parent), @@ -63,13 +64,22 @@ data= Value2.replace(reLetters,""); - DatabaseConnection *Conn=DatabaseConnection::getInstance(); - //数据库连接 目前先放这里 后续需要放到登录界面 - bool IsOpen=Conn->open(); - if(IsOpen) - ShowMessageBox("数据库连接","连接成功"); - else - ShowMessageBox("数据库连接","连接失败"); +// DatabaseConnection *Conn=DatabaseConnection::getInstance(); +// //数据库连接 目前先放这里 后续需要放到登录界面 +// bool IsOpen=Conn->open(); +// if(IsOpen) +// ShowMessageBox("数据库连接","连接成功"); +// else +// ShowMessageBox("数据库连接","连接失败"); + QMap>> a; + QMap> headList; +// a = BaseCommonApi::getStandardCheckItemDataCalibrator("1692808528303013889",&headList); + a = BaseCommonApi::getStandardCheckItemDataDcPower("1693435753272557570",&headList); +// qDebug()<<">"<> headList; +// BaseCommonApi::getStandardCheckItemDataCalibrator("1748244089305845762",&headList); +// BaseCommonApi::getStandardCheckItemDataResistanceThermometer("1692807873677017090",&headList); + } void IndexWindow::loadStyle(const QString &qssFile) diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 2abd43e..b0d2073 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -4,7 +4,7 @@ #include #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< getAllData(); - - +// static QString loginUserId; //部门任务 参数登录用户的部门id和状态 static QList getAllData(); //我的任务 @@ -1827,6 +1864,11 @@ static QMap>> getStandardCheckItemDataResistanceThermometer(QString equipment_id,QMap> *headList); static QMap>> GetDataReturnItemListByCheckItemDataResistanceThermometer(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【查询】核查项-直流稳压电源 + static QMap>> getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList); + static QMap>> GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【保存】核查数据-直流稳压电源 + static bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power); //同步成功后更新检定项字段 static bool UpdateMeasureItemInfo(QString item_id); //配套设备关联表 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index 76e3156..a615df1 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -2,6 +2,7 @@ #include "ui_dialogcheckresult.h" #include #include +#include "global.h" DialogCheckResult::DialogCheckResult(QWidget *parent) : QDialog(parent), @@ -319,10 +320,22 @@ measInfo.appearance_function_check = "外观完好,工作正常"; measInfo.conclusion = ui->comboBoxConclusion->currentText(); measInfo.meter_identify = ui->comboBoxIdentify->currentText(); + measInfo.create_user_id = loginUserId; + measInfo.measure_person_id = loginMeasurePersonId; // QString itemId = BaseCommonApi::getStandardItemInfo(); - QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; - BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ +// loginOrderId = measInfo.order_id; + QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; + BaseCommonApi::saveLogToSql(sqls,nullptr); + MeasureModifyRecord record; + record.id = QString::number(api.generateId()); + record.data_id = measInfo.id; + record.source_system = "自动检定系统"; + record.modify_content = "新增"; + record.create_user_id = loginUserId; + record.create_user_name = loginUserName; + BaseCommonApi::InsertModifyRecord(record); + QStringList idList = stdId; int i=0; for(const QString& id : idList) diff --git a/softwareDirectory/AutoVerScheme/indexwindow.cpp b/softwareDirectory/AutoVerScheme/indexwindow.cpp index 48bc362..e5b6727 100644 --- a/softwareDirectory/AutoVerScheme/indexwindow.cpp +++ b/softwareDirectory/AutoVerScheme/indexwindow.cpp @@ -10,6 +10,7 @@ //QMessageBox //数据连接类 #include "databaseconnection.h" +#include "basecommonapi.h" IndexWindow::IndexWindow(QWidget *parent) : QMainWindow(parent), @@ -63,13 +64,22 @@ data= Value2.replace(reLetters,""); - DatabaseConnection *Conn=DatabaseConnection::getInstance(); - //数据库连接 目前先放这里 后续需要放到登录界面 - bool IsOpen=Conn->open(); - if(IsOpen) - ShowMessageBox("数据库连接","连接成功"); - else - ShowMessageBox("数据库连接","连接失败"); +// DatabaseConnection *Conn=DatabaseConnection::getInstance(); +// //数据库连接 目前先放这里 后续需要放到登录界面 +// bool IsOpen=Conn->open(); +// if(IsOpen) +// ShowMessageBox("数据库连接","连接成功"); +// else +// ShowMessageBox("数据库连接","连接失败"); + QMap>> a; + QMap> headList; +// a = BaseCommonApi::getStandardCheckItemDataCalibrator("1692808528303013889",&headList); + a = BaseCommonApi::getStandardCheckItemDataDcPower("1693435753272557570",&headList); +// qDebug()<<">"<> headList; +// BaseCommonApi::getStandardCheckItemDataCalibrator("1748244089305845762",&headList); +// BaseCommonApi::getStandardCheckItemDataResistanceThermometer("1692807873677017090",&headList); + } void IndexWindow::loadStyle(const QString &qssFile) diff --git a/softwareDirectory/AutoVerScheme/loginwindow.cpp b/softwareDirectory/AutoVerScheme/loginwindow.cpp index e3b9aeb..31b8e86 100644 --- a/softwareDirectory/AutoVerScheme/loginwindow.cpp +++ b/softwareDirectory/AutoVerScheme/loginwindow.cpp @@ -79,15 +79,15 @@ indexWindow->show(); this->close(); }else { -// QMessageBox::critical(this, "提示", "账号或密码错误,请重新输入!"); - QMessageBox::information(this, "提示", "登录成功!"); - IndexWindow *indexWindow = new IndexWindow; - indexWindow->setWindowState(Qt::WindowMaximized); - indexWindow->show(); - this->close(); -// ui->textEdit_acc->clear(); -// ui->lineEdit_pwd->clear(); -// ui->textEdit_acc->setFocus(); + QMessageBox::critical(this, "提示", "账号或密码错误,请重新输入!"); +// QMessageBox::information(this, "提示", "登录成功!"); +// IndexWindow *indexWindow = new IndexWindow; +// indexWindow->setWindowState(Qt::WindowMaximized); +// indexWindow->show(); +// this->close(); + ui->textEdit_acc->clear(); + ui->lineEdit_pwd->clear(); + ui->textEdit_acc->setFocus(); } }else { QMessageBox::critical(this, "提示", "账号或密码为空!"); diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 2abd43e..b0d2073 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -4,7 +4,7 @@ #include #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< getAllData(); - - +// static QString loginUserId; //部门任务 参数登录用户的部门id和状态 static QList getAllData(); //我的任务 @@ -1827,6 +1864,11 @@ static QMap>> getStandardCheckItemDataResistanceThermometer(QString equipment_id,QMap> *headList); static QMap>> GetDataReturnItemListByCheckItemDataResistanceThermometer(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【查询】核查项-直流稳压电源 + static QMap>> getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList); + static QMap>> GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【保存】核查数据-直流稳压电源 + static bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power); //同步成功后更新检定项字段 static bool UpdateMeasureItemInfo(QString item_id); //配套设备关联表 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index 76e3156..a615df1 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -2,6 +2,7 @@ #include "ui_dialogcheckresult.h" #include #include +#include "global.h" DialogCheckResult::DialogCheckResult(QWidget *parent) : QDialog(parent), @@ -319,10 +320,22 @@ measInfo.appearance_function_check = "外观完好,工作正常"; measInfo.conclusion = ui->comboBoxConclusion->currentText(); measInfo.meter_identify = ui->comboBoxIdentify->currentText(); + measInfo.create_user_id = loginUserId; + measInfo.measure_person_id = loginMeasurePersonId; // QString itemId = BaseCommonApi::getStandardItemInfo(); - QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; - BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ +// loginOrderId = measInfo.order_id; + QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; + BaseCommonApi::saveLogToSql(sqls,nullptr); + MeasureModifyRecord record; + record.id = QString::number(api.generateId()); + record.data_id = measInfo.id; + record.source_system = "自动检定系统"; + record.modify_content = "新增"; + record.create_user_id = loginUserId; + record.create_user_name = loginUserName; + BaseCommonApi::InsertModifyRecord(record); + QStringList idList = stdId; int i=0; for(const QString& id : idList) diff --git a/softwareDirectory/AutoVerScheme/indexwindow.cpp b/softwareDirectory/AutoVerScheme/indexwindow.cpp index 48bc362..e5b6727 100644 --- a/softwareDirectory/AutoVerScheme/indexwindow.cpp +++ b/softwareDirectory/AutoVerScheme/indexwindow.cpp @@ -10,6 +10,7 @@ //QMessageBox //数据连接类 #include "databaseconnection.h" +#include "basecommonapi.h" IndexWindow::IndexWindow(QWidget *parent) : QMainWindow(parent), @@ -63,13 +64,22 @@ data= Value2.replace(reLetters,""); - DatabaseConnection *Conn=DatabaseConnection::getInstance(); - //数据库连接 目前先放这里 后续需要放到登录界面 - bool IsOpen=Conn->open(); - if(IsOpen) - ShowMessageBox("数据库连接","连接成功"); - else - ShowMessageBox("数据库连接","连接失败"); +// DatabaseConnection *Conn=DatabaseConnection::getInstance(); +// //数据库连接 目前先放这里 后续需要放到登录界面 +// bool IsOpen=Conn->open(); +// if(IsOpen) +// ShowMessageBox("数据库连接","连接成功"); +// else +// ShowMessageBox("数据库连接","连接失败"); + QMap>> a; + QMap> headList; +// a = BaseCommonApi::getStandardCheckItemDataCalibrator("1692808528303013889",&headList); + a = BaseCommonApi::getStandardCheckItemDataDcPower("1693435753272557570",&headList); +// qDebug()<<">"<> headList; +// BaseCommonApi::getStandardCheckItemDataCalibrator("1748244089305845762",&headList); +// BaseCommonApi::getStandardCheckItemDataResistanceThermometer("1692807873677017090",&headList); + } void IndexWindow::loadStyle(const QString &qssFile) diff --git a/softwareDirectory/AutoVerScheme/loginwindow.cpp b/softwareDirectory/AutoVerScheme/loginwindow.cpp index e3b9aeb..31b8e86 100644 --- a/softwareDirectory/AutoVerScheme/loginwindow.cpp +++ b/softwareDirectory/AutoVerScheme/loginwindow.cpp @@ -79,15 +79,15 @@ indexWindow->show(); this->close(); }else { -// QMessageBox::critical(this, "提示", "账号或密码错误,请重新输入!"); - QMessageBox::information(this, "提示", "登录成功!"); - IndexWindow *indexWindow = new IndexWindow; - indexWindow->setWindowState(Qt::WindowMaximized); - indexWindow->show(); - this->close(); -// ui->textEdit_acc->clear(); -// ui->lineEdit_pwd->clear(); -// ui->textEdit_acc->setFocus(); + QMessageBox::critical(this, "提示", "账号或密码错误,请重新输入!"); +// QMessageBox::information(this, "提示", "登录成功!"); +// IndexWindow *indexWindow = new IndexWindow; +// indexWindow->setWindowState(Qt::WindowMaximized); +// indexWindow->show(); +// this->close(); + ui->textEdit_acc->clear(); + ui->lineEdit_pwd->clear(); + ui->textEdit_acc->setFocus(); } }else { QMessageBox::critical(this, "提示", "账号或密码为空!"); diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index 731fdee..e75cd04 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -452,8 +452,8 @@ QString id = QString::number(index+1); catList.clear(); ui->comboBoxCategory->clear(); - catList = BaseCommonApi::getitemCategoryList(id); - for(const itemCategory& item : catList){ + catList = BaseCommonApi::getStandardCheckItemCategory(id); + for(const StandardCheckItemCategory& item : catList){ ui->comboBoxCategory->addItem(item.category_name); } } diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index 596e608..d903ec3 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -49,6 +49,7 @@ formcommsetting.cpp \ formgageresult.cpp \ formverypoint.cpp \ + global.cpp \ indexwindow.cpp \ infomanageview.cpp \ inspectdataitem.cpp \ @@ -85,6 +86,7 @@ formbizdeviceselect.h \ formcommsetting.h \ formgageresult.h \ + global.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 2abd43e..b0d2073 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -4,7 +4,7 @@ #include #include #include - +#include "global.h" BaseCommonApi::BaseCommonApi() @@ -15,7 +15,7 @@ const QString BaseCommonApi::measure_person_id="1695282436182188034"; static SyncRunStatus syncstate=SyncRunStatus::Stopped; -static QString loginUserId = nullptr; + //sys_user表的id转换为measure_person_id 检定人id(meter_staff表id) StaffInfo BaseCommonApi::ConvertStaffInfo(QString userId) @@ -106,7 +106,37 @@ return outStr.trimmed(); } +bool SysUserLoginByCount(QString account,QString password=nullptr){ + QSqlQuery query; + query.prepare("SELECT count(*) as num FROM sys_user" + " WHERE ACCOUNT = :account "); + query.bindValue(":account",account); + bool isSuccess = query.exec(); + if(isSuccess && query.next()){ + int num =query.value("num").toInt(); + if( num > 0) + return true; + } + return false; +} +bool getMeasurePersonId(QString account) +{ + QSqlQuery query; + query.prepare("SELECT * FROM biz_resource_staff_info WHERE account = :account "); + query.bindValue(":account",account); + if(query.exec()){ + while (query.next()) { + loginMeasurePersonId = query.value("id").toString(); + } + } + if(loginMeasurePersonId !="0"){ + return true; + } + return false; +} + bool BaseCommonApi::SysUserLogin(QString account,QString password=nullptr){ + bool isCount = SysUserLoginByCount(account,password); QSqlQuery query; query.prepare("SELECT * FROM sys_user " " WHERE ACCOUNT = :ACCOUNT "); @@ -117,16 +147,19 @@ qDebug()< BaseCommonApi::getAllData() { QList result; @@ -2511,7 +2544,7 @@ bool isSuccess = query.exec(); if (isSuccess) { QString ssql = "INSERT INTO biz_business_device_measure_equipment " - " (id,data_id,equipment_id,create_time,update_time) " + " (id,data_id,equipment_id,standard_id,standard_name,create_time,update_time) " " VALUES " " (:1,:2,:3,:4,:5,:6,:7)"; saveLogToSql(ssql,&deviceMeasure); @@ -2524,6 +2557,7 @@ bool BaseCommonApi::saveLogToSql(QString ssql,BaseClass* entity) { zdDataSync sync; QString resultsql; + QString chart = "/"; QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); if(!ssql.isEmpty()){ ssql = ssql.replace(":","%"); @@ -2552,8 +2586,6 @@ //【结果保存】信号发生器 DeviceMeasureDataSignalGenerator* deviceSignalGeneratorData = dynamic_cast(entity); if(orderInfo !=nullptr){ - - resultsql = QString(ssql).arg("'" + orderInfo->order_no + "'") .arg("'" + orderInfo->customer_name + "'") .arg("'" + orderInfo->require_over_time + "'") @@ -2637,8 +2669,8 @@ .arg("'" + deviceMeasureInfo->other_outcome + "'") .arg("'" + deviceMeasureInfo->remark + "'") .arg("'" + deviceMeasureInfo->other_remark + "'") - .arg(deviceMeasureInfo->create_user_id.toInt()) - .arg(deviceMeasureInfo->measure_person_id.toInt()) + .arg("'" +deviceMeasureInfo->create_user_id + "'") + .arg("'" +deviceMeasureInfo->measure_person_id + "'") .arg("'" + deviceMeasureInfo->create_user_name + "'") .arg("'" + deviceMeasureInfo->meter_identify + "'") .arg("'" +currentDateTime+ "'") @@ -2646,10 +2678,10 @@ } if(deviceMeasureEquipment!=nullptr){ resultsql = QString(ssql) - .arg(deviceMeasureEquipment->id) - .arg(deviceMeasureEquipment->data_id) - .arg(deviceMeasureEquipment->equipment_id) - .arg(deviceMeasureEquipment->standard_id) + .arg("'" + deviceMeasureEquipment->id + "'") + .arg("'" + deviceMeasureEquipment->data_id + "'") + .arg("'" + deviceMeasureEquipment->equipment_id + "'") + .arg("'" + deviceMeasureEquipment->standard_id + "'") .arg("'" + deviceMeasureEquipment->standard_name +"'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); @@ -2673,14 +2705,14 @@ .arg("'" +deviceMeasureCalibrator->maximum_error+"'") .arg("'" +deviceMeasureCalibrator->absolute_error+"'") .arg("'" +deviceMeasureCalibrator->resolution+"'") - .arg("'" +deviceMeasureCalibrator->line_mode == "" ? "/":deviceMeasureCalibrator->line_mode +"'") + .arg(deviceMeasureCalibrator->line_mode == "" ? "'"+ chart +"'" : "'" +deviceMeasureCalibrator->line_mode +"'") .arg("'" +deviceMeasureCalibrator->remark+"'") .arg("'" +deviceMeasureCalibrator->an+"'") .arg("'" +deviceMeasureCalibrator->bn+"'") .arg("'" +deviceMeasureCalibrator->cn+"'") .arg("'" +deviceMeasureCalibrator->delta_an+"'") .arg("'" +deviceMeasureCalibrator->delta_bn+"'") .arg("'" +deviceMeasureCalibrator->delta_cn+"'") .arg("'" +deviceMeasureCalibrator->measure_indication_value+"'") .arg("'" +deviceMeasureCalibrator->standard_value_upper_limit+"'") .arg("'" +deviceMeasureCalibrator->accuracy_level+"'").arg("'" +currentDateTime+"'").arg("'" +currentDateTime+"'"); - qDebug()<<">>"<>"<id+"'") @@ -2745,7 +2777,7 @@ .arg("'" + devicePistonGaugeData->periodic_stability_s_b + "'") .arg("'" + currentDateTime + "'") .arg("'" + currentDateTime + "'"); - qDebug()<id + "'") @@ -3564,13 +3596,13 @@ query.bindValue(":create_time",currentDateTime); query.bindValue(":update_time", currentDateTime); bool isSuccess = query.exec(); - if (!isSuccess) { + if (isSuccess) { QString ssql ="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 (:1, :2, :3, :4, :5, :6, :7, :8 )"; saveLogToSql(ssql,&record); }else { - qDebug() << "Insert query failed: " << query.lastError().text(); + qDebug() << "Insert query failed: " << query.lastError().text(); } return isSuccess; @@ -6520,7 +6552,7 @@ { QList result; QSqlQuery query; - bool isSuccess = query.exec("SELECT besi.id, besi.standard_no, besi.standard_name, besi.dept_name, besi.manage_status, " + bool isSuccess = query.exec("SELECT besi.id, besi.standard_cert_no, besi.standard_name, besi.dept_name, besi.manage_status, " " GROUP_CONCAT(bestir.measure_item SEPARATOR ';') AS merged_measure_items" " FROM biz_equipment_standard_info besi" " LEFT JOIN biz_equipment_standard_technology_index_relation bestir ON besi.standard_no = bestir.standard_no" @@ -7472,7 +7504,7 @@ return isSuccess; } //核查程序-标准装置-分类 -QList getStandardCheckItemCategory(QString item) +QList BaseCommonApi::getStandardCheckItemCategory(QString item) { QList result; QSqlQuery query; @@ -7794,3 +7826,395 @@ return result; } + + + +//【查询】核查项-直流稳压电源 +QMap>> BaseCommonApi::getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList) +{ + QMap>> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + QSqlQuery query; + query.prepare("SELECT * FROM biz_equipment_standard_check_item_data_dc_power " + " 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());//核查项分类id(能够确定是哪个标准装置) + result.append(query.value("equipment_id").toString());//配套设备id + result.append(query.value("params").toString());//核查项目(直接存字典value) + result.append(query.value("check_point").toString());//核查点 + result.append(query.value("unit").toString());//单位(直接存字典value) 5 + result.append(query.value("resolution").toString());//分辨力 + result.append(query.value("cycle_number").toString());//循环次数 + result.append(query.value("urel").toString());//Urel + result.append(query.value("check_type").toString());//核查类型(直接存字典value) + result.append(query.value("datum_point").toString());//是否为基准点(1/0) + result.append(query.value("resistance_value").toString());//电阻值/频率 + result.append(query.value("resistance_value_unit").toString());//电阻值单位/频率单位(直接存字典value) + 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()<>> BaseCommonApi::GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList) +{ + QMap>> result; + QMap> resultMap; + QList DCVoltageList; + QList PowerAndLoadEffectsList; + QList DirectMeasureList; + QList IndirectMeasureList; + QList RippleVoltageList; + QList DCVoltageStableList; + QList PowerAndLoadEffectsStableList; + QList DirectMeasureStableList; + QList IndirectMeasureStableList; + QList RippleVoltageStableList; + QMap headerMap; + for(const QStringList &row : ResultData){ + if (!row.isEmpty() && row[3] == "1" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + PowerAndLoadEffectsList.append(Data); + resultMap.insert("重复性",PowerAndLoadEffectsList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + DirectMeasureList.append(Data); + resultMap.insert("重复性",DirectMeasureList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + IndirectMeasureList.append(Data); + resultMap.insert("重复性",IndirectMeasureList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("重复性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"分辨力"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差" ; + headerMap.insert("重复性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[6]);//分辨力 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + RippleVoltageList.append(Data); + resultMap.insert("重复性",RippleVoltageList); + result.insert("纹波电压",resultMap); + } + if (!row.isEmpty() && row[3] == "1" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直流电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直流电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageStableList.append(Data); + resultMap.insert("稳定性",DCVoltageStableList); + result.insert("直流电压",resultMap); + }else if (!row.isEmpty() && row[3] == "2" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("电源效应和负载效应",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("电源效应和负载效应"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DCVoltageList.append(Data); + resultMap.insert("重复性",DCVoltageList); + result.insert("电源效应和负载效应",resultMap); + }else if (!row.isEmpty() && row[3] == "3" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(直接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(直接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + DirectMeasureStableList.append(Data); + resultMap.insert("稳定性",DirectMeasureStableList); + result.insert("直接电流(直接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "4" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"电阻值"<<"核查参数"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("直接电流(间接测量)",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("直接电流(间接测量)"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[11] + row[12]);//电阻值 + Data.append("");//核查参数 + Data.append(row[5]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + IndirectMeasureStableList.append(Data); + resultMap.insert("稳定性",IndirectMeasureStableList); + result.insert("直接电流(间接测量)",resultMap); + }else if (!row.isEmpty() && row[3] == "5" && row[9].contains("稳定性")) { + //添加列头 + QStringList head; + head <<"序号"<<"核查项目"<<"核查点"<<"单位"<<"频率"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"平均值"<<"标准偏差"<<"相对标准偏差"<<"相对扩展不确定度Urel"<<"相对标准偏差是否小于相对扩展不确定度Urel" ; + headerMap.insert("稳定性",head); + headList->insert("纹波电压",headerMap); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append("纹波电压"); //核查项目 + Data.append(row[4]);//核查点 + Data.append(row[5]);//单位 + Data.append(row[11]);//频率 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//平均值 + Data.append("");//标准偏差 + Data.append("");//相对标准偏差 + Data.append("");//相对扩展不确定度Urel + Data.append("");//相对标准偏差是否小于相对扩展不确定度Urel + RippleVoltageStableList.append(Data); + resultMap.insert("稳定性",RippleVoltageStableList); + result.insert("纹波电压",resultMap); + } + } + return result; +} +//【保存】核查数据-直流稳压电源 +bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_equipment_standard_check_data_dc_power (" + " id, data_id, check_type, params, check_param, check_point, unit," + " average_value, 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, test_value_seven, test_value_eight, test_value_nine," + " test_value_ten, standard_deviation, relative_repeatability, urel, less_than," + " qualified, create_time, update_time" + " )" + " VALUES (" + " :id, :data_id, :check_type, :params, :check_param, :check_point, :unit," + " :average_value, :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, :test_value_seven, :test_value_eight, :test_value_nine," + " :test_value_ten, :standard_deviation, :relative_repeatability, :urel, :less_than," + " :qualified, :create_time, :update_time" + " );"); + query.bindValue(":id",power.id); + query.bindValue("data_id",power.data_id); + query.bindValue(":check_type", power.check_type); + query.bindValue(":params", power.params); + query.bindValue(":check_param", power.check_param); + query.bindValue(":check_point", power.check_point); + query.bindValue(":unit", power.unit); + query.bindValue(":average_value", power.average_value); + query.bindValue(":test_value_one_date", power.test_value_one_date); + query.bindValue(":test_value_one", power.test_value_one); + query.bindValue(":test_value_two_date", power.test_value_two_date); + query.bindValue(":test_value_two", power.test_value_two); + query.bindValue(":test_value_three_date", power.test_value_three_date); + query.bindValue(":test_value_three", power.test_value_three); + query.bindValue(":test_value_four_date", power.test_value_four_date); + query.bindValue(":test_value_four", power.test_value_four); + query.bindValue(":test_value_five_date", power.test_value_five_date); + query.bindValue(":test_value_five", power.test_value_five); + query.bindValue(":test_value_six_date", power.test_value_six_date); + query.bindValue(":test_value_six", power.test_value_six); + query.bindValue(":test_value_seven", power.test_value_seven); + query.bindValue(":test_value_eight", power.test_value_eight); + query.bindValue(":test_value_nine", power.test_value_nine); + query.bindValue(":test_value_ten", power.test_value_ten); + query.bindValue(":standard_deviation", power.standard_deviation); + query.bindValue(":relative_repeatability", power.relative_repeatability); + query.bindValue(":urel", power.urel); + query.bindValue(":less_than", power.less_than); + query.bindValue(":qualified", power.qualified); + query.bindValue(":create_time", power.create_time); + query.bindValue(":update_time", power.update_time); + bool isSuccess = query.exec(); + if(!isSuccess){ + qDebug()< getAllData(); - - +// static QString loginUserId; //部门任务 参数登录用户的部门id和状态 static QList getAllData(); //我的任务 @@ -1827,6 +1864,11 @@ static QMap>> getStandardCheckItemDataResistanceThermometer(QString equipment_id,QMap> *headList); static QMap>> GetDataReturnItemListByCheckItemDataResistanceThermometer(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【查询】核查项-直流稳压电源 + static QMap>> getStandardCheckItemDataDcPower(QString equipment_id,QMap> *headList); + static QMap>> GetDataReturnItemListByCheckItemDataDcPower(QList ResultData,QMap>> DataMapList,QMap> *headList); + //【保存】核查数据-直流稳压电源 + static bool InsertStandardCheckItemDataDcPower(StandardCheckDataDcPower power); //同步成功后更新检定项字段 static bool UpdateMeasureItemInfo(QString item_id); //配套设备关联表 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index 76e3156..a615df1 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -2,6 +2,7 @@ #include "ui_dialogcheckresult.h" #include #include +#include "global.h" DialogCheckResult::DialogCheckResult(QWidget *parent) : QDialog(parent), @@ -319,10 +320,22 @@ measInfo.appearance_function_check = "外观完好,工作正常"; measInfo.conclusion = ui->comboBoxConclusion->currentText(); measInfo.meter_identify = ui->comboBoxIdentify->currentText(); + measInfo.create_user_id = loginUserId; + measInfo.measure_person_id = loginMeasurePersonId; // QString itemId = BaseCommonApi::getStandardItemInfo(); - QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; - BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ +// loginOrderId = measInfo.order_id; + QString sqls = "UPDATE biz_business_device_measure_item_info SET data_sync=1,sync_time=:1 WHERE id= " + measInfo.item_id; + BaseCommonApi::saveLogToSql(sqls,nullptr); + MeasureModifyRecord record; + record.id = QString::number(api.generateId()); + record.data_id = measInfo.id; + record.source_system = "自动检定系统"; + record.modify_content = "新增"; + record.create_user_id = loginUserId; + record.create_user_name = loginUserName; + BaseCommonApi::InsertModifyRecord(record); + QStringList idList = stdId; int i=0; for(const QString& id : idList) diff --git a/softwareDirectory/AutoVerScheme/indexwindow.cpp b/softwareDirectory/AutoVerScheme/indexwindow.cpp index 48bc362..e5b6727 100644 --- a/softwareDirectory/AutoVerScheme/indexwindow.cpp +++ b/softwareDirectory/AutoVerScheme/indexwindow.cpp @@ -10,6 +10,7 @@ //QMessageBox //数据连接类 #include "databaseconnection.h" +#include "basecommonapi.h" IndexWindow::IndexWindow(QWidget *parent) : QMainWindow(parent), @@ -63,13 +64,22 @@ data= Value2.replace(reLetters,""); - DatabaseConnection *Conn=DatabaseConnection::getInstance(); - //数据库连接 目前先放这里 后续需要放到登录界面 - bool IsOpen=Conn->open(); - if(IsOpen) - ShowMessageBox("数据库连接","连接成功"); - else - ShowMessageBox("数据库连接","连接失败"); +// DatabaseConnection *Conn=DatabaseConnection::getInstance(); +// //数据库连接 目前先放这里 后续需要放到登录界面 +// bool IsOpen=Conn->open(); +// if(IsOpen) +// ShowMessageBox("数据库连接","连接成功"); +// else +// ShowMessageBox("数据库连接","连接失败"); + QMap>> a; + QMap> headList; +// a = BaseCommonApi::getStandardCheckItemDataCalibrator("1692808528303013889",&headList); + a = BaseCommonApi::getStandardCheckItemDataDcPower("1693435753272557570",&headList); +// qDebug()<<">"<> headList; +// BaseCommonApi::getStandardCheckItemDataCalibrator("1748244089305845762",&headList); +// BaseCommonApi::getStandardCheckItemDataResistanceThermometer("1692807873677017090",&headList); + } void IndexWindow::loadStyle(const QString &qssFile) diff --git a/softwareDirectory/AutoVerScheme/loginwindow.cpp b/softwareDirectory/AutoVerScheme/loginwindow.cpp index e3b9aeb..31b8e86 100644 --- a/softwareDirectory/AutoVerScheme/loginwindow.cpp +++ b/softwareDirectory/AutoVerScheme/loginwindow.cpp @@ -79,15 +79,15 @@ indexWindow->show(); this->close(); }else { -// QMessageBox::critical(this, "提示", "账号或密码错误,请重新输入!"); - QMessageBox::information(this, "提示", "登录成功!"); - IndexWindow *indexWindow = new IndexWindow; - indexWindow->setWindowState(Qt::WindowMaximized); - indexWindow->show(); - this->close(); -// ui->textEdit_acc->clear(); -// ui->lineEdit_pwd->clear(); -// ui->textEdit_acc->setFocus(); + QMessageBox::critical(this, "提示", "账号或密码错误,请重新输入!"); +// QMessageBox::information(this, "提示", "登录成功!"); +// IndexWindow *indexWindow = new IndexWindow; +// indexWindow->setWindowState(Qt::WindowMaximized); +// indexWindow->show(); +// this->close(); + ui->textEdit_acc->clear(); + ui->lineEdit_pwd->clear(); + ui->textEdit_acc->setFocus(); } }else { QMessageBox::critical(this, "提示", "账号或密码为空!"); diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.cpp b/softwareDirectory/AutoVerScheme/newverifymethod.cpp index 731fdee..e75cd04 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.cpp +++ b/softwareDirectory/AutoVerScheme/newverifymethod.cpp @@ -452,8 +452,8 @@ QString id = QString::number(index+1); catList.clear(); ui->comboBoxCategory->clear(); - catList = BaseCommonApi::getitemCategoryList(id); - for(const itemCategory& item : catList){ + catList = BaseCommonApi::getStandardCheckItemCategory(id); + for(const StandardCheckItemCategory& item : catList){ ui->comboBoxCategory->addItem(item.category_name); } } diff --git a/softwareDirectory/AutoVerScheme/newverifymethod.h b/softwareDirectory/AutoVerScheme/newverifymethod.h index 8f62d30..4396b40 100644 --- a/softwareDirectory/AutoVerScheme/newverifymethod.h +++ b/softwareDirectory/AutoVerScheme/newverifymethod.h @@ -51,7 +51,7 @@ bool bEditMode=true; QStringList equipList={"多功能校准源标准装置","直流稳压电源检定装置","多功能电气安全标准器标准装置","0.02级活塞式压力计标准装置","二等铂电阻温度计标准装置","安全阀校验装置", "精密露点仪标准装置","E2等级砝码标准装置","频谱分析仪标准装置","信号发生器标准装置","微波衰减标准装置","频率短期稳定度标准装置","示波器标准装置","铯原子频率标准装置","小功率标准装置"}; - QList catList; + QList catList; }; #endif // NEWVERIFYMETHOD_H