#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; 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); } QMessageBox::information(this, "提示", "保存成功!"); } 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() { }