diff --git a/app/HGProductionTool/HGProductionTool.pro b/app/HGProductionTool/HGProductionTool.pro
index 01de341..c953320 100644
--- a/app/HGProductionTool/HGProductionTool.pro
+++ b/app/HGProductionTool/HGProductionTool.pro
@@ -58,6 +58,7 @@ SOURCES += \
analysisjson.cpp \
dialog_accountmanage.cpp \
dialog_changepwd.cpp \
+ dialog_excepdesc.cpp \
dialog_inputserialnum.cpp \
dialog_login.cpp \
dialog_rootfuntion.cpp \
@@ -77,6 +78,7 @@ HEADERS += \
analysisjson.h \
dialog_accountmanage.h \
dialog_changepwd.h \
+ dialog_excepdesc.h \
dialog_inputserialnum.h \
dialog_login.h \
dialog_rootfuntion.h \
@@ -91,6 +93,7 @@ HEADERS += \
FORMS += \
dialog_accountmanage.ui \
dialog_changepwd.ui \
+ dialog_excepdesc.ui \
dialog_inputserialnum.ui \
dialog_login.ui \
dialog_rootfuntion.ui \
diff --git a/app/HGProductionTool/ProductionTool_zh_CN.qm b/app/HGProductionTool/ProductionTool_zh_CN.qm
index 5648002..322408d 100644
Binary files a/app/HGProductionTool/ProductionTool_zh_CN.qm and b/app/HGProductionTool/ProductionTool_zh_CN.qm differ
diff --git a/app/HGProductionTool/ProductionTool_zh_CN.ts b/app/HGProductionTool/ProductionTool_zh_CN.ts
index 267c6d7..45b7dfd 100644
--- a/app/HGProductionTool/ProductionTool_zh_CN.ts
+++ b/app/HGProductionTool/ProductionTool_zh_CN.ts
@@ -1,6 +1,34 @@
+
+ Dialog_ExcepDesc
+
+
+
+ 异常说明
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+ 取消
+
+
+
+
+ 请输入异常说明:
+
+
Dialog_InputSerialNum
@@ -73,6 +101,39 @@
该设备正在进行测试
+
+ Dialog_UserInput
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+ 取消
+
+
Dialog_accountManage
@@ -215,32 +276,32 @@
-
+
账户:
-
+
密码:
-
+
数据库地址:
-
+
数据库端口:
-
+
FTP地址:
-
+
FTP端口:
@@ -258,37 +319,37 @@
登录
-
+
退出
-
+
设置IP与端口
-
+
最小化
-
+
关闭
-
+
登录
-
+
提示
-
+
登录失败:
@@ -453,71 +514,92 @@
结束测试
+
+
+
+ 加载图片
+
下一步
-
+
设备已连接
-
+
设备未连接
-
+
设备型号:
-
+
序列号:
-
+
设备连接状态:
-
+
+
+ 加载上一次上传的图片
+
+
+
+
+
+ 提示
+
+
+
序号
-
+
测试项
-
+
测试状态
-
+
未测试
-
+
不通过
-
+
不支持
-
+
通过
+
+
+
+ 无图
+
Form_textTips
@@ -580,7 +662,7 @@
上传配置文件
-
+
账户在其他地方登录
@@ -589,96 +671,114 @@
网络连接断开
-
+
你已被管理员账户强制下线
-
+
数据库错误
-
-
-
-
-
+
+
+
-
+
+
+
提示
-
+
检测到设备连接,是否启动测试?
-
+
确定
-
+
取消
-
-
+
+
不能创建更多项目
-
+
设备已断开连接
-
+
保存
-
+
xls表格(*.xls)
-
+
导出成功
-
+
导出失败
-
+
非法的用户
-
+
密码错误
-
+
数据库错误
-
+
连接错误
-
+
错误
+
+ QObject
+
+
+
+ 成功
+
+
+
+
+ 失败:
+
+
+
+
+ 没有找到该测试项
+
+
diff --git a/app/HGProductionTool/dialog_excepdesc.cpp b/app/HGProductionTool/dialog_excepdesc.cpp
new file mode 100644
index 0000000..76136cb
--- /dev/null
+++ b/app/HGProductionTool/dialog_excepdesc.cpp
@@ -0,0 +1,30 @@
+#include "dialog_excepdesc.h"
+#include "ui_dialog_excepdesc.h"
+
+Dialog_ExcepDesc::Dialog_ExcepDesc(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::Dialog_ExcepDesc)
+{
+ ui->setupUi(this);
+ ui->label->setText(tr("input excep desc: "));
+}
+
+Dialog_ExcepDesc::~Dialog_ExcepDesc()
+{
+ delete ui;
+}
+
+QString Dialog_ExcepDesc::getExcepDesc()
+{
+ return ui->textEdit->toPlainText();
+}
+
+void Dialog_ExcepDesc::on_pbtn_ok_clicked()
+{
+ accept();
+}
+
+void Dialog_ExcepDesc::on_pbtn_cancel_clicked()
+{
+ reject();
+}
diff --git a/app/HGProductionTool/dialog_excepdesc.h b/app/HGProductionTool/dialog_excepdesc.h
new file mode 100644
index 0000000..0acec31
--- /dev/null
+++ b/app/HGProductionTool/dialog_excepdesc.h
@@ -0,0 +1,29 @@
+#ifndef DIALOG_EXCEPDESC_H
+#define DIALOG_EXCEPDESC_H
+
+#include
+
+namespace Ui {
+class Dialog_ExcepDesc;
+}
+
+class Dialog_ExcepDesc : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit Dialog_ExcepDesc(QWidget *parent = nullptr);
+ ~Dialog_ExcepDesc();
+
+ QString getExcepDesc();
+
+private slots:
+ void on_pbtn_ok_clicked();
+
+ void on_pbtn_cancel_clicked();
+
+private:
+ Ui::Dialog_ExcepDesc *ui;
+};
+
+#endif // DIALOG_EXCEPDESC_H
diff --git a/app/HGProductionTool/dialog_excepdesc.ui b/app/HGProductionTool/dialog_excepdesc.ui
new file mode 100644
index 0000000..5706ae6
--- /dev/null
+++ b/app/HGProductionTool/dialog_excepdesc.ui
@@ -0,0 +1,79 @@
+
+
+ Dialog_ExcepDesc
+
+
+
+ 0
+ 0
+ 470
+ 252
+
+
+
+ Dialog
+
+
+ -
+
+
-
+
+
+ TextLabel
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ OK
+
+
+
+ -
+
+
+ Cancel
+
+
+
+
+
+
+
+
+
+
diff --git a/app/HGProductionTool/form_maininterface.cpp b/app/HGProductionTool/form_maininterface.cpp
index e6704ab..5d5bb96 100644
--- a/app/HGProductionTool/form_maininterface.cpp
+++ b/app/HGProductionTool/form_maininterface.cpp
@@ -11,6 +11,7 @@
#include "test_base.h"
#include "hgscanner.h"
#include "mainwindow.h"
+#include "dialog_excepdesc.h"
typedef struct
{
@@ -89,12 +90,16 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle ha
m_view = new HGImgView();
ui->stackedWidget->addWidget(m_textTips);
ui->stackedWidget->addWidget(m_view);
+ ui->pbtn_showImg->setToolTip(tr("load last image which uploaded last time"));
initTableWidgetUi();
- HGPdtToolDb_SetDeviceType(m_pdtToolDbDevice, m_devType.toStdString().c_str());
- HGPdtToolDb_SetDeviceVersion(m_pdtToolDbDevice, m_devFwNum.toStdString().c_str());
- HGPdtToolDb_SetDeviceName(m_pdtToolDbDevice, m_devName.toStdString().c_str());
+ if(!m_devType.isEmpty())
+ HGPdtToolDb_SetDeviceType(m_pdtToolDbDevice, m_devType.toStdString().c_str());
+ if(!m_devFwNum.isEmpty())
+ HGPdtToolDb_SetDeviceVersion(m_pdtToolDbDevice, m_devFwNum.toStdString().c_str());
+ if(!m_devName.isEmpty())
+ HGPdtToolDb_SetDeviceName(m_pdtToolDbDevice, m_devName.toStdString().c_str());
m_hg = new hgscanner(this, m_handle);
}
@@ -162,7 +167,6 @@ void Form_mainInterface::on_testResultImg(void *img)
ret = HGPdtToolDb_UploadDeviceEntryImage(m_pdtToolDbDevice, entryName, m_mainwnd->m_ftpHost.toStdString().c_str(),
m_mainwnd->m_ftpPort, fileName.toStdString().c_str());
- qDebug() << ret << m_mainwnd->m_ftpHost << m_mainwnd->m_ftpPort << fileName;
QFile file(fileName);
file.remove();
}
@@ -193,12 +197,21 @@ void Form_mainInterface::on_pbtn_fail_clicked()
int row = ui->tableWidget->currentRow();
QTableWidgetItem *item = ui->tableWidget->item(row, 1);
QString title = item->text();
- setTestItemStatus(title, HGPDTTOOLDB_ENTRYSTATUS_NOTPASS);
- ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_NOTPASS)));
- ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+ Dialog_ExcepDesc dlg(this);
+ if (dlg.exec())
+ {
+ ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_NOTPASS)));
+ ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+ ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(255,0,0));
- ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(255,0,0));
+ QString str = dlg.getExcepDesc();
+ setTestItemStatus(title, HGPDTTOOLDB_ENTRYSTATUS_NOTPASS);
+ HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, getTestItem(title), str.toStdString().c_str());
+
+ QTableWidgetItem *item2 = ui->tableWidget->item(row, 2);
+ item2->setToolTip(str);
+ }
}
void Form_mainInterface::on_pbtn_pass_clicked()
@@ -212,6 +225,11 @@ void Form_mainInterface::on_pbtn_pass_clicked()
ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(0,255,0));
+ HGPdtToolDb_SetDeviceEntryExcepDesc(m_pdtToolDbDevice, getTestItem(title), "");
+
+ QTableWidgetItem *item2 = ui->tableWidget->item(row, 2);
+ item2->setToolTip("");
+
on_pbtn_nextStep_clicked();
}
@@ -309,6 +327,11 @@ void Form_mainInterface::initTableWidgetUi()
break;
}
}
+
+ HGChar desc[512] = {0};
+ HGPdtToolDb_GetDeviceEntryExcepDesc(m_pdtToolDbDevice, getTestItem(node.title), desc, 512);
+ QTableWidgetItem *item = ui->tableWidget->item(i, 2);
+ item->setToolTip(desc);
}
std::map::iterator iter;
@@ -400,6 +423,7 @@ QString Form_mainInterface::getCacheFileName()
void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
{
(void)previous;
+ ui->pbtn_showImg->setVisible(false);
int row = current->row();
int count = ui->tableWidget->rowCount();
ui->pbtn_preStep->setEnabled(row != 0);
@@ -413,6 +437,12 @@ void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *cur
m_textTips->setViewContent(m_map_title_name.value(title).desc);
ui->stackedWidget->setCurrentWidget(m_textTips);
+
+ HGUInt entryName = getTestItem(title);
+ if (entryName <= HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION && entryName >= HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE)
+ {
+ ui->pbtn_showImg->setVisible(true);
+ }
}
void Form_mainInterface::on_pbtn_start_clicked()
@@ -423,3 +453,27 @@ void Form_mainInterface::on_pbtn_start_clicked()
QString name = m_map_title_name.value(title).name;
int ret = func_test_go(name.toStdWString().c_str(), L"null", m_hg);
}
+
+void Form_mainInterface::on_pbtn_showImg_clicked()
+{
+ QString fileName = getCacheFileName();
+
+ int row = ui->tableWidget->currentRow();
+ QTableWidgetItem *item = ui->tableWidget->item(row, 1);
+ QString title = item->text();
+ HGResult ret = HGPdtToolDb_DownloadDeviceEntryImage(m_pdtToolDbDevice, getTestItem(title), m_mainwnd->m_ftpHost.toStdString().c_str(),
+ m_mainwnd->m_ftpPort, fileName.toStdString().c_str());
+ if(ret == HGBASE_ERR_OK)
+ {
+ ui->stackedWidget->setCurrentWidget(m_view);
+ HGImage img;
+ HGImgFmt_LoadImage(fileName.toStdString().c_str(), 0, 0, 0, 0, &img);
+ m_view->addImage(img);
+ QFile file(fileName);
+ file.remove();
+ }
+ else
+ {
+ QMessageBox::information(this, tr("tips"), tr("no image"));
+ }
+}
diff --git a/app/HGProductionTool/form_maininterface.h b/app/HGProductionTool/form_maininterface.h
index 8038d51..59db03c 100644
--- a/app/HGProductionTool/form_maininterface.h
+++ b/app/HGProductionTool/form_maininterface.h
@@ -55,6 +55,8 @@ private slots:
void on_pbtn_start_clicked();
+ void on_pbtn_showImg_clicked();
+
private:
void initTableWidgetUi();
HGUInt getTestItem(const QString &title);
diff --git a/app/HGProductionTool/form_maininterface.ui b/app/HGProductionTool/form_maininterface.ui
index 94ab8a4..1dca20d 100644
--- a/app/HGProductionTool/form_maininterface.ui
+++ b/app/HGProductionTool/form_maininterface.ui
@@ -6,8 +6,8 @@
0
0
- 607
- 429
+ 691
+ 401
@@ -109,6 +109,13 @@
+ -
+
+
+ SHOWIMG
+
+
+
-
diff --git a/app/HGProductionTool/hgscanner.cpp b/app/HGProductionTool/hgscanner.cpp
index 0795273..3b3241a 100644
--- a/app/HGProductionTool/hgscanner.cpp
+++ b/app/HGProductionTool/hgscanner.cpp
@@ -7,6 +7,7 @@ hgscanner::hgscanner(Form_mainInterface *form, SANE_Handle h)
: m_interface(form)
, devHandle_(h)
{
+ cb_ = nullptr;
}
hgscanner::~hgscanner()
diff --git a/app/HGProductionTool/mainwindow.cpp b/app/HGProductionTool/mainwindow.cpp
index 434eaf6..f02e582 100644
--- a/app/HGProductionTool/mainwindow.cpp
+++ b/app/HGProductionTool/mainwindow.cpp
@@ -242,8 +242,7 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne
emit p->sane_dev_remove(sane_dev->name);
}
- if (code == SANE_EVENT_STATUS || code == SANE_EVENT_ERROR || code == SANE_EVENT_WORKING
- || code == SANE_EVENT_IMAGE_OK || code == SANE_EVENT_SCAN_FINISHED)
+ if (code == SANE_EVENT_IMAGE_OK || code == SANE_EVENT_SCAN_FINISHED)
{
HGBase_EnterLock(p->m_lock);
Form_mainInterface* interface = p->FindInterface(hdev);