diff --git a/pom.xml b/pom.xml
index c3b57f1c..0b2dea62 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.iemr.common.identity
identity-api
- 3.6.2
+ 3.8.0
war
diff --git a/src/main/java/com/iemr/common/identity/controller/IdentityController.java b/src/main/java/com/iemr/common/identity/controller/IdentityController.java
index 16995734..fc894761 100644
--- a/src/main/java/com/iemr/common/identity/controller/IdentityController.java
+++ b/src/main/java/com/iemr/common/identity/controller/IdentityController.java
@@ -30,10 +30,13 @@
import java.util.List;
import java.util.Objects;
+import com.iemr.common.identity.data.rmnch.RMNCHBeneficiaryDetailsRmnch;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -315,6 +318,17 @@ public String searchBeneficiaryByVillageIdAndLastModDate(
}
return response;
}
+
+
+ @PostMapping("/getRmnchDataByBenRedID")
+ public ResponseEntity getRmnchDataByBenID(@RequestBody BigInteger object) {
+ try {
+ RMNCHBeneficiaryDetailsRmnch data = svc.getRmnchDataByBenID(object);
+ return ResponseEntity.ok(data);
+ } catch (Exception e) {
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
+ }
+ }
// search beneficiary by lastModDate and districtID
@Operation(summary ="Get count of beneficiary by villageId and last modified date-time")
@PostMapping(path = "/countBenByVillageIdAndLastModifiedDate")
diff --git a/src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java b/src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java
index 26b2694c..deada381 100644
--- a/src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java
+++ b/src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java
@@ -23,10 +23,13 @@
import java.sql.Timestamp;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
@@ -56,22 +59,68 @@ public class RMNCHMobileAppController {
@PostMapping(value = "/syncDataToAmrit", consumes = "application/json", produces = "application/json")
@Operation(summary = "Sync data to AMRIT for already regestered beneficiary with AMRIT beneficiary id ")
- public String syncDataToAmrit(@RequestBody String requestOBJ) {
+ public String syncDataToAmrit(@RequestBody String requestOBJ,@RequestHeader(value = "jwttoken") String authorization) {
OutputResponse response = new OutputResponse();
try {
if (requestOBJ != null) {
- String s = rmnchDataSyncService.syncDataToAmrit(requestOBJ);
+
+ String s = rmnchDataSyncService.syncDataToAmrit(requestOBJ,authorization);
+ logger.info("syncDataToAmrit Response: {}", s);
+
response.setResponse(s);
+
+ logger.info(" syncDataToAmrit Final API Response: {}", response.toString());
} else
response.setError(5000, "Invalid/NULL request obj");
} catch (Exception e) {
logger.error("Error in RMNCH mobile data sync : {} " , e.getMessage());
+ e.printStackTrace();
response.setError(5000, "Error in RMNCH mobile data sync : " + e);
}
return response.toString();
}
+ @PostMapping(value = "/syncDataToAmritByHwc", consumes = "application/json", produces = "application/json")
+ @Operation(summary = "Sync data to AMRIT for already registered beneficiary with AMRIT beneficiary id")
+ public ResponseEntity> syncDataToAmritHwc(@RequestBody String requestOBJ) {
+
+ try {
+ if (requestOBJ == null || requestOBJ.isEmpty()) {
+ return ResponseEntity.badRequest().body("Invalid/NULL request obj");
+ }
+
+ JsonObject requestObj = new Gson().fromJson(requestOBJ, JsonObject.class);
+
+ Long beneficiaryID = requestObj.has("benficieryid") && !requestObj.get("benficieryid").isJsonNull()
+ ? requestObj.get("benficieryid").getAsLong()
+ : null;
+
+ Long beneficiaryRegID = requestObj.has("benRegId") && !requestObj.get("benRegId").isJsonNull()
+ ? requestObj.get("benRegId").getAsLong()
+ : null;
+
+ if (beneficiaryID == null || beneficiaryRegID == null) {
+ return ResponseEntity.badRequest().body("beneficiaryID or beneficiaryRegID is missing");
+ }
+
+ String result = rmnchDataSyncService.saveBeneficiaryDetailsAfterRegistration(
+ beneficiaryID,
+ beneficiaryRegID,
+ requestOBJ
+ );
+
+ return ResponseEntity.ok(result);
+
+ } catch (Exception e) {
+ logger.error("Error in RMNCH mobile data sync : {}", e.getMessage());
+ return ResponseEntity.internalServerError()
+ .body("Error in RMNCH mobile data sync : " + e.getMessage());
+ }
+ }
+
+
+
// @Deprecated
@PostMapping(value = "/getBeneficiaryDataForVillage", consumes = "application/json", produces = "application/json")
@Operation(summary = "Get beneficiary data for given village ")
diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java
index 4cab210c..1fb1b66d 100644
--- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java
+++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java
@@ -550,4 +550,11 @@ public class RMNCHBeneficiaryDetailsRmnch {
@Expose
private Boolean isDeactivate;
+ @Expose
+ @Transient
+ private String abhaId;
+
+ @Expose
+ @Transient
+ private String familyId;
}
diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java
index 397c5a66..44f15679 100644
--- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java
+++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java
@@ -214,4 +214,12 @@ public class RMNCHMBeneficiarydetail {
@Expose
@Transient
private Integer ProviderServiceMapID;
+
+ @Expose
+ @Transient
+ private String abhaId;
+
+ @Expose
+ @Column(name = "familyid")
+ private String familyId;
}
\ No newline at end of file
diff --git a/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java b/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java
index d48cd9b5..0ecfb6b2 100644
--- a/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java
+++ b/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java
@@ -89,6 +89,8 @@ public int compareTo(BeneficiariesDTO ben) {
private BigInteger religionId;
private String religion;
private String monthlyFamilyIncome;
+ private String reproductiveStatus;
+ private Integer reproductiveStatusId;
// End Outreach
// Start 1097
diff --git a/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java b/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java
index 322e57fc..f6c000cb 100644
--- a/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java
+++ b/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java
@@ -125,6 +125,8 @@ public class IdentityDTO {
private Integer incomeStatusId;
private String incomeStatus;
private String monthlyFamilyIncome;
+ private String reproductiveStatus;
+ private Integer reproductiveStatusId;
@Expose
private Integer vanID;
diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java
index 104fe902..27c7a445 100644
--- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java
+++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java
@@ -22,7 +22,9 @@
package com.iemr.common.identity.repo.rmnch;
import java.math.BigInteger;
+import java.util.List;
+import io.swagger.v3.oas.annotations.info.License;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
@@ -35,8 +37,16 @@ public interface RMNCHBenDetailsRepo extends CrudRepository getByBenRegID(
+ @Param("beneficiaryRegID") BigInteger beneficiaryRegID);
}
diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java
index 405e0bc5..52916f31 100644
--- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java
+++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java
@@ -22,6 +22,7 @@
package com.iemr.common.identity.repo.rmnch;
import java.math.BigInteger;
+import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
@@ -37,5 +38,5 @@ public RMNCHBeneficiaryDetailsRmnch getByIdAndVanID(@Param("vanSerialNo") BigInt
@Param("vanID") int vanID);
@Query(" SELECT t FROM RMNCHBeneficiaryDetailsRmnch t WHERE t.BenRegId =:benRegID ")
- public RMNCHBeneficiaryDetailsRmnch getByRegID(@Param("benRegID") BigInteger benRegId);
+ public List getByRegID(@Param("benRegID") BigInteger benRegId);
}
diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java
index 2af4d5b7..21488700 100644
--- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java
+++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java
@@ -22,6 +22,7 @@
package com.iemr.common.identity.repo.rmnch;
import java.math.BigInteger;
+import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
@@ -36,5 +37,5 @@ public interface RMNCHBornBirthDetailsRepo extends CrudRepository getByRegID(@Param("benRegID") BigInteger benRegID);
}
diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java
index 49fb4697..95e452b4 100644
--- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java
+++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java
@@ -37,7 +37,7 @@ public interface RMNCHCBACDetailsRepo extends CrudRepository getByRegID(@Param("benRegID") BigInteger benRegID);
@Query(value = "select beneficiary_visit_code,visit_category from db_iemr.i_ben_flow_outreach where beneficiary_reg_id=:benRegID AND beneficiary_visit_code is not null AND visit_category is not null order by created_date desc limit 1", nativeQuery = true)
public List