Untitled
unknown
plain_text
3 years ago
4.9 kB
6
Indexable
public Boolean generateSalesReport(SalesReport salesReport){
try{
objOs.writeObject("Sales Report");
objOs.writeObject(salesReport);
objOs.flush();
var foundData =(Boolean)objIs.readObject();
var checkoutArrayList = (ArrayList<Checkout>)objIs.readObject();
if (foundData){
Document doc = new Document();
try{
PdfWriter writer = PdfWriter.getInstance(doc,new FileOutputStream("src/salesReport_" + filename + ".pdf"));
doc.open();
String salesReportHeader = String.format("******************************************************************************************************************\n" +
" Jan's Wholesale and Retail Management System \n" +
" Sales Report\n" +
"******************************************************************************************************************\n" +
"Product Code: %s\nFrom: %s\nTo: %s\n"
,salesReport.getProductCode(),salesReport.getStartDate().toString(),salesReport.getEndDate().toString());
doc.add(new Paragraph(salesReportHeader));
doc.add(new Paragraph(" "));
int totalItemSold = 0;
int count = 1;
for(Checkout checkout: checkoutArrayList){
totalItemSold = totalItemSold + checkout.getQuantityOfItem();
String row = count +") Invoice Number: " + checkout.getInvoiceNum() + " Billing Date: " + checkout.getBillingDate() + " Item: " + checkout.getItem() +
" Quantity Of Item: " + checkout.getQuantityOfItem();
doc.add(new Paragraph(row));
count += 1;
}
doc.add(new Paragraph(" "));
doc.add(new Paragraph("Total items sold: " + totalItemSold));
doc.add(new Paragraph(" "));
String footer = "******************************************************************************************************************\n" +
" Telephone: 876-934-5632 \n" +
" 23 Priceswright Way \n" +
" Kingston 10 Jamaica \n" +
"******************************************************************************************************************\n";
doc.add(new Paragraph(footer));
doc.close();
writer.close();
if(Desktop.isDesktopSupported()){
File receipt = new File("src/salesReport_" + filename + ".pdf");
try {
Desktop.getDesktop().open(receipt);
} catch (IOException e) {
logger.error("IOException: " +e.getMessage());
}catch (IllegalArgumentException e){
logger.error("IllegalArgumentException: " +e.getMessage());
}catch (NullPointerException e){
logger.error("NullPointerException: " +e.getMessage());
}catch (UnsupportedOperationException e){
logger.error("UnsupportedOperationException: " +e.getMessage());
}catch (Exception e) {
logger.error("Exception: " + e.getMessage());
}
}
}catch (DocumentException e){
logger.error("DocumentException: " + e.getMessage());
}catch (FileNotFoundException e){
logger.error("FileNotFoundException: " + e.getMessage());
}catch (Exception e) {
logger.error("Exception: " + e.getMessage());
}
return true;
}
else{
logger.error("Cannot load sales data");
return false;
}
}catch(IOException e) {
logger.error("IOException: " + e.getMessage());
}catch (ClassNotFoundException e){
logger.error("ClassNotFoundException: " + e.getMessage());
}catch (Exception e) {
logger.error("Exception: " + e.getMessage());
}
return false;
}Editor is loading...