Subversion Repositories SmartDukaan

Rev

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

Rev 21915 Rev 21926
Line 31... Line 31...
31
	
31
	
32
	private static final Font FONT_TITLE = new Font(Font.FontFamily.HELVETICA  , 18, Font.BOLD);
32
	private static final Font FONT_TITLE = new Font(Font.FontFamily.HELVETICA  , 18, Font.BOLD);
33
	private static Font FONT_NORMAL = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.NORMAL);
33
	private static Font FONT_NORMAL = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.NORMAL);
34
	private static Font FONT_BOLD = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD);
34
	private static Font FONT_BOLD = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD);
35
	//private static Font fontTableHeader = new Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD);
35
	//private static Font fontTableHeader = new Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD);
36
	private static final String INVOICE_TITLE = "RETAILER_INVOICE";
36
	private static final String INVOICE_TITLE = "INVOICE";
37
	
37
	
38
	private static final Locale indianLocale = Locale.getDefault();
38
	private static final Locale indianLocale = Locale.getDefault();
39
	
39
	
40
	private static final Logger LOGGER = LoggerFactory.getLogger(PdfUtils.class);
40
	private static final Logger LOGGER = LoggerFactory.getLogger(PdfUtils.class);
41
	
41
	
42
	public static void generateAndWrite(PdfModel pdfModel, OutputStream outputStream){
42
	public static void generateAndWrite(PdfModel pdfModel, OutputStream outputStream){
43
		Document document = new Document();
43
		Document document = new Document();
44
 
-
 
-
 
44
		document.setMargins(0, 0, 25, 0);
45
        try {
45
        try {
46
        	CustomCustomer customer = pdfModel.getCustomer();
46
        	CustomCustomer customer = pdfModel.getCustomer();
47
        	CustomRetailer retailer = pdfModel.getRetailer();
47
        	CustomRetailer retailer = pdfModel.getRetailer();
48
        	boolean gstWithInState = false;
48
        	boolean gstWithInState = false;
49
        	String customerAddressStateCode = "", retailerAddressStateCode = "";
49
        	String customerAddressStateCode = "", retailerAddressStateCode = "";
Line 155... Line 155...
155
            //orders.addCell(new Paragraph("Item Total (Rs)", FONT_BOLD));
155
            //orders.addCell(new Paragraph("Item Total (Rs)", FONT_BOLD));
156
            
156
            
157
            orders.setHeaderRows(1);
157
            orders.setHeaderRows(1);
158
            //orders.setSkipFirstHeader(true);
158
            //orders.setSkipFirstHeader(true);
159
            
159
            
-
 
160
            float igstTotalAmount = 0, cgstTotalAmount = 0, sgstTotalAmount = 0;
160
            int index = 1;
161
            int index = 1;
161
        	for(CustomFofoOrderItem orderItem : orderItems){
162
        	for(CustomFofoOrderItem orderItem : orderItems){
162
            	orders.addCell(new Paragraph(String.valueOf(index++), FONT_NORMAL));
163
            	orders.addCell(new Paragraph(String.valueOf(index++), FONT_NORMAL));
163
            	orders.addCell(new Paragraph(orderItem.getDescription(), FONT_NORMAL));
164
            	orders.addCell(new Paragraph(orderItem.getDescription(), FONT_NORMAL));
164
            	orders.addCell(new Paragraph(orderItem.getHsnCode(), FONT_NORMAL));
165
            	orders.addCell(new Paragraph(orderItem.getHsnCode(), FONT_NORMAL));
165
            	orders.addCell(new Paragraph(String.valueOf(orderItem.getQuantity()), FONT_NORMAL));
166
            	orders.addCell(new Paragraph(String.valueOf(orderItem.getQuantity()), FONT_NORMAL));
166
            	orders.addCell(new Paragraph(String.valueOf(orderItem.getRate()), FONT_NORMAL));
167
            	orders.addCell(new Paragraph(String.valueOf(orderItem.getRate()), FONT_NORMAL));
167
            	orders.addCell(new Paragraph(String.valueOf(orderItem.getAmount()), FONT_NORMAL));
168
            	orders.addCell(new Paragraph(String.format("%.2f", orderItem.getAmount()), FONT_NORMAL));
168
            	if(gstWithInState){
169
            	if(gstWithInState){
169
            		orders.addCell(new Paragraph(String.valueOf(orderItem.getIgstRate()), FONT_NORMAL));
170
            		orders.addCell(new Paragraph(String.format("%.2f", orderItem.getIgstRate()), FONT_NORMAL));
170
            		orders.addCell(new Paragraph(String.valueOf(orderItem.getIgstAmount()), FONT_NORMAL));
171
            		orders.addCell(new Paragraph(String.format("%.2f", orderItem.getIgstAmount()), FONT_NORMAL));
-
 
172
            		igstTotalAmount = igstTotalAmount + orderItem.getIgstAmount();
171
            	}else{
173
            	}else{
172
            		orders.addCell(new Paragraph(String.valueOf(orderItem.getCgstRate()), FONT_NORMAL));
174
            		orders.addCell(new Paragraph(String.format("%.2f", orderItem.getCgstRate()), FONT_NORMAL));
173
            		orders.addCell(new Paragraph(String.valueOf(orderItem.getCgstAmount()), FONT_NORMAL));
175
            		orders.addCell(new Paragraph(String.format("%.2f", orderItem.getCgstAmount()), FONT_NORMAL));
174
            		orders.addCell(new Paragraph(String.valueOf(orderItem.getSgstRate()), FONT_NORMAL));
176
            		orders.addCell(new Paragraph(String.format("%.2f", orderItem.getSgstRate()), FONT_NORMAL));
175
            		orders.addCell(new Paragraph(String.valueOf(orderItem.getSgstAmount()), FONT_NORMAL));
177
            		orders.addCell(new Paragraph(String.format("%.2f", orderItem.getSgstAmount()), FONT_NORMAL));
-
 
178
            		cgstTotalAmount = cgstTotalAmount + orderItem.getCgstAmount();
-
 
179
            		sgstTotalAmount = sgstTotalAmount + orderItem.getSgstAmount();
176
            	}
180
            	}
177
            	orders.addCell(new Paragraph(String.valueOf(orderItem.getItemTotal()), FONT_NORMAL));
181
            	orders.addCell(new Paragraph(String.format("%.2f", orderItem.getItemTotal()), FONT_NORMAL));
178
            }
182
            }
179
            //orders.addCell("1");
183
            //orders.addCell("1");
180
            //orders.addCell("Sansui X71Activ Ta2s");
184
            //orders.addCell("Sansui X71Activ Ta2s");
181
            //orders.setHeaderRows(1);
185
            //orders.setHeaderRows(1);
182
            //orders.getDefaultCell().setBorder(Rectangle.NO_BORDER);
186
            //orders.getDefaultCell().setBorder(Rectangle.NO_BORDER);
Line 190... Line 194...
190
            
194
            
191
            document.add(Chunk.NEWLINE);
195
            document.add(Chunk.NEWLINE);
192
            document.add(Chunk.NEWLINE);
196
            document.add(Chunk.NEWLINE);
193
            document.add(Chunk.NEWLINE);
197
            document.add(Chunk.NEWLINE);
194
            document.add(orders);
198
            document.add(orders);
-
 
199
            
-
 
200
            
-
 
201
            
-
 
202
            
-
 
203
            PdfPTable gstTotalTable = null;
-
 
204
            if(gstWithInState){
-
 
205
            	gstTotalTable = new PdfPTable(3);
-
 
206
            	gstTotalTable.setWidths(new int[]{8, 1, 1});
-
 
207
            }else{
-
 
208
            	gstTotalTable = new PdfPTable(5);
-
 
209
            	gstTotalTable.setWidths(new int[]{8, 1, 1, 1, 1});
-
 
210
            }
-
 
211
            
-
 
212
            /*for(int i = 0; i < 6; i++){
-
 
213
            	grandTotalTable.addCell(new Paragraph());
-
 
214
            }*/
-
 
215
            //PdfPCell grandTotalCell = new PdfPCell(new Paragraph("Grand total", fontBold));
-
 
216
            //grandTotalCell.setVerticalAlignment(Element.ALIGN_RIGHT);
-
 
217
            Paragraph gstTotalParagraph = new Paragraph("Gst Total", FONT_BOLD);
-
 
218
            gstTotalParagraph.setIndentationRight(20);
-
 
219
            gstTotalTable.addCell(gstTotalParagraph);
-
 
220
            if(gstWithInState){
-
 
221
            	gstTotalTable.addCell(new Paragraph("IGST", FONT_BOLD));
-
 
222
            	gstTotalTable.addCell(new Paragraph(String.format("%.2f", igstTotalAmount), FONT_BOLD));
-
 
223
            }else{
-
 
224
            	gstTotalTable.addCell(new Paragraph("CGST", FONT_BOLD));
-
 
225
            	gstTotalTable.addCell(new Paragraph(String.format("%.2f", cgstTotalAmount), FONT_BOLD));
-
 
226
            	gstTotalTable.addCell(new Paragraph("SGST", FONT_BOLD));
-
 
227
            	gstTotalTable.addCell(new Paragraph(String.format("%.2f", sgstTotalAmount), FONT_BOLD));
-
 
228
            }
-
 
229
            
-
 
230
            //grandTotalCell.setColspan(6);
-
 
231
            document.add(gstTotalTable);
-
 
232
            
195
            PdfPTable grandTotalTable = null;
233
            PdfPTable grandTotalTable = null;
196
            if(gstWithInState){
234
            if(gstWithInState){
197
            	grandTotalTable = new PdfPTable(3);
235
            	grandTotalTable = new PdfPTable(3);
198
            	grandTotalTable.setWidths(new int[]{8, 1, 1});
236
            	grandTotalTable.setWidths(new int[]{8, 1, 1});
199
            }else{
237
            }else{
Line 209... Line 247...
209
            Paragraph grandTotalParagraph = new Paragraph("Grand total", FONT_BOLD);
247
            Paragraph grandTotalParagraph = new Paragraph("Grand total", FONT_BOLD);
210
            grandTotalParagraph.setIndentationRight(20);
248
            grandTotalParagraph.setIndentationRight(20);
211
            grandTotalTable.addCell(grandTotalParagraph);
249
            grandTotalTable.addCell(grandTotalParagraph);
212
            Paragraph rsParagraph = new Paragraph("Rs.", FONT_BOLD);
250
            Paragraph rsParagraph = new Paragraph("Rs.", FONT_BOLD);
213
            grandTotalTable.addCell(rsParagraph);
251
            grandTotalTable.addCell(rsParagraph);
214
            Paragraph amountParagraph = new Paragraph(String.valueOf(pdfModel.getTotalAmount()), FONT_BOLD);
252
            Paragraph amountParagraph = new Paragraph(String.format("%.2f", pdfModel.getTotalAmount()), FONT_BOLD);
215
            grandTotalTable.addCell(amountParagraph);
253
            grandTotalTable.addCell(amountParagraph);
216
            //grandTotalCell.setColspan(6);
254
            
217
            
255
            
218
            document.add(grandTotalTable);
256
            document.add(grandTotalTable);
219
            
257
            
220
            PdfPTable amountInWordsTable = new PdfPTable(3);
258
            PdfPTable amountInWordsTable = new PdfPTable(3);
221
            amountInWordsTable.setWidths(new int[]{1, 6, 3});
259
            amountInWordsTable.setWidths(new int[]{1, 6, 3});