diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.h b/softwareDirectory/AutoVerScheme/dialogcheckresult.h index bd38169..c0f006b 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.h +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.h @@ -16,7 +16,7 @@ public: explicit DialogCheckResult(QWidget *parent = nullptr); ~DialogCheckResult(); - void initCheckTable(QList>> measList,QList> headList,QStringList sID); + void initCheckTable(QList>> measList,QList> headList,QList StanInfo); private slots: void on_pushButtonPreview_clicked(); @@ -34,6 +34,7 @@ public: QList taskList; QString deviceId; + QList StanDeviceInfo; private: Ui::DialogCheckResult *ui; QList measureCalList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.h b/softwareDirectory/AutoVerScheme/dialogcheckresult.h index bd38169..c0f006b 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.h +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.h @@ -16,7 +16,7 @@ public: explicit DialogCheckResult(QWidget *parent = nullptr); ~DialogCheckResult(); - void initCheckTable(QList>> measList,QList> headList,QStringList sID); + void initCheckTable(QList>> measList,QList> headList,QList StanInfo); private slots: void on_pushButtonPreview_clicked(); @@ -34,6 +34,7 @@ public: QList taskList; QString deviceId; + QList StanDeviceInfo; private: Ui::DialogCheckResult *ui; QList measureCalList; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 1567a6a..b5bd5dc 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -13,6 +13,7 @@ ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); } + ui->tableWidget_2->hideColumn(1); ui->comboBox_3->addItem("请选择标准装置名称"); ui->comboBox_3->addItems(equipList); getStandardInfo(); @@ -111,12 +112,13 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidget_2->setItem(row,0,p_check); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.standard_no)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 - ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 - ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.id)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 7, new QTableWidgetItem(info.measure_item)); row++; } } @@ -157,20 +159,37 @@ { QString checkIds=""; QString bizIds = ""; + QString StanId = ""; + QString StanName = ""; + QList bizInfofo; + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + StanId=ui->tableWidget_2->item(i,1)->text(); + StanName=ui->tableWidget_2->item(i,3)->text(); + } + } for(int i=0;itableWidget_3->rowCount();i++){ if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ if(bizIds=="") bizIds = bizInfo[i].id; - else + else{ bizIds+=","+bizInfo[i].id; + StanId+=","+StanId; + StanName+=","+StanName; + } + + } } - if(bizIds==""){ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - emit selectBizDevice(bizIds); + bizInfofo.append(StanId); + bizInfofo.append(StanName); + bizInfofo.append(bizIds); + + emit selectBizDevice(bizInfofo); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.h b/softwareDirectory/AutoVerScheme/dialogcheckresult.h index bd38169..c0f006b 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.h +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.h @@ -16,7 +16,7 @@ public: explicit DialogCheckResult(QWidget *parent = nullptr); ~DialogCheckResult(); - void initCheckTable(QList>> measList,QList> headList,QStringList sID); + void initCheckTable(QList>> measList,QList> headList,QList StanInfo); private slots: void on_pushButtonPreview_clicked(); @@ -34,6 +34,7 @@ public: QList taskList; QString deviceId; + QList StanDeviceInfo; private: Ui::DialogCheckResult *ui; QList measureCalList; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 1567a6a..b5bd5dc 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -13,6 +13,7 @@ ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); } + ui->tableWidget_2->hideColumn(1); ui->comboBox_3->addItem("请选择标准装置名称"); ui->comboBox_3->addItems(equipList); getStandardInfo(); @@ -111,12 +112,13 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidget_2->setItem(row,0,p_check); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.standard_no)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 - ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 - ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.id)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 7, new QTableWidgetItem(info.measure_item)); row++; } } @@ -157,20 +159,37 @@ { QString checkIds=""; QString bizIds = ""; + QString StanId = ""; + QString StanName = ""; + QList bizInfofo; + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + StanId=ui->tableWidget_2->item(i,1)->text(); + StanName=ui->tableWidget_2->item(i,3)->text(); + } + } for(int i=0;itableWidget_3->rowCount();i++){ if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ if(bizIds=="") bizIds = bizInfo[i].id; - else + else{ bizIds+=","+bizInfo[i].id; + StanId+=","+StanId; + StanName+=","+StanName; + } + + } } - if(bizIds==""){ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - emit selectBizDevice(bizIds); + bizInfofo.append(StanId); + bizInfofo.append(StanName); + bizInfofo.append(bizIds); + + emit selectBizDevice(bizInfofo); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 30e5608..2820f08 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -35,7 +35,7 @@ void on_pushButton_17_clicked(); signals: - void selectBizDevice(QString ids); + void selectBizDevice(QList ids); private: void getStandardInfo(); void getBizDeviceInfo(); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.h b/softwareDirectory/AutoVerScheme/dialogcheckresult.h index bd38169..c0f006b 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.h +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.h @@ -16,7 +16,7 @@ public: explicit DialogCheckResult(QWidget *parent = nullptr); ~DialogCheckResult(); - void initCheckTable(QList>> measList,QList> headList,QStringList sID); + void initCheckTable(QList>> measList,QList> headList,QList StanInfo); private slots: void on_pushButtonPreview_clicked(); @@ -34,6 +34,7 @@ public: QList taskList; QString deviceId; + QList StanDeviceInfo; private: Ui::DialogCheckResult *ui; QList measureCalList; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 1567a6a..b5bd5dc 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -13,6 +13,7 @@ ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); } + ui->tableWidget_2->hideColumn(1); ui->comboBox_3->addItem("请选择标准装置名称"); ui->comboBox_3->addItems(equipList); getStandardInfo(); @@ -111,12 +112,13 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidget_2->setItem(row,0,p_check); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.standard_no)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 - ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 - ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.id)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 7, new QTableWidgetItem(info.measure_item)); row++; } } @@ -157,20 +159,37 @@ { QString checkIds=""; QString bizIds = ""; + QString StanId = ""; + QString StanName = ""; + QList bizInfofo; + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + StanId=ui->tableWidget_2->item(i,1)->text(); + StanName=ui->tableWidget_2->item(i,3)->text(); + } + } for(int i=0;itableWidget_3->rowCount();i++){ if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ if(bizIds=="") bizIds = bizInfo[i].id; - else + else{ bizIds+=","+bizInfo[i].id; + StanId+=","+StanId; + StanName+=","+StanName; + } + + } } - if(bizIds==""){ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - emit selectBizDevice(bizIds); + bizInfofo.append(StanId); + bizInfofo.append(StanName); + bizInfofo.append(bizIds); + + emit selectBizDevice(bizInfofo); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 30e5608..2820f08 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -35,7 +35,7 @@ void on_pushButton_17_clicked(); signals: - void selectBizDevice(QString ids); + void selectBizDevice(QList ids); private: void getStandardInfo(); void getBizDeviceInfo(); diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index ccc4541..f782353 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,6 +194,11 @@ + 标准装置ID + + + + 计量标准证书编号 diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.h b/softwareDirectory/AutoVerScheme/dialogcheckresult.h index bd38169..c0f006b 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.h +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.h @@ -16,7 +16,7 @@ public: explicit DialogCheckResult(QWidget *parent = nullptr); ~DialogCheckResult(); - void initCheckTable(QList>> measList,QList> headList,QStringList sID); + void initCheckTable(QList>> measList,QList> headList,QList StanInfo); private slots: void on_pushButtonPreview_clicked(); @@ -34,6 +34,7 @@ public: QList taskList; QString deviceId; + QList StanDeviceInfo; private: Ui::DialogCheckResult *ui; QList measureCalList; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 1567a6a..b5bd5dc 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -13,6 +13,7 @@ ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); } + ui->tableWidget_2->hideColumn(1); ui->comboBox_3->addItem("请选择标准装置名称"); ui->comboBox_3->addItems(equipList); getStandardInfo(); @@ -111,12 +112,13 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidget_2->setItem(row,0,p_check); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.standard_no)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 - ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 - ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.id)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 7, new QTableWidgetItem(info.measure_item)); row++; } } @@ -157,20 +159,37 @@ { QString checkIds=""; QString bizIds = ""; + QString StanId = ""; + QString StanName = ""; + QList bizInfofo; + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + StanId=ui->tableWidget_2->item(i,1)->text(); + StanName=ui->tableWidget_2->item(i,3)->text(); + } + } for(int i=0;itableWidget_3->rowCount();i++){ if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ if(bizIds=="") bizIds = bizInfo[i].id; - else + else{ bizIds+=","+bizInfo[i].id; + StanId+=","+StanId; + StanName+=","+StanName; + } + + } } - if(bizIds==""){ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - emit selectBizDevice(bizIds); + bizInfofo.append(StanId); + bizInfofo.append(StanName); + bizInfofo.append(bizIds); + + emit selectBizDevice(bizInfofo); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 30e5608..2820f08 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -35,7 +35,7 @@ void on_pushButton_17_clicked(); signals: - void selectBizDevice(QString ids); + void selectBizDevice(QList ids); private: void getStandardInfo(); void getBizDeviceInfo(); diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index ccc4541..f782353 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,6 +194,11 @@ + 标准装置ID + + + + 计量标准证书编号 diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index b3f1d63..57e44a0 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -32,6 +32,7 @@ void NewCheckMethod::getMethodInfo() { + QList list; if(methodId!="") { programInfo = BaseCommonApi::getVerificationProgramInfo(methodId); @@ -61,7 +62,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(""); + chooseDevices(list); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -83,7 +84,7 @@ FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); - connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); + connect(checkWindow, SIGNAL(selectBizDevice(QList)), this,SLOT(chooseDevices(QList))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -205,15 +206,31 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString bizIds) +void NewCheckMethod::chooseDevices(QList biziInfo) { - //programInfo.tested_device_id=checkIds; - if(bizIds!=""){ - if(programInfo.standard_device_id=="") - programInfo.standard_device_id = bizIds; - else - programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + if(biziInfo.count()>2){ + QString bizIds=biziInfo[2]; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } + if(biziInfo[0]!=""){ + if(programInfo. biz_standard_id=="") + programInfo. biz_standard_id=biziInfo[0]; + else + programInfo. biz_standard_id=QString("%1,%2").arg(programInfo.biz_standard_id).arg(biziInfo[0]); + } + if(biziInfo[1]!=""){ + if(programInfo.biz_standard_name=="") + programInfo.biz_standard_name=biziInfo[1]; + else + programInfo.biz_standard_name =QString("%1,%2").arg(programInfo.biz_standard_name).arg(biziInfo[1]); + } } + ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; @@ -386,13 +403,19 @@ if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) { QStringList idList = programInfo.standard_device_id.split(","); + QStringList StanidList = programInfo.biz_standard_id.split(","); + QStringList StanNameList = programInfo.biz_standard_name.split(","); for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ ui->tableWidget->removeRow(i); idList.removeAt(i); + StanidList.removeAt(i); + StanNameList.removeAt(i); } } programInfo.standard_device_id = idList.join(","); + programInfo.biz_standard_id=StanidList.join(","); + programInfo.biz_standard_name=StanidList.join(","); idList.clear(); } } diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index 0b8dec3..891e3c1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -120,6 +120,7 @@ } ui->tableWidgetStd->clearContents(); ui->tableWidgetStd->setRowCount(0); + ui->tableWidgetStd->hideColumn(1); QString sFilterName = ui->comboBoxName_2->currentText(); QString sFilterModal = ui->comboBoxModal_2->currentText(); QString sFilterDepart = ui->lineEdit_4->text(); @@ -158,12 +159,14 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidgetStd->setItem(0,0,p_check); - ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(item.equipment_name)); - ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(item.model)); //设置数据 - ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.manufacture_no)); - ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.dept_name)); - ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.director_name)); - ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.measure_valid_date)); + ui->tableWidgetStd->setItem(0, 1, new QTableWidgetItem(programInfo.biz_standard_id.split(",")[i]));//所属装置名称ID + ui->tableWidgetStd->setItem(0, 2, new QTableWidgetItem(programInfo.biz_standard_name.split(",")[i]));//所属装置名称 + ui->tableWidgetStd->setItem(0, 3, new QTableWidgetItem(item.equipment_name)); + ui->tableWidgetStd->setItem(0, 4, new QTableWidgetItem(item.model)); //设置数据 + ui->tableWidgetStd->setItem(0, 5, new QTableWidgetItem(item.manufacture_no)); + ui->tableWidgetStd->setItem(0, 6, new QTableWidgetItem(item.dept_name)); + ui->tableWidgetStd->setItem(0, 7, new QTableWidgetItem(item.director_name)); + ui->tableWidgetStd->setItem(0, 8, new QTableWidgetItem(item.measure_valid_date)); if(RoleList.count()!=0){ QComboBox *comboBox=new QComboBox(); @@ -304,6 +307,8 @@ Qt::CheckState state = ui->tableWidgetStd->item(i,0)->checkState(); if(state == Qt::Checked){ StandarIdList.append(catIdList[i]); + StanDeviceIDList.append(ui->tableWidgetStd->item(i,1)->text()); + StanDeviceNameList.append(ui->tableWidgetStd->item(i,2)->text()); } } if(catIdList.count()==1) @@ -704,10 +709,14 @@ void CheckWindow::showResult() { + QList StanDeviceInfo; + StanDeviceInfo.append(StanDeviceIDList); + StanDeviceInfo.append(StanDeviceNameList); + StanDeviceInfo.append(StandarIdList); DialogCheckResult* dlg = new DialogCheckResult; dlg->taskList =selectTaskList; //dlg->deviceId = selectTaskList[0].sample_id; - dlg->initCheckTable(caliDataListAll,headTableListAll,StandarIdList); + dlg->initCheckTable(caliDataListAll,headTableListAll,StanDeviceInfo); dlg->setModal(true); dlg->show(); } @@ -3310,52 +3319,75 @@ //背景颜色显示 CheckBackColorUpdate(true,i); //首先设置被检设备输出 + InstructionLib *instrcutLib = getCmdByCheckName(0,sParam); SendDevice(instrcutLib,&deviceEngine,true); //设备标准仪器 BaseCommonApi::SaveLogInfo(1,QString("标准仪器输出")); - InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); - SendDevice(instrcutLibstan,&standardEngine); - if(sParam=="功率"){ - bool IsCli=true; - if(i!=0){ - idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); - QString FreqValue,PageFreqValue; - FreqValue=Removeunit(dataRes[i][idx]); - PageFreqValue=Removeunit(dataRes[i-1][idx]); - if(PageFreqValue==FreqValue){ - IsCli=false; - } + if(iEquipType==16){ + InstructionLib *instReceiver=getCmdByRoleName("测量接收机",constsLable); + InstructionLib *instVoltmeter=getCmdByRoleName("电压表",constsLable); + InstructionLib *instOSC=getCmdByRoleName("示波器",constsLable); + InstructionLib *instUPV=getCmdByRoleName("UPV",constsLable); + if(sParam=="频率"){ + SendDevice(instReceiver,&standardEngine); + sRet=ReadDevice(instReceiver,&standardEngine); + }else if(sParam=="交流电压" || sParam=="直流电压"){ + SendDevice(instOSC,&standardEngine); + sRet=ReadDevice(instOSC,&standardEngine); + }else if(sParam=="上升时间"){ + SendDevice(instVoltmeter,&standardEngine); + sRet=ReadDevice(instVoltmeter,&standardEngine); + }else if(sParam=="谐波失真"){ + SendDevice(instUPV,&standardEngine); + sRet=ReadDevice(instUPV,&standardEngine); } - if(IsCli){ - //&& 只在频率切换时进行校准 - //功率校准 - InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); - InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); - InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); - if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ - InstructionLib Temp; - InstructionLib TempSt; - for(QString item:PowerCali->instruct_read.split(';')) - { - Temp.instruct_config=item; - SendDevice(&Temp,&deviceEngine); - if(item.contains("20")){ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; - SendDevice(&TempSt,&standardEngine); - }else{ - TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); - TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; - SendDevice(&TempSt,&standardEngine); + }else{ + InstructionLib *instrcutLibstan=getCmdByCheckName(1,sParam); + SendDevice(instrcutLibstan,&standardEngine); + if(sParam=="功率"){ + bool IsCli=true; + if(i!=0){ + idx = getIndexByHeader(constsLable,QStrTranQStrList("频率")); + QString FreqValue,PageFreqValue; + FreqValue=Removeunit(dataRes[i][idx]); + PageFreqValue=Removeunit(dataRes[i-1][idx]); + if(PageFreqValue==FreqValue){ + IsCli=false; + } + } + if(IsCli){ + //&& 只在频率切换时进行校准 + //功率校准 + InstructionLib *PowerPage=getCmdByCheckName(1,"界面切换"); + InstructionLib *PowerCali=getCmdByCheckName(0,"校准"); + InstructionLib *PowerCaliSt=getCmdByCheckName(1,"校准"); + if(PowerCali!=nullptr && PowerCaliSt!=nullptr && PowerCaliSt!=nullptr){ + InstructionLib Temp; + InstructionLib TempSt; + for(QString item:PowerCali->instruct_read.split(';')) + { + Temp.instruct_config=item; + SendDevice(&Temp,&deviceEngine); + if(item.contains("20")){ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[0]; + SendDevice(&TempSt,&standardEngine); + }else{ + TempSt.instruct_config=PowerPage->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + TempSt.instruct_config=PowerCaliSt->instruct_config.split(";")[1]; + SendDevice(&TempSt,&standardEngine); + } } } } } + + sRet=ReadDevice(instrcutLib,&standardEngine); } - sRet=ReadDevice(instrcutLib,&standardEngine); + if(sRet!=""){ TempValue.clear(); TempValue.append("单位"); diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index 5b6615f..f9bfda1 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -165,6 +165,8 @@ QMap cmdPlaceHolderList; QList StandarIdList; + QList StanDeviceIDList; + QList StanDeviceNameList; QString standardId; int currConnectIdx; QList pageButtons; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.ui b/softwareDirectory/AutoVerScheme/checkwindow.ui index 9a7ddf0..f230f17 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.ui +++ b/softwareDirectory/AutoVerScheme/checkwindow.ui @@ -911,6 +911,16 @@ + 所属标准装置ID + + + + + 所属标准装置 + + + + 设备名称 diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp index a6a927f..79b5d90 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.cpp @@ -67,12 +67,12 @@ } -void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QStringList sID) +void DialogCheckResult::initCheckTable(QList>> measList,QList> headList,QList StanInfo) { caliDataListAll = measList; headTableListAll = headList; - stdId = sID; - + stdId = StanInfo[2]; + StanDeviceInfo=StanInfo; deleteItem(ui->horizontalLayoutDevice); int idx=0; curDevciceIdx=-1; @@ -324,6 +324,7 @@ BaseCommonApi::saveLogToSql(sqls,nullptr); if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){ QStringList idList = stdId; + int i=0; for(const QString& id : idList) { DeviceMeasureEquipment equipment; @@ -331,7 +332,14 @@ equipment.data_id = measInfo.id; equipment.equipment_id = id; equipment.create_time=equipment.update_time=QDateTime::currentDateTime(); + //添加标准装置名称和标准装置ID + if(StanDeviceInfo[0].count()==idList.count()&&StanDeviceInfo[1].count()==idList.count()){ + equipment.standard_id=StanDeviceInfo[0][i]; + equipment.standard_name=StanDeviceInfo[1][i]; + } + BaseCommonApi::InsertDeviceMeasureEquipment(equipment); + i++; } for (int k=0;kkeys().length();k++) { QString sLabel = headTableList->keys()[k]; diff --git a/softwareDirectory/AutoVerScheme/dialogcheckresult.h b/softwareDirectory/AutoVerScheme/dialogcheckresult.h index bd38169..c0f006b 100644 --- a/softwareDirectory/AutoVerScheme/dialogcheckresult.h +++ b/softwareDirectory/AutoVerScheme/dialogcheckresult.h @@ -16,7 +16,7 @@ public: explicit DialogCheckResult(QWidget *parent = nullptr); ~DialogCheckResult(); - void initCheckTable(QList>> measList,QList> headList,QStringList sID); + void initCheckTable(QList>> measList,QList> headList,QList StanInfo); private slots: void on_pushButtonPreview_clicked(); @@ -34,6 +34,7 @@ public: QList taskList; QString deviceId; + QList StanDeviceInfo; private: Ui::DialogCheckResult *ui; QList measureCalList; diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp index 1567a6a..b5bd5dc 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.cpp @@ -13,6 +13,7 @@ ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); } + ui->tableWidget_2->hideColumn(1); ui->comboBox_3->addItem("请选择标准装置名称"); ui->comboBox_3->addItems(equipList); getStandardInfo(); @@ -111,12 +112,13 @@ QTableWidgetItem* p_check = new QTableWidgetItem(); p_check->setCheckState(Qt::Unchecked); //设置首列为 CheckBox 控件 ui->tableWidget_2->setItem(row,0,p_check); - ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.standard_no)); //设置数据 - ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_name)); //设置数据 - ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem("")); - ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(info.dept_name)); //设置数据 - ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.manage_status)); //设置数据 - ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.measure_item)); + ui->tableWidget_2->setItem(row, 1, new QTableWidgetItem(info.id)); //设置数据 + ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(info.standard_no)); //设置数据 + ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(info.standard_name)); //设置数据 + ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem("")); + ui->tableWidget_2->setItem(row, 5, new QTableWidgetItem(info.dept_name)); //设置数据 + ui->tableWidget_2->setItem(row, 6, new QTableWidgetItem(info.manage_status)); //设置数据 + ui->tableWidget_2->setItem(row, 7, new QTableWidgetItem(info.measure_item)); row++; } } @@ -157,20 +159,37 @@ { QString checkIds=""; QString bizIds = ""; + QString StanId = ""; + QString StanName = ""; + QList bizInfofo; + for(int i=0;itableWidget_2->rowCount();i++){ + if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){ + StanId=ui->tableWidget_2->item(i,1)->text(); + StanName=ui->tableWidget_2->item(i,3)->text(); + } + } for(int i=0;itableWidget_3->rowCount();i++){ if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){ if(bizIds=="") bizIds = bizInfo[i].id; - else + else{ bizIds+=","+bizInfo[i].id; + StanId+=","+StanId; + StanName+=","+StanName; + } + + } } - if(bizIds==""){ QMessageBox::warning(this, "提示", "请选择标准设备!"); return; } - emit selectBizDevice(bizIds); + bizInfofo.append(StanId); + bizInfofo.append(StanName); + bizInfofo.append(bizIds); + + emit selectBizDevice(bizInfofo); this->close(); } diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h index 30e5608..2820f08 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.h +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.h @@ -35,7 +35,7 @@ void on_pushButton_17_clicked(); signals: - void selectBizDevice(QString ids); + void selectBizDevice(QList ids); private: void getStandardInfo(); void getBizDeviceInfo(); diff --git a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui index ccc4541..f782353 100644 --- a/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui +++ b/softwareDirectory/AutoVerScheme/formbizdeviceselect.ui @@ -194,6 +194,11 @@ + 标准装置ID + + + + 计量标准证书编号 diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp index b3f1d63..57e44a0 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.cpp +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.cpp @@ -32,6 +32,7 @@ void NewCheckMethod::getMethodInfo() { + QList list; if(methodId!="") { programInfo = BaseCommonApi::getVerificationProgramInfo(methodId); @@ -61,7 +62,7 @@ qDebug() << "strStyle:" << strStyle ; ui->label_11->setStyleSheet(strStyle); } - chooseDevices(""); + chooseDevices(list); }else{ BaseCommonApi baseApi; qint64 id = baseApi.generateId(); @@ -83,7 +84,7 @@ FormBizDeviceSelect *checkWindow = new FormBizDeviceSelect; //checkWindow->newVerifyWnd=this; checkWindow->setWindowState(Qt::WindowMaximized); - connect(checkWindow, SIGNAL(selectBizDevice(QString)), this,SLOT(chooseDevices(QString))); + connect(checkWindow, SIGNAL(selectBizDevice(QList)), this,SLOT(chooseDevices(QList))); checkWindow->setWindowModality(Qt::ApplicationModal); checkWindow->show(); } @@ -205,15 +206,31 @@ form->show(); } -void NewCheckMethod::chooseDevices(QString bizIds) +void NewCheckMethod::chooseDevices(QList biziInfo) { - //programInfo.tested_device_id=checkIds; - if(bizIds!=""){ - if(programInfo.standard_device_id=="") - programInfo.standard_device_id = bizIds; - else - programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + if(biziInfo.count()>2){ + QString bizIds=biziInfo[2]; + //programInfo.tested_device_id=checkIds; + if(bizIds!=""){ + if(programInfo.standard_device_id=="") + programInfo.standard_device_id = bizIds; + else + programInfo.standard_device_id =QString("%1,%2").arg(programInfo.standard_device_id).arg(bizIds); + } + if(biziInfo[0]!=""){ + if(programInfo. biz_standard_id=="") + programInfo. biz_standard_id=biziInfo[0]; + else + programInfo. biz_standard_id=QString("%1,%2").arg(programInfo.biz_standard_id).arg(biziInfo[0]); + } + if(biziInfo[1]!=""){ + if(programInfo.biz_standard_name=="") + programInfo.biz_standard_name=biziInfo[1]; + else + programInfo.biz_standard_name =QString("%1,%2").arg(programInfo.biz_standard_name).arg(biziInfo[1]); + } } + ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); QStringList idList; @@ -386,13 +403,19 @@ if(cnt>0&&QMessageBox::question(this, "确认", "确认删除吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::Yes) { QStringList idList = programInfo.standard_device_id.split(","); + QStringList StanidList = programInfo.biz_standard_id.split(","); + QStringList StanNameList = programInfo.biz_standard_name.split(","); for(int i=ui->tableWidget->rowCount()-1;i>=0;i--){ if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){ ui->tableWidget->removeRow(i); idList.removeAt(i); + StanidList.removeAt(i); + StanNameList.removeAt(i); } } programInfo.standard_device_id = idList.join(","); + programInfo.biz_standard_id=StanidList.join(","); + programInfo.biz_standard_name=StanidList.join(","); idList.clear(); } } diff --git a/softwareDirectory/AutoVerScheme/newcheckmethod.h b/softwareDirectory/AutoVerScheme/newcheckmethod.h index 1f2c74f..3d6edf7 100644 --- a/softwareDirectory/AutoVerScheme/newcheckmethod.h +++ b/softwareDirectory/AutoVerScheme/newcheckmethod.h @@ -20,7 +20,7 @@ void setMethodName(); private slots: - void chooseDevices(QString bizIds); + void chooseDevices(QList bizIds); void showCheckDevice(); void choosePicture(); void deletePicture();