diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 4ae7da2..e054aa9 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -423,7 +423,7 @@ ui->tableWidget_Point->setItem(row, 1, new QTableWidgetItem(dataRes[i][idx2]+"("+dataRes[i][idx3]+")")); ui->tableWidget_Point->setItem(row, 2, new QTableWidgetItem("1")); row++; - if(!chList.contains(dataRes[i][chname])) + if(chname!=-1&&!chList.contains(dataRes[i][chname])) { chList.append(dataRes[i][chname]); } @@ -840,7 +840,54 @@ ui->tableWidgetCheck->setItem(i, 0, new QTableWidgetItem(QString::number(i+1))); for(int j=1;jtableWidgetCheck->setItem(i, j, new QTableWidgetItem(dataRes[i][j])); + if(headrs[j]=="轻敲前示值-正"||headrs[j]=="轻敲前示值-反"||headrs[j]=="轻敲后示值-正"||headrs[j]=="轻敲后示值-反"){ + QLineEdit *label = new QLineEdit(); + label->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); + label->setText(dataRes[i][j]); + label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("-")); + btn_1->setFont(QFont( "Timers",12,QFont::Bold)); +// btn_1->setStyleSheet("QPushButton{" +// "background-color:rgba(255,255,255,0);" +// "color:rgba(92,170,54,100);" +// "text-decoration:underline;" +// "}"); + btn_1->setCursor(Qt::PointingHandCursor); + btn_1->setFixedWidth(24); + btn_1->setFlat(true); + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + connect(btn_1, &QPushButton::clicked, this, [this,label]() { + double dVal = label->text().toDouble(); + label->setText(QString::number(dVal-1)); + }); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("+")); + btn_2->setFont(QFont( "Timers",12,QFont::Bold)); +// btn_2->setStyleSheet("QPushButton{" +// "background-color:rgba(255,255,255,0);" +// "color:rgba(170,17,17,100);" +// "text-decoration:underline;" +// "}"); + btn_2->setCursor(Qt::PointingHandCursor); + btn_2->setFixedWidth(24); + btn_2->setFlat(true); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + connect(btn_2, &QPushButton::clicked, this, [this,label]() { + double dVal = label->text().toDouble(); + label->setText(QString::number(dVal+1)); + }); +// btn_2->setIconSize(QSize(16,16)); +// btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1,0); + tmp_layout->addWidget(label,2); + tmp_layout->addWidget(btn_2,0); + tmp_layout->setMargin(0); + ui->tableWidgetCheck->setCellWidget(i,j,tmp_widget); + }else + ui->tableWidgetCheck->setItem(i, j, new QTableWidgetItem(dataRes[i][j])); } } } @@ -1142,6 +1189,96 @@ //Delay_MSec(2000); } + if(iEquipType==2){ + if(qIsFinite(dStdValue)){ + bool bOk = false; + dStdValue = QInputDialog::getDouble(this,"手动测试","请输入测量值",0,-100000, 100000,5,&bOk); + if (bOk) { + //sRet = QString::number(dStdValue); + }else{ + dStdValue=0; + } + } + if(sLabel=="电压示值误差"||sLabel=="电流示值误差(直接测量)"||sLabel=="电流示值误差(间接测量)"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,"标准值"); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + idx= getIndexByHeader(sLabel,"绝对误差"); + if(idx!=-1) + { + int idx2=getIndexByHeader(sLabel,"被检表示值"); + double dTmp = dataRes[i][idx2].toDouble(); + dError = dTmp-dStdValue; + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } + else if(sLabel=="电源电压调整率"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,"被检电源输出电压值"); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + idx= getIndexByHeader(sLabel,"被检电源输出电压最大差值"); + if(idx!=-1) + { + int idx2=getIndexByHeader(sLabel,"调压器输出值"); + double dTmp = dataRes[i][idx2].toDouble(); + dError = dTmp-dStdValue; + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + idx= getIndexByHeader(sLabel,"电源电压调整率"); + if(idx!=-1){ + dError = dError/dTmp; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } + } + else if(sLabel=="负载调整率"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,"被检电源输出电压值"); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + double dFull,dEmpty; + for(QStringList item:dataRes){ + if(item[4]=="满载"){ + dFull = item[5].toDouble(); + }else if(item[4]=="空载"){ + dEmpty = item[5].toDouble(); + } + } + idx= getIndexByHeader(sLabel,"电压差值"); + if(idx!=-1) + { + dError = abs(dFull-dEmpty); + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + idx= getIndexByHeader(sLabel,"负载调整率"); + if(idx!=-1){ + dError = dError/dEmpty; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } + } + } else if(iEquipType==4){ if(qIsFinite(dStdValue)){ MultiInputDialog dlg(4); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 4ae7da2..e054aa9 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -423,7 +423,7 @@ ui->tableWidget_Point->setItem(row, 1, new QTableWidgetItem(dataRes[i][idx2]+"("+dataRes[i][idx3]+")")); ui->tableWidget_Point->setItem(row, 2, new QTableWidgetItem("1")); row++; - if(!chList.contains(dataRes[i][chname])) + if(chname!=-1&&!chList.contains(dataRes[i][chname])) { chList.append(dataRes[i][chname]); } @@ -840,7 +840,54 @@ ui->tableWidgetCheck->setItem(i, 0, new QTableWidgetItem(QString::number(i+1))); for(int j=1;jtableWidgetCheck->setItem(i, j, new QTableWidgetItem(dataRes[i][j])); + if(headrs[j]=="轻敲前示值-正"||headrs[j]=="轻敲前示值-反"||headrs[j]=="轻敲后示值-正"||headrs[j]=="轻敲后示值-反"){ + QLineEdit *label = new QLineEdit(); + label->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); + label->setText(dataRes[i][j]); + label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + QPushButton *btn_1 = new QPushButton(); + btn_1->setText(tr("-")); + btn_1->setFont(QFont( "Timers",12,QFont::Bold)); +// btn_1->setStyleSheet("QPushButton{" +// "background-color:rgba(255,255,255,0);" +// "color:rgba(92,170,54,100);" +// "text-decoration:underline;" +// "}"); + btn_1->setCursor(Qt::PointingHandCursor); + btn_1->setFixedWidth(24); + btn_1->setFlat(true); + //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); + connect(btn_1, &QPushButton::clicked, this, [this,label]() { + double dVal = label->text().toDouble(); + label->setText(QString::number(dVal-1)); + }); + QPushButton *btn_2 = new QPushButton(); + btn_2->setText(tr("+")); + btn_2->setFont(QFont( "Timers",12,QFont::Bold)); +// btn_2->setStyleSheet("QPushButton{" +// "background-color:rgba(255,255,255,0);" +// "color:rgba(170,17,17,100);" +// "text-decoration:underline;" +// "}"); + btn_2->setCursor(Qt::PointingHandCursor); + btn_2->setFixedWidth(24); + btn_2->setFlat(true); + //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); + connect(btn_2, &QPushButton::clicked, this, [this,label]() { + double dVal = label->text().toDouble(); + label->setText(QString::number(dVal+1)); + }); +// btn_2->setIconSize(QSize(16,16)); +// btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); + QWidget *tmp_widget = new QWidget(); + QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget); + tmp_layout->addWidget(btn_1,0); + tmp_layout->addWidget(label,2); + tmp_layout->addWidget(btn_2,0); + tmp_layout->setMargin(0); + ui->tableWidgetCheck->setCellWidget(i,j,tmp_widget); + }else + ui->tableWidgetCheck->setItem(i, j, new QTableWidgetItem(dataRes[i][j])); } } } @@ -1142,6 +1189,96 @@ //Delay_MSec(2000); } + if(iEquipType==2){ + if(qIsFinite(dStdValue)){ + bool bOk = false; + dStdValue = QInputDialog::getDouble(this,"手动测试","请输入测量值",0,-100000, 100000,5,&bOk); + if (bOk) { + //sRet = QString::number(dStdValue); + }else{ + dStdValue=0; + } + } + if(sLabel=="电压示值误差"||sLabel=="电流示值误差(直接测量)"||sLabel=="电流示值误差(间接测量)"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,"标准值"); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + idx= getIndexByHeader(sLabel,"绝对误差"); + if(idx!=-1) + { + int idx2=getIndexByHeader(sLabel,"被检表示值"); + double dTmp = dataRes[i][idx2].toDouble(); + dError = dTmp-dStdValue; + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } + else if(sLabel=="电源电压调整率"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,"被检电源输出电压值"); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + idx= getIndexByHeader(sLabel,"被检电源输出电压最大差值"); + if(idx!=-1) + { + int idx2=getIndexByHeader(sLabel,"调压器输出值"); + double dTmp = dataRes[i][idx2].toDouble(); + dError = dTmp-dStdValue; + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + idx= getIndexByHeader(sLabel,"电源电压调整率"); + if(idx!=-1){ + dError = dError/dTmp; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } + } + else if(sLabel=="负载调整率"){ + newdStdValue= TranDecimals(sLabel,dataRes[i],dStdValue); + int idx= getIndexByHeader(sLabel,"被检电源输出电压值"); + if(idx!=-1) + { + dataRes[i][idx] = newdStdValue; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdStdValue)); + } + double dFull,dEmpty; + for(QStringList item:dataRes){ + if(item[4]=="满载"){ + dFull = item[5].toDouble(); + }else if(item[4]=="空载"){ + dEmpty = item[5].toDouble(); + } + } + idx= getIndexByHeader(sLabel,"电压差值"); + if(idx!=-1) + { + dError = abs(dFull-dEmpty); + newdError=TranDecimals(sLabel,dataRes[i],dError); + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + + idx= getIndexByHeader(sLabel,"负载调整率"); + if(idx!=-1){ + dError = dError/dEmpty; + newdError=TranDecimals(sLabel,dataRes[i],dError)+"%"; + dataRes[i][idx] = newdError; + ui->tableWidgetCheck->setItem(i,idx,new QTableWidgetItem(newdError)); + } + } + } + } else if(iEquipType==4){ if(qIsFinite(dStdValue)){ MultiInputDialog dlg(4); diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index 734034c..9810a45 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -191,7 +191,30 @@ measItem.absolute_error=getValueByHeader(i,sLabel,"绝对误差");//绝对误差 measItem.resolution=getValueByHeader(i,sLabel,"分辨力");//分辨力 measItem.measure_indication_value=getValueByHeader(i,sLabel,"示值");//被检表示值 - BaseCommonApi::InsertVerMultiCal(measItem); + BaseCommonApi::SearchSelectTable(QString::number(iEquipType),&measItem); + } + } + //直流稳压电源 + else if(iEquipType==2){ + for (int i = 0; i < dataRes.count(); ++i) { + bizBusinessDeviceMeasureDataDcPower measItem; + measItem.id = QString::number(api.generateId()); + measItem.data_id = measInfo.id; + measItem.data_type=getValueByHeader(i,sLabel,"检定项目"); + measItem.output_channel=getValueByHeader(i,sLabel,"输出通道"); + measItem.unit=getValueByHeader(i,sLabel,"单位"); + measItem.voltage_regulator_output_value=getValueByHeader(i,sLabel,"调压器输出值"); + measItem.standard_value=getValueByHeader(i,sLabel,"标准值"); + measItem.maximum_error=getValueByHeader(i,sLabel,"最大允许误差"); + measItem.absolute_error=getValueByHeader(i,sLabel,"绝对误差"); + measItem.voltage_output_value=getValueByHeader(i,sLabel,"被检电源输出电压值"); + measItem.voltage_max_difference=getValueByHeader(i,sLabel,"被检电源输出电压最大差值"); + measItem.technical_index=getValueByHeader(i,sLabel,"被检电源技术指标"); + measItem.voltage_regulation=getValueByHeader(i,sLabel,"电源电压调整率"); + measItem.load_situation=getValueByHeader(i,sLabel,"负载情况"); + measItem.voltage_difference=getValueByHeader(i,sLabel,"电压差值"); + measItem.load_regulation=getValueByHeader(i,sLabel,"负载调整率"); + BaseCommonApi::SearchSelectTable(QString::number(iEquipType),&measItem); } } //0.02压力活塞计 @@ -212,7 +235,8 @@ measItem.variation_forward_stroke = getValueByHeader(i,sLabel,"轻敲前后变动量-正"); measItem.variation_reverse_stroke = getValueByHeader(i,sLabel,"轻敲前后变动量-反"); measItem.indicating_value=getValueByHeader(i,sLabel,"标准器示值"); - BaseCommonApi::InsertDeviceMeasureDataPistonGauge(measItem); + //BaseCommonApi::InsertDeviceMeasureDataPistonGauge(measItem); + BaseCommonApi::SearchSelectTable(QString::number(iEquipType),&measItem); } } }