diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index dc0806b..e953cb5 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1935,7 +1935,59 @@ " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmidc.item_id " " WHERE bbdmii.item_category_id = :equipment_item_category_id "); } + query.bindValue(":equipment_item_category_id", equipment_item_category_id); + if (query.exec()) { + while (query.next()) { + Params param; + param.param = query.value("params").toString(); + result.append(param); + } + }else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } break; + case 2: + if(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty()) + { + query.prepare("SELECT DISTINCT data_type FROM biz_business_device_measure_item_data_dc_power bbdmiddp " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmiddp.item_id"); + }else { + query.prepare("SELECT DISTINCT data_type FROM biz_business_device_measure_item_data_dc_power bbdmiddp " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmiddp.item_id " + "WHERE bbdmii.item_category_id = :equipment_item_category_id "); + } + query.bindValue(":equipment_item_category_id", equipment_item_category_id); + if (query.exec()) { + while (query.next()) { + Params param; + QString data_type = query.value("data_type").toString(); + switch (data_type.toInt()) { + case 1: + param.param = "电源电压调整率"; + break; + case 2: + param.param = "负载调整率"; + break; + case 3: + param.param = "电压示值误差"; + break; + case 4: + param.param = "电流示值误差(直接测量)"; + break; + case 5: + param.param = "电流示值误差(间接测量)"; + break; + case 6: + param.param = "纹波电压"; + break; + case 7: + param.param = "输出电压短期稳定性"; + break; + } + result.append(param); + } + } + break; case 4: bool isExit = false; QString itemName = NULL; @@ -1969,18 +2021,8 @@ result.append(paramList[i]); } } - - } - query.bindValue(":equipment_item_category_id", equipment_item_category_id); - if (query.exec()) { - while (query.next()) { - Params param; - param.param = query.value("params").toString(); - result.append(param); - } - }else { - qDebug() << "Query execution failed: " << query.lastError().text(); - } + break; + } return result; }; @@ -4428,3 +4470,374 @@ }; return DataMapList; } +//结果保存-二等铂电阻 +bool BaseCommonApi::InsertDeviceMeasureDataResistanceThermometer(DeviceMeasureDataResistanceThermometer thermometer) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_business_device_measure_data_resistance_thermometer (" + " id, data_id, data_type, data_category, upper_lower_point, location, unit," + " one_value, two_value, three_value, four_value, five_value, six_value, seven_value," + " eight_value, nine_value, ten_value, eleven_value, twelve_value, thirteen_value," + " fourteen_value, fifteen_value, max_value, min_value, volatility," + " upper_temperature_different, lower_temperature_different," + " max_horizontal_temperature_different, max_work_temperature_different," + " calibrated_point, indicating_value_forward_stroke," + " indicating_value_reverse_stroke, measure_indication_value_forward_stroke," + " measure_indication_value_reverse_stroke, indicating_error_forward_stroke," + " indicating_error_reverse_stroke, maximum_error, urel, rank_level," + " nominal_temperature, item, allow_error_lower, allow_error_upper," + " measure_value, create_time, update_time" + " ) VALUES (" + " :id, :data_id, :data_type, :data_category, :upper_lower_point, :location, :unit," + " :one_value, :two_value, :three_value, :four_value, :five_value, :six_value, :seven_value," + " :eight_value, :nine_value, :ten_value, :eleven_value, :twelve_value, :thirteen_value," + " :fourteen_value, :fifteen_value, :max_value, :min_value, :volatility," + " :upper_temperature_different, :lower_temperature_different," + " :max_horizontal_temperature_different, :max_work_temperature_different," + " :calibrated_point, :indicating_value_forward_stroke," + " :indicating_value_reverse_stroke, :measure_indication_value_forward_stroke," + " :measure_indication_value_reverse_stroke, :indicating_error_forward_stroke," + " :indicating_error_reverse_stroke, :maximum_error, :urel, :rank_level," + " :nominal_temperature, :item, :allow_error_lower, :allow_error_upper," + " :measure_value, :create_time, :update_time );"); + QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", thermometer.id); + query.bindValue(":data_id", thermometer.data_id); + query.bindValue(":data_type", thermometer.data_type); + query.bindValue(":data_category", thermometer.data_category); + query.bindValue(":upper_lower_point", thermometer.upper_lower_point); + query.bindValue(":location", thermometer.location); + query.bindValue(":unit", thermometer.unit); + query.bindValue(":one_value", thermometer.one_value); + query.bindValue(":two_value", thermometer.two_value); + query.bindValue(":three_value", thermometer.three_value); + query.bindValue(":four_value", thermometer.four_value); + query.bindValue(":five_value", thermometer.five_value); + query.bindValue(":six_value", thermometer.six_value); + query.bindValue(":seven_value", thermometer.seven_value); + query.bindValue(":eight_value", thermometer.eight_value); + query.bindValue(":nine_value", thermometer.nine_value); + query.bindValue(":ten_value", thermometer.ten_value); + query.bindValue(":eleven_value", thermometer.eleven_value); + query.bindValue(":twelve_value", thermometer.twelve_value); + query.bindValue(":thirteen_value", thermometer.thirteen_value); + query.bindValue(":fourteen_value", thermometer.fourteen_value); + query.bindValue(":fifteen_value", thermometer.fifteen_value); + query.bindValue(":max_value", thermometer.max_value); + query.bindValue(":min_value", thermometer.min_value); + query.bindValue(":volatility", thermometer.volatility); + query.bindValue(":upper_temperature_different", thermometer.upper_temperature_different); + query.bindValue(":lower_temperature_different", thermometer.lower_temperature_different); + query.bindValue(":max_horizontal_temperature_different", thermometer.max_horizontal_temperature_different); + query.bindValue(":max_work_temperature_different", thermometer.max_work_temperature_different); + query.bindValue(":calibrated_point", thermometer.calibrated_point); + query.bindValue(":indicating_value_forward_stroke", thermometer.indicating_value_forward_stroke); + query.bindValue(":indicating_value_reverse_stroke", thermometer.indicating_value_reverse_stroke); + query.bindValue(":measure_indication_value_forward_stroke", thermometer.measure_indication_value_forward_stroke); + query.bindValue(":measure_indication_value_reverse_stroke", thermometer.measure_indication_value_reverse_stroke); + query.bindValue(":indicating_error_forward_stroke", thermometer.indicating_error_forward_stroke); + query.bindValue(":indicating_error_reverse_stroke", thermometer.indicating_error_reverse_stroke); + query.bindValue(":maximum_error", thermometer.maximum_error); + query.bindValue(":urel", thermometer.urel); + query.bindValue(":rank_level", thermometer.rank_level); + query.bindValue(":nominal_temperature", thermometer.nominal_temperature); + query.bindValue(":item", thermometer.item); + query.bindValue(":allow_error_lower", thermometer.allow_error_lower); + query.bindValue(":allow_error_upper", thermometer.allow_error_upper); + query.bindValue(":measure_value", thermometer.measure_value); + query.bindValue(":create_time", currentDateTime); + query.bindValue(":update_time", currentDateTime); + bool isSuccess = query.exec(); + if (!isSuccess) { + qDebug() << "Insert data failed: " << query.lastError().text(); + } + + return isSuccess; +} +//【查询】结果表 二等铂电阻 +QList BaseCommonApi::getDeviceMeasureDataResistanceThermometer(QString data_id,QStringList *HeadList) +{ + //待实现 +} +//【查询】检定项-频谱分析仪 +QMap> BaseCommonApi::getDeviceMeasureItemDataSpectrumAnalyzer(QString itemCatoryName,QString itemId,QMap *headList) +{ + QMap> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + + QSqlQuery query; + query.prepare("SELECT bbdmidsa.*,bbdmii.frequency_display,bbdmii.sweep_width,bbdmii.middle_frequency_width," + " bbdmii.middle_conversion_deviation,bbdmii.reference_level,bbdmii.vertical_scale,bbdmii.input_frequency," + " bbdmii.average_noise_level,bbdmii.harmonic_distortion,bbdmii.input_attenuation,bbdmii.gain_compression " + " FROM biz_business_device_measure_item_data_spectrum_analyzer bbdmidsa " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidsa.item_id" + " WHERE bbdmidsa.item_id = :itemId " + " ORDER BY bbdmidsa.update_time DESC"); + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项id + result.append(query.value("data_type").toString());//检定项数据类型(一个检定项中区分两个表格)(字典code) + result.append(query.value("nominal_value").toString());//标称值 + result.append(query.value("unit").toString());//标称值单位 + result.append(query.value("sweep_width").toString());//扫频宽度 + result.append(query.value("sweep_width_unit").toString());//扫频宽度单位 + result.append(query.value("horizontal_resolution").toString());//水平分辨率 + result.append(query.value("horizontal_resolution_unit").toString());//水平分辨率单位 + result.append(query.value("resolution_bandwidth").toString());//分辨率带宽 + result.append(query.value("resolution_bandwidth_unit").toString());//分辨率带宽单位 + result.append(query.value("frequency").toString());//频率 + result.append(query.value("frequency_unit").toString());//频率单位 + result.append(query.value("amplitude").toString());//幅度 + result.append(query.value("amplitude_unit").toString());//幅度单位 + result.append(query.value("frequency_reference_accuracy").toString());//频率基准精度(计算技术指标使用(频率显示)) + result.append(query.value("value_one").toString());//数值1(不带%,计算技术指标使用(频率显示))/数值(不带单位,扫频宽度/中频带宽/中频带宽转换偏差参考电平/垂直刻度/输入频响/输入衰减/1dB增益压缩点) + result.append(query.value("value_two").toString());//数值2(不带%,计算技术指标使用(频率显示))/中频带宽 + result.append(query.value("value_three").toString());//数值3(不带Hz,计算技术指标使用(频率显示)) + result.append(query.value("value_four").toString());//数值4(计算技术指标使用(频率显示)) + result.append(query.value("technical_index").toString());//技术指标(存正负号/存符号(1dB增益压缩点)) + result.append(query.value("technical_index_unit").toString());//技术指标单位 + result.append(query.value("technical_index_left").toString());//技术指标左(中频带宽) + result.append(query.value("technical_index_right").toString());//技术指标右(中频带宽) + result.append(query.value("reference_point").toString());//是否为参考点(1/0) + result.append(query.value("standard_attenuator_attenuation").toString());//标准衰减器衰减量 + result.append(query.value("standard_attenuator_attenuation_unit").toString());//标准衰减器衰减量单位 + result.append(query.value("signal_source_amplitude").toString());//信号源幅度 + result.append(query.value("signal_source_amplitude_unit").toString());//信号源幅度单位 + result.append(query.value("vertical_scale").toString());//垂直刻度 + result.append(query.value("start_frequency").toString());//起始频率 + result.append(query.value("start_frequency_unit").toString());//起始频率单位 + result.append(query.value("end_frequency").toString());//终止频率 + result.append(query.value("end_frequency_unit").toString());//终止频率单位 + result.append(query.value("corrected_value").toString());//修正值 + result.append(query.value("corrected_value_unit").toString());//修正值单位 + result.append(query.value("upper_index").toString());//指标上限 + result.append(query.value("upper_index_unit").toString());//指标上限单位 + result.append(query.value("input_attenuator").toString());//输入衰减器 + result.append(query.value("input_attenuator_unit").toString());//输入衰减器单位 + result.append(query.value("spectrum_level").toString());//参考电平 + result.append(query.value("spectrum_level_unit").toString());//参考电平单位 + result.append(query.value("rbw_value").toString());//RBW + result.append(query.value("rbw_value_unit").toString());//RBW单位 + result.append(query.value("vbw_value").toString());//VBW + result.append(query.value("vbw_value_unit").toString());//VBW单位 + result.append(query.value("upper_index_twice").toString());//二次谐波失真指标上限 + result.append(query.value("upper_index_twice_unit").toString());//二次谐波失真指标上限单位 + result.append(query.value("upper_index_thrice").toString());//三次谐波失真指标上限 + result.append(query.value("upper_index_thrice_unit").toString());//三次谐波失真指标上限单位 + result.append(query.value("upper_index_quartic").toString());//四次谐波失真指标上限 + result.append(query.value("upper_index_quartic_unit").toString());//四次谐波失真指标上限单位 + result.append(query.value("type_value").toString());//类型(校准信号) + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + result.append(query.value("frequency_display").toString());//频率显示(频谱分析仪) 55 + result.append(query.value("sweep_width").toString());//扫频宽度(频谱分析仪) + result.append(query.value("middle_frequency_width").toString());//中频宽度(频谱分析仪) + result.append(query.value("middle_conversion_deviation").toString());//中频带宽转换偏差(频谱分析仪) + result.append(query.value("reference_level").toString());//参考电平(频谱分析仪) + result.append(query.value("vertical_scale").toString());//垂直刻度(频谱分析仪) + result.append(query.value("input_frequency").toString());//输入频响(频谱分析仪) + result.append(query.value("average_noise_level").toString());//平均噪声电平(频谱分析仪) + result.append(query.value("harmonic_distortion").toString());//谐波失真(频谱分析仪)/(低频信号源)/(S参数) + result.append(query.value("input_attenuation").toString());//输入衰减(频谱分析仪) + result.append(query.value("gain_compression").toString());//1dB增益压缩点(频谱分析仪) + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemListBySpectrumAnalyzer(itemCatoryName,resultData,DataMapList,headList); + return DataMapList; +} +QMap> BaseCommonApi::GetDataReturnItemListBySpectrumAnalyzer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) +{ + QList FrequencyDisplayList; + QList SweepWidthList; + QList IntermediateFrequencyBandwidthList; + QList ConversionDeviationList; + if(itemCatoryName.contains("频谱分析仪")){ + for(const QStringList &row : ResultData) + { + QString VerificationItem=NULL; + if (!row.isEmpty() && row[55]=="1" && row[2] == "1") { + VerificationItem = "频率显示"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标称值单位"<<"扫频宽度"<<"分辨力带宽"<<"水平分辨率"<<"测量值1"<<"测量值2"<<"测量值3" + <<"指标下限"<<"均值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]+ row[4]);//标称值 + Data.append(row[4]);//标称值单位 需要隐藏 + Data.append(row[5]);//扫频宽度 + Data.append(row[9]);//分辨率带宽 + Data.append(row[7]);//水平分辨率 + Data.append("");//测量值1 + Data.append("");//测量值2 + Data.append("");//测量值3 + double index_lower = row[3].toInt()-(row[3].toInt()*row[15].toDouble()+row[16].toDouble() * row[5].toInt()+ row[17].toDouble() * row[9].toInt() + row[18].toDouble() + row[19].toDouble() * row[7].toInt()); + Data.append(QString::number(index_lower) + row[4]);//指标下限 + Data.append("");//均值 + double index_upper = row[3].toInt() + (row[3].toInt() * row[15].toDouble() + row[16].toDouble() * row[5].toInt() +row[17].toDouble() * row[9].toInt() + row[18].toDouble() + row[19].toDouble() * row[7].toInt()); + Data.append(QString::number(index_upper) + row[4]);//指标上限 + Data.append("");//结论 + FrequencyDisplayList.append(Data); + }else if(!row.isEmpty() && row[56]=="1" && row[2] =="2"){ + VerificationItem = "扫频宽度"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标称值单位"<<"水平分辨率"<<"fl1" + <<"fr1"<<"fl2"<<"fr2"<<"fl3"<<"fr3"<<"指标下限"<<"均值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]+ row[4]);//标称值 + Data.append(row[4]);//标称值单位 需要隐藏 + Data.append(row[7]);//水平分辨率 + Data.append("");//fl1 + Data.append("");//fr1 + Data.append("");//fl2 + Data.append("");//fr2 + Data.append("");//fl3 + Data.append("");//fr3 + double index_lower = row[3].toInt() - (row[3].toInt() * row[15].toDouble() + row[7].toInt()); + QString index_lowerr_num = formatDoubleWithEffectiveDigits(index_lower,5); + Data.append(index_lowerr_num+ row[4]);//指标下限 + Data.append("");//均值 + double index_upper = row[3].toInt() + (row[3].toInt() * row[15].toDouble() + row[7].toInt()); + QString index_upper_num = formatDoubleWithEffectiveDigits(index_upper,5); + Data.append(index_upper_num + row[4]);//指标上限 + Data.append("");//结论 + SweepWidthList.append(Data); + }else if(!row.isEmpty() && row[57]=="1" && row[2] =="3"){ + VerificationItem = "中频带宽"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标称值单位"<<"fl1" + <<"fr1"<<"△f1"<<"fl2"<<"fr2"<<"△f2"<<"fl3"<<"fr3"<<"△f3"<<"指标下限"<<"均值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]+ row[4]);//标称值 + Data.append(row[4]);//标称值单位 需要隐藏 + Data.append("");//fl1 + Data.append("");//fr1 + Data.append("");//△f1 + Data.append("");//fl2 + Data.append("");//fr2 + Data.append("");//△f2 + Data.append("");//fl3 + Data.append("");//fr3 + Data.append("");//△f3 + Data.append("");//指标下限 + Data.append("");//均值 + double index_upper = row[3].toInt() + (row[3].toInt() * row[15].toDouble()); + QString index_upper_num = formatDoubleWithDecimalPlaces(index_upper,2); + Data.append(index_upper_num + row[4]);//指标上限 + Data.append("");//结论 + IntermediateFrequencyBandwidthList.append(Data); + }else if(!row.isEmpty() && row[58]=="1" && row[2] =="4"){ + VerificationItem = "中频带宽转换偏差"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"中频带宽"<<"测量值"<<"指标下限" + <<"转换偏差"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3] + row[4]);//中频带宽 + Data.append("");//测量值 + Data.append(row[22]);//指标下限 + Data.append("");//转换偏差 + Data.append(row[23]);//指标上限 + Data.append("");//结论 + ConversionDeviationList.append(Data); + }else if(!row.isEmpty() && row[59]=="1" && row[2] =="5"){ + VerificationItem = "参考电平"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标准衰减器衰减量"<<"信号源幅度" + <<"指标下限"<<"测量值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3] + row[4]);//标称值 + Data.append(row[25] + row[26]);//标准衰减器衰减量 + Data.append(row[27] + row[28]);//信号源幅度 + Data.append("");//指标下限 + Data.append("");//测量值 + Data.append("");//指标上限 + Data.append("");//结论 + ConversionDeviationList.append(Data); + }else if(!row.isEmpty() && row[60]=="1" && row[2] =="6"){ + VerificationItem = "垂直刻度"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"垂直刻度"<<"标准衰减器衰减量"<<"信号源幅度" + <<"指标下限"<<"测量值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3] + row[4]);//标称值 + Data.append(row[29]);//垂直刻度 + Data.append(row[25] + row[26]);//标准衰减器衰减量 + Data.append(row[27] + row[28]);//信号源幅度 + Data.append("");//指标下限 + Data.append("");//测量值 + Data.append("");//指标上限 + Data.append("");//结论 + ConversionDeviationList.append(Data); + } + + } + } + if(FrequencyDisplayList.count()!=0){ + DataMapList.insert("频率显示",FrequencyDisplayList); + }; + if(SweepWidthList.count()!=0){ + DataMapList.insert("扫频宽度",SweepWidthList); + }; + return DataMapList; +} +//保留5位小数,参数1:值,参数2:保留几位有效数字 +QString BaseCommonApi::formatDoubleWithEffectiveDigits(double value, int effectiveDigits) { + // 转换 double 为 QString 并保留足够的位数来避免精度损失 + QString str = QString::number(value, 'g', effectiveDigits + 6); // 'g' 格式表示使用最短的表示形式 + + // 移除尾部的零和小数点后的零(如果它们存在的话) + str.remove(QRegExp("0+$")); + if (str.endsWith('.')) { + str.chop(1); // 移除尾部的点 + } + + // 确保至少有一位数字在小数点后面(如果原始数字是小数) + if (str.contains('.') && str.indexOf('.') == str.length() - 1) { + str.append('0'); + } + + return str; +} +//保留小数点后几位 +QString BaseCommonApi::formatDoubleWithDecimalPlaces(double value, int decimalPlaces) { + + return QString::number(value, 'f', decimalPlaces); // 使用固定点表示法,并指定小数位数 + +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index dc0806b..e953cb5 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1935,7 +1935,59 @@ " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmidc.item_id " " WHERE bbdmii.item_category_id = :equipment_item_category_id "); } + query.bindValue(":equipment_item_category_id", equipment_item_category_id); + if (query.exec()) { + while (query.next()) { + Params param; + param.param = query.value("params").toString(); + result.append(param); + } + }else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } break; + case 2: + if(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty()) + { + query.prepare("SELECT DISTINCT data_type FROM biz_business_device_measure_item_data_dc_power bbdmiddp " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmiddp.item_id"); + }else { + query.prepare("SELECT DISTINCT data_type FROM biz_business_device_measure_item_data_dc_power bbdmiddp " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id= bbdmiddp.item_id " + "WHERE bbdmii.item_category_id = :equipment_item_category_id "); + } + query.bindValue(":equipment_item_category_id", equipment_item_category_id); + if (query.exec()) { + while (query.next()) { + Params param; + QString data_type = query.value("data_type").toString(); + switch (data_type.toInt()) { + case 1: + param.param = "电源电压调整率"; + break; + case 2: + param.param = "负载调整率"; + break; + case 3: + param.param = "电压示值误差"; + break; + case 4: + param.param = "电流示值误差(直接测量)"; + break; + case 5: + param.param = "电流示值误差(间接测量)"; + break; + case 6: + param.param = "纹波电压"; + break; + case 7: + param.param = "输出电压短期稳定性"; + break; + } + result.append(param); + } + } + break; case 4: bool isExit = false; QString itemName = NULL; @@ -1969,18 +2021,8 @@ result.append(paramList[i]); } } - - } - query.bindValue(":equipment_item_category_id", equipment_item_category_id); - if (query.exec()) { - while (query.next()) { - Params param; - param.param = query.value("params").toString(); - result.append(param); - } - }else { - qDebug() << "Query execution failed: " << query.lastError().text(); - } + break; + } return result; }; @@ -4428,3 +4470,374 @@ }; return DataMapList; } +//结果保存-二等铂电阻 +bool BaseCommonApi::InsertDeviceMeasureDataResistanceThermometer(DeviceMeasureDataResistanceThermometer thermometer) +{ + QSqlQuery query; + query.prepare("INSERT INTO biz_business_device_measure_data_resistance_thermometer (" + " id, data_id, data_type, data_category, upper_lower_point, location, unit," + " one_value, two_value, three_value, four_value, five_value, six_value, seven_value," + " eight_value, nine_value, ten_value, eleven_value, twelve_value, thirteen_value," + " fourteen_value, fifteen_value, max_value, min_value, volatility," + " upper_temperature_different, lower_temperature_different," + " max_horizontal_temperature_different, max_work_temperature_different," + " calibrated_point, indicating_value_forward_stroke," + " indicating_value_reverse_stroke, measure_indication_value_forward_stroke," + " measure_indication_value_reverse_stroke, indicating_error_forward_stroke," + " indicating_error_reverse_stroke, maximum_error, urel, rank_level," + " nominal_temperature, item, allow_error_lower, allow_error_upper," + " measure_value, create_time, update_time" + " ) VALUES (" + " :id, :data_id, :data_type, :data_category, :upper_lower_point, :location, :unit," + " :one_value, :two_value, :three_value, :four_value, :five_value, :six_value, :seven_value," + " :eight_value, :nine_value, :ten_value, :eleven_value, :twelve_value, :thirteen_value," + " :fourteen_value, :fifteen_value, :max_value, :min_value, :volatility," + " :upper_temperature_different, :lower_temperature_different," + " :max_horizontal_temperature_different, :max_work_temperature_different," + " :calibrated_point, :indicating_value_forward_stroke," + " :indicating_value_reverse_stroke, :measure_indication_value_forward_stroke," + " :measure_indication_value_reverse_stroke, :indicating_error_forward_stroke," + " :indicating_error_reverse_stroke, :maximum_error, :urel, :rank_level," + " :nominal_temperature, :item, :allow_error_lower, :allow_error_upper," + " :measure_value, :create_time, :update_time );"); + QString currentDateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"); + query.bindValue(":id", thermometer.id); + query.bindValue(":data_id", thermometer.data_id); + query.bindValue(":data_type", thermometer.data_type); + query.bindValue(":data_category", thermometer.data_category); + query.bindValue(":upper_lower_point", thermometer.upper_lower_point); + query.bindValue(":location", thermometer.location); + query.bindValue(":unit", thermometer.unit); + query.bindValue(":one_value", thermometer.one_value); + query.bindValue(":two_value", thermometer.two_value); + query.bindValue(":three_value", thermometer.three_value); + query.bindValue(":four_value", thermometer.four_value); + query.bindValue(":five_value", thermometer.five_value); + query.bindValue(":six_value", thermometer.six_value); + query.bindValue(":seven_value", thermometer.seven_value); + query.bindValue(":eight_value", thermometer.eight_value); + query.bindValue(":nine_value", thermometer.nine_value); + query.bindValue(":ten_value", thermometer.ten_value); + query.bindValue(":eleven_value", thermometer.eleven_value); + query.bindValue(":twelve_value", thermometer.twelve_value); + query.bindValue(":thirteen_value", thermometer.thirteen_value); + query.bindValue(":fourteen_value", thermometer.fourteen_value); + query.bindValue(":fifteen_value", thermometer.fifteen_value); + query.bindValue(":max_value", thermometer.max_value); + query.bindValue(":min_value", thermometer.min_value); + query.bindValue(":volatility", thermometer.volatility); + query.bindValue(":upper_temperature_different", thermometer.upper_temperature_different); + query.bindValue(":lower_temperature_different", thermometer.lower_temperature_different); + query.bindValue(":max_horizontal_temperature_different", thermometer.max_horizontal_temperature_different); + query.bindValue(":max_work_temperature_different", thermometer.max_work_temperature_different); + query.bindValue(":calibrated_point", thermometer.calibrated_point); + query.bindValue(":indicating_value_forward_stroke", thermometer.indicating_value_forward_stroke); + query.bindValue(":indicating_value_reverse_stroke", thermometer.indicating_value_reverse_stroke); + query.bindValue(":measure_indication_value_forward_stroke", thermometer.measure_indication_value_forward_stroke); + query.bindValue(":measure_indication_value_reverse_stroke", thermometer.measure_indication_value_reverse_stroke); + query.bindValue(":indicating_error_forward_stroke", thermometer.indicating_error_forward_stroke); + query.bindValue(":indicating_error_reverse_stroke", thermometer.indicating_error_reverse_stroke); + query.bindValue(":maximum_error", thermometer.maximum_error); + query.bindValue(":urel", thermometer.urel); + query.bindValue(":rank_level", thermometer.rank_level); + query.bindValue(":nominal_temperature", thermometer.nominal_temperature); + query.bindValue(":item", thermometer.item); + query.bindValue(":allow_error_lower", thermometer.allow_error_lower); + query.bindValue(":allow_error_upper", thermometer.allow_error_upper); + query.bindValue(":measure_value", thermometer.measure_value); + query.bindValue(":create_time", currentDateTime); + query.bindValue(":update_time", currentDateTime); + bool isSuccess = query.exec(); + if (!isSuccess) { + qDebug() << "Insert data failed: " << query.lastError().text(); + } + + return isSuccess; +} +//【查询】结果表 二等铂电阻 +QList BaseCommonApi::getDeviceMeasureDataResistanceThermometer(QString data_id,QStringList *HeadList) +{ + //待实现 +} +//【查询】检定项-频谱分析仪 +QMap> BaseCommonApi::getDeviceMeasureItemDataSpectrumAnalyzer(QString itemCatoryName,QString itemId,QMap *headList) +{ + QMap> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + + QSqlQuery query; + query.prepare("SELECT bbdmidsa.*,bbdmii.frequency_display,bbdmii.sweep_width,bbdmii.middle_frequency_width," + " bbdmii.middle_conversion_deviation,bbdmii.reference_level,bbdmii.vertical_scale,bbdmii.input_frequency," + " bbdmii.average_noise_level,bbdmii.harmonic_distortion,bbdmii.input_attenuation,bbdmii.gain_compression " + " FROM biz_business_device_measure_item_data_spectrum_analyzer bbdmidsa " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidsa.item_id" + " WHERE bbdmidsa.item_id = :itemId " + " ORDER BY bbdmidsa.update_time DESC"); + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项id + result.append(query.value("data_type").toString());//检定项数据类型(一个检定项中区分两个表格)(字典code) + result.append(query.value("nominal_value").toString());//标称值 + result.append(query.value("unit").toString());//标称值单位 + result.append(query.value("sweep_width").toString());//扫频宽度 + result.append(query.value("sweep_width_unit").toString());//扫频宽度单位 + result.append(query.value("horizontal_resolution").toString());//水平分辨率 + result.append(query.value("horizontal_resolution_unit").toString());//水平分辨率单位 + result.append(query.value("resolution_bandwidth").toString());//分辨率带宽 + result.append(query.value("resolution_bandwidth_unit").toString());//分辨率带宽单位 + result.append(query.value("frequency").toString());//频率 + result.append(query.value("frequency_unit").toString());//频率单位 + result.append(query.value("amplitude").toString());//幅度 + result.append(query.value("amplitude_unit").toString());//幅度单位 + result.append(query.value("frequency_reference_accuracy").toString());//频率基准精度(计算技术指标使用(频率显示)) + result.append(query.value("value_one").toString());//数值1(不带%,计算技术指标使用(频率显示))/数值(不带单位,扫频宽度/中频带宽/中频带宽转换偏差参考电平/垂直刻度/输入频响/输入衰减/1dB增益压缩点) + result.append(query.value("value_two").toString());//数值2(不带%,计算技术指标使用(频率显示))/中频带宽 + result.append(query.value("value_three").toString());//数值3(不带Hz,计算技术指标使用(频率显示)) + result.append(query.value("value_four").toString());//数值4(计算技术指标使用(频率显示)) + result.append(query.value("technical_index").toString());//技术指标(存正负号/存符号(1dB增益压缩点)) + result.append(query.value("technical_index_unit").toString());//技术指标单位 + result.append(query.value("technical_index_left").toString());//技术指标左(中频带宽) + result.append(query.value("technical_index_right").toString());//技术指标右(中频带宽) + result.append(query.value("reference_point").toString());//是否为参考点(1/0) + result.append(query.value("standard_attenuator_attenuation").toString());//标准衰减器衰减量 + result.append(query.value("standard_attenuator_attenuation_unit").toString());//标准衰减器衰减量单位 + result.append(query.value("signal_source_amplitude").toString());//信号源幅度 + result.append(query.value("signal_source_amplitude_unit").toString());//信号源幅度单位 + result.append(query.value("vertical_scale").toString());//垂直刻度 + result.append(query.value("start_frequency").toString());//起始频率 + result.append(query.value("start_frequency_unit").toString());//起始频率单位 + result.append(query.value("end_frequency").toString());//终止频率 + result.append(query.value("end_frequency_unit").toString());//终止频率单位 + result.append(query.value("corrected_value").toString());//修正值 + result.append(query.value("corrected_value_unit").toString());//修正值单位 + result.append(query.value("upper_index").toString());//指标上限 + result.append(query.value("upper_index_unit").toString());//指标上限单位 + result.append(query.value("input_attenuator").toString());//输入衰减器 + result.append(query.value("input_attenuator_unit").toString());//输入衰减器单位 + result.append(query.value("spectrum_level").toString());//参考电平 + result.append(query.value("spectrum_level_unit").toString());//参考电平单位 + result.append(query.value("rbw_value").toString());//RBW + result.append(query.value("rbw_value_unit").toString());//RBW单位 + result.append(query.value("vbw_value").toString());//VBW + result.append(query.value("vbw_value_unit").toString());//VBW单位 + result.append(query.value("upper_index_twice").toString());//二次谐波失真指标上限 + result.append(query.value("upper_index_twice_unit").toString());//二次谐波失真指标上限单位 + result.append(query.value("upper_index_thrice").toString());//三次谐波失真指标上限 + result.append(query.value("upper_index_thrice_unit").toString());//三次谐波失真指标上限单位 + result.append(query.value("upper_index_quartic").toString());//四次谐波失真指标上限 + result.append(query.value("upper_index_quartic_unit").toString());//四次谐波失真指标上限单位 + result.append(query.value("type_value").toString());//类型(校准信号) + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + result.append(query.value("frequency_display").toString());//频率显示(频谱分析仪) 55 + result.append(query.value("sweep_width").toString());//扫频宽度(频谱分析仪) + result.append(query.value("middle_frequency_width").toString());//中频宽度(频谱分析仪) + result.append(query.value("middle_conversion_deviation").toString());//中频带宽转换偏差(频谱分析仪) + result.append(query.value("reference_level").toString());//参考电平(频谱分析仪) + result.append(query.value("vertical_scale").toString());//垂直刻度(频谱分析仪) + result.append(query.value("input_frequency").toString());//输入频响(频谱分析仪) + result.append(query.value("average_noise_level").toString());//平均噪声电平(频谱分析仪) + result.append(query.value("harmonic_distortion").toString());//谐波失真(频谱分析仪)/(低频信号源)/(S参数) + result.append(query.value("input_attenuation").toString());//输入衰减(频谱分析仪) + result.append(query.value("gain_compression").toString());//1dB增益压缩点(频谱分析仪) + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + //进行检定项目列头转换 + DataMapList= GetDataReturnItemListBySpectrumAnalyzer(itemCatoryName,resultData,DataMapList,headList); + return DataMapList; +} +QMap> BaseCommonApi::GetDataReturnItemListBySpectrumAnalyzer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) +{ + QList FrequencyDisplayList; + QList SweepWidthList; + QList IntermediateFrequencyBandwidthList; + QList ConversionDeviationList; + if(itemCatoryName.contains("频谱分析仪")){ + for(const QStringList &row : ResultData) + { + QString VerificationItem=NULL; + if (!row.isEmpty() && row[55]=="1" && row[2] == "1") { + VerificationItem = "频率显示"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标称值单位"<<"扫频宽度"<<"分辨力带宽"<<"水平分辨率"<<"测量值1"<<"测量值2"<<"测量值3" + <<"指标下限"<<"均值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]+ row[4]);//标称值 + Data.append(row[4]);//标称值单位 需要隐藏 + Data.append(row[5]);//扫频宽度 + Data.append(row[9]);//分辨率带宽 + Data.append(row[7]);//水平分辨率 + Data.append("");//测量值1 + Data.append("");//测量值2 + Data.append("");//测量值3 + double index_lower = row[3].toInt()-(row[3].toInt()*row[15].toDouble()+row[16].toDouble() * row[5].toInt()+ row[17].toDouble() * row[9].toInt() + row[18].toDouble() + row[19].toDouble() * row[7].toInt()); + Data.append(QString::number(index_lower) + row[4]);//指标下限 + Data.append("");//均值 + double index_upper = row[3].toInt() + (row[3].toInt() * row[15].toDouble() + row[16].toDouble() * row[5].toInt() +row[17].toDouble() * row[9].toInt() + row[18].toDouble() + row[19].toDouble() * row[7].toInt()); + Data.append(QString::number(index_upper) + row[4]);//指标上限 + Data.append("");//结论 + FrequencyDisplayList.append(Data); + }else if(!row.isEmpty() && row[56]=="1" && row[2] =="2"){ + VerificationItem = "扫频宽度"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标称值单位"<<"水平分辨率"<<"fl1" + <<"fr1"<<"fl2"<<"fr2"<<"fl3"<<"fr3"<<"指标下限"<<"均值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]+ row[4]);//标称值 + Data.append(row[4]);//标称值单位 需要隐藏 + Data.append(row[7]);//水平分辨率 + Data.append("");//fl1 + Data.append("");//fr1 + Data.append("");//fl2 + Data.append("");//fr2 + Data.append("");//fl3 + Data.append("");//fr3 + double index_lower = row[3].toInt() - (row[3].toInt() * row[15].toDouble() + row[7].toInt()); + QString index_lowerr_num = formatDoubleWithEffectiveDigits(index_lower,5); + Data.append(index_lowerr_num+ row[4]);//指标下限 + Data.append("");//均值 + double index_upper = row[3].toInt() + (row[3].toInt() * row[15].toDouble() + row[7].toInt()); + QString index_upper_num = formatDoubleWithEffectiveDigits(index_upper,5); + Data.append(index_upper_num + row[4]);//指标上限 + Data.append("");//结论 + SweepWidthList.append(Data); + }else if(!row.isEmpty() && row[57]=="1" && row[2] =="3"){ + VerificationItem = "中频带宽"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标称值单位"<<"fl1" + <<"fr1"<<"△f1"<<"fl2"<<"fr2"<<"△f2"<<"fl3"<<"fr3"<<"△f3"<<"指标下限"<<"均值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3]+ row[4]);//标称值 + Data.append(row[4]);//标称值单位 需要隐藏 + Data.append("");//fl1 + Data.append("");//fr1 + Data.append("");//△f1 + Data.append("");//fl2 + Data.append("");//fr2 + Data.append("");//△f2 + Data.append("");//fl3 + Data.append("");//fr3 + Data.append("");//△f3 + Data.append("");//指标下限 + Data.append("");//均值 + double index_upper = row[3].toInt() + (row[3].toInt() * row[15].toDouble()); + QString index_upper_num = formatDoubleWithDecimalPlaces(index_upper,2); + Data.append(index_upper_num + row[4]);//指标上限 + Data.append("");//结论 + IntermediateFrequencyBandwidthList.append(Data); + }else if(!row.isEmpty() && row[58]=="1" && row[2] =="4"){ + VerificationItem = "中频带宽转换偏差"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"中频带宽"<<"测量值"<<"指标下限" + <<"转换偏差"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3] + row[4]);//中频带宽 + Data.append("");//测量值 + Data.append(row[22]);//指标下限 + Data.append("");//转换偏差 + Data.append(row[23]);//指标上限 + Data.append("");//结论 + ConversionDeviationList.append(Data); + }else if(!row.isEmpty() && row[59]=="1" && row[2] =="5"){ + VerificationItem = "参考电平"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"标准衰减器衰减量"<<"信号源幅度" + <<"指标下限"<<"测量值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3] + row[4]);//标称值 + Data.append(row[25] + row[26]);//标准衰减器衰减量 + Data.append(row[27] + row[28]);//信号源幅度 + Data.append("");//指标下限 + Data.append("");//测量值 + Data.append("");//指标上限 + Data.append("");//结论 + ConversionDeviationList.append(Data); + }else if(!row.isEmpty() && row[60]=="1" && row[2] =="6"){ + VerificationItem = "垂直刻度"; + //添加列头 + QStringList head; + head <<"序号"<<"检定项目"<<"标称值"<<"垂直刻度"<<"标准衰减器衰减量"<<"信号源幅度" + <<"指标下限"<<"测量值"<<"指标上限"<<"结论"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 + Data.append(row[3] + row[4]);//标称值 + Data.append(row[29]);//垂直刻度 + Data.append(row[25] + row[26]);//标准衰减器衰减量 + Data.append(row[27] + row[28]);//信号源幅度 + Data.append("");//指标下限 + Data.append("");//测量值 + Data.append("");//指标上限 + Data.append("");//结论 + ConversionDeviationList.append(Data); + } + + } + } + if(FrequencyDisplayList.count()!=0){ + DataMapList.insert("频率显示",FrequencyDisplayList); + }; + if(SweepWidthList.count()!=0){ + DataMapList.insert("扫频宽度",SweepWidthList); + }; + return DataMapList; +} +//保留5位小数,参数1:值,参数2:保留几位有效数字 +QString BaseCommonApi::formatDoubleWithEffectiveDigits(double value, int effectiveDigits) { + // 转换 double 为 QString 并保留足够的位数来避免精度损失 + QString str = QString::number(value, 'g', effectiveDigits + 6); // 'g' 格式表示使用最短的表示形式 + + // 移除尾部的零和小数点后的零(如果它们存在的话) + str.remove(QRegExp("0+$")); + if (str.endsWith('.')) { + str.chop(1); // 移除尾部的点 + } + + // 确保至少有一位数字在小数点后面(如果原始数字是小数) + if (str.contains('.') && str.indexOf('.') == str.length() - 1) { + str.append('0'); + } + + return str; +} +//保留小数点后几位 +QString BaseCommonApi::formatDoubleWithDecimalPlaces(double value, int decimalPlaces) { + + return QString::number(value, 'f', decimalPlaces); // 使用固定点表示法,并指定小数位数 + +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index 81c85f2..fc97712 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -1137,6 +1137,57 @@ QDateTime create_time; QDateTime update_time; }; +//结果保存-二等铂电阻-查询 +class DeviceMeasureDataResistanceThermometer:public BaseClass +{ +public: + QString id; + QString data_id;//检定数据管理基础信息表id + QString data_type;//检定数据类型(一个检定数据中区分两个表格)(字典code) + QString data_category;//检定数据类别(1检定数据,2计算结果数据) + QString upper_lower_point;//上/下限点 + QString location;//位置 + QString unit;//单位 + QString one_value;//示值1(波动性测试)/ROA1(均匀性测试)/标准器示值1(工业铂铜热电阻) + QString two_value;//示值2(波动性测试)/RA1(均匀性测试)/被检示值1(工业铂铜热电阻) + QString three_value;//示值3(波动性测试)/ROA2(均匀性测试)/标准器示值2(工业铂铜热电阻) + QString four_value;//示值4(波动性测试)/RA2(均匀性测试)/被检示值2(工业铂铜热电阻) + QString five_value;//示值5(波动性测试)/ROA3(均匀性测试)/标准器示值3(工业铂铜热电阻) + QString six_value;//示值6(波动性测试)/RA3(均匀性测试)/被检示值3(工业铂铜热电阻) + QString seven_value;//示值7(波动性测试)/ROA4(均匀性测试)/标准器示值4(工业铂铜热电阻) + QString eight_value;//示值8(波动性测试)/RA4(均匀性测试)/被检示值4(工业铂铜热电阻) + QString nine_value;//示值9(波动性测试)/ROA均值(均匀性测试)/标准器示值5(工业铂铜热电阻) + QString ten_value;//示值10(波动性测试)/RA均值(均匀性测试)/被检示值5(工业铂铜热电阻) + QString eleven_value;//示值11(波动性测试)/标准器示值6(工业铂铜热电阻) + QString twelve_value;//示值12(波动性测试)/被检示值6(工业铂铜热电阻) + QString thirteen_value;//示值13(波动性测试)/标准器示值均值(工业铂铜热电阻) + QString fourteen_value;//示值14(波动性测试)/被检示值均值(工业铂铜热电阻) + QString fifteen_value;//示值15(波动性测试) + QString max_value;//最大值 + QString min_value;//最小值 + QString volatility;//波动性 + QString upper_temperature_different;//上水平面温差 + QString lower_temperature_different;//下水平面温差 + QString max_horizontal_temperature_different;//水平最大温差 + QString max_work_temperature_different;//工作区域最大温差 + QString calibrated_point;//校准点 + QString indicating_value_forward_stroke;//标准器示值正行程 + QString indicating_value_reverse_stroke;//标准器示值反行程 + QString measure_indication_value_forward_stroke;//被检示值正行程 + QString measure_indication_value_reverse_stroke;//被检示值反行程 + QString indicating_error_forward_stroke;//示值误差正行程 + QString indicating_error_reverse_stroke;//示值误差反行程 + QString maximum_error;//最大允许误差 + QString urel;//扩展不确定度 + QString rank_level;//级别(字典value) + QString nominal_temperature;//标称温度 + QString item;//项目(结果表) + QString allow_error_lower;//允差下限(结果表) + QString allow_error_upper;//允差上限(结果表) + QString measure_value;//测量值(结果表) + QDateTime create_time; + QDateTime update_time; +}; enum class SyncRunStatus { @@ -1237,6 +1288,8 @@ static QList getDeviceMeasureDataPistonGauge(QString data_id,QStringList *HeadList); //检定数据管理-检定结果信息-直流稳压电源 static QList getbizBusinessDeviceMeasureDataDcPower(QString data_id,QStringList *HeadList); + //【查询】二等铂电阻结果 + static QList getDeviceMeasureDataResistanceThermometer(QString data_id,QStringList *HeadList); //核查数据管理-首页 static QList getCheckData(); // 核查数据管理-基本信息-核查件 @@ -1374,7 +1427,7 @@ static bool InsertDeviceMeasureDataPistonGauge(DeviceMeasureDataPistonGauge gauge); //测试页面 压力 外观及功能性检查和检定数据头 static DeviceMeasureCalibratorPistonGauge getDeviceMeasureCalibratorPistonGaugeBystatus(QString itemCatoryName,QString itemId); -// 【查询】直流稳压电源 +// 【查询】检定项直流稳压电源 static QMap> getDeviceMeasureItemDataDcPower(QString itemCatoryName,QString itemId,QMap *headList); static QMap> GetDataReturnItemListByDcPower(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); //【结果保存】直流稳压电源 @@ -1388,6 +1441,15 @@ //二等铂电阻 static QMap> getDeviceMeasureItemDataResistanceThermometer(QString itemCatoryName,QString itemId,QMap *headList); static QMap> GetDataReturnItemListByResistanceThermometer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); + //结果保存-二等铂电阻 + static bool InsertDeviceMeasureDataResistanceThermometer(DeviceMeasureDataResistanceThermometer thermometer); + //【查询】检定项-频谱分析仪 + static QMap> getDeviceMeasureItemDataSpectrumAnalyzer(QString itemCatoryName,QString itemId,QMap *headList); + static QMap> GetDataReturnItemListBySpectrumAnalyzer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); + //保留5位小数,参数1:值,参数2:保留几位有效数字 + static QString formatDoubleWithEffectiveDigits(double value, int effectiveDigits); + //保留小数点后几位 + static QString formatDoubleWithDecimalPlaces(double value, int decimalPlaces); };