BDTeset/src/cpp/interfaceTestWin.cpp

151 lines
5.3 KiB
C++

#include "interfaceTestWin.h"
#include "ui_interfaceTestWin.h"
#include "testThread.h"
#include "globalParams.h"
#include <QMessageBox>
#include <QDateTime>
InterfaceTestWin::InterfaceTestWin(QWidget *parent)
: QWidget(parent)
, ui(new Ui::InterfaceTestWin)
{
ui->setupUi(this);
serialModel = new QStandardItemModel(this);
serialSelect = new QItemSelectionModel(serialModel);
serialModel->setColumnCount(2);
ui->tableViewSerial->setModel(serialModel);
ui->tableViewSerial->setSelectionModel(serialSelect);
ui->tableViewSerial->horizontalHeader()->setVisible(false);
ui->tableViewSerial->verticalHeader()->setVisible(false);
ui->tableViewSerial->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableViewSerial->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
QFont font = ui->tableViewSerial->font();
//font.setPointSize(10);
ui->tableViewSerial->setFont(font);
QList<QStandardItem *> aItemList;
QStandardItem *aItem = new QStandardItem("串口接收");
aItem->setEditable(false);
font.setBold(true);
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
serialModel->insertRow(serialModel->rowCount(),aItemList);
aItemList.clear();
aItem = new QStandardItem("串口发送");
aItem->setEditable(false);
font.setBold(true);
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
serialModel->insertRow(serialModel->rowCount(),aItemList);
canModel = new QStandardItemModel(this);
canSelect = new QItemSelectionModel(canModel);
canModel->setColumnCount(2);
ui->tableViewCan->setModel(canModel);
ui->tableViewCan->setSelectionModel(canSelect);
ui->tableViewCan->horizontalHeader()->setVisible(false);
ui->tableViewCan->verticalHeader()->setVisible(false);
ui->tableViewCan->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableViewCan->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
aItemList.clear();
aItem = new QStandardItem("CAN接收");
aItem->setEditable(false);
font.setBold(true);
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
canModel->insertRow(canModel->rowCount(),aItemList);
aItemList.clear();
aItem = new QStandardItem("CAN发送");
aItem->setEditable(false);
font.setBold(true);
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
canModel->insertRow(canModel->rowCount(),aItemList);
connect(&TestThread::getInstance(),SIGNAL(serialRecvResultSignal(bool)),this,SLOT(serialRecvResultHandle(bool)),Qt::QueuedConnection);
connect(&TestThread::getInstance(),SIGNAL(serialSendResultSignal(bool)),this,SLOT(serialSendResultHandle(bool)),Qt::QueuedConnection);
}
InterfaceTestWin::~InterfaceTestWin()
{
delete ui;
}
void InterfaceTestWin::serialRecvResultHandle(bool result)
{
QMap<QString,QString> map;
map["BDSN"] = globalParams::bdSN;
map["TESTER"] = globalParams::curUserId;
QDateTime cur = QDateTime::currentDateTime();
map["TEST_TIME"] = cur.toString("yyyy-MM-dd hh:mm:ss");
if(result){
serialModel->item(0,1)->setText("正常");
serialModel->item(0,1)->setForeground(QBrush(QColor(0,140,0)));
map["SERIAL_RECV"] = "PASS";
}else{
serialModel->item(0,1)->setText("不正常");
serialModel->item(0,1)->setForeground(QBrush(Qt::red));
map["SERIAL_RECV"] = "FAIL";
}
SQLITEDB::getInstance().saveRecord("INTERFACE_TEST",map);
}
void InterfaceTestWin::serialSendResultHandle(bool result)
{
QMap<QString,QString> map;
map["BDSN"] = globalParams::bdSN;
map["TESTER"] = globalParams::curUserId;
QDateTime cur = QDateTime::currentDateTime();
map["TEST_TIME"] = cur.toString("yyyy-MM-dd hh:mm:ss");
if(result){
serialModel->item(1,1)->setText("正常");
serialModel->item(1,1)->setForeground(QBrush(QColor(0,140,0)));
map["SERIAL_SEND"] = "PASS";
}else{
serialModel->item(1,1)->setText("不正常");
serialModel->item(1,1)->setForeground(QBrush(Qt::red));
map["SERIAL_SEND"] = "FAIL";
}
SQLITEDB::getInstance().saveRecord("INTERFACE_TEST",map);
}
void InterfaceTestWin::on_btnSerialTest_clicked()
{
if(TestThread::getInstance().isOnTest()){
QMessageBox::warning(this,"警告","请等待其他测试项完成再开始测试!",QMessageBox::Ok,QMessageBox::NoButton);
return;
}
serialModel->item(0,1)->setText("");
serialModel->item(0,1)->setForeground(QBrush(Qt::black));
serialModel->item(1,1)->setText("");
serialModel->item(1,1)->setForeground(QBrush(Qt::black));
QVector<TEST_TYPE> testList;
testList.append(TEST_TYPE::SERIAL);
TestThread::getInstance().setTestList(testList);
TestThread::getInstance().start();
}