diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 3efbf3a..804d39d 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -917,26 +917,50 @@ return DataList; }; -//根据被检设备ID获取当前设备的 检定项目及检定点 测试函数 -QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) +//查询测试页面中 生成结果处理的表头及数据 +QMap> BaseCommonApi::Search_GenerateTableClass(QString DeiverId,QMap *HeadList) { + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + QList deviceCatory = BaseCommonApi::getDeviceMeasureEquipmentCatory(DeiverId); + QString deviceCatoryName = deviceCatory[0].item_category_name; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 4: + DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate(deviceCatoryName,CliTable[0].id,HeadList); + break; + case 13: + //示波器标准装置 = 13 + //DataList=BaseCommonApi::getDeviceOscilloscopeCalibration(deviceCatoryName,CliTable[0].id,HeadList); + break; - QList DataList; - DataList.clear(); - QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); - if(CliTable.count()==0)return DataList; - switch (CliTable[0].belong_standard_equipment.toInt()) - { - case 1: - //CliTable[0].id - //1717086652508487681 - DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); -// case 4: -// DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(CliTable[0].id,HeadList); - } + } - return DataList; -}; + return DataList; +} + +//根据被检设备ID获取当前设备的 检定项目及检定点 测试函数 +//QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) +//{ + +// QList DataList; +// DataList.clear(); +// QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); +// if(CliTable.count()==0)return DataList; +// switch (CliTable[0].belong_standard_equipment.toInt()) +// { +// case 1: +// //CliTable[0].id +// //1717086652508487681 +// DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); +//// case 4: +//// DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(CliTable[0].id,HeadList); +// } + +// return DataList; +//}; //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -3100,6 +3124,111 @@ }; return DataMapList; }; + //一般压力表 查询生成结果处理界面的头和数据 +QMap> BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate(QString itemCatoryName,QString itemId,QMap *headList) +{ + QMap> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + + QSqlQuery query; + query.prepare("SELECT bbdmidpg.*,bbdmii.appearance_function_check,bbdmicp.indication_error,bbdmicp.measure_medium, " + " bbdmicp.division,bbdmicp.deviation_and_switching,bbdmicp.display_value_one,bbdmicp.display_value_two,bbdmicp.display_value_three, " + " bbdmicp.insulation_resistance,bbdmicp.appearance,bbdmicp.tightness,bbdmicp.pointer_deflection_stability," + " bbdmicp.accuracy_level_lower,bbdmicp.accuracy_level_upper" + " FROM biz_business_device_measure_item_data_piston_gauge bbdmidpg " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidpg.item_id " + " JOIN biz_business_device_measure_item_config_piston_gauge bbdmicp ON bbdmicp.item_id = bbdmidpg.item_id " + " WHERE bbdmidpg.item_id = :itemId ORDER BY bbdmidpg.update_time DESC"); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("indicating_value").toString());//标准器示值 + result.append(query.value("return_error").toString());//回程误差允许值 + result.append(query.value("friction_error").toString());//轻敲位移允许值 + result.append(query.value("indicating_error").toString());//示值误差允许值 + result.append(query.value("zero_position").toString());//零位是否带止销 + result.append(query.value("measure_medium").toString());//检定介质(字典value) + result.append(query.value("accuracy_class").toString());//准确度等级 + result.append(query.value("maximum_error").toString());//最大允许误差 + result.append(query.value("theoretical_output_value").toString());//理论输出值 + result.append(query.value("theoretical_output_value_unit").toString());//理论输出值单位 + result.append(query.value("appearance_function_check").toString());//外观及功能性检查(1/0) + result.append(query.value("indication_error").toString());//示值误差、回程误差、轻敲位移 + result.append(query.value("measure_medium").toString());//检定介质(字典value) + result.append(query.value("division").toString());//分度值的五分之一 + result.append(query.value("deviation_and_switching").toString());//设定点偏差及切换差 + result.append(query.value("display_value_one").toString());//设定标准器示值1 + result.append(query.value("display_value_two").toString());//设定标准器示值2 + result.append(query.value("display_value_three").toString());//设定标准器示值3 + result.append(query.value("insulation_resistance").toString());//绝缘电阻 + result.append(query.value("appearance").toString());//外观 + result.append(query.value("tightness").toString());//密封性 + result.append(query.value("pointer_deflection_stability").toString());//指针偏转平稳性 + result.append(query.value("accuracy_level_lower").toString());//准确度等级(量程上限90%以下) + result.append(query.value("accuracy_level_upper").toString());//准确度等级(量程上限90%以上) + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + +// *headList <<"序号"<<"检定项id"<<"标准器示值"<<"回程误差允许值"<<"轻敲位移允许值"<<"示值误差允许值"<<"零位是否带止销" +// <<"检定介质"<<"准确度等级"<<"最大允许误差"<<"理论输出值"<<"理论输出值单位"<<"外观及功能性检查(1/0)"<<"示值误差、回程误差、轻敲位移" +// <<"检定介质(字典value)"<<"分度值的五分之一"<<"创建时间"<<"更新时间"; + //进行检定项目列头转换 + DataMapList= GetDataReturnItemListByPistonGaugeResult(itemCatoryName,resultData,DataMapList,headList); + return DataMapList; +}; + +QMap> BaseCommonApi::GetDataReturnItemListByPistonGaugeResult(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) +{ + QList IndicationErrorList; + if(itemCatoryName.contains("一般压力表")){ + for(const QStringList &row : ResultData) + { + QString VerificationItem=NULL; + if (!row.isEmpty()) { + VerificationItem = "项目"; + //添加列头 + QStringList head; + head <<"项目-量程上限90%以下"<<"项目-量程上限90%以上"<<"示值误差允许值"<<"示值误差最大值"<<"轻敲位移允许值"<<"轻敲位移最大值" + <<"回程误差允许值"<<"回程误差最大值"<<"结果"<<"输出备注"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[24]); //量程上限90%以下 + Data.append(row[25]); //量程上限90%及以上 + Data.append(row[5]);//示值误差允许值 + Data.append("");//示值误差最大值 + Data.append(row[4]);//轻敲位移允许值 + Data.append("");//轻敲位移最大值 + Data.append(row[3]);//回程误差允许值 + Data.append("");//回程误差最大值 + Data.append("");//结果 + Data.append("");//输出备注 + IndicationErrorList.append(Data); + } + } + } + if(IndicationErrorList.count()!=0){ + DataMapList.insert("项目",IndicationErrorList); + }; + return DataMapList; +} + + + + + + //测试界面 外观及功能性检查和检定数据头 //QMap>> ; @@ -3759,7 +3888,7 @@ } - DataMapList= GetDataReturnItemListByPistonGauge(itemCatoryName,resultData,DataMapList,headList); + DataMapList= GetDataReturnItemListByOscilloscope(itemCatoryName,resultData,DataMapList,headList); return DataMapList; }; QMap> BaseCommonApi::GetDataReturnItemListByOscilloscope(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 3efbf3a..804d39d 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -917,26 +917,50 @@ return DataList; }; -//根据被检设备ID获取当前设备的 检定项目及检定点 测试函数 -QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) +//查询测试页面中 生成结果处理的表头及数据 +QMap> BaseCommonApi::Search_GenerateTableClass(QString DeiverId,QMap *HeadList) { + QMap> DataList; + DataList.clear(); + QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); + if(CliTable.count()==0)return DataList; + QList deviceCatory = BaseCommonApi::getDeviceMeasureEquipmentCatory(DeiverId); + QString deviceCatoryName = deviceCatory[0].item_category_name; + switch (CliTable[0].belong_standard_equipment.toInt()) + { + case 4: + DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate(deviceCatoryName,CliTable[0].id,HeadList); + break; + case 13: + //示波器标准装置 = 13 + //DataList=BaseCommonApi::getDeviceOscilloscopeCalibration(deviceCatoryName,CliTable[0].id,HeadList); + break; - QList DataList; - DataList.clear(); - QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); - if(CliTable.count()==0)return DataList; - switch (CliTable[0].belong_standard_equipment.toInt()) - { - case 1: - //CliTable[0].id - //1717086652508487681 - DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); -// case 4: -// DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(CliTable[0].id,HeadList); - } + } - return DataList; -}; + return DataList; +} + +//根据被检设备ID获取当前设备的 检定项目及检定点 测试函数 +//QList BaseCommonApi::Search_CalibrationTable(QString DeiverId,QStringList *HeadList) +//{ + +// QList DataList; +// DataList.clear(); +// QList CliTable=BaseCommonApi::getJudgeCalibrationTable(DeiverId); +// if(CliTable.count()==0)return DataList; +// switch (CliTable[0].belong_standard_equipment.toInt()) +// { +// case 1: +// //CliTable[0].id +// //1717086652508487681 +// DataList=BaseCommonApi::getVerMultiCal(CliTable[0].id,HeadList); +//// case 4: +//// DataList=BaseCommonApi::getDeviceMeasureCalibratorPistonGauge(CliTable[0].id,HeadList); +// } + +// return DataList; +//}; //核查设备对应的装置表 核查项及核查点 传参设备id QList BaseCommonApi::Search_VerifyTable(QString DeiverId,QStringList *HeadList ) { @@ -3100,6 +3124,111 @@ }; return DataMapList; }; + //一般压力表 查询生成结果处理界面的头和数据 +QMap> BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate(QString itemCatoryName,QString itemId,QMap *headList) +{ + QMap> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + + QSqlQuery query; + query.prepare("SELECT bbdmidpg.*,bbdmii.appearance_function_check,bbdmicp.indication_error,bbdmicp.measure_medium, " + " bbdmicp.division,bbdmicp.deviation_and_switching,bbdmicp.display_value_one,bbdmicp.display_value_two,bbdmicp.display_value_three, " + " bbdmicp.insulation_resistance,bbdmicp.appearance,bbdmicp.tightness,bbdmicp.pointer_deflection_stability," + " bbdmicp.accuracy_level_lower,bbdmicp.accuracy_level_upper" + " FROM biz_business_device_measure_item_data_piston_gauge bbdmidpg " + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidpg.item_id " + " JOIN biz_business_device_measure_item_config_piston_gauge bbdmicp ON bbdmicp.item_id = bbdmidpg.item_id " + " WHERE bbdmidpg.item_id = :itemId ORDER BY bbdmidpg.update_time DESC"); + // 将参数绑定到占位符 + query.bindValue(":itemId", itemId); + if (query.exec()) { + while (query.next()) { + result.clear(); + result.append(query.value("id").toString()); + result.append(query.value("item_id").toString()); //检定项目ID + result.append(query.value("indicating_value").toString());//标准器示值 + result.append(query.value("return_error").toString());//回程误差允许值 + result.append(query.value("friction_error").toString());//轻敲位移允许值 + result.append(query.value("indicating_error").toString());//示值误差允许值 + result.append(query.value("zero_position").toString());//零位是否带止销 + result.append(query.value("measure_medium").toString());//检定介质(字典value) + result.append(query.value("accuracy_class").toString());//准确度等级 + result.append(query.value("maximum_error").toString());//最大允许误差 + result.append(query.value("theoretical_output_value").toString());//理论输出值 + result.append(query.value("theoretical_output_value_unit").toString());//理论输出值单位 + result.append(query.value("appearance_function_check").toString());//外观及功能性检查(1/0) + result.append(query.value("indication_error").toString());//示值误差、回程误差、轻敲位移 + result.append(query.value("measure_medium").toString());//检定介质(字典value) + result.append(query.value("division").toString());//分度值的五分之一 + result.append(query.value("deviation_and_switching").toString());//设定点偏差及切换差 + result.append(query.value("display_value_one").toString());//设定标准器示值1 + result.append(query.value("display_value_two").toString());//设定标准器示值2 + result.append(query.value("display_value_three").toString());//设定标准器示值3 + result.append(query.value("insulation_resistance").toString());//绝缘电阻 + result.append(query.value("appearance").toString());//外观 + result.append(query.value("tightness").toString());//密封性 + result.append(query.value("pointer_deflection_stability").toString());//指针偏转平稳性 + result.append(query.value("accuracy_level_lower").toString());//准确度等级(量程上限90%以下) + result.append(query.value("accuracy_level_upper").toString());//准确度等级(量程上限90%以上) + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + +// *headList <<"序号"<<"检定项id"<<"标准器示值"<<"回程误差允许值"<<"轻敲位移允许值"<<"示值误差允许值"<<"零位是否带止销" +// <<"检定介质"<<"准确度等级"<<"最大允许误差"<<"理论输出值"<<"理论输出值单位"<<"外观及功能性检查(1/0)"<<"示值误差、回程误差、轻敲位移" +// <<"检定介质(字典value)"<<"分度值的五分之一"<<"创建时间"<<"更新时间"; + //进行检定项目列头转换 + DataMapList= GetDataReturnItemListByPistonGaugeResult(itemCatoryName,resultData,DataMapList,headList); + return DataMapList; +}; + +QMap> BaseCommonApi::GetDataReturnItemListByPistonGaugeResult(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) +{ + QList IndicationErrorList; + if(itemCatoryName.contains("一般压力表")){ + for(const QStringList &row : ResultData) + { + QString VerificationItem=NULL; + if (!row.isEmpty()) { + VerificationItem = "项目"; + //添加列头 + QStringList head; + head <<"项目-量程上限90%以下"<<"项目-量程上限90%以上"<<"示值误差允许值"<<"示值误差最大值"<<"轻敲位移允许值"<<"轻敲位移最大值" + <<"回程误差允许值"<<"回程误差最大值"<<"结果"<<"输出备注"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[24]); //量程上限90%以下 + Data.append(row[25]); //量程上限90%及以上 + Data.append(row[5]);//示值误差允许值 + Data.append("");//示值误差最大值 + Data.append(row[4]);//轻敲位移允许值 + Data.append("");//轻敲位移最大值 + Data.append(row[3]);//回程误差允许值 + Data.append("");//回程误差最大值 + Data.append("");//结果 + Data.append("");//输出备注 + IndicationErrorList.append(Data); + } + } + } + if(IndicationErrorList.count()!=0){ + DataMapList.insert("项目",IndicationErrorList); + }; + return DataMapList; +} + + + + + + //测试界面 外观及功能性检查和检定数据头 //QMap>> ; @@ -3759,7 +3888,7 @@ } - DataMapList= GetDataReturnItemListByPistonGauge(itemCatoryName,resultData,DataMapList,headList); + DataMapList= GetDataReturnItemListByOscilloscope(itemCatoryName,resultData,DataMapList,headList); return DataMapList; }; QMap> BaseCommonApi::GetDataReturnItemListByOscilloscope(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index 331c23c..8657156 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -1029,7 +1029,9 @@ public: QString id; QString data_id;//检定数据管理基础信息表id +// dataType: 1电源电压调整率,2负载调整率,3电压示值误差,4电流示值误差(直接测量),5电流示值误差(间接测量),6纹波电压,7输出电压短期稳定性 QString data_type;//检定数据类型(一个检定数据中区分多个表格)(字典code) +// dataTypeType: 1数字式、2指针式 QString data_type_type;//检定项数据类型的类型(一个检定项中一个表格切换的类型)(字典value) QString output_channel;//输出通道 QString unit;//单位 @@ -1059,6 +1061,77 @@ QString create_time; QString update_time; }; +//结果保存-示波器装置-查询 +class DeviceOscilloscopeCalibration:public BaseClass +{ +public: + QString id; + QString data_id; + QString data_type; + QString cycle_signal; + QString cycle_signal_unit; + QString time_base_absolute_error; + QString time_base_absolute_error_unit; + QString time_base_relative_error; + QString time_base_relative_error_unit; + QString technical_index_symbol; + QString technical_index; + QString technical_index_unit; + QString conclusion; + QString thoroughfare; + QString impedance; + QString impedance_unit; + QString vertical_deflect_coefficient; + QString vertical_deflect_coefficient_unit; + QString standard_value; + QString standard_value_unit; + QString measure_value; + QString measure_value_unit; + QString relative_error; + QString error_value; + QString band_width; + QString band_width_unit; + QString reference_amplitude; + QString reference_amplitude_unit; + QString measure_amplitude; + QString measure_amplitude_unit; + QString decibel_number; + QString trigger_type; + QString signal_frequency; + QString signal_frequency_unit; + QString item_type; + QString nominal_value; + QString nominal_value_unit; + QString top_measure_value; + QString top_measure_value_unit; + QString bottom_measure_value; + QString bottom_measure_value_unit; + QString scan_type; + QString horizontal_scale_gear; + QString horizontal_scale_gear_unit; + QString vertical_scale_gear; + QString vertical_scale_gear_unit; + QString frequency_upper; + QString frequency_upper_unit; + QString output_signal_amplitude; + QString rise_time; + QString correct_rise_time; + QString signal_type; + QString nominal_amplitude_value; + QString nominal_amplitude_value_unit; + QString nominal_frequency_value; + QString nominal_frequency_value_unit; + QString measure_amplitude_value; + QString measure_amplitude_value_unit; + QString measure_frequency_value; + QString measure_frequency_value_unit; + QString frequency_deviation; + QString amplitude_deviation; + QString exceed_mark; + QDateTime create_time; + QDateTime update_time; +}; + enum class SyncRunStatus { Running, @@ -1280,13 +1353,18 @@ static bool InsertzdDataSync(zdDataSync data); //根据log_sync_id查询数据同步表 static QList getzdDataSyncByuserId(QString log_sync_id); - - static bool SearchSelectTable(QString id, BaseClass *object); + // 根据不同装置保存结果数据 + static bool SearchSelectTable(QString id, BaseClass *object); + //查询测试页面中 生成结果处理的表头及数据 + static QMap> Search_GenerateTableClass(QString DeiverId,QMap *HeadList); //【查询】检定项0.02活塞式压力计数据(包含字典的字段都存为字典value) // static QList getDeviceMeasureCalibratorPistonGauge(QString itemId,QStringList *headList); static QMap> getDeviceMeasureCalibratorPistonGauge(QString itemCatoryName,QString itemId,QMap *headList); static QMap> GetDataReturnItemListByPistonGauge(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); - //【结果保存】压力 + //0.02压力 测试界面 查询生成结果处理界面的头和数据 + static QMap> getDeviceMeasureCalibratorPistonGaugeGenerate(QString itemCatoryName,QString itemId,QMap *headList); + static QMap> GetDataReturnItemListByPistonGaugeResult(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); + //【结果保存】压力 static bool InsertDeviceMeasureDataPistonGauge(DeviceMeasureDataPistonGauge gauge); // 【查询】直流稳压电源 @@ -1297,7 +1375,7 @@ //示波器 static QMap> getDeviceOscilloscopeCalibration(QString itemCatoryName,QString itemId,QMap *headList); - QMap> GetDataReturnItemListByOscilloscope(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); + static QMap> GetDataReturnItemListByOscilloscope(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); };