From ffe045c9b236ae26b574a85635c875f8b8fad7d6 Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Wed, 3 Jul 2024 10:52:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=94=9F=E6=88=90=E5=B7=A5=E5=85=B7bug=EF=BC=8C?= =?UTF-8?q?=E5=B9=B3=E5=9C=BA=E6=A0=A1=E6=AD=A3=E9=BB=98=E8=AE=A4=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=85=A8=E6=A0=A1=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGPdtJsonTool/analysisjson.cpp | 3 +- app/HGPdtJsonTool/analysisjson.h | 1 + app/HGPdtJsonTool/mainwindow.cpp | 46 +++++++++++++++++++-- app/HGProductionTool/analysisjson.cpp | 3 +- app/HGProductionTool/analysisjson.h | 1 - app/HGProductionTool/form_maininterface.cpp | 10 +---- code/base/test_base.cpp | 22 +++++----- 7 files changed, 58 insertions(+), 28 deletions(-) diff --git a/app/HGPdtJsonTool/analysisjson.cpp b/app/HGPdtJsonTool/analysisjson.cpp index fc50e3a..2c4b0cc 100644 --- a/app/HGPdtJsonTool/analysisjson.cpp +++ b/app/HGPdtJsonTool/analysisjson.cpp @@ -38,7 +38,8 @@ std::vector AnalysisJson::GetNode() obj[key].toObject()["man"].toBool(), obj[key].toObject()["desc"].toString(), obj[key].toObject()["station"].toString(), - obj[key].toObject()["resolution"].toInt() + obj[key].toObject()["resolution"].toInt(), + obj[key].toObject()["dynamic-correct-data"].toString() }); } return nodes; diff --git a/app/HGPdtJsonTool/analysisjson.h b/app/HGPdtJsonTool/analysisjson.h index 4238075..e785608 100644 --- a/app/HGPdtJsonTool/analysisjson.h +++ b/app/HGPdtJsonTool/analysisjson.h @@ -15,6 +15,7 @@ public: QString desc; QString station; int resolution; + QString correctData; }; struct json_global diff --git a/app/HGPdtJsonTool/mainwindow.cpp b/app/HGPdtJsonTool/mainwindow.cpp index e232265..610da12 100644 --- a/app/HGPdtJsonTool/mainwindow.cpp +++ b/app/HGPdtJsonTool/mainwindow.cpp @@ -52,13 +52,16 @@ void MainWindow::initDeviceInfo() void MainWindow::initTableWidgetUi() { ui->tableWidget->resizeRowsToContents(); - ui->tableWidget->setColumnCount(6); - ui->tableWidget->horizontalHeader()->setDefaultSectionSize(200); - ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + ui->tableWidget->setColumnCount(8); + ui->tableWidget->horizontalHeader()->setDefaultSectionSize(250); + ui->tableWidget->setColumnWidth(5, 200); + ui->tableWidget->setColumnWidth(6, 100); + ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + //ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); QStringList header; - header << tr("selected") << tr("Test ID") << tr("Test items") << tr("Test station") << tr("Test type") << tr("Test content"); + header << tr("selected") << tr("Test ID") << tr("Test items") << tr("Test station") << tr("Test type") << tr("Test content") << tr("resolution") << tr("correct date"); ui->tableWidget->setHorizontalHeaderLabels(header); QFont font = ui->tableWidget->horizontalHeader()->font(); @@ -130,10 +133,34 @@ bool MainWindow::loadDefaultItems(DeviceType deviceType) ui->tableWidget->setItem(i, 5, new QTableWidgetItem(node.desc)); ui->tableWidget->item(i, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + if (node.resolution > 0) + { + ui->tableWidget->setItem(i, 6, new QTableWidgetItem(QString::number(node.resolution))); + ui->tableWidget->item(i, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + } + else + { + ui->tableWidget->setItem(i, 6, new QTableWidgetItem(QString(""))); + ui->tableWidget->item(i, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + } + + node.correctData = node.correctData.trimmed().remove(QChar(0)); + if (!node.correctData.isEmpty()) + { + ui->tableWidget->setItem(i, 7, new QTableWidgetItem(node.correctData)); + ui->tableWidget->item(i, 7)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + } + else + { + ui->tableWidget->setItem(i, 7, new QTableWidgetItem(QString(""))); + ui->tableWidget->item(i, 7)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + } + QTableWidgetItem *item = ui->tableWidget->item(i, 2); QVariant var = QVariant::fromValue(node.name); item->setData(Qt::UserRole, var); } + ui->checkBox_selectAll->setChecked(false); ui->checkBox_selectAll->setChecked(true); ui->tableWidget->selectRow(0); @@ -349,10 +376,21 @@ void MainWindow::on_pushButton_generate_clicked() QString name = ui->tableWidget->item(i, 2)->data(Qt::UserRole).value(); testItemObject.insert("name", name); + if (!ui->tableWidget->item(i, 6)->text().isEmpty()) + { + testItemObject.insert("resolution", ui->tableWidget->item(i, 6)->text().toInt()); + } + + if (!ui->tableWidget->item(i, 7)->text().isEmpty()) + { + testItemObject.insert("dynamic-correct-data", ui->tableWidget->item(i, 7)->text()); + } + testItemObject.insert("title", ui->tableWidget->item(i, 2)->text()); testItemObject.insert("station", ui->tableWidget->item(i, 3)->text()); testItemObject.insert("man", ui->tableWidget->item(i, 4)->text() == tr("automatic testing") ? false : true); testItemObject.insert("desc", ui->tableWidget->item(i, 5)->text()); + json.insert(QString::number(i + 1), QJsonValue(testItemObject)); } diff --git a/app/HGProductionTool/analysisjson.cpp b/app/HGProductionTool/analysisjson.cpp index 57f3c34..48dc08f 100644 --- a/app/HGProductionTool/analysisjson.cpp +++ b/app/HGProductionTool/analysisjson.cpp @@ -40,8 +40,7 @@ std::vector AnalysisJson::GetNode() obj[key].toObject()["desc"].toString(), obj[key].toObject()["station"].toString(), obj[key].toObject()["dynamic-correct-data"].toString(), - obj[key].toObject()["resolution"].toInt(), - obj[key].toObject()["correct-value"].toInt()}); + obj[key].toObject()["resolution"].toInt()}); } return nodes; } diff --git a/app/HGProductionTool/analysisjson.h b/app/HGProductionTool/analysisjson.h index e915e79..0eeb3a0 100644 --- a/app/HGProductionTool/analysisjson.h +++ b/app/HGProductionTool/analysisjson.h @@ -16,7 +16,6 @@ public: QString station; QString dynamic_correct_data; int resolution; - int correct_value; }; struct json_global{ diff --git a/app/HGProductionTool/form_maininterface.cpp b/app/HGProductionTool/form_maininterface.cpp index 1c8f6f1..0217e81 100644 --- a/app/HGProductionTool/form_maininterface.cpp +++ b/app/HGProductionTool/form_maininterface.cpp @@ -866,20 +866,12 @@ void Form_mainInterface::on_pbtn_start_clicked() else if (title == "扫描图像彩色质量确认_600dpi" || title == "扫描图像灰度质量确认_600dpi" || title == "计算畸变修正值_600dpi" || title == "设置畸变修正值_600dpi") dpi = 600; - int correct_value = -1; - if (name == "AUTO_FLAT_FIELD") - correct_value = 0; - wchar_t buf[128] = {0}; if (dpi > 0) { m_curDpi = dpi; swprintf(buf, L"%d", dpi); } - else if (correct_value > -1 && correct_value < 7) - { - swprintf(buf, L"%d", correct_value); - } std::string correctData = m_map_title_name.value(title).dynamic_correct_data.toStdString(); if (!correctData.empty()) @@ -895,7 +887,7 @@ void Form_mainInterface::on_pbtn_start_clicked() m_mainwnd->addTestingRef(); int ret = 0; - if (buf != nullptr || (dpi > 0 || (correct_value > -1 && correct_value < 7))) + if (buf != nullptr || (dpi > 0)) { ret = func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg); } diff --git a/code/base/test_base.cpp b/code/base/test_base.cpp index 30c9c3f..1e0b81b 100644 --- a/code/base/test_base.cpp +++ b/code/base/test_base.cpp @@ -965,17 +965,17 @@ public: dpi_type = 0; unsigned int llen = sizeof(int); size_t strl = 0; - ret = wchar_to_char(str, p, &strl); - if (ret == ERROR_INSUFFICIENT_BUFFER) - { - str.resize(strl); - ret = wchar_to_char(str, p, &strl); - if (str.empty()) - { - return SCANNER_ERR_DATA_DAMAGED; - } - dpi_type = atoi(str.c_str()); - } + //ret = wchar_to_char(str, p, &strl); + //if (ret == ERROR_INSUFFICIENT_BUFFER) + //{ + // str.resize(strl); + // ret = wchar_to_char(str, p, &strl); + // if (str.empty()) + // { + // return SCANNER_ERR_DATA_DAMAGED; + // } + // dpi_type = atoi(str.c_str()); + //} return helper_->io_control(IO_CTRL_CODE_SET_AUTO_FALT, &dpi_type, &len);; } /* 重启设备 */