diff --git a/pom.xml b/pom.xml
index 25b8da59..171ab162 100644
--- a/pom.xml
+++ b/pom.xml
@@ -263,7 +263,7 @@
logback-core
test
-
+
org.springdoc
springdoc-openapi-starter-webmvc-ui
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@
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}
diff --git a/src/main/java/com/iemr/common/config/CorsConfig.java b/src/main/java/com/iemr/common/config/CorsConfig.java
index fdd9b494..bdee1beb 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
public void addCorsMappings(CorsRegistry registry) {
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..8f573d6d 100644
--- a/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java
+++ b/src/main/java/com/iemr/common/controller/beneficiary/BeneficiaryRegistrationController.java
@@ -103,6 +103,7 @@ public class BeneficiaryRegistrationController {
private BeneficiaryOccupationService beneficiaryOccupationService;
private GovtIdentityTypeService govtIdentityTypeService;
+
@Autowired
public void setBenRelationshipTypeService(BenRelationshipTypeService benRelationshipTypeService) {
this.benRelationshipTypeService = benRelationshipTypeService;
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..30a1bc3f 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,15 @@ 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(), e));
}
}
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 080c8762..55e2f93f 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;
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/model/beneficiary/BeneficiaryModel.java b/src/main/java/com/iemr/common/model/beneficiary/BeneficiaryModel.java
index ed7c9cad..e7a7a3de 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,47 @@ public class BeneficiaryModel implements Comparable {
@Expose
private Boolean isConsent=false;
+ @Expose
+ private Boolean isDeath;
+
+ @Expose
+ private String dateOfDeath;
+
+ @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 Boolean isSpouseAdded;
+
+ @Expose
+ private Boolean isChildrenAdded;
+
+ @Expose
+ private Boolean isMarried;
+
+ @Expose
+ private Integer doYouHavechildren;
+
+ @Expose
+ private Integer noofAlivechildren;
@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..b6bc8512
--- /dev/null
+++ b/src/main/java/com/iemr/common/model/beneficiary/RMNCHBeneficiaryDetailsRmnch.java
@@ -0,0 +1,502 @@
+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",schema = "db_identity")
+@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 dateOfDeath;
+
+
+ @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..896d696a
--- /dev/null
+++ b/src/main/java/com/iemr/common/repository/beneficiary/BeneficiaryDetailsRmnchRepository.java
@@ -0,0 +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 {
+//
+//}
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/beneficiary/RegisterBenificiaryServiceImpl.java b/src/main/java/com/iemr/common/service/beneficiary/RegisterBenificiaryServiceImpl.java
index aa0c2a71..7d5f1de0 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,7 @@
import java.util.ArrayList;
import java.util.List;
+import com.iemr.common.model.beneficiary.RMNCHBeneficiaryDetailsRmnch;
import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsService;
import com.iemr.common.service.welcomeSms.WelcomeBenificarySmsServiceImpl;
import org.json.JSONObject;
@@ -83,6 +84,10 @@ public class RegisterBenificiaryServiceImpl implements RegisterBenificiaryServic
+
+
+
+
@Autowired
OutboundHistoryRepository outboundHistoryRepository;
@@ -120,6 +125,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,10 +136,12 @@ 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;
}
+
private void setDemographicDetails(IdentityEditDTO identityEditDTO, BeneficiaryModel benificiaryDetails) {
if(null != benificiaryDetails.getI_bendemographics()) {
identityEditDTO.setCommunity(benificiaryDetails.getI_bendemographics().getCommunityName());
@@ -164,6 +173,9 @@ else if(null != benificiaryDetails.getI_bendemographics().getReligion())
else
identityEditDTO.setIncomeStatus(benificiaryDetails.getI_bendemographics().getIncomeStatus());
}
+ if(benificiaryDetails!=null){
+ //updateDeathOfBenificiary(benificiaryDetails);
+ }
}
@@ -184,13 +196,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());
@@ -263,6 +268,9 @@ else if(null != beneficiaryModel.getI_bendemographics().getReligion())
else
identityDTO.setIncomeStatus(beneficiaryModel.getI_bendemographics().getIncomeStatus());
}
+ if(beneficiaryModel!=null){
+ // updateDeathOfBenificiary(beneficiaryModel);
+ }
}
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 19864742..df019de7 100644
--- a/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java
+++ b/src/main/java/com/iemr/common/service/dynamicForm/FormMasterServiceImpl.java
@@ -1,14 +1,17 @@
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;
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;
@@ -27,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();
@@ -97,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"));
@@ -106,13 +112,28 @@ public FormResponseDTO getStructuredFormByFormId(String formId) {
List fieldDtos = fields.stream()
.map(field -> {
+ String labelKey = field.getFieldId(); // field label already contains label_key
+
+ Translation t = translationRepo.findByLabelKeyAndIsActive(labelKey, true)
+ .orElse(null);
+
+ String translatedLabel = field.getLabel(); // 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());
@@ -122,8 +143,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);
}
@@ -143,7 +170,8 @@ public FormResponseDTO getStructuredFormByFormId(String formId) {
} 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);
}
@@ -155,7 +183,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();
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 427754c5..18723465 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -206,10 +206,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
@@ -366,19 +366,6 @@ 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
-
-# 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 =
allowed.file.extensions=msg,pdf,png,jpeg,doc,docx,xlsx,xls,csv,txt