From 4149b14c9958f4ff31d179128365609e077149f9 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 12 Sep 2025 11:41:42 +0530 Subject: [PATCH 01/29] merge with main --- .../BeneficiaryRegistrationController.java | 4 + .../model/beneficiary/BeneficiaryModel.java | 23 + .../RMNCHBeneficiaryDetailsRmnch.java | 498 ++++++++++++++++++ .../BeneficiaryDetailsRmnchRepository.java | 8 + 4 files changed, 533 insertions(+) create mode 100644 src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java create mode 100644 src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java diff --git a/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java b/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java index d9b0f06f..69e04b92 100644 --- a/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java +++ b/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java @@ -29,6 +29,7 @@ import javax.ws.rs.core.MediaType; +import com.iemr.common.repository.beneficiary.BeneficiaryDetailsRmnchRepository; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -103,6 +104,9 @@ public class BeneficiaryRegistrationController { private BeneficiaryOccupationService beneficiaryOccupationService; private GovtIdentityTypeService govtIdentityTypeService; + @Autowired + private BeneficiaryDetailsRmnchRepository beneficiaryDetailsRmnchRepository; + @Autowired public void setBenRelationshipTypeService(BenRelationshipTypeService benRelationshipTypeService) { this.benRelationshipTypeService = benRelationshipTypeService; diff --git a/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java index ed7c9cad..b4ee2b06 100644 --- a/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java +++ b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java @@ -81,6 +81,29 @@ public class BeneficiaryModel implements Comparable { @Expose private Boolean isConsent=false; + @Expose + private Boolean isDeath; + + @Expose + private String isDeathValue; + + @Expose + private String timeOfDeath; + + @Expose + private String reasonOfDeath; + + @Expose + private Integer reasonOfDeathId; + + @Expose + private String placeOfDeath; + + @Expose + private Integer placeOfDeathId; + + @Expose + private String otherPlaceOfDeath; @Expose private String beneficiaryID; diff --git a/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java new file mode 100644 index 00000000..87757e43 --- /dev/null +++ b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java @@ -0,0 +1,498 @@ +package com.iemr.common.model.beneficiary; + +import com.google.gson.annotations.Expose; +import lombok.Data; + +import jakarta.persistence.*; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.sql.Timestamp; + +@Entity +@Table(name = "i_beneficiarydetails_rmnch") +@Data +public class RMNCHBeneficiaryDetailsRmnch { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Expose + @Column(name = "beneficiaryDetails_RmnchId", insertable = false, updatable = false) + private Long beneficiaryDetails_RmnchId; + + @Expose + @Column(name = "BeneficiaryRegID") + private Long BenRegId; + + @Expose + @Column(name = "aadhaNo") + private String aadhaNo; + + @Expose + @Column(name = "aadha_no") + private String aadha_no; + + @Expose + @Column(name = "aadha_noId") + private Integer aadha_noId; + + @Expose + @Column(name = "age") + private Integer age; + + @Expose + @Column(name = "ageAtMarriage") + private Integer ageAtMarriage; + + @Expose + @Column(name = "age_unit") + private String age_unit; + + @Expose + @Column(name = "age_unitId") + private Integer age_unitId; + + @Expose + @Column(name = "childRegisteredAWCID") + private Long childRegisteredAWCID; + + @Expose + @Column(name = "childRegisteredSchoolID") + private Integer childRegisteredSchoolID; + + @Expose + @Column(name = "dateofdelivey") + private Timestamp dateofdelivey; + + @Expose + @Column(name = "expectedDateofDelivery") + private Timestamp expectedDateOfDelivery; + + @Expose + @Column(name = "facilitySectionID") + private Integer facilitySectionID; + + @Expose + @Column(name = "guidelineId") + private String guidelineId; + + @Expose + @Column(name = "houseoldId") + private Long houseoldId; + + @Expose + @Column(name = "lastDeliveryConductedID") + private Integer lastDeliveryConductedID; + + @Expose + @Column(name = "lastMenstrualPeriod") + private String lastMenstrualPeriod; + + @Expose + @Column(name = "latitude") + private BigDecimal latitude; + + @Expose + @Column(name = "lengthofMenstrualCycleId") + private Integer lengthofMenstrualCycleId; + + @Expose + @Column(name = "literacyId") + private Integer literacyId; + + @Expose + @Column(name = "longitude") + private BigDecimal longitude; + + @Expose + @Column(name = "menstrualBFDId") + private Integer menstrualBFDId; + + @Expose + @Column(name = "menstrualProblemId") + private Integer menstrualProblemId; + + @Expose + @Column(name = "menstrualStatusId") + private Integer menstrualStatusId; + + @Expose + @Column(name = "mobileOthers") + private String mobileOthers; + + @Expose + @Column(name = "mobilenoofRelation") + private String mobilenoofRelation; + + @Expose + @Column(name = "mobilenoofRelationId") + private Integer mobilenoofRelationId; + + @Expose + @Column(name = "motherName") + private String motherName; + + @Expose + @Column(name = "ncd_priority") + private Integer ncd_priority; + + @Expose + @Column(name = "need_opcareId") + private Integer need_opcareId; + + @Expose + @Column(name = "previousLiveBirth") + private String previousLiveBirth; + + @Expose + @Column(name = "rchid") + private String rchid; + + @Expose + @Column(name = "registrationDate") + private Timestamp registrationDate; + + @Expose + @Column(name = "registrationType") + private String registrationType; + + @Expose + @Column(name = "regularityofMenstrualCycleId") + private Integer regularityofMenstrualCycleId; + + @Expose + @Column(name = "religionOthers") + private String religionOthers; + + @Expose + @Column(name = "reproductiveStatus") + private String reproductiveStatus; + + @Expose + @Column(name = "reproductiveStatusId") + private Integer reproductiveStatusId; + + @Expose + @Column(name = "serverUpdatedStatus") + private Integer serverUpdatedStatus; + + @Expose + @Column(name = "typeofSchoolID") + private Integer typeofSchoolID; + + @Expose + @Column(name = "whoConductedDeliveryID") + private Integer whoConductedDeliveryID; + + @Expose + @Column(name = "Deleted") + private Boolean deleted; + + @Expose + @Column(name = "Processed") + private String Processed = "N"; + + @Expose + @Column(name = "CreatedBy") + private String createdBy; + + @Expose + @Column(name = "CreatedDate") + private Timestamp createdDate; + + @Expose + @Column(name = "Reserved") + private Boolean reserved; + + @Expose + @Column(name = "ReservedFor") + private String reservedFor; + + @Expose + @Column(name = "ReservedOn") + private String reservedOn; + + @Expose + @Column(name = "ReservedById") + private Integer reservedById; + + @Expose + @Column(name = "ModifiedBy") + private String updatedBy; + + @Expose + @Column(name = "LastModDate") + private Timestamp updatedDate; + + @Expose + @Column(name = "VanSerialNo") + private Long id; + + @Expose + @Column(name = "VanID") + private Integer VanID; + + @Expose + @Column(name = "VehicalNo") + private String vehicalNo; + + @Expose + @Column(name = "ParkingPlaceID") + private Integer parkingPlaceID; + + @Expose + @Column(name = "SyncedBy") + private String syncedBy; + + @Expose + @Column(name = "SyncedDate") + private Timestamp syncedDate; + + @Expose + @Column(name = "ProviderServiceMapID") + private Integer ProviderServiceMapID; + + @Expose + @Column(name = "deviceId") + private Integer deviceId; + + @Expose + @Column(name = "beneficiaryId") + private Long benficieryid; + + // new fields 30-06-2021 + @Expose + @Column(name = "RelatedBeneficiaryIds") + private String relatedBeneficiaryIdsDB; + @Expose + @Column(name = "HRPStatus") + private Boolean hrpStatus; + @Expose + @Column(name = "ImmunizationStatus") + private Boolean immunizationStatus; + @Expose + @Column(name = "NishchayPregnancyStatus") + private String nishchayPregnancyStatus; + @Expose + @Column(name = "NishchayPregnancyStatusPosition") + private Integer nishchayPregnancyStatusPosition; + @Expose + @Column(name = "NishchayDeliveryStatus") + private String nishchayDeliveryStatus; + @Expose + @Column(name = "NishchayDeliveryStatusPosition") + private Integer nishchayDeliveryStatusPosition; + + @Expose + @Column(name = "FamilyHeadRelation") + private String familyHeadRelation; + @Expose + @Column(name = "FamilyHeadRelationPosition") + private Integer familyHeadRelationPosition; + + @Expose + @Column(name = "MenstrualStatus") + private String menstrualStatus; + @Expose + @Column(name = "ComplicationsOthers") + private String complicationsOthers; + + @Expose + @Transient + private Long[] relatedBeneficiaryIds; + + @Expose + @Transient + private String literacyStatus; + + @Expose + @Transient + private String branchName; + + // location + @Expose + @Transient + private Integer countryId; + @Expose + @Transient + private String countryName; + @Expose + @Transient + private Integer stateId; + @Expose + @Transient + private String stateName; +// @Expose +// @Transient +// private Integer districtId; +// @Expose +// @Transient +// private String districtName; + @Expose + @Transient + private Integer blockId; + @Expose + @Transient + private String blockName; + @Expose + @Transient + private Integer villageId; + @Expose + @Transient + private String villageName; + + @Expose + @Transient + private Integer servicePointID; + @Expose + @Transient + private String servicePointName; + + @Expose + @Transient + private Integer zoneID; + @Expose + @Transient + private String zoneName; + + @Expose + @Transient + private String addressLine1; + @Expose + @Transient + private String addressLine2; + @Expose + @Transient + private String addressLine3; + + // ---------------------------------------------- + + // Extra data from platform + @Expose + @Transient + private String bankAccount; + @Expose + @Transient + private String community; + @Expose + @Transient + private Integer communityId; + @Expose + @Transient + private String contact_number; + @Expose + @Transient + private Integer currSubDistrictId; + @Expose + @Transient + private Integer districtid; + @Expose + @Transient + private String districtname; + @Expose + @Transient + private Timestamp dob; + @Expose + @Transient + private String fatherName; + @Expose + @Transient + private String firstName; + @Expose + @Transient + private String gender; + @Expose + @Transient + private Integer genderId; + @Expose + @Transient + private String ifscCode; + @Expose + @Transient + private String lastName; + @Expose + @Transient + private String maritalstatus; + @Expose + @Transient + private Integer maritalstatusId; + @Expose + @Transient + private Timestamp marriageDate; + @Expose + @Transient + private String nameOfBank; + @Expose + @Transient + private String religion; + @Expose + @Transient + private BigInteger religionID; + @Expose + @Transient + private String spousename; + @Expose + @Transient + private String user_image; + + // 08102020 + @Expose + @Transient + private String ageFull; + + @Expose + private Boolean isDeath; + + @Expose + private String isDeathValue; + + @Expose + private String timeOfDeath; + + @Expose + private String reasonOfDeath; + + @Expose + private Integer reasonOfDeathId; + + @Expose + private String placeOfDeath; + + @Expose + private Integer placeOfDeathId; + + @Expose + private String otherPlaceOfDeath; + + // 07-07-2021 + @Expose + @Column(name = "WhoConductedDelivery") + private String whoConductedDelivery; + @Expose + @Column(name = "LastDeliveryConducted") + private String lastDeliveryConducted; + @Expose + @Column(name = "FacilitySelection") + private String facilitySelection; + @Expose + @Column(name = "DeliveryDate") + private String deliveryDate; + @Expose + @Column(name = "ChildRegisteredSchool") + private String childRegisteredSchool; + @Expose + @Column(name = "TypeOfSchool") + private String typeOfSchool; +// 13-04-2022 + @Expose + @Column(name = "dateMarriage") + private Timestamp dateMarriage; + @Expose + @Column(name = "nayiPahalDeliveryStatus") + private String nayiPahalDeliveryStatus; + @Expose + @Column(name = "nayiPahalDeliveryStatusPosition") + private Integer nayiPahalDeliveryStatusPosition; + @Expose + @Column(name = "noOfDaysForDelivery") + private Integer noOfDaysForDelivery; + +} diff --git a/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java new file mode 100644 index 00000000..4c1e4c30 --- /dev/null +++ b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java @@ -0,0 +1,8 @@ +package com.iemr.common.repository.beneficiary; + +import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface BeneficiaryDetailsRmnchRepository extends JpaRepository { + +} From 1fca232a5e86cdbc0efd2041c6c03ff5df758372 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 12 Sep 2025 11:58:55 +0530 Subject: [PATCH 02/29] merge with main --- .../model/beneficiary/BeneficiaryModel.java | 3 ++ .../RMNCHBeneficiaryDetailsRmnch.java | 4 +++ .../RegisterBenificiaryServiceImpl.java | 36 ++++++++++++++----- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java index b4ee2b06..d61659f0 100644 --- a/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java +++ b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java @@ -84,6 +84,9 @@ public class BeneficiaryModel implements Comparable { @Expose private Boolean isDeath; + @Expose + private String dateOfDeath; + @Expose private String isDeathValue; diff --git a/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java index 87757e43..3320df2d 100644 --- a/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java +++ b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java @@ -444,6 +444,10 @@ public class RMNCHBeneficiaryDetailsRmnch { @Expose private String isDeathValue; + @Expose + private String dateOfDeath; + + @Expose private String timeOfDeath; diff --git a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java index aa0c2a71..183b9c72 100644 --- a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java +++ b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java @@ -30,6 +30,8 @@ import java.util.ArrayList; import java.util.List; +import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; +import com.iemr.common.repository.beneficiary.BeneficiaryDetailsRmnchRepository; import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsService; import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsServiceImpl; import org.json.JSONObject; @@ -81,6 +83,11 @@ public class RegisterBenificiaryServiceImpl implements RegisterBenificiaryServic @Autowired Validator validator; + @Autowired + private BeneficiaryDetailsRmnchRepository beneficiaryDetailsRmnchRepository; + + + @Autowired @@ -120,6 +127,8 @@ public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String aut Integer updatedRows = 0; IdentityEditDTO identityEditDTO = identityBenEditMapper.BenToIdentityEditMapper(benificiaryDetails); setDemographicDetails(identityEditDTO,benificiaryDetails); + + if (benificiaryDetails.getBeneficiaryIdentities() != null && benificiaryDetails.getBeneficiaryIdentities().size() > 0) { @@ -129,9 +138,21 @@ public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String aut identityEditDTO.setDob(benificiaryDetails.getDOB()); updatedRows = identityBeneficiaryService.editIdentityEditDTO(identityEditDTO, auth, benificiaryDetails.getIs1097()); - + updateDeathOfBenificiary(benificiaryDetails); return updatedRows; } + private void updateDeathOfBenificiary(BeneficiaryModel beneficiaryModel){ + RMNCHBeneficiaryDetailsRmnch rmnchBeneficiaryDetailsRmnch = new RMNCHBeneficiaryDetailsRmnch(); + rmnchBeneficiaryDetailsRmnch.setIsDeath(beneficiaryModel.getIsDeath()); + rmnchBeneficiaryDetailsRmnch.setPlaceOfDeathId(beneficiaryModel.getPlaceOfDeathId()); + rmnchBeneficiaryDetailsRmnch.setPlaceOfDeath(beneficiaryModel.getPlaceOfDeath()); + rmnchBeneficiaryDetailsRmnch.setOtherPlaceOfDeath(beneficiaryModel.getOtherPlaceOfDeath()); + rmnchBeneficiaryDetailsRmnch.setReasonOfDeath(beneficiaryModel.getReasonOfDeath()); + rmnchBeneficiaryDetailsRmnch.setTimeOfDeath(beneficiaryModel.getTimeOfDeath()); + rmnchBeneficiaryDetailsRmnch.setDateOfDeath(beneficiaryModel.getDateOfDeath()); + + beneficiaryDetailsRmnchRepository.save(rmnchBeneficiaryDetailsRmnch); + } private void setDemographicDetails(IdentityEditDTO identityEditDTO, BeneficiaryModel benificiaryDetails) { if(null != benificiaryDetails.getI_bendemographics()) { @@ -164,6 +185,9 @@ else if(null != benificiaryDetails.getI_bendemographics().getReligion()) else identityEditDTO.setIncomeStatus(benificiaryDetails.getI_bendemographics().getIncomeStatus()); } + if(benificiaryDetails!=null){ + updateDeathOfBenificiary(benificiaryDetails); + } } @@ -184,13 +208,6 @@ public String save(BeneficiaryModel beneficiaryModel, HttpServletRequest servlet setSaveDemographicDetails(identityDTO,beneficiaryModel); // identityDTO.setOtherFields(beneficiaryModel.getOtherFields()); identityDTO.setIsConsent(beneficiaryModel.getIsConsent()); -// identityDTO.setIsDeath(beneficiaryModel.getIsDeath()); -// identityDTO.setIsDeathValue(beneficiaryModel.getIsDeathValue()); -// identityDTO.setDateOfDeath(beneficiaryModel.getDateOfDeath()); -// identityDTO.setPlaceOfDeath(beneficiaryModel.getPlaceOfDeath()); -// identityDTO.setOtherPlaceOfDeath(beneficiaryModel.getOtherPlaceOfDeath()); -// identityDTO.setTimeOfDeath(beneficiaryModel.getTimeOfDeath()); - identityDTO.setFaceEmbedding(beneficiaryModel.getFaceEmbedding()); identityDTO.setEmergencyRegistration(beneficiaryModel.isEmergencyRegistration()); @@ -228,7 +245,10 @@ public String save(BeneficiaryModel beneficiaryModel, HttpServletRequest servlet return OutputMapper.gson().toJson(beneficiary); } + private void saveBeneficiarDeathDetails(BeneficiaryModel beneficiaryModel){ + + } private void setSaveDemographicDetails(CommonIdentityDTO identityDTO, BeneficiaryModel beneficiaryModel) { if(null != beneficiaryModel.getI_bendemographics()) { From 896012c67cb37aa470e8fb9ec467bb70e6583aab Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 12 Sep 2025 12:11:24 +0530 Subject: [PATCH 03/29] merge with main --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3a0191c9..c54201ff 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.iemr.common-API common-api - 3.6.0 + 3.7.0 war Common-API From ac39698c27d21c83c8974f9cbd5315e939ef6dbb Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 12 Sep 2025 12:38:28 +0530 Subject: [PATCH 04/29] fix ben death param issue --- .../service/beneficiary/RegisterBenificiaryServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java index 183b9c72..273a1cf5 100644 --- a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java +++ b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java @@ -283,6 +283,9 @@ else if(null != beneficiaryModel.getI_bendemographics().getReligion()) else identityDTO.setIncomeStatus(beneficiaryModel.getI_bendemographics().getIncomeStatus()); } + if(beneficiaryModel!=null){ + updateDeathOfBenificiary(beneficiaryModel); + } } From ce7fa317cab1855351e937e40275446b714d2520 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 12 Sep 2025 13:58:12 +0530 Subject: [PATCH 05/29] fix ben death param issue --- .../service/beneficiary/RegisterBenificiaryServiceImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java index 273a1cf5..055ebdee 100644 --- a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java +++ b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java @@ -138,6 +138,7 @@ public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String aut identityEditDTO.setDob(benificiaryDetails.getDOB()); updatedRows = identityBeneficiaryService.editIdentityEditDTO(identityEditDTO, auth, benificiaryDetails.getIs1097()); + logger.info("updateBen"); updateDeathOfBenificiary(benificiaryDetails); return updatedRows; } @@ -245,11 +246,8 @@ public String save(BeneficiaryModel beneficiaryModel, HttpServletRequest servlet return OutputMapper.gson().toJson(beneficiary); } - private void saveBeneficiarDeathDetails(BeneficiaryModel beneficiaryModel){ - } - private void setSaveDemographicDetails(CommonIdentityDTO identityDTO, BeneficiaryModel beneficiaryModel) { if(null != beneficiaryModel.getI_bendemographics()) { identityDTO.setCommunity(beneficiaryModel.getI_bendemographics().getCommunityName()); From e5d4234052f49e6a7e5336c76e4cec0c7bcab525 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 16:09:50 +0530 Subject: [PATCH 06/29] fix strict-origin-when-cross-origin --- src/main/resources/application.properties | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 1a6a6e6f..101d3c2e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -203,10 +203,10 @@ genben-api=http://localhost:8092/ #### SMS Configuration send-sms=false sendSMSUrl = http://localhost:8080/sms/sendSMS -source-address=AIDSHL -sms-username= -sms-password= -send-message-url= +#source-address=AIDSHL +#sms-username= +#sms-password= +#send-message-url= ###SMS Scheduler configurations start-sms-scheduler=false @@ -363,18 +363,8 @@ captcha.secret-key= captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify captcha.enable-captcha=false -cors.allowed-origins= http://localhost:*,https://amritdemo.piramalswasthya.org +cors.allowed-origins= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com -# DB Connections -spring.datasource.url=jdbc:mysql://localhost:3306/db_iemr -spring.datasource.username= -spring.datasource.password= - - -secondary.datasource.username= -secondary.datasource.password= -secondary.datasource.url=jdbc:mysql://localhost:3306/db_reporting -secondary.datasource.driver-class-name=com.mysql.jdbc.Driver video-call-url = @@ -383,3 +373,4 @@ allowed.file.extensions=msg,pdf,png,jpeg,doc,docx,xlsx,xls,csv,txt ##sms details for beneficiary otp cosent sms-template-name = otp_consent + From c4603b0cd2f54df9be689477dc6db2f81044a6cb Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 16:14:58 +0530 Subject: [PATCH 07/29] fix strict-origin-when-cross-origin --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 101d3c2e..48fbfab5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -363,7 +363,7 @@ captcha.secret-key= captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify captcha.enable-captcha=false -cors.allowed-origins= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com +cors.allowed-origins= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com:4901 video-call-url = From 13aa4ba727e4e34e79fe128ce9046578a39574be Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 16:15:58 +0530 Subject: [PATCH 08/29] fix strict-origin-when-cross-origin --- src/main/java/com/iemr/common/config/CorsConfig.java | 2 +- src/main/java/com/iemr/common/utils/FilterConfig.java | 2 +- src/main/resources/application.properties | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/iemr/common/config/CorsConfig.java b/src/main/java/com/iemr/common/config/CorsConfig.java index 2e226b79..84f5e865 100644 --- a/src/main/java/com/iemr/common/config/CorsConfig.java +++ b/src/main/java/com/iemr/common/config/CorsConfig.java @@ -9,7 +9,7 @@ @Configuration public class CorsConfig implements WebMvcConfigurer { - @Value("${cors.allowed-origins}") + @Value("${cors.allowed-origin}") private String allowedOrigins; @Override diff --git a/src/main/java/com/iemr/common/utils/FilterConfig.java b/src/main/java/com/iemr/common/utils/FilterConfig.java index 9f6efb13..379eb180 100644 --- a/src/main/java/com/iemr/common/utils/FilterConfig.java +++ b/src/main/java/com/iemr/common/utils/FilterConfig.java @@ -9,7 +9,7 @@ @Configuration public class FilterConfig { - @Value("${cors.allowed-origins}") + @Value("${cors.allowed-origin}") private String allowedOrigins; @Bean diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 48fbfab5..98895750 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -363,7 +363,7 @@ captcha.secret-key= captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify captcha.enable-captcha=false -cors.allowed-origins= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com:4901 +cors.allowed-origin= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com:4901 video-call-url = From b14952bc226bcc70d30064877c78544155075f27 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 16:22:58 +0530 Subject: [PATCH 09/29] fix strict-origin-when-cross-origin --- .../com/iemr/common/controller/users/IEMRAdminController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/iemr/common/controller/users/IEMRAdminController.java b/src/main/java/com/iemr/common/controller/users/IEMRAdminController.java index bbe70dd4..1c354ce3 100644 --- a/src/main/java/com/iemr/common/controller/users/IEMRAdminController.java +++ b/src/main/java/com/iemr/common/controller/users/IEMRAdminController.java @@ -80,8 +80,8 @@ public class IEMRAdminController { private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); private InputMapper inputMapper = new InputMapper(); - @Value("${captcha.enable-captcha}") - private boolean enableCaptcha; +// @Value("${captcha.enable-captcha}") + private boolean enableCaptcha =false; @Autowired private CaptchaValidationService captchaValidatorService; From eba0f4577000cf370fbc815365450281b98c141d Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 17:48:44 +0530 Subject: [PATCH 10/29] fix strict-origin-when-cross-origin --- .../common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java index 3320df2d..b6bc8512 100644 --- a/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java +++ b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java @@ -9,7 +9,7 @@ import java.sql.Timestamp; @Entity -@Table(name = "i_beneficiarydetails_rmnch") +@Table(name = "i_beneficiarydetails_rmnch",schema = "db_identity") @Data public class RMNCHBeneficiaryDetailsRmnch { @Id From 0dfad088859771bd00dece45c6d7c376e44593a3 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 18:12:58 +0530 Subject: [PATCH 11/29] fix strict-origin-when-cross-origin --- .../beneficiary/BeneficiaryDetailsRmnchRepository.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java index 4c1e4c30..d2a9e3e1 100644 --- a/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java +++ b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java @@ -2,7 +2,9 @@ import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +@Repository public interface BeneficiaryDetailsRmnchRepository extends JpaRepository { } From d0dc555fae66461ddd21c08731d3db182c9f54b3 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 19:01:02 +0530 Subject: [PATCH 12/29] fix strict-origin-when-cross-origin --- .../BeneficiaryDetailsRmnchRepository.java | 20 +++++++++---------- .../RegisterBenificiaryServiceImpl.java | 12 +++++------ 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java index d2a9e3e1..896d696a 100644 --- a/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java +++ b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java @@ -1,10 +1,10 @@ -package com.iemr.common.repository.beneficiary; - -import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface BeneficiaryDetailsRmnchRepository extends JpaRepository { - -} +//package com.iemr.common.repository.beneficiary; +// +//import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; +//import org.springframework.data.jpa.repository.JpaRepository; +//import org.springframework.stereotype.Repository; +// +//@Repository +//public interface BeneficiaryDetailsRmnchRepository extends JpaRepository { +// +//} diff --git a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java index 055ebdee..54637a4c 100644 --- a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java +++ b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java @@ -31,7 +31,6 @@ import java.util.List; import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch; -import com.iemr.common.repository.beneficiary.BeneficiaryDetailsRmnchRepository; import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsService; import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsServiceImpl; import org.json.JSONObject; @@ -83,8 +82,7 @@ public class RegisterBenificiaryServiceImpl implements RegisterBenificiaryServic @Autowired Validator validator; - @Autowired - private BeneficiaryDetailsRmnchRepository beneficiaryDetailsRmnchRepository; + @@ -139,7 +137,7 @@ public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String aut updatedRows = identityBeneficiaryService.editIdentityEditDTO(identityEditDTO, auth, benificiaryDetails.getIs1097()); logger.info("updateBen"); - updateDeathOfBenificiary(benificiaryDetails); + //updateDeathOfBenificiary(benificiaryDetails); return updatedRows; } private void updateDeathOfBenificiary(BeneficiaryModel beneficiaryModel){ @@ -152,7 +150,7 @@ private void updateDeathOfBenificiary(BeneficiaryModel beneficiaryModel){ rmnchBeneficiaryDetailsRmnch.setTimeOfDeath(beneficiaryModel.getTimeOfDeath()); rmnchBeneficiaryDetailsRmnch.setDateOfDeath(beneficiaryModel.getDateOfDeath()); - beneficiaryDetailsRmnchRepository.save(rmnchBeneficiaryDetailsRmnch); + //beneficiaryDetailsRmnchRepository.save(rmnchBeneficiaryDetailsRmnch); } private void setDemographicDetails(IdentityEditDTO identityEditDTO, BeneficiaryModel benificiaryDetails) { @@ -187,7 +185,7 @@ else if(null != benificiaryDetails.getI_bendemographics().getReligion()) identityEditDTO.setIncomeStatus(benificiaryDetails.getI_bendemographics().getIncomeStatus()); } if(benificiaryDetails!=null){ - updateDeathOfBenificiary(benificiaryDetails); + //updateDeathOfBenificiary(benificiaryDetails); } } @@ -282,7 +280,7 @@ else if(null != beneficiaryModel.getI_bendemographics().getReligion()) identityDTO.setIncomeStatus(beneficiaryModel.getI_bendemographics().getIncomeStatus()); } if(beneficiaryModel!=null){ - updateDeathOfBenificiary(beneficiaryModel); + // updateDeathOfBenificiary(beneficiaryModel); } } From dddc108ddf1499ab3fa8ef67ae4abf95be93ff2a Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 17 Sep 2025 19:06:59 +0530 Subject: [PATCH 13/29] fix strict-origin-when-cross-origin --- .../beneficiary/BeneficiaryRegistrationController.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java b/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java index 69e04b92..8f573d6d 100644 --- a/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java +++ b/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java @@ -29,7 +29,6 @@ import javax.ws.rs.core.MediaType; -import com.iemr.common.repository.beneficiary.BeneficiaryDetailsRmnchRepository; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -104,8 +103,6 @@ public class BeneficiaryRegistrationController { private BeneficiaryOccupationService beneficiaryOccupationService; private GovtIdentityTypeService govtIdentityTypeService; - @Autowired - private BeneficiaryDetailsRmnchRepository beneficiaryDetailsRmnchRepository; @Autowired public void setBenRelationshipTypeService(BenRelationshipTypeService benRelationshipTypeService) { From 772a9e0c7d5b67e89d74b34642b217f252ae278f Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Tue, 14 Oct 2025 16:56:15 +0530 Subject: [PATCH 14/29] fix strict-origin-when-cross-origin --- .../service/dynamicForm/FormMasterServiceImpl.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java index 19864742..f87215b6 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java @@ -1,6 +1,7 @@ package com.iemr.common.service.dynamicForm; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.iemr.common.data.dynamic_from.FormDefinition; import com.iemr.common.data.dynamic_from.FormField; @@ -122,8 +123,14 @@ public FormResponseDTO getStructuredFormByFormId(String formId) { try { // Handle options if (field.getOptions() != null && !field.getOptions().isBlank()) { - List options = objectMapper.readValue(field.getOptions(), new TypeReference<>() {}); - dto.setOptions(options.isEmpty() ? null : options); + JsonNode node = objectMapper.readTree(field.getOptions()); + List options = null; + if (node.isArray()) { + options = objectMapper.convertValue(node, new TypeReference<>() {}); + } else if (node.has("options")) { + options = objectMapper.convertValue(node.get("options"), new TypeReference<>() {}); + } + dto.setOptions(options == null || options.isEmpty() ? null : options); } else { dto.setOptions(null); } From 46048451bc0fb44789eaf1013a7664ad68877d2b Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 7 Nov 2025 15:37:52 +0530 Subject: [PATCH 15/29] fix strict-origin-when-cross-origin --- .../iemr/common/service/dynamicForm/FormMasterServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java index f87215b6..86a6c1b6 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java @@ -162,7 +162,7 @@ public FormResponseDTO getStructuredFormByFormId(String formId) { GroupedFieldResponseDTO singleSection = new GroupedFieldResponseDTO(); - singleSection.setSectionTitle("HBNC Form Fields"); // your custom section title + singleSection.setSectionTitle(singleSection.getSectionTitle()); // your custom section title singleSection.setFields(fieldDtos); FormResponseDTO response = new FormResponseDTO(); From 4b7cb3700202ef3b5772043e88c6e81639dc3d6d Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 7 Nov 2025 15:47:12 +0530 Subject: [PATCH 16/29] fix strict-origin-when-cross-origin --- .../dynamicForm/DynamicFormController.java | 13 +++++----- .../common/data/translation/Translation.java | 23 ++++++++++++++++++ .../translation/TranslationRepo.java | 13 ++++++++++ .../dynamicForm/FormMasterService.java | 2 +- .../dynamicForm/FormMasterServiceImpl.java | 24 +++++++++++++++++-- 5 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/iemr/common/data/translation/Translation.java create mode 100644 src/main/java/com/iemr/common/repository/translation/TranslationRepo.java diff --git a/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java b/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java index a5f72bbf..4c7f30a8 100644 --- a/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java +++ b/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java @@ -7,6 +7,7 @@ import com.iemr.common.utils.response.ApiResponse; import jakarta.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.jpa.repository.Query; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -19,7 +20,7 @@ public class DynamicFormController { @Autowired private FormMasterService formMasterService; - @PostMapping(value = "createModule",headers = "Authorization") + @PostMapping(value = "createModule") public ResponseEntity> createModule(@Valid @RequestBody ModuleDTO moduleDTO) { try { Object result = formMasterService.createModule(moduleDTO); @@ -34,7 +35,7 @@ public ResponseEntity> createModule(@Valid @RequestBody ModuleDTO } } - @PostMapping(value = "createForm",headers = "Authorization") + @PostMapping(value = "createForm") public ResponseEntity> createForm(@Valid @RequestBody FormDTO dto) { try { Object result = formMasterService.createForm(dto); @@ -46,7 +47,7 @@ public ResponseEntity> createForm(@Valid @RequestBody FormDTO dto } } - @PostMapping(value = "createFields",headers = "Authorization") + @PostMapping(value = "createFields") public ResponseEntity> createField(@Valid @RequestBody List dto) { try { Object result = formMasterService.createField(dto); @@ -83,14 +84,14 @@ public ResponseEntity> deleteField(@PathVariable Long fieldId) { } @GetMapping(value = "form/{formId}/fields") - public ResponseEntity> getStructuredForm(@PathVariable String formId) { + public ResponseEntity> getStructuredForm(@PathVariable String formId, @RequestParam(name = "lang", defaultValue = "en") String lang) { try { - Object result = formMasterService.getStructuredFormByFormId(formId); + Object result = formMasterService.getStructuredFormByFormId(formId,lang); return ResponseEntity.status(HttpStatus.OK) .body(ApiResponse.success("Form structure fetched successfully", HttpStatus.OK.value(), result)); } catch (Exception e) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - .body(ApiResponse.error("Failed to fetch form structure", HttpStatus.INTERNAL_SERVER_ERROR.value(), null)); + .body(ApiResponse.error("Failed to fetch form structure:"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR.value(), null)); } } diff --git a/src/main/java/com/iemr/common/data/translation/Translation.java b/src/main/java/com/iemr/common/data/translation/Translation.java new file mode 100644 index 00000000..81a906fa --- /dev/null +++ b/src/main/java/com/iemr/common/data/translation/Translation.java @@ -0,0 +1,23 @@ +package com.iemr.common.data.translation; + +import jakarta.persistence.*; +import lombok.Data; + +@Entity +@Table(name = "m_translation") +@Data +public class Translation { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + @Column(name = "label_key") + private String labelKey; + @Column(name = "english") + private String english; + @Column(name = "hindi_translation") + private String hindiTranslation; + @Column(name = "is_active") + private Boolean isActive; +} diff --git a/src/main/java/com/iemr/common/repository/translation/TranslationRepo.java b/src/main/java/com/iemr/common/repository/translation/TranslationRepo.java new file mode 100644 index 00000000..f6a5dcb0 --- /dev/null +++ b/src/main/java/com/iemr/common/repository/translation/TranslationRepo.java @@ -0,0 +1,13 @@ +package com.iemr.common.repository.translation; + +import com.iemr.common.data.translation.Translation; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.Optional; +@Repository +public interface TranslationRepo extends JpaRepository { + + Optional findByLabelKeyAndIsActive(String labelKey, boolean isActive); + +} diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterService.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterService.java index c603cd65..6d22e59a 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterService.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterService.java @@ -16,7 +16,7 @@ public interface FormMasterService { List createField(List dto); FormField updateField(FieldDTO dto); - FormResponseDTO getStructuredFormByFormId(String formId); + FormResponseDTO getStructuredFormByFormId(String formId,String lang); void deleteField(Long fieldId); } diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java index 86a6c1b6..c4719809 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java @@ -6,10 +6,12 @@ import com.iemr.common.data.dynamic_from.FormDefinition; import com.iemr.common.data.dynamic_from.FormField; import com.iemr.common.data.dynamic_from.FormModule; +import com.iemr.common.data.translation.Translation; import com.iemr.common.dto.dynamicForm.*; import com.iemr.common.repository.dynamic_form.FieldRepository; import com.iemr.common.repository.dynamic_form.FormRepository; import com.iemr.common.repository.dynamic_form.ModuleRepository; +import com.iemr.common.repository.translation.TranslationRepo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fasterxml.jackson.core.type.TypeReference; @@ -28,6 +30,9 @@ public class FormMasterServiceImpl implements FormMasterService { @Autowired private FormRepository formRepo; @Autowired private FieldRepository fieldRepo; + @Autowired + private TranslationRepo translationRepo; + @Override public FormModule createModule(ModuleDTO dto) { FormModule module = new FormModule(); @@ -98,7 +103,7 @@ public FormField updateField(FieldDTO dto) { } @Override - public FormResponseDTO getStructuredFormByFormId(String formId) { + public FormResponseDTO getStructuredFormByFormId(String formId,String lang) { FormDefinition form = formRepo.findByFormId(formId) .orElseThrow(() -> new IllegalArgumentException("Invalid form ID")); @@ -107,13 +112,28 @@ public FormResponseDTO getStructuredFormByFormId(String formId) { List fieldDtos = fields.stream() .map(field -> { + String labelKey = field.getLabel(); // field label already contains label_key + + Translation t = translationRepo.findByLabelKeyAndIsActive(labelKey, true) + .orElse(null); + + String translatedLabel = labelKey; // fallback + + if (t != null) { + if ("hi".equalsIgnoreCase(lang)) { + translatedLabel = t.getHindiTranslation(); + } else { + translatedLabel = t.getEnglish(); + } + } + FieldResponseDTO dto = new FieldResponseDTO(); dto.setId(field.getId()); dto.setVisible(field.getIsVisible()); dto.setFormId(field.getForm().getFormId()); dto.setSectionTitle(field.getSectionTitle()); dto.setFieldId(field.getFieldId()); - dto.setLabel(field.getLabel()); + dto.setLabel(translatedLabel); dto.setType(field.getType()); dto.setIsRequired(field.getIsRequired()); dto.setDefaultValue(field.getDefaultValue()); From c66861047bff6312ee7090e2b14e414fae380df5 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 7 Nov 2025 16:27:55 +0530 Subject: [PATCH 17/29] fix strict-origin-when-cross-origin --- src/main/environment/common_ci.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/environment/common_ci.properties b/src/main/environment/common_ci.properties index e2ab08ad..a6451109 100644 --- a/src/main/environment/common_ci.properties +++ b/src/main/environment/common_ci.properties @@ -174,7 +174,7 @@ grievanceUserAuthenticate = @env.GRIEVANCE_USER_AUTHENTICATE@ grievanceDataSyncDuration = @env.GRIEVANCE_DATA_SYNC_DURATION@ springdoc.api-docs.enabled=@env.SWAGGER_DOC_ENABLED@ -springdoc.swagger-ui.enabled=@env.SWAGGER_UI_ENABLED@ +springdoc.swagger-ui.enabled=@env.SWAGGER_DOC_ENABLED@ isProduction=@env.IS_PRODUCTION@ From 9324652fcc11313ec21b3fc3fda61379d087cbf9 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 7 Nov 2025 17:21:51 +0530 Subject: [PATCH 18/29] fix strict-origin-when-cross-origin --- src/main/environment/common_docker.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/environment/common_docker.properties b/src/main/environment/common_docker.properties index ba22283b..1035af57 100644 --- a/src/main/environment/common_docker.properties +++ b/src/main/environment/common_docker.properties @@ -171,7 +171,7 @@ grievanceUserAuthenticate = ${GRIEVANCE_USER_AUTHENTICATE} grievanceDataSyncDuration = ${GRIEVANCE_DATA_SYNC_DURATION} springdoc.api-docs.enabled=${SWAGGER_DOC_ENABLED} -springdoc.swagger-ui.enabled=${SWAGGER_UI_ENABLED} +springdoc.swagger-ui.enabled=${SWAGGER_DOC_ENABLED} isProduction=${IS_PRODUCTION} From 168291aacb737b74b3c7ead33ccb47cdf92bbb71 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 7 Nov 2025 17:50:47 +0530 Subject: [PATCH 19/29] fix strict-origin-when-cross-origin --- .../iemr/common/service/dynamicForm/FormMasterServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java index c4719809..aa5b9bed 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java @@ -112,7 +112,7 @@ public FormResponseDTO getStructuredFormByFormId(String formId,String lang) { List fieldDtos = fields.stream() .map(field -> { - String labelKey = field.getLabel(); // field label already contains label_key + String labelKey = field.getFieldId(); // field label already contains label_key Translation t = translationRepo.findByLabelKeyAndIsActive(labelKey, true) .orElse(null); From 1121b753a24945283cfae72f01e9cd3df1d160ef Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 7 Nov 2025 17:59:30 +0530 Subject: [PATCH 20/29] fix strict-origin-when-cross-origin --- .../iemr/common/service/dynamicForm/FormMasterServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java index aa5b9bed..8e4d4707 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java @@ -117,7 +117,7 @@ public FormResponseDTO getStructuredFormByFormId(String formId,String lang) { Translation t = translationRepo.findByLabelKeyAndIsActive(labelKey, true) .orElse(null); - String translatedLabel = labelKey; // fallback + String translatedLabel = field.getLabel(); // fallback if (t != null) { if ("hi".equalsIgnoreCase(lang)) { From ca7bc2e192ba98b40552b7ad9ccbc0876e8e4d7c Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 21 Nov 2025 14:08:02 +0530 Subject: [PATCH 21/29] fix strict-origin-when-cross-origin --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7e7b29d8..171ab162 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.iemr.common-API common-api - 3.7.0 + 3.6.1 war Common-API From 5b195cfd3bbbde4690e1ceda103b115ba8162a2d Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Fri, 21 Nov 2025 14:36:27 +0530 Subject: [PATCH 22/29] fix strict-origin-when-cross-origin --- .../iemr/common/service/dynamicForm/FormMasterServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java index 8e4d4707..df019de7 100644 --- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java +++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java @@ -170,7 +170,8 @@ public FormResponseDTO getStructuredFormByFormId(String formId,String lang) { } else { dto.setConditional(null); } - } catch (JsonProcessingException e) { + } catch (Exception e) { + System.err.println("JSON Parsing Error in field: " + field.getFieldId()); throw new RuntimeException("Failed to parse JSON for field: " + field.getFieldId(), e); } From e7828c2825bf15e919493f228da460dc7ec616ff Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Mon, 24 Nov 2025 17:53:58 +0530 Subject: [PATCH 23/29] fix strict-origin-when-cross-origin --- .../common/controller/dynamicForm/DynamicFormController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java b/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java index 4c7f30a8..30a1bc3f 100644 --- a/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java +++ b/src/main/java/com/iemr/common/controller/dynamicForm/DynamicFormController.java @@ -90,8 +90,9 @@ public ResponseEntity> getStructuredForm(@PathVariable String for return ResponseEntity.status(HttpStatus.OK) .body(ApiResponse.success("Form structure fetched successfully", HttpStatus.OK.value(), result)); } catch (Exception e) { + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - .body(ApiResponse.error("Failed to fetch form structure:"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR.value(), null)); + .body(ApiResponse.error("Failed to fetch form structure:"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR.value(), e)); } } From 543b022b847c746c4ad924b8d0567bcf5ba16a7f Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 26 Nov 2025 10:22:08 +0530 Subject: [PATCH 24/29] add column in create BeneficiaryModel --- .../model/beneficiary/BeneficiaryModel.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java index d61659f0..e7a7a3de 100644 --- a/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java +++ b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java @@ -108,6 +108,21 @@ public class BeneficiaryModel implements Comparable { @Expose private String otherPlaceOfDeath; + @Expose + private Boolean isSpouseAdded; + + @Expose + private Boolean isChildrenAdded; + + @Expose + private Boolean isMarried; + + @Expose + private Integer doYouHavechildren; + + @Expose + private Integer noofAlivechildren; + @Expose private String beneficiaryID; @Expose From 19a52910b6e6b8696273a821707b12bc513753b6 Mon Sep 17 00:00:00 2001 From: Saurav Mishra <80103738+SauravBizbRolly@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:19:23 +0530 Subject: [PATCH 25/29] Add UAT domain to allowed CORS origins --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 3b400682..d15e828a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -366,7 +366,7 @@ captcha.secret-key= captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify captcha.enable-captcha=false -cors.allowed-origin= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com:4901 +cors.allowed-origin= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com:4901,https://uatamrit.piramalswasthya.org video-call-url = From cb2ac7f74bd0d98de1e306c1a549a88dcbd5cf9e Mon Sep 17 00:00:00 2001 From: Saurav Mishra <80103738+SauravBizbRolly@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:32:24 +0530 Subject: [PATCH 26/29] Update application.properties --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index d15e828a..4c658a0f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -366,7 +366,7 @@ captcha.secret-key= captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify captcha.enable-captcha=false -cors.allowed-origin= http://localhost:*,https://amritdemo.piramalswasthya.org,http://devbox.bizbrolly.com:4901,https://uatamrit.piramalswasthya.org +cors.allowed-origin= https://uatamrit.piramalswasthya.org video-call-url = From a49f09bcaf5228e27a387db81c28d7cdcb3173a6 Mon Sep 17 00:00:00 2001 From: Saurav Mishra <80103738+SauravBizbRolly@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:33:08 +0530 Subject: [PATCH 27/29] Remove CORS allowed origin from properties Removed allowed origin for CORS configuration. --- src/main/resources/application.properties | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 4c658a0f..18723465 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -366,9 +366,6 @@ captcha.secret-key= captcha.verify-url= https://challenges.cloudflare.com/turnstile/v0/siteverify captcha.enable-captcha=false -cors.allowed-origin= https://uatamrit.piramalswasthya.org - - video-call-url = allowed.file.extensions=msg,pdf,png,jpeg,doc,docx,xlsx,xls,csv,txt From 948d72cbebf4dbbf23248abd27e936fba337d818 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 26 Nov 2025 19:29:57 +0530 Subject: [PATCH 28/29] add column in create BeneficiaryModel --- .../beneficiary/RegisterBenificiaryServiceImpl.java | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java index 54637a4c..7d5f1de0 100644 --- a/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java +++ b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java @@ -140,18 +140,7 @@ public Integer updateBenificiary(BeneficiaryModel benificiaryDetails, String aut //updateDeathOfBenificiary(benificiaryDetails); return updatedRows; } - private void updateDeathOfBenificiary(BeneficiaryModel beneficiaryModel){ - RMNCHBeneficiaryDetailsRmnch rmnchBeneficiaryDetailsRmnch = new RMNCHBeneficiaryDetailsRmnch(); - rmnchBeneficiaryDetailsRmnch.setIsDeath(beneficiaryModel.getIsDeath()); - rmnchBeneficiaryDetailsRmnch.setPlaceOfDeathId(beneficiaryModel.getPlaceOfDeathId()); - rmnchBeneficiaryDetailsRmnch.setPlaceOfDeath(beneficiaryModel.getPlaceOfDeath()); - rmnchBeneficiaryDetailsRmnch.setOtherPlaceOfDeath(beneficiaryModel.getOtherPlaceOfDeath()); - rmnchBeneficiaryDetailsRmnch.setReasonOfDeath(beneficiaryModel.getReasonOfDeath()); - rmnchBeneficiaryDetailsRmnch.setTimeOfDeath(beneficiaryModel.getTimeOfDeath()); - rmnchBeneficiaryDetailsRmnch.setDateOfDeath(beneficiaryModel.getDateOfDeath()); - - //beneficiaryDetailsRmnchRepository.save(rmnchBeneficiaryDetailsRmnch); - } + private void setDemographicDetails(IdentityEditDTO identityEditDTO, BeneficiaryModel benificiaryDetails) { if(null != benificiaryDetails.getI_bendemographics()) { From 65d5b3b1209a128dfe4642e7eddb34782d7918e6 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Wed, 26 Nov 2025 19:38:12 +0530 Subject: [PATCH 29/29] add column in create BeneficiaryModel --- src/main/java/com/iemr/common/utils/FilterConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/utils/FilterConfig.java b/src/main/java/com/iemr/common/utils/FilterConfig.java index 379eb180..9f6efb13 100644 --- a/src/main/java/com/iemr/common/utils/FilterConfig.java +++ b/src/main/java/com/iemr/common/utils/FilterConfig.java @@ -9,7 +9,7 @@ @Configuration public class FilterConfig { - @Value("${cors.allowed-origin}") + @Value("${cors.allowed-origins}") private String allowedOrigins; @Bean