Subversion Repositories SmartDukaan

Rev

Rev 13354 | Rev 14072 | 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";
13938 manish.sha 50
    private static final String snapdealAddressDelhi = "Spice Online Retail Pvt. Ltd, \nC/O. Gati Kintetsu Express Pvt Ltd.,\nPlot In Khasra No. 15/17,24, G/F, \nVillage- Samalkha, New Delhi - 110037";
7410 amar.kumar 51
    private static final String tinNoDelhi = "07250399732";
52
    private static final String tinNoMum = "27450984008";
10877 manish.sha 53
    private static final String tinNoBan = "29171183852";
12543 manish.sha 54
    private static final String tinNoFkGgn = "06681944625";
55
    private static final String tinNoOurGgn = "06681944625";
12769 manish.sha 56
    private static final String tinNoOurHyd = "36601220768";
13354 manish.sha 57
    private static final String tinNoFkDelhi = "07720408834";
12543 manish.sha 58
 
4687 mandeep.dh 59
 
60
    private static final Font helvetica8 = FontFactory.getFont(
61
            FontFactory.HELVETICA, 8);
62
 
63
    private static final Font helveticaBold8 = FontFactory.getFont(
64
            FontFactory.HELVETICA_BOLD, 8);
65
    private static final Font helveticaBold12 = FontFactory.getFont(
66
            FontFactory.HELVETICA_BOLD, 12);
67
 
68
    public static String generatePdfSheet(PurchaseOrder purchaseOrder,
69
            Supplier supplier) throws IOException {
70
        ByteArrayOutputStream baosPDF = null;
71
        try {
72
            baosPDF = new ByteArrayOutputStream();
73
 
74
            Document document = new Document();
75
            PdfWriter.getInstance(document, baosPDF);
76
            document.addAuthor("shop2020");
77
            document.addTitle("Purchase Order No: "
78
                    + purchaseOrder.getPoNumber());
79
            document.open();
80
 
81
            PdfPTable poTable = getPoTable(purchaseOrder, supplier);
82
            poTable.setSpacingAfter(10.0f);
83
            poTable.setWidthPercentage(90.0f);
84
 
85
            document.add(poTable);
86
            document.close();
87
            baosPDF.close();
88
        } catch (Exception e) {
89
            logger.error("Error while generating Invoice: ", e);
90
        }
91
 
92
        String tmpDir = System.getProperty("java.io.tmpdir");
93
        String filename = tmpDir + "/po-" + purchaseOrder.getId() + ".pdf";
94
        File f = new File(filename);
95
        FileOutputStream fos = new FileOutputStream(f);
96
        baosPDF.writeTo(fos);
97
        return filename;
98
    }
99
 
100
    private static PdfPTable getPoTable(PurchaseOrder purchaseOrder,
101
            Supplier supplier) throws Exception {
102
        PdfPTable poTable = new PdfPTable(1);
103
        poTable.getDefaultCell().setBorder(Rectangle.NO_BORDER);
104
        poTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
105
 
106
        PdfPCell poTitleCell = new PdfPCell(new Phrase("Purchase Order",
107
                helveticaBold12));
108
        poTitleCell.setHorizontalAlignment(Element.ALIGN_CENTER);
109
        poTitleCell.setBorder(Rectangle.NO_BORDER);
110
 
111
        Date poDate = new Date(purchaseOrder.getCreatedAt());
112
        PdfPTable poSummaryTable = new PdfPTable(new float[] { 0.5f, 0.5f });
113
        poSummaryTable.addCell(new PdfPCell(new Phrase("PO No: "
114
                + purchaseOrder.getPoNumber())));
9416 amar.kumar 115
        poSummaryTable.addCell(new PdfPCell(new Phrase("Date: "
116
        		+ DateFormat.getDateInstance(DateFormat.MEDIUM).format(
117
        				poDate))));
4687 mandeep.dh 118
        poSummaryTable.setSpacingBefore(10.0f);
119
 
120
        poTable.addCell(poTitleCell);
9925 amar.kumar 121
        poTable.addCell(getAddressCell(purchaseOrder.getWarehouseId(), purchaseOrder.getShippingWarehouseId()));
4687 mandeep.dh 122
        poTable.addCell(poSummaryTable);
123
        poTable.addCell(getSalutationTable(supplier));
124
        poTable.addCell(getPoDetailsTable(purchaseOrder));
9591 amar.kumar 125
        poTable.addCell(getBillToTable(purchaseOrder.getWarehouseId(), purchaseOrder.getTaxType()));
126
        //poTable.addCell(getCFormCell(purchaseOrder.getTaxType()));
4687 mandeep.dh 127
 
128
        return poTable;
129
    }
