Subversion Repositories SmartDukaan

Rev

Rev 13051 | Rev 13938 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4687 mandeep.dh 1
package in.shop2020.inventory.service;
2
 
3
import in.shop2020.purchase.PurchaseOrder;
4
import in.shop2020.purchase.Supplier;
9416 amar.kumar 5
import in.shop2020.purchase.TaxType;
4687 mandeep.dh 6
 
7
import java.io.ByteArrayOutputStream;
8
import java.io.File;
9
import java.io.FileOutputStream;
10
import java.io.IOException;
12863 manish.sha 11
import java.math.BigDecimal;
4687 mandeep.dh 12
import java.text.DateFormat;
13
import java.util.Date;
14
 
15
import org.slf4j.Logger;
16
import org.slf4j.LoggerFactory;
17
 
18
import com.itextpdf.text.Document;
19
import com.itextpdf.text.Element;
20
import com.itextpdf.text.Font;
21
import com.itextpdf.text.Font.FontFamily;
22
import com.itextpdf.text.FontFactory;
23
import com.itextpdf.text.Paragraph;
24
import com.itextpdf.text.Phrase;
25
import com.itextpdf.text.Rectangle;
26
import com.itextpdf.text.pdf.PdfPCell;
27
import com.itextpdf.text.pdf.PdfPTable;
28
import com.itextpdf.text.pdf.PdfWriter;
29
 
