20 std::shared_ptr<ui::adapters::AnnualAdapter> annualAdapter, QObject* parent)
21 : QObject(parent), stateSnapshotProvider_(std::move(stateSnapshotProvider)),
22 annualAdapter_(std::move(annualAdapter)) {}
25 const QStringList& analysisIds,
27 if (!annualAdapter_) {
32 "Annual preview compute submitted",
33 {{
"annualId", annualId.trimmed().toStdString()},
40 for (
const auto&
id : analysisIds) {
43 return annualAdapter_->mapAnnualResult(
44 annualAdapter_->runAnnual(stateSnapshot(), request));
51AnnualWorkflow::stateSnapshot()
const {
52 return stateSnapshotProvider_ ? stateSnapshotProvider_()
53 :
core::
ports::workspace::WorkspaceSnapshot{};
Declares the annual adapter used by UI workflows.
Declares the annual query request port contract.
Declares the UI workflow for annual result computation.
Declarations for the UI Origins component.
Declares lightweight conversions between common Qt string types and standard strings.
Declarations for the UI Trace component.
AnnualWorkflow(StateSnapshotProvider stateSnapshotProvider, std::shared_ptr< ui::adapters::AnnualAdapter > annualAdapter, QObject *parent=nullptr)
Creates an annual workflow.
QVariantMap computeAnnualPreview(const QString &annualId, const QStringList &analysisIds, int year) const
Computes an annual preview through the core runner.
std::function< core::ports::workspace::WorkspaceSnapshot()> StateSnapshotProvider
void traceWorkflow(const char *origin, std::string message, core::errors::ErrorContext context={})
Emits a workflow trace event.
std::string toStdString(const QString &value)
Converts a QString to a UTF-8 encoded std::string.
std::vector< std::string > previewAnalysisIds