130
 
9416 amar.kumar 131
    private static PdfPCell getCFormCell(TaxType taxType) {
132
    	PdfPCell cFormCell = null;
133
		if(taxType == TaxType.CFORM) {
9586 amar.kumar 134
			cFormCell = new PdfPCell(new Paragraph("*To be billed on CST Against C-Form ", new Font(FontFamily.TIMES_ROMAN, 8f)));
9416 amar.kumar 135
		} else {
136
			cFormCell = new PdfPCell();
137
		}
138
		cFormCell.setBorder(Rectangle.NO_BORDER);
139
		cFormCell.setHorizontalAlignment(Element.ALIGN_LEFT);
140
		return cFormCell;
141
	}
142
 
9925 amar.kumar 143
	private static PdfPTable getAddressCell(long warehouseId, long shippingWarehouseId) {
7410 amar.kumar 144
    	//TODO Write this code in a proper configurable way
145
    	String address = "";
146
    	String tinNo = "";
9925 amar.kumar 147
    	String shippingAddress = "";
148
    	String shippingTinNo = "";
7410 amar.kumar 149
    	if(warehouseId ==7) {
150
    		address = ourAddressDelhi;
151
    		tinNo = tinNoDelhi;
152
    	} else if(warehouseId == 12) {
153
    		address = ourAddressGoregaon;
154
    		tinNo = tinNoMum;
155
    	} else if(warehouseId == 13) {
156
    		address = ourAddressBhiwandi;
157
    		tinNo = tinNoMum;
7466 amar.kumar 158
    	} else if(warehouseId ==16) {
7464 amar.kumar 159
    		address = amazonAddress;
160
    		tinNo = tinNoMum;
10877 manish.sha 161
    	} else if(warehouseId ==1765){
162
    		address = ourAddressBangalore;
163
    		tinNo = tinNoBan;
164
    	} else if(warehouseId ==1768){
165
    		address = ourAddressBangaloreSR;
166
    		tinNo = tinNoBan;
167
    	} else if(warehouseId ==1771){
168
    		address = amazonAddreseBangalore;
169
    		tinNo = tinNoBan;
12543 manish.sha 170
    	} else if(warehouseId == 2854){
171
    		address = flipkartAddressGgn;
172
    		tinNo = tinNoFkGgn;
173
    	} else if(warehouseId == 2857){
174
    		address = ourAddressGurgaon;
175
    		tinNo = tinNoOurGgn;
12769 manish.sha 176
    	} else if(warehouseId == 3295){
177
    		address = amazonAddressMewat;
178
    		tinNo = tinNoOurGgn;
13354 manish.sha 179
    	} else if(warehouseId == 3298){
12769 manish.sha 180
    		address = ourAddressHyderabad;
181
    		tinNo = tinNoOurHyd;
13051 manish.sha 182
    	} else if(warehouseId == 3931){
183
    		address = ourAddressGurgaonS;
184
    		tinNo = tinNoOurGgn;
13354 manish.sha 185
    	} else if(warehouseId == 4699){
186
    		address = flipkartAddressDelhi;
187
    		tinNo = tinNoFkDelhi;
13938 manish.sha 188
    	} else if(warehouseId == 5314){
189
    		address = snapdealAddressDelhi;
190
    		tinNo = tinNoFkDelhi;
12769 manish.sha 191
    	}
9925 amar.kumar 192
    	PdfPTable billToShipToTable  = new PdfPTable(2);
7410 amar.kumar 193
        Paragraph addressParagraph = new Paragraph(address + "\nTIN NO. "
4687 mandeep.dh 194
                + tinNo, new Font(FontFamily.TIMES_ROMAN, 8f));
195
        PdfPCell addressCell = new PdfPCell();
9925 amar.kumar 196
        if(warehouseId != shippingWarehouseId) {
197
           	addressParagraph = new Paragraph("Bill To :\n" + address + "\n\nTIN NO. "
198
                    + tinNo, new Font(FontFamily.TIMES_ROMAN, 8f));
199
        }
4687 mandeep.dh 200
        addressCell.addElement(addressParagraph);
9925 amar.kumar 201
        //addressCell.setHorizontalAlignment(Element.ALIGN_CENTER);
4687 mandeep.dh 202
        addressCell.setBorder(Rectangle.NO_BORDER);
9925 amar.kumar 203
 
204
        if(warehouseId != shippingWarehouseId) {
205
			if(shippingWarehouseId ==7) {
206
				shippingAddress = ourAddressDelhi;
207
				shippingTinNo = tinNoDelhi;
208
	    	} else if(shippingWarehouseId == 12) {
209
	    		shippingAddress = ourAddressGoregaon;
210
	    		shippingTinNo = tinNoMum;
211
	    	} else if(shippingWarehouseId == 13) {
212
	    		shippingAddress = ourAddressBhiwandi;
213
	    		shippingTinNo = tinNoMum;
214
	    	} else if(shippingWarehouseId ==16) {
215
	    		shippingAddress = amazonAddress;
216
	    		shippingTinNo = tinNoMum;
10877 manish.sha 217
	    	} else if(shippingWarehouseId ==1765){
218
	    		shippingAddress = ourAddressBangalore;
219
	    		shippingTinNo = tinNoBan;
220
	    	} else if(shippingWarehouseId ==1768){
221
	    		shippingAddress = ourAddressBangaloreSR;
222
	    		shippingTinNo = tinNoBan;
223
	    	} else if(shippingWarehouseId ==1771){
224
	    		shippingAddress = amazonAddreseBangalore;
225
	    		shippingTinNo = tinNoBan;
12543 manish.sha 226
	    	} else if(shippingWarehouseId == 2854){
227
	    		shippingAddress = flipkartAddressGgn;
228
	    		shippingTinNo = tinNoFkGgn;
229
	    	} else if(shippingWarehouseId == 2857){
230
	    		shippingAddress = ourAddressGurgaon;
231
	    		shippingTinNo = tinNoOurGgn;
12729 manish.sha 232
	    	} else if(shippingWarehouseId == 3295){
233
	    		shippingAddress = amazonAddressMewat;
234
	    		shippingTinNo = tinNoOurGgn;
12769 manish.sha 235
	    	} else if(shippingWarehouseId == 3298){
236
	    		shippingAddress = ourAddressHyderabad;
237
	    		shippingTinNo = tinNoOurHyd;
13051 manish.sha 238
	    	} else if(shippingWarehouseId == 3931){
239
	    		shippingAddress = ourAddressGurgaonS;
240
	    		shippingTinNo = tinNoOurGgn;
13354 manish.sha 241
	    	} else if(shippingWarehouseId == 4699){
242
	    		shippingAddress = flipkartAddressDelhi;
243
	    		shippingTinNo = tinNoFkDelhi;
13938 manish.sha 244
	    	} else if(shippingWarehouseId == 5314){
245
	    		shippingAddress = snapdealAddressDelhi;
246
	    		shippingTinNo = tinNoFkDelhi;
9925 amar.kumar 247
	    	}
248
 
249
			PdfPCell billToShipToCell = new PdfPCell();
250
			billToShipToCell.setHorizontalAlignment(Element.ALIGN_LEFT);
251
			billToShipToCell.setBorder(Rectangle.NO_BORDER);
252
 
253
			PdfPCell shippingAddressCell = new PdfPCell();
254
			shippingAddressCell.addElement(new Paragraph("Ship To :\n" +shippingAddress + "\nTIN NO. "
255
	                + shippingTinNo, new Font(FontFamily.TIMES_ROMAN, 8f)));
256
			shippingAddressCell.setHorizontalAlignment(Element.ALIGN_LEFT);
257
	        shippingAddressCell.setBorder(Rectangle.LEFT);
258
	        billToShipToTable.addCell(addressCell);
259
	        billToShipToTable.addCell(shippingAddressCell);
260
	        billToShipToCell.addElement(billToShipToTable);
261
	        return billToShipToTable;
262
 
263
    	}
264
        billToShipToTable.addCell(addressCell);
265
        PdfPCell placeHolderCell = new PdfPCell();
266
        placeHolderCell.setBorder(Rectangle.NO_BORDER);
267
        billToShipToTable.addCell(placeHolderCell);
268
        return billToShipToTable;
4687 mandeep.dh 269
    }
