diff --git a/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCCareRepo.java b/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCCareRepo.java index f4632d66..46219dee 100644 --- a/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCCareRepo.java +++ b/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCCareRepo.java @@ -18,7 +18,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see https://www.gnu.org/licenses/. -*/ + */ package com.iemr.mmu.repo.nurse.anc; import java.sql.Date; @@ -37,43 +37,48 @@ @Repository public interface ANCCareRepo extends CrudRepository { - @Query(" SELECT ID, beneficiaryRegID, benVisitID, providerServiceMapID, visitCode, visitNo, comolaintType, duration, description, " - + " lastMenstrualPeriod_LMP, gestationalAgeOrPeriodofAmenorrhea_POA, trimesterNumber, expectedDateofDelivery, " - + "primiGravida, gravida_G, termDeliveries_T, pretermDeliveries_P, abortions_A, livebirths_L, bloodGroup, stillBirth " - + "from ANCCareDetails ba WHERE ba.beneficiaryRegID = :benRegID AND visitCode = :visitCode") - public ArrayList getANCCareDetails(@Param("benRegID") Long benRegID, @Param("visitCode") Long visitCode); + @Query(" SELECT ID, beneficiaryRegID, benVisitID, providerServiceMapID, visitCode, visitNo, comolaintType, duration, description, " + + " lastMenstrualPeriod_LMP, gestationalAgeOrPeriodofAmenorrhea_POA, trimesterNumber, expectedDateofDelivery, " + + "primiGravida, gravida_G, termDeliveries_T, pretermDeliveries_P, abortions_A, livebirths_L, bloodGroup, stillBirth " + + "from ANCCareDetails ba WHERE ba.beneficiaryRegID = :benRegID AND visitCode = :visitCode") + public ArrayList getANCCareDetails(@Param("benRegID") Long benRegID, @Param("visitCode") Long visitCode); - @Query(" SELECT processed from ANCCareDetails where beneficiaryRegID=:benRegID AND visitCode = :visitCode") - public String getBenANCCareDetailsStatus(@Param("benRegID") Long benRegID, @Param("visitCode") Long visitCode); + @Query(" SELECT processed from ANCCareDetails where beneficiaryRegID=:benRegID AND visitCode = :visitCode") + public String getBenANCCareDetailsStatus(@Param("benRegID") Long benRegID, @Param("visitCode") Long visitCode); - @Transactional - @Modifying - @Query("update ANCCareDetails set comolaintType=:comolaintType, duration=:duration, description=:description, " - + "lastMenstrualPeriod_LMP=:lastMenstrualPeriod_LMP, " - + "gestationalAgeOrPeriodofAmenorrhea_POA=:gestationalAgeOrPeriodofAmenorrhea_POA," - + "trimesterNumber=:trimesterNumber, expectedDateofDelivery=:expectedDateofDelivery, primiGravida=:primiGravida, " - + "gravida_G=:gravida_G, termDeliveries_T=:termDeliveries_T, pretermDeliveries_P=:pretermDeliveries_P," - + "abortions_A=:abortions_A,livebirths_L=:livebirths_L, bloodGroup=:bloodGroup, modifiedBy=:modifiedBy, processed=:processed, " - + " stillBirth =:stillBirth " + " where visitCode=:visitCode AND beneficiaryRegID=:beneficiaryRegID") - public int updateANCCareDetails(@Param("comolaintType") String comolaintType, @Param("duration") String duration, - @Param("description") String description, @Param("lastMenstrualPeriod_LMP") Date lastMenstrualPeriod_LMP, - @Param("gestationalAgeOrPeriodofAmenorrhea_POA") Short gestationalAgeOrPeriodofAmenorrhea_POA, - @Param("trimesterNumber") Short trimesterNumber, - @Param("expectedDateofDelivery") Date expectedDateofDelivery, @Param("primiGravida") Boolean primiGravida, - @Param("gravida_G") Short gravida_G, @Param("termDeliveries_T") Short termDeliveries_T, - @Param("pretermDeliveries_P") Short pretermDeliveries_P, @Param("abortions_A") Short abortions_A, - @Param("livebirths_L") Short livebirths_L, @Param("bloodGroup") String bloodGroup, - @Param("modifiedBy") String modifiedBy, @Param("processed") String processed, - @Param("beneficiaryRegID") Long beneficiaryRegID, @Param("visitCode") Long visitCode, - @Param("stillBirth") Integer stillBirth); + @Transactional + @Modifying + @Query("update ANCCareDetails set comolaintType=:comolaintType, duration=:duration, description=:description, " + + "lastMenstrualPeriod_LMP=:lastMenstrualPeriod_LMP, " + + "gestationalAgeOrPeriodofAmenorrhea_POA=:gestationalAgeOrPeriodofAmenorrhea_POA," + + "trimesterNumber=:trimesterNumber, expectedDateofDelivery=:expectedDateofDelivery, primiGravida=:primiGravida, " + + "gravida_G=:gravida_G, termDeliveries_T=:termDeliveries_T, pretermDeliveries_P=:pretermDeliveries_P," + + "abortions_A=:abortions_A,livebirths_L=:livebirths_L, bloodGroup=:bloodGroup, modifiedBy=:modifiedBy, processed=:processed, " + + " stillBirth =:stillBirth " + " where visitCode=:visitCode AND beneficiaryRegID=:beneficiaryRegID") + public int updateANCCareDetails(@Param("comolaintType") String comolaintType, @Param("duration") String duration, + @Param("description") String description, @Param("lastMenstrualPeriod_LMP") Date lastMenstrualPeriod_LMP, + @Param("gestationalAgeOrPeriodofAmenorrhea_POA") Short gestationalAgeOrPeriodofAmenorrhea_POA, + @Param("trimesterNumber") Short trimesterNumber, + @Param("expectedDateofDelivery") Date expectedDateofDelivery, @Param("primiGravida") Boolean primiGravida, + @Param("gravida_G") Short gravida_G, @Param("termDeliveries_T") Short termDeliveries_T, + @Param("pretermDeliveries_P") Short pretermDeliveries_P, @Param("abortions_A") Short abortions_A, + @Param("livebirths_L") Short livebirths_L, @Param("bloodGroup") String bloodGroup, + @Param("modifiedBy") String modifiedBy, @Param("processed") String processed, + @Param("beneficiaryRegID") Long beneficiaryRegID, @Param("visitCode") Long visitCode, + @Param("stillBirth") Integer stillBirth); - @Query(nativeQuery = true, value = " SELECT t.bloodGroup from t_anccare t " - + " where t.beneficiaryRegID=:benRegID ORDER BY t.lastModDate DESC limit 1 ") - public String getBenANCCareDetailsStatus(@Param("benRegID") Long benRegID); + @Query(nativeQuery = true, value = " SELECT t.bloodGroup from t_anccare t " + + " where t.beneficiaryRegID=:benRegID ORDER BY t.lastModDate DESC limit 1 ") + public String getBenANCCareDetailsStatus(@Param("benRegID") Long benRegID); - @Query(" SELECT a FROM ANCCareDetails a WHERE a.beneficiaryRegID = :benRegID " - + " AND (a.gravida_G > 5 OR a.pretermDeliveries_P > 0 OR a.abortions_A > 0 OR a.stillBirth > 0 " - + " OR (a.bloodGroup = 'A-Ve' OR a.bloodGroup = 'B-Ve' OR a.bloodGroup = 'O-Ve' OR a.bloodGroup = 'AB-Ve'))" - + " AND a.deleted is false ") - public ArrayList getANCCareDataForHRP(@Param("benRegID") Long benRegID); + @Query(" SELECT a FROM ANCCareDetails a WHERE a.beneficiaryRegID = :benRegID " + + " AND (a.gravida_G > 5 OR a.pretermDeliveries_P > 0 OR a.abortions_A > 0 OR a.stillBirth > 0 " + + " OR (a.bloodGroup = 'A-Ve' OR a.bloodGroup = 'B-Ve' OR a.bloodGroup = 'O-Ve' OR a.bloodGroup = 'AB-Ve'))" + + " AND a.deleted is false ") + public ArrayList getANCCareDataForHRP(@Param("benRegID") Long benRegID); + + @Transactional + @Modifying + @Query(" UPDATE ANCCareDetails set vanSerialNo = :ID WHERE ID = :ID") + int updateVanSerialNo(@Param("ID") Long ID); } diff --git a/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCWomenVaccineRepo.java b/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCWomenVaccineRepo.java index 63dfa5e0..988925e4 100644 --- a/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCWomenVaccineRepo.java +++ b/src/main/java/com/iemr/mmu/repo/nurse/anc/ANCWomenVaccineRepo.java @@ -18,7 +18,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see https://www.gnu.org/licenses/. -*/ + */ package com.iemr.mmu.repo.nurse.anc; import java.sql.Date; @@ -35,29 +35,33 @@ import jakarta.transaction.Transactional; @Repository -public interface ANCWomenVaccineRepo extends CrudRepository{ - - @Query(" SELECT ID, beneficiaryRegID, benVisitID, providerServiceMapID, vaccineName, status, receivedDate, receivedFacilityName, visitCode " - + "from ANCWomenVaccineDetail ba WHERE ba.beneficiaryRegID = :benRegID AND ba.visitCode = :visitCode") - public ArrayList getANCWomenVaccineDetails(@Param("benRegID") Long benRegID, - @Param("visitCode") Long visitCode); - - @Query(" SELECT vaccineName, processed from ANCWomenVaccineDetail where beneficiaryRegID=:benRegID AND visitCode = :visitCode AND deleted = false") - public ArrayList getBenANCWomenVaccineStatus(@Param("benRegID") Long benRegID, - @Param("visitCode") Long visitCode); - - @Transactional - @Modifying - @Query("update ANCWomenVaccineDetail set status=:status, receivedDate=:receivedDate, receivedFacilityName=:receivedFacilityName, " - + "modifiedBy=:modifiedBy, processed=:processed " - + "where visitCode=:visitCode AND beneficiaryRegID=:beneficiaryRegID AND vaccineName=:vaccineName") - public int updateANCImmunizationDetails(@Param("status") String status, - @Param("receivedDate") Date receivedDate, - @Param("receivedFacilityName") String receivedFacilityName, - @Param("modifiedBy") String modifiedBy, - @Param("processed") String processed, - @Param("beneficiaryRegID") Long beneficiaryRegID, - @Param("visitCode") Long visitCode, - @Param("vaccineName") String vaccineName); - +public interface ANCWomenVaccineRepo extends CrudRepository { + + @Query(" SELECT ID, beneficiaryRegID, benVisitID, providerServiceMapID, vaccineName, status, receivedDate, receivedFacilityName, visitCode " + + "from ANCWomenVaccineDetail ba WHERE ba.beneficiaryRegID = :benRegID AND ba.visitCode = :visitCode") + public ArrayList getANCWomenVaccineDetails(@Param("benRegID") Long benRegID, + @Param("visitCode") Long visitCode); + + @Query(" SELECT vaccineName, processed from ANCWomenVaccineDetail where beneficiaryRegID=:benRegID AND visitCode = :visitCode AND deleted = false") + public ArrayList getBenANCWomenVaccineStatus(@Param("benRegID") Long benRegID, + @Param("visitCode") Long visitCode); + + @Transactional + @Modifying + @Query("update ANCWomenVaccineDetail set status=:status, receivedDate=:receivedDate, receivedFacilityName=:receivedFacilityName, " + + "modifiedBy=:modifiedBy, processed=:processed " + + "where visitCode=:visitCode AND beneficiaryRegID=:beneficiaryRegID AND vaccineName=:vaccineName") + public int updateANCImmunizationDetails(@Param("status") String status, + @Param("receivedDate") Date receivedDate, + @Param("receivedFacilityName") String receivedFacilityName, + @Param("modifiedBy") String modifiedBy, + @Param("processed") String processed, + @Param("beneficiaryRegID") Long beneficiaryRegID, + @Param("visitCode") Long visitCode, + @Param("vaccineName") String vaccineName); + + @Transactional + @Modifying + @Query(" UPDATE ANCWomenVaccineDetail set vanSerialNo = :ID WHERE ID = :ID") + int updateVanSerialNo(@Param("ID") Long ID); } diff --git a/src/main/java/com/iemr/mmu/service/anc/ANCNurseServiceImpl.java b/src/main/java/com/iemr/mmu/service/anc/ANCNurseServiceImpl.java index 1abc07bd..8a31c636 100644 --- a/src/main/java/com/iemr/mmu/service/anc/ANCNurseServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/anc/ANCNurseServiceImpl.java @@ -141,50 +141,45 @@ public Integer saveBenInvestigationFromDoc(WrapperBenInvestigationANC wrapperBen } else { r = 1; } - } - return r; - } - - - @Override - public Long saveBenAncCareDetails - (ANCCareDetails ancCareDetailsOBJ) throws ParseException { - Long ancCareSuccessFlag = null; - if (ancCareDetailsOBJ.getLmpDate() != null && !ancCareDetailsOBJ.getLmpDate().isEmpty() - && ancCareDetailsOBJ.getLmpDate().length() >= 10) { - String lmpDate = ancCareDetailsOBJ.getLmpDate().split("T")[0]; - ancCareDetailsOBJ - .setLastMenstrualPeriod_LMP(new Date(new SimpleDateFormat("yyyy-MM-dd").parse(lmpDate).getTime())); - } - if (ancCareDetailsOBJ.getExpDelDt() != null && !ancCareDetailsOBJ.getExpDelDt().isEmpty() - && ancCareDetailsOBJ.getExpDelDt().length() >= 10) { - String edDate = ancCareDetailsOBJ.getExpDelDt().split("T")[0]; - ancCareDetailsOBJ - .setExpectedDateofDelivery(new Date(new SimpleDateFormat("yyyy-MM-dd").parse(edDate).getTime())); - } - ANCCareDetails ancCareDetailsRS = ancCareRepo.save(ancCareDetailsOBJ); - if (ancCareDetailsRS != null) { - ancCareDetailsRS.setVanSerialNo((ancCareDetailsRS.getID())); - ancCareSuccessFlag = ancCareDetailsRS.getID(); - } - return ancCareSuccessFlag; } + return r; + } - @Override - public Long saveAncImmunizationDetails - (WrapperAncImmunization wrapperAncImmunizationOBJ) throws ParseException { - Long successFlag = null; - List ancWomenVaccineDetailList = getANCWomenVaccineDetail(wrapperAncImmunizationOBJ); - List ancWomenVaccineDetailRSList = (List) ancWomenVaccineRepo - .saveAll(ancWomenVaccineDetailList); - if (!ancWomenVaccineDetailRSList.isEmpty()) { - ancWomenVaccineDetailRSList.get(0).setVanSerialNo(ancWomenVaccineDetailRSList.get(0).getID()); - successFlag = ancWomenVaccineDetailRSList.get(0).getID(); - } - return successFlag; + @Override + public Long saveBenAncCareDetails(ANCCareDetails ancCareDetailsOBJ) throws ParseException { + Long ancCareSuccessFlag = null; + if (ancCareDetailsOBJ.getLmpDate() != null && !ancCareDetailsOBJ.getLmpDate().isEmpty() + && ancCareDetailsOBJ.getLmpDate().length() >= 10) { + String lmpDate = ancCareDetailsOBJ.getLmpDate().split("T")[0]; + ancCareDetailsOBJ + .setLastMenstrualPeriod_LMP(new Date(new SimpleDateFormat("yyyy-MM-dd").parse(lmpDate).getTime())); + } + if (ancCareDetailsOBJ.getExpDelDt() != null && !ancCareDetailsOBJ.getExpDelDt().isEmpty() + && ancCareDetailsOBJ.getExpDelDt().length() >= 10) { + String edDate = ancCareDetailsOBJ.getExpDelDt().split("T")[0]; + ancCareDetailsOBJ + .setExpectedDateofDelivery(new Date(new SimpleDateFormat("yyyy-MM-dd").parse(edDate).getTime())); + } + ANCCareDetails ancCareDetailsRS = ancCareRepo.save(ancCareDetailsOBJ); + if (ancCareDetailsRS != null) { + ancCareRepo.updateVanSerialNo(ancCareDetailsRS.getID()); + ancCareSuccessFlag = ancCareDetailsRS.getID(); } + return ancCareSuccessFlag; + } - + @Override + public Long saveAncImmunizationDetails(WrapperAncImmunization wrapperAncImmunizationOBJ) throws ParseException { + Long successFlag = null; + List ancWomenVaccineDetailList = getANCWomenVaccineDetail(wrapperAncImmunizationOBJ); + List ancWomenVaccineDetailRSList = (List) ancWomenVaccineRepo + .saveAll(ancWomenVaccineDetailList); + if (!ancWomenVaccineDetailRSList.isEmpty()) { + ancWomenVaccineRepo.updateVanSerialNo(ancWomenVaccineDetailRSList.get(0).getID()); + successFlag = ancWomenVaccineDetailRSList.get(0).getID(); + } + return successFlag; + } private List getANCWomenVaccineDetail(WrapperAncImmunization wrapperAncImmunizationOBJ) throws ParseException {