From c2cdfe1a7e24d34a2795c25d407d31d4e1998b13 Mon Sep 17 00:00:00 2001 From: vishwab1 Date: Tue, 6 Oct 2026 13:26:58 +0530 Subject: [PATCH] Use vanID instead of villageId in diagnostic document S3 path The S3 key was prefixed with a villageId taken from the request param, so every document in a push run was filed under one village regardless of where it came from. Use each row's own vanID instead; villageId is now optional on /diagnostic-documents-to-server and ignored. Co-Authored-By: Claude Opus 5.5 --- .../controller/dataSyncActivity/StartSyncActivity.java | 4 ++-- .../DiagnosticDocumentIngestService.java | 8 ++++---- .../DiagnosticDocumentPushServiceImpl.java | 3 +-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java b/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java index 55884642..3d1f211e 100644 --- a/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java +++ b/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java @@ -105,10 +105,10 @@ public String dataSyncToServer(@RequestBody String requestOBJ, @PostMapping(value = { "/diagnostic-documents-to-server" }) public String diagnosticDocumentsToServer(@RequestHeader(value = "Authorization") String authorization, @RequestHeader(value = "ServerAuthorization") String serverAuthorization, - @RequestParam Long villageId) { + @RequestParam(required = false) Long villageId) { OutputResponse response = new OutputResponse(); try { - String s = diagnosticDocumentPushServiceImpl.pushPendingDocuments(serverAuthorization, villageId); + String s = diagnosticDocumentPushServiceImpl.pushPendingDocuments(serverAuthorization); if (s != null) response.setResponse(s); else diff --git a/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentIngestService.java b/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentIngestService.java index 507ff235..81fa0acf 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentIngestService.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentIngestService.java @@ -80,16 +80,16 @@ private Map ingestOne(Map item) { } Long beneficiaryId = asLong(item.get("beneficiaryId")); - Long villageId = asLong(item.get("villageId")); + Long vanId = asLong(item.get("vanID")); String orderType = (String) item.get("orderType"); String storedFileName = (String) item.get("storedFileName"); - if (villageId == null || beneficiaryId == null || orderType == null || documentType == null + if (vanId == null || beneficiaryId == null || orderType == null || documentType == null || storedFileName == null) { ack.put("status", "FAILED"); - ack.put("error", "Missing villageId, beneficiaryId, orderType, documentType or storedFileName"); + ack.put("error", "Missing vanID, beneficiaryId, orderType, documentType or storedFileName"); return ack; } - String s3Key = villageId + "/" + beneficiaryId + "/" + orderType + "/" + documentType + "/" + String s3Key = vanId + "/" + beneficiaryId + "/" + orderType + "/" + documentType + "/" + storedFileName; String contentType = (String) item.get("contentType"); diff --git a/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentPushServiceImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentPushServiceImpl.java index 9374d93b..6a5a9c00 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentPushServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncLayerCentral/DiagnosticDocumentPushServiceImpl.java @@ -66,7 +66,7 @@ public class DiagnosticDocumentPushServiceImpl { @Autowired private CryptoUtil cryptoUtil; - public String pushPendingDocuments(String Authorization, Long villageId) throws Exception { + public String pushPendingDocuments(String Authorization) throws Exception { List> pendingRows = diagnosticDocumentRepository.findPendingDocuments(); boolean anyRowsFound = !pendingRows.isEmpty(); int totalAttempted = 0; @@ -118,7 +118,6 @@ public String pushPendingDocuments(String Authorization, Long villageId) throws item.put("vanID", row.get("vanID")); item.put("parkingPlaceID", row.get("parkingPlaceID")); item.put("vanSerialNo", row.get("vanSerialNo")); - item.put("villageId", villageId); item.put("fileContentBase64", base64Plaintext); payloadItems.add(item); rowsById.put(rowId, row);