270
 
271
    private static PdfPTable getSalutationTable(Supplier supplier)
272
            throws Exception {
273
        PdfPTable salutationTable = new PdfPTable(1);
274
        salutationTable.getDefaultCell().setHorizontalAlignment(
275
                Element.ALIGN_LEFT);
276
        salutationTable.getDefaultCell().setBorder(Rectangle.NO_BORDER);
277
        salutationTable.addCell(new Phrase("To", helvetica8));
8712 amar.kumar 278
        if(supplier.getName().equals("Smobility Ltd.")) {
279
        	salutationTable.addCell(new Phrase("Spice Retail Ltd.", helvetica8));
8713 amar.kumar 280
        } else if(supplier.getName().equals("Smobility Ltd. - Mumbai")) {
281
        	salutationTable.addCell(new Phrase("Spice Retail Ltd. Mumbai", helvetica8));
8712 amar.kumar 282
        } else {
283
        	salutationTable.addCell(new Phrase(supplier
284
                    .getName(), helvetica8));
285
        }
286
 
4687 mandeep.dh 287
        salutationTable.addCell(new Paragraph(supplier
288
                .getCommunicationAddress(), helvetica8));
289
        salutationTable.addCell(new Phrase("Dear Sir/Madam", helveticaBold8));
290
        salutationTable
291
                .addCell(new Phrase(
292
                        "Please supply the following stocks as per the details given below:",
293
                        helvetica8));
294
        salutationTable.addCell(new Phrase(" "));
295
        return salutationTable;
296
    }
