From 8e40388777b3be0ed733bc128fb558543b54b4be Mon Sep 17 00:00:00 2001 From: "coderabbitai[bot]" <136622811+coderabbitai[bot]@users.noreply.github.com> Date: Fri, 28 Nov 2025 05:46:24 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Add=20docstrings=20to=20`bug/fix?= =?UTF-8?q?=5Fors=5Fincentive=5Flogic`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Docstrings generation was requested by @SauravBizbRolly. * https://github.com/PSMRI/FLW-API/pull/99#issuecomment-3587994017 The following files were modified: * `src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java` --- .../service/impl/ChildCareServiceImpl.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java b/src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java index 7eb251f0..61dd2319 100644 --- a/src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java +++ b/src/main/java/com/iemr/flw/service/impl/ChildCareServiceImpl.java @@ -562,6 +562,12 @@ public List getSamVisitsByBeneficiary(GetBenRequestHandler reque return samResponseListDTO; } + /** + * Persist a list of ORS distribution records and create corresponding incentive records. + * + * @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` + * @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 + */ @Override public String saveOrsDistributionDetails(List orsDistributionDTOS) { try { @@ -574,7 +580,7 @@ public String saveOrsDistributionDetails(List orsDistributio orsDistribution.setNumOrsPackets(orsDistributionDTO.getFields().getNum_ors_packets().toString()); orsDistribution.setChildCount(orsDistributionDTO.getFields().getNum_under5_children().toString()); orsDistribution.setHouseholdId(orsDistributionDTO.getHouseHoldId()); - orsDistribution.setUserId(userRepo.getUserIdByName(jwtUtil.getUserNameFromStorage())); + orsDistribution.setUserId(userRepo.getUserIdByName(orsDistributionDTO.getUserName())); orsDistribution.setVisitDate(LocalDate.parse(orsDistributionDTO.getFields().getVisit_date(),formatter)); orsDistributionList.add(orsDistribution); @@ -727,6 +733,15 @@ private void checkAndAddSamVisitNRCReferalIncentive(List samVisits){ }); } + /** + * Creates incentive activity records for ORS distributions when applicable. + * + * For each ORS distribution in the list, this method creates incentive records for + * the CHILD_HEALTH and ACTIVITY groups if corresponding incentive activities exist + * and the distribution has a non-null packet count. + * + * @param orsDistributionList list of ORS distribution entities to evaluate for incentives + */ private void checkAndAddOrdDistributionIncentive(List orsDistributionList){ orsDistributionList.forEach(orsDistribution -> { IncentiveActivity orsPacketActivityAM = @@ -734,13 +749,13 @@ private void checkAndAddOrdDistributionIncentive(List orsDistr IncentiveActivity orsPacketActivityCH = incentivesRepo.findIncentiveMasterByNameAndGroup("ORS_DISTRIBUTION", GroupName.ACTIVITY.getDisplayName()); if(orsPacketActivityAM!=null){ if(orsDistribution.getNumOrsPackets()!=null){ - createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityAM,jwtUtil.getUserNameFromStorage(),false); + createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityAM,userRepo.getUserNamedByUserId(orsDistribution.getUserId()),false); } } if(orsPacketActivityCH!=null){ if(orsDistribution.getNumOrsPackets()!=null){ - createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityCH,jwtUtil.getUserNameFromStorage(),true); + createIncentiveRecordforOrsDistribution(orsDistribution,orsDistribution.getBeneficiaryId(),orsPacketActivityCH,userRepo.getUserNamedByUserId(orsDistribution.getUserId()),true); } } @@ -1061,4 +1076,4 @@ public void getTomorrowImmunizationReminders(Integer userID) { } -} +} \ No newline at end of file