Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / dialogcheckresult.cpp
陈实 on 25 Mar 2024 5 KB 检定流程修改
#include "dialogcheckresult.h"
#include "ui_dialogcheckresult.h"
#include <QMessageBox>

DialogCheckResult::DialogCheckResult(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::DialogCheckResult)
{
    ui->setupUi(this);

}

DialogCheckResult::~DialogCheckResult()
{
    delete ui;
}

void DialogCheckResult::initCheckTable(QList<SaveDeviceMeasureCalibrator> measList,QStringList headList,QString sID)
{
     ui->tableWidget->verticalHeader()->setParent(nullptr);
     ui->tableWidget->setColumnCount(headList.count());
     ui->tableWidget->setHorizontalHeaderLabels(headList);
     for(int i=0;i<headList.count();i++)
     {
         ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch);
     }
     int rowCount=0;
     int row=0;
     measureCalList = measList;
     measHeadList = headList;
     stdId = sID;
     for (const SaveDeviceMeasureCalibrator& measItem : measList)
     {
         //获取行号 并进行添加行
         rowCount = ui->tableWidget->rowCount();
         ui->tableWidget->insertRow(rowCount);
         //添加 序号
         ui->tableWidget->setItem(row, 0, new QTableWidgetItem(QString::number(row+1)));

         ui->tableWidget->setItem(row, 2, new QTableWidgetItem(measItem.params));
         ui->tableWidget->setItem(row, 3, new QTableWidgetItem(measItem.capacity));
         ui->tableWidget->setItem(row, 4, new QTableWidgetItem(measItem.unit));
         ui->tableWidget->setItem(row, 5, new QTableWidgetItem(measItem.frequency));
         ui->tableWidget->setItem(row, 6, new QTableWidgetItem(measItem.frequency_unit));
         ui->tableWidget->setItem(row, 7, new QTableWidgetItem(measItem.range_range));
         ui->tableWidget->setItem(row, 8, new QTableWidgetItem(measItem.standard_value));
         ui->tableWidget->setItem(row, 9, new QTableWidgetItem(measItem.resolution));
         ui->tableWidget->setItem(row, 10, new QTableWidgetItem(measItem.maximum_error));
         ui->tableWidget->setItem(row, 11, new QTableWidgetItem(measItem.error_param_a));
         ui->tableWidget->setItem(row, 12, new QTableWidgetItem(measItem.error_param_b));
         ui->tableWidget->setItem(row, 15, new QTableWidgetItem(measItem.indicating_value));
         ui->tableWidget->setItem(row, 19, new QTableWidgetItem(measItem.measure_indication_value));
         row++;
     }
}

void DialogCheckResult::on_pushButton_3_clicked()
{
    SaveDeviceMeasureInfo measInfo;
    BaseCommonApi api;
    measInfo.id = QString::number(api.generateId());
    measInfo.data_no = "jdsj"+QDateTime::currentDateTime().toString("yyyyMMdd")+"0003";
    measInfo.order_id = taskList[0].id;
    measInfo.sample_id=deviceId;
    measInfo.item_id=measureCalList[0].item_data_id;
    measInfo.temperature = ui->lineEditTemp->text();
    measInfo.humidity =ui->lineEdit_Hum->text();
    measInfo.measure_address=ui->comboBoxPlace->currentText();
    measInfo.trace_date = ui->dateEditCheck->date();
    measInfo.measure_valid_date = ui->dateEdit_Valid->dateTime();
    measInfo.outcome = ui->lineEdit_Cons->text();
    if(BaseCommonApi::InsertSaveDeviceMeasureInfo(measInfo)){
        QStringList idList = stdId.split(",");
        for(const QString& id : idList)
        {
            DeviceMeasureEquipment equipment;
            equipment.id=QString::number(api.generateId());
            equipment.data_id = measInfo.id;
            equipment.equipment_id = id;
            equipment.create_time=equipment.update_time=QDateTime::currentDateTime();
            BaseCommonApi::InsertDeviceMeasureEquipment(equipment);
        }

        for(SaveDeviceMeasureCalibrator& item:measureCalList){
            item.id = QString::number(api.generateId());
            item.data_id = measInfo.id;
            BaseCommonApi::InsertVerMultiCal(item);
        }
    }
    else
    {
        QMessageBox::warning(this, "警告", "保存失败!");
    }
}

void DialogCheckResult::on_pushButton_2_clicked()
{
    WordEngine engine;
    QString strPath = "D://数字多用表8846A校准证书模板.doc";
    engine.open(strPath);
    QStringList itemList;
    QStringList conentList;
    itemList <<"unit"<<"address"<<"jianAddr"<<"time2"<<"temperature"<<"humidity";
    conentList <<""<<""<<ui->comboBoxPlace->currentText()<<ui->dateEditCheck->text()<<ui->lineEditTemp->text()<<ui->lineEdit_Hum->text();
    engine.setMarks("unit","");
    engine.setMarks("address","");
    engine.setMarks("jianAddr",ui->comboBoxPlace->currentText());
    engine.setMarks("time2",ui->dateEditCheck->text());
    engine.setMarks("temperature",ui->lineEditTemp->text());
    engine.setMarks("humidity",ui->lineEdit_Hum->text());
    //engine.setBatchMarks(itemList,conentLis;t)
    QString strLabel = "result";
    //engine.setMarks(strLabel,"1.表格1");
    QString strTitle = "1.表格1";
    int rows = measureCalList.length()+1;
    int cols = measHeadList.length();
    QAxObject* pTable = engine.insertTable(strLabel,rows,cols,strTitle);
    for (int i=0;i<cols;i++){
        engine.setCellString(pTable,1,i,measHeadList[i]);
    }
    for(int j=2;j<=rows;j++){
        SaveDeviceMeasureCalibrator measItem =measureCalList[j-2];
        engine.setCellString(pTable,j, 2, measItem.params);
        engine.setCellString(pTable,j, 3, measItem.capacity);
        engine.setCellString(pTable,j, 4, measItem.unit);
        engine.setCellString(pTable,j, 5, measItem.frequency);
        engine.setCellString(pTable,j, 6, measItem.frequency_unit);
        engine.setCellString(pTable,j, 7, measItem.range_range);
        engine.setCellString(pTable,j, 8, measItem.standard_value);
        engine.setCellString(pTable,j, 9, measItem.resolution);
        engine.setCellString(pTable,j, 10, measItem.maximum_error);
        engine.setCellString(pTable,j, 11, measItem.error_param_a);
        engine.setCellString(pTable,j, 12, measItem.error_param_b);
        engine.setCellString(pTable,j, 15, measItem.indicating_value);
        engine.setCellString(pTable,j, 19, measItem.measure_indication_value);
    }
    engine.saveAs("D://预览证书.doc");
}

void DialogCheckResult::on_pushButton_clicked()
{

}