From 6d99c02ecd6aae1da3517100a6c273767e02bb9a Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Tue, 31 Mar 2026 19:16:09 +0530 Subject: [PATCH 1/4] fix: add labtech role for ecg controller --- .../tm/controller/common/master/CommonMasterController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java b/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java index 38fe2b1f..9bcc9fc0 100644 --- a/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java +++ b/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java @@ -41,7 +41,7 @@ @RestController @RequestMapping(value = "/master", headers = "Authorization", produces = "application/json") /** Objective: provides master data based on given visitCategory */ -@PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') ") +@PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') || hasRole('LABTECHNICIAN')") public class CommonMasterController { private Logger logger = LoggerFactory.getLogger(CommonMasterController.class); From 423fcda9caa9a6cf77a27ea358a80f8c6554021d Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Tue, 31 Mar 2026 21:41:03 +0530 Subject: [PATCH 2/4] fix: add role --- .../tm/controller/common/master/CommonMasterController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java b/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java index 9bcc9fc0..f79d4a75 100644 --- a/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java +++ b/src/main/java/com/iemr/tm/controller/common/master/CommonMasterController.java @@ -41,7 +41,7 @@ @RestController @RequestMapping(value = "/master", headers = "Authorization", produces = "application/json") /** Objective: provides master data based on given visitCategory */ -@PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') || hasRole('LABTECHNICIAN')") +@PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') || hasRole('LABTECHNICIAN') || hasRole('LAB_TECHNICIAN')") public class CommonMasterController { private Logger logger = LoggerFactory.getLogger(CommonMasterController.class); From 6a551322e0a1d770afc6ec1142247e46128cbebe Mon Sep 17 00:00:00 2001 From: vanitha1822 Date: Mon, 6 Apr 2026 10:33:44 +0530 Subject: [PATCH 3/4] fix: url issue in download document --- pom.xml | 9 ++++-- .../common/main/WorklistController.java | 3 +- .../common/transaction/CommonServiceImpl.java | 28 ++++++++++++++++++- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index cb73b163..bf879145 100644 --- a/pom.xml +++ b/pom.xml @@ -63,12 +63,17 @@ org.springframework.boot spring-boot-starter - + + + + org.slf4j + slf4j-api + ${slf4j.version} co.elastic.logging diff --git a/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java b/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java index ad2c84c7..1cff4dbc 100644 --- a/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java +++ b/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java @@ -806,7 +806,7 @@ public String getTCSpecialistWorklistFutureScheduled( // openkm file download @Operation(summary = "Add file as string to openKM") @PostMapping(value = "/getKMFile", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON, headers = "Authorization") - @PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') ") + // @PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') ") public String getKMFile(@Param(value = "{}") @RequestBody String request, @RequestHeader(value = "Authorization") String Authorization) { OutputResponse response = new OutputResponse(); @@ -819,6 +819,7 @@ public String getKMFile(@Param(value = "{}") @RequestBody String request, } } catch (Exception e) { logger.error("Error while getting file download url : " + e); + response.setError(5000, "Error while getting file download url"); } return response.toString(); } diff --git a/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java b/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java index 8f56cc7a..2468f356 100644 --- a/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java @@ -68,6 +68,8 @@ import com.iemr.tm.utils.RestTemplateUtil; import com.iemr.tm.utils.exception.IEMRException; import com.iemr.tm.utils.mapper.InputMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import jakarta.servlet.http.HttpServletRequest; @@ -75,6 +77,8 @@ @PropertySource("classpath:application.properties") public class CommonServiceImpl implements CommonService { + private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); + @Value("${openkmDocUrl}") private String openkmDocUrl; @@ -559,6 +563,9 @@ public String getOpenKMDocURL(String requestOBJ, String Authorization) throws JS if (obj.has("fileID")) { fileUUID = benVisitDetailRepo.getFileUUID(obj.getInt("fileID")); + logger.info("fileUUID for fileID " + obj.getInt("fileID") + " is " + fileUUID); + logger.info("openkmDocUrl is " + openkmDocUrl); + if (fileUUID != null) { Map requestBody = new HashMap<>(); requestBody.put("fileUID", fileUUID); @@ -566,7 +573,26 @@ public String getOpenKMDocURL(String requestOBJ, String Authorization) throws JS HttpEntity request = RestTemplateUtil.createRequestEntity(requestBody, Authorization); ResponseEntity response = restTemplate.exchange(openkmDocUrl, HttpMethod.POST, request, String.class); - return response.getBody(); + logger.info("Response=" + response.getBody()); + + String responseBody = response.getBody(); + if (responseBody != null) { + JSONObject responseObj = new JSONObject(responseBody); + if (responseObj.has("data")) { + Object dataVal = responseObj.get("data"); + if (dataVal instanceof JSONObject) { + JSONObject dataObj = (JSONObject) dataVal; + if (dataObj.has("response")) { + String fileUrl = dataObj.getString("response"); + // Fix malformed URL: https://user:pass@https://host -> https://user:pass@host + fileUrl = fileUrl.replaceAll("@https?://", "@"); + return fileUrl; + } + } + return dataVal.toString(); + } + } + return responseBody; } else return null; } else From 00f7c29f84e544559b00272f9bf4e04db6b4bce3 Mon Sep 17 00:00:00 2001 From: Vanitha S <116701245+vanitha1822@users.noreply.github.com> Date: Tue, 7 Apr 2026 14:45:40 +0530 Subject: [PATCH 4/4] Remove authorization check from getKMFile method Removed authorization check for getKMFile endpoint. --- .../com/iemr/tm/controller/common/main/WorklistController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java b/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java index 1cff4dbc..ecf8aa2a 100644 --- a/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java +++ b/src/main/java/com/iemr/tm/controller/common/main/WorklistController.java @@ -806,7 +806,6 @@ public String getTCSpecialistWorklistFutureScheduled( // openkm file download @Operation(summary = "Add file as string to openKM") @PostMapping(value = "/getKMFile", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON, headers = "Authorization") - // @PreAuthorize("hasRole('NURSE') || hasRole('DOCTOR') ") public String getKMFile(@Param(value = "{}") @RequestBody String request, @RequestHeader(value = "Authorization") String Authorization) { OutputResponse response = new OutputResponse();