From 8b9059ad6b6b72a3e29f9f87a4c02f4f5d042777 Mon Sep 17 00:00:00 2001 From: SR20290919 Date: Thu, 27 Feb 2025 13:12:53 +0530 Subject: [PATCH 1/6] adding code for API to close call and make reattempts if needed --- src/main/environment/common_ci.properties | 2 +- src/main/environment/common_dev.properties | 2 +- .../environment/common_example.properties | 2 +- src/main/environment/common_test.properties | 2 +- src/main/environment/common_uat.properties | 2 +- .../grievance/GrievanceController.java | 30 +++++ .../data/grievance/GrievanceCallRequest.java | 17 +++ .../IEMRCalltypeRepositoryImplCustom.java | 4 +- .../grievance/GrievanceDataRepo.java | 30 ++++- .../service/grievance/GrievanceDataSync.java | 2 + .../grievance/GrievanceDataSyncImpl.java | 121 +++++++++++++++++- 11 files changed, 204 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/iemr/common/data/grievance/GrievanceCallRequest.java diff --git a/src/main/environment/common_ci.properties b/src/main/environment/common_ci.properties index abf01fd6..84c70090 100644 --- a/src/main/environment/common_ci.properties +++ b/src/main/environment/common_ci.properties @@ -160,6 +160,6 @@ grievanceDataSyncDuration = @env.GRIEVANCE_DATA_SYNC_DURATION@ springdoc.api-docs.enabled=false springdoc.swagger-ui.enabled=false -grievanceAllocationRetryConfiguration=1 +grievanceAllocationRetryConfiguration=3 diff --git a/src/main/environment/common_dev.properties b/src/main/environment/common_dev.properties index ee25f9c9..d59acb42 100644 --- a/src/main/environment/common_dev.properties +++ b/src/main/environment/common_dev.properties @@ -186,4 +186,4 @@ grievanceDataSyncDuration = springdoc.api-docs.enabled=true springdoc.swagger-ui.enabled=true -grievanceAllocationRetryConfiguration=1 +grievanceAllocationRetryConfiguration=3 diff --git a/src/main/environment/common_example.properties b/src/main/environment/common_example.properties index 1c752ac1..bcc6c6ca 100644 --- a/src/main/environment/common_example.properties +++ b/src/main/environment/common_example.properties @@ -186,7 +186,7 @@ grievanceDataSyncDuration = springdoc.api-docs.enabled=true springdoc.swagger-ui.enabled=true -grievanceAllocationRetryConfiguration=1 +grievanceAllocationRetryConfiguration=3 diff --git a/src/main/environment/common_test.properties b/src/main/environment/common_test.properties index fd3de195..169317db 100644 --- a/src/main/environment/common_test.properties +++ b/src/main/environment/common_test.properties @@ -188,4 +188,4 @@ grievanceDataSyncDuration = springdoc.api-docs.enabled=true springdoc.swagger-ui.enabled=true -grievanceAllocationRetryConfiguration=1 +grievanceAllocationRetryConfiguration=3 diff --git a/src/main/environment/common_uat.properties b/src/main/environment/common_uat.properties index d0914520..0b55a003 100644 --- a/src/main/environment/common_uat.properties +++ b/src/main/environment/common_uat.properties @@ -159,4 +159,4 @@ grievanceDataSyncDuration = springdoc.api-docs.enabled=true springdoc.swagger-ui.enabled=true -grievanceAllocationRetryConfiguration=1 +grievanceAllocationRetryConfiguration=3 diff --git a/src/main/java/com/iemr/common/controller/grievance/GrievanceController.java b/src/main/java/com/iemr/common/controller/grievance/GrievanceController.java index b422a240..d364338c 100644 --- a/src/main/java/com/iemr/common/controller/grievance/GrievanceController.java +++ b/src/main/java/com/iemr/common/controller/grievance/GrievanceController.java @@ -178,5 +178,35 @@ public String saveComplaintResolution( @Param(value = "{\"complaintID\":\" return response.toString(); } + + // Controller method to handle reattempt logic + @Operation(summary = "Check reattempt logic for grievance") + @PostMapping(value = "/completeGrievanceCall", consumes = MediaType.APPLICATION_JSON, produces = MediaType.APPLICATION_JSON, headers = "Authorization") + public String completeGrievanceCall( + @Param(value = "{\"complaintID\":\"String - ComplaintID\", " + + "\"userID\":\"Integer - Assigned UserID\", " + + "\"isCompleted\":\"Boolean - completion status of call\", " + + "\"beneficiaryRegId\":\"Long - Beneficiary Registration ID\", " + + "\"callTypeID\":\"Integer - Call Type ID\", " + + "\"benCallID\":\"Long - Beneficiary Call ID\", " + +"\"callID\":\"String - call ID by czentrix\", " + + "\"providerServiceMapID\":\"Integer - providerServiceMapID\", " + + "\"createdBy\":\"String - Creator\"}") + @RequestBody String request) { + + OutputResponse response = new OutputResponse(); + + try { + String s = grievanceDataSync.completeGrievanceCall(request); + response.setResponse(s); + + } catch (Exception e) { + logger.error("complete grievance outbound call failed with error " + e.getMessage(), e); + response.setError(e); + } + return response.toString(); + } + + } diff --git a/src/main/java/com/iemr/common/data/grievance/GrievanceCallRequest.java b/src/main/java/com/iemr/common/data/grievance/GrievanceCallRequest.java new file mode 100644 index 00000000..d485e739 --- /dev/null +++ b/src/main/java/com/iemr/common/data/grievance/GrievanceCallRequest.java @@ -0,0 +1,17 @@ +package com.iemr.common.data.grievance; + +import lombok.Data; + +@Data +public class GrievanceCallRequest { + + String complaintID; + Integer userID; + Boolean isCompleted; + Long beneficiaryRegID; + Integer callTypeID; + Long benCallID; + Integer providerServiceMapId; + String createdBy; + +} diff --git a/src/main/java/com/iemr/common/repository/callhandling/IEMRCalltypeRepositoryImplCustom.java b/src/main/java/com/iemr/common/repository/callhandling/IEMRCalltypeRepositoryImplCustom.java index 8a5d3d29..92d767ca 100644 --- a/src/main/java/com/iemr/common/repository/callhandling/IEMRCalltypeRepositoryImplCustom.java +++ b/src/main/java/com/iemr/common/repository/callhandling/IEMRCalltypeRepositoryImplCustom.java @@ -88,5 +88,7 @@ Set getOutboundCallTypes(@Param("providerServiceMapID") Integer provid @Query("select callType from CallType callType where deleted = false and callTypeID = :callTypeID") CallType getCallTypeDetails(@Param("callTypeID") Integer callTypeID); - + @Query("select callType, callGroupType from CallType " + + "where callTypeID = :callTypeID") + Set getCallDetails(@Param("callTypeID") Integer callTypeID); } diff --git a/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java b/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java index f69c2ecd..ca16bf4f 100644 --- a/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java +++ b/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java @@ -72,7 +72,7 @@ int updateGrievanceAllocationStatus(@Param("grievanceId") Long grievanceId, public Set fetchUnallocatedGrievanceCount(); @Modifying - @Query("UPDATE GrievanceDetails g SET g.complaintResolution = :complaintResolution, g.remarks = :remarks, g.modifiedBy = :modifiedBy, " + @Query("UPDATE GrievanceDetails g SET g.complaintResolution = :complaintResolution, g.remarks = :remarks, g.modifiedBy = :modifiedBy " + "WHERE g.complaintID = :complaintID AND g.beneficiaryRegID = :beneficiaryRegID AND g.providerServiceMapID = :providerServiceMapID" + " AND g.userID = :userID") @Transactional @@ -85,7 +85,7 @@ int updateComplaintResolution(@Param("complaintResolution") String complaintReso @Param("userID") Integer userID); @Modifying - @Query("UPDATE GrievanceDetails g SET g.complaintResolution = :complaintResolution, g.modifiedBy = :modifiedBy, " + @Query("UPDATE GrievanceDetails g SET g.complaintResolution = :complaintResolution, g.modifiedBy = :modifiedBy " + "WHERE g.complaintID = :complaintID AND g.beneficiaryRegID = :beneficiaryRegID AND g.providerServiceMapID = :providerServiceMapID" + " AND g.userID = :userID") @Transactional @@ -95,5 +95,31 @@ int updateComplaintResolution(@Param("complaintResolution") String complaintReso @Param("beneficiaryRegID") Long beneficiaryRegID, @Param("providerServiceMapID") Integer providerServiceMapID, @Param("userID") Integer userID); + + @Query(" Select grievance.callCounter, grievance.retryNeeded FROM GrievanceDetails grievance where complaintID = :complaintID") + public ArrayList getCallCounter(@Param("complaintID") String complaintID); + + @Query("UPDATE GrievanceDetails g SET g.isCompleted = :isCompleted " + + "WHERE g.complaintID = :complaintID AND g.userID = :userID AND g.beneficiaryRegID = :beneficiaryRegID " + + "AND g.providerServiceMapID = :providerServiceMapID") + @Transactional + public int updateCompletedStatusInCall(@Param("isCompleted") Boolean isCompleted, + @Param("complaintID") String complaintID, + @Param("userID") Integer userID, + @Param("beneficiaryRegID") Long beneficiaryRegID, + @Param("providerServiceMapID") Integer providerServiceMapID); + + + @Modifying + @Query("UPDATE GrievanceDetails g SET g.callCounter = :callCounter, g.retryNeeded = :retryNeeded " + + "WHERE g.complaintID = :complaintID AND g.beneficiaryRegID = :beneficiaryRegID AND g.providerServiceMapID = :providerServiceMapID" + + " AND g.userID = :userID") + @Transactional + public int updateCallCounter(@Param("callCounter") Integer callCounter, + @Param("retryNeeded") Boolean retryNeeded, + @Param("complaintID") String complaintID, + @Param("beneficiaryRegID") Long beneficiaryRegID, + @Param("providerServiceMapID") Integer providerServiceMapID, + @Param("userID") Integer userID); } diff --git a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSync.java b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSync.java index b7546fea..d0d32f2e 100644 --- a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSync.java +++ b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSync.java @@ -12,4 +12,6 @@ public interface GrievanceDataSync { public String fetchUnallocatedGrievanceCount(String preferredLanguage) throws IEMRException, JSONException; + public String completeGrievanceCall(String request) throws Exception; + } diff --git a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java index b93c2721..0b3a218c 100644 --- a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java +++ b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java @@ -6,6 +6,7 @@ import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -32,9 +33,12 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; +import com.iemr.common.data.callhandling.CallType; +import com.iemr.common.data.everwell.EverwellDetails; +import com.iemr.common.data.grievance.GrievanceCallRequest; import com.iemr.common.data.grievance.GrievanceDetails; import com.iemr.common.data.grievance.GrievanceTransaction; - +import com.iemr.common.repository.callhandling.IEMRCalltypeRepositoryImplCustom; import com.iemr.common.repository.grievance.GrievanceDataRepo; import com.iemr.common.repository.grievance.GrievanceFetchBenDetailsRepo; import com.iemr.common.repository.grievance.GrievanceTransactionRepo; @@ -42,6 +46,8 @@ import com.iemr.common.utils.exception.IEMRException; import com.iemr.common.utils.mapper.InputMapper; +import jakarta.transaction.Transactional; + @Service @PropertySource("classpath:application.properties") public class GrievanceDataSyncImpl implements GrievanceDataSync { @@ -62,16 +68,18 @@ public class GrievanceDataSyncImpl implements GrievanceDataSync { private final GrievanceTransactionRepo grievanceTransactionRepo; private final GrievanceFetchBenDetailsRepo grievanceFetchBenDetailsRepo; private final LocationStateRepository locationStateRepository; + private final IEMRCalltypeRepositoryImplCustom iEMRCalltypeRepositoryImplCustom; // Constructor-based injection @Autowired public GrievanceDataSyncImpl(GrievanceDataRepo grievanceDataRepo, GrievanceTransactionRepo grievanceTransactionRepo, GrievanceFetchBenDetailsRepo grievanceFetchBenDetailsRepo, - LocationStateRepository locationStateRepository) { + LocationStateRepository locationStateRepository, IEMRCalltypeRepositoryImplCustom iEMRCalltypeRepositoryImplCustom) { this.grievanceDataRepo = grievanceDataRepo; this.grievanceTransactionRepo = grievanceTransactionRepo; this.grievanceFetchBenDetailsRepo = grievanceFetchBenDetailsRepo; this.locationStateRepository = locationStateRepository; + this.iEMRCalltypeRepositoryImplCustom = iEMRCalltypeRepositoryImplCustom; } @Value("${grievanceUserAuthenticate}") @@ -92,6 +100,9 @@ public GrievanceDataSyncImpl(GrievanceDataRepo grievanceDataRepo, GrievanceTrans @Value("${grievanceDataSyncDuration}") private String grievanceDataSyncDuration; + @Value("${grievanceAllocationRetryConfiguration}") + private int grievanceAllocationRetryConfiguration; + private String GRIEVANCE_AUTH_TOKEN; private Long GRIEVANCE_TOKEN_EXP; @@ -468,4 +479,110 @@ public String fetchUnallocatedGrievanceCount(String preferredLanguage) throws IE return resultArray.toString(); } + + + + @Override + @Transactional + public String completeGrievanceCall(String request) throws Exception { + + GrievanceCallRequest grievanceCallRequest = InputMapper.gson().fromJson(request, GrievanceCallRequest.class); + String complaintID = grievanceCallRequest.getComplaintID(); + Integer userID = grievanceCallRequest.getUserID(); + Boolean isCompleted = grievanceCallRequest.getIsCompleted(); + Long beneficiaryRegID = grievanceCallRequest.getBeneficiaryRegID(); + Integer callTypeID = grievanceCallRequest.getCallTypeID(); + Integer providerServiceMapId = grievanceCallRequest.getProviderServiceMapId(); + // String createdBy = grievanceCallRequest.getCreatedBy(); + + GrievanceDetails grievanceDetails = new GrievanceDetails(); + CallType callTypeObj = new CallType(); + String response = "failure"; + int updateCount = 0; + int updateCallCounter = 0; + int callCounter = 0; + try { + + // GrievanceDetails grievanceCallStatus = grievanceDataRepo.getCallCounter(complaintID); + GrievanceDetails grievanceCallStatus = new GrievanceDetails(); + + // List outboundCallRequests = new ArrayList(); + ArrayList lists = grievanceDataRepo.getCallCounter(complaintID); + for (Object[] objects : lists) { + if (objects != null && objects.length >= 2) { + grievanceCallStatus.setCallCounter((Integer) objects[0]); + grievanceCallStatus.setRetryNeeded((Boolean)objects[1]); + } + } + + // Fetching CallDetails using BenCallID and CallTypeID + Set callTypesArray = new HashSet(); + callTypesArray = iEMRCalltypeRepositoryImplCustom.getCallDetails(callTypeID); + for (Object[] object : callTypesArray) + { + if (object != null && object.length >= 2) + { + callTypeObj.setCallGroupType((String) object[0]); + callTypeObj.setCallType((String) object[0]); + + } + + } + + String callGroupType = callTypeObj.getCallGroupType(); + String callType = callTypeObj.getCallType(); + + + // Logic for reattempt based on state and call type + // boolean isRetryNeeded = false; + + boolean isRetryNeeded = grievanceCallStatus.getRetryNeeded(); + if (callGroupType.equals("Valid")) { + // Conditions when no reattempt is needed + if (callType.equals("Valid") || callType.equals("Wrong Number") || callType.equals("Test Call")) { + isRetryNeeded = false; + } else if (callType.equals("Disconnected Call") || callType.equals("Serviced Call") || + callType.equals("Silent Call") || callType.equals("Call Back")) { + // Reattempt is needed for these call subtypes + isRetryNeeded = true; + } + } + + // Check if max attempts (3) are reached + if (isRetryNeeded == true && callCounter < grievanceAllocationRetryConfiguration) { + // Increment the call counter for reattempt + grievanceDetails.setCallCounter(grievanceDetails.getCallCounter() + 1); + // Update the retryNeeded flag + grievanceDetails.setRetryNeeded(true); + updateCallCounter = grievanceDataRepo.updateCallCounter(grievanceDetails.getCallCounter(),grievanceDetails.getRetryNeeded(), grievanceCallRequest.getComplaintID(), + grievanceCallRequest.getBeneficiaryRegID(), grievanceCallRequest.getProviderServiceMapId(), + grievanceCallRequest.getUserID()); + // response = "Successfully closing call."; // Return success when reattempt logic is applied successfully. The grievance call needs to be retried, and a reattempt is performed. + if (updateCallCounter > 0) + response = "Successfully closing call"; + else { + response = "failure"; + } + } else if (callCounter == grievanceAllocationRetryConfiguration) { + // Max attempts reached, no further reattempt + updateCount = grievanceDataRepo.updateCompletedStatusInCall(isCompleted, complaintID, userID, beneficiaryRegID, providerServiceMapId); + grievanceDetails.setRetryNeeded(false); + response = "max_attempts_reached"; // Indicate that max attempts are reached + + + } else { + + response = "no_reattempt_needed"; // No reattempt needed + } + + + + } + catch (Exception e) { + response = "error: " + e.getMessage(); + } + + return response; // Return the response (either success or error message) + } + } From 2f724d31f37c2e9a6a67f5f08f9ee1e77a17670f Mon Sep 17 00:00:00 2001 From: SR20290919 Date: Thu, 27 Feb 2025 13:53:47 +0530 Subject: [PATCH 2/6] adding code changes suggested by code rabbit --- .../grievance/GrievanceDataRepo.java | 3 ++- .../grievance/GrievanceDataSyncImpl.java | 18 +++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java b/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java index ca16bf4f..db261bf7 100644 --- a/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java +++ b/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java @@ -97,8 +97,9 @@ int updateComplaintResolution(@Param("complaintResolution") String complaintReso @Param("userID") Integer userID); @Query(" Select grievance.callCounter, grievance.retryNeeded FROM GrievanceDetails grievance where complaintID = :complaintID") - public ArrayList getCallCounter(@Param("complaintID") String complaintID); + public List getCallCounter(@Param("complaintID") String complaintID); + @Modifying @Query("UPDATE GrievanceDetails g SET g.isCompleted = :isCompleted " + "WHERE g.complaintID = :complaintID AND g.userID = :userID AND g.beneficiaryRegID = :beneficiaryRegID " + "AND g.providerServiceMapID = :providerServiceMapID") diff --git a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java index 0b3a218c..c2965e56 100644 --- a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java +++ b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java @@ -493,21 +493,17 @@ public String completeGrievanceCall(String request) throws Exception { Long beneficiaryRegID = grievanceCallRequest.getBeneficiaryRegID(); Integer callTypeID = grievanceCallRequest.getCallTypeID(); Integer providerServiceMapId = grievanceCallRequest.getProviderServiceMapId(); - // String createdBy = grievanceCallRequest.getCreatedBy(); - GrievanceDetails grievanceDetails = new GrievanceDetails(); CallType callTypeObj = new CallType(); - String response = "failure"; + String response = "failure"; int updateCount = 0; int updateCallCounter = 0; int callCounter = 0; try { - // GrievanceDetails grievanceCallStatus = grievanceDataRepo.getCallCounter(complaintID); GrievanceDetails grievanceCallStatus = new GrievanceDetails(); - // List outboundCallRequests = new ArrayList(); - ArrayList lists = grievanceDataRepo.getCallCounter(complaintID); + List lists = grievanceDataRepo.getCallCounter(complaintID); for (Object[] objects : lists) { if (objects != null && objects.length >= 2) { grievanceCallStatus.setCallCounter((Integer) objects[0]); @@ -523,7 +519,7 @@ public String completeGrievanceCall(String request) throws Exception { if (object != null && object.length >= 2) { callTypeObj.setCallGroupType((String) object[0]); - callTypeObj.setCallType((String) object[0]); + callTypeObj.setCallType((String) object[1]); } @@ -551,10 +547,10 @@ public String completeGrievanceCall(String request) throws Exception { // Check if max attempts (3) are reached if (isRetryNeeded == true && callCounter < grievanceAllocationRetryConfiguration) { // Increment the call counter for reattempt - grievanceDetails.setCallCounter(grievanceDetails.getCallCounter() + 1); + grievanceCallStatus.setCallCounter(grievanceCallStatus.getCallCounter() + 1); // Update the retryNeeded flag - grievanceDetails.setRetryNeeded(true); - updateCallCounter = grievanceDataRepo.updateCallCounter(grievanceDetails.getCallCounter(),grievanceDetails.getRetryNeeded(), grievanceCallRequest.getComplaintID(), + grievanceCallStatus.setRetryNeeded(true); + updateCallCounter = grievanceDataRepo.updateCallCounter(grievanceCallStatus.getCallCounter(),grievanceCallStatus.getRetryNeeded(), grievanceCallRequest.getComplaintID(), grievanceCallRequest.getBeneficiaryRegID(), grievanceCallRequest.getProviderServiceMapId(), grievanceCallRequest.getUserID()); // response = "Successfully closing call."; // Return success when reattempt logic is applied successfully. The grievance call needs to be retried, and a reattempt is performed. @@ -566,7 +562,7 @@ public String completeGrievanceCall(String request) throws Exception { } else if (callCounter == grievanceAllocationRetryConfiguration) { // Max attempts reached, no further reattempt updateCount = grievanceDataRepo.updateCompletedStatusInCall(isCompleted, complaintID, userID, beneficiaryRegID, providerServiceMapId); - grievanceDetails.setRetryNeeded(false); + grievanceCallStatus.setRetryNeeded(false); response = "max_attempts_reached"; // Indicate that max attempts are reached From 9b8327129c40da8192d685ed54359b88193ffc35 Mon Sep 17 00:00:00 2001 From: SR20290919 Date: Thu, 27 Feb 2025 14:01:12 +0530 Subject: [PATCH 3/6] adding code rabbit suggested changes --- .../iemr/common/service/grievance/GrievanceDataSyncImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java index c2965e56..2399ac2e 100644 --- a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java +++ b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java @@ -529,8 +529,7 @@ public String completeGrievanceCall(String request) throws Exception { String callType = callTypeObj.getCallType(); - // Logic for reattempt based on state and call type - // boolean isRetryNeeded = false; + // Logic for reattempt based on call group type and call type boolean isRetryNeeded = grievanceCallStatus.getRetryNeeded(); if (callGroupType.equals("Valid")) { From d7a3c6b7b595f3743121c99d3b2455435ef4bd76 Mon Sep 17 00:00:00 2001 From: SR20290919 Date: Thu, 27 Feb 2025 14:28:22 +0530 Subject: [PATCH 4/6] adding code rabbit fixes --- src/main/java/com/iemr/common/data/grievance/.gitignore | 1 + .../iemr/common/repository/grievance/GrievanceDataRepo.java | 3 ++- .../iemr/common/service/grievance/GrievanceDataSyncImpl.java | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/iemr/common/data/grievance/.gitignore diff --git a/src/main/java/com/iemr/common/data/grievance/.gitignore b/src/main/java/com/iemr/common/data/grievance/.gitignore new file mode 100644 index 00000000..326e6610 --- /dev/null +++ b/src/main/java/com/iemr/common/data/grievance/.gitignore @@ -0,0 +1 @@ +/GrievanceResponse.java diff --git a/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java b/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java index db261bf7..98594f27 100644 --- a/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java +++ b/src/main/java/com/iemr/common/repository/grievance/GrievanceDataRepo.java @@ -100,11 +100,12 @@ int updateComplaintResolution(@Param("complaintResolution") String complaintReso public List getCallCounter(@Param("complaintID") String complaintID); @Modifying - @Query("UPDATE GrievanceDetails g SET g.isCompleted = :isCompleted " + @Query("UPDATE GrievanceDetails g SET g.isCompleted = :isCompleted, g. g.retryNeeded = :retryNeeded " + "WHERE g.complaintID = :complaintID AND g.userID = :userID AND g.beneficiaryRegID = :beneficiaryRegID " + "AND g.providerServiceMapID = :providerServiceMapID") @Transactional public int updateCompletedStatusInCall(@Param("isCompleted") Boolean isCompleted, + @Param("retryNeeded") Boolean retryNeeded, @Param("complaintID") String complaintID, @Param("userID") Integer userID, @Param("beneficiaryRegID") Long beneficiaryRegID, diff --git a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java index 2399ac2e..2aef2c2b 100644 --- a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java +++ b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java @@ -558,10 +558,10 @@ public String completeGrievanceCall(String request) throws Exception { else { response = "failure"; } - } else if (callCounter == grievanceAllocationRetryConfiguration) { + } else if (grievanceCallStatus.getCallCounter()== grievanceAllocationRetryConfiguration) { // Max attempts reached, no further reattempt - updateCount = grievanceDataRepo.updateCompletedStatusInCall(isCompleted, complaintID, userID, beneficiaryRegID, providerServiceMapId); grievanceCallStatus.setRetryNeeded(false); + updateCount = grievanceDataRepo.updateCompletedStatusInCall(isCompleted, grievanceCallStatus.getRetryNeeded(), complaintID, userID, beneficiaryRegID, providerServiceMapId); response = "max_attempts_reached"; // Indicate that max attempts are reached From fa2f43368865a19ec989fdce3426e1a77853c5d2 Mon Sep 17 00:00:00 2001 From: SR20290919 Date: Thu, 27 Feb 2025 14:36:24 +0530 Subject: [PATCH 5/6] adding code rabbit fixes --- .../iemr/common/service/grievance/GrievanceDataSyncImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java index 2aef2c2b..be6022dd 100644 --- a/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java +++ b/src/main/java/com/iemr/common/service/grievance/GrievanceDataSyncImpl.java @@ -549,7 +549,7 @@ public String completeGrievanceCall(String request) throws Exception { grievanceCallStatus.setCallCounter(grievanceCallStatus.getCallCounter() + 1); // Update the retryNeeded flag grievanceCallStatus.setRetryNeeded(true); - updateCallCounter = grievanceDataRepo.updateCallCounter(grievanceCallStatus.getCallCounter(),grievanceCallStatus.getRetryNeeded(), grievanceCallRequest.getComplaintID(), + updateCallCounter = grievanceDataRepo.updateCallCounter(callCounter, grievanceCallStatus.getRetryNeeded(), grievanceCallRequest.getComplaintID(), grievanceCallRequest.getBeneficiaryRegID(), grievanceCallRequest.getProviderServiceMapId(), grievanceCallRequest.getUserID()); // response = "Successfully closing call."; // Return success when reattempt logic is applied successfully. The grievance call needs to be retried, and a reattempt is performed. @@ -558,7 +558,7 @@ public String completeGrievanceCall(String request) throws Exception { else { response = "failure"; } - } else if (grievanceCallStatus.getCallCounter()== grievanceAllocationRetryConfiguration) { + } else if (callCounter == grievanceAllocationRetryConfiguration) { // Max attempts reached, no further reattempt grievanceCallStatus.setRetryNeeded(false); updateCount = grievanceDataRepo.updateCompletedStatusInCall(isCompleted, grievanceCallStatus.getRetryNeeded(), complaintID, userID, beneficiaryRegID, providerServiceMapId); From ae716f91be629f90cc23669d7238a8a80973bed9 Mon Sep 17 00:00:00 2001 From: Srishti gupta <76839176+srishtigrp78@users.noreply.github.com> Date: Thu, 27 Feb 2025 14:37:32 +0530 Subject: [PATCH 6/6] Delete src/main/java/com/iemr/common/data/grievance/.gitignore --- src/main/java/com/iemr/common/data/grievance/.gitignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src/main/java/com/iemr/common/data/grievance/.gitignore diff --git a/src/main/java/com/iemr/common/data/grievance/.gitignore b/src/main/java/com/iemr/common/data/grievance/.gitignore deleted file mode 100644 index 326e6610..00000000 --- a/src/main/java/com/iemr/common/data/grievance/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/GrievanceResponse.java