Search in sources :

Example 46 with Move

use of com.axelor.apps.account.db.Move in project axelor-open-suite by axelor.

the class CancelState method cancelMove.

protected void cancelMove() throws AxelorException {
    if (invoice.getOldMove() != null) {
        throw new AxelorException(TraceBackRepository.CATEGORY_CONFIGURATION_ERROR, I18n.get(IExceptionMessage.INVOICE_CANCEL_1));
    }
    Move move = invoice.getMove();
    invoice.setMove(null);
    Beans.get(MoveCancelService.class).cancel(move);
}
Also used : AxelorException(com.axelor.exception.AxelorException) MoveCancelService(com.axelor.apps.account.service.move.MoveCancelService) Move(com.axelor.apps.account.db.Move)

Example 47 with Move

use of com.axelor.apps.account.db.Move in project axelor-open-suite by axelor.

the class BankOrderMoveServiceImpl method generateSenderMove.

protected Move generateSenderMove(BankOrderLine bankOrderLine) throws AxelorException {
    Partner partner = bankOrderLine.getPartner();
    Move senderMove = moveService.getMoveCreateService().createMove(journal, senderCompany, this.getCurrency(bankOrderLine), partner, this.getDate(bankOrderLine), paymentMode, MoveRepository.TECHNICAL_ORIGIN_AUTOMATIC, MoveRepository.FUNCTIONAL_ORIGIN_PAYMENT);
    MoveLine bankMoveLine = moveService.getMoveLineService().createMoveLine(senderMove, partner, senderBankAccount, bankOrderLine.getBankOrderAmount(), !isDebit, senderMove.getDate(), 1, bankOrderLine.getReceiverReference(), bankOrderLine.getReceiverLabel());
    senderMove.addMoveLineListItem(bankMoveLine);
    MoveLine partnerMoveLine = moveService.getMoveLineService().createMoveLine(senderMove, partner, getPartnerAccount(partner, senderCompany, senderCompany), bankOrderLine.getBankOrderAmount(), isDebit, senderMove.getDate(), 2, bankOrderLine.getReceiverReference(), bankOrderLine.getReceiverLabel());
    senderMove.addMoveLineListItem(partnerMoveLine);
    return senderMove;
}
Also used : Move(com.axelor.apps.account.db.Move) MoveLine(com.axelor.apps.account.db.MoveLine) Partner(com.axelor.apps.base.db.Partner)

Example 48 with Move

use of com.axelor.apps.account.db.Move in project axelor-open-suite by axelor.

the class BankOrderMoveServiceImpl method generateReceiverMove.

protected Move generateReceiverMove(BankOrderLine bankOrderLine) throws AxelorException {
    Partner partner = bankOrderLine.getPartner();
    Company receiverCompany = bankOrderLine.getReceiverCompany();
    BankDetails receiverBankDetails = bankOrderLine.getReceiverBankDetails();
    Journal receiverJournal = paymentModeService.getPaymentModeJournal(paymentMode, receiverCompany, receiverBankDetails);
    Account receiverBankAccount = paymentModeService.getPaymentModeAccount(paymentMode, receiverCompany, receiverBankDetails);
    Move receiverMove = moveService.getMoveCreateService().createMove(receiverJournal, receiverCompany, this.getCurrency(bankOrderLine), partner, this.getDate(bankOrderLine), paymentMode, MoveRepository.TECHNICAL_ORIGIN_AUTOMATIC, MoveRepository.FUNCTIONAL_ORIGIN_PAYMENT);
    MoveLine bankMoveLine = moveService.getMoveLineService().createMoveLine(receiverMove, partner, receiverBankAccount, bankOrderLine.getBankOrderAmount(), isDebit, receiverMove.getDate(), 1, bankOrderLine.getReceiverReference(), bankOrderLine.getReceiverLabel());
    receiverMove.addMoveLineListItem(bankMoveLine);
    MoveLine partnerMoveLine = moveService.getMoveLineService().createMoveLine(receiverMove, partner, getPartnerAccount(partner, receiverCompany, receiverMove.getCompany()), bankOrderLine.getBankOrderAmount(), !isDebit, receiverMove.getDate(), 2, bankOrderLine.getReceiverReference(), bankOrderLine.getReceiverLabel());
    receiverMove.addMoveLineListItem(partnerMoveLine);
    return receiverMove;
}
Also used : Account(com.axelor.apps.account.db.Account) Company(com.axelor.apps.base.db.Company) Move(com.axelor.apps.account.db.Move) BankDetails(com.axelor.apps.base.db.BankDetails) MoveLine(com.axelor.apps.account.db.MoveLine) Journal(com.axelor.apps.account.db.Journal) Partner(com.axelor.apps.base.db.Partner)

