Subversion Repositories SmartDukaan

Rev

Rev 23542 | Rev 23552 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23542 Rev 23549
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));