30
public class PdfPoSheetGenerator {
31
 
32
    private static Logger logger = LoggerFactory
33
            .getLogger(PdfPoSheetGenerator.class);
34
 
35
    // private static final Properties properties = readProperties();
7410 amar.kumar 36
    private static final String ourAddressDelhi = "Spice Online Retail Pvt. Ltd.\nC/O,PIBCO LIMITED, Basement,Punjsons\n2,Kalkaji Industrial Area, New Delhi-110019\n";
7676 amar.kumar 37
    private static final String ourAddressBhiwandi = "Spice Online Retail Pvt. Ltd.\nC/O. FedEx Express Transportation and Supply Chain Services (India) Private Limited.\nC/O NDR WAREHOUSING, SURVEY NO.95, MUMBAI - NASIK HIGHWAY, WADAPE VILLAGE\nBHIWANDI (NR. SAI DHABA), Thane,Maharashtra -421302\n";                   
7410 amar.kumar 38
    private static final String ourAddressGoregaon = "Spice Online Retail Pvt. Ltd.\n93/743, Motilal Nagar-1, Goregaon(WEST),\nMotilal Nagar, Mumbai, Maharashtra-400062\n";
10877 manish.sha 39
    private static final String ourAddressBangalore = "Spice Online Retail Pvt. Ltd.\n C/O.Drive India Enterprise Solutions Limited)\n Survey No. 86, Korulur Village, Kasab Hobli\n Hoskote Taluka\n Bangalore – 560067, Karnataka\n";
40
    private static final String ourAddressBangaloreSR = "Spice Online Retail Pvt. Ltd.\n Shop No. 320, Municipal 59th Cross,\n Next to Rammandir Ground,\n 3rd Block, Rajaji Nagar,\nBangalore - 560010, Karnataka\n";
12769 manish.sha 41
    private static final String ourAddressGurgaon = "Spice Online Retail Private Limited,\n SHOP NO. 10 & 11,\n OLD DELHI ROAD,OPP SECTOR-14, GURGAON-122001 Haryana\n";
42
    private static final String ourAddressHyderabad = "Spice Online Retail Pvt. Ltd, Drive India Enterprise Solutions Limited, 16,17&18, Gundllapochampalli, Kompalli, Medchal Mandal, Secandrabad-500014, Dist- Hyderabad";
13051 manish.sha 43
    private static final String ourAddressGurgaonS = "Spice Online Retail Pvt Ltd. \nC/O.Drive India Enterprise Solutions Ltd, \nKhasra No.2771,Main Sheetla Mata Mandir Road \nOpposite Sec-5,Petrol Pump(Bharat Petroliam) \nNear Anmol Vatika, Gurgaon- 122001";
10877 manish.sha 44
 
9925 amar.kumar 45
    private static final String amazonAddress = "Spice Online Retail Pvt. Ltd. C/O Amazon Seller Services  Pvt. Ltd.,\nBuilding H Prathmesh Complex, Saravali Village,\nOpp Hotel Vatika Kalyan, Bhivandi Junction,\nBhiwandi, Maharashtra\n";
10877 manish.sha 46
    private static final String amazonAddreseBangalore = "Spice Online Retail Pvt. Ltd.\n C/O Amazon Seller Services Pvt. Ltd.\n 38 & 39, Soukya Road,\n kacherakanahalli,\n Hoskote Taluka,\n Bangalore  -560067, Karnataka\n";
12752 manish.sha 47
    private static final String amazonAddressMewat = "Spice Online Retail Pvt. Ltd.\n C/O AMAZON Seller Services Pvt. Limited,\n  Gokaldas Warehousing Corporation,  Unit No 1,\n Village Taoru,  Tehsil Taoru, Distt Mewat - 122105";
12543 manish.sha 48
    private static final String flipkartAddressGgn = "Spice Online Retail Pvt. Ltd.\n C/O. Flipkart Internet Pvt. Ltd, \n KILLA NO.219/15-16 25/1 220/11 12/1 12/2 13/1/113/1/2 20 21/1 21/2/1 22/1 23/1/1,\n Bohra Kalan, PATAUDI, GURGAON - 122001, Haryana\n";
13354 manish.sha 49
    private static final String flipkartAddressDelhi = "Spice Online Retail Pvt. Ltd.\n C/O Flipkart Internet Pvt. Ltd.\n Khasra No. 435,Road No.# 04 ,Lal Dora Extension,\nMahipalpur, New Delhi- 110037\n";
7410 amar.kumar 50
    private static final String tinNoDelhi = "07250399732";
51
    private static final String tinNoMum = "27450984008";
10877 manish.sha 52
    private static final String tinNoBan = "29171183852";
12543 manish.sha 53
    private static final String tinNoFkGgn = "06681944625";
54
    private static final String tinNoOurGgn = "06681944625";
12769 manish.sha 55
    private static final String tinNoOurHyd = "36601220768";
13354 manish.sha 56
    private static final String tinNoFkDelhi = "07720408834";
12543 manish.sha 57
 
4687 mandeep.dh 58
 
59
    private static final Font helvetica8 = FontFactory.getFont(
60
            FontFactory.HELVETICA, 8);
61
 
62
    private static final Font helveticaBold8 = FontFactory.getFont(
63
            FontFactory.HELVETICA_BOLD, 8);
64
    private static final Font helveticaBold12 = FontFactory.getFont(
65
            FontFactory.HELVETICA_BOLD, 12);
66
 
67
    public static String generatePdfSheet(PurchaseOrder purchaseOrder,
68
            Supplier supplier) throws IOException {
69
        ByteArrayOutputStream baosPDF = null;
70
        try {
71
            baosPDF = new ByteArrayOutputStream();
72
 
73
            Document document = new Document();
74
            PdfWriter.getInstance(document, baosPDF);
75
            document.addAuthor("shop2020");
76
            document.addTitle("Purchase Order No: "
77
                    + purchaseOrder.getPoNumber());
78
            document.open();
79
 
80
            PdfPTable poTable = getPoTable(purchaseOrder, supplier);
81
            poTable.setSpacingAfter(10.0f);
82
            poTable.setWidthPercentage(90.0f);
83
 
84
            document.add(poTable);
85
            document.close();
86
            baosPDF.close();
87
        } catch (Exception e) {
88
            logger.error("Error while generating Invoice: ", e);
89
        }
90
 
91
        String tmpDir = System.getProperty("java.io.tmpdir");
92
        String filename = tmpDir + "/po-" + purchaseOrder.getId() + ".pdf";
93
        File f = new File(filename);
94
        FileOutputStream fos = new FileOutputStream(f);
95
        baosPDF.writeTo(fos);
96
        return filename;
97
    }
98
 
99
    private static PdfPTable getPoTable(PurchaseOrder purchaseOrder,
100
            Supplier supplier) throws Exception {
101
        PdfPTable poTable = new PdfPTable(1);
102
        poTable.getDefaultCell().setBorder(Rectangle.NO_BORDER);
103
        poTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
104
 
105
        PdfPCell poTitleCell = new PdfPCell(new Phrase("Purchase Order",
106
                helveticaBold12));
107
        poTitleCell.setHorizontalAlignment(Element.ALIGN_CENTER);
108
        poTitleCell.setBorder(Rectangle.NO_BORDER);
109
 
110
        Date poDate = new Date(purchaseOrder.getCreatedAt());
111
        PdfPTable poSummaryTable = new PdfPTable(new float[] { 0.5f, 0.5f });
112
        poSummaryTable.addCell(new PdfPCell(new Phrase("PO No: "
113
                + purchaseOrder.getPoNumber())));
9416 amar.kumar 114
        poSummaryTable.addCell(new PdfPCell(new Phrase("Date: "
115
        		+ DateFormat.getDateInstance(DateFormat.MEDIUM).format(
116
        				poDate))));
4687 mandeep.dh 117
        poSummaryTable.setSpacingBefore(10.0f);
118
 
119
        poTable.addCell(poTitleCell);
9925 amar.kumar 120
        poTable.addCell(getAddressCell(purchaseOrder.getWarehouseId(), purchaseOrder.getShippingWarehouseId()));
4687 mandeep.dh 121
        poTable.addCell(poSummaryTable);
122
        poTable.addCell(getSalutationTable(supplier));
123
        poTable.addCell(getPoDetailsTable(purchaseOrder));
9591 amar.kumar 124
        poTable.addCell(getBillToTable(purchaseOrder.getWarehouseId(), purchaseOrder.getTaxType()));
125
        //poTable.addCell(getCFormCell(purchaseOrder.getTaxType()));
4687 mandeep.dh 126
 
127
        return poTable;
128
    }
129
 
9416 amar.kumar 130
    private static PdfPCell getCFormCell(TaxType taxType) {
131
    	PdfPCell cFormCell = null;
132
		if(taxType == TaxType.CFORM) {
9586 amar.kumar 133
			cFormCell = new PdfPCell(new Paragraph("*To be billed on CST Against C-Form ", new Font(FontFamily.TIMES_ROMAN, 8f)));
9416 amar.kumar 134
		} else {
135
			cFormCell = new PdfPCell();
136
		}
137
		cFormCell.setBorder(Rectangle.NO_BORDER);
138
		cFormCell.setHorizontalAlignment(Element.ALIGN_LEFT);
139
		return cFormCell;
140
	}
141
 
9925 amar.kumar 142
	private static PdfPTable getAddressCell(long warehouseId, long shippingWarehouseId) {
7410 amar.kumar 143
    	//TODO Write this code in a proper configurable way
144
    	String address = "";
145
    	String tinNo = "";
9925 amar.kumar 146
    	String shippingAddress = "";
147
    	String shippingTinNo = "";
7410 amar.kumar 148
    	if(warehouseId ==7) {
149
    		address = ourAddressDelhi;
150
    		tinNo = tinNoDelhi;
151
    	} else if(warehouseId == 12) {
152
    		address = ourAddressGoregaon;
153
    		tinNo = tinNoMum;
154
    	} else if(warehouseId == 13) {
155
    		address = ourAddressBhiwandi;
156
    		tinNo = tinNoMum;
7466 amar.kumar 157
    	} else if(warehouseId ==16) {
7464 amar.kumar 158
    		address = amazonAddress;
159
    		tinNo = tinNoMum;
10877 manish.sha 160
    	} else if(warehouseId ==1765){
161
    		address = ourAddressBangalore;
162
    		tinNo = tinNoBan;
163
    	} else if(warehouseId ==1768){
164
    		address = ourAddressBangaloreSR;
165
    		tinNo = tinNoBan;
166
    	} else if(warehouseId ==1771){
167
    		address = amazonAddreseBangalore;
168
    		tinNo = tinNoBan;
12543 manish.sha 169
    	} else if(warehouseId == 2854){
170
    		address = flipkartAddressGgn;
171
    		tinNo = tinNoFkGgn;
172
    	} else if(warehouseId == 2857){
173
    		address = ourAddressGurgaon;
174
    		tinNo = tinNoOurGgn;
12769 manish.sha 175
    	} else if(warehouseId == 3295){
176
    		address = amazonAddressMewat;
177
    		tinNo = tinNoOurGgn;
13354 manish.sha 178
    	} else if(warehouseId == 3298){
12769 manish.sha 179
    		address = ourAddressHyderabad;
180
    		tinNo = tinNoOurHyd;
13051 manish.sha 181
    	} else if(warehouseId == 3931){
182
    		address = ourAddressGurgaonS;
183
    		tinNo = tinNoOurGgn;
13354 manish.sha 184
    	} else if(warehouseId == 4699){
185
    		address = flipkartAddressDelhi;
186
    		tinNo = tinNoFkDelhi;
12769 manish.sha 187
    	}
9925 amar.kumar 188
    	PdfPTable billToShipToTable  = new PdfPTable(2);
7410 amar.kumar 189
        Paragraph addressParagraph = new Paragraph(address + "\nTIN NO. "
4687 mandeep.dh 190
                + tinNo, new Font(FontFamily.TIMES_ROMAN, 8f));
191
        PdfPCell addressCell = new PdfPCell();
9925 amar.kumar 192
        if(warehouseId != shippingWarehouseId) {
193
           	addressParagraph = new Paragraph("Bill To :\n" + address + "\n\nTIN NO. "
194
                    + tinNo, new Font(FontFamily.TIMES_ROMAN, 8f));
195
        }
4687 mandeep.dh 196
        addressCell.addElement(addressParagraph);
9925 amar.kumar 197
        //addressCell.setHorizontalAlignment(Element.ALIGN_CENTER);
4687 mandeep.dh 198
        addressCell.setBorder(Rectangle.NO_BORDER);
9925 amar.kumar 199
 
200
        if(warehouseId != shippingWarehouseId) {
201
			if(shippingWarehouseId ==7) {
202
				shippingAddress = ourAddressDelhi;
203
				shippingTinNo = tinNoDelhi;
204
	    	} else if(shippingWarehouseId == 12) {
205
	    		shippingAddress = ourAddressGoregaon;
206
	    		shippingTinNo = tinNoMum;
207
	    	} else if(shippingWarehouseId == 13) {
208
	    		shippingAddress = ourAddressBhiwandi;
209
	    		shippingTinNo = tinNoMum;
210
	    	} else if(shippingWarehouseId ==16) {
211
	    		shippingAddress = amazonAddress;
212
	    		shippingTinNo = tinNoMum;
10877 manish.sha 213
	    	} else if(shippingWarehouseId ==1765){
214
	    		shippingAddress = ourAddressBangalore;
215
	    		shippingTinNo = tinNoBan;
216
	    	} else if(shippingWarehouseId ==1768){
217
	    		shippingAddress = ourAddressBangaloreSR;
218
	    		shippingTinNo = tinNoBan;
219
	    	} else if(shippingWarehouseId ==1771){
220
	    		shippingAddress = amazonAddreseBangalore;
221
	    		shippingTinNo = tinNoBan;
12543 manish.sha 222
	    	} else if(shippingWarehouseId == 2854){
223
	    		shippingAddress = flipkartAddressGgn;
224
	    		shippingTinNo = tinNoFkGgn;
225
	    	} else if(shippingWarehouseId == 2857){
226
	    		shippingAddress = ourAddressGurgaon;
227
	    		shippingTinNo = tinNoOurGgn;
12729 manish.sha 228
	    	} else if(shippingWarehouseId == 3295){
229
	    		shippingAddress = amazonAddressMewat;
230
	    		shippingTinNo = tinNoOurGgn;
12769 manish.sha 231
	    	} else if(shippingWarehouseId == 3298){
232
	    		shippingAddress = ourAddressHyderabad;
233
	    		shippingTinNo = tinNoOurHyd;
13051 manish.sha 234
	    	} else if(shippingWarehouseId == 3931){
235
	    		shippingAddress = ourAddressGurgaonS;
236
	    		shippingTinNo = tinNoOurGgn;
13354 manish.sha 237
	    	} else if(shippingWarehouseId == 4699){
238
	    		shippingAddress = flipkartAddressDelhi;
239
	    		shippingTinNo = tinNoFkDelhi;
9925 amar.kumar 240
	    	}
241
 
242
			PdfPCell billToShipToCell = new PdfPCell();
243
			billToShipToCell.setHorizontalAlignment(Element.ALIGN_LEFT);
244
			billToShipToCell.setBorder(Rectangle.NO_BORDER);
245
 
246
			PdfPCell shippingAddressCell = new PdfPCell();
247
			shippingAddressCell.addElement(new Paragraph("Ship To :\n" +shippingAddress + "\nTIN NO. "
248
	                + shippingTinNo, new Font(FontFamily.TIMES_ROMAN, 8f)));
249
			shippingAddressCell.setHorizontalAlignment(Element.ALIGN_LEFT);
250
	        shippingAddressCell.setBorder(Rectangle.LEFT);
251
	        billToShipToTable.addCell(addressCell);
252
	        billToShipToTable.addCell(shippingAddressCell);
253
	        billToShipToCell.addElement(billToShipToTable);
254
	        return billToShipToTable;
255
 
256
    	}
257
        billToShipToTable.addCell(addressCell);
258
        PdfPCell placeHolderCell = new PdfPCell();
259
        placeHolderCell.setBorder(Rectangle.NO_BORDER);
260
        billToShipToTable.addCell(placeHolderCell);
261
        return billToShipToTable;
4687 mandeep.dh 262
    }
263
 
264
    private static PdfPTable getSalutationTable(Supplier supplier)
265
            throws Exception {
266
        PdfPTable salutationTable = new PdfPTable(1);
267
        salutationTable.getDefaultCell().setHorizontalAlignment(
268
                Element.ALIGN_LEFT);
269
        salutationTable.getDefaultCell().setBorder(Rectangle.NO_BORDER);
270
        salutationTable.addCell(new Phrase("To", helvetica8));
8712 amar.kumar 271
        if(supplier.getName().equals("Smobility Ltd.")) {
272
        	salutationTable.addCell(new Phrase("Spice Retail Ltd.", helvetica8));
8713 amar.kumar 273
        } else if(supplier.getName().equals("Smobility Ltd. - Mumbai")) {
274
        	salutationTable.addCell(new Phrase("Spice Retail Ltd. Mumbai", helvetica8));
8712 amar.kumar 275
        } else {
276
        	salutationTable.addCell(new Phrase(supplier
277
                    .getName(), helvetica8));
278
        }
279
 
4687 mandeep.dh 280
        salutationTable.addCell(new Paragraph(supplier
281
                .getCommunicationAddress(), helvetica8));
282
        salutationTable.addCell(new Phrase("Dear Sir/Madam", helveticaBold8));
283
        salutationTable
284
                .addCell(new Phrase(
285
                        "Please supply the following stocks as per the details given below:",
286
                        helvetica8));
287
        salutationTable.addCell(new Phrase(" "));
288
        return salutationTable;
289
    }
290
 
291
    private static PdfPTable getPoDetailsTable(PurchaseOrder purchaseOrder) {
292
        PdfPTable detailsTable = new PdfPTable(new float[] { 0.1f, 0.5f, 0.1f,
9591 amar.kumar 293
                0.1f, 0.15f, 0.15f });
4687 mandeep.dh 294
        detailsTable.addCell(new Phrase("Sl. No.", helveticaBold8));
295
        detailsTable.addCell(new Phrase("Description", helveticaBold8));
296
        detailsTable.addCell(new Phrase("Quantity", helveticaBold8));
9591 amar.kumar 297
        detailsTable.addCell(new Phrase("Mrp", helveticaBold8));
4687 mandeep.dh 298
        detailsTable.addCell(new Phrase("Rate (Rs)", helveticaBold8));
299
        detailsTable.addCell(new Phrase("Amount (Rs)", helveticaBold8));
300
 
301
        int slNo = 0;
302
        double total = 0;
303
        for (in.shop2020.purchase.LineItem lineitem : purchaseOrder
304
                .getLineitems()) {
305
            slNo++;
306
            detailsTable.addCell(new Phrase(slNo + "", helvetica8));
307
            detailsTable.addCell(getProductNameCell(lineitem));
308
            detailsTable.addCell(new Phrase(lineitem.getQuantity() + "",
309
                    helvetica8));
9591 amar.kumar 310
            detailsTable.addCell(new Phrase(lineitem.getMrp() + "",
311
                    helvetica8));
4687 mandeep.dh 312
            detailsTable.addCell(new Phrase(lineitem.getUnitPrice() + "",
313
                    helvetica8));
314
            double lineTotal = lineitem.getQuantity() * lineitem.getUnitPrice();
315
            total += lineTotal;
316
            detailsTable.addCell(new Phrase("" + lineTotal, helvetica8));
317
        }
9634 amar.kumar 318
        detailsTable.addCell(getTotalCell(5));
12863 manish.sha 319
        detailsTable.addCell(new Phrase(BigDecimal.valueOf(total).toPlainString(), helvetica8));
4687 mandeep.dh 320
        return detailsTable;
321
    }
322
 
9591 amar.kumar 323
    private static PdfPTable getBillToTable(long warehouseId, TaxType taxType) {
7410 amar.kumar 324
    	//TODO Write this code in a proper configurable way
325
    	String address = "";
326
    	String tinNo = "";
327
    	String contactPerson = "";
328
    	if(warehouseId ==7) {
329
    		address = ourAddressDelhi;
330
    		tinNo = tinNoDelhi;
12729 manish.sha 331
    		contactPerson = "Mr. Shiv Kumar, Contact No. +91 9953858076";
7410 amar.kumar 332
    	} else if(warehouseId == 12) {
333
    		address = ourAddressGoregaon;
334
    		tinNo = tinNoMum;
7421 amar.kumar 335
    		contactPerson = "Mr. Avinash Sambhaji Lavange, Contact No. +91 9004049589";
7410 amar.kumar 336
    	} else if(warehouseId == 13) {
337
    		address = ourAddressBhiwandi;
338
    		tinNo = tinNoMum;
12729 manish.sha 339
    		contactPerson = "Mr. Vishal Tayade, Contact No. +91 9819231651";
7466 amar.kumar 340
    	} else if(warehouseId ==16) {
341
    		address = amazonAddress;
342
    		tinNo = tinNoMum;
343
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
13354 manish.sha 344
    	} else if(warehouseId ==1765) {
10877 manish.sha 345
    		address = ourAddressBangalore;
346
    		tinNo = tinNoBan;
12729 manish.sha 347
    		contactPerson = "Mr. Ravi Kumar, Contact No. +91 9686392567";
10877 manish.sha 348
    	}
349
    	else if(warehouseId ==1768) {
350
    		address = ourAddressBangaloreSR;
351
    		tinNo = tinNoBan;
12729 manish.sha 352
    		contactPerson = "Mr. Ravi Kumar, Contact No. +91 9686392567";
10877 manish.sha 353
    	}
354
    	else if(warehouseId ==1771) {
355
    		address = amazonAddreseBangalore;
356
    		tinNo = tinNoBan;
12729 manish.sha 357
    		contactPerson = "Mr. Ravi Kumar, Contact No. +91 9686392567";
10877 manish.sha 358
    	}
12543 manish.sha 359
    	else if(warehouseId ==2854) {
360
    		address = flipkartAddressGgn;
361
    		tinNo = tinNoFkGgn;
362
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
363
    	} 
364
    	else if(warehouseId ==2857) {
365
    		address = ourAddressGurgaon;
366
    		tinNo = tinNoOurGgn;
367
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
12729 manish.sha 368
    	} 
369
    	else if(warehouseId == 3295) {
370
    		address = amazonAddressMewat;
371
    		tinNo = tinNoOurGgn;
372
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
12543 manish.sha 373
    	}
12769 manish.sha 374
    	else if(warehouseId == 3298) {
375
    		address = ourAddressHyderabad;
376
    		tinNo = tinNoOurHyd;
377
    		contactPerson = "Mr. Achyuta Ramaiah A, Contact No. +91 9246581582";
378
    	}
13051 manish.sha 379
    	else if(warehouseId == 3931) {
380
    		address = ourAddressGurgaonS;
381
    		tinNo = tinNoOurGgn;
382
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
383
    	}
13354 manish.sha 384
    	else if(warehouseId == 4699) {
385
    		address = flipkartAddressDelhi;
386
    		tinNo = tinNoFkDelhi;
387
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
388
    	}
7410 amar.kumar 389
 
4687 mandeep.dh 390
        PdfPTable billToTable = new PdfPTable(new float[] { 0.2f, 0.8f });
391
        billToTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
392
 
9925 amar.kumar 393
        billToTable.addCell(new Phrase("Bill To :", helvetica8));
7410 amar.kumar 394
        billToTable.addCell(new PdfPCell(new Paragraph(address
4687 mandeep.dh 395
                + "\nTIN NO. " + tinNo, helvetica8)));
396
 
397
        billToTable.addCell(new Phrase("Contact Person:", helvetica8));
7410 amar.kumar 398
        billToTable.addCell(new Phrase(contactPerson, helvetica8));
4687 mandeep.dh 399
 
400
        billToTable.addCell(new Phrase("Taxes:", helvetica8));
9591 amar.kumar 401
        if(taxType == TaxType.CFORM) {
402
        	billToTable.addCell(new Phrase("Prices inclusive of all taxes (To be billed on CST Against C-Form)",
403
        			helvetica8));
404
        } else {
405
        	billToTable.addCell(new Phrase("Prices inclusive of all taxes",
406
        			helvetica8));
407
        }
4687 mandeep.dh 408
 
409
        return billToTable;
410
    }
411
 
412
    private static PdfPCell getProductNameCell(
413
            in.shop2020.purchase.LineItem lineitem) {
414
        String itemName = getItemDisplayName(lineitem);
415
        PdfPCell productNameCell = new PdfPCell(
416
                new Phrase(itemName, helvetica8));
417
        productNameCell.setHorizontalAlignment(Element.ALIGN_LEFT);
418
        return productNameCell;
419
    }
420
 
421
    private static String getItemDisplayName(
422
            in.shop2020.purchase.LineItem lineitem) {
423
        StringBuffer itemName = new StringBuffer();
424
        if (lineitem.getBrand() != null)
425
            itemName.append(lineitem.getBrand() + " ");
426
        if (lineitem.getModelName() != null)
427
            itemName.append(lineitem.getModelName() + " ");
428
        if (lineitem.getModelNumber() != null)
429
            itemName.append(lineitem.getModelNumber() + " ");
430
        if (lineitem.getColor() != null
431
                && !lineitem.getColor().trim().equals("NA"))
432
            itemName.append("(" + lineitem.getColor() + ")");
433
 
434
        return itemName.toString();
435
    }
436
 
437
    private static PdfPCell getTotalCell(int colspan) {
438
        PdfPCell totalCell = new PdfPCell(new Phrase("Total", helveticaBold8));
439
        totalCell.setColspan(colspan);
440
        totalCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
441
        return totalCell;
442
    }
443
 
444
}