13#include <QVariantList>
30 std::shared_ptr<core::ports::analysis::IAnalysisRunner> runner);
49 const std::string& filterSpec)
const;
58 const QString& filterSpec)
const;
79 QString
buildFilterSpec(
const QString& dateField,
const QString& dateMode,
80 const QString& year,
const QString& dateFrom,
81 const QString& dateTo,
const QStringList& propertyIds,
83 const QString& allocatableMode)
const;
93 const QStringList& selectedTransactionIds,
94 double taxPercent)
const;
110 double defaultValue = 0.0)
const;
120 const std::string& analysisId,
bool includeCalculationAdjustments,
134 bool includeCalculationAdjustments,
135 const std::string& unassignedLabel)
const;
149 [[nodiscard]] QVariantMap
170 [[nodiscard]] QStringList
187 const std::string& dateField,
const std::string& dateMode,
188 const std::string& year,
const std::string& dateFrom,
189 const std::string& dateTo,
const std::vector<std::string>& propertyIds,
191 const std::string& allocatableMode)
const;
200 buildAnalysisAdjustments(
const QVariantList& transactions,
201 const QStringList& selectedTransactionIds,
202 double taxPercent)
const;
214 const std::vector<std::string>& selectedTransactionIds,
215 double taxPercent)
const;
217 std::shared_ptr<core::ports::analysis::IAnalysisRunner> runner_;
Declares analysis use-case request DTOs and filter-spec helpers.
Declares the analysis execution result port contract.
Analysis use-case port consumed by UI workflows.
Immutable workspace read-model snapshot exposed through workspace ports.
QStringList mapContractTypes(const std::vector< std::string > &contractTypes) const
Maps contract types to a QML string list.
QVariantMap buildAnalysisAdjustmentAmounts(const QVariantList &transactions, const QStringList &selectedTransactionIds, double taxPercent) const
Builds analysis adjustment amounts from preview rows.
core::ports::analysis::AnalysisTableState projectTableState(const core::ports::analysis::AnalysisResult &result, const core::ports::analysis::AnalysisAdjustmentAmounts &adjustments, bool includeCalculationAdjustments, const std::string &unassignedLabel) const
Projects table state for QML presentation.
core::ports::analysis::AnalysisAdjustmentAmounts adjustmentAmountsFromMap(const QVariantMap &amountsById) const
Converts a QML adjustment amount map to core adjustment pairs.
AnalysisAdapter(std::shared_ptr< core::ports::analysis::IAnalysisRunner > runner)
Creates an analysis adapter backed by a core runner.
core::ports::analysis::AnalysisFilterSelection parseFilterSpec(const std::string &filterSpec) const
Parses a serialized analysis filter specification through the core runner.
core::ports::analysis::AnalysisResult runAnalysis(const core::ports::workspace::WorkspaceSnapshot &workspace, const core::ports::analysis::AnalysisRequest &request) const
Runs an analysis through the core runner.
QVariantMap mapAnalysisResult(const core::ports::analysis::AnalysisResult &result) const
Maps an analysis result to a QML payload.
QVariantMap mapAnalysisTableState(const core::ports::analysis::AnalysisTableState &state) const
Maps table state to a QML payload.
std::vector< std::string > contractTypes(const core::ports::workspace::WorkspaceSnapshot &workspace) const
Returns available contract types from the core runner.
void applyAnalysisPreviewOverrides(core::ports::workspace::WorkspaceSnapshot &workspace, const std::string &analysisId, bool includeCalculationAdjustments, const core::ports::analysis::AnalysisAdjustmentAmounts &adjustments) const
Applies preview-only overrides to a workspace snapshot.
double parseAnalysisPercentText(const QString &text, double defaultValue=0.0) const
Parses user-entered percent text through the core runner.
core::ports::analysis::AnalysisRequest buildAnalysisRequest(const QString &analysisId, const QString &filterSpec) const
Builds an analysis request from UI-facing ids and filter specs.
QVariantMap mapPreviewResult(const core::ports::analysis::AnalysisPreviewResult &preview) const
Maps preview result to a QML payload.
core::ports::analysis::AnalysisPreviewResult previewTransactions(const core::ports::workspace::WorkspaceSnapshot &workspace, const std::string &filterSpec) const
Builds preview transactions through the core runner.
QString buildFilterSpec(const QString &dateField, const QString &dateMode, const QString &year, const QString &dateFrom, const QString &dateTo, const QStringList &propertyIds, const QStringList &contractTypes, const QString &allocatableMode) const
Builds a serialized analysis filter specification from UI fields.
std::vector< std::pair< std::string, double > > AnalysisAdjustmentAmounts
Adjustment amount pairs keyed by transaction id.