CC-42:adding new transaction date in collection sheet

This commit is contained in:
sachinkulkarni12
2015-12-21 13:21:47 +05:30
parent 3f45a904b1
commit 877ef133a3
3 changed files with 10 additions and 6 deletions
@@ -27,6 +27,7 @@ public class CollectionSheetConstants {
public static final String calendarIdParamName = "calendarId";
public static final String officeIdParamName = "officeId";
public static final String staffIdParamName = "staffId";
public static final String isTransactionDateOnNonMeetingDateParamName = "isTransactionDateOnNonMeetingDate";
// attendance parameters
public static final String clientsAttendanceParamName = "clientsAttendance";
@@ -43,7 +44,7 @@ public class CollectionSheetConstants {
bulkSavingsDueTransactionsParamName, PaymentDetailConstants.paymentTypeParamName,
PaymentDetailConstants.accountNumberParamName, PaymentDetailConstants.checkNumberParamName,
PaymentDetailConstants.routingCodeParamName, PaymentDetailConstants.receiptNumberParamName,
PaymentDetailConstants.bankNumberParamName));
PaymentDetailConstants.bankNumberParamName, isTransactionDateOnNonMeetingDateParamName));
public static final Set<String> INDIVIDUAL_COLLECTIONSHEET_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName,
dateFormatParamName, transactionDateParamName, actualDisbursementDateParamName, bulkRepaymentTransactionsParamName,
@@ -65,9 +65,9 @@ public class Meeting extends AbstractPersistable<Long> {
this.meetingDate = meetingDate;
}
public static Meeting createNew(final CalendarInstance calendarInstance, final Date meetingDate) {
if (!isValidMeetingDate(calendarInstance, meetingDate)) { throw new NotValidRecurringDateException("meeting", "The date '"
public static Meeting createNew(final CalendarInstance calendarInstance, final Date meetingDate, Boolean isTransactionDateOnNonMeetingDate) {
if (!isTransactionDateOnNonMeetingDate && !isValidMeetingDate(calendarInstance, meetingDate)) { throw new NotValidRecurringDateException("meeting", "The date '"
+ meetingDate + "' is not a valid meeting date.", meetingDate); }
return new Meeting(calendarInstance, meetingDate);
}
@@ -11,6 +11,7 @@ import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.calendarId
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.clientIdParamName;
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.clientsAttendanceParamName;
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.meetingDateParamName;
import static org.mifosplatform.portfolio.collectionsheet.CollectionSheetConstants.isTransactionDateOnNonMeetingDateParamName;
import java.util.ArrayList;
import java.util.Collection;
@@ -81,11 +82,12 @@ public class MeetingWritePlatformServiceJpaRepositoryImpl implements MeetingWrit
this.meetingDataValidator.validateForCreate(command);
final Date meetingDate = command.DateValueOfParameterNamed(meetingDateParamName);
final Boolean isTransactionDateOnNonMeetingDate = false;
try {
final CalendarInstance calendarInstance = getCalendarInstance(command);
// create new meeting
final Meeting newMeeting = Meeting.createNew(calendarInstance, meetingDate);
final Meeting newMeeting = Meeting.createNew(calendarInstance, meetingDate, isTransactionDateOnNonMeetingDate);
final Collection<ClientAttendance> clientsAttendance = getClientsAttendance(newMeeting, command);
if (clientsAttendance != null && !clientsAttendance.isEmpty()) {
@@ -261,13 +263,14 @@ public class MeetingWritePlatformServiceJpaRepositoryImpl implements MeetingWrit
@Override
public void updateCollectionSheetAttendance(final JsonCommand command) {
final Date meetingDate = command.DateValueOfParameterNamed(transactionDateParamName);
final Boolean isTransactionDateOnNonMeetingDate = command.booleanPrimitiveValueOfParameterNamed(isTransactionDateOnNonMeetingDateParamName);
try {
final CalendarInstance calendarInstance = getCalendarInstance(command);
final Meeting meeting = this.meetingRepository.findByCalendarInstanceIdAndMeetingDate(calendarInstance.getId(), meetingDate);
// create new meeting
final Meeting newMeeting = (meeting != null) ? meeting : Meeting.createNew(calendarInstance, meetingDate);
final Meeting newMeeting = (meeting != null) ? meeting : Meeting.createNew(calendarInstance, meetingDate, isTransactionDateOnNonMeetingDate);
final Collection<ClientAttendance> clientsAttendance = getClientsAttendance(newMeeting, command);
if (clientsAttendance != null && !clientsAttendance.isEmpty()) {