use of org.mifos.framework.exceptions.PersistenceException in project head by mifos.
the class LoanBO method waiveFeeAmountOverDue.
private void waiveFeeAmountOverDue() throws AccountException {
Money chargeWaived = new Money(getCurrency());
Money principal = new Money(getCurrency());
Money interest = new Money(getCurrency());
Money penalty = new Money(getCurrency());
List<AccountActionDateEntity> accountActionDateList = getApplicableIdsForNextInstallmentAndArrears();
// installment.
if (getDetailsOfNextInstallment() != null) {
accountActionDateList.remove(accountActionDateList.size() - 1);
}
for (AccountActionDateEntity accountActionDateEntity : accountActionDateList) {
chargeWaived = chargeWaived.add(((LoanScheduleEntity) accountActionDateEntity).waiveFeeCharges());
}
if (chargeWaived != null && chargeWaived.isGreaterThanZero()) {
updateTotalFeeAmount(chargeWaived);
updateAccountActivity(principal, interest, chargeWaived, penalty, userContext.getId(), AccountConstants.AMOUNT + chargeWaived + AccountConstants.WAIVED);
waiveOverdueChargesFromMemberAccounts(LoanConstants.FEE_WAIVED);
}
try {
getlegacyLoanDao().createOrUpdate(this);
} catch (PersistenceException e) {
throw new AccountException(e);
}
}
use of org.mifos.framework.exceptions.PersistenceException in project head by mifos.
the class LoanBO method save.
/**
* use service/dao for saving and creating loans
*/
@Deprecated
public void save() throws AccountException {
try {
this.addAccountStatusChangeHistory(new AccountStatusChangeHistoryEntity(this.getAccountState(), this.getAccountState(), legacyPersonnelDao.getPersonnel(userContext.getId()), this));
getlegacyLoanDao().createOrUpdate(this);
this.globalAccountNum = generateId(userContext.getBranchGlobalNum());
getlegacyLoanDao().createOrUpdate(this);
} catch (PersistenceException e) {
throw new AccountException(AccountExceptionConstants.CREATEEXCEPTION, e);
}
}
use of org.mifos.framework.exceptions.PersistenceException in project head by mifos.
the class LoanBO method applyMifos4948FixPayment.
/*
* Mifos-4948 specific code
*/
public void applyMifos4948FixPayment(Money totalMissedPayment) throws AccountException {
String comment = "MIFOS-4948 - Loan: " + this.getGlobalAccountNum() + " - Adding payment: " + totalMissedPayment;
try {
PersonnelBO currentUser = legacyPersonnelDao.getPersonnel((short) 1);
Date transactionDate = new DateTimeService().getCurrentJavaDateTime();
AccountPaymentEntity accountPaymentEntity = new AccountPaymentEntity(this, totalMissedPayment, null, null, getPaymentTypeEntity(Short.valueOf("1")), transactionDate);
addAccountPayment(accountPaymentEntity);
accountPaymentEntity.setComment(comment);
AccountActionTypes accountActionTypes;
String accountConstants;
if (this.getAccountState().getId().equals(AccountState.LOAN_CLOSED_WRITTEN_OFF.getValue())) {
accountActionTypes = AccountActionTypes.WRITEOFF;
accountConstants = AccountConstants.LOAN_WRITTEN_OFF;
} else {
accountActionTypes = AccountActionTypes.LOAN_RESCHEDULED;
accountConstants = AccountConstants.LOAN_RESCHEDULED;
}
makeWriteOffOrReschedulePaymentForMifos4948(accountPaymentEntity, accountConstants, accountActionTypes, currentUser);
addLoanActivity(buildLoanActivity(accountPaymentEntity.getAccountTrxns(), currentUser, accountConstants, transactionDate));
buildFinancialEntries(accountPaymentEntity.getAccountTrxns());
} catch (PersistenceException e) {
throw new AccountException(e);
}
}
use of org.mifos.framework.exceptions.PersistenceException in project head by mifos.
the class LoanBO method waivePenaltyAmountDue.
private void waivePenaltyAmountDue() throws AccountException {
List<AccountActionDateEntity> accountActionDateList = getApplicableIdsForNextInstallmentAndArrears();
LoanScheduleEntity accountActionDateEntity = (LoanScheduleEntity) accountActionDateList.get(accountActionDateList.size() - 1);
Money principal = new Money(getCurrency());
Money interest = new Money(getCurrency());
Money fee = new Money(getCurrency());
Money chargeWaived = accountActionDateEntity.waivePenaltyCharges();
if (chargeWaived != null && chargeWaived.isGreaterThanZero()) {
updateTotalPenaltyAmount(chargeWaived);
updateAccountActivity(principal, interest, fee, chargeWaived, userContext.getId(), LoanConstants.PENALTY_WAIVED);
waiveChargesFromMemberAccounts(LoanConstants.PENALTY_WAIVED);
}
try {
getlegacyLoanDao().createOrUpdate(this);
} catch (PersistenceException e) {
throw new AccountException(e);
}
}
use of org.mifos.framework.exceptions.PersistenceException in project head by mifos.
the class CheckListServiceFacadeWebTier method updateCustomerChecklist.
@Override
public void updateCustomerChecklist(Short checklistId, Short levelId, Short stateId, Short checklistStatus, String checklistName, List<String> details) {
MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserContext userContext = new UserContextFactory().create(user);
CustomerLevelEntity customerLevelEntity = new CustomerLevelEntity(CustomerLevel.getLevel(levelId));
CustomerStatusEntity customerStatusEntity = new CustomerStatusEntity(stateId);
try {
hibernateTransactionHelper.startTransaction();
CustomerCheckListBO customerCheckList = (CustomerCheckListBO) new CheckListPersistence().getCheckList(checklistId);
customerCheckList.update(customerLevelEntity, customerStatusEntity, checklistName, checklistStatus, details, userContext.getLocaleId(), userContext.getId());
customerDao.save(customerCheckList);
hibernateTransactionHelper.commitTransaction();
} catch (CheckListException e) {
hibernateTransactionHelper.rollbackTransaction();
throw new BusinessRuleException(e.getKey(), e);
} catch (PersistenceException e) {
hibernateTransactionHelper.rollbackTransaction();
throw new MifosRuntimeException(e);
} finally {
hibernateTransactionHelper.closeSession();
}
}
Aggregations