| Line 39... |
Line 39... |
| 39 |
|
39 |
|
| 40 |
private static float[] igstWidthsWithDiscount = new float[] { .3f, 2.6f, 0.7f, .4f, 0.7f, 0.5f, .7f, .6f, 0.6f,
|
40 |
private static float[] igstWidthsWithDiscount = new float[] { .3f, 2.6f, 0.7f, .4f, 0.7f, 0.5f, .7f, .6f, 0.6f,
|
| 41 |
0.9f };
|
41 |
0.9f };
|
| 42 |
private static float[] stateWidthsWithDiscount = new float[] { .2f, 2.1f, 0.7f, .3f, 0.6f, 0.4f, .7f, .5f, .6f, .5f,
|
42 |
private static float[] stateWidthsWithDiscount = new float[] { .2f, 2.1f, 0.7f, .3f, 0.6f, 0.4f, .7f, .5f, .6f, .5f,
|
| 43 |
.6f, .8f };
|
43 |
.6f, .8f };
|
| 44 |
|
44 |
|
| 45 |
private static float[] igstWidths = new float[] { .3f, 2.6f, 0.7f, .4f, 0.7f, 0.5f, .7f, .6f, 0.6f,
|
45 |
private static float[] igstWidths = new float[] { .3f, 2.6f, 0.7f, .4f, 0.7f, .7f, .6f, 0.6f, 0.9f };
|
| 46 |
0.9f };
|
- |
|
| 47 |
private static float[] stateWidths = new float[] { .2f, 2.1f, 0.7f, .3f, 0.6f, 0.4f, .7f, .5f, .6f, .5f,
|
46 |
private static float[] stateWidths = new float[] { .2f, 2.1f, 0.7f, .3f, 0.6f, .7f, .5f, .6f, .5f, .6f, .8f };
|
| 48 |
.6f, .8f };
|
- |
|
| 49 |
|
47 |
|
| 50 |
private static final Locale indianLocale = Locale.getDefault();
|
48 |
private static final Locale indianLocale = Locale.getDefault();
|
| 51 |
|
49 |
|
| 52 |
private static final Logger LOGGER = LoggerFactory.getLogger(PdfUtils.class);
|
50 |
private static final Logger LOGGER = LoggerFactory.getLogger(PdfUtils.class);
|
| 53 |
|
51 |
|
| Line 317... |
Line 315... |
| 317 |
paragraphTitle.setAlignment(Element.ALIGN_CENTER);
|
315 |
paragraphTitle.setAlignment(Element.ALIGN_CENTER);
|
| 318 |
|
316 |
|
| 319 |
PdfPCell blankCell = new PdfPCell();
|
317 |
PdfPCell blankCell = new PdfPCell();
|
| 320 |
blankCell.setBorder(Rectangle.NO_BORDER);
|
318 |
blankCell.setBorder(Rectangle.NO_BORDER);
|
| 321 |
PdfPTable tableCustomerRetailer = new PdfPTable(3);
|
319 |
PdfPTable tableCustomerRetailer = new PdfPTable(3);
|
| 322 |
tableCustomerRetailer.setWidthPercentage(90);
|
320 |
tableCustomerRetailer.setWidthPercentage(95);
|
| 323 |
tableCustomerRetailer.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
- |
|
| 324 |
PdfPCell partnerInfo = new PdfPCell();
|
321 |
PdfPCell partnerInfo = new PdfPCell();
|
| 325 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getName()), FONT_NORMAL));
|
322 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getName()), FONT_BOLD));
|
| 326 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getLine1())
|
323 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getLine1())
|
| - |
|
324 |
+ customer.getAddress().getLine2() == null ? ""
|
| 327 |
+ customer.getAddress().getLine2() == null ? "" : StringUtils.capitalize(retailer.getAddress().getLine2()) + ", "));
|
325 |
: StringUtils.capitalize(retailer.getAddress().getLine2()) + ", "));
|
| 328 |
partnerInfo.addElement(new Paragraph(
|
326 |
partnerInfo.addElement(new Paragraph(
|
| 329 |
StringUtils.capitalize(customer.getAddress().getCity()) + ", "
|
327 |
StringUtils.capitalize(customer.getAddress().getCity()) + ", "
|
| 330 |
+ StringUtils.capitalize(customer.getAddress().getState()) + "("
|
328 |
+ StringUtils.capitalize(customer.getAddress().getState()) + "("
|
| 331 |
+ customerAddressStateCode + ")" + "\n" + customer.getAddress().getPinCode(),
|
329 |
+ customerAddressStateCode + ")" + "\n" + customer.getAddress().getPinCode(),
|
| 332 |
FONT_NORMAL));
|
330 |
FONT_BOLD));
|
| 333 |
partnerInfo.addElement(new Paragraph("Mobile - " + customer.getMobileNumber(), FONT_NORMAL));
|
331 |
partnerInfo.addElement(new Paragraph("Mobile - " + customer.getMobileNumber(), FONT_NORMAL));
|
| 334 |
if (customer.getGstNumber() != null && !customer.getGstNumber().isEmpty()) {
|
332 |
if (customer.getGstNumber() != null && !customer.getGstNumber().isEmpty()) {
|
| 335 |
partnerInfo
|
- |
|
| 336 |
.addElement(new Paragraph("GST Number - " + customer.getGstNumber(), FONT_NORMAL));
|
333 |
partnerInfo.addElement(new Paragraph("GST Number - " + customer.getGstNumber(), FONT_BOLD));
|
| 337 |
}
|
334 |
}
|
| 338 |
partnerInfo.setBorder(Rectangle.NO_BORDER);
|
- |
|
| 339 |
|
- |
|
| 340 |
|
335 |
|
| 341 |
PdfPCell sellerParty = new PdfPCell();
|
336 |
PdfPCell sellerParty = new PdfPCell();
|
| - |
|
337 |
sellerParty.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_NORMAL));
|
| 342 |
sellerParty.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_BOLD));
|
338 |
sellerParty.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_NORMAL));
|
| 343 |
sellerParty.addElement(new Paragraph(
|
339 |
sellerParty.addElement(new Paragraph(
|
| - |
|
340 |
(retailer.getAddress().getLine1() == null ? ""
|
| 344 |
(retailer.getAddress().getLine1() == null ? "" : StringUtils.capitalize(retailer.getAddress().getLine1()) + ", ")
|
341 |
: StringUtils.capitalize(retailer.getAddress().getLine1()) + ", ")
|
| - |
|
342 |
+ (retailer.getAddress().getLine2() == null ? ""
|
| 345 |
+ (retailer.getAddress().getLine2() == null ? "" : StringUtils.capitalize(retailer.getAddress().getLine2()) + ", ")
|
343 |
: StringUtils.capitalize(retailer.getAddress().getLine2()) + ", ")
|
| 346 |
+ StringUtils.capitalize(retailer.getAddress().getCity()) + "-"
|
344 |
+ StringUtils.capitalize(retailer.getAddress().getCity()) + "-"
|
| 347 |
+ retailer.getAddress().getPinCode() + ", " + retailer.getAddress().getState() + "("
|
345 |
+ retailer.getAddress().getPinCode() + ", " + retailer.getAddress().getState()
|
| 348 |
+ (stateGst ? customerAddressStateCode : retailerAddressStateCode) + ")", FONT_BOLD));
|
346 |
+ "(" + (stateGst ? customerAddressStateCode : retailerAddressStateCode) + ")",
|
| 349 |
sellerParty
|
347 |
FONT_BOLD));
|
| 350 |
.addElement(new Paragraph("Contact No.- " + retailer.getAddress().getPhoneNumber(), FONT_BOLD));
|
348 |
sellerParty.addElement(new Paragraph("Contact No.- " + retailer.getAddress().getPhoneNumber(), FONT_NORMAL));
|
| 351 |
sellerParty.addElement(new Paragraph("GST NO. " + retailer.getGstNumber(), FONT_BOLD));
|
349 |
sellerParty.addElement(new Paragraph("GST NO. " + retailer.getGstNumber(), FONT_BOLD));
|
| 352 |
sellerParty.setBorder(Rectangle.NO_BORDER);
|
- |
|
| 353 |
|
350 |
|
| 354 |
PdfPTable tableInvoiceDateRetailer = new PdfPTable(1);
|
351 |
PdfPTable tableInvoiceDateRetailer = new PdfPTable(1);
|
| 355 |
tableInvoiceDateRetailer.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
352 |
tableInvoiceDateRetailer.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
| 356 |
|
353 |
|
| 357 |
PdfPTable tableInvoiceDate = new PdfPTable(2);
|
354 |
PdfPTable tableInvoiceDate = new PdfPTable(2);
|
| 358 |
tableInvoiceDate.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
355 |
tableInvoiceDate.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
| - |
|
356 |
tableInvoiceDate.setWidthPercentage(90);
|
| 359 |
|
357 |
|
| - |
|
358 |
PdfPCell debitNoteDetails = new PdfPCell(new Paragraph("Debit Note Details", FONT_BOLD));
|
| - |
|
359 |
debitNoteDetails.setColspan(2);
|
| - |
|
360 |
debitNoteDetails.setBorder(Rectangle.NO_BORDER);
|
| - |
|
361 |
|
| 360 |
PdfPCell debitNoteNumberKey = new PdfPCell(new Paragraph("Debit Note No:", FONT_NORMAL));
|
362 |
PdfPCell debitNoteNumberKey = new PdfPCell(new Paragraph("Debit Note No:", FONT_NORMAL));
|
| 361 |
debitNoteNumberKey.setBorder(Rectangle.NO_BORDER);
|
363 |
debitNoteNumberKey.setBorder(Rectangle.NO_BORDER);
|
| 362 |
PdfPCell debitNoteNumberValue = new PdfPCell(new Paragraph(debitNotePdfModel.getDebitNoteNumber(), FONT_NORMAL));
|
364 |
PdfPCell debitNoteNumberValue = new PdfPCell(new Paragraph(debitNotePdfModel.getDebitNoteNumber(), FONT_NORMAL));
|
| 363 |
debitNoteNumberValue.setBorder(Rectangle.NO_BORDER);
|
365 |
debitNoteNumberValue.setBorder(Rectangle.NO_BORDER);
|
| 364 |
|
366 |
|
| 365 |
PdfPCell debitNoteDateKey = new PdfPCell(new Paragraph("Debit Note Dt:", FONT_NORMAL));
|
367 |
PdfPCell debitNoteDateKey = new PdfPCell(new Paragraph("Debit Note Dt:", FONT_NORMAL));
|
| 366 |
debitNoteDateKey.setBorder(Rectangle.NO_BORDER);
|
368 |
debitNoteDateKey.setBorder(Rectangle.NO_BORDER);
|
| 367 |
|
369 |
|
| - |
|
370 |
PdfPCell debitNoteDateValue = new PdfPCell(
|
| 368 |
PdfPCell debitNoteDateValue = new PdfPCell(new Paragraph(debitNotePdfModel.getDebitNoteDate(), FONT_NORMAL));
|
371 |
new Paragraph(debitNotePdfModel.getDebitNoteDate(), FONT_NORMAL));
|
| 369 |
debitNoteDateValue.setBorder(Rectangle.NO_BORDER);
|
372 |
debitNoteDateValue.setBorder(Rectangle.NO_BORDER);
|
| 370 |
|
373 |
|
| 371 |
PdfPCell invoiceNumberKey = new PdfPCell(new Paragraph("For Invoice No:", FONT_NORMAL));
|
374 |
PdfPCell invoiceNumberKey = new PdfPCell(new Paragraph("For Invoice No:", FONT_NORMAL));
|
| 372 |
invoiceNumberKey.setBorder(Rectangle.NO_BORDER);
|
375 |
invoiceNumberKey.setBorder(Rectangle.NO_BORDER);
|
| 373 |
PdfPCell invoiceNumberValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceNumber(), FONT_NORMAL));
|
376 |
PdfPCell invoiceNumberValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceNumber(), FONT_NORMAL));
|
| Line 375... |
Line 378... |
| 375 |
|
378 |
|
| 376 |
PdfPCell dateKey = new PdfPCell(new Paragraph("Invoice Dt:", FONT_NORMAL));
|
379 |
PdfPCell dateKey = new PdfPCell(new Paragraph("Invoice Dt:", FONT_NORMAL));
|
| 377 |
dateKey.setBorder(Rectangle.NO_BORDER);
|
380 |
dateKey.setBorder(Rectangle.NO_BORDER);
|
| 378 |
PdfPCell dateValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceDate(), FONT_NORMAL));
|
381 |
PdfPCell dateValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceDate(), FONT_NORMAL));
|
| 379 |
dateValue.setBorder(Rectangle.NO_BORDER);
|
382 |
dateValue.setBorder(Rectangle.NO_BORDER);
|
| 380 |
|
383 |
|
| - |
|
384 |
tableInvoiceDate.addCell(debitNoteDetails);
|
| 381 |
tableInvoiceDate.addCell(debitNoteNumberKey);
|
385 |
tableInvoiceDate.addCell(debitNoteNumberKey);
|
| 382 |
tableInvoiceDate.addCell(debitNoteNumberValue);
|
386 |
tableInvoiceDate.addCell(debitNoteNumberValue);
|
| 383 |
|
- |
|
| 384 |
tableInvoiceDate.addCell(debitNoteDateKey);
|
387 |
tableInvoiceDate.addCell(debitNoteDateKey);
|
| 385 |
tableInvoiceDate.addCell(debitNoteDateValue);
|
388 |
tableInvoiceDate.addCell(debitNoteDateValue);
|
| 386 |
|
- |
|
| 387 |
tableInvoiceDate.addCell(invoiceNumberKey);
|
389 |
tableInvoiceDate.addCell(invoiceNumberKey);
|
| 388 |
tableInvoiceDate.addCell(invoiceNumberValue);
|
390 |
tableInvoiceDate.addCell(invoiceNumberValue);
|
| 389 |
|
- |
|
| 390 |
tableInvoiceDate.addCell(dateKey);
|
391 |
tableInvoiceDate.addCell(dateKey);
|
| 391 |
tableInvoiceDate.addCell(dateValue);
|
392 |
tableInvoiceDate.addCell(dateValue);
|
| 392 |
tableInvoiceDateRetailer.addCell(tableInvoiceDate);
|
- |
|
| 393 |
tableInvoiceDateRetailer.addCell(sellerParty);
|
- |
|
| 394 |
|
393 |
|
| 395 |
tableCustomerRetailer.addCell(partnerInfo);
|
394 |
tableCustomerRetailer.addCell(partnerInfo);
|
| 396 |
tableCustomerRetailer.addCell(blankCell);
|
395 |
tableCustomerRetailer.addCell(tableInvoiceDate);
|
| 397 |
tableCustomerRetailer.addCell(tableInvoiceDateRetailer);
|
396 |
tableCustomerRetailer.addCell(sellerParty);
|
| 398 |
|
397 |
|
| 399 |
PdfPTable orders = null;
|
398 |
PdfPTable orders = null;
|
| 400 |
if (stateGst) {
|
399 |
if (stateGst) {
|
| 401 |
orders = new PdfPTable(stateWidths.length);
|
400 |
orders = new PdfPTable(stateWidths.length);
|
| 402 |
orders.setWidths(stateWidths);
|
401 |
orders.setWidths(stateWidths);
|
| Line 425... |
Line 424... |
| 425 |
// 1});
|
424 |
// 1});
|
| 426 |
// total 8f
|
425 |
// total 8f
|
| 427 |
}
|
426 |
}
|
| 428 |
orders.addCell(new Paragraph("Total", FONT_BOLD));
|
427 |
orders.addCell(new Paragraph("Total", FONT_BOLD));
|
| 429 |
|
428 |
|
| 430 |
|
- |
|
| 431 |
orders.setHeaderRows(1);
|
429 |
orders.setHeaderRows(1);
|
| 432 |
|
430 |
|
| 433 |
float igstTotalAmount = 0, cgstTotalAmount = 0, sgstTotalAmount = 0;
|
431 |
float igstTotalAmount = 0, cgstTotalAmount = 0, sgstTotalAmount = 0;
|
| 434 |
int index = 1;
|
432 |
int index = 1;
|
| 435 |
for (CustomOrderItem orderItem : orderItems) {
|
433 |
for (CustomOrderItem orderItem : orderItems) {
|
| Line 450... |
Line 448... |
| 450 |
orders.addCell(new Paragraph(String.format("%.2f", orderItem.getSgstAmount()), FONT_NORMAL));
|
448 |
orders.addCell(new Paragraph(String.format("%.2f", orderItem.getSgstAmount()), FONT_NORMAL));
|
| 451 |
cgstTotalAmount = cgstTotalAmount + orderItem.getCgstAmount();
|
449 |
cgstTotalAmount = cgstTotalAmount + orderItem.getCgstAmount();
|
| 452 |
sgstTotalAmount = sgstTotalAmount + orderItem.getSgstAmount();
|
450 |
sgstTotalAmount = sgstTotalAmount + orderItem.getSgstAmount();
|
| 453 |
}
|
451 |
}
|
| 454 |
orders.addCell(new Paragraph(String.format("%.0f", orderItem.getNetAmount()), FONT_NORMAL));
|
452 |
orders.addCell(new Paragraph(String.format("%.0f", orderItem.getNetAmount()), FONT_NORMAL));
|
| 455 |
// orders.addCell(new Paragraph(String.format("%.2f",
|
- |
|
| 456 |
// orderItem.getItemTotal()), FONT_NORMAL));
|
453 |
LOGGER.info("IN FOR LOOP");
|
| 457 |
}
|
454 |
}
|
| 458 |
|
455 |
|
| 459 |
document.add(paragraphTitle);
|
456 |
document.add(paragraphTitle);
|
| 460 |
document.add(Chunk.NEWLINE);
|
- |
|
| - |
|
457 |
|
| 461 |
document.add(Chunk.NEWLINE);
|
458 |
document.add(Chunk.NEWLINE);
|
| 462 |
document.add(tableCustomerRetailer);
|
459 |
document.add(tableCustomerRetailer);
|
| 463 |
|
460 |
|
| 464 |
document.add(Chunk.NEWLINE);
|
461 |
document.add(Chunk.NEWLINE);
|
| 465 |
document.add(orders);
|
462 |
document.add(orders);
|
| Line 494... |
Line 491... |
| 494 |
String amountInWords = toAmountInWords(pdfModel.getTotalAmount());
|
491 |
String amountInWords = toAmountInWords(pdfModel.getTotalAmount());
|
| 495 |
amountInWordsTable.addCell(new Paragraph(amountInWords.toString(), FONT_BOLD));
|
492 |
amountInWordsTable.addCell(new Paragraph(amountInWords.toString(), FONT_BOLD));
|
| 496 |
amountInWordsTable.addCell(new Paragraph("E & O.E", FONT_NORMAL));
|
493 |
amountInWordsTable.addCell(new Paragraph("E & O.E", FONT_NORMAL));
|
| 497 |
document.add(amountInWordsTable);
|
494 |
document.add(amountInWordsTable);
|
| 498 |
|
495 |
|
| 499 |
/* StringBuffer sb = new StringBuffer();
|
- |
|
| 500 |
List<String> tncs = pdfModel.getTncs();
|
- |
|
| 501 |
for (String tnc : tncs) {
|
- |
|
| 502 |
sb.append(tnc).append("\n");
|
- |
|
| 503 |
}
|
- |
|
| 504 |
|
- |
|
| 505 |
Paragraph warningParagraph = new Paragraph(sb.toString(), FONT_NORMAL);
|
- |
|
| 506 |
warningParagraph.setIndentationLeft(40);
|
- |
|
| 507 |
document.add(Chunk.NEWLINE);
|
- |
|
| 508 |
document.add(warningParagraph);*/
|
- |
|
| 509 |
document.newPage();
|
496 |
document.newPage();
|
| 510 |
}
|
497 |
}
|
| 511 |
document.close(); // no need to close PDFwriter?
|
498 |
document.close(); // no need to close PDFwriter?
|
| 512 |
} catch (DocumentException e) {
|
499 |
} catch (DocumentException e) {
|
| 513 |
LOGGER.error("Unable to write data to pdf file : ", e);
|
500 |
LOGGER.error("Unable to write data to pdf file : ", e);
|