CC-42:adding new transaction date in collection sheet
This commit is contained in:
+2
-1
@@ -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,
|
||||
|
||||
+3
-3
@@ -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);
|
||||
}
|
||||
|
||||
+5
-2
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user