fix: address account valuation review findings
This commit is contained in:
@@ -3,6 +3,8 @@ from __future__ import annotations
|
||||
from .shared import (
|
||||
Any,
|
||||
db,
|
||||
read_db,
|
||||
read_operation,
|
||||
fail,
|
||||
json,
|
||||
new_id,
|
||||
@@ -113,6 +115,7 @@ def attach_review_decisions(db_conn: Any, items: list[dict[str, Any]], target_ty
|
||||
return enriched
|
||||
|
||||
|
||||
@read_operation
|
||||
def list_review_decisions(target_type: str = "", target_id: str = "", status: str = "", limit: int = 100, db_path: str | None = None) -> dict[str, Any]:
|
||||
clauses: list[str] = []
|
||||
params: list[Any] = []
|
||||
@@ -131,7 +134,7 @@ def list_review_decisions(target_type: str = "", target_id: str = "", status: st
|
||||
params.append(status)
|
||||
where = " WHERE " + " AND ".join(clauses) if clauses else ""
|
||||
max_limit = max(1, min(int(limit), 1000))
|
||||
with db(db_path) as conn:
|
||||
with read_db(db_path) as conn:
|
||||
rows = conn.execute(
|
||||
f"SELECT * FROM review_decisions{where} ORDER BY decided_at DESC, updated_at DESC LIMIT ?",
|
||||
(*params, max_limit),
|
||||
@@ -214,6 +217,7 @@ def release_review_decision(target_type: str, target_id: str, memo: str = "", op
|
||||
return upsert_review_decision(target_type, target_id, status="pending", decision_type="unknown", reason_code="released", memo=memo, operator=operator, review_after="", db_path=db_path)
|
||||
|
||||
|
||||
@read_operation
|
||||
def list_reconciliation_sessions(account_id: str = "", status: str = "", basis_date: str = "", limit: int = 100, db_path: str | None = None) -> dict[str, Any]:
|
||||
clauses: list[str] = []
|
||||
params: list[Any] = []
|
||||
@@ -235,7 +239,7 @@ def list_reconciliation_sessions(account_id: str = "", status: str = "", basis_d
|
||||
clauses.append("basis_date=?")
|
||||
params.append(basis_date)
|
||||
where = " WHERE " + " AND ".join(clauses) if clauses else ""
|
||||
with db(db_path) as conn:
|
||||
with read_db(db_path) as conn:
|
||||
rows = conn.execute(
|
||||
f"SELECT * FROM reconciliation_sessions{where} ORDER BY basis_date DESC, updated_at DESC LIMIT ?",
|
||||
(*params, max(1, min(int(limit), 1000))),
|
||||
@@ -338,8 +342,9 @@ def close_reconciliation_session(session_id: str = "", account_id: str = "", bas
|
||||
)
|
||||
|
||||
|
||||
@read_operation
|
||||
def get_review_operating_indicators(db_path: str | None = None) -> dict[str, Any]:
|
||||
with db(db_path) as conn:
|
||||
with read_db(db_path) as conn:
|
||||
review_rows = conn.execute("SELECT status, COUNT(*) AS count FROM review_decisions GROUP BY status").fetchall()
|
||||
pending_count = int(conn.execute("SELECT COUNT(*) FROM review_decisions WHERE status='pending'").fetchone()[0])
|
||||
held_recheck_count = int(conn.execute("SELECT COUNT(*) FROM review_decisions WHERE status IN ('held','needs_recheck')").fetchone()[0])
|
||||
|
||||
Reference in New Issue
Block a user