From 12b969d1cbeb392742f990244ab3ee1a3acfce0f Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Thu, 8 Jan 2026 19:49:59 +0530 Subject: [PATCH] fix: age issue while moving to nurse worklist --- .../identity/dto/BeneficiariesESDTO.java | 3 +++ .../elasticsearch/ElasticsearchService.java | 23 +++++++------------ 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/iemr/common/identity/dto/BeneficiariesESDTO.java b/src/main/java/com/iemr/common/identity/dto/BeneficiariesESDTO.java index b8d9253..969f8af 100644 --- a/src/main/java/com/iemr/common/identity/dto/BeneficiariesESDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BeneficiariesESDTO.java @@ -6,6 +6,8 @@ import lombok.AllArgsConstructor; import java.util.Date; import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @Data @@ -33,6 +35,7 @@ public class BeneficiariesESDTO { private String genderName; @JsonProperty("dOB") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") private Date dOB; @JsonProperty("age") diff --git a/src/main/java/com/iemr/common/identity/service/elasticsearch/ElasticsearchService.java b/src/main/java/com/iemr/common/identity/service/elasticsearch/ElasticsearchService.java index 67ede6e..a8b10ae 100644 --- a/src/main/java/com/iemr/common/identity/service/elasticsearch/ElasticsearchService.java +++ b/src/main/java/com/iemr/common/identity/service/elasticsearch/ElasticsearchService.java @@ -50,15 +50,7 @@ public class ElasticsearchService { @Value("${elasticsearch.enabled}") private boolean esEnabled; - /** - * Universal search with optional user location for ranking - */ - -/** - * Advanced search with multiple criteria - * Searches by firstName, lastName, gender, DOB, address fields, etc. - */ - + /** * Universal search with score-based filtering and location ranking * Only returns records that actually match the query (not all 10000) @@ -155,10 +147,10 @@ public List> universalSearch(String query, Integer userId) { .boostMode(FunctionBoostMode.Multiply) ) ) - .minScore(minScore) // KEY: Only return results above minimum score - .size(500) // Reasonable limit - returns only matches up to 500 + .minScore(minScore) + .size(500) .sort(so -> so - .score(sc -> sc.order(SortOrder.Desc)) // Sort by relevance score + .score(sc -> sc.order(SortOrder.Desc)) ) , BeneficiariesESDTO.class); @@ -176,7 +168,7 @@ public List> universalSearch(String query, Integer userId) { } Map result = mapESResultToExpectedFormat(hit.source()); if (result != null) { - result.put("_score", hit.score()); // Include score for debugging + result.put("_score", hit.score()); } return result; }) @@ -421,8 +413,8 @@ public List> advancedSearch( .boostMode(FunctionBoostMode.Multiply) ) ) - .minScore(2.0) // Only return good matches - .size(500) // Reasonable limit + .minScore(2.0) + .size(500) .sort(so -> so .score(sc -> sc.order(SortOrder.Desc)) ) @@ -615,6 +607,7 @@ private Map mapESResultToExpectedFormat(BeneficiariesESDTO esDat result.put("genderID", esData.getGenderID()); result.put("genderName", esData.getGenderName()); result.put("dob", esData.getDOB()); + result.put("dOB", esData.getDOB()); result.put("age", esData.getAge()); result.put("fatherName", esData.getFatherName() != null ? esData.getFatherName() : ""); result.put("spouseName", esData.getSpouseName() != null ? esData.getSpouseName() : "");