diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 0be3d34..0cb1812 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1923,6 +1923,7 @@ { QList result; QSqlQuery query; + QList standard_item = getitemCategoryList(belong_standard_equipment_id); switch (belong_standard_equipment_id.toInt()) { case 1: if(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty()) @@ -1935,6 +1936,40 @@ " WHERE bbdmii.item_category_id = :equipment_item_category_id "); } break; + case 4: + bool isExit = false; + QString itemName = NULL; + if(!(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty())) + { + for(int i = 0;i < standard_item.length();i++){ + if (equipment_item_category_id.contains(standard_item[i].id)){ + isExit = true; + itemName = standard_item[i].category_name; + } + } + if(isExit && itemName.contains("一般压力表")){ + Params param; + param.param = "示值误差/回程误差/轻敲位移"; + result.append(param); + } + }else { + Params param; + param.param = "示值误差/回程误差/轻敲位移"; + Params param1; + param1.param = "示值误差"; + Params param2; + param2.param = "回程误差"; + Params param3; + param3.param = "轻敲位移"; + QList paramList; + paramList.append(param1); + paramList.append(param2); + paramList.append(param3); + for(int i =0;i> BaseCommonApi::getDeviceMeasureItemDataResistanceThermometer(QString itemCatoryName,QString itemId,QMap *headList) +{ + QMap> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + + QSqlQuery query; + query.prepare( + "SELECT bbdmidrt.*,bbdmii.wave_even_test,bbdmii.insulate_resistance,bbdmii.angle_adjust_error,bbdmii.indication_error," + " bbdmii.allow_error FROM biz_business_device_measure_item_data_resistance_thermometer bbdmidrt" + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidrt.item_id" + " WHERE bbdmidrt.item_id = :itemId" + " ORDER BY bbdmidrt.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("unit").toString());//单位(字典value) + result.append(query.value("upper_index").toString());//指标上限 + result.append(query.value("lower_index").toString());//指标下限 + result.append(query.value("measure_range_upper").toString());//测量范围上限 + result.append(query.value("measure_range_lower").toString());//测量范围下限 + result.append(query.value("measure_range_unit").toString());//测量范围单位(字典value) + result.append(query.value("accuracy_level").toString());//准确度等级(字典value) + result.append(query.value("calibrated_point").toString());//校准点 + result.append(query.value("maximum_error").toString());//最大允许误差 + result.append(query.value("urel").toString());//扩展不确定度 + result.append(query.value("level").toString());//级别(字典value) + result.append(query.value("nominal_temperature").toString());//标称温度 + result.append(query.value("nominal_value").toString());//α标称值(字典value) + result.append(query.value("r_value").toString());//R值 + result.append(query.value("dr_dt").toString());//dR/dt + result.append(query.value("r_tp").toString());//R*tp + result.append(query.value("w_s").toString());//Ws + result.append(query.value("dwst_dt").toString());//dWst/dt + result.append(query.value("allow_error_upper").toString());//允差上限 + result.append(query.value("allow_error_lower").toString());//允差下限 + result.append(query.value("a_allow_error_upper").toString());//α允差上限 + result.append(query.value("a_allow_error_lower").toString());//α允差下限 + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + result.append(query.value("wave_even_test").toString());//波动性测试和均匀性测试(二等铂) + result.append(query.value("insulate_resistance").toString());//绝缘电阻(二等铂) + result.append(query.value("angle_adjust_error").toString());//角度调整误差(二等铂) + result.append(query.value("indication_error").toString());//示值误差(二等铂) + result.append(query.value("allow_error").toString());//允差(二等铂) + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + + + //进行检定项目列头转换 + DataMapList= GetDataReturnItemListByResistanceThermometer(itemCatoryName,resultData,DataMapList,headList); + return DataMapList; +} +QMap> BaseCommonApi::GetDataReturnItemListByResistanceThermometer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) +{ + QList VolatilityList; + QList UniformityList; + if(itemCatoryName.contains("恒温槽")){ + for(const QStringList &row : ResultData) + { + QString VerificationItem=NULL; + if (!row.isEmpty() && row[27]=="1" && row[2] == "1") { + VerificationItem = "波动性测试"; + //添加列头 + QStringList head; + head <<"序号"<<"上限点"<<"下限点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"示值7"<<"示值8"<<"示值9"<<"示值10"<<"示值11"<<"示值12"<<"示值13"<<"示值14"<<"示值15" + <<"最大值"<<"最小值"<<"波动性" ; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[4]); //上限点 + Data.append(row[5]);//下限点 + Data.append(row[3]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//示值7 + Data.append("");//示值9 + Data.append("");//示值10 + Data.append("");//示值11 + Data.append("");//示值12 + Data.append("");//示值13 + Data.append("");//示值14 + Data.append("");//示值15 + Data.append("");//最大值 + Data.append("");//最小值 + Data.append("");//波动性 + VolatilityList.append(Data); + }else if(!row.isEmpty() && row[27]=="1" && row[2] =="2"){ + VerificationItem = "均匀性测试"; + //添加列头 + QStringList head; + head <<"序号"<<"单位"<<"上限点"<<"下限点"<<"位置" + <<"示值ROA1"<<"示值RA1"<<"RA2"<<"ROA2"<<"ROA3"<<"RA3"<<"RA4"<<"ROA4"<<"ROA均值"<<"RA均值"<<"上水平面温差" + <<"下水平面温差"<<"水平最大温差"<<"工作区域最大温差"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[3]); //单位 + Data.append(row[4]);//上限点 + Data.append(row[5]);//下限点 + Data.append("");//位置 + Data.append("");//示值ROA1 + Data.append("");//示值RA1 + Data.append("");//RA2 + Data.append("");//ROA2 + Data.append("");//ROA3 + Data.append("");//RA3 + Data.append("");//RA4 + Data.append("");//ROA4 + Data.append("");//ROA均值 + Data.append("");//RA均值 + Data.append("");//上水平面温差 + Data.append("");//下水平面温差 + Data.append("");//水平最大温差 + Data.append("");//工作区域最大温差 + UniformityList.append(Data); + } + + } + } + if(VolatilityList.count()!=0){ + DataMapList.insert("波动性测试",VolatilityList); + }; + if(UniformityList.count()!=0){ + DataMapList.insert("均匀性测试",UniformityList); + }; + return DataMapList; +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 0be3d34..0cb1812 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1923,6 +1923,7 @@ { QList result; QSqlQuery query; + QList standard_item = getitemCategoryList(belong_standard_equipment_id); switch (belong_standard_equipment_id.toInt()) { case 1: if(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty()) @@ -1935,6 +1936,40 @@ " WHERE bbdmii.item_category_id = :equipment_item_category_id "); } break; + case 4: + bool isExit = false; + QString itemName = NULL; + if(!(equipment_item_category_id.isNull() || equipment_item_category_id.isEmpty())) + { + for(int i = 0;i < standard_item.length();i++){ + if (equipment_item_category_id.contains(standard_item[i].id)){ + isExit = true; + itemName = standard_item[i].category_name; + } + } + if(isExit && itemName.contains("一般压力表")){ + Params param; + param.param = "示值误差/回程误差/轻敲位移"; + result.append(param); + } + }else { + Params param; + param.param = "示值误差/回程误差/轻敲位移"; + Params param1; + param1.param = "示值误差"; + Params param2; + param2.param = "回程误差"; + Params param3; + param3.param = "轻敲位移"; + QList paramList; + paramList.append(param1); + paramList.append(param2); + paramList.append(param3); + for(int i =0;i> BaseCommonApi::getDeviceMeasureItemDataResistanceThermometer(QString itemCatoryName,QString itemId,QMap *headList) +{ + QMap> DataMapList; + QList resultData; + QStringList result; + resultData.clear(); + + QSqlQuery query; + query.prepare( + "SELECT bbdmidrt.*,bbdmii.wave_even_test,bbdmii.insulate_resistance,bbdmii.angle_adjust_error,bbdmii.indication_error," + " bbdmii.allow_error FROM biz_business_device_measure_item_data_resistance_thermometer bbdmidrt" + " JOIN biz_business_device_measure_item_info bbdmii ON bbdmii.id = bbdmidrt.item_id" + " WHERE bbdmidrt.item_id = :itemId" + " ORDER BY bbdmidrt.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("unit").toString());//单位(字典value) + result.append(query.value("upper_index").toString());//指标上限 + result.append(query.value("lower_index").toString());//指标下限 + result.append(query.value("measure_range_upper").toString());//测量范围上限 + result.append(query.value("measure_range_lower").toString());//测量范围下限 + result.append(query.value("measure_range_unit").toString());//测量范围单位(字典value) + result.append(query.value("accuracy_level").toString());//准确度等级(字典value) + result.append(query.value("calibrated_point").toString());//校准点 + result.append(query.value("maximum_error").toString());//最大允许误差 + result.append(query.value("urel").toString());//扩展不确定度 + result.append(query.value("level").toString());//级别(字典value) + result.append(query.value("nominal_temperature").toString());//标称温度 + result.append(query.value("nominal_value").toString());//α标称值(字典value) + result.append(query.value("r_value").toString());//R值 + result.append(query.value("dr_dt").toString());//dR/dt + result.append(query.value("r_tp").toString());//R*tp + result.append(query.value("w_s").toString());//Ws + result.append(query.value("dwst_dt").toString());//dWst/dt + result.append(query.value("allow_error_upper").toString());//允差上限 + result.append(query.value("allow_error_lower").toString());//允差下限 + result.append(query.value("a_allow_error_upper").toString());//α允差上限 + result.append(query.value("a_allow_error_lower").toString());//α允差下限 + result.append(query.value("create_time").toString()); + result.append(query.value("update_time").toString()); + result.append(query.value("wave_even_test").toString());//波动性测试和均匀性测试(二等铂) + result.append(query.value("insulate_resistance").toString());//绝缘电阻(二等铂) + result.append(query.value("angle_adjust_error").toString());//角度调整误差(二等铂) + result.append(query.value("indication_error").toString());//示值误差(二等铂) + result.append(query.value("allow_error").toString());//允差(二等铂) + resultData.append(result); + } + } else { + qDebug() << "Query execution failed: " << query.lastError().text(); + } + + + //进行检定项目列头转换 + DataMapList= GetDataReturnItemListByResistanceThermometer(itemCatoryName,resultData,DataMapList,headList); + return DataMapList; +} +QMap> BaseCommonApi::GetDataReturnItemListByResistanceThermometer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList) +{ + QList VolatilityList; + QList UniformityList; + if(itemCatoryName.contains("恒温槽")){ + for(const QStringList &row : ResultData) + { + QString VerificationItem=NULL; + if (!row.isEmpty() && row[27]=="1" && row[2] == "1") { + VerificationItem = "波动性测试"; + //添加列头 + QStringList head; + head <<"序号"<<"上限点"<<"下限点"<<"单位"<<"示值1"<<"示值2"<<"示值3"<<"示值4"<<"示值5" + <<"示值6"<<"示值7"<<"示值8"<<"示值9"<<"示值10"<<"示值11"<<"示值12"<<"示值13"<<"示值14"<<"示值15" + <<"最大值"<<"最小值"<<"波动性" ; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[4]); //上限点 + Data.append(row[5]);//下限点 + Data.append(row[3]);//单位 + Data.append("");//示值1 + Data.append("");//示值2 + Data.append("");//示值3 + Data.append("");//示值4 + Data.append("");//示值5 + Data.append("");//示值6 + Data.append("");//示值7 + Data.append("");//示值9 + Data.append("");//示值10 + Data.append("");//示值11 + Data.append("");//示值12 + Data.append("");//示值13 + Data.append("");//示值14 + Data.append("");//示值15 + Data.append("");//最大值 + Data.append("");//最小值 + Data.append("");//波动性 + VolatilityList.append(Data); + }else if(!row.isEmpty() && row[27]=="1" && row[2] =="2"){ + VerificationItem = "均匀性测试"; + //添加列头 + QStringList head; + head <<"序号"<<"单位"<<"上限点"<<"下限点"<<"位置" + <<"示值ROA1"<<"示值RA1"<<"RA2"<<"ROA2"<<"ROA3"<<"RA3"<<"RA4"<<"ROA4"<<"ROA均值"<<"RA均值"<<"上水平面温差" + <<"下水平面温差"<<"水平最大温差"<<"工作区域最大温差"; + HeadMapList->insert(VerificationItem,head); + //添加数据 + QStringList Data; + Data.append(row[0]); //ID + Data.append(row[3]); //单位 + Data.append(row[4]);//上限点 + Data.append(row[5]);//下限点 + Data.append("");//位置 + Data.append("");//示值ROA1 + Data.append("");//示值RA1 + Data.append("");//RA2 + Data.append("");//ROA2 + Data.append("");//ROA3 + Data.append("");//RA3 + Data.append("");//RA4 + Data.append("");//ROA4 + Data.append("");//ROA均值 + Data.append("");//RA均值 + Data.append("");//上水平面温差 + Data.append("");//下水平面温差 + Data.append("");//水平最大温差 + Data.append("");//工作区域最大温差 + UniformityList.append(Data); + } + + } + } + if(VolatilityList.count()!=0){ + DataMapList.insert("波动性测试",VolatilityList); + }; + if(UniformityList.count()!=0){ + DataMapList.insert("均匀性测试",UniformityList); + }; + return DataMapList; +} diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.h b/softwareDirectory/AutoVerScheme/basecommonapi.h index 2446bad..28195e5 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.h +++ b/softwareDirectory/AutoVerScheme/basecommonapi.h @@ -1379,6 +1379,9 @@ static QMap> GetDataReturnItemListByOscilloscope(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); //【结果保存】示波器 static bool InsertDeviceOscilloscopeCalibration(DeviceOscilloscopeCalibration scope); + //二等铂电阻 + static QMap> getDeviceMeasureItemDataResistanceThermometer(QString itemCatoryName,QString itemId,QMap *headList); + static QMap> GetDataReturnItemListByResistanceThermometer(QString itemCatoryName,QList ResultData,QMap> DataMapList,QMap *HeadMapList); };