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 calendarIdParamName = "calendarId";
|
||||||
public static final String officeIdParamName = "officeId";
|
public static final String officeIdParamName = "officeId";
|
||||||
public static final String staffIdParamName = "staffId";
|
public static final String staffIdParamName = "staffId";
|
||||||
|
public static final String isTransactionDateOnNonMeetingDateParamName = "isTransactionDateOnNonMeetingDate";
|
||||||
|
|
||||||
// attendance parameters
|
// attendance parameters
|
||||||
public static final String clientsAttendanceParamName = "clientsAttendance";
|
public static final String clientsAttendanceParamName = "clientsAttendance";
|
||||||
@@ -43,7 +44,7 @@ public class CollectionSheetConstants {
|
|||||||
bulkSavingsDueTransactionsParamName, PaymentDetailConstants.paymentTypeParamName,
|
bulkSavingsDueTransactionsParamName, PaymentDetailConstants.paymentTypeParamName,
|
||||||
PaymentDetailConstants.accountNumberParamName, PaymentDetailConstants.checkNumberParamName,
|
PaymentDetailConstants.accountNumberParamName, PaymentDetailConstants.checkNumberParamName,
|
||||||
PaymentDetailConstants.routingCodeParamName, PaymentDetailConstants.receiptNumberParamName,
|
PaymentDetailConstants.routingCodeParamName, PaymentDetailConstants.receiptNumberParamName,
|
||||||
PaymentDetailConstants.bankNumberParamName));
|
PaymentDetailConstants.bankNumberParamName, isTransactionDateOnNonMeetingDateParamName));
|
||||||
|
|
||||||
public static final Set<String> INDIVIDUAL_COLLECTIONSHEET_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName,
|
public static final Set<String> INDIVIDUAL_COLLECTIONSHEET_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName,
|
||||||
dateFormatParamName, transactionDateParamName, actualDisbursementDateParamName, bulkRepaymentTransactionsParamName,
|
dateFormatParamName, transactionDateParamName, actualDisbursementDateParamName, bulkRepaymentTransactionsParamName,
|
||||||
|
|||||||
+3
-3
@@ -65,9 +65,9 @@ public class Meeting extends AbstractPersistable<Long> {
|
|||||||
this.meetingDate = meetingDate;
|
this.meetingDate = meetingDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Meeting createNew(final CalendarInstance calendarInstance, final Date meetingDate) {
|
public static Meeting createNew(final CalendarInstance calendarInstance, final Date meetingDate, Boolean isTransactionDateOnNonMeetingDate) {
|
||||||
|
|
||||||
if (!isValidMeetingDate(calendarInstance, meetingDate)) { throw new NotValidRecurringDateException("meeting", "The date '"
|
if (!isTransactionDateOnNonMeetingDate && !isValidMeetingDate(calendarInstance, meetingDate)) { throw new NotValidRecurringDateException("meeting", "The date '"
|
||||||
+ meetingDate + "' is not a valid meeting date.", meetingDate); }
|
+ meetingDate + "' is not a valid meeting date.", meetingDate); }
|
||||||
return new Meeting(calendarInstance, 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.clientIdParamName;
|
||||||
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.clientsAttendanceParamName;
|
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.clientsAttendanceParamName;
|
||||||
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.meetingDateParamName;
|
import static org.mifosplatform.portfolio.meeting.MeetingApiConstants.meetingDateParamName;
|
||||||
|
import static org.mifosplatform.portfolio.collectionsheet.CollectionSheetConstants.isTransactionDateOnNonMeetingDateParamName;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -81,11 +82,12 @@ public class MeetingWritePlatformServiceJpaRepositoryImpl implements MeetingWrit
|
|||||||
this.meetingDataValidator.validateForCreate(command);
|
this.meetingDataValidator.validateForCreate(command);
|
||||||
|
|
||||||
final Date meetingDate = command.DateValueOfParameterNamed(meetingDateParamName);
|
final Date meetingDate = command.DateValueOfParameterNamed(meetingDateParamName);
|
||||||
|
final Boolean isTransactionDateOnNonMeetingDate = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final CalendarInstance calendarInstance = getCalendarInstance(command);
|
final CalendarInstance calendarInstance = getCalendarInstance(command);
|
||||||
// create new meeting
|
// 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);
|
final Collection<ClientAttendance> clientsAttendance = getClientsAttendance(newMeeting, command);
|
||||||
if (clientsAttendance != null && !clientsAttendance.isEmpty()) {
|
if (clientsAttendance != null && !clientsAttendance.isEmpty()) {
|
||||||
@@ -261,13 +263,14 @@ public class MeetingWritePlatformServiceJpaRepositoryImpl implements MeetingWrit
|
|||||||
@Override
|
@Override
|
||||||
public void updateCollectionSheetAttendance(final JsonCommand command) {
|
public void updateCollectionSheetAttendance(final JsonCommand command) {
|
||||||
final Date meetingDate = command.DateValueOfParameterNamed(transactionDateParamName);
|
final Date meetingDate = command.DateValueOfParameterNamed(transactionDateParamName);
|
||||||
|
final Boolean isTransactionDateOnNonMeetingDate = command.booleanPrimitiveValueOfParameterNamed(isTransactionDateOnNonMeetingDateParamName);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final CalendarInstance calendarInstance = getCalendarInstance(command);
|
final CalendarInstance calendarInstance = getCalendarInstance(command);
|
||||||
final Meeting meeting = this.meetingRepository.findByCalendarInstanceIdAndMeetingDate(calendarInstance.getId(), meetingDate);
|
final Meeting meeting = this.meetingRepository.findByCalendarInstanceIdAndMeetingDate(calendarInstance.getId(), meetingDate);
|
||||||
|
|
||||||
// create new meeting
|
// 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);
|
final Collection<ClientAttendance> clientsAttendance = getClientsAttendance(newMeeting, command);
|
||||||
if (clientsAttendance != null && !clientsAttendance.isEmpty()) {
|
if (clientsAttendance != null && !clientsAttendance.isEmpty()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user