Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / checkdevice.cpp
陈实 on 14 Mar 2024 3 KB 检定程序选择设备
#include "checkdevice.h"
#include "ui_checkdevice.h"
#include "basecommonapi.h"
#include <QCheckBox>
#include <QMessageBox>

CheckDevice::CheckDevice(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::CheckDevice)
{
    ui->setupUi(this);
    ui->tableWidget_3->setColumnWidth(0, 80);
    for(int i=1;i<4;i++)
        ui->tableWidget_3->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    ui->tableWidget_4->setColumnWidth(0, 80);
    for(int i=1;i<5;i++)
        ui->tableWidget_4->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
    getCheckDevice();
    getStandardDevice();
}

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

void CheckDevice::getCheckDevice()
{
    int rowCount=0;
    int row=0;
    testedDeviceList = BaseCommonApi::getTestedDevice();
    for (const TestedDevice& bizDevice : testedDeviceList) {
        rowCount = ui->tableWidget_3->rowCount();
        ui->tableWidget_3->insertRow(rowCount);
        //QCheckBox *checkBox = new QCheckBox;
        //ui->tableWidget_3->setCellWidget(row, 0, checkBox);
        QTableWidgetItem* p_check = new QTableWidgetItem();
        p_check->setCheckState(Qt::Unchecked);        //设置首列为 CheckBox 控件
        ui->tableWidget_3->setItem(row,0,p_check);
        ui->tableWidget_3->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name));
        ui->tableWidget_3->setItem(row, 2, new QTableWidgetItem(bizDevice.model));
        ui->tableWidget_3->setItem(row, 3, new QTableWidgetItem(bizDevice.help_instruction));
        row++;
    }
}

void CheckDevice::getStandardDevice()
{
    int rowCount=0;
    int row=0;
    bizDeviceList = BaseCommonApi::getBizDeviceManage();
    for (const BizDevice& bizDevice : bizDeviceList) {
        rowCount = ui->tableWidget_4->rowCount();
        ui->tableWidget_4->insertRow(rowCount);
        //QCheckBox *checkBox = new QCheckBox;
        //ui->tableWidget_4->setCellWidget(row, 0, checkBox);
        QTableWidgetItem* p_check = new QTableWidgetItem();
        p_check->setCheckState(Qt::Unchecked);
        ui->tableWidget_4->setItem(row,0,p_check);
        ui->tableWidget_4->setItem(row, 1, new QTableWidgetItem(bizDevice.equipment_name));
        ui->tableWidget_4->setItem(row, 2, new QTableWidgetItem(bizDevice.model));
        ui->tableWidget_4->setItem(row, 3, new QTableWidgetItem(bizDevice.manufacture_no));
        ui->tableWidget_4->setItem(row, 4, new QTableWidgetItem(bizDevice.manufacturer));
        row++;
    }
}

void CheckDevice::on_pushButton_19_clicked()
{
    QString checkIds="";
    QString bizIds = "";
    for(int i=0;i<ui->tableWidget_3->rowCount();i++){
        if(ui->tableWidget_3->item(i,0)->checkState()==Qt::Checked){
            if(checkIds=="")
                checkIds = testedDeviceList[i].id;
            else
                checkIds+=","+testedDeviceList[i].id;
        }
    }
    for(int i=0;i<ui->tableWidget_4->rowCount();i++){
        if(ui->tableWidget_4->item(i,0)->checkState()==Qt::Checked){
            if(bizIds=="")
                bizIds = bizDeviceList[i].id;
            else
                bizIds+=","+bizDeviceList[i].id;
        }
    }
    if(checkIds==""){
        QMessageBox::warning(this, "提示", "请选择被检设备!");
        return;
    }
    if(bizIds==""){
        QMessageBox::warning(this, "提示", "请选择标准设备!");
        return;
    }
    newCheckWnd->chooseDevices(checkIds,bizIds);
    this->close();
}