updates to CalendarInstance Repository

This commit is contained in:
Vishwas Babu A J
2014-12-05 22:30:24 -08:00
parent 9f78554972
commit c7f3f416ad
2 changed files with 7 additions and 8 deletions
@@ -47,6 +47,6 @@ public interface CalendarInstanceRepository extends JpaRepository<CalendarInstan
*/
@Query("SELECT COUNT(ci.id) FROM CalendarInstance ci, Loan ln WHERE ln.id = ci.entityId AND ci.entityTypeId = 3 AND ci.calendar.id = :calendarId AND ln.loanStatus IN :loanStatuses ")
Integer countOfActiveLoansWithSyncedToCalendar(@Param("calendarId") Long calendarId, @Param("loanStatuses") Collection<Integer> loanStatuses );
Integer countOfLoansSyncedWithCalendar(@Param("calendarId") Long calendarId, @Param("loanStatuses") Collection<Integer> loanStatuses );
}
@@ -101,7 +101,7 @@ public class CalendarWritePlatformServiceJpaRepositoryImpl implements CalendarWr
entityType = CalendarEntityType.CLIENTS;
entityId = command.getClientId();
}
final Integer entityTypeId = entityType.getValue();
final Calendar newCalendar = Calendar.fromJson(command);
@@ -156,7 +156,6 @@ public class CalendarWritePlatformServiceJpaRepositoryImpl implements CalendarWr
@Override
public CommandProcessingResult updateCalendar(final JsonCommand command) {
/*
* Validate all the data for updating the calendar
*/
@@ -167,15 +166,15 @@ public class CalendarWritePlatformServiceJpaRepositoryImpl implements CalendarWr
final Collection<Integer> loanStatuses = new ArrayList<>(Arrays.asList(LoanStatus.SUBMITTED_AND_PENDING_APPROVAL.getValue(),
LoanStatus.APPROVED.getValue(), LoanStatus.ACTIVE.getValue()));
final Integer numberOfActiveLoansSyncedTheCalendar = this.calendarInstanceRepository.countOfActiveLoansWithSyncedToCalendar(calendarId, loanStatuses);
final Integer numberOfActiveLoansSyncedWithThisCalendar = this.calendarInstanceRepository.countOfLoansSyncedWithCalendar(
calendarId, loanStatuses);
/*
* Validate all the business rules
*/
this.fromApiJsonDeserializer.validateBusinessRulesForUpdate(command.json(), numberOfActiveLoansSyncedTheCalendar);
this.fromApiJsonDeserializer.validateBusinessRulesForUpdate(command.json(), numberOfActiveLoansSyncedWithThisCalendar);
final Calendar calendarForUpdate = this.calendarRepository.findOne(calendarId);
if (calendarForUpdate == null) { throw new CalendarNotFoundException(calendarId); }
final Date oldStartDate = calendarForUpdate.getStartDate();