297
 
298
    private static PdfPTable getPoDetailsTable(PurchaseOrder purchaseOrder) {
299
        PdfPTable detailsTable = new PdfPTable(new float[] { 0.1f, 0.5f, 0.1f,
9591 amar.kumar 300
                0.1f, 0.15f, 0.15f });
4687 mandeep.dh 301
        detailsTable.addCell(new Phrase("Sl. No.", helveticaBold8));
302
        detailsTable.addCell(new Phrase("Description", helveticaBold8));
303
        detailsTable.addCell(new Phrase("Quantity", helveticaBold8));
9591 amar.kumar 304
        detailsTable.addCell(new Phrase("Mrp", helveticaBold8));
4687 mandeep.dh 305
        detailsTable.addCell(new Phrase("Rate (Rs)", helveticaBold8));
306
        detailsTable.addCell(new Phrase("Amount (Rs)", helveticaBold8));
307
 
308
        int slNo = 0;
309
        double total = 0;
310
        for (in.shop2020.purchase.LineItem lineitem : purchaseOrder
311
                .getLineitems()) {
312
            slNo++;
313
            detailsTable.addCell(new Phrase(slNo + "", helvetica8));
314
            detailsTable.addCell(getProductNameCell(lineitem));
315
            detailsTable.addCell(new Phrase(lineitem.getQuantity() + "",
316
                    helvetica8));
9591 amar.kumar 317
            detailsTable.addCell(new Phrase(lineitem.getMrp() + "",
318
                    helvetica8));
4687 mandeep.dh 319
            detailsTable.addCell(new Phrase(lineitem.getUnitPrice() + "",
320
                    helvetica8));
321
            double lineTotal = lineitem.getQuantity() * lineitem.getUnitPrice();
322
            total += lineTotal;
323
            detailsTable.addCell(new Phrase("" + lineTotal, helvetica8));
324
        }
9634 amar.kumar 325
        detailsTable.addCell(getTotalCell(5));
12863 manish.sha 326
        detailsTable.addCell(new Phrase(BigDecimal.valueOf(total).toPlainString(), helvetica8));
4687 mandeep.dh 327
        return detailsTable;
328
    }
