Skip to content

Commit 303d7a7

Browse files
committed
CCSD-578 fix
1 parent 39319e5 commit 303d7a7

File tree

3 files changed

+54
-6
lines changed

3 files changed

+54
-6
lines changed

birth-death-services/src/main/java/org/bel/birthdeath/birth/certmodel/BirthCertAppln.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,11 @@ public class BirthCertAppln {
3131
private String tenantId;
3232

3333
private String fileStoreId;
34+
35+
36+
private String motherName;
37+
38+
private String fatherName;
39+
40+
private String dateOfBirth;
3441
}

birth-death-services/src/main/java/org/bel/birthdeath/birth/repository/builder/BirthDtlAllQueryBuilder.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,15 @@ public class BirthDtlAllQueryBuilder {
7575

7676
private static String APPLSQUERY ="select breq.birthCertificateNo, breq.createdtime, breq.status, bdtl.registrationno, bdtl.tenantid, "
7777
+ "concat(COALESCE(bdtl.firstname,'') , ' ', COALESCE(bdtl.middlename,'') ,' ', COALESCE(bdtl.lastname,'')) as name, "
78-
+ "CASE WHEN breq.lastmodifiedtime/1000 < (extract(epoch from NOW())-?*24*60*60) THEN 'EXPIRED' ELSE breq.filestoreid END as filestoreid "
79-
+ "from {schema}.eg_birth_cert_request breq left join {schema}.eg_birth_dtls bdtl on bdtl.id=breq.birthDtlId where "
80-
+ "breq.createdby=? order by breq.createdtime DESC ";
78+
+ "CASE WHEN breq.lastmodifiedtime/1000 < (extract(epoch from NOW())-?*24*60*60) THEN 'EXPIRED' ELSE breq.filestoreid END as filestoreid, "
79+
+ "concat(COALESCE(bmot.firstname,'') , ' ', COALESCE(bmot.middlename,'') ,' ', COALESCE(bmot.lastname,'')) as mothername, "
80+
+ "concat(COALESCE(bfat.firstname,'') , ' ', COALESCE(bfat.middlename,'') ,' ', COALESCE(bfat.lastname,'')) as fathername, "
81+
+ "bdtl.dateofbirth as dateofbirth "
82+
+ "from {schema}.eg_birth_cert_request breq "
83+
+ "left join {schema}.eg_birth_dtls bdtl on bdtl.id=breq.birthDtlId "
84+
+ "left join {schema}.eg_birth_mother_info bmot on bmot.birthdtlid = bdtl.id "
85+
+ "left join {schema}.eg_birth_father_info bfat on bfat.birthdtlid = bdtl.id "
86+
+ "where breq.createdby=? order by breq.createdtime DESC ";
8187

8288
private static final String PAGINATIONWRAPPER = "SELECT * FROM " +
8389
"(SELECT *, DENSE_RANK() OVER (ORDER BY dateofbirth DESC , birthdtlid) offset_ FROM " +

birth-death-services/src/main/java/org/bel/birthdeath/birth/repository/rowmapper/BirthCertApplnRowMapper.java

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import java.sql.ResultSet;
44
import java.sql.SQLException;
5+
import java.sql.Timestamp;
6+
import java.text.SimpleDateFormat;
57
import java.util.ArrayList;
8+
import java.util.Date;
69
import java.util.LinkedHashMap;
710
import java.util.List;
811
import java.util.Map;
@@ -19,15 +22,47 @@ public class BirthCertApplnRowMapper implements ResultSetExtractor<List<BirthCer
1922
@Override
2023
public List<BirthCertAppln> extractData(ResultSet rs) throws SQLException, DataAccessException {
2124
Map<String, BirthCertAppln> birthDtlMap = new LinkedHashMap<>();
25+
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
2226
try {
2327
while (rs.next()) {
2428
String applNo = rs.getString("birthCertificateNo");
2529
BirthCertAppln certReq = birthDtlMap.get(applNo);
2630

2731
if (certReq == null) {
28-
certReq = BirthCertAppln.builder().applicationNumber(rs.getString("birthCertificateNo")).applicationDate(rs.getString("createdtime"))
29-
.status(rs.getString("status")).regNo(rs.getString("registrationno")).tenantId(rs.getString("tenantid")).name(rs.getString("name"))
30-
.applicationCategory("Birth").applicationType("CERT_DOWNLOAD").fileStoreId(rs.getString("filestoreid"))
32+
// Format application date
33+
String applicationDate = rs.getString("createdtime");
34+
35+
// Get date of birth in epoch format
36+
String dateOfBirth = "NA";
37+
Timestamp dobTimestamp = rs.getTimestamp("dateofbirth");
38+
if (dobTimestamp != null) {
39+
dateOfBirth = String.valueOf(dobTimestamp.getTime());
40+
}
41+
42+
// Get parent names
43+
String motherName = rs.getString("mothername");
44+
if (motherName == null || motherName.trim().isEmpty()) {
45+
motherName = "NA";
46+
}
47+
48+
String fatherName = rs.getString("fathername");
49+
if (fatherName == null || fatherName.trim().isEmpty()) {
50+
fatherName = "NA";
51+
}
52+
53+
certReq = BirthCertAppln.builder()
54+
.applicationCategory("Birth")
55+
.applicationType("CERT_DOWNLOAD")
56+
.applicationNumber(applNo)
57+
.applicationDate(applicationDate)
58+
.regNo(rs.getString("registrationno"))
59+
.name(rs.getString("name"))
60+
.status(rs.getString("status"))
61+
.tenantId(rs.getString("tenantid"))
62+
.fileStoreId(rs.getString("filestoreid"))
63+
.motherName(motherName)
64+
.fatherName(fatherName)
65+
.dateOfBirth(dateOfBirth)
3166
.build();
3267
birthDtlMap.put(applNo, certReq);
3368
}

0 commit comments

Comments
 (0)