fix: address account valuation review findings
This commit is contained in:
@@ -17,6 +17,8 @@ from .shared import (
|
||||
now_iso,
|
||||
ok,
|
||||
re,
|
||||
read_db,
|
||||
read_operation,
|
||||
row_to_dict,
|
||||
)
|
||||
from .review_decision_service import attach_review_decisions
|
||||
@@ -457,7 +459,8 @@ def _run_cross_account_transfer_match(limit: int = 500, dry_run: bool = True, db
|
||||
review_items: list[dict[str, Any]] = []
|
||||
matched_tx_ids: set[str] = set()
|
||||
|
||||
with db(db_path) as conn:
|
||||
connection_context = db if not dry_run else read_db
|
||||
with connection_context(db_path) as conn:
|
||||
kb_rows = _fetch_transfer_candidates(conn, "kb_bank_pdf")
|
||||
toss_rows = _fetch_transfer_candidates(conn, "toss_bank_pdf")
|
||||
toss_index = _build_cross_transfer_index(toss_rows)
|
||||
@@ -591,6 +594,7 @@ def _run_cross_account_transfer_match(limit: int = 500, dry_run: bool = True, db
|
||||
)
|
||||
|
||||
|
||||
@read_operation
|
||||
def preview_cross_account_transfers(limit: int = 500, db_path: str | None = None) -> dict[str, Any]:
|
||||
return _run_cross_account_transfer_match(limit=limit, dry_run=True, db_path=db_path)
|
||||
|
||||
@@ -599,11 +603,12 @@ def run_cross_account_transfer_match(limit: int = 500, db_path: str | None = Non
|
||||
return _run_cross_account_transfer_match(limit=limit, dry_run=False, db_path=db_path)
|
||||
|
||||
|
||||
@read_operation
|
||||
def list_cross_transfer_review_queue(limit: int = 300, db_path: str | None = None) -> dict[str, Any]:
|
||||
clauses = ["t.status='active'", "t.source IN ('kb_bank_pdf','toss_bank_pdf')"]
|
||||
clauses.append("t.memo LIKE '%cross_transfer_review:%'")
|
||||
where = " WHERE " + " AND ".join(clauses)
|
||||
with db(db_path) as conn:
|
||||
with read_db(db_path) as conn:
|
||||
rows = conn.execute(
|
||||
f"SELECT * FROM transactions t{where} ORDER BY t.transaction_date DESC, t.created_at DESC LIMIT ?",
|
||||
(max(1, min(int(limit), 1000)),),
|
||||
|
||||
Reference in New Issue
Block a user