From 11a23cf7727238178e58f9656dcb05a3aed23455 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Tue, 1 Jul 2025 13:06:14 +0530 Subject: [PATCH 1/2] (fix): Pass the token from controller to fix the issue in data sync --- .../dataSyncActivity/StartSyncActivity.java | 26 +- .../registrar/main/RegistrarController.java | 28 ++- .../TeleConsultationController.java | 8 +- .../CSCarestreamServiceImpl.java | 2 +- .../RegistrarServiceMasterDataImpl.java | 4 +- .../transaction/CommonDoctorServiceImpl.java | 2 +- .../common/transaction/CommonServiceImpl.java | 8 +- .../DownloadDataFromServerImpl.java | 236 +++++++++--------- ...wnloadDataFromServerTransactionalImpl.java | 20 +- .../UploadDataToServerImpl.java | 22 +- .../registrar/RegistrarServiceImpl.java | 17 +- .../TeleConsultationServiceImpl.java | 8 +- .../com/iemr/mmu/utils/RestTemplateUtil.java | 57 ++--- 13 files changed, 224 insertions(+), 214 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 161863c5..5f08fa9d 100644 --- a/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java +++ b/src/main/java/com/iemr/mmu/controller/dataSyncActivity/StartSyncActivity.java @@ -38,8 +38,10 @@ import com.iemr.mmu.service.dataSyncActivity.DownloadDataFromServerTransactionalImpl; import com.iemr.mmu.service.dataSyncActivity.UploadDataToServerImpl; import com.iemr.mmu.utils.response.OutputResponse; +import com.iemr.mmu.utils.CookieUtil; import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; /*** * @purpose Class used for data sync from van-to-server & server-to-van @@ -62,13 +64,15 @@ public class StartSyncActivity { @PostMapping(value = { "/van-to-server" }) public String dataSyncToServer(@RequestBody String requestOBJ, @RequestHeader(value = "Authorization") String authorization, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader(value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + JSONObject obj = new JSONObject(requestOBJ); if (obj.has("user") && obj.get("user") != null && obj.has("vanID") && obj.get("vanID") != null) { String s = uploadDataToServerImpl.getDataToSyncToServer(obj.getInt("vanID"), obj.getString("user"), - serverAuthorization); + serverAuthorization, jwtToken); // if (s != null) response.setResponse(s); // else @@ -107,13 +111,17 @@ public String getSyncGroupDetails() { @PostMapping(value = { "/startMasterDownload" }) public String startMasterDownload(@RequestBody String requestOBJ, @RequestHeader(value = "Authorization") String authorization, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader (value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + + JSONObject obj = new JSONObject(requestOBJ); if (obj.has("vanID") && obj.get("vanID") != null && obj.has(PROVIDER_SERVICE_MAP_ID) && obj.get(PROVIDER_SERVICE_MAP_ID) != null) { - String s = downloadDataFromServerImpl.downloadMasterDataFromServer(serverAuthorization, + String s = downloadDataFromServerImpl.downloadMasterDataFromServer(serverAuthorization,jwtToken, obj.getInt("vanID"), obj.getInt(PROVIDER_SERVICE_MAP_ID)); if (s != null) { if (s.equalsIgnoreCase("inProgress")) @@ -169,11 +177,12 @@ public String getVanDetailsForMasterDownload() { @PostMapping(value = { "/callCentralAPIToGenerateBenIDAndimportToLocal" }) public String callCentralAPIToGenerateBenIDAndimportToLocal(@RequestBody String requestOBJ, @RequestHeader(value = "Authorization") String authorization, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader(value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); int i = downloadDataFromServerImpl.callCentralAPIToGenerateBenIDAndimportToLocal(requestOBJ, authorization, - serverAuthorization); + serverAuthorization, jwtToken); if (i == 0) { response.setError(5000, "Error while generating UNIQUE_ID at central server"); } else { @@ -192,13 +201,14 @@ public String callCentralAPIToGenerateBenIDAndimportToLocal(@RequestBody String @Operation(summary = "Call central API to download transaction data to local") @PostMapping(value = { "/downloadTransactionToLocal" }) public String downloadTransactionToLocal(@RequestBody String requestOBJ, - @RequestHeader(value = "ServerAuthorization") String serverAuthorization) { + @RequestHeader(value = "ServerAuthorization") String serverAuthorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); JSONObject obj = new JSONObject(requestOBJ); if (obj.has("vanID") && obj.get("vanID") != null) { int i = downloadDataFromServerTransactionalImpl.downloadTransactionalData(obj.getInt("vanID"), - serverAuthorization); + serverAuthorization, jwtToken); if (i > 0) response.setResponse("Success"); diff --git a/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java b/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java index 2dd41621..89261c5b 100644 --- a/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java +++ b/src/main/java/com/iemr/mmu/controller/registrar/main/RegistrarController.java @@ -45,11 +45,13 @@ import com.iemr.mmu.service.common.transaction.CommonNurseServiceImpl; import com.iemr.mmu.service.nurse.NurseServiceImpl; import com.iemr.mmu.service.registrar.RegistrarServiceImpl; +import com.iemr.mmu.utils.CookieUtil; import com.iemr.mmu.utils.mapper.InputMapper; import com.iemr.mmu.utils.response.OutputResponse; import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; @RestController @RequestMapping(value = "/registrar", headers = "Authorization", consumes = "application/json", produces = "application/json") @@ -227,11 +229,12 @@ public String getBeneficiaryImage( @Operation(summary = "Search beneficiary for beneficiary id or beneficiary phone no") @PostMapping(value = { "/quickSearchNew" }) public String quickSearchNew(@RequestBody String requestObj, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { String searchList = null; OutputResponse response = new OutputResponse(); try { - searchList = registrarServiceImpl.beneficiaryQuickSearch(requestObj, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + searchList = registrarServiceImpl.beneficiaryQuickSearch(requestObj, authorization, jwtToken); if (searchList == null) { response.setError(5000, "Invalid request"); return response.toString(); @@ -249,11 +252,12 @@ public String quickSearchNew(@RequestBody String requestObj, @Operation(summary = "Search beneficiary advance search new") @PostMapping(value = { "/advanceSearchNew" }) public String advanceSearchNew(@RequestBody String requestObj, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { String searchList = null; OutputResponse response = new OutputResponse(); try { - searchList = registrarServiceImpl.beneficiaryAdvanceSearch(requestObj, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + searchList = registrarServiceImpl.beneficiaryAdvanceSearch(requestObj, authorization, jwtToken); if (searchList == null) { response.setError(5000, "Invalid request"); return response.toString(); @@ -301,10 +305,12 @@ public String getBenDetailsForLeftSidePanelByRegID( @Operation(summary = "Get beneficiary image") @PostMapping(value = { "/getBenImage" }) public String getBenImage(@RequestBody String requestObj, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { - return registrarServiceMasterDataImpl.getBenImageFromIdentityAPI(authorization, requestObj); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + + return registrarServiceMasterDataImpl.getBenImageFromIdentityAPI(authorization, requestObj, jwtToken); } catch (Exception e) { logger.error("Error ben image fetch" + e); response.setError(5000, "Error while getting beneficiary image"); @@ -378,11 +384,12 @@ public String createBeneficiary( @Operation(summary = "Register a new beneficiary API") @PostMapping(value = { "/registrarBeneficaryRegistrationNew" }) public String registrarBeneficaryRegistrationNew(@RequestBody String comingReq, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { String s; OutputResponse response = new OutputResponse(); try { - s = registrarServiceImpl.registerBeneficiary(comingReq, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + s = registrarServiceImpl.registerBeneficiary(comingReq, authorization, jwtToken); return s; } catch (Exception e) { logger.error("Error in registration" + e); @@ -474,11 +481,12 @@ public String createReVisitForBenToNurse(@RequestBody String requestOBJ) { @Operation(summary = "Beneficiary edit, save or submit") @PostMapping(value = { "/update/BeneficiaryUpdate" }) public String beneficiaryUpdate(@RequestBody String requestOBJ, - @RequestHeader(value = "Authorization") String authorization) { + @RequestHeader(value = "Authorization") String authorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); Integer s = null; try { - s = registrarServiceImpl.updateBeneficiary(requestOBJ, authorization); + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + s = registrarServiceImpl.updateBeneficiary(requestOBJ, authorization, jwtToken); if (s != null) { if (s == 1) response.setResponse("Beneficiary details updated successfully"); diff --git a/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java b/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java index 0642fb4b..d85158b5 100644 --- a/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java +++ b/src/main/java/com/iemr/mmu/controller/teleconsultation/TeleConsultationController.java @@ -35,9 +35,11 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.iemr.mmu.service.tele_consultation.TeleConsultationServiceImpl; +import com.iemr.mmu.utils.CookieUtil; import com.iemr.mmu.utils.response.OutputResponse; import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; @RestController @RequestMapping(value = "/tc", headers = "Authorization", consumes = "application/json", produces = "application/json") @@ -70,11 +72,13 @@ public String benArrivalStatusUpdater(@RequestBody String requestOBJ) { @Operation(summary = "Update beneficiary status based on request") @PostMapping(value = { "/cancel/benTCRequest" }) public String updateBeneficiaryStatusToCancelTCRequest(@RequestBody String requestOBJ, - @RequestHeader String Authorization) { + @RequestHeader String Authorization, HttpServletRequest request) { OutputResponse response = new OutputResponse(); try { + String jwtToken = CookieUtil.getJwtTokenFromCookie(request); + if (requestOBJ != null) { - int i = teleConsultationServiceImpl.updateBeneficiaryStatusToCancelTCRequest(requestOBJ, Authorization); + int i = teleConsultationServiceImpl.updateBeneficiaryStatusToCancelTCRequest(requestOBJ, Authorization, jwtToken); if (i > 0) response.setResponse("Beneficiary TC request cancelled successfully."); else diff --git a/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java b/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java index 30165fea..494c2649 100644 --- a/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/cancerScreening/CSCarestreamServiceImpl.java @@ -64,7 +64,7 @@ public int createMamographyRequest(ArrayList benDataForCareStream, lon RestTemplate restTemplate = new RestTemplate(); try { String requestOBJ = getOrderCreationRequestOBJ(benDataForCareStream, benRegID, benVisitID); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization, ""); // System.out.println("hello"); ResponseEntity response = restTemplate.exchange(carestreamOrderCreateURL, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java b/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java index e1b9d417..9812a2a5 100644 --- a/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/master/RegistrarServiceMasterDataImpl.java @@ -222,10 +222,10 @@ public String getBenDetailsForLeftSideByRegIDNew(Long beneficiaryRegID, Long ben return new Gson().toJson(returnBenFlowOBJ); } - public String getBenImageFromIdentityAPI(String Authorization, String comingRequest) throws Exception { + public String getBenImageFromIdentityAPI(String Authorization, String comingRequest, String token) throws Exception { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization, token); ResponseEntity response = restTemplate.exchange(getBenImageFromIdentity, HttpMethod.POST, request, String.class); // if() diff --git a/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java b/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java index 6c6c5e76..e986e374 100644 --- a/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/transaction/CommonDoctorServiceImpl.java @@ -907,7 +907,7 @@ public int callTmForSpecialistSlotBook(TcSpecialistSlotBookingRequestOBJ tcSpeci String requestOBJ = OutputMapper.gson().toJson(tcSpecialistSlotBookingRequestOBJ); RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization,""); ResponseEntity response = restTemplate.exchange(tcSpecialistSlotBook, HttpMethod.POST, request, String.class); // System.out.println(response.getBody()); diff --git a/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java b/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java index 021d747a..4f7991e5 100644 --- a/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java @@ -650,7 +650,7 @@ public ArrayList getTmCaseSheet(BeneficiaryFlowStatus TmBenFlowOBJ, Bene headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); // get TM case sheet by passing TM details - ResponseEntity response = restTemplatePost(tmCentralServer, Authorization, new Gson().toJson(tmReqObj)); + ResponseEntity response = restTemplatePost(tmCentralServer, Authorization, new Gson().toJson(tmReqObj), jwtTokenFromCookie); if (response.getStatusCodeValue() == 200 & response.hasBody()) { JsonObject jsnOBJ = getJsonObj(response); @@ -822,16 +822,16 @@ public String getCaseSheetOfTm(String mmuBenFlowReq, String authCentralServer) t } - public ResponseEntity restTemplatePost(String URL, String authorization, String reqObj) { + public ResponseEntity restTemplatePost(String URL, String authorization, String reqObj, String token) { RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(reqObj, authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(reqObj, authorization,""); ResponseEntity response = restTemplate.exchange(URL, HttpMethod.POST, request, String.class); return response; } public ResponseEntity restTemplateGet(String URL, String authorization) { RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity("", authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity("", authorization, token); ResponseEntity response = restTemplate.exchange(URL, HttpMethod.GET, request, String.class); return response; } diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java index 1924f28a..252c9ce7 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerImpl.java @@ -58,76 +58,76 @@ import jakarta.servlet.http.HttpServletRequest; -@Service -@PropertySource("classpath:application.properties") -public class DownloadDataFromServerImpl implements DownloadDataFromServer { - private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - // rest URLs from server to download master data for van - @Value("${dataSyncDownloadUrl}") - private String dataSyncDownloadUrl; - @Autowired - private SyncDownloadMasterRepo syncDownloadMasterRepo; - @Autowired - private DataSyncRepository dataSyncRepository; - @Autowired - private TempVanRepo tempVanRepo; - @Autowired - private CookieUtil cookieUtil; - - // ben gen URL - @Value("${benGenUrlCentral}") - private String benGenUrlCentral; - - // ben import URL - @Value("${benImportUrlLocal}") - private String benImportUrlLocal; - - private static int progressCounter = 0; - private static int totalCounter = 0; - private static StringBuilder failedMasters; - - -// private static int successCounter; - private static int failedCounter; -// private static int downloadProgress; - - - /** - * - * @return - * @throws Exception - * Masters download in van from central server - */ - public String downloadMasterDataFromServer(String ServerAuthorization, Integer vanID, Integer psmID) - throws Exception { - - if (totalCounter != progressCounter) { - return "inProgress"; - } - - String successFlag = " Master download started "; - - ArrayList downloadMasterList = syncDownloadMasterRepo.getDownloadTables(); - - totalCounter = downloadMasterList.size(); - progressCounter = 0; - - failedMasters = new StringBuilder(); -// successCounter = 0; - failedCounter = 0; - - final ExecutorService threadPool = Executors.newFixedThreadPool(3); - threadPool.submit(new Callable() { - @Override - public String call() { - - if (downloadMasterList != null && downloadMasterList.size() > 0) { - for (SyncDownloadMaster table : downloadMasterList) { - try { - table.setVanID(vanID); - table.setProviderServiceMapID(psmID); - - int i = downloadDataFromServer(table, ServerAuthorization); + @Service + @PropertySource("classpath:application.properties") + public class DownloadDataFromServerImpl implements DownloadDataFromServer { + private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); + // rest URLs from server to download master data for van + @Value("${dataSyncDownloadUrl}") + private String dataSyncDownloadUrl; + @Autowired + private SyncDownloadMasterRepo syncDownloadMasterRepo; + @Autowired + private DataSyncRepository dataSyncRepository; + @Autowired + private TempVanRepo tempVanRepo; + @Autowired + private CookieUtil cookieUtil; + + // ben gen URL + @Value("${benGenUrlCentral}") + private String benGenUrlCentral; + + // ben import URL + @Value("${benImportUrlLocal}") + private String benImportUrlLocal; + + private static int progressCounter = 0; + private static int totalCounter = 0; + private static StringBuilder failedMasters; + + + // private static int successCounter; + private static int failedCounter; + // private static int downloadProgress; + + + /** + * + * @return + * @throws Exception + * Masters download in van from central server + */ + public String downloadMasterDataFromServer(String ServerAuthorization, String jwtToken, Integer vanID, Integer psmID) + throws Exception { + + if (totalCounter != progressCounter) { + return "inProgress"; + } + + String successFlag = " Master download started "; + + ArrayList downloadMasterList = syncDownloadMasterRepo.getDownloadTables(); + + totalCounter = downloadMasterList.size(); + progressCounter = 0; + + failedMasters = new StringBuilder(); + // successCounter = 0; + failedCounter = 0; + + final ExecutorService threadPool = Executors.newFixedThreadPool(3); + threadPool.submit(new Callable() { + @Override + public String call() { + + if (downloadMasterList != null && downloadMasterList.size() > 0) { + for (SyncDownloadMaster table : downloadMasterList) { + try { + table.setVanID(vanID); + table.setProviderServiceMapID(psmID); + + int i = downloadDataFromServer(table, ServerAuthorization, jwtToken); if (i > 0) { // successCounter++; } else { @@ -149,49 +149,49 @@ public String call() { return "Master download completed"; } - }); - - // if (downloadMasterList != null && downloadMasterList.size() > 0) { - // for (SyncDownloadMaster table : downloadMasterList) { - // try { - // table.setVanID(vanID); - // table.setProviderServiceMapID(psmID); - // - // int i = downloadDataFromServer(table, ServerAuthorization); - // if (i > 0) { - // successCounter++; - // } else { - // failedCounter++; - // failedMasters.append(table.getTableName() + " | "); - // logger.error("Download failed for " + table.getSchemaName() + "." + - // table.getTableName()); - // } - // } catch (Exception e) { - // failedCounter++; - // failedMasters.append(table.getTableName() + " | "); - // logger.error("Download failed for " + table.getSchemaName() + "." + - // table.getTableName() - // + ". Exception : " + e); - // } - // - // progressCounter++; - // } - // } - return successFlag; - } - - private int downloadDataFromServer(SyncDownloadMaster syncDownloadMaster, String ServerAuthorization) - throws Exception { - int successFlag = 0; - - // initializing RestTemplate - RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(syncDownloadMaster, ServerAuthorization); - // Call rest-template to call API to download master data for given table - ResponseEntity response = restTemplate.exchange(dataSyncDownloadUrl, HttpMethod.POST, request, - String.class); + }); + + // if (downloadMasterList != null && downloadMasterList.size() > 0) { + // for (SyncDownloadMaster table : downloadMasterList) { + // try { + // table.setVanID(vanID); + // table.setProviderServiceMapID(psmID); + // + // int i = downloadDataFromServer(table, ServerAuthorization); + // if (i > 0) { + // successCounter++; + // } else { + // failedCounter++; + // failedMasters.append(table.getTableName() + " | "); + // logger.error("Download failed for " + table.getSchemaName() + "." + + // table.getTableName()); + // } + // } catch (Exception e) { + // failedCounter++; + // failedMasters.append(table.getTableName() + " | "); + // logger.error("Download failed for " + table.getSchemaName() + "." + + // table.getTableName() + // + ". Exception : " + e); + // } + // + // progressCounter++; + // } + // } + return successFlag; + } - // Check if API call is success + private int downloadDataFromServer(SyncDownloadMaster syncDownloadMaster,String ServerAuthorization, String jwtToken) + throws Exception { + int successFlag = 0; + // initializing RestTemplate + RestTemplate restTemplate = new RestTemplate(); + // Provide the required second argument, e.g., an empty string or appropriate authorization token + HttpEntity request = RestTemplateUtil.createRequestEntity(syncDownloadMaster, ServerAuthorization, jwtToken); + // Call rest-template to call API to download master data for given table + ResponseEntity response = restTemplate.exchange(dataSyncDownloadUrl, HttpMethod.POST, request, + String.class); + + // Check if API call is success if (response != null && response.hasBody()) { JSONObject obj = new JSONObject(response.getBody()); if (obj != null && obj.has("data") && obj.has("statusCode") && obj.getInt("statusCode") == 200) { @@ -329,11 +329,11 @@ public Map getDownloadStatus() { public int callCentralAPIToGenerateBenIDAndimportToLocal(String requestOBJ, String Authorization, - String ServerAuthorization) throws Exception { + String ServerAuthorization, String token) throws Exception { int i = 0; // Rest template RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization,token); // Call rest-template to call central API to generate UNIQUE ID at central ResponseEntity response = restTemplate.exchange(benGenUrlCentral, HttpMethod.POST, request, String.class); @@ -342,7 +342,7 @@ public int callCentralAPIToGenerateBenIDAndimportToLocal(String requestOBJ, Stri JSONObject obj = new JSONObject(response.getBody()); if (obj != null && obj.has("data") && obj.has("statusCode") && obj.getInt("statusCode") == 200) { // Consume the response from API and call local identity api to save data - HttpEntity request1 = RestTemplateUtil.createRequestEntity(obj.get("data").toString(), Authorization); + HttpEntity request1 = RestTemplateUtil.createRequestEntity(obj.get("data").toString(), Authorization, token); i = 1; // Call rest-template to call central API to generate UNIQUE ID at central ResponseEntity response1 = restTemplate.exchange(benImportUrlLocal, HttpMethod.POST, request1, @@ -355,9 +355,9 @@ public int callCentralAPIToGenerateBenIDAndimportToLocal(String requestOBJ, Stri } } + } } - } - return i; + return i; + } } -} diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java index 0620716b..2c40152c 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java @@ -82,12 +82,12 @@ public class DownloadDataFromServerTransactionalImpl implements DownloadDataFrom @Autowired private CookieUtil cookieUtil; - public int downloadTransactionalData(int vanID, String ServerAuthorization) throws Exception { + public int downloadTransactionalData(int vanID, String ServerAuthorization, String token) throws Exception { JSONObject obj; for (int i = 0; i < 5; i++) { switch (i) { case 0: { - obj = downloadDataFromCentral("db_iemr", "t_indent", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_indent", vanID, ServerAuthorization, token); List ids = new ArrayList(); Indent[] indentArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), Indent[].class, 1); List indentList = Arrays.asList(indentArr); @@ -115,7 +115,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro break; } case 1: { - obj = downloadDataFromCentral("db_iemr", "t_indentorder", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_indentorder", vanID, ServerAuthorization, token); List ids = new ArrayList(); IndentOrder[] indentOrderArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), IndentOrder[].class, 1); @@ -141,7 +141,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro break; } case 2: { - obj = downloadDataFromCentral("db_iemr", "t_indentissue", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_indentissue", vanID, ServerAuthorization, token); List ids = new ArrayList(); IndentIssue[] indentIssueArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), IndentIssue[].class, 1); @@ -169,7 +169,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro break; } case 3: { - obj = downloadDataFromCentral("db_iemr", "t_stocktransfer", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_stocktransfer", vanID, ServerAuthorization, token); List ids = new ArrayList(); T_StockTransfer[] stockTransferArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), T_StockTransfer[].class, 1); @@ -197,7 +197,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro break; } case 4: { - obj = downloadDataFromCentral("db_iemr", "t_itemstockentry", vanID, ServerAuthorization); + obj = downloadDataFromCentral("db_iemr", "t_itemstockentry", vanID, ServerAuthorization, token); List ids = new ArrayList(); ItemStockEntry[] itemStockEntryArr = InputMapper.gson(1).fromJson(String.valueOf(obj.get("data")), ItemStockEntry[].class, 1); @@ -235,7 +235,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization) thro } private JSONObject downloadDataFromCentral(String schemaName, String tableName, int vanID, - String ServerAuthorization) throws Exception { + String ServerAuthorization, String token) throws Exception { Integer facilityID = masterVanRepo.getFacilityID(vanID); if (facilityID != null) { @@ -244,7 +244,7 @@ private JSONObject downloadDataFromCentral(String schemaName, String tableName, SyncUploadDataDigester syncUploadDataDigester = new SyncUploadDataDigester(schemaName, tableName, facilityID); - HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization, token); // Call rest-template to call API to download master data for given table ResponseEntity response = restTemplate.exchange(dataSyncTransactionDownloadUrl, HttpMethod.POST, request, String.class); @@ -262,13 +262,13 @@ private JSONObject downloadDataFromCentral(String schemaName, String tableName, } private int updateProcessedFlagToCentral(String schemaName, String tableName, List ids, - String ServerAuthorization) throws Exception { + String ServerAuthorization, String token) throws Exception { int result = 0; RestTemplate restTemplate = new RestTemplate(); SyncUploadDataDigester syncUploadDataDigester = new SyncUploadDataDigester(schemaName, tableName, ids); - HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(syncUploadDataDigester, ServerAuthorization, token); // Call rest-template to call API to download master data for given table ResponseEntity response = restTemplate.exchange(dataSyncProcessedFlagUpdate, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java index e2977155..a6bdeab8 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java @@ -99,10 +99,10 @@ public class UploadDataToServerImpl implements UploadDataToServer { */ // @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = { // Exception.class }) - public String getDataToSyncToServer(int vanID, String user, String Authorization) throws Exception { + public String getDataToSyncToServer(int vanID, String user, String Authorization, String token) throws Exception { String syncData = null; - syncData = syncIntercepter(vanID, user, Authorization); + syncData = syncIntercepter(vanID, user, Authorization, token); return syncData; } @@ -112,10 +112,10 @@ public String getDataToSyncToServer(int vanID, String user, String Authorization * @param Authorization * @return */ - public String syncIntercepter(int vanID, String user, String Authorization) throws Exception { + public String syncIntercepter(int vanID, String user, String Authorization, String token) throws Exception { // sync activity trigger - String serverAcknowledgement = startDataSync(vanID, user, Authorization); + String serverAcknowledgement = startDataSync(vanID, user, Authorization, token); return serverAcknowledgement; } @@ -127,7 +127,7 @@ public String syncIntercepter(int vanID, String user, String Authorization) thro * @return */ - private String startDataSync(int vanID, String user, String Authorization) throws Exception { + private String startDataSync(int vanID, String user, String Authorization, String token) throws Exception { String serverAcknowledgement = null; List> responseStatus = new ArrayList<>(); boolean isProgress = false; @@ -186,8 +186,7 @@ private String startDataSync(int vanID, String user, String Authorization) throw remainder); serverAcknowledgement = syncDataToServer(vanID, obj.getSchemaName(), obj.getTableName(), obj.getVanAutoIncColumnName(), obj.getServerColumnName(), syncDataBatch, user, - Authorization); - logger.debug("Server acknowledgement for remaining data: {}", serverAcknowledgement); + Authorization, token); if (serverAcknowledgement == null || !serverAcknowledgement.contains("success")) { logger.error("Sync failed for remaining data in schema: {}, table: {}", obj.getSchemaName(), @@ -226,16 +225,13 @@ private String startDataSync(int vanID, String user, String Authorization) throw Map response = new HashMap<>(); response.put("response", "Data sync failed"); response.put("groupsProgress", responseStatus); - logger.debug("Final response: {}", objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(response)); return objectMapper.writerWithDefaultPrettyPrinter() .writeValueAsString(Collections.singletonMap("data", response)); } else { if ("No data to sync".equals(serverAcknowledgement)) { - logger.info("No data to sync across all groups."); return serverAcknowledgement; } else { - logger.info("Data successfully synced across all groups."); return "Data successfully synced"; } } @@ -343,12 +339,11 @@ private List> getBatchOfAskedSizeDataToSync(List> dataToBesync, String user, String Authorization) + String serverColumns, List> dataToBesync, String user, String Authorization, String token) throws Exception { logger.debug( "Entering syncDataToServer with vanID: {}, schemaName: '{}', tableName: '{}', vanAutoIncColumnName: '{}', serverColumns: '{}', user: '{}'", vanID, schemaName, tableName, vanAutoIncColumnName, serverColumns, user); - RestTemplate restTemplate = new RestTemplate(); @@ -371,9 +366,8 @@ public String syncDataToServer(int vanID, String schemaName, String tableName, S dataMap.put("facilityID", facilityID); String requestOBJ = gson.toJson(dataMap); - logger.debug("Serialized request object: {}", requestOBJ); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization,token); logger.info("Before Data sync upload Url" + dataSyncUploadUrl); ResponseEntity response = restTemplate.exchange(dataSyncUploadUrl, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java index b1d097be..fd2d06e4 100644 --- a/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/registrar/RegistrarServiceImpl.java @@ -692,7 +692,7 @@ public BeneficiaryData getBeneficiaryPersonalDetails(Long benRegID) { } // New beneficiary registration with common and identity - public String registerBeneficiary(String comingRequest, String Authorization) throws Exception { + public String registerBeneficiary(String comingRequest, String Authorization, String token) throws Exception { OutputResponse response1 = new OutputResponse(); Long beneficiaryRegID = null; @@ -700,7 +700,7 @@ public String registerBeneficiary(String comingRequest, String Authorization) th RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization, token); ResponseEntity response = restTemplate.exchange(registrationUrl, HttpMethod.POST, request, String.class); if (response.getStatusCodeValue() == 200 & response.hasBody()) { @@ -709,7 +709,6 @@ public String registerBeneficiary(String comingRequest, String Authorization) th beneficiaryRegID = responseOBJ.getJSONObject("data").getLong("beneficiaryRegID"); beneficiaryID = responseOBJ.getJSONObject("data").getLong("beneficiaryID"); // System.out.println("hello"); - int i = commonBenStatusFlowServiceImpl.createBenFlowRecord(comingRequest, beneficiaryRegID, beneficiaryID); if (i > 0) { if (i == 1) @@ -724,11 +723,11 @@ public String registerBeneficiary(String comingRequest, String Authorization) th } // New beneficiary update api - public Integer updateBeneficiary(String comingRequest, String Authorization) throws Exception { + public Integer updateBeneficiary(String comingRequest, String Authorization, String token) throws Exception { Integer returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(comingRequest, Authorization, token); ResponseEntity response = restTemplate.exchange(beneficiaryEditUrl, HttpMethod.POST, request, String.class); @@ -744,11 +743,11 @@ public Integer updateBeneficiary(String comingRequest, String Authorization) thr } // beneficiary quick search new integrated with common and identity - public String beneficiaryQuickSearch(String requestObj, String Authorization) { + public String beneficiaryQuickSearch(String requestObj, String Authorization, String token) { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); JSONObject obj = new JSONObject(requestObj); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization, token); if (obj.has("beneficiaryID") && !obj.isNull("beneficiaryID")) { ResponseEntity response = restTemplate.exchange(registrarQuickSearchByIdUrl, HttpMethod.POST, request, String.class); @@ -768,10 +767,10 @@ public String beneficiaryQuickSearch(String requestObj, String Authorization) { } // beneficiary advance search new integrated with common and identity - public String beneficiaryAdvanceSearch(String requestObj, String Authorization) { + public String beneficiaryAdvanceSearch(String requestObj, String Authorization, String token) { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestObj, Authorization, token); ResponseEntity response = restTemplate.exchange(registrarAdvanceSearchUrl, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java b/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java index 831729cc..84f923ec 100644 --- a/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/tele_consultation/TeleConsultationServiceImpl.java @@ -129,7 +129,7 @@ public int updateBeneficiaryArrivalStatus(String requestOBJ) throws Exception { } @Transactional(rollbackFor = Exception.class) - public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Authorization) throws Exception { + public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Authorization, String token) throws Exception { int resultFlag = 0; JsonObject requestJson = new JsonObject(); JsonParser jsnParser = new JsonParser(); @@ -143,7 +143,7 @@ public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Au && !requestJson.get("userID").isJsonNull()) { int i = cancelSlotForTCCancel(requestJson.get("userID").getAsInt(), requestJson.get("benRegID").getAsLong(), - requestJson.get("visitCode").getAsLong(), Authorization); + requestJson.get("visitCode").getAsLong(), Authorization, token); int j = beneficiaryFlowStatusRepo.updateBeneficiaryStatusToCancelRequest( requestJson.get("benflowID").getAsLong(), requestJson.get("benRegID").getAsLong(), @@ -165,7 +165,7 @@ public int updateBeneficiaryStatusToCancelTCRequest(String requestOBJ, String Au return resultFlag; } - public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, String Authorization) throws Exception { + public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, String Authorization, String token) throws Exception { String fromTime = ""; Long duration = null; int returnOBJ = 0; @@ -197,7 +197,7 @@ public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, Stri String requestOBJ = OutputMapper.gson().toJson(obj); RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization); + HttpEntity request = RestTemplateUtil.createRequestEntity(requestOBJ, Authorization, token); ResponseEntity response = restTemplate.exchange(tcSpecialistSlotCancel, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java b/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java index 6e048869..8f198b79 100644 --- a/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java +++ b/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java @@ -7,44 +7,39 @@ import org.springframework.http.MediaType; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import jakarta.servlet.http.HttpServletRequest; public class RestTemplateUtil { private final static Logger logger = LoggerFactory.getLogger(RestTemplateUtil.class); - public static HttpEntity createRequestEntity(Object body, String authorization) { - - ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()); - if (servletRequestAttributes == null) { - MultiValueMap headers = new LinkedMultiValueMap<>(); - headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8"); - headers.add(HttpHeaders.AUTHORIZATION, authorization); - return new HttpEntity<>(body, headers); - } - HttpServletRequest requestHeader = servletRequestAttributes.getRequest(); - String jwtTokenFromCookie = null; - try { - jwtTokenFromCookie = CookieUtil.getJwtTokenFromCookie(requestHeader); - - } catch (Exception e) { - logger.error("Error while getting jwtToken from Cookie" + e.getMessage() ); - } - - MultiValueMap headers = new LinkedMultiValueMap<>(); - headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8"); - if(null != UserAgentContext.getUserAgent()) { - headers.add(HttpHeaders.USER_AGENT, UserAgentContext.getUserAgent()); - } - headers.add(HttpHeaders.AUTHORIZATION, authorization); - headers.add("JwtToken",requestHeader.getHeader("JwtToken")); - if(null != jwtTokenFromCookie) { - headers.add(HttpHeaders.COOKIE, "Jwttoken=" + jwtTokenFromCookie); + public static HttpEntity createRequestEntity(Object body, String authorization, String jwtToken) { + MultiValueMap headers = new LinkedMultiValueMap<>(); + + headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8"); + + if (authorization != null && !authorization.isEmpty()) { + headers.add(HttpHeaders.AUTHORIZATION, "Bearer " + authorization); + } + + if (jwtToken == null || jwtToken.isEmpty()) { + ServletRequestAttributes attrs = + (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attrs != null) { + HttpServletRequest request = attrs.getRequest(); + try { + jwtToken = CookieUtil.getJwtTokenFromCookie(request); + } catch (Exception e) { + logger.error("Error while getting JWT token from cookie: {}", e.getMessage()); + } + } } - return new HttpEntity<>(body, headers); + + if (jwtToken != null && !jwtToken.isEmpty()) { + headers.add(HttpHeaders.COOKIE, "Jwttoken=" + jwtToken); } + + return new HttpEntity<>(body, headers); +} } \ No newline at end of file From 21e68988abb74a24a6e88773ab365979695e2e35 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Tue, 1 Jul 2025 14:00:33 +0530 Subject: [PATCH 2/2] (fix): Add the token in missing parts --- .../service/common/transaction/CommonServiceImpl.java | 8 ++++---- .../DownloadDataFromServerTransactionalImpl.java | 10 +++++----- .../dataSyncActivity/UploadDataToServerImpl.java | 5 +++-- src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java | 4 +++- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java b/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java index 4f7991e5..3c962bc1 100644 --- a/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/transaction/CommonServiceImpl.java @@ -666,7 +666,7 @@ public ArrayList getTmCaseSheet(BeneficiaryFlowStatus TmBenFlowOBJ, Bene int specialistUserID = jsnOBJ.getAsJsonObject("data").getAsJsonObject("BeneficiaryData") .get("tCSpecialistUserID").getAsInt(); ResponseEntity responseSign = restTemplateGet(specialistSign + "/" + specialistUserID, - Authorization); + Authorization, jwtTokenFromCookie); JsonObject signJsonResponse = getJsonObj(responseSign); if (signJsonResponse.get("statusCode").getAsLong() == 200) { // adding sign response to array @@ -719,7 +719,7 @@ public String getCaseSheetFromCentralServer(String mmuBenFlowReq, String authCen MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); - ResponseEntity response = restTemplatePost(mmuCentralServer, authCentralServer, mmuBenFlowReq); + ResponseEntity response = restTemplatePost(mmuCentralServer, authCentralServer, mmuBenFlowReq, jwtTokenFromCookie); if (response.getStatusCodeValue() == 200 & response.hasBody()) { @@ -824,12 +824,12 @@ public String getCaseSheetOfTm(String mmuBenFlowReq, String authCentralServer) t public ResponseEntity restTemplatePost(String URL, String authorization, String reqObj, String token) { RestTemplate restTemplate = new RestTemplate(); - HttpEntity request = RestTemplateUtil.createRequestEntity(reqObj, authorization,""); + HttpEntity request = RestTemplateUtil.createRequestEntity(reqObj, authorization, token); ResponseEntity response = restTemplate.exchange(URL, HttpMethod.POST, request, String.class); return response; } - public ResponseEntity restTemplateGet(String URL, String authorization) { + public ResponseEntity restTemplateGet(String URL, String authorization, String token) { RestTemplate restTemplate = new RestTemplate(); HttpEntity request = RestTemplateUtil.createRequestEntity("", authorization, token); ResponseEntity response = restTemplate.exchange(URL, HttpMethod.GET, request, String.class); diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java index 2c40152c..ee3c39a5 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/DownloadDataFromServerTransactionalImpl.java @@ -109,7 +109,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization, Stri } indentRepo.saveAll(indentList); - int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indent", ids, ServerAuthorization); + int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indent", ids, ServerAuthorization, token); } break; @@ -136,7 +136,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization, Stri indentOrder.setProcessed("P"); } indentOrderRepo.saveAll(indentOrderList); - int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentorder", ids, ServerAuthorization); + int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentorder", ids, ServerAuthorization, token); } break; } @@ -164,7 +164,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization, Stri } indentIssueRepo.saveAll(indentIssueList); - int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentissue", ids, ServerAuthorization); + int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_indentissue", ids, ServerAuthorization, token); } break; } @@ -192,7 +192,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization, Stri stockTransferRepo.saveAll(stockTransferList); int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_stocktransfer", ids, - ServerAuthorization); + ServerAuthorization, token); } break; } @@ -220,7 +220,7 @@ public int downloadTransactionalData(int vanID, String ServerAuthorization, Stri itemStockEntryRepo.saveAll(itemStockEntryList); int updateFlag = updateProcessedFlagToCentral("db_iemr", "t_itemstockentry", ids, - ServerAuthorization); + ServerAuthorization, token); } break; } diff --git a/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java b/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java index a6bdeab8..b65fe6e5 100644 --- a/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java +++ b/src/main/java/com/iemr/mmu/service/dataSyncActivity/UploadDataToServerImpl.java @@ -115,6 +115,7 @@ public String getDataToSyncToServer(int vanID, String user, String Authorization public String syncIntercepter(int vanID, String user, String Authorization, String token) throws Exception { // sync activity trigger + String serverAcknowledgement = startDataSync(vanID, user, Authorization, token); return serverAcknowledgement; @@ -167,7 +168,7 @@ private String startDataSync(int vanID, String user, String Authorization, Strin BATCH_SIZE); serverAcknowledgement = syncDataToServer(vanID, obj.getSchemaName(), obj.getTableName(), obj.getVanAutoIncColumnName(), obj.getServerColumnName(), syncDataBatch, user, - Authorization); + Authorization, token); logger.debug("Server acknowledgement for batch {}: {}", i, serverAcknowledgement); if (serverAcknowledgement == null || !serverAcknowledgement.contains("success")) { @@ -225,7 +226,7 @@ private String startDataSync(int vanID, String user, String Authorization, Strin Map response = new HashMap<>(); response.put("response", "Data sync failed"); response.put("groupsProgress", responseStatus); - objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(response)); + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(response); return objectMapper.writerWithDefaultPrettyPrinter() .writeValueAsString(Collections.singletonMap("data", response)); } else { diff --git a/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java b/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java index 8f198b79..cf07391c 100644 --- a/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java +++ b/src/main/java/com/iemr/mmu/utils/RestTemplateUtil.java @@ -7,7 +7,9 @@ import org.springframework.http.MediaType; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; - +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import jakarta.servlet.http.HttpServletRequest; public class RestTemplateUtil { private final static Logger logger = LoggerFactory.getLogger(RestTemplateUtil.class);