| Line 35... |
Line 35... |
| 35 |
// private static Font fontTableHeader = new
|
35 |
// private static Font fontTableHeader = new
|
| 36 |
// Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD);
|
36 |
// Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD);
|
| 37 |
private static final String INVOICE_TITLE = "TAX INVOICE";
|
37 |
private static final String INVOICE_TITLE = "TAX INVOICE";
|
| 38 |
private static final String DEBIT_NOTE_TITLE = "DEBIT NOTE";
|
38 |
private static final String DEBIT_NOTE_TITLE = "DEBIT NOTE";
|
| 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, 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,
|
41 |
private static float[] stateWidthsWithDiscount = new float[] { .3f, 2.1f, 0.7f, .3f, 0.6f, 0.4f, .7f, .5f, .6f, .5f,
|
| 43 |
.6f, .8f };
|
42 |
.6f, .8f };
|
| 44 |
|
43 |
|
| 45 |
private static float[] igstWidths = new float[] { .6f, 2.6f, 0.7f, .4f, 0.7f, .7f, .6f, 0.6f, 0.9f };
|
44 |
private static float[] igstWidths = new float[] { .6f, 2.6f, 0.7f, .4f, 0.7f, .7f, .6f, 0.6f, 0.9f };
|
| 46 |
private static float[] stateWidths = new float[] { .6f, 2.1f, 0.7f, .3f, 0.6f, .7f, .5f, .6f, .5f, .6f, .8f };
|
45 |
private static float[] stateWidths = new float[] { .6f, 2.1f, 0.7f, .3f, 0.6f, .7f, .5f, .6f, .5f, .6f, .8f };
|
| 47 |
|
46 |
|
| Line 297... |
Line 296... |
| 297 |
boolean stateGst = false;
|
296 |
boolean stateGst = false;
|
| 298 |
String customerAddressStateCode = "", retailerAddressStateCode = "";
|
297 |
String customerAddressStateCode = "", retailerAddressStateCode = "";
|
| 299 |
if (customer.getAddress().getState().equals(retailer.getAddress().getState())) {
|
298 |
if (customer.getAddress().getState().equals(retailer.getAddress().getState())) {
|
| 300 |
stateGst = true;
|
299 |
stateGst = true;
|
| 301 |
customerAddressStateCode = Utils.getStateCode(customer.getAddress().getState());
|
300 |
customerAddressStateCode = Utils.getStateCode(customer.getAddress().getState());
|
| - |
|
301 |
retailerAddressStateCode = customerAddressStateCode;
|
| 302 |
} else {
|
302 |
} else {
|
| 303 |
customerAddressStateCode = Utils.getStateCode(customer.getAddress().getState());
|
303 |
customerAddressStateCode = Utils.getStateCode(customer.getAddress().getState());
|
| 304 |
retailerAddressStateCode = Utils.getStateCode(retailer.getAddress().getState());
|
304 |
retailerAddressStateCode = Utils.getStateCode(retailer.getAddress().getState());
|
| 305 |
}
|
305 |
}
|
| 306 |
Set<CustomOrderItem> orderItems = pdfModel.getOrderItems();
|
306 |
Set<CustomOrderItem> orderItems = pdfModel.getOrderItems();
|
| Line 317... |
Line 317... |
| 317 |
PdfPCell blankCell = new PdfPCell();
|
317 |
PdfPCell blankCell = new PdfPCell();
|
| 318 |
blankCell.setBorder(Rectangle.NO_BORDER);
|
318 |
blankCell.setBorder(Rectangle.NO_BORDER);
|
| 319 |
PdfPTable tableCustomerRetailer = new PdfPTable(3);
|
319 |
PdfPTable tableCustomerRetailer = new PdfPTable(3);
|
| 320 |
tableCustomerRetailer.setWidthPercentage(95);
|
320 |
tableCustomerRetailer.setWidthPercentage(95);
|
| 321 |
PdfPCell partnerInfo = new PdfPCell();
|
321 |
PdfPCell partnerInfo = new PdfPCell();
|
| 322 |
partnerInfo.addElement(new Paragraph("From Party:"));
|
322 |
partnerInfo.addElement(new Paragraph("From Party:", FONT_BOLD));
|
| 323 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getName()), FONT_BOLD));
|
323 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getName()), FONT_NORMAL));
|
| 324 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getLine1())
|
324 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getLine1()) + ", "
|
| 325 |
+ customer.getAddress().getLine2() == null ? "" : StringUtils.capitalize(customer.getAddress().getLine2()) + ", "));
|
325 |
+ (customer.getAddress().getLine2() == null ? "" : StringUtils.capitalize(customer.getAddress().getLine2()))
|
| - |
|
326 |
+ ", " + customer.getAddress().getCity()
|
| - |
|
327 |
+ " - "+ customer.getAddress().getPinCode(), FONT_NORMAL));
|
| 326 |
|
328 |
|
| 327 |
partnerInfo.addElement(new Paragraph(
|
- |
|
| 328 |
StringUtils.capitalize(customer.getAddress().getCity()) + ", "
|
- |
|
| 329 |
+ StringUtils.capitalize(customer.getAddress().getState()) + "("
|
329 |
partnerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getState())
|
| 330 |
+ customerAddressStateCode + ")" + "\n" + customer.getAddress().getPinCode(),
|
330 |
+ "("+ customerAddressStateCode + ")", FONT_NORMAL));
|
| 331 |
FONT_BOLD));
|
- |
|
| 332 |
partnerInfo.addElement(new Paragraph("Mobile - " + customer.getMobileNumber(), FONT_NORMAL));
|
331 |
partnerInfo.addElement(new Paragraph("Mobile - " + customer.getMobileNumber(), FONT_NORMAL));
|
| 333 |
if (customer.getGstNumber() != null && !customer.getGstNumber().isEmpty()) {
|
332 |
if (customer.getGstNumber() != null && !customer.getGstNumber().isEmpty()) {
|
| 334 |
partnerInfo.addElement(new Paragraph("GST Number - " + customer.getGstNumber(), FONT_BOLD));
|
333 |
partnerInfo.addElement(new Paragraph("GST No - " + customer.getGstNumber(), FONT_BOLD));
|
| 335 |
}
|
334 |
}
|
| 336 |
|
335 |
|
| 337 |
PdfPCell sellerParty = new PdfPCell();
|
336 |
PdfPCell sellerParty = new PdfPCell();
|
| 338 |
sellerParty.addElement(new Paragraph("To Party:"));
|
337 |
sellerParty.addElement(new Paragraph("To Party:", FONT_BOLD));
|
| 339 |
sellerParty.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_BOLD));
|
338 |
sellerParty.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_NORMAL));
|
| 340 |
sellerParty.addElement(new Paragraph(
|
339 |
sellerParty.addElement(new Paragraph(
|
| 341 |
(retailer.getAddress().getLine1() == null ? ""
|
340 |
(retailer.getAddress().getLine1() == null ? ""
|
| 342 |
: StringUtils.capitalize(retailer.getAddress().getLine1()) + ", ")
|
341 |
: StringUtils.capitalize(retailer.getAddress().getLine1()) + ", ")
|
| 343 |
+ (retailer.getAddress().getLine2() == null ? ""
|
342 |
+ (retailer.getAddress().getLine2() == null ? ""
|
| 344 |
: StringUtils.capitalize(retailer.getAddress().getLine2()) + ", ")
|
343 |
: StringUtils.capitalize(retailer.getAddress().getLine2()) + ", ")
|
| 345 |
+ StringUtils.capitalize(retailer.getAddress().getCity()) + "-"
|
344 |
+ StringUtils.capitalize(retailer.getAddress().getCity()) + "-"
|
| 346 |
+ retailer.getAddress().getPinCode() + ", " + retailer.getAddress().getState()));
|
345 |
+ retailer.getAddress().getPinCode() + ", ", FONT_NORMAL));
|
| 347 |
sellerParty.addElement(new Paragraph("(" + retailerAddressStateCode + ")", FONT_BOLD));
|
346 |
sellerParty.addElement(new Paragraph(retailer.getAddress().getState() + "(" + retailerAddressStateCode + ")", FONT_NORMAL));
|
| 348 |
sellerParty.addElement(new Paragraph("Contact No.- " + retailer.getAddress().getPhoneNumber(), FONT_NORMAL));
|
347 |
sellerParty.addElement(new Paragraph("Mobile - " + retailer.getAddress().getPhoneNumber(), FONT_NORMAL));
|
| 349 |
sellerParty.addElement(new Paragraph("GST NO. " + retailer.getGstNumber(), FONT_BOLD));
|
348 |
sellerParty.addElement(new Paragraph("GST No - " + retailer.getGstNumber(), FONT_BOLD));
|
| 350 |
|
349 |
|
| 351 |
PdfPTable tableInvoiceDateRetailer = new PdfPTable(1);
|
350 |
PdfPTable tableInvoiceDateRetailer = new PdfPTable(1);
|
| 352 |
tableInvoiceDateRetailer.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
351 |
tableInvoiceDateRetailer.getDefaultCell().setBorder(Rectangle.NO_BORDER);
|
| 353 |
|
352 |
|
| 354 |
PdfPTable tableInvoiceDate = new PdfPTable(2);
|
353 |
PdfPTable tableInvoiceDate = new PdfPTable(2);
|
| Line 376... |
Line 375... |
| 376 |
PdfPCell invoiceNumberValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceNumber(), FONT_NORMAL));
|
375 |
PdfPCell invoiceNumberValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceNumber(), FONT_NORMAL));
|
| 377 |
invoiceNumberValue.setBorder(Rectangle.NO_BORDER);
|
376 |
invoiceNumberValue.setBorder(Rectangle.NO_BORDER);
|
| 378 |
|
377 |
|
| 379 |
PdfPCell dateKey = new PdfPCell(new Paragraph("Invoice Dt:", FONT_NORMAL));
|
378 |
PdfPCell dateKey = new PdfPCell(new Paragraph("Invoice Dt:", FONT_NORMAL));
|
| 380 |
dateKey.setBorder(Rectangle.NO_BORDER);
|
379 |
dateKey.setBorder(Rectangle.NO_BORDER);
|
| 381 |
PdfPCell dateValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceDate(), FONT_BOLD));
|
380 |
PdfPCell dateValue = new PdfPCell(new Paragraph(pdfModel.getInvoiceDate(), FONT_NORMAL));
|
| 382 |
dateValue.setBorder(Rectangle.NO_BORDER);
|
381 |
dateValue.setBorder(Rectangle.NO_BORDER);
|
| 383 |
|
382 |
|
| 384 |
tableInvoiceDate.addCell(debitNoteDetails);
|
383 |
tableInvoiceDate.addCell(debitNoteDetails);
|
| 385 |
tableInvoiceDate.addCell(debitNoteNumberKey);
|
384 |
tableInvoiceDate.addCell(debitNoteNumberKey);
|
| 386 |
tableInvoiceDate.addCell(debitNoteNumberValue);
|
385 |
tableInvoiceDate.addCell(debitNoteNumberValue);
|
| Line 401... |
Line 400... |
| 401 |
orders.setWidths(stateWidths);
|
400 |
orders.setWidths(stateWidths);
|
| 402 |
} else {
|
401 |
} else {
|
| 403 |
orders = new PdfPTable(igstWidths.length);
|
402 |
orders = new PdfPTable(igstWidths.length);
|
| 404 |
orders.setWidths(igstWidths);
|
403 |
orders.setWidths(igstWidths);
|
| 405 |
}
|
404 |
}
|
| 406 |
orders.setWidthPercentage(96);
|
405 |
orders.setWidthPercentage(95);
|
| 407 |
orders.addCell(new Paragraph("Order Id", FONT_BOLD));
|
406 |
orders.addCell(new Paragraph("Order Id", FONT_BOLD));
|
| 408 |
orders.addCell(new Paragraph("Description", FONT_BOLD));
|
407 |
orders.addCell(new Paragraph("Description", FONT_BOLD));
|
| 409 |
orders.addCell(new Paragraph("HSN", FONT_BOLD));
|
408 |
orders.addCell(new Paragraph("HSN", FONT_BOLD));
|
| 410 |
orders.addCell(new Paragraph("Qty", FONT_BOLD));
|
409 |
orders.addCell(new Paragraph("Qty", FONT_BOLD));
|
| 411 |
orders.addCell(new Paragraph("Rate\n(Per pc)", FONT_BOLD));
|
410 |
orders.addCell(new Paragraph("Rate\n(Per pc)", FONT_BOLD));
|
| Line 464... |
Line 463... |
| 464 |
if (stateGst) {
|
463 |
if (stateGst) {
|
| 465 |
grandTotalTable.setWidths(new float[] { 6.6f, .6f, .8f });
|
464 |
grandTotalTable.setWidths(new float[] { 6.6f, .6f, .8f });
|
| 466 |
} else {
|
465 |
} else {
|
| 467 |
grandTotalTable.setWidths(new float[] { 6.5f, .6f, .9f });
|
466 |
grandTotalTable.setWidths(new float[] { 6.5f, .6f, .9f });
|
| 468 |
}
|
467 |
}
|
| 469 |
grandTotalTable.setWidthPercentage(90);
|
468 |
grandTotalTable.setWidthPercentage(95);
|
| 470 |
|
469 |
|
| 471 |
Paragraph grandTotalParagraph = new Paragraph("Grand total", FONT_BOLD);
|
470 |
Paragraph grandTotalParagraph = new Paragraph("Grand total", FONT_BOLD);
|
| 472 |
grandTotalParagraph.setIndentationRight(20);
|
471 |
grandTotalParagraph.setIndentationRight(20);
|
| 473 |
grandTotalTable.addCell(grandTotalParagraph);
|
472 |
grandTotalTable.addCell(grandTotalParagraph);
|
| 474 |
Paragraph rsParagraph = new Paragraph("Rs.", FONT_BOLD);
|
473 |
Paragraph rsParagraph = new Paragraph("Rs.", FONT_BOLD);
|
| Line 482... |
Line 481... |
| 482 |
if (!stateGst) {
|
481 |
if (!stateGst) {
|
| 483 |
amountInWordsTable.setWidths(new float[] { 2, 5.1f, 0.9f });
|
482 |
amountInWordsTable.setWidths(new float[] { 2, 5.1f, 0.9f });
|
| 484 |
} else {
|
483 |
} else {
|
| 485 |
amountInWordsTable.setWidths(new float[] { 2, 5.2f, 0.8f });
|
484 |
amountInWordsTable.setWidths(new float[] { 2, 5.2f, 0.8f });
|
| 486 |
}
|
485 |
}
|
| 487 |
amountInWordsTable.setWidthPercentage(90);
|
486 |
amountInWordsTable.setWidthPercentage(95);
|
| 488 |
amountInWordsTable.addCell(new Paragraph("Amount in Words:", FONT_BOLD));
|
487 |
amountInWordsTable.addCell(new Paragraph("Amount in Words:", FONT_BOLD));
|
| 489 |
|
488 |
|
| 490 |
String amountInWords = toAmountInWords(pdfModel.getTotalAmount());
|
489 |
String amountInWords = toAmountInWords(pdfModel.getTotalAmount());
|
| 491 |
amountInWordsTable.addCell(new Paragraph(amountInWords.toString(), FONT_BOLD));
|
490 |
amountInWordsTable.addCell(new Paragraph(amountInWords.toString(), FONT_BOLD));
|
| 492 |
amountInWordsTable.addCell(new Paragraph("E & O.E", FONT_NORMAL));
|
491 |
amountInWordsTable.addCell(new Paragraph("E & O.E", FONT_NORMAL));
|