From 9561e4d1c15183ec0351262723d209009a2f4ec7 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Tue, 16 Dec 2025 14:57:46 +0530 Subject: [PATCH 1/7] fix: implement elasticsearch functionality --- src/main/environment/common_ci.properties | 2 ++ src/main/environment/common_docker.properties | 2 ++ .../environment/common_example.properties | 2 ++ .../registrar/main/RegistrarController.java | 26 +++++++++++++++++-- .../registrar/RegistrarServiceImpl.java | 20 ++++++++++++++ 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/main/environment/common_ci.properties b/src/main/environment/common_ci.properties index 5f9112da..12c6a9e5 100644 --- a/src/main/environment/common_ci.properties +++ b/src/main/environment/common_ci.properties @@ -20,6 +20,8 @@ registrarQuickSearchByIdUrl =@env.COMMON_API@beneficiary/searchUserByID registrarQuickSearchByPhoneNoUrl =@env.COMMON_API@beneficiary/searchUserByPhone +registrarQuickSearchByESUrl =@env.COMMON_API@beneficiary/searchUser + getBenImageFromIdentity =@env.HWC_IDENTITY_API_BASE@id/benImageByBenRegID ##save covid Vaccine details coming from mobile app through fhir diff --git a/src/main/environment/common_docker.properties b/src/main/environment/common_docker.properties index e2efe6b8..d4721c29 100644 --- a/src/main/environment/common_docker.properties +++ b/src/main/environment/common_docker.properties @@ -20,6 +20,8 @@ registrarQuickSearchByIdUrl =${COMMON_API}beneficiary/searchUserByID registrarQuickSearchByPhoneNoUrl =${COMMON_API}beneficiary/searchUserByPhone +registrarQuickSearchByESUrl =${COMMON_API}beneficiary/searchUser + getBenImageFromIdentity =${HWC_IDENTITY_API_BASE}id/benImageByBenRegID ##save covid Vaccine details coming from mobile app through fhir diff --git a/src/main/environment/common_example.properties b/src/main/environment/common_example.properties index b6c74d84..2a19431d 100644 --- a/src/main/environment/common_example.properties +++ b/src/main/environment/common_example.properties @@ -21,6 +21,8 @@ registrarQuickSearchByIdUrl =http://localhost:8083/beneficiary/searchUserByID registrarQuickSearchByPhoneNoUrl =http://localhost:8083/beneficiary/searchUserByPhone +registrarQuickSearchByESUrl =http://localhost:8083/beneficiary/searchUser + getBenImageFromIdentity =http://localhost:8094/id/benImageByBenRegID ##save covid Vaccine details coming from mobile app through fhir diff --git a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java index 43e84b0b..966ca444 100644 --- a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java +++ b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java @@ -30,12 +30,10 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.query.Param; - import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.google.gson.Gson; @@ -256,6 +254,30 @@ public String quickSearchNew(@RequestBody String requestObj, } + // beneficiary quick search new integrated with common and identity with Elasticsearch + @Operation(summary = "Search beneficiary using Elasticsearch") + @PostMapping(value = { "/quickSearchES" }) + public String quickSearchES(@RequestBody String requestObj, + @RequestHeader(value = "Authorization") String Authorization) { + String searchList = null; + OutputResponse response = new OutputResponse(); + try { + searchList = registrarServiceImpl.beneficiaryQuickSearchES(requestObj, Authorization); + if (searchList == null) { + response.setError(5000, "Invalid request"); + return response.toString(); + } else { + return searchList; + } + } catch (Exception e) { + logger.error("Error in Quick Search" + e); + response.setError(5000, "Error while searching beneficiary"); + return response.toString(); + } + + } + + // beneficiary Advance search new integrated with common and identity @Operation(summary = "Beneficiary advance search integrated with common and identity API") @PostMapping(value = { "/advanceSearchNew" }) diff --git a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java index 6b0d540a..7097d2f3 100644 --- a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java @@ -78,6 +78,9 @@ public class RegistrarServiceImpl implements RegistrarService { @Value("${registrarQuickSearchByPhoneNoUrl}") private String registrarQuickSearchByPhoneNoUrl; + @Value("${registrarQuickSearchByESUrl}") + private String registrarQuickSearchByESUrl; + @Value("${beneficiaryEditUrl}") private String beneficiaryEditUrl; @@ -810,6 +813,23 @@ public String beneficiaryQuickSearch(String requestObj, String Authorization) { return returnOBJ; } + // beneficiary quick search new integrated with common and identity with elasticsearch + public String beneficiaryQuickSearchES(String requestObj, String Authorization) { + String returnOBJ = null; + RestTemplate restTemplate = new RestTemplate(); + JSONObject obj = new JSONObject(requestObj); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + if ((obj.has("search") && !obj.isNull("search"))) { + ResponseEntity response = restTemplate.exchange(registrarQuickSearchByESUrl, HttpMethod.POST, + request, String.class); + if (response.hasBody()) + returnOBJ = response.getBody(); + + } + return returnOBJ; + } + + // beneficiary advance search new integrated with common and identity public String beneficiaryAdvanceSearch(String requestObj, String Authorization) { String returnOBJ = null; From 3ad7119406f05066104cae64ebd1f36576765596 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Thu, 18 Dec 2025 09:20:08 +0530 Subject: [PATCH 2/7] fix: update the response code --- .../hwc/controller/registrar/main/RegistrarController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java index 966ca444..4af2bb3f 100644 --- a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java +++ b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java @@ -264,14 +264,14 @@ public String quickSearchES(@RequestBody String requestObj, try { searchList = registrarServiceImpl.beneficiaryQuickSearchES(requestObj, Authorization); if (searchList == null) { - response.setError(5000, "Invalid request"); + response.setError(400, "Invalid request"); return response.toString(); } else { return searchList; } } catch (Exception e) { logger.error("Error in Quick Search" + e); - response.setError(5000, "Error while searching beneficiary"); + response.setError(400, "Error while searching beneficiary"); return response.toString(); } From 54cc8a7f8bea27a74b5fb0e67258fc89a5fdff43 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Thu, 18 Dec 2025 10:23:01 +0530 Subject: [PATCH 3/7] fix: update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index df56a8f7..48bd3961 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.iemr.hwc hwc-api - 3.2.1 + 3.6.1 war HWC-API From 3c9ba713076182416086a8b56635ec9bf4cafe4a Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Tue, 23 Dec 2025 23:33:26 +0530 Subject: [PATCH 4/7] fix: advance search functionality --- .../registrar/main/RegistrarController.java | 31 +++++++++++++++++++ .../registrar/RegistrarServiceImpl.java | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java index 4af2bb3f..8aa0f28b 100644 --- a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java +++ b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java @@ -301,6 +301,37 @@ public String advanceSearchNew(@RequestBody String requestObj, } + /** + * NEW Elasticsearch-based beneficiary advance search + */ +@Operation(summary = "Beneficiary advance search using Elasticsearch") +@PostMapping(value = { "/advanceSearchES" }) +public String advanceSearchES( + @RequestBody String requestObj, + @RequestHeader(value = "Authorization") String Authorization) { + + String searchList = null; + OutputResponse response = new OutputResponse(); + + try { + logger.info("ES Advance Search request received"); + + searchList = registrarServiceImpl.beneficiaryAdvanceSearchES(requestObj, Authorization); + + if (searchList == null) { + response.setError(5000, "Invalid request"); + return response.toString(); + } else { + return searchList; + } + + } catch (Exception e) { + logger.error("Error in ES Advance Search: {}", e.getMessage(), e); + response.setError(5000, "Error while searching beneficiary: " + e.getMessage()); + return response.toString(); + } +} + @Operation(summary = "Beneficiary advance search") @PostMapping(value = { "/benAdvanceSearchNew" }) public String benAdvanceSearchNew(@RequestBody String requestObj, diff --git a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java index 7097d2f3..f76cb670 100644 --- a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java @@ -87,6 +87,9 @@ public class RegistrarServiceImpl implements RegistrarService { @Value("${registrarAdvanceSearchUrl}") private String registrarAdvanceSearchUrl; + @Value("${registrarAdvanceSearchESUrl}") + private String registrarAdvanceSearchESUrl; + @Value("${syncSearchByLocation}") private String syncSearchByLocation; @@ -818,7 +821,10 @@ public String beneficiaryQuickSearchES(String requestObj, String Authorization) String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); JSONObject obj = new JSONObject(requestObj); + System.out.println("obj="+obj); HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + System.out.println("test create request="+request); + if ((obj.has("search") && !obj.isNull("search"))) { ResponseEntity response = restTemplate.exchange(registrarQuickSearchByESUrl, HttpMethod.POST, request, String.class); @@ -845,6 +851,31 @@ public String beneficiaryAdvanceSearch(String requestObj, String Authorization) } + /** + * NEW Elasticsearch-based beneficiary advance search + */ +public String beneficiaryAdvanceSearchES(String requestObj, String Authorization) { + logger.info("beneficiaryAdvanceSearchES called with request: {}", requestObj); + + String returnOBJ = null; + RestTemplate restTemplate = new RestTemplate(); + + HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + + ResponseEntity response = restTemplate.exchange( + registrarAdvanceSearchESUrl, // NEW property + HttpMethod.POST, + request, + String.class + ); + + if (response.hasBody()) { + returnOBJ = response.getBody(); + } + + return returnOBJ; +} + public int searchAndSubmitBeneficiaryToNurse(String requestOBJ) throws Exception { int i = commonBenStatusFlowServiceImpl.createBenFlowRecord(requestOBJ, null, null); return i; From f76086df846df2c83d4cae891f6f6e569919fc61 Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Wed, 24 Dec 2025 19:58:01 +0530 Subject: [PATCH 5/7] fix: add env properties --- src/main/environment/common_ci.properties | 3 +++ src/main/environment/common_docker.properties | 3 +++ src/main/environment/common_example.properties | 3 +++ .../com/iemr/hwc/service/registrar/RegistrarServiceImpl.java | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/environment/common_ci.properties b/src/main/environment/common_ci.properties index 12c6a9e5..98f0946c 100644 --- a/src/main/environment/common_ci.properties +++ b/src/main/environment/common_ci.properties @@ -33,6 +33,9 @@ beneficiaryEditUrl =@env.COMMON_API@beneficiary/update ## Advance Search registrarAdvanceSearchUrl =@env.COMMON_API@beneficiary/searchBeneficiary +## Advance Search using ES +registrarAdvanceSearchESUrl =@env.COMMON_API@beneficiary/searchBeneficiaryES + ## Data Sync API dataSyncUploadUrl=@env.MMU_API@dataSync/van-to-server diff --git a/src/main/environment/common_docker.properties b/src/main/environment/common_docker.properties index d4721c29..af98f64c 100644 --- a/src/main/environment/common_docker.properties +++ b/src/main/environment/common_docker.properties @@ -33,6 +33,9 @@ beneficiaryEditUrl =${COMMON_API}beneficiary/update ## Advance Search registrarAdvanceSearchUrl =${COMMON_API}beneficiary/searchBeneficiary +## Advance Search using ES +registrarAdvanceSearchESUrl =${COMMON_API}beneficiary/searchBeneficiaryES + ## Data Sync API dataSyncUploadUrl=${MMU_API}dataSync/van-to-server diff --git a/src/main/environment/common_example.properties b/src/main/environment/common_example.properties index 2a19431d..aba63ef3 100644 --- a/src/main/environment/common_example.properties +++ b/src/main/environment/common_example.properties @@ -34,6 +34,9 @@ beneficiaryEditUrl =http://localhost:8083/beneficiary/update ## Advance Search registrarAdvanceSearchUrl =http://localhost:8083/beneficiary/searchBeneficiary +## Advance Search using ES +registrarAdvanceSearchESUrl =http://localhost:8083/beneficiary/searchBeneficiaryES + ## Data Sync API dataSyncUploadUrl==http://localhost:8087/dataSync/van-to-server diff --git a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java index f76cb670..bec206cb 100644 --- a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java @@ -863,7 +863,7 @@ public String beneficiaryAdvanceSearchES(String requestObj, String Authorization HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); ResponseEntity response = restTemplate.exchange( - registrarAdvanceSearchESUrl, // NEW property + registrarAdvanceSearchESUrl, HttpMethod.POST, request, String.class From 727d8481601f09dee0d50a5cd1361662d59fbcf9 Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Wed, 7 Jan 2026 12:19:45 +0530 Subject: [PATCH 6/7] fix: updated to advancedSearch --- .../com/iemr/hwc/service/registrar/RegistrarServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java index bec206cb..bd6ff236 100644 --- a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java @@ -854,8 +854,7 @@ public String beneficiaryAdvanceSearch(String requestObj, String Authorization) /** * NEW Elasticsearch-based beneficiary advance search */ -public String beneficiaryAdvanceSearchES(String requestObj, String Authorization) { - logger.info("beneficiaryAdvanceSearchES called with request: {}", requestObj); +public String beneficiaryAdvancedSearchES(String requestObj, String Authorization) { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); @@ -872,7 +871,7 @@ public String beneficiaryAdvanceSearchES(String requestObj, String Authorization if (response.hasBody()) { returnOBJ = response.getBody(); } - + return returnOBJ; } From 24c35e14bbf4fb5df1f9f1800a74ee94bc09155d Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Wed, 7 Jan 2026 12:29:35 +0530 Subject: [PATCH 7/7] fix: update to advanced --- .../controller/registrar/main/RegistrarController.java | 10 +++++----- .../hwc/service/registrar/RegistrarServiceImpl.java | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java index 8aa0f28b..9e779fbf 100644 --- a/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java +++ b/src/main/java/com/iemr/hwc/controller/registrar/main/RegistrarController.java @@ -302,10 +302,10 @@ public String advanceSearchNew(@RequestBody String requestObj, } /** - * NEW Elasticsearch-based beneficiary advance search + * Elasticsearch-based beneficiary advance search */ -@Operation(summary = "Beneficiary advance search using Elasticsearch") -@PostMapping(value = { "/advanceSearchES" }) +@Operation(summary = "Beneficiary advanced search using Elasticsearch") +@PostMapping(value = { "/advancedSearchES" }) public String advanceSearchES( @RequestBody String requestObj, @RequestHeader(value = "Authorization") String Authorization) { @@ -314,9 +314,9 @@ public String advanceSearchES( OutputResponse response = new OutputResponse(); try { - logger.info("ES Advance Search request received"); + logger.info("ES Advanced Search request received"); - searchList = registrarServiceImpl.beneficiaryAdvanceSearchES(requestObj, Authorization); + searchList = registrarServiceImpl.beneficiaryAdvancedSearchES(requestObj, Authorization); if (searchList == null) { response.setError(5000, "Invalid request"); diff --git a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java index bd6ff236..5e1accad 100644 --- a/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/hwc/service/registrar/RegistrarServiceImpl.java @@ -852,7 +852,7 @@ public String beneficiaryAdvanceSearch(String requestObj, String Authorization) } /** - * NEW Elasticsearch-based beneficiary advance search + * Elasticsearch-based beneficiary advanced search */ public String beneficiaryAdvancedSearchES(String requestObj, String Authorization) {