Add Phase 20 stored bank reuse and richer reconciliation

This commit is contained in:
A R R R Associates
2026-08-24 18:58:58 +05:30
parent 769add8cb8
commit b8fbaf55ec
12 changed files with 1419 additions and 78 deletions
@@ -365,12 +365,37 @@ def archive_analysis_to_engagement(
return {"status": "not_requested", "documents": []}
archived = []
reused = []
try:
reused = json.loads(getattr(job, "stored_source_versions_json", None) or "[]")
except Exception:
reused = []
reused_by_copied_name = {
_text(row.get("copied_filename")): row
for row in reused
if isinstance(row, dict) and _text(row.get("copied_filename"))
}
meta_by_source = {
Path(_text(getattr(meta, "source_file", ""))).name: meta
for meta in metas
}
for source in source_paths:
reused_row = reused_by_copied_name.get(source.name)
if reused_row:
archived.append(
{
"document_id": int(reused_row.get("document_id") or 0),
"version_id": int(reused_row.get("version_id") or 0),
"filename": reused_row.get("original_filename") or source.name,
"type": "BANK_STATEMENT",
"reused_existing_document": True,
}
)
continue
upload = _upload_proxy(source, "application/pdf")
try:
meta = meta_by_source.get(source.name)