in service/src/main/java/org/apache/fineract/cn/teller/service/rest/TellerOperationRestController.java [349:375]
private void verifyTellerTransaction(final Teller teller, final TellerTransaction tellerTransaction) {
final String transactionType = tellerTransaction.getTransactionType();
final BigDecimal transactionAmount = tellerTransaction.getAmount();
if (transactionType.equals(ServiceConstants.TX_CASH_WITHDRAWAL)
|| transactionType.equals(ServiceConstants.TX_CLOSE_ACCOUNT)) {
if (transactionAmount.compareTo(teller.getCashdrawLimit()) > 0) {
throw ServiceException.conflict("Amount exceeds cash drawl limit.");
}
}
if (transactionType.equals(ServiceConstants.TX_OPEN_ACCOUNT)) {
final ProductDefinition productDefinition =
this.depositAccountManagementService.findProductDefinition(tellerTransaction.getProductIdentifier());
if (productDefinition.getMinimumBalance() != null
&& productDefinition.getMinimumBalance() > 0.00D) {
final BigDecimal minimumBalance = BigDecimal.valueOf(productDefinition.getMinimumBalance());
if (transactionAmount.compareTo(minimumBalance) < 0) {
throw ServiceException.conflict(
"Amount {0} must be equal to or greater than minimum balance {1}.",
transactionAmount, minimumBalance);
}
}
}
this.verifyChequeTransaction(tellerTransaction);
}