Skip to content

Commit cbeeecc

Browse files
1 parent 3d6cfbc commit cbeeecc

File tree

1 file changed

+27
-18
lines changed

1 file changed

+27
-18
lines changed

src/main/java/com/iemr/ecd/service/associate/CallClosureImpl.java

+27-18
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@
2222
package com.iemr.ecd.service.associate;
2323

2424
import java.sql.Timestamp;
25+
import java.text.SimpleDateFormat;
2526
import java.time.LocalDateTime;
2627
import java.time.format.DateTimeFormatter;
2728
import java.util.ArrayList;
2829
import java.util.Calendar;
30+
import java.util.Date;
2931
import java.util.HashMap;
3032
import java.util.List;
3133
import java.util.Map;
@@ -401,8 +403,10 @@ private String createEcdCallRecordsInOutboundCalls(CallClosureDTO request,
401403
continue;
402404

403405
Timestamp callEndDate = null;
404-
if (callStartDate == null)
405-
callStartDate = motherRecord.getLmpDate();
406+
if (callStartDate == null) {
407+
callStartDate = getCallDateStartFormat(motherRecord.getLmpDate());
408+
}
409+
callStartDate = getCallDateStartFormat(callStartDate);
406410
outboundCalls.setCallDateFrom(callStartDate);
407411

408412
if (callConfiguration.getConfigTerms() != null
@@ -411,17 +415,15 @@ private String createEcdCallRecordsInOutboundCalls(CallClosureDTO request,
411415
Calendar cal = Calendar.getInstance();
412416
cal.setTime(motherRecord.getLmpDate());
413417
cal.add(Calendar.DAY_OF_WEEK, callConfiguration.getTermRange());
414-
415-
callEndDate = new Timestamp(cal.getTime().getTime());
418+
callEndDate = getCallDateEndFormat(new Timestamp(cal.getTime().getTime()));
416419

417420
} else if (callConfiguration.getConfigTerms() != null
418421
&& callConfiguration.getConfigTerms().equalsIgnoreCase("months")) {
419422

420423
Calendar cal = Calendar.getInstance();
421424
cal.setTime(motherRecord.getLmpDate());
422425
cal.add(Calendar.DAY_OF_WEEK, callConfiguration.getTermRange() * 30);
423-
424-
callEndDate = new Timestamp(cal.getTime().getTime());
426+
callEndDate = getCallDateEndFormat(new Timestamp(cal.getTime().getTime()));
425427
}
426428

427429
if (callEndDate != null)
@@ -430,16 +432,18 @@ private String createEcdCallRecordsInOutboundCalls(CallClosureDTO request,
430432
Calendar cal = Calendar.getInstance();
431433
cal.setTime(callEndDate);
432434
cal.add(Calendar.DAY_OF_WEEK, 1);
433-
callStartDate = new Timestamp(cal.getTime().getTime());
435+
callStartDate = getCallDateStartFormat(new Timestamp(cal.getTime().getTime()));
434436

435437
} else if (childRecord != null && childRecord.getDob() != null) {
436438
if (callConfiguration.getBaseLine().equalsIgnoreCase("LMP"))
437439
continue;
438440

439441
Timestamp callEndDate = null;
440442

441-
if (callStartDate == null)
443+
if (callStartDate == null) {
442444
callStartDate = childRecord.getDob();
445+
callStartDate = getCallDateStartFormat(callStartDate);
446+
}
443447
outboundCalls.setCallDateFrom(callStartDate);
444448

445449
if (callConfiguration.getConfigTerms() != null
@@ -448,17 +452,15 @@ private String createEcdCallRecordsInOutboundCalls(CallClosureDTO request,
448452
Calendar cal = Calendar.getInstance();
449453
cal.setTime(childRecord.getDob());
450454
cal.add(Calendar.DAY_OF_WEEK, callConfiguration.getTermRange());
451-
452-
callEndDate = new Timestamp(cal.getTime().getTime());
455+
callEndDate = getCallDateEndFormat(new Timestamp(cal.getTime().getTime()));
453456

454457
} else if (callConfiguration.getConfigTerms() != null
455458
&& callConfiguration.getConfigTerms().equalsIgnoreCase("months")) {
456459

457460
Calendar cal = Calendar.getInstance();
458461
cal.setTime(childRecord.getDob());
459462
cal.add(Calendar.DAY_OF_WEEK, callConfiguration.getTermRange() * 30);
460-
461-
callEndDate = new Timestamp(cal.getTime().getTime());
463+
callEndDate = getCallDateEndFormat(new Timestamp(cal.getTime().getTime()));
462464
}
463465

464466
if (callEndDate != null)
@@ -467,11 +469,9 @@ private String createEcdCallRecordsInOutboundCalls(CallClosureDTO request,
467469
Calendar cal = Calendar.getInstance();
468470
cal.setTime(callEndDate);
469471
cal.add(Calendar.DAY_OF_WEEK, 1);
470-
callStartDate = new Timestamp(cal.getTime().getTime());
472+
callStartDate = getCallDateStartFormat(new Timestamp(cal.getTime().getTime()));
471473
}
472-
473474
outboundCalls.setPhoneNumberType(phoneNoType);
474-
475475
// from request
476476
if (request.getBeneficiaryRegId() != null)
477477
outboundCalls.setBeneficiaryRegId(request.getBeneficiaryRegId());
@@ -501,15 +501,24 @@ private String createEcdCallRecordsInOutboundCalls(CallClosureDTO request,
501501
outboundCallsList.add(outboundCalls);
502502
}
503503
outboundCallsRepo.saveAll(outboundCallsList);
504-
505504
}
506-
507505
}
508-
509506
return "created";
510507
} catch (Exception e) {
511508
throw new ECDException(e);
512509
}
513510
}
514511

512+
private Timestamp getCallDateEndFormat(Timestamp callEndDate) {
513+
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd 23:59:59");
514+
String time = format.format(callEndDate);
515+
return Timestamp.valueOf(time);
516+
}
517+
518+
private Timestamp getCallDateStartFormat(Timestamp callStartDate) {
519+
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
520+
String time = format.format(callStartDate);
521+
return Timestamp.valueOf(time);
522+
}
523+
515524
}

0 commit comments

Comments
 (0)