/** * This method generates the required report and returns the PDF stream as {@link * AttachmentDataSource}. It first identifies the report type to be printed, then fetches the * required report generator. The report generator generates XML which is then passed to {@link * PrintingService} for transforming into PDF. * * @param proposalDocument proposal data using which report is generated * @param reportName report to be generated * @param reportParameters {@link Map} of parameters required for report generation * @return {@link AttachmentDataSource} which contains the byte array of the generated PDF * @throws PrintingException if any errors occur during report generation */ public AttachmentDataSource printInstitutionalProposalReport( KcPersistableBusinessObjectBase institutionalProposal, String reportName, Map<String, Object> reportParameters) throws PrintingException { AttachmentDataSource source = null; AbstractPrint printable = null; if (reportName.equals( InstitutionalProposalPrintType.INSTITUTIONAL_PROPOSAL_REPORT .getInstitutionalProposalPrintType())) { printable = getInstitutionalProposalPrint(); } printable.setPrintableBusinessObject(institutionalProposal); printable.setReportParameters(reportParameters); source = getPrintingService().print(printable); return source; }
@Override public List<Printable> getCorrespondencePrintable( KcPersistableBusinessObjectBase printableBusinessObject, List<CorrespondencePrintOption> correspondenceToPrint) { List<Printable> printables = new ArrayList<Printable>(); for (CorrespondencePrintOption printOption : correspondenceToPrint) { if (printOption.isSelected()) { AbstractPrint printable = new CorrespondencePrint(); printable.setXmlStream(getCorrespondencePrint().getXmlStream()); Map<String, Object> reportParameters = new HashMap<String, Object>(); if (printOption.getScheduleId() != null) { reportParameters.put("scheduleId", printOption.getScheduleId()); } reportParameters.put("correspondenceId", "1"); if (ObjectUtils.isNotNull(printOption.getProtocolCorrespondenceTemplate())) { reportParameters.put( "template", printOption.getProtocolCorrespondenceTemplate().getCorrespondenceTemplate()); } // will be used by amendcorrespondence reportParameters.put("moduleSubItemCode", printOption.getSubItemCode()); if (CoeusSubModule.PROTOCOL_SUBMISSION.equals(printOption.getSubItemCode())) { reportParameters.put(PROTOCOL_NUMBER, printOption.getItemKey()); reportParameters.put(SUBMISSION_NUMBER, printOption.getSubItemKey()); } if (printable != null) { printable.setPrintableBusinessObject(printableBusinessObject); printable.setReportParameters(reportParameters); printables.add(printable); } } } return printables; }
@Autowired @Qualifier("industrialCumBudgetXmlStream") @Override public void setXmlStream(XmlStream budgetTotalXmlStream) { super.setXmlStream(budgetTotalXmlStream); }