Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,20 @@ public String untagFamily(@RequestBody String comingReq) {
return response.toString();
}

@Operation(summary = "Get family tagging details by beneficiary ID")
@PostMapping(value = { "/getBenFamilyDetails" }, consumes = "application/json", produces = "application/json")
public String getFamilyDetailsByBeneficiaryId(@RequestBody String comingReq) {
OutputResponse response = new OutputResponse();
try {
String s = familyTagService.getFamilyDetailsByBeneficiaryId(comingReq);
response.setResponse(s);
} catch (Exception e) {
logger.error("Error in fetching family details by beneficiary ID : " + e);
response.setError(5000, "Error in fetching family details by beneficiary ID : " + e.getLocalizedMessage());
}
return response.toString();
}

@Operation(summary = "Edit beneficiary family details")
@PostMapping(value = { "/editFamilyTagging" }, consumes = "application/json", produces = "application/json")
public String editFamilyDetails(@RequestBody String comingReq) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,10 @@ public interface FamilyTagRepo extends CrudRepository<BenFamilyMapping,Long> {
public int untagFamily(@Param("benFamilyTagId") List<Long> benFamilyTagId,@Param("modifiedBy") String modifiedBy);


@Query("SELECT obj FROM BenFamilyMapping obj WHERE obj.familyName =:familyName AND obj.villageId =:villageId AND (obj.noOfmembers is not null "
+ " AND obj.noOfmembers >0)")
@Query("SELECT obj FROM BenFamilyMapping obj WHERE obj.familyName LIKE CONCAT(:familyName, '%') AND (:villageId IS NULL OR obj.villageId =:villageId) AND (obj.deleted IS NULL OR obj.deleted = false)")
List<BenFamilyMapping> searchFamily(@Param("familyName") String familyName,@Param("villageId") Integer villageId);

@Query("SELECT obj FROM BenFamilyMapping obj WHERE obj.familyName =:familyName AND obj.villageId =:villageId AND obj.familyId =:familyId AND (obj.noOfmembers is not null "
+ " AND obj.noOfmembers >0)")

@Query("SELECT obj FROM BenFamilyMapping obj WHERE obj.familyName LIKE CONCAT(:familyName, '%') AND (:villageId IS NULL OR obj.villageId =:villageId) AND obj.familyId =:familyId AND (obj.deleted IS NULL OR obj.deleted = false)")
List<BenFamilyMapping> searchFamilyWithFamilyId(@Param("familyName") String familyName,@Param("villageId") Integer villageId,@Param("familyId") String familyId);

@Query("SELECT obj FROM BenFamilyMapping obj WHERE obj.familyId =:familyId")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1337,6 +1337,8 @@ private MBeneficiarydetail convertIdentityEditDTOToMBeneficiarydetail(IdentityEd
if (dto.getOtherFields() != null) {
beneficiarydetail.setOtherFields(dto.getOtherFields());
}
beneficiarydetail.setSexualOrientationID(dto.getSexualOrientationID());
beneficiarydetail.setSexualOrientationType(dto.getSexualOrientationType());

return beneficiarydetail;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ public interface FamilyTagService {
public String searchFamily(String request) throws IEMRException;

public String editFamilyDetails(String request) throws IEMRException;

public String getFamilyDetailsByBeneficiaryId(String request) throws IEMRException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import com.google.gson.JsonParser;
import com.iemr.common.identity.data.familyTagging.BenFamilyMapping;
import com.iemr.common.identity.data.familyTagging.FamilyMembers;
import com.iemr.common.identity.data.familyTagging.FamilySearchResponse;
import com.iemr.common.identity.domain.MBeneficiarydetail;
import com.iemr.common.identity.domain.MBeneficiarymapping;
import com.iemr.common.identity.exception.IEMRException;
Expand Down Expand Up @@ -264,6 +265,46 @@ public String getFamilyDetails(String request) throws IEMRException {
throw new IEMRException("Error while fetching family member details :" + e.getLocalizedMessage());
}
}
@Override
public String getFamilyDetailsByBeneficiaryId(String request) throws IEMRException {
try {
BenFamilyMapping reqObj = InputMapper.gson().fromJson(request, BenFamilyMapping.class);
if (reqObj.getBeneficiaryRegId() == null)
throw new IEMRException("beneficiaryRegId is required");

MBeneficiarymapping mapping = benMappingRepo
.getBenDetailsId(BigInteger.valueOf(reqObj.getBeneficiaryRegId()));
if (mapping == null || mapping.getBenDetailsId() == null)
throw new IEMRException("Beneficiary not found");

List<MBeneficiarydetail> benDetails = benDetailRepo
.findByBeneficiaryDetailsIdOrderByBeneficiaryDetailsIdAsc(mapping.getBenDetailsId());
if (benDetails == null || benDetails.isEmpty() || benDetails.get(0).getFamilyId() == null)
return "No family tagged to this beneficiary";

String familyId = benDetails.get(0).getFamilyId();

BenFamilyMapping familyMaster = familyTagRepo.searchFamilyByFamilyId(familyId);
List<MBeneficiarydetail> memberList = benDetailRepo.getFamilyDetails(familyId);

FamilySearchResponse resp = new FamilySearchResponse();
if (familyMaster != null) {
resp.setFamilyId(familyMaster.getFamilyId());
resp.setFamilyName(familyMaster.getFamilyName());
resp.setHeadOfTheFamily(familyMaster.getFamilyHeadName());
resp.setNoOfMembers(familyMaster.getNoOfmembers());
}
List<FamilyMembers> memberResponseList = new ArrayList<>();
addFamilyMembersToList(memberList, memberResponseList);
resp.setFamilyMembers(memberResponseList);

return new Gson().toJson(resp);
} catch (Exception e) {
throw new IEMRException(
"Error while fetching family details by beneficiary ID : " + e.getLocalizedMessage());
}
}

private void addFamilyMembersToList(List<MBeneficiarydetail> list, List<FamilyMembers> responseList) {
StringBuilder name = new StringBuilder("");
for (MBeneficiarydetail obj : list) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo
return;
}
String path = request.getRequestURI();

String servletPath = request.getServletPath();
logger.info("JwtUserIdValidationFilter invoked for requestURI: {}, servletPath: {}", path, servletPath);

Expand Down
Loading