Search in sources :

Example 1 with MoveLineExportService

use of com.axelor.apps.account.service.MoveLineExportService in project axelor-open-suite by axelor.

the class AccountingReportController method printExportMoveLine.

/**
 * @param request
 * @param response
 */
public void printExportMoveLine(ActionRequest request, ActionResponse response) {
    AccountingReport accountingReport = request.getContext().asType(AccountingReport.class);
    accountingReport = Beans.get(AccountingReportRepository.class).find(accountingReport.getId());
    AccountingReportService accountingReportService = Beans.get(AccountingReportService.class);
    try {
        int typeSelect = accountingReport.getReportType().getTypeSelect();
        if (accountingReport.getExportTypeSelect() == null || accountingReport.getExportTypeSelect().isEmpty() || typeSelect == 0) {
            response.setFlash(I18n.get(IExceptionMessage.ACCOUNTING_REPORT_4));
            response.setReload(true);
            return;
        }
        if (accountingReportService.isThereTooManyLines(accountingReport)) {
            response.setAlert(I18n.get("A large number of recording has been fetched in this period. Edition can take a while. Do you want to proceed ?"));
        }
        logger.debug("Type selected : {}", typeSelect);
        if ((typeSelect >= AccountingReportRepository.EXPORT_ADMINISTRATION && typeSelect < AccountingReportRepository.REPORT_ANALYTIC_BALANCE)) {
            MoveLineExportService moveLineExportService = Beans.get(MoveLineExportService.class);
            MetaFile accesssFile = moveLineExportService.exportMoveLine(accountingReport);
            if (typeSelect == AccountingReportRepository.EXPORT_ADMINISTRATION && accesssFile != null) {
                response.setView(ActionView.define(I18n.get("Export file")).model(App.class.getName()).add("html", "ws/rest/com.axelor.meta.db.MetaFile/" + accesssFile.getId() + "/content/download?v=" + accesssFile.getVersion()).param("download", "true").map());
            }
        } else {
            accountingReportService.setPublicationDateTime(accountingReport);
            String name = accountingReport.getReportType().getName() + " " + accountingReport.getRef();
            String fileLink = accountingReportService.getReportFileLink(accountingReport, name);
            logger.debug("Printing " + name);
            response.setView(ActionView.define(name).add("html", fileLink).map());
            accountingReportService.setStatus(accountingReport);
        }
    } catch (Exception e) {
        TraceBackService.trace(response, e);
    }
}
Also used : App(com.axelor.apps.base.db.App) AccountingReport(com.axelor.apps.account.db.AccountingReport) MoveLineExportService(com.axelor.apps.account.service.MoveLineExportService) MetaFile(com.axelor.meta.db.MetaFile) AccountingReportService(com.axelor.apps.account.service.AccountingReportService)

Example 2 with MoveLineExportService

use of com.axelor.apps.account.service.MoveLineExportService in project axelor-open-suite by axelor.

the class AccountingReportController method replayExport.

/**
 * @param request
 * @param response
 */
public void replayExport(ActionRequest request, ActionResponse response) {
    AccountingReport accountingReport = request.getContext().asType(AccountingReport.class);
    accountingReport = Beans.get(AccountingReportRepository.class).find(accountingReport.getId());
    MoveLineExportService moveLineExportService = Beans.get(MoveLineExportService.class);
    try {
        moveLineExportService.replayExportMoveLine(accountingReport);
    } catch (Exception e) {
        TraceBackService.trace(response, e);
    }
}
Also used : AccountingReport(com.axelor.apps.account.db.AccountingReport) MoveLineExportService(com.axelor.apps.account.service.MoveLineExportService)

Aggregations

AccountingReport (com.axelor.apps.account.db.AccountingReport)2 MoveLineExportService (com.axelor.apps.account.service.MoveLineExportService)2 AccountingReportService (com.axelor.apps.account.service.AccountingReportService)1 App (com.axelor.apps.base.db.App)1 MetaFile (com.axelor.meta.db.MetaFile)1