From 966c0dcdf5bb903f0387e56a1e977e9165039500 Mon Sep 17 00:00:00 2001 From: Amoghavarsh <93114621+5Amogh@users.noreply.github.com> Date: Thu, 25 Sep 2025 10:16:19 +0530 Subject: [PATCH 1/2] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b0e8639c..0baff4db 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.iemr.mmu mmu-api - 3.4.0 + 3.5.0 war MMU-API From 5adeb8be0f62eef0f3b3568e663dbf30700e9e72 Mon Sep 17 00:00:00 2001 From: Vishwanath Balkur <118195001+vishwab1@users.noreply.github.com> Date: Fri, 17 Oct 2025 15:51:48 +0530 Subject: [PATCH 2/2] fix:add the response for save doctor data (#132) --- .../mmu/controller/anc/ANCController.java | 47 +++++++++++++++++- .../controller/covid19/CovidController.java | 40 +++++++++++++++- .../generalOPD/GeneralOPDController.java | 43 ++++++++++++++++- .../controller/ncdCare/NCDCareController.java | 40 +++++++++++++++- .../ncdscreening/NCDController.java | 48 +++++++++++++++++-- .../pnc/PostnatalCareController.java | 42 +++++++++++++++- .../quickconsult/QuickConsultController.java | 45 ++++++++++++++++- .../iemr/mmu/service/anc/ANCServiceImpl.java | 23 ++++++++- .../transaction/CommonNurseServiceImpl.java | 15 +++++- .../service/covid19/Covid19ServiceImpl.java | 22 ++++++++- .../generalOPD/GeneralOPDServiceImpl.java | 23 ++++++++- .../service/ncdCare/NCDCareServiceImpl.java | 24 +++++++++- .../NCDSCreeningDoctorServiceImpl.java | 12 ++++- .../ncdscreening/NCDScreeningServiceImpl.java | 29 +++++++++-- .../iemr/mmu/service/pnc/PNCServiceImpl.java | 22 ++++++++- .../QuickConsultationServiceImpl.java | 29 ++++++++++- 16 files changed, 468 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/iemr/mmu/controller/anc/ANCController.java b/src/main/java/com/iemr/mmu/controller/anc/ANCController.java index 178f080b..c60b9bf4 100644 --- a/src/main/java/com/iemr/mmu/controller/anc/ANCController.java +++ b/src/main/java/com/iemr/mmu/controller/anc/ANCController.java @@ -21,6 +21,9 @@ */ package com.iemr.mmu.controller.anc; +import java.util.ArrayList; +import java.util.HashMap; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,6 +37,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -42,6 +46,13 @@ import io.swagger.v3.oas.annotations.Operation; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import com.google.gson.Gson; +import com.google.gson.JsonArray; + /** * @Objective Saving ANC data for Nurse and Doctor. */ @@ -99,7 +110,23 @@ public String saveBenANCDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long r = ancService.saveANCDoctorData(jsnOBJ, authorization); if (r != null && r > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -454,7 +481,23 @@ public String updateANCDoctorData(@RequestBody String requestObj, try { Long result = ancService.updateANCDoctorData(jsnOBJ, authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java b/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java index 959c9cc7..17a03d85 100644 --- a/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java +++ b/src/main/java/com/iemr/mmu/controller/covid19/CovidController.java @@ -21,7 +21,9 @@ */ package com.iemr.mmu.controller.covid19; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.json.JSONObject; @@ -36,6 +38,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -109,7 +113,23 @@ public String saveBenCovidDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long ncdCareRes = covid19Service.saveDoctorData(jsnOBJ, authorization); if (null != ncdCareRes && ncdCareRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setResponse("Unable to save data"); } @@ -313,7 +333,23 @@ public String updateCovid19DoctorData(@RequestBody String requestObj, try { Long result = covid19ServiceImpl.updateCovid19DoctorData(jsnOBJ, authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java b/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java index b7fa65a0..c1e0eccc 100644 --- a/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java +++ b/src/main/java/com/iemr/mmu/controller/generalOPD/GeneralOPDController.java @@ -21,6 +21,11 @@ */ package com.iemr.mmu.controller.generalOPD; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,6 +38,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -104,7 +111,23 @@ public String saveBenGenOPDDoctorData(@RequestBody String requestObj, if (jsonRequest != null) { Long genOPDRes = generalOPDServiceImpl.saveDoctorData(jsonRequest, authorization); if (null != genOPDRes && genOPDRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsonRequest.has("savedDrugIDs") && !jsonRequest.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsonRequest.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setResponse("Unable to save data"); } @@ -401,7 +424,23 @@ public String updateGeneralOPDDoctorData(@RequestBody String requestObj, try { Long result = generalOPDServiceImpl.updateGeneralOPDDoctorData(jsonRequest, authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsonRequest.has("savedDrugIDs") && !jsonRequest.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsonRequest.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java b/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java index 03c4cecc..fa853ad2 100644 --- a/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java +++ b/src/main/java/com/iemr/mmu/controller/ncdCare/NCDCareController.java @@ -21,7 +21,9 @@ */ package com.iemr.mmu.controller.ncdCare; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.json.JSONObject; @@ -36,6 +38,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -108,7 +112,23 @@ public String saveBenNCDCareDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long ncdCareRes = ncdCareServiceImpl.saveDoctorData(jsnOBJ, authorization); if (null != ncdCareRes && ncdCareRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setResponse("Unable to save data"); } @@ -316,7 +336,23 @@ public String updateNCDCareDoctorData(@RequestBody String requestObj, try { Long result = ncdCareServiceImpl.updateNCDCareDoctorData(jsnOBJ, authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java b/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java index 39d3531b..5f6ebeab 100644 --- a/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java +++ b/src/main/java/com/iemr/mmu/controller/ncdscreening/NCDController.java @@ -21,6 +21,11 @@ */ package com.iemr.mmu.controller.ncdscreening; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,6 +40,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -119,7 +126,23 @@ public String saveBenNCDScreeningDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long ncdCareRes = ncdScreeningServiceImpl.saveDoctorData(jsnOBJ, authorization); if (null != ncdCareRes && ncdCareRes > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setResponse("Unable to save data"); } @@ -426,10 +449,27 @@ public String updateDoctorData(@RequestBody String requestObj) { try { JsonObject jsnOBJ = parseJsonRequest(requestObj); int i = ncdSCreeningDoctorService.updateDoctorData(jsnOBJ); - if (i > 0) - response.setResponse("Data updated successfully"); - else + if (i > 0) { + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); + } else { response.setError(5000, "Error in data update"); + } } catch (Exception e) { response.setError(5000, "Unable to modify data"); logger.error("Error while updating doctor data :" + e); diff --git a/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java b/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java index 0e15e43a..1dfa95f1 100644 --- a/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java +++ b/src/main/java/com/iemr/mmu/controller/pnc/PostnatalCareController.java @@ -21,6 +21,11 @@ */ package com.iemr.mmu.controller.pnc; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,6 +38,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -104,7 +111,23 @@ public String saveBenPNCDoctorData(@RequestBody String requestObj, if (jsnOBJ != null) { Long r = pncServiceImpl.savePNCDoctorData(jsnOBJ, authorization); if (r != null && r > 0) { - response.setResponse("Data saved successfully"); + // Extract drug IDs from JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -427,7 +450,22 @@ public String updatePNCDoctorData(@RequestBody String requestObj, try { Long result = pncServiceImpl.updatePNCDoctorData(jsnOBJ, authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + List prescribedDrugIDs = new ArrayList<>(); + if (jsnOBJ.has("savedDrugIDs") && !jsnOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = jsnOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response with message and IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java b/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java index 5b672df5..c7ef2307 100644 --- a/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java +++ b/src/main/java/com/iemr/mmu/controller/quickconsult/QuickConsultController.java @@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -44,6 +45,10 @@ import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.Operation; +import java.util.*; +import com.google.gson.Gson; +import com.google.gson.JsonArray; + /** * @Objective Saving general OPD quick consult data for Nurse and Doctor both. */ @@ -124,7 +129,25 @@ public String saveQuickConsultationDetail( Integer i = quickConsultationServiceImpl.quickConsultDoctorDataInsert(quickConsultDoctorOBJ, authorization); if (i != null && i > 0) { - response.setResponse("Data saved successfully"); + // Check if drug IDs were saved and added to the JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (quickConsultDoctorOBJ.has("savedDrugIDs") + && !quickConsultDoctorOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = quickConsultDoctorOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response data with message and drug IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data saved successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + // Convert to JSON string and set response + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(5000, "Unable to save data"); } @@ -241,7 +264,25 @@ public String updateGeneralOPDQCDoctorData(@RequestBody String requestObj, Long result = quickConsultationServiceImpl.updateGeneralOPDQCDoctorData(quickConsultDoctorOBJ, authorization); if (null != result && result > 0) { - response.setResponse("Data updated successfully"); + // Check if drug IDs were saved and added to the JsonObject + List prescribedDrugIDs = new ArrayList<>(); + if (quickConsultDoctorOBJ.has("savedDrugIDs") + && !quickConsultDoctorOBJ.get("savedDrugIDs").isJsonNull()) { + JsonArray drugIDsArray = quickConsultDoctorOBJ.getAsJsonArray("savedDrugIDs"); + for (int j = 0; j < drugIDsArray.size(); j++) { + prescribedDrugIDs.add(drugIDsArray.get(j).getAsLong()); + } + } + + // Create response data with message and drug IDs + Map responseData = new HashMap<>(); + responseData.put("message", "Data updated successfully"); + responseData.put("prescribedDrugIDs", prescribedDrugIDs); + + // Convert to JSON string and set response + Gson gson = new Gson(); + String responseJson = gson.toJson(responseData); + response.setResponse(responseJson); } else { response.setError(500, "Unable to modify data"); } diff --git a/src/main/java/com/iemr/mmu/service/anc/ANCServiceImpl.java b/src/main/java/com/iemr/mmu/service/anc/ANCServiceImpl.java index d9538b62..c40b2189 100644 --- a/src/main/java/com/iemr/mmu/service/anc/ANCServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/anc/ANCServiceImpl.java @@ -382,7 +382,17 @@ public Long saveANCDoctorData(JsonObject requestOBJ, String Authorization) throw tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1597,7 +1607,16 @@ public Long updateANCDoctorData(JsonObject requestOBJ, String Authorization) thr tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/common/transaction/CommonNurseServiceImpl.java b/src/main/java/com/iemr/mmu/service/common/transaction/CommonNurseServiceImpl.java index 0fedb10d..947e6754 100644 --- a/src/main/java/com/iemr/mmu/service/common/transaction/CommonNurseServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/common/transaction/CommonNurseServiceImpl.java @@ -2766,7 +2766,9 @@ public Long saveBeneficiaryLabTestOrderDetails(JsonObject caseSheet, Long prescr return returnOBJ; } - public Integer saveBenPrescribedDrugsList(List prescribedDrugDetailList) { + public Map saveBenPrescribedDrugsList(List prescribedDrugDetailList) { + Map result = new HashMap<>(); + List prescribedDrugIDs = new ArrayList<>(); Integer r = 0; if (prescribedDrugDetailList.size() > 0) { @@ -2782,11 +2784,20 @@ public Integer saveBenPrescribedDrugsList(List prescribedD .saveAll(prescribedDrugDetailList); if (prescribedDrugDetailList.size() == prescribedDrugDetailListRS.size()) { r = prescribedDrugDetailListRS.size(); + // Extract the IDs from saved entities + for (PrescribedDrugDetail savedDrug : prescribedDrugDetailListRS) { + if (savedDrug.getId() != null) { + prescribedDrugIDs.add(savedDrug.getId()); + } + } } } else { r = 1; } - return r; + + result.put("count", r); + result.put("prescribedDrugIDs", prescribedDrugIDs); + return result; } private int calculateQtyPrescribed(String form, String dose, String frequency, String duration, diff --git a/src/main/java/com/iemr/mmu/service/covid19/Covid19ServiceImpl.java b/src/main/java/com/iemr/mmu/service/covid19/Covid19ServiceImpl.java index 0f393503..13c22e4c 100644 --- a/src/main/java/com/iemr/mmu/service/covid19/Covid19ServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/covid19/Covid19ServiceImpl.java @@ -938,7 +938,16 @@ public Long updateCovid19DoctorData(JsonObject requestOBJ, String Authorization) tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1233,7 +1242,16 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/generalOPD/GeneralOPDServiceImpl.java b/src/main/java/com/iemr/mmu/service/generalOPD/GeneralOPDServiceImpl.java index 6042e57f..e884b9f3 100644 --- a/src/main/java/com/iemr/mmu/service/generalOPD/GeneralOPDServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/generalOPD/GeneralOPDServiceImpl.java @@ -911,7 +911,17 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1550,7 +1560,16 @@ public Long updateGeneralOPDDoctorData(JsonObject requestOBJ, String Authorizati tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/ncdCare/NCDCareServiceImpl.java b/src/main/java/com/iemr/mmu/service/ncdCare/NCDCareServiceImpl.java index 9cbe589c..80ec2dcc 100644 --- a/src/main/java/com/iemr/mmu/service/ncdCare/NCDCareServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/ncdCare/NCDCareServiceImpl.java @@ -106,6 +106,7 @@ public void setCommonDoctorServiceImpl(CommonDoctorServiceImpl commonDoctorServi public void setCommonNurseServiceImpl(CommonNurseServiceImpl commonNurseServiceImpl) { this.commonNurseServiceImpl = commonNurseServiceImpl; } + @Autowired private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @@ -842,7 +843,17 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1266,7 +1277,16 @@ public Long updateNCDCareDoctorData(JsonObject requestOBJ, String Authorization) tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java b/src/main/java/com/iemr/mmu/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java index 6e470273..f62b61dc 100644 --- a/src/main/java/com/iemr/mmu/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/ncdscreening/NCDSCreeningDoctorServiceImpl.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.regex.Pattern; import org.springframework.beans.factory.annotation.Autowired; @@ -216,7 +217,16 @@ public int updateDoctorData(JsonObject requestOBJ) throws Exception { tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/ncdscreening/NCDScreeningServiceImpl.java b/src/main/java/com/iemr/mmu/service/ncdscreening/NCDScreeningServiceImpl.java index 9f1018a7..383e270c 100644 --- a/src/main/java/com/iemr/mmu/service/ncdscreening/NCDScreeningServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/ncdscreening/NCDScreeningServiceImpl.java @@ -268,10 +268,20 @@ private Long saveNCDNurseTMReferred(JsonObject requestOBJ, String authorization) tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); - if (r > 0 && r != null) { - prescriptionSuccessFlag = r; - } + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + + if (r > 0 && r != null) { + prescriptionSuccessFlag = r; + } } else { prescriptionSuccessFlag = 1; @@ -1319,7 +1329,16 @@ public Long saveDoctorData(JsonObject requestOBJ, String Authorization) throws E tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/pnc/PNCServiceImpl.java b/src/main/java/com/iemr/mmu/service/pnc/PNCServiceImpl.java index 6ee2a83f..38c1b7f1 100644 --- a/src/main/java/com/iemr/mmu/service/pnc/PNCServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/pnc/PNCServiceImpl.java @@ -358,7 +358,16 @@ public Long savePNCDoctorData(JsonObject requestOBJ, String Authorization) throw tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -1550,7 +1559,16 @@ public Long updatePNCDoctorData(JsonObject requestOBJ, String Authorization) thr tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store IDs in JsonObject + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + requestOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } if (r > 0 && r != null) { prescriptionSuccessFlag = r; } diff --git a/src/main/java/com/iemr/mmu/service/quickConsultation/QuickConsultationServiceImpl.java b/src/main/java/com/iemr/mmu/service/quickConsultation/QuickConsultationServiceImpl.java index 0078c596..de19a791 100644 --- a/src/main/java/com/iemr/mmu/service/quickConsultation/QuickConsultationServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/quickConsultation/QuickConsultationServiceImpl.java @@ -160,6 +160,7 @@ public void setPrescriptionDetailRepo(PrescriptionDetailRepo prescriptionDetailR public void setExternalTestOrderRepo(ExternalTestOrderRepo externalTestOrderRepo) { this.externalTestOrderRepo = externalTestOrderRepo; } + @Autowired private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @@ -426,7 +427,19 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + + // Use the modified method to get both count and IDs + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store the drug IDs in the JsonObject for later retrieval in controller + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + quickConsultDoctorOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescriptionSuccessFlag = r; } @@ -645,7 +658,19 @@ public Long updateGeneralOPDQCDoctorData(JsonObject quickConsultDoctorOBJ, Strin tmpObj.setVisitCode(commonUtilityClass.getVisitCode()); tmpObj.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); } - Integer r = commonNurseServiceImpl.saveBenPrescribedDrugsList(prescribedDrugDetailList); + + // Use the modified method to get both count and IDs + Map drugSaveResult = commonNurseServiceImpl + .saveBenPrescribedDrugsList(prescribedDrugDetailList); + Integer r = (Integer) drugSaveResult.get("count"); + List prescribedDrugIDs = (List) drugSaveResult.get("prescribedDrugIDs"); + + // Store the drug IDs in the JsonObject for later retrieval in controller + if (prescribedDrugIDs != null && !prescribedDrugIDs.isEmpty()) { + Gson gson = new Gson(); + quickConsultDoctorOBJ.add("savedDrugIDs", gson.toJsonTree(prescribedDrugIDs)); + } + if (r > 0 && r != null) { prescribedDrugSuccessFlag = new Long(1); }