Skip to content

Commit 8e40388

Browse files
📝 Add docstrings to bug/fix_ors_incentive_logic
Docstrings generation was requested by @SauravBizbRolly. * #99 (comment) The following files were modified: * `src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java`
1 parent 3a40281 commit 8e40388

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,12 @@ public List<SAMResponseDTO> getSamVisitsByBeneficiary(GetBenRequestHandler reque
562562
return samResponseListDTO;
563563
}
564564

565+
/**
566+
* Persist a list of ORS distribution records and create corresponding incentive records.
567+
*
568+
* @param orsDistributionDTOS list of ORS distribution DTOs; each DTO must include household id, userName, and a fields object containing `num_ors_packets`, `num_under5_children`, and `visit_date`
569+
* @return a success message "Saved N ORS visit records successfully" when one or more records are saved, or `null` if no records were saved or an error occurred
570+
*/
565571
@Override
566572
public String saveOrsDistributionDetails(List<OrsDistributionDTO> orsDistributionDTOS) {
567573
try {
@@ -574,7 +580,7 @@ public String saveOrsDistributionDetails(List<OrsDistributionDTO> orsDistributio
574580
orsDistribution.setNumOrsPackets(orsDistributionDTO.getFields().getNum_ors_packets().toString());
575581
orsDistribution.setChildCount(orsDistributionDTO.getFields().getNum_under5_children().toString());
576582
orsDistribution.setHouseholdId(orsDistributionDTO.getHouseHoldId());
577-
orsDistribution.setUserId(userRepo.getUserIdByName(jwtUtil.getUserNameFromStorage()));
583+
orsDistribution.setUserId(userRepo.getUserIdByName(orsDistributionDTO.getUserName()));
578584
orsDistribution.setVisitDate(LocalDate.parse(orsDistributionDTO.getFields().getVisit_date(),formatter));
579585
orsDistributionList.add(orsDistribution);
580586

@@ -727,20 +733,29 @@ private void checkAndAddSamVisitNRCReferalIncentive(List<SamVisit> samVisits){
727733
});
728734

729735
}
736+
/**
737+
* Creates incentive activity records for ORS distributions when applicable.
738+
*
739+
* For each ORS distribution in the list, this method creates incentive records for
740+
* the CHILD_HEALTH and ACTIVITY groups if corresponding incentive activities exist
741+
* and the distribution has a non-null packet count.
742+
*
743+
* @param orsDistributionList list of ORS distribution entities to evaluate for incentives
744+
*/
730745
private void checkAndAddOrdDistributionIncentive(List<OrsDistribution> orsDistributionList){
731746
orsDistributionList.forEach(orsDistribution -> {
732747
IncentiveActivity orsPacketActivityAM =
733748
incentivesRepo.findIncentiveMasterByNameAndGroup("ORS_DISTRIBUTION", GroupName.CHILD_HEALTH.getDisplayName());
734749
IncentiveActivity orsPacketActivityCH = incentivesRepo.findIncentiveMasterByNameAndGroup("ORS_DISTRIBUTION", GroupName.ACTIVITY.getDisplayName());
735750
if(orsPacketActivityAM!=null){
736751
if(orsDistribution.getNumOrsPackets()!=null){
737-
createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityAM,jwtUtil.getUserNameFromStorage(),false);
752+
createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityAM,userRepo.getUserNamedByUserId(orsDistribution.getUserId()),false);
738753
}
739754
}
740755

741756
if(orsPacketActivityCH!=null){
742757
if(orsDistribution.getNumOrsPackets()!=null){
743-
createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityCH,jwtUtil.getUserNameFromStorage(),true);
758+
createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityCH,userRepo.getUserNamedByUserId(orsDistribution.getUserId()),true);
744759
}
745760
}
746761

@@ -1061,4 +1076,4 @@ public void getTomorrowImmunizationReminders(Integer userID) {
10611076

10621077
}
10631078

1064-
}
1079+
}

0 commit comments

Comments
 (0)