修改符合数据事件ID问题

This commit is contained in:
徐海 2026-03-26 20:07:26 +08:00
parent 5d8caba6f0
commit c039e9bf61
2 changed files with 57 additions and 5 deletions

View File

@ -499,17 +499,17 @@ bool CoincidenceEventAnalysisTask::processTask()
project_dir.mkpath(coincidence_data_dir_name);
const QString& coincidence_data_dir_path = project_dir.filePath(coincidence_data_dir_name);
QMap<int, std::shared_ptr<std::ofstream> > coincidence_data_out_stream_map;
unsigned long long event_id = 0;
for (const CoincidenceEvent& event : events) {
++ event_id;
const QString& event_data_filename = QDir(coincidence_data_dir_path).filePath(QStringLiteral(u"[%1ns]%2个粒子符合事件[未刻度].csv").arg(project_model->GetConformTimeWin()).arg(event.coincidence_order));
if ( !coincidence_data_out_stream_map.contains(event.coincidence_order) ) {
std::shared_ptr<std::ofstream> out_stream(new std::ofstream(QStrToSysPath(event_data_filename)));
*out_stream << event_id_str << "," << board_id_str << "," << channel_id_str << "," << addr_str << "," << time_str << std::endl;
coincidence_data_out_stream_map[event.coincidence_order] = out_stream;
}
unsigned long long event_id = 0;
std::shared_ptr<std::ofstream> out_stream = coincidence_data_out_stream_map[event.coincidence_order];
for (const SpectrumData& data_item : event.events) {
++ event_id;
*out_stream << event_id << "," << data_item.board_id << "," << data_item.channel_id << "," << data_item.energy << "," << data_item.timestamp << std::endl;
}
project_model->SetTimeWinConformParticleData(project_model->GetConformTimeWin(), event.coincidence_order, event_data_filename);

View File

@ -1,14 +1,18 @@
#include "MeasureAnalysisHistoryForm.h"
#include "MeasureAnalysisProjectModel.h"
#include "ui_MeasureAnalysisHistoryForm.h"
#include <QDebug>
#include <QDir>
MeasureAnalysisHistoryForm::MeasureAnalysisHistoryForm(QWidget *parent)
MeasureAnalysisHistoryForm::MeasureAnalysisHistoryForm(QWidget* parent)
: QWidget(parent)
, ui(new Ui::MeasureAnalysisHistoryForm)
{
ui->setupUi(this);
connect(ui->btn_query, &QPushButton::clicked, [this](){
connect(ui->btn_query, &QPushButton::clicked, [this]() {
queryHistory();
});
loadHistoryInfo();
}
MeasureAnalysisHistoryForm::~MeasureAnalysisHistoryForm()
@ -18,11 +22,59 @@ MeasureAnalysisHistoryForm::~MeasureAnalysisHistoryForm()
void MeasureAnalysisHistoryForm::loadHistoryInfo()
{
auto row_count = ui->tablew_history->rowCount();
for (int row = row_count - 1; row >= 0; --row) {
QPushButton* btn_remove_row = dynamic_cast<QPushButton*>(ui->tablew_history->cellWidget(row, 8));
if (btn_remove_row) {
ui->tablew_history->removeRow(row);
btn_remove_row->deleteLater();
}
}
// 遍历可执行文件目录下Projects目录下的所有文件夹找出所有项目文件夹下的.msproject文件
QDir projects_dir(QDir(qApp->applicationDirPath()).filePath("Projects"));
if (!projects_dir.exists()) {
return;
}
QList<QString> project_dirs = projects_dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
for (const QString& project_dir : project_dirs) {
QDir project_dir_path(projects_dir.path() + "/" + project_dir);
if (project_dir_path.exists()) {
QList<QString> msproject_files = project_dir_path.entryList(QStringList({ "*.msproject" }));
if (msproject_files.isEmpty()) {
continue;
}
const QString& project_filename = project_dir_path.filePath(msproject_files.first());
qDebug() << project_filename;
MeasureAnalysisProjectModel project_model;
project_model.LoadProjectModel(project_filename);
// int row = ui->tablew_history->rowCount();
// ui->tablew_history->insertRow(row);
// ui->tablew_history->setItem(row, 0, new QTableWidgetItem(channel_name));
// ui->tablew_history->item(row, 0)->setCheckState(Qt::Unchecked);
// ui->tablew_history->setItem(row, 1, new QTableWidgetItem(QString::number(fit_data_item[0])));
// ui->tablew_history->setItem(row, 2, new QTableWidgetItem(QString::number(fit_data_item[1])));
// ui->tablew_history->setItem(row, 3, new QTableWidgetItem(QString::number(fit_data_item[2])));
// ui->tablew_history->setItem(row, 4, new QTableWidgetItem(QString::number(fit_data_item[3])));
// ui->tablew_history->setItem(row, 5, new QTableWidgetItem(QString::number(fit_data_item[4])));
// ui->tablew_history->setItem(row, 6, new QTableWidgetItem(QString::number(fit_data_item[5])));
// ui->tablew_history->setItem(row, 7, new QTableWidgetItem(QString::number(fit_data_item[6])));
// QTableWidgetItem* item = new QTableWidgetItem;
// ui->tablew_history->setItem(row, 8, item);
// QPushButton* btn_remove_row = new QPushButton(QStringLiteral(u"删除"));
// btn_remove_row->setMaximumWidth(35);
// connect(btn_remove_row, &QPushButton::clicked, [this, channel_name, item, btn_remove_row]() {
// item->setCheckState(Qt::Unchecked);
// int remove_row = item->row();
// ui->tablew_history->removeRow(remove_row);
// btn_remove_row->deleteLater();
// });
// ui->tablew_history->setCellWidget(row, 8, btn_remove_row);
}
}
}
void MeasureAnalysisHistoryForm::queryHistory()
{
const QString& query_text = ui->linedit_query->text();
}