diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 542f13a..89acbcf 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1136,7 +1136,7 @@ VerificationItem = "ACV"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位"<< "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[1]=false; @@ -1148,6 +1148,8 @@ Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1206,7 +1208,7 @@ VerificationItem = "ACI"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[3]=false; @@ -1217,8 +1219,9 @@ Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 - Data.append(row[4]); //单位 + Data.append(row[4]); //单位 Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1241,7 +1244,7 @@ VerificationItem = "R"; //添加列头 QStringList head; - head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + head << "序号" <<"检定项目" <<"两线/四线" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[4]=false; @@ -1250,6 +1253,7 @@ QStringList Data; Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 Data.append(row[13]); //两线/四线 Data.append(row[3]); //量 Data.append(row[4]); //单位 @@ -1274,16 +1278,16 @@ if(DCVList.count()!=0){ DataMapList.insert("DCV",DCVList); }; - if(DCVList.count()!=0){ + if(ACVList.count()!=0){ DataMapList.insert("ACV",ACVList); }; - if(DCVList.count()!=0){ + if(DCIList.count()!=0){ DataMapList.insert("DCI",DCIList); }; - if(DCVList.count()!=0){ + if(ACIList.count()!=0){ DataMapList.insert("ACI",ACIList); }; - if(DCVList.count()!=0){ + if(RList.count()!=0){ DataMapList.insert("R",RList); }; return DataMapList; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 542f13a..89acbcf 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1136,7 +1136,7 @@ VerificationItem = "ACV"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位"<< "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[1]=false; @@ -1148,6 +1148,8 @@ Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1206,7 +1208,7 @@ VerificationItem = "ACI"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[3]=false; @@ -1217,8 +1219,9 @@ Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 - Data.append(row[4]); //单位 + Data.append(row[4]); //单位 Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1241,7 +1244,7 @@ VerificationItem = "R"; //添加列头 QStringList head; - head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + head << "序号" <<"检定项目" <<"两线/四线" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[4]=false; @@ -1250,6 +1253,7 @@ QStringList Data; Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 Data.append(row[13]); //两线/四线 Data.append(row[3]); //量 Data.append(row[4]); //单位 @@ -1274,16 +1278,16 @@ if(DCVList.count()!=0){ DataMapList.insert("DCV",DCVList); }; - if(DCVList.count()!=0){ + if(ACVList.count()!=0){ DataMapList.insert("ACV",ACVList); }; - if(DCVList.count()!=0){ + if(DCIList.count()!=0){ DataMapList.insert("DCI",DCIList); }; - if(DCVList.count()!=0){ + if(ACIList.count()!=0){ DataMapList.insert("ACI",ACIList); }; - if(DCVList.count()!=0){ + if(RList.count()!=0){ DataMapList.insert("R",RList); }; return DataMapList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index f685726..268cbfd 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -56,17 +56,20 @@ unitTransList.insert("KΩ",0.001); unitTransList.insert("MΩ",0.000001); //统一定义命令占位符 + cmdPlaceHolderList.insert("{CH}","通道"); - cmdPlaceHolderList.insert("{RANV}","电压量程"); - cmdPlaceHolderList.insert("{RANI}","电流量程"); - cmdPlaceHolderList.insert("{RANHZ}","频率量程"); - cmdPlaceHolderList.insert("{RANO}","电阻量程"); + cmdPlaceHolderList.insert("{RANV}","量程"); + cmdPlaceHolderList.insert("{RANI}","量程"); + cmdPlaceHolderList.insert("{RANHZ}","量程"); + cmdPlaceHolderList.insert("{RANO}","量程"); cmdPlaceHolderList.insert("{YSCA}","幅度/DIV"); cmdPlaceHolderList.insert("{XSCA}","时间/DIV"); cmdPlaceHolderList.insert("{POSI}","波形偏移量"); cmdPlaceHolderList.insert("{STVAL}","标准值"); cmdPlaceHolderList.insert("{RAN}","量程"); cmdPlaceHolderList.insert("{FREQ}","频率"); + cmdPlaceHolderList.insert("{UNIT}","单位"); + cmdPlaceHolderList.insert("{FUNIT}","频率单位"); getCheckDevice(); //ui->stackedWidget_2->setCurrentIndex(1); //ui->tableWidgetDevice->verticalHeader()->sectionResizeMode(QHeaderView::Stretch); @@ -831,26 +834,35 @@ return dTmp; } -QString CheckWindow::transCmd(QString sCmd,QString sLabel,QStringList data) +QString CheckWindow::transCmd(QString sCmd,QString sLabel,QStringList data,bool devicetype) { QString sNewCmd = sCmd; if(sNewCmd.contains("DELAY:")){ - int sTart = sNewCmd.indexOf(":"); - int delay = sNewCmd.mid(sTart+1,sNewCmd.length()-1-sTart).toInt(); + QRegExp re("DELAY:(\\d+)"); + int delay=0; + if (re.indexIn(sNewCmd) != -1) { + delay= re.cap(1).toUInt(); + } qDebug() << "delay time:" << delay; Delay_MSec(delay); return ""; } - for (QString key : cmdPlaceHolderList.keys()) { - if(sCmd.contains(key)){ - int idx= getIndexByHeader(sLabel,cmdPlaceHolderList.value(key)); - if(idx!=-1){ - int idx2= getIndexByHeader(sLabel,"单位"); - QString unit = data[idx2]; - double dTmp = transUnit(data[idx],unit,true); - sNewCmd = sNewCmd.replace(key,QString::number(dTmp)); - } + for (QString key : cmdPlaceHolderList.keys()) { + if(sCmd.contains(key)){ + int idx= getIndexByHeader(sLabel,cmdPlaceHolderList.value(key)); + if(idx!=-1){ + if(devicetype) + { + sNewCmd = sNewCmd.replace(key,data[idx]); + continue; + } + int idx2= getIndexByHeader(sLabel,"单位"); + QString unit = data[idx2]; + double dTmp = transUnit(data[idx],unit,true); + sNewCmd = sNewCmd.replace(key,QString::number(dTmp)); + + } } } return sNewCmd; @@ -870,6 +882,7 @@ QString newCmd; double dStdValue,dError; //标准器输出 + int idx= getIndexByHeader(sLabel,"检定项目"); QString sParam = dataRes[i][idx]; if(standardEngine.getState()){ @@ -878,7 +891,7 @@ QStringList sList = instrcutLib->instruct_config.split(";"); if(sList.length()>0){ for (QString& sCmd : sList){ - newCmd = transCmd(sCmd,sLabel,dataRes[i]); + newCmd = transCmd(sCmd,sLabel,dataRes[i],true); if(newCmd!=""){ standardEngine.sendData(newCmd); qDebug() << "standard cmds:" << newCmd; diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 542f13a..89acbcf 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1136,7 +1136,7 @@ VerificationItem = "ACV"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位"<< "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[1]=false; @@ -1148,6 +1148,8 @@ Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1206,7 +1208,7 @@ VerificationItem = "ACI"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[3]=false; @@ -1217,8 +1219,9 @@ Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 - Data.append(row[4]); //单位 + Data.append(row[4]); //单位 Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1241,7 +1244,7 @@ VerificationItem = "R"; //添加列头 QStringList head; - head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + head << "序号" <<"检定项目" <<"两线/四线" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[4]=false; @@ -1250,6 +1253,7 @@ QStringList Data; Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 Data.append(row[13]); //两线/四线 Data.append(row[3]); //量 Data.append(row[4]); //单位 @@ -1274,16 +1278,16 @@ if(DCVList.count()!=0){ DataMapList.insert("DCV",DCVList); }; - if(DCVList.count()!=0){ + if(ACVList.count()!=0){ DataMapList.insert("ACV",ACVList); }; - if(DCVList.count()!=0){ + if(DCIList.count()!=0){ DataMapList.insert("DCI",DCIList); }; - if(DCVList.count()!=0){ + if(ACIList.count()!=0){ DataMapList.insert("ACI",ACIList); }; - if(DCVList.count()!=0){ + if(RList.count()!=0){ DataMapList.insert("R",RList); }; return DataMapList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index f685726..268cbfd 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -56,17 +56,20 @@ unitTransList.insert("KΩ",0.001); unitTransList.insert("MΩ",0.000001); //统一定义命令占位符 + cmdPlaceHolderList.insert("{CH}","通道"); - cmdPlaceHolderList.insert("{RANV}","电压量程"); - cmdPlaceHolderList.insert("{RANI}","电流量程"); - cmdPlaceHolderList.insert("{RANHZ}","频率量程"); - cmdPlaceHolderList.insert("{RANO}","电阻量程"); + cmdPlaceHolderList.insert("{RANV}","量程"); + cmdPlaceHolderList.insert("{RANI}","量程"); + cmdPlaceHolderList.insert("{RANHZ}","量程"); + cmdPlaceHolderList.insert("{RANO}","量程"); cmdPlaceHolderList.insert("{YSCA}","幅度/DIV"); cmdPlaceHolderList.insert("{XSCA}","时间/DIV"); cmdPlaceHolderList.insert("{POSI}","波形偏移量"); cmdPlaceHolderList.insert("{STVAL}","标准值"); cmdPlaceHolderList.insert("{RAN}","量程"); cmdPlaceHolderList.insert("{FREQ}","频率"); + cmdPlaceHolderList.insert("{UNIT}","单位"); + cmdPlaceHolderList.insert("{FUNIT}","频率单位"); getCheckDevice(); //ui->stackedWidget_2->setCurrentIndex(1); //ui->tableWidgetDevice->verticalHeader()->sectionResizeMode(QHeaderView::Stretch); @@ -831,26 +834,35 @@ return dTmp; } -QString CheckWindow::transCmd(QString sCmd,QString sLabel,QStringList data) +QString CheckWindow::transCmd(QString sCmd,QString sLabel,QStringList data,bool devicetype) { QString sNewCmd = sCmd; if(sNewCmd.contains("DELAY:")){ - int sTart = sNewCmd.indexOf(":"); - int delay = sNewCmd.mid(sTart+1,sNewCmd.length()-1-sTart).toInt(); + QRegExp re("DELAY:(\\d+)"); + int delay=0; + if (re.indexIn(sNewCmd) != -1) { + delay= re.cap(1).toUInt(); + } qDebug() << "delay time:" << delay; Delay_MSec(delay); return ""; } - for (QString key : cmdPlaceHolderList.keys()) { - if(sCmd.contains(key)){ - int idx= getIndexByHeader(sLabel,cmdPlaceHolderList.value(key)); - if(idx!=-1){ - int idx2= getIndexByHeader(sLabel,"单位"); - QString unit = data[idx2]; - double dTmp = transUnit(data[idx],unit,true); - sNewCmd = sNewCmd.replace(key,QString::number(dTmp)); - } + for (QString key : cmdPlaceHolderList.keys()) { + if(sCmd.contains(key)){ + int idx= getIndexByHeader(sLabel,cmdPlaceHolderList.value(key)); + if(idx!=-1){ + if(devicetype) + { + sNewCmd = sNewCmd.replace(key,data[idx]); + continue; + } + int idx2= getIndexByHeader(sLabel,"单位"); + QString unit = data[idx2]; + double dTmp = transUnit(data[idx],unit,true); + sNewCmd = sNewCmd.replace(key,QString::number(dTmp)); + + } } } return sNewCmd; @@ -870,6 +882,7 @@ QString newCmd; double dStdValue,dError; //标准器输出 + int idx= getIndexByHeader(sLabel,"检定项目"); QString sParam = dataRes[i][idx]; if(standardEngine.getState()){ @@ -878,7 +891,7 @@ QStringList sList = instrcutLib->instruct_config.split(";"); if(sList.length()>0){ for (QString& sCmd : sList){ - newCmd = transCmd(sCmd,sLabel,dataRes[i]); + newCmd = transCmd(sCmd,sLabel,dataRes[i],true); if(newCmd!=""){ standardEngine.sendData(newCmd); qDebug() << "standard cmds:" << newCmd; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index b7f4a2b..29faa51 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -79,7 +79,7 @@ void connectDevice(); int getIndexByHeader(QString sLabel,QString sName); double transUnit(QString sData,QString sUnit,bool reverse=false); - QString transCmd(QString sCmd,QString sLabel,QStringList data); + QString transCmd(QString sCmd,QString sLabel,QStringList data,bool reverse=false); void SetStandardCombox(CatDeviceInfor info); void updateStandardTable(); private: diff --git a/softwareDirectory/AutoVerScheme/basecommonapi.cpp b/softwareDirectory/AutoVerScheme/basecommonapi.cpp index 542f13a..89acbcf 100644 --- a/softwareDirectory/AutoVerScheme/basecommonapi.cpp +++ b/softwareDirectory/AutoVerScheme/basecommonapi.cpp @@ -1136,7 +1136,7 @@ VerificationItem = "ACV"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位"<< "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[1]=false; @@ -1148,6 +1148,8 @@ Data.append(row[2]); //检定项目 Data.append(row[3]); //量 Data.append(row[4]); //单位 + Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1206,7 +1208,7 @@ VerificationItem = "ACI"; //添加列头 QStringList head; - head << "序号" << "检定项目" << "量" << "单位" <<"频率" << "量程" + head << "序号" << "检定项目" << "量" << "单位" <<"频率" <<"频率单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[3]=false; @@ -1217,8 +1219,9 @@ Data.append(row[0]); //ID Data.append(row[2]); //检定项目 Data.append(row[3]); //量 - Data.append(row[4]); //单位 + Data.append(row[4]); //单位 Data.append(row[5]); //频率 + Data.append(row[6]); //频率单位 Data.append(row[7]); //量程 Data.append(row[8]); //标准值 Data.append(row[15]); //示值 @@ -1241,7 +1244,7 @@ VerificationItem = "R"; //添加列头 QStringList head; - head << "序号" <<"两线/四线" << "量" << "单位" << "量程" + head << "序号" <<"检定项目" <<"两线/四线" << "量" << "单位" << "量程" << "标准值" << "示值" << "绝对误差" << "最大允许误差" << "分辨力"; HeadMapList->insert(VerificationItem,head); isFirst[4]=false; @@ -1250,6 +1253,7 @@ QStringList Data; Data.append(row[0]); //ID + Data.append(row[2]); //检定项目 Data.append(row[13]); //两线/四线 Data.append(row[3]); //量 Data.append(row[4]); //单位 @@ -1274,16 +1278,16 @@ if(DCVList.count()!=0){ DataMapList.insert("DCV",DCVList); }; - if(DCVList.count()!=0){ + if(ACVList.count()!=0){ DataMapList.insert("ACV",ACVList); }; - if(DCVList.count()!=0){ + if(DCIList.count()!=0){ DataMapList.insert("DCI",DCIList); }; - if(DCVList.count()!=0){ + if(ACIList.count()!=0){ DataMapList.insert("ACI",ACIList); }; - if(DCVList.count()!=0){ + if(RList.count()!=0){ DataMapList.insert("R",RList); }; return DataMapList; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index f685726..268cbfd 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -56,17 +56,20 @@ unitTransList.insert("KΩ",0.001); unitTransList.insert("MΩ",0.000001); //统一定义命令占位符 + cmdPlaceHolderList.insert("{CH}","通道"); - cmdPlaceHolderList.insert("{RANV}","电压量程"); - cmdPlaceHolderList.insert("{RANI}","电流量程"); - cmdPlaceHolderList.insert("{RANHZ}","频率量程"); - cmdPlaceHolderList.insert("{RANO}","电阻量程"); + cmdPlaceHolderList.insert("{RANV}","量程"); + cmdPlaceHolderList.insert("{RANI}","量程"); + cmdPlaceHolderList.insert("{RANHZ}","量程"); + cmdPlaceHolderList.insert("{RANO}","量程"); cmdPlaceHolderList.insert("{YSCA}","幅度/DIV"); cmdPlaceHolderList.insert("{XSCA}","时间/DIV"); cmdPlaceHolderList.insert("{POSI}","波形偏移量"); cmdPlaceHolderList.insert("{STVAL}","标准值"); cmdPlaceHolderList.insert("{RAN}","量程"); cmdPlaceHolderList.insert("{FREQ}","频率"); + cmdPlaceHolderList.insert("{UNIT}","单位"); + cmdPlaceHolderList.insert("{FUNIT}","频率单位"); getCheckDevice(); //ui->stackedWidget_2->setCurrentIndex(1); //ui->tableWidgetDevice->verticalHeader()->sectionResizeMode(QHeaderView::Stretch); @@ -831,26 +834,35 @@ return dTmp; } -QString CheckWindow::transCmd(QString sCmd,QString sLabel,QStringList data) +QString CheckWindow::transCmd(QString sCmd,QString sLabel,QStringList data,bool devicetype) { QString sNewCmd = sCmd; if(sNewCmd.contains("DELAY:")){ - int sTart = sNewCmd.indexOf(":"); - int delay = sNewCmd.mid(sTart+1,sNewCmd.length()-1-sTart).toInt(); + QRegExp re("DELAY:(\\d+)"); + int delay=0; + if (re.indexIn(sNewCmd) != -1) { + delay= re.cap(1).toUInt(); + } qDebug() << "delay time:" << delay; Delay_MSec(delay); return ""; } - for (QString key : cmdPlaceHolderList.keys()) { - if(sCmd.contains(key)){ - int idx= getIndexByHeader(sLabel,cmdPlaceHolderList.value(key)); - if(idx!=-1){ - int idx2= getIndexByHeader(sLabel,"单位"); - QString unit = data[idx2]; - double dTmp = transUnit(data[idx],unit,true); - sNewCmd = sNewCmd.replace(key,QString::number(dTmp)); - } + for (QString key : cmdPlaceHolderList.keys()) { + if(sCmd.contains(key)){ + int idx= getIndexByHeader(sLabel,cmdPlaceHolderList.value(key)); + if(idx!=-1){ + if(devicetype) + { + sNewCmd = sNewCmd.replace(key,data[idx]); + continue; + } + int idx2= getIndexByHeader(sLabel,"单位"); + QString unit = data[idx2]; + double dTmp = transUnit(data[idx],unit,true); + sNewCmd = sNewCmd.replace(key,QString::number(dTmp)); + + } } } return sNewCmd; @@ -870,6 +882,7 @@ QString newCmd; double dStdValue,dError; //标准器输出 + int idx= getIndexByHeader(sLabel,"检定项目"); QString sParam = dataRes[i][idx]; if(standardEngine.getState()){ @@ -878,7 +891,7 @@ QStringList sList = instrcutLib->instruct_config.split(";"); if(sList.length()>0){ for (QString& sCmd : sList){ - newCmd = transCmd(sCmd,sLabel,dataRes[i]); + newCmd = transCmd(sCmd,sLabel,dataRes[i],true); if(newCmd!=""){ standardEngine.sendData(newCmd); qDebug() << "standard cmds:" << newCmd; diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index b7f4a2b..29faa51 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -79,7 +79,7 @@ void connectDevice(); int getIndexByHeader(QString sLabel,QString sName); double transUnit(QString sData,QString sUnit,bool reverse=false); - QString transCmd(QString sCmd,QString sLabel,QStringList data); + QString transCmd(QString sCmd,QString sLabel,QStringList data,bool reverse=false); void SetStandardCombox(CatDeviceInfor info); void updateStandardTable(); private: diff --git a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp index 3df7238..ce2e327 100644 --- a/softwareDirectory/AutoVerScheme/formaddrsetting.cpp +++ b/softwareDirectory/AutoVerScheme/formaddrsetting.cpp @@ -38,11 +38,12 @@ ui->tableWidget->setHorizontalHeader(header); ui->tableWidget->verticalHeader()->setParent(nullptr); - for(int i=2;i<6;i++) + for(int i=4;i<6;i++) ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); ui->tableWidget->setColumnHidden(0, true); ui->tableWidget->setColumnWidth(1, 80); ui->tableWidget->setColumnWidth(2, 60); + ui->tableWidget->setColumnWidth(3, 60); ui->tableWidget->setColumnWidth(5, 100); cmdList = BaseCommonApi::getInstructionLib(sId); @@ -218,15 +219,17 @@ updateRow(rowCount,cmd); CheckItemNameList.append(cmd.belong_vername); }else{ - InstructionLib cmd = cmdList[editIdx]; + if(checkMode) - cmd.belong_vername = this->ui->comboBox->currentText(); + cmdList[editIdx].belong_vername = this->ui->comboBox->currentText(); else - cmd.belong_checkname = this->ui->comboBox->currentText(); - cmd.instruct_config = this->ui->textEdit->toPlainText(); - cmd.instruct_read = this->ui->textEdit_2->toPlainText(); - cmd.update_time = QDateTime::currentDateTime(); + cmdList[editIdx].belong_checkname = this->ui->comboBox->currentText(); + cmdList[editIdx].instruct_config = this->ui->textEdit->toPlainText(); + cmdList[editIdx].instruct_read = this->ui->textEdit_2->toPlainText(); + cmdList[editIdx].update_time = QDateTime::currentDateTime(); + InstructionLib cmd = cmdList[editIdx]; BaseCommonApi::UpdateInstructionLib(cmd); + updateRow(editIdx,cmd); } this->ui->stackedWidget->setCurrentIndex(0);