Add Phase 20 stored bank reuse and richer reconciliation
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user