Example 49 with Move

use of com.axelor.apps.account.db.Move in project axelor-open-suite by axelor.

the class MoveServiceBankPaymentImpl method generateReverse.

@Transactional(rollbackOn = { AxelorException.class, RuntimeException.class })
public Move generateReverse(Move move, Map<String, Object> assistantMap) throws AxelorException {
    Move newMove = super.generateReverse(move, assistantMap);
    boolean isHiddenMoveLinesInBankReconciliation = (boolean) assistantMap.get("isHiddenMoveLinesInBankReconciliation");
    if (isHiddenMoveLinesInBankReconciliation) {
        move = this.updateBankAmountReconcile(move);
    }
    return newMove;
}
Also used : Move(com.axelor.apps.account.db.Move) Transactional(com.google.inject.persist.Transactional)

Example 50 with Move

use of com.axelor.apps.account.db.Move in project axelor-open-suite by axelor.

the class PaymentScheduleLineBankPaymentServiceImpl method createRejectionMove.

@Transactional(rollbackOn = { Exception.class })
protected Move createRejectionMove(PaymentScheduleLine paymentScheduleLine) throws AxelorException {
    MoveValidateService moveValidateService = moveService.getMoveValidateService();
    MoveLineService moveLineService = moveService.getMoveLineService();
    Move advanceOrPaymentMove = paymentScheduleLine.getAdvanceOrPaymentMove();
    Move rejectionMove = moveService.generateReverse(advanceOrPaymentMove, true, true, false, advanceOrPaymentMove.getDate());
    rejectionMove.setRejectOk(true);
    moveValidateService.validate(rejectionMove);
    List<MoveLine> moveLineList = new ArrayList<>();
    moveLineList.addAll(advanceOrPaymentMove.getMoveLineList());
    moveLineList.addAll(rejectionMove.getMoveLineList());
    moveLineService.reconcileMoveLines(moveLineList);
    return rejectionMove;
}
Also used : MoveLineService(com.axelor.apps.account.service.move.MoveLineService) MoveValidateService(com.axelor.apps.account.service.move.MoveValidateService) Move(com.axelor.apps.account.db.Move) MoveLine(com.axelor.apps.account.db.MoveLine) ArrayList(java.util.ArrayList) Transactional(com.google.inject.persist.Transactional)

Aggregations

Move (com.axelor.apps.account.db.Move)101 MoveLine (com.axelor.apps.account.db.MoveLine)51 Transactional (com.google.inject.persist.Transactional)37 Company (com.axelor.apps.base.db.Company)36 AxelorException (com.axelor.exception.AxelorException)34 BigDecimal (java.math.BigDecimal)33 Partner (com.axelor.apps.base.db.Partner)31 LocalDate (java.time.LocalDate)28 Journal (com.axelor.apps.account.db.Journal)25 Account (com.axelor.apps.account.db.Account)22 ArrayList (java.util.ArrayList)22 AccountConfig (com.axelor.apps.account.db.AccountConfig)18 Reconcile (com.axelor.apps.account.db.Reconcile)14 AnalyticMoveLine (com.axelor.apps.account.db.AnalyticMoveLine)11 Invoice (com.axelor.apps.account.db.Invoice)11 List (java.util.List)7 BankDetails (com.axelor.apps.base.db.BankDetails)6 InvoicePayment (com.axelor.apps.account.db.InvoicePayment)5 MoveRepository (com.axelor.apps.account.db.repo.MoveRepository)5 MoveService (com.axelor.apps.account.service.move.MoveService)5