Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 41 additions & 36 deletions src/main/java/com/iemr/mmu/repo/nurse/anc/ANCCareRepo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -37,43 +37,48 @@
@Repository
public interface ANCCareRepo extends CrudRepository<ANCCareDetails, Long> {

@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<Object[]> 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<Object[]> 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<ANCCareDetails> 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<ANCCareDetails> getANCCareDataForHRP(@Param("benRegID") Long benRegID);

@Transactional
@Modifying
@Query(" UPDATE ANCCareDetails set vanSerialNo = :ID WHERE ID = :ID")
int updateVanSerialNo(@Param("ID") Long ID);

Check warning on line 83 in src/main/java/com/iemr/mmu/repo/nurse/anc/ANCCareRepo.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Rename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.

See more on https://sonarcloud.io/project/issues?id=PSMRI_MMU-API&issues=AZsGmowRYGrH4_knXlE7&open=AZsGmowRYGrH4_knXlE7&pullRequest=146
}
56 changes: 30 additions & 26 deletions src/main/java/com/iemr/mmu/repo/nurse/anc/ANCWomenVaccineRepo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -35,29 +35,33 @@
import jakarta.transaction.Transactional;

@Repository
public interface ANCWomenVaccineRepo extends CrudRepository<ANCWomenVaccineDetail, Long>{

@Query(" SELECT ID, beneficiaryRegID, benVisitID, providerServiceMapID, vaccineName, status, receivedDate, receivedFacilityName, visitCode "
+ "from ANCWomenVaccineDetail ba WHERE ba.beneficiaryRegID = :benRegID AND ba.visitCode = :visitCode")
public ArrayList<Object[]> 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<Object[]> 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<ANCWomenVaccineDetail, Long> {

@Query(" SELECT ID, beneficiaryRegID, benVisitID, providerServiceMapID, vaccineName, status, receivedDate, receivedFacilityName, visitCode "
+ "from ANCWomenVaccineDetail ba WHERE ba.beneficiaryRegID = :benRegID AND ba.visitCode = :visitCode")
public ArrayList<Object[]> 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<Object[]> 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);

Check warning on line 66 in src/main/java/com/iemr/mmu/repo/nurse/anc/ANCWomenVaccineRepo.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Rename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.

See more on https://sonarcloud.io/project/issues?id=PSMRI_MMU-API&issues=AZsGmozKYGrH4_knXlE8&open=AZsGmozKYGrH4_knXlE8&pullRequest=146
}
75 changes: 35 additions & 40 deletions src/main/java/com/iemr/mmu/service/anc/ANCNurseServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<ANCWomenVaccineDetail> ancWomenVaccineDetailList = getANCWomenVaccineDetail(wrapperAncImmunizationOBJ);
List<ANCWomenVaccineDetail> ancWomenVaccineDetailRSList = (List<ANCWomenVaccineDetail>) 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<ANCWomenVaccineDetail> ancWomenVaccineDetailList = getANCWomenVaccineDetail(wrapperAncImmunizationOBJ);
List<ANCWomenVaccineDetail> ancWomenVaccineDetailRSList = (List<ANCWomenVaccineDetail>) ancWomenVaccineRepo
.saveAll(ancWomenVaccineDetailList);
if (!ancWomenVaccineDetailRSList.isEmpty()) {
ancWomenVaccineRepo.updateVanSerialNo(ancWomenVaccineDetailRSList.get(0).getID());
successFlag = ancWomenVaccineDetailRSList.get(0).getID();
}
return successFlag;
}

private List<ANCWomenVaccineDetail> getANCWomenVaccineDetail(WrapperAncImmunization wrapperAncImmunizationOBJ)
throws ParseException {
Expand Down