Search in sources :

Example 6 with Bank

use of com.axelor.apps.base.db.Bank in project axelor-open-suite by axelor.

the class ImportBank method setCountry.

@Transactional(rollbackOn = Exception.class)
public Object setCountry(Object bean, Map<String, Object> values) throws AxelorException {
    assert bean instanceof Bank;
    Bank bank = (Bank) bean;
    String code = (String) values.get("code");
    String codeCountry = code.substring(4, 6);
    Country country = countryRepository.all().filter("self.alpha2Code = :codeCountry").bind("codeCountry", codeCountry).fetchOne();
    if (country != null) {
        bank.setCountry(country);
    }
    bankRepository.save(bank);
    return bank;
}
Also used : Bank(com.axelor.apps.base.db.Bank) Country(com.axelor.apps.base.db.Country) Transactional(com.google.inject.persist.Transactional)

Example 7 with Bank

use of com.axelor.apps.base.db.Bank in project axelor-open-suite by axelor.

the class BankOrderLineService method createBankOrderLine.

/**
 * Generic method to create a BankOrderLine
 *
 * @param receiverCompany
 * @param partner
 * @param bankDetails
 * @param amount
 * @param receiverReference
 * @param receiverLabel
 * @return
 * @throws AxelorException
 */
public BankOrderLine createBankOrderLine(BankOrderFileFormat bankOrderFileFormat, Company receiverCompany, Partner partner, BankDetails bankDetails, BigDecimal amount, Currency currency, LocalDate bankOrderDate, String receiverReference, String receiverLabel, Model origin) throws AxelorException {
    BankOrderLine bankOrderLine = new BankOrderLine();
    bankOrderLine.setReceiverCompany(receiverCompany);
    bankOrderLine.setPartner(partner);
    bankOrderLine.setReceiverBankDetails(bankDetails);
    bankOrderLine.setBankOrderAmount(amount);
    if (bankOrderFileFormat.getIsMultiCurrency()) {
        bankOrderLine.setBankOrderCurrency(currency);
    }
    if (bankOrderFileFormat.getIsMultiDate()) {
        bankOrderLine.setBankOrderDate(bankOrderDate);
    }
    bankOrderLine.setReceiverReference(receiverReference);
    bankOrderLine.setReceiverLabel(receiverLabel);
    if (origin != null) {
        bankOrderLine.addBankOrderLineOriginListItem(bankOrderLineOriginService.createBankOrderLineOrigin(origin));
    }
    if (bankOrderFileFormat.getOrderFileFormatSelect().equals(BankOrderFileFormatRepository.FILE_FORMAT_PAIN_XXX_CFONB320_XCT)) {
        bankOrderLine.setBankOrderEconomicReason(bankOrderFileFormat.getBankOrderEconomicReason());
        bankOrderLine.setReceiverCountry(bankOrderFileFormat.getReceiverCountry());
        if (bankDetails != null) {
            Bank bank = bankDetails.getBank();
            if (bank != null && bank.getCountry() != null) {
                bankOrderLine.setReceiverCountry(bank.getCountry());
            }
        } else {
            throw new AxelorException(bankOrderLine, TraceBackRepository.CATEGORY_INCONSISTENCY, I18n.get(IExceptionMessage.BANK_ORDER_LINE_BANK_DETAILS_MISSING));
        }
        bankOrderLine.setPaymentModeSelect(bankOrderFileFormat.getPaymentModeSelect());
        bankOrderLine.setFeesImputationModeSelect(bankOrderFileFormat.getFeesImputationModeSelect());
        bankOrderLine.setReceiverAddressStr(getReceiverAddress(partner));
    }
    return bankOrderLine;
}
Also used : AxelorException(com.axelor.exception.AxelorException) BankOrderLine(com.axelor.apps.bankpayment.db.BankOrderLine) Bank(com.axelor.apps.base.db.Bank)

Aggregations

Bank (com.axelor.apps.base.db.Bank)7 BankDetails (com.axelor.apps.base.db.BankDetails)3 AxelorException (com.axelor.exception.AxelorException)3 BankDetailsService (com.axelor.apps.base.service.BankDetailsService)2 IOException (java.io.IOException)2 JAXBException (javax.xml.bind.JAXBException)2 DatatypeConfigurationException (javax.xml.datatype.DatatypeConfigurationException)2 IbanFormatException (org.iban4j.IbanFormatException)2 InvalidCheckDigitException (org.iban4j.InvalidCheckDigitException)2 UnsupportedCountryException (org.iban4j.UnsupportedCountryException)2 BankOrderLine (com.axelor.apps.bankpayment.db.BankOrderLine)1 EbicsBank (com.axelor.apps.bankpayment.db.EbicsBank)1 EbicsCertificate (com.axelor.apps.bankpayment.db.EbicsCertificate)1 EbicsPartner (com.axelor.apps.bankpayment.db.EbicsPartner)1 EbicsUser (com.axelor.apps.bankpayment.db.EbicsUser)1 Country (com.axelor.apps.base.db.Country)1 Partner (com.axelor.apps.base.db.Partner)1 Function (com.google.common.base.Function)1 Transactional (com.google.inject.persist.Transactional)1