Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / verifydevice.cpp
陈实 on 19 Mar 2024 3 KB 核查程序管理
#include "verifydevice.h"
#include "ui_verifydevice.h"
#include "basecommonapi.h"
#include <QCheckBox>
#include <QMessageBox>

VerifyDevice::VerifyDevice(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::VerifyDevice)
{
    ui->setupUi(this);
    ui->tableWidget->setColumnWidth(0, 80);
    for(int i=1;i<5;i++)
        ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    ui->tableWidget_2->setColumnWidth(0, 80);
    for(int i=1;i<5;i++)
        ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    getVerifyDevice();
    getCheckDevice();
}

VerifyDevice::~VerifyDevice()
{
    testedDeviceList.clear();
    bizDeviceList.clear();
    delete ui;
}

void VerifyDevice::getVerifyDevice()
{
    int rowCount=0;
    int row=0;
    bizDeviceList = BaseCommonApi::getBizDeviceManage();
    for (const BizDevice& bizDevice : bizDeviceList) {
        rowCount = ui->tableWidget->rowCount();
        ui->tableWidget->insertRow(rowCount);
        QTableWidgetItem* p_check = new QTableWidgetItem();
        p_check->setCheckState(Qt::Unchecked);        //设置首列为 CheckBox 控件
        ui->tableWidget->setItem(row,0,p_check);
        ui->tableWidget->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name));
        ui->tableWidget->setItem(row, 2, new QTableWidgetItem(bizDevice.model));
        ui->tableWidget->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no));
        ui->tableWidget->setItem(row, 4, new QTableWidgetItem(bizDevice.manufacturer));
        row++;
    }
}

void VerifyDevice::getCheckDevice()
{
    int rowCount=0;
    int row=0;
    testedDeviceList = BaseCommonApi::getTestedDevice();
    for (const TestedDevice& bizDevice : testedDeviceList) {
        rowCount = ui->tableWidget_2->rowCount();
        ui->tableWidget_2->insertRow(rowCount);
        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(bizDevice.equipment_name));
        ui->tableWidget_2->setItem(row, 2, new QTableWidgetItem(bizDevice.model));
        ui->tableWidget_2->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no));
        ui->tableWidget_2->setItem(row, 4, new QTableWidgetItem(bizDevice.manufacturer));
        row++;
    }
}


void VerifyDevice::on_pushButton_14_clicked()
{
    QString checkIds="";
    QString bizIds = "";
    for(int i=0;i<ui->tableWidget->rowCount();i++){
        if(ui->tableWidget->item(i,0)->checkState()==Qt::Checked){
            if(bizIds=="")
                bizIds = bizDeviceList[i].id;
            else
                bizIds+=","+bizDeviceList[i].id;
        }
    }
    for(int i=0;i<ui->tableWidget_2->rowCount();i++){
        if(ui->tableWidget_2->item(i,0)->checkState()==Qt::Checked){
            if(checkIds=="")
                checkIds = testedDeviceList[i].id;
            else
                checkIds+=","+testedDeviceList[i].id;
        }
    }
    if(checkIds==""){
        QMessageBox::warning(this, "提示", "请选择核查件!");
        return;
    }
    if(bizIds==""){
        QMessageBox::warning(this, "提示", "请选择标准设备!");
        return;
    }
    newVerifyWnd->chooseDevices(bizIds,checkIds);
    this->close();
}