diff --git a/src/main/java/com/iemr/tm/data/foetalmonitor/FoetalMonitorData.java b/src/main/java/com/iemr/tm/data/foetalmonitor/FoetalMonitorData.java index 2a1d30f9..7697d348 100644 --- a/src/main/java/com/iemr/tm/data/foetalmonitor/FoetalMonitorData.java +++ b/src/main/java/com/iemr/tm/data/foetalmonitor/FoetalMonitorData.java @@ -23,18 +23,18 @@ public class FoetalMonitorData { - private Long partnerFoetalMonitorId; + private Long partnerFetosenseId; private Long beneficiaryRegID; private String motherLMPDate; private String motherName; private String testName; private String deviceId; - public Long getPartnerFoetalMonitorID() { - return partnerFoetalMonitorId; + public Long getPartnerFetosenseID() { + return partnerFetosenseId; } - public void setPartnerFoetalMonitorID(Long partnerFoetalMonitorID) { - this.partnerFoetalMonitorId = partnerFoetalMonitorID; + public void setPartnerFetosenseID(Long partnerFetosenseID) { + this.partnerFetosenseId = partnerFetosenseID; } public String getMotherLMPDate() { return motherLMPDate; diff --git a/src/main/java/com/iemr/tm/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java b/src/main/java/com/iemr/tm/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java index b6989e0e..73128a63 100644 --- a/src/main/java/com/iemr/tm/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java +++ b/src/main/java/com/iemr/tm/repo/benFlowStatus/BeneficiaryFlowStatusRepo.java @@ -440,5 +440,8 @@ public ArrayList getMmuNurseWorklistNew( // */ // @Query("SELECT t.lab_technician_flag from BeneficiaryFlowStatus t WHERE t.benFlowID =:benFlowID ") // public Short getLabTechnicianFlag(@Param("benFlowID") Long benFlowID); + + @Query("SELECT t from BeneficiaryFlowStatus t where t.benFlowID = :benFlowID And t.nurseFlag = :nurseFlag") + BeneficiaryFlowStatus checkExistData(@Param("benFlowID") Long benFlowID, @Param("nurseFlag") Short nurseFlag); } diff --git a/src/main/java/com/iemr/tm/repo/location/V_getVanLocDetailsRepo.java b/src/main/java/com/iemr/tm/repo/location/V_getVanLocDetailsRepo.java index eeb2406d..ec10d92a 100644 --- a/src/main/java/com/iemr/tm/repo/location/V_getVanLocDetailsRepo.java +++ b/src/main/java/com/iemr/tm/repo/location/V_getVanLocDetailsRepo.java @@ -37,5 +37,15 @@ public interface V_getVanLocDetailsRepo extends CrudRepository getVanDetails(@Param("vanID") Integer vanID); + + @Query(value="SELECT distinct dis.stateID, van.parkingPlaceID, dis.districtID, dis.districtName FROM db_iemr.m_van van " + + "left join db_iemr.m_parkingplacesubdistrictmap prkdis on van.ParkingPlaceID = prkdis.ParkingPlaceID " + + "left join db_iemr.m_district dis on prkdis.DistrictID = dis.DistrictID " + + "left join db_iemr.m_districtblock db on db.DistrictID = dis.DistrictID " + + "left join db_iemr.m_userservicerolemapping usrm on usrm.Blockid = db.BlockID " + + "where van.Deleted is false and db.Deleted is false " + + "and prkdis.Deleted is false and dis.Deleted is false " + + "and van.vanid = :vanID ",nativeQuery=true) + ArrayList getVanLocDetails(@Param("vanID") Integer vanID); } diff --git a/src/main/java/com/iemr/tm/service/anc/ANCServiceImpl.java b/src/main/java/com/iemr/tm/service/anc/ANCServiceImpl.java index 74b34325..d265d123 100644 --- a/src/main/java/com/iemr/tm/service/anc/ANCServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/anc/ANCServiceImpl.java @@ -66,6 +66,7 @@ import com.iemr.tm.data.anc.WrapperFemaleObstetricHistory; import com.iemr.tm.data.anc.WrapperImmunizationHistory; import com.iemr.tm.data.anc.WrapperMedicationHistory; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.foetalmonitor.FoetalMonitor; import com.iemr.tm.data.nurse.BenAnthropometryDetail; import com.iemr.tm.data.nurse.BenPhysicalVitalDetail; @@ -168,12 +169,17 @@ public String saveANCNurseData(JsonObject requestOBJ, String Authorization) thro Long saveSuccessFlag = null; TeleconsultationRequestOBJ tcRequestOBJ = null; Long benVisitCode = null; + Map visitIdAndCodeMap = null; // check if visit details data is not null if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); - // Call method to save visit details data - Map visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), nurseUtilityClass); + } Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/cancerScreening/CSServiceImpl.java b/src/main/java/com/iemr/tm/service/cancerScreening/CSServiceImpl.java index 260a783b..43721e3e 100644 --- a/src/main/java/com/iemr/tm/service/cancerScreening/CSServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/cancerScreening/CSServiceImpl.java @@ -162,6 +162,7 @@ public String saveCancerScreeningNurseData(JsonObject requestOBJ, String Authori Long nurseDataSuccessFlag = null; TeleconsultationRequestOBJ tcRequestOBJ = null; Long benVisitCode = null; + Map visitIdAndCodeMap = null; // check if visit details data is not null if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { // Call method to save visit details data @@ -169,8 +170,12 @@ public String saveCancerScreeningNurseData(JsonObject requestOBJ, String Authori CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); BeneficiaryVisitDetail benVisitDetailsOBJ = InputMapper.gson().fromJson(requestOBJ.get("visitDetails"), BeneficiaryVisitDetail.class); - - Map visitIdAndCodeMap = saveBenVisitDetails(benVisitDetailsOBJ, nurseUtilityClass); + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(benVisitDetailsOBJ, nurseUtilityClass); + } Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/common/transaction/CommonNurseServiceImpl.java b/src/main/java/com/iemr/tm/service/common/transaction/CommonNurseServiceImpl.java index 4754b100..d1f751a9 100644 --- a/src/main/java/com/iemr/tm/service/common/transaction/CommonNurseServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/common/transaction/CommonNurseServiceImpl.java @@ -385,6 +385,7 @@ public Integer updateBeneficiaryStatus(Character c, Long benRegID) { /** * Save beneficiary visit details data and return beneficiary visit ID. + * * @param beneficiaryVisitDetail * @return */ @@ -423,28 +424,28 @@ public Long saveBeneficiaryVisitDetails(BeneficiaryVisitDetail beneficiaryVisitD } - public int getMaxCurrentdate(Long beneficiaryRegID,String visitreason,String visitcategory) throws IEMRException{ - String maxDate=benVisitDetailRepo.getMaxCreatedDate(beneficiaryRegID,visitreason,visitcategory); - - int i=0; - if(maxDate!=null) { - try { - DateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String maxdateTrim=maxDate.substring(0, maxDate.indexOf(".")); - java.util.Date d = timeFormat.parse(maxdateTrim); - Calendar cal = Calendar.getInstance(); - Calendar cal1 = Calendar.getInstance(); - cal.setTime(d); - cal.add(Calendar.MINUTE, 10); - i= cal.compareTo(cal1); - - } catch (ParseException e) { - throw new IEMRException("Error while parseing created date :" + e.getMessage()); - } + public int getMaxCurrentdate(Long beneficiaryRegID, String visitreason, String visitcategory) throws IEMRException { + String maxDate = benVisitDetailRepo.getMaxCreatedDate(beneficiaryRegID, visitreason, visitcategory); + + int i = 0; + if (maxDate != null) { + try { + DateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String maxdateTrim = maxDate.substring(0, maxDate.indexOf(".")); + java.util.Date d = timeFormat.parse(maxdateTrim); + Calendar cal = Calendar.getInstance(); + Calendar cal1 = Calendar.getInstance(); + cal.setTime(d); + cal.add(Calendar.MINUTE, 10); + i = cal.compareTo(cal1); + + } catch (ParseException e) { + throw new IEMRException("Error while parseing created date :" + e.getMessage()); + } } return i; } - + public Long generateVisitCode(Long visitID, Integer vanID, Integer sessionID) { String visitCode = ""; @@ -480,6 +481,7 @@ public int updateVisitCodeInVisitDetailsTable(Long visitCode, Long visitID) { /** * created this for getting visit count of patient + * * @return */ public Short getBenVisitCount(Long benRegID) { @@ -999,8 +1001,9 @@ public int updateANCPhysicalVitalDetails(BenPhysicalVitalDetail physicalVitalDet physicalVitalDetail.getBloodGlucose_2hr_PP(), physicalVitalDetail.getBloodGlucose_NotSpecified(), physicalVitalDetail.getDiabeticStatusID(), physicalVitalDetail.getDiabeticStatus(), physicalVitalDetail.getCapillaryRefillTime(), physicalVitalDetail.getModifiedBy(), processed, - physicalVitalDetail.getRbsTestResult(),physicalVitalDetail.getRbsTestRemarks(),physicalVitalDetail.getsPO2(), - physicalVitalDetail.getBeneficiaryRegID(), physicalVitalDetail.getVisitCode()); + physicalVitalDetail.getRbsTestResult(), physicalVitalDetail.getRbsTestRemarks(), + physicalVitalDetail.getsPO2(), physicalVitalDetail.getBeneficiaryRegID(), + physicalVitalDetail.getVisitCode()); } return r; @@ -1188,7 +1191,6 @@ public String fetchBenPersonalTobaccoHistory(Long beneficiaryRegID) { column.put("keyName", "tobaccoUseStatus"); columns.add(column); - column = new HashMap(); column.put("columnName", "Tobacco Use Type"); column.put("keyName", "tobaccoUseType"); @@ -2694,7 +2696,7 @@ public Long savePrescriptionDetailsAndGetPrescriptionID(Long benRegID, Long benV prescriptionDetail.setParkingPlaceID(parkingPlaceID); if (instruction != null) prescriptionDetail.setInstruction(instruction); - if(provisionalDiagnosisList != null) + if (provisionalDiagnosisList != null) prescriptionDetail.setProvisionalDiagnosisList(provisionalDiagnosisList); Long prescriptionID = saveBenPrescription(prescriptionDetail); @@ -2741,24 +2743,26 @@ public Long saveBenPrescription(PrescriptionDetail prescription) { if (prescription != null && prescription.getProvisionalDiagnosisList() != null && prescription.getProvisionalDiagnosisList().size() > 0) { - int pointer = 1; for (SCTDescription obj : prescription.getProvisionalDiagnosisList()) { if (obj.getTerm() != null) { - if (pointer == prescription.getProvisionalDiagnosisList().size()) { + if (pdTerm.toString().isEmpty()) { pdTerm.append(obj.getTerm()); - if (obj.getConceptID() != null) + if (null != obj.getConceptID()) { pdConceptID.append(obj.getConceptID()); - else + } else { pdConceptID.append("N/A"); + } } else { - pdTerm.append(obj.getTerm()).append(" || "); - if (obj.getConceptID() != null) - pdConceptID.append(obj.getConceptID()).append(" || "); - else - pdConceptID.append("N/A").append(" || "); + if (obj.getTerm() != null) { + pdTerm.append(" || ").append(obj.getTerm()); + } + if (obj.getConceptID() != null) { + pdConceptID.append(" || ").append(obj.getConceptID()); + } else { + pdConceptID.append(" || ").append("N/A"); + } } } - pointer++; } prescription.setDiagnosisProvided(pdTerm.toString()); prescription.setDiagnosisProvided_SCTCode(pdConceptID.toString()); @@ -3166,7 +3170,7 @@ public String getNurseWorkListNew(Integer providerServiceMapId, Integer vanID) { long sevenDaysAgo = cal.getTimeInMillis(); ArrayList obj = beneficiaryFlowStatusRepo.getNurseWorklistNew(providerServiceMapId, - vanID,new Timestamp(sevenDaysAgo)); + vanID, new Timestamp(sevenDaysAgo)); return new Gson().toJson(obj); } diff --git a/src/main/java/com/iemr/tm/service/covid19/Covid19ServiceImpl.java b/src/main/java/com/iemr/tm/service/covid19/Covid19ServiceImpl.java index 6ef81822..76f2b154 100644 --- a/src/main/java/com/iemr/tm/service/covid19/Covid19ServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/covid19/Covid19ServiceImpl.java @@ -35,7 +35,6 @@ import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; - import com.iemr.tm.data.anc.BenAllergyHistory; import com.iemr.tm.data.anc.BenChildDevelopmentHistory; import com.iemr.tm.data.anc.BenFamilyHistory; @@ -51,6 +50,7 @@ import com.iemr.tm.data.anc.WrapperFemaleObstetricHistory; import com.iemr.tm.data.anc.WrapperImmunizationHistory; import com.iemr.tm.data.anc.WrapperMedicationHistory; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.covid19.Covid19BenFeedback; import com.iemr.tm.data.nurse.BenAnthropometryDetail; import com.iemr.tm.data.nurse.BenPhysicalVitalDetail; @@ -59,6 +59,7 @@ import com.iemr.tm.data.quickConsultation.PrescribedDrugDetail; import com.iemr.tm.data.quickConsultation.PrescriptionDetail; import com.iemr.tm.data.tele_consultation.TeleconsultationRequestOBJ; +import com.iemr.tm.repo.benFlowStatus.BeneficiaryFlowStatusRepo; import com.iemr.tm.repo.nurse.BenVisitDetailRepo; import com.iemr.tm.repo.nurse.covid19.Covid19BenFeedbackRepo; import com.iemr.tm.repo.quickConsultation.PrescriptionDetailRepo; @@ -94,6 +95,8 @@ public class Covid19ServiceImpl implements Covid19Service { private PrescriptionDetailRepo prescriptionDetailRepo; @Autowired private BenVisitDetailRepo benVisitDetailRepo; + @Autowired + private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @@ -104,11 +107,15 @@ public String saveCovid19NurseData(JsonObject requestOBJ, String Authorization) TeleconsultationRequestOBJ tcRequestOBJ = null; // check if visit details data is not null Long benVisitCode = null; + Map visitIdAndCodeMap = null; if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); - // Call method to save visit details data - Map visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), nurseUtilityClass); + } // 07-06-2018 visit code Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/foetalmonitor/FoetalMonitorServiceImpl.java b/src/main/java/com/iemr/tm/service/foetalmonitor/FoetalMonitorServiceImpl.java index c021b13b..155a40fa 100644 --- a/src/main/java/com/iemr/tm/service/foetalmonitor/FoetalMonitorServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/foetalmonitor/FoetalMonitorServiceImpl.java @@ -78,6 +78,7 @@ public class FoetalMonitorServiceImpl implements FoetalMonitorService { private static HttpUtils httpUtils = new HttpUtils(); private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); + @Autowired private FoetalMonitorRepo foetalMonitorRepo; @@ -176,40 +177,68 @@ public int updateFoetalMonitorData(FoetalMonitor foetalMonitorDataOutside) throw } // generate report file in file storage + private String generatePDF(String filePath) throws IEMRException { - + String filePathLocal = ""; + Long timeStamp = System.currentTimeMillis(); try { - URI tempFilePath1 = URI.create(filePath).normalize(); - String tempFilePath2 = tempFilePath1.toString(); - String sanitizedPath = Paths.get(UriComponentsBuilder.fromPath(tempFilePath2).build().getPath()).toString(); - - URL url = new URL(sanitizedPath); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); + + + URL url = new URL(filePath); + + con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); - - // "Best Practice": Set headers as needed for the specific API - /* - * con.addRequestProperty("User-Agent", "Your-User-Agent"); - * con.addRequestProperty("Authorization", "Bearer Your-AccessToken"); - * con.setDoInput(true); - */ - - String fileName = System.currentTimeMillis() + ".pdf"; - Path filePathLocal = Paths.get(foetalMonitorFilePath, fileName); - try (InputStream inputStream = con.getInputStream()) { - Files.copy(inputStream, filePathLocal, StandardCopyOption.REPLACE_EXISTING); - } - return filePathLocal.toString(); + con.setDoInput(true); + filePathLocal = foetalMonitorFilePath + "/" + timeStamp.toString() + ".pdf"; + Path path = Paths.get(filePathLocal); + Files.copy(con.getInputStream(), path, StandardCopyOption.REPLACE_EXISTING); + + + } catch (IOException e) { throw new RuntimeException(e.getMessage()); } finally { - if (con != null) { - con.disconnect(); // Close the HTTP connection in the finally block - } + con.disconnect(); } + return filePathLocal; } + +// private String generatePDF(String filePath) throws IEMRException { +// +// try { +// URI tempFilePath1 = URI.create(filePath).normalize(); +// String tempFilePath2 = tempFilePath1.toString(); +// String sanitizedPath = Paths.get(UriComponentsBuilder.fromPath(tempFilePath2).build().getPath()).toString(); +// +// URL url = new URL(sanitizedPath); +// HttpURLConnection con = (HttpURLConnection) url.openConnection(); +// con.setRequestMethod("GET"); +// +// // "Best Practice": Set headers as needed for the specific API +// /* +// * con.addRequestProperty("User-Agent", "Your-User-Agent"); +// * con.addRequestProperty("Authorization", "Bearer Your-AccessToken"); +// * con.setDoInput(true); +// */ +// +// String fileName = System.currentTimeMillis() + ".pdf"; +// Path filePathLocal = Paths.get(foetalMonitorFilePath, fileName); +// try (InputStream inputStream = con.getInputStream()) { +// Files.copy(inputStream, filePathLocal, StandardCopyOption.REPLACE_EXISTING); +// } +// return filePathLocal.toString(); +// +// } catch (IOException e) { +// throw new RuntimeException(e.getMessage()); +// } finally { +// if (con != null) { +// con.disconnect(); // Close the HTTP connection in the finally block +// } +// } +// +// } // generate report file in file storage @Override @@ -245,7 +274,7 @@ public String sendFoetalMonitorTestDetails(FoetalMonitor request, String auth) t if (request != null && request.getFoetalMonitorID() > 0) { FoetalMonitorData foetalMonitorTestDetails = new FoetalMonitorData(); - foetalMonitorTestDetails.setPartnerFoetalMonitorID(request.getFoetalMonitorID()); + foetalMonitorTestDetails.setPartnerFetosenseID(request.getFoetalMonitorID()); // send benid in place of benregid to foetalMonitor foetalMonitorTestDetails.setBeneficiaryRegID(benID); diff --git a/src/main/java/com/iemr/tm/service/generalOPD/GeneralOPDServiceImpl.java b/src/main/java/com/iemr/tm/service/generalOPD/GeneralOPDServiceImpl.java index ccd1a4a0..a76fe5ec 100644 --- a/src/main/java/com/iemr/tm/service/generalOPD/GeneralOPDServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/generalOPD/GeneralOPDServiceImpl.java @@ -57,6 +57,7 @@ import com.iemr.tm.data.anc.WrapperFemaleObstetricHistory; import com.iemr.tm.data.anc.WrapperImmunizationHistory; import com.iemr.tm.data.anc.WrapperMedicationHistory; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.nurse.BenAnthropometryDetail; import com.iemr.tm.data.nurse.BenPhysicalVitalDetail; import com.iemr.tm.data.nurse.BeneficiaryVisitDetail; @@ -65,6 +66,7 @@ import com.iemr.tm.data.quickConsultation.PrescribedDrugDetail; import com.iemr.tm.data.quickConsultation.PrescriptionDetail; import com.iemr.tm.data.tele_consultation.TeleconsultationRequestOBJ; +import com.iemr.tm.repo.benFlowStatus.BeneficiaryFlowStatusRepo; import com.iemr.tm.repo.nurse.BenVisitDetailRepo; import com.iemr.tm.repo.nurse.anc.BenAdherenceRepo; import com.iemr.tm.repo.quickConsultation.BenChiefComplaintRepo; @@ -98,6 +100,8 @@ public class GeneralOPDServiceImpl implements GeneralOPDService { private BenChiefComplaintRepo benChiefComplaintRepo; @Autowired private BenAdherenceRepo benAdherenceRepo; + @Autowired + private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @@ -110,12 +114,18 @@ public String saveNurseData(JsonObject requestOBJ, String Authorization) throws Long saveSuccessFlag = null; Long benVisitCode = null; TeleconsultationRequestOBJ tcRequestOBJ = null; + Map visitIdAndCodeMap = null; if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); - // Call method to save visit details data - Map visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), + + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), nurseUtilityClass); + } Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/location/LocationServiceImpl.java b/src/main/java/com/iemr/tm/service/location/LocationServiceImpl.java index 8ce55d4b..395b02c8 100644 --- a/src/main/java/com/iemr/tm/service/location/LocationServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/location/LocationServiceImpl.java @@ -230,7 +230,7 @@ public String getVillageMasterFromBlockID(Integer distBlockID) { // new, 11-10-2018 public String getLocDetailsNew(Integer vanID, Integer spPSMID) { Map resMap = new HashMap(); - ArrayList resultSet = v_getVanLocDetailsRepo.getVanDetails(vanID); + ArrayList resultSet = v_getVanLocDetailsRepo.getVanLocDetails(vanID); // state master ArrayList stateList = new ArrayList<>(); diff --git a/src/main/java/com/iemr/tm/service/ncdCare/NCDCareServiceImpl.java b/src/main/java/com/iemr/tm/service/ncdCare/NCDCareServiceImpl.java index 43920839..a0f231bb 100644 --- a/src/main/java/com/iemr/tm/service/ncdCare/NCDCareServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/ncdCare/NCDCareServiceImpl.java @@ -52,6 +52,7 @@ import com.iemr.tm.data.anc.WrapperFemaleObstetricHistory; import com.iemr.tm.data.anc.WrapperImmunizationHistory; import com.iemr.tm.data.anc.WrapperMedicationHistory; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.ncdcare.NCDCareDiagnosis; import com.iemr.tm.data.nurse.BenAnthropometryDetail; import com.iemr.tm.data.nurse.BenPhysicalVitalDetail; @@ -61,6 +62,7 @@ import com.iemr.tm.data.quickConsultation.PrescriptionDetail; import com.iemr.tm.data.snomedct.SCTDescription; import com.iemr.tm.data.tele_consultation.TeleconsultationRequestOBJ; +import com.iemr.tm.repo.benFlowStatus.BeneficiaryFlowStatusRepo; import com.iemr.tm.repo.nurse.BenVisitDetailRepo; import com.iemr.tm.repo.nurse.anc.BenAdherenceRepo; import com.iemr.tm.repo.quickConsultation.BenChiefComplaintRepo; @@ -118,18 +120,25 @@ public void setCommonNurseServiceImpl(CommonNurseServiceImpl commonNurseServiceI @Autowired private SMSGatewayServiceImpl sMSGatewayServiceImpl; + @Autowired + private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @Override public String saveNCDCareNurseData(JsonObject requestOBJ, String Authorization) throws Exception { Long saveSuccessFlag = null; TeleconsultationRequestOBJ tcRequestOBJ = null; Long benVisitCode = null; + Map visitIdAndCodeMap = null; // check if visit details data is not null if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); - // Call method to save visit details data - Map visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), nurseUtilityClass); + } // 07-06-2018 visit code Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/ncdscreening/NCDScreeningServiceImpl.java b/src/main/java/com/iemr/tm/service/ncdscreening/NCDScreeningServiceImpl.java index cf117bee..e931e8ff 100644 --- a/src/main/java/com/iemr/tm/service/ncdscreening/NCDScreeningServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/ncdscreening/NCDScreeningServiceImpl.java @@ -50,6 +50,7 @@ import com.iemr.tm.data.anc.WrapperFemaleObstetricHistory; import com.iemr.tm.data.anc.WrapperImmunizationHistory; import com.iemr.tm.data.anc.WrapperMedicationHistory; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.ncdScreening.IDRSData; import com.iemr.tm.data.ncdScreening.NCDScreening; import com.iemr.tm.data.ncdScreening.PhysicalActivityType; @@ -147,12 +148,17 @@ public String saveNCDScreeningNurseData(JsonObject requestOBJ, String Authorizat Long saveSuccessFlag = null; TeleconsultationRequestOBJ tcRequestOBJ = null; Long benVisitCode = null; + Map visitIdAndCodeMap = null; // check if visit details data is not null if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); - // Call method to save visit details data - Map visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), nurseUtilityClass); + } // 07-06-2018 visit code Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/pnc/PNCServiceImpl.java b/src/main/java/com/iemr/tm/service/pnc/PNCServiceImpl.java index 2adce09b..30661bad 100644 --- a/src/main/java/com/iemr/tm/service/pnc/PNCServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/pnc/PNCServiceImpl.java @@ -57,6 +57,7 @@ import com.iemr.tm.data.anc.WrapperFemaleObstetricHistory; import com.iemr.tm.data.anc.WrapperImmunizationHistory; import com.iemr.tm.data.anc.WrapperMedicationHistory; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.nurse.BenAnthropometryDetail; import com.iemr.tm.data.nurse.BenPhysicalVitalDetail; import com.iemr.tm.data.nurse.BeneficiaryVisitDetail; @@ -67,6 +68,7 @@ import com.iemr.tm.data.quickConsultation.PrescribedDrugDetail; import com.iemr.tm.data.quickConsultation.PrescriptionDetail; import com.iemr.tm.data.tele_consultation.TeleconsultationRequestOBJ; +import com.iemr.tm.repo.benFlowStatus.BeneficiaryFlowStatusRepo; import com.iemr.tm.repo.nurse.BenVisitDetailRepo; import com.iemr.tm.repo.nurse.anc.BenAdherenceRepo; import com.iemr.tm.repo.quickConsultation.BenChiefComplaintRepo; @@ -132,18 +134,25 @@ public void setPncNurseServiceImpl(PNCNurseServiceImpl pncNurseServiceImpl) { @Autowired private SMSGatewayServiceImpl sMSGatewayServiceImpl; + @Autowired + private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @Override public String savePNCNurseData(JsonObject requestOBJ, String Authorization) throws Exception { Long saveSuccessFlag = null; TeleconsultationRequestOBJ tcRequestOBJ = null; Long benVisitCode = null; + Map visitIdAndCodeMap = null; // check if visit details data is not null if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(requestOBJ, CommonUtilityClass.class); - - Map visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), nurseFlag); + + if(data == null) { + visitIdAndCodeMap = saveBenVisitDetails(requestOBJ.getAsJsonObject("visitDetails"), nurseUtilityClass); + } Long benVisitID = null; diff --git a/src/main/java/com/iemr/tm/service/quickConsultation/QuickConsultationServiceImpl.java b/src/main/java/com/iemr/tm/service/quickConsultation/QuickConsultationServiceImpl.java index 832ef403..13836e0f 100644 --- a/src/main/java/com/iemr/tm/service/quickConsultation/QuickConsultationServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/quickConsultation/QuickConsultationServiceImpl.java @@ -35,6 +35,7 @@ import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import com.iemr.tm.data.benFlowStatus.BeneficiaryFlowStatus; import com.iemr.tm.data.nurse.BenAnthropometryDetail; import com.iemr.tm.data.nurse.BenPhysicalVitalDetail; import com.iemr.tm.data.nurse.BeneficiaryVisitDetail; @@ -45,6 +46,7 @@ import com.iemr.tm.data.quickConsultation.PrescribedDrugDetail; import com.iemr.tm.data.quickConsultation.PrescriptionDetail; import com.iemr.tm.data.tele_consultation.TeleconsultationRequestOBJ; +import com.iemr.tm.repo.benFlowStatus.BeneficiaryFlowStatusRepo; import com.iemr.tm.repo.nurse.BenPhysicalVitalRepo; import com.iemr.tm.repo.nurse.BenVisitDetailRepo; import com.iemr.tm.repo.nurse.anc.BenAdherenceRepo; @@ -92,10 +94,11 @@ public class QuickConsultationServiceImpl implements QuickConsultationService { private BenPhysicalVitalRepo benPhysicalVitalRepo; @Autowired private BenVisitDetailRepo benVisitDetailRepo; - + @Autowired private BenAdherenceRepo benAdherenceRepo; - + @Autowired + private BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo; @Override public Long saveBeneficiaryChiefComplaint(JsonObject caseSheet) { @@ -163,81 +166,91 @@ public Long saveBeneficiaryExternalLabTestOrderDetails(JsonObject caseSheet) { @Override public String quickConsultNurseDataInsert(JsonObject jsnOBJ, String Authorization) throws Exception { Integer returnOBJ = 0; - TeleconsultationRequestOBJ tcRequestOBJ = null;Long benVisitCode=null; + TeleconsultationRequestOBJ tcRequestOBJ = null; + Long benVisitCode = null; if (jsnOBJ != null && jsnOBJ.has("visitDetails") && !jsnOBJ.get("visitDetails").isJsonNull()) { CommonUtilityClass nurseUtilityClass = InputMapper.gson().fromJson(jsnOBJ, CommonUtilityClass.class); BeneficiaryVisitDetail benVisitDetailsOBJ = InputMapper.gson().fromJson(jsnOBJ.get("visitDetails"), BeneficiaryVisitDetail.class); - int i = commonNurseServiceImpl.getMaxCurrentdate(benVisitDetailsOBJ.getBeneficiaryRegID(), - benVisitDetailsOBJ.getVisitReason(), benVisitDetailsOBJ.getVisitCategory()); - if (i < 1) { - Long benVisitID = commonNurseServiceImpl.saveBeneficiaryVisitDetails(benVisitDetailsOBJ); - - // 11-06-2018 visit code - benVisitCode = commonNurseServiceImpl.generateVisitCode(benVisitID, nurseUtilityClass.getVanID(), - nurseUtilityClass.getSessionID()); - - // Getting benflowID for ben status update - Long benFlowID = null; - - // Above if block code replaced by below line - benFlowID = nurseUtilityClass.getBenFlowID(); - - if (benVisitID != null && benVisitID > 0) { - - nurseUtilityClass.setVisitCode(benVisitCode); - nurseUtilityClass.setBenVisitID(benVisitID); - - tcRequestOBJ = commonServiceImpl.createTcRequest(jsnOBJ, nurseUtilityClass, Authorization); - - BenAnthropometryDetail benAnthropometryDetail = InputMapper.gson().fromJson(jsnOBJ.get("vitalsDetails"), - BenAnthropometryDetail.class); - benAnthropometryDetail.setBenVisitID(benVisitID); - benAnthropometryDetail.setVisitCode(benVisitCode); - Long benAnthropometryID = commonNurseServiceImpl - .saveBeneficiaryPhysicalAnthropometryDetails(benAnthropometryDetail); - BenPhysicalVitalDetail benPhysicalVitalDetail = InputMapper.gson().fromJson(jsnOBJ.get("vitalsDetails"), - BenPhysicalVitalDetail.class); - benPhysicalVitalDetail.setBenVisitID(benVisitID); - benPhysicalVitalDetail.setVisitCode(benVisitCode); - Long benPhysicalVitalID = commonNurseServiceImpl - .saveBeneficiaryPhysicalVitalDetails(benPhysicalVitalDetail); - if (benAnthropometryID != null && benAnthropometryID > 0 && benPhysicalVitalID != null - && benPhysicalVitalID > 0) { - // Integer i = commonNurseServiceImpl.updateBeneficiaryStatus('N', - // benVisitDetailsOBJ.getBeneficiaryRegID()); - - returnOBJ = 1; - /** - * We have to write new code to update ben status flow new logic - */ - - int j = updateBenStatusFlagAfterNurseSaveSuccess(benVisitDetailsOBJ, benVisitID, benFlowID, - benVisitCode, nurseUtilityClass.getVanID(), tcRequestOBJ); - - if (j > 0) - returnOBJ = 1; - else - throw new RuntimeException( - "Error occurred while saving data. Beneficiary status update failed"); - - if (j > 0 && tcRequestOBJ != null && tcRequestOBJ.getWalkIn() == false) { - int k = sMSGatewayServiceImpl.smsSenderGateway("schedule", - nurseUtilityClass.getBeneficiaryRegID(), tcRequestOBJ.getSpecializationID(), - tcRequestOBJ.getTmRequestID(), null, nurseUtilityClass.getCreatedBy(), - tcRequestOBJ.getAllocationDate() != null - ? String.valueOf(tcRequestOBJ.getAllocationDate()) - : "", - null, Authorization); + Short nurseFlag = 9; + BeneficiaryFlowStatus data = beneficiaryFlowStatusRepo.checkExistData(nurseUtilityClass.getBenFlowID(), + nurseFlag); + if (data == null) { + int i = commonNurseServiceImpl.getMaxCurrentdate(benVisitDetailsOBJ.getBeneficiaryRegID(), + benVisitDetailsOBJ.getVisitReason(), benVisitDetailsOBJ.getVisitCategory()); + if (i < 1) { + Long benVisitID = commonNurseServiceImpl.saveBeneficiaryVisitDetails(benVisitDetailsOBJ); + + // 11-06-2018 visit code + benVisitCode = commonNurseServiceImpl.generateVisitCode(benVisitID, nurseUtilityClass.getVanID(), + nurseUtilityClass.getSessionID()); + + // Getting benflowID for ben status update + Long benFlowID = null; + + // Above if block code replaced by below line + benFlowID = nurseUtilityClass.getBenFlowID(); + + if (benVisitID != null && benVisitID > 0) { + + nurseUtilityClass.setVisitCode(benVisitCode); + nurseUtilityClass.setBenVisitID(benVisitID); + + tcRequestOBJ = commonServiceImpl.createTcRequest(jsnOBJ, nurseUtilityClass, Authorization); + + BenAnthropometryDetail benAnthropometryDetail = InputMapper.gson() + .fromJson(jsnOBJ.get("vitalsDetails"), BenAnthropometryDetail.class); + benAnthropometryDetail.setBenVisitID(benVisitID); + benAnthropometryDetail.setVisitCode(benVisitCode); + Long benAnthropometryID = commonNurseServiceImpl + .saveBeneficiaryPhysicalAnthropometryDetails(benAnthropometryDetail); + BenPhysicalVitalDetail benPhysicalVitalDetail = InputMapper.gson() + .fromJson(jsnOBJ.get("vitalsDetails"), BenPhysicalVitalDetail.class); + benPhysicalVitalDetail.setBenVisitID(benVisitID); + benPhysicalVitalDetail.setVisitCode(benVisitCode); + Long benPhysicalVitalID = commonNurseServiceImpl + .saveBeneficiaryPhysicalVitalDetails(benPhysicalVitalDetail); + if (benAnthropometryID != null && benAnthropometryID > 0 && benPhysicalVitalID != null + && benPhysicalVitalID > 0) { + // Integer i = commonNurseServiceImpl.updateBeneficiaryStatus('N', + // benVisitDetailsOBJ.getBeneficiaryRegID()); + + returnOBJ = 1; + /** + * We have to write new code to update ben status flow new logic + */ + + int j = updateBenStatusFlagAfterNurseSaveSuccess(benVisitDetailsOBJ, benVisitID, benFlowID, + benVisitCode, nurseUtilityClass.getVanID(), tcRequestOBJ); + + if (j > 0) + returnOBJ = 1; + else + throw new RuntimeException( + "Error occurred while saving data. Beneficiary status update failed"); + + if (j > 0 && tcRequestOBJ != null && tcRequestOBJ.getWalkIn() == false) { + int k = sMSGatewayServiceImpl.smsSenderGateway("schedule", + nurseUtilityClass.getBeneficiaryRegID(), tcRequestOBJ.getSpecializationID(), + tcRequestOBJ.getTmRequestID(), null, nurseUtilityClass.getCreatedBy(), + tcRequestOBJ.getAllocationDate() != null + ? String.valueOf(tcRequestOBJ.getAllocationDate()) + : "", + null, Authorization); + } + + } else { + throw new RuntimeException("Error occurred while saving data"); + } + } else { + throw new RuntimeException("Error occurred while creating beneficiary visit"); } - } else { - throw new RuntimeException("Error occurred while saving data"); - } - }else { - throw new RuntimeException("Error occurred while creating beneficiary visit"); + Map responseMap = new HashMap(); + responseMap.put("response", "Data already saved"); + return new Gson().toJson(responseMap); } } else { Map responseMap = new HashMap(); @@ -248,19 +261,18 @@ public String quickConsultNurseDataInsert(JsonObject jsnOBJ, String Authorizatio throw new Exception("Invalid input"); } Map responseMap = new HashMap(); - if(benVisitCode!=null) - { - responseMap.put("visitCode",benVisitCode.toString()); + if (benVisitCode != null) { + responseMap.put("visitCode", benVisitCode.toString()); } if (null != returnOBJ && returnOBJ > 0) { responseMap.put("response", "Data saved successfully"); } else { responseMap.put("response", "Unable to save data"); } - return new Gson().toJson(responseMap); - //return returnOBJ; + return new Gson().toJson(responseMap); + // return returnOBJ; } - + @Override public void deleteVisitDetails(JsonObject requestOBJ) throws Exception { if (requestOBJ != null && requestOBJ.has("visitDetails") && !requestOBJ.get("visitDetails").isJsonNull()) { @@ -312,7 +324,7 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St Integer returnOBJ = 0; Integer prescriptionSuccessFlag = null; Integer investigationSuccessFlag = null; - Integer vitalsRBSTestFlag=null; + Integer vitalsRBSTestFlag = null; TeleconsultationRequestOBJ tcRequestOBJ = null; CommonUtilityClass commonUtilityClass = InputMapper.gson().fromJson(quickConsultDoctorOBJ, @@ -366,24 +378,21 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St } else { investigationSuccessFlag = 1; } - - //Updating Vitals RBS Test Result + + // Updating Vitals RBS Test Result BenPhysicalVitalDetail physicalVitalDet = InputMapper.gson().fromJson(quickConsultDoctorOBJ, BenPhysicalVitalDetail.class); int r = 0; - if(quickConsultDoctorOBJ.has("rbsTestResult") || quickConsultDoctorOBJ.has("rbsTestRemarks")) - { - - r = benPhysicalVitalRepo.updatePhysicalVitalDetailsQCDoctor(physicalVitalDet.getRbsTestResult(), physicalVitalDet.getRbsTestRemarks(), - physicalVitalDet.getBeneficiaryRegID(),physicalVitalDet.getVisitCode()); - if(r>0) - { - vitalsRBSTestFlag=1; + if (quickConsultDoctorOBJ.has("rbsTestResult") || quickConsultDoctorOBJ.has("rbsTestRemarks")) { + + r = benPhysicalVitalRepo.updatePhysicalVitalDetailsQCDoctor(physicalVitalDet.getRbsTestResult(), + physicalVitalDet.getRbsTestRemarks(), physicalVitalDet.getBeneficiaryRegID(), + physicalVitalDet.getVisitCode()); + if (r > 0) { + vitalsRBSTestFlag = 1; } - } - else - { - vitalsRBSTestFlag=1; + } else { + vitalsRBSTestFlag = 1; } // check if all data updated successfully @@ -394,14 +403,12 @@ public Integer quickConsultDoctorDataInsert(JsonObject quickConsultDoctorOBJ, St && (investigationSuccessFlag != null && investigationSuccessFlag > 0) && (vitalsRBSTestFlag != null && vitalsRBSTestFlag > 0)) { - // call method to update beneficiary flow table - if(prescriptionID!=null) - { + if (prescriptionID != null) { commonUtilityClass.setPrescriptionID(prescriptionID); commonUtilityClass.setVisitCategoryID(7); commonUtilityClass.setAuthorization(Authorization); - + } // call method to update beneficiary flow table int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataSave(commonUtilityClass, isTestPrescribed, @@ -554,26 +561,22 @@ public Long updateGeneralOPDQCDoctorData(JsonObject quickConsultDoctorOBJ, Strin } else { labTestOrderSuccessFlag = new Long(1); } - - //Updating Vitals RBS Test Result + + // Updating Vitals RBS Test Result BenPhysicalVitalDetail physicalVitalDet = InputMapper.gson().fromJson(quickConsultDoctorOBJ, BenPhysicalVitalDetail.class); int r = 0; - if(quickConsultDoctorOBJ.has("rbsTestResult") || quickConsultDoctorOBJ.has("rbsTestRemarks")) - { - - r = benPhysicalVitalRepo.updatePhysicalVitalDetailsQCDoctor(physicalVitalDet.getRbsTestResult(), physicalVitalDet.getRbsTestRemarks(), - physicalVitalDet.getBeneficiaryRegID(),physicalVitalDet.getVisitCode()); - if(r>0) - { - vitalsRBSTestFlag=new Long(1); + if (quickConsultDoctorOBJ.has("rbsTestResult") || quickConsultDoctorOBJ.has("rbsTestRemarks")) { + + r = benPhysicalVitalRepo.updatePhysicalVitalDetailsQCDoctor(physicalVitalDet.getRbsTestResult(), + physicalVitalDet.getRbsTestRemarks(), physicalVitalDet.getBeneficiaryRegID(), + physicalVitalDet.getVisitCode()); + if (r > 0) { + vitalsRBSTestFlag = new Long(1); } + } else { + vitalsRBSTestFlag = new Long(1); } - else - { - vitalsRBSTestFlag=new Long(1); - } - if ((null != benChiefComplaintID && benChiefComplaintID > 0) && (null != clinicalObservationID && clinicalObservationID > 0) @@ -582,13 +585,12 @@ public Long updateGeneralOPDQCDoctorData(JsonObject quickConsultDoctorOBJ, Strin && (null != vitalsRBSTestFlag && vitalsRBSTestFlag > 0)) { // call method to update beneficiary flow table - - if(prescriptionID!=null) - { + + if (prescriptionID != null) { commonUtilityClass.setPrescriptionID(prescriptionID); commonUtilityClass.setVisitCategoryID(7); commonUtilityClass.setAuthorization(Authorization); - + } int i = commonDoctorServiceImpl.updateBenFlowtableAfterDocDataUpdate(commonUtilityClass, isTestPrescribed, isMedicinePrescribed, tcRequestOBJ);