329
 
9591 amar.kumar 330
    private static PdfPTable getBillToTable(long warehouseId, TaxType taxType) {
7410 amar.kumar 331
    	//TODO Write this code in a proper configurable way
332
    	String address = "";
333
    	String tinNo = "";
334
    	String contactPerson = "";
335
    	if(warehouseId ==7) {
336
    		address = ourAddressDelhi;
337
    		tinNo = tinNoDelhi;
12729 manish.sha 338
    		contactPerson = "Mr. Shiv Kumar, Contact No. +91 9953858076";
7410 amar.kumar 339
    	} else if(warehouseId == 12) {
340
    		address = ourAddressGoregaon;
341
    		tinNo = tinNoMum;
7421 amar.kumar 342
    		contactPerson = "Mr. Avinash Sambhaji Lavange, Contact No. +91 9004049589";
7410 amar.kumar 343
    	} else if(warehouseId == 13) {
344
    		address = ourAddressBhiwandi;
345
    		tinNo = tinNoMum;
12729 manish.sha 346
    		contactPerson = "Mr. Vishal Tayade, Contact No. +91 9819231651";
7466 amar.kumar 347
    	} else if(warehouseId ==16) {
348
    		address = amazonAddress;
349
    		tinNo = tinNoMum;
350
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
13354 manish.sha 351
    	} else if(warehouseId ==1765) {
10877 manish.sha 352
    		address = ourAddressBangalore;
353
    		tinNo = tinNoBan;
12729 manish.sha 354
    		contactPerson = "Mr. Ravi Kumar, Contact No. +91 9686392567";
10877 manish.sha 355
    	}
356
    	else if(warehouseId ==1768) {
357
    		address = ourAddressBangaloreSR;
358
    		tinNo = tinNoBan;
12729 manish.sha 359
    		contactPerson = "Mr. Ravi Kumar, Contact No. +91 9686392567";
10877 manish.sha 360
    	}
361
    	else if(warehouseId ==1771) {
362
    		address = amazonAddreseBangalore;
363
    		tinNo = tinNoBan;
12729 manish.sha 364
    		contactPerson = "Mr. Ravi Kumar, Contact No. +91 9686392567";
10877 manish.sha 365
    	}
12543 manish.sha 366
    	else if(warehouseId ==2854) {
367
    		address = flipkartAddressGgn;
368
    		tinNo = tinNoFkGgn;
369
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
370
    	} 
371
    	else if(warehouseId ==2857) {
372
    		address = ourAddressGurgaon;
373
    		tinNo = tinNoOurGgn;
374
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
12729 manish.sha 375
    	} 
376
    	else if(warehouseId == 3295) {
377
    		address = amazonAddressMewat;
378
    		tinNo = tinNoOurGgn;
379
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
12543 manish.sha 380
    	}
12769 manish.sha 381
    	else if(warehouseId == 3298) {
382
    		address = ourAddressHyderabad;
383
    		tinNo = tinNoOurHyd;
384
    		contactPerson = "Mr. Achyuta Ramaiah A, Contact No. +91 9246581582";
385
    	}
13051 manish.sha 386
    	else if(warehouseId == 3931) {
387
    		address = ourAddressGurgaonS;
388
    		tinNo = tinNoOurGgn;
389
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
390
    	}
13354 manish.sha 391
    	else if(warehouseId == 4699) {
392
    		address = flipkartAddressDelhi;
393
    		tinNo = tinNoFkDelhi;
394
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
395
    	}
13938 manish.sha 396
    	else if(warehouseId == 5314){
397
    		address = snapdealAddressDelhi;
398
    		tinNo = tinNoFkDelhi;
399
    		contactPerson = "Mr. Sandeep Sachdeva, Contact No. +91 9716691287";
400
    	}
7410 amar.kumar 401
 
4687 mandeep.dh 402
        PdfPTable billToTable = new PdfPTable(new float[] { 0.2f, 0.8f });
403
        billToTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
404
 
9925 amar.kumar 405
        billToTable.addCell(new Phrase("Bill To :", helvetica8));
7410 amar.kumar 406
        billToTable.addCell(new PdfPCell(new Paragraph(address
4687 mandeep.dh 407
                + "\nTIN NO. " + tinNo, helvetica8)));
408
 
409
        billToTable.addCell(new Phrase("Contact Person:", helvetica8));
7410 amar.kumar 410
        billToTable.addCell(new Phrase(contactPerson, helvetica8));
4687 mandeep.dh 411
 
412
        billToTable.addCell(new Phrase("Taxes:", helvetica8));
9591 amar.kumar 413
        if(taxType == TaxType.CFORM) {
414
        	billToTable.addCell(new Phrase("Prices inclusive of all taxes (To be billed on CST Against C-Form)",
415
        			helvetica8));
416
        } else {
417
        	billToTable.addCell(new Phrase("Prices inclusive of all taxes",
418
        			helvetica8));
419
        }
4687 mandeep.dh 420
 
421
        return billToTable;
422
    }
423
 
424
    private static PdfPCell getProductNameCell(
425
            in.shop2020.purchase.LineItem lineitem) {
426
        String itemName = getItemDisplayName(lineitem);
427
        PdfPCell productNameCell = new PdfPCell(
428
                new Phrase(itemName, helvetica8));
429
        productNameCell.setHorizontalAlignment(Element.ALIGN_LEFT);
430
        return productNameCell;
431
    }
432
 
433
    private static String getItemDisplayName(
434
            in.shop2020.purchase.LineItem lineitem) {
435
        StringBuffer itemName = new StringBuffer();
436
        if (lineitem.getBrand() != null)
437
            itemName.append(lineitem.getBrand() + " ");
438
        if (lineitem.getModelName() != null)
439
            itemName.append(lineitem.getModelName() + " ");
440
        if (lineitem.getModelNumber() != null)
441
            itemName.append(lineitem.getModelNumber() + " ");
442
        if (lineitem.getColor() != null
443
                && !lineitem.getColor().trim().equals("NA"))
444
            itemName.append("(" + lineitem.getColor() + ")");
445
 
446
        return itemName.toString();
447
    }
448
 
449
    private static PdfPCell getTotalCell(int colspan) {
450
        PdfPCell totalCell = new PdfPCell(new Phrase("Total", helveticaBold8));
451
        totalCell.setColspan(colspan);
452
        totalCell.setHorizontalAlignment(Element.ALIGN_RIGHT);
453
        return totalCell;
454
    }
455
 
456
}