Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
21234 kshitij.so 1
package in.shop2020.hotspot.dashbaord.server;
2
 
3
 
4
 
5
import in.shop2020.model.v1.order.ShipmentDelayDetail;
6
 
7
import java.io.File;
8
import java.io.IOException;
9
import java.util.Calendar;
10
import java.util.GregorianCalendar;
11
import java.util.Iterator;
12
import java.util.List;
13
 
14
import javax.servlet.ServletException;
15
import javax.servlet.http.HttpServlet;
16
import javax.servlet.http.HttpServletRequest;
17
import javax.servlet.http.HttpServletResponse;
18
 
19
import org.apache.commons.fileupload.FileItem;
20
import org.apache.commons.fileupload.FileItemFactory;
21
import org.apache.commons.fileupload.FileUploadException;
22
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
23
import org.apache.commons.fileupload.servlet.ServletFileUpload;
24
 
25
import com.google.gwt.core.client.impl.AsyncFragmentLoader.Logger;
26
 
27
/**
28
 * Servlet to read xls and process it.
29
 */
30
 
31
@SuppressWarnings("serial")
32
public class BulkBillingServlet extends HttpServlet {
33
	protected void doPost(HttpServletRequest request, HttpServletResponse 
34
			response) throws ServletException, IOException {
35
 
21238 kshitij.so 36
 
21234 kshitij.so 37
		System.out.println("LogisticsTransactionId"+request.getAttribute("logisticsTransactionId"));
38
		System.out.println("PackageDimensions"+request.getAttribute("packageDimensions"));
39
 
40
		FileItem uploadItem = getFileItem(request);
41
		if (uploadItem == null) { 
42
			response.getWriter().write("NO-SCRIPT-DATA"); 
43
			return; 
44
		}
45
 
46
		String fileName = "/tmp/"+getTimeInMilliseconds()+".xls";
47
		File file;
48
		try {
49
			file = new File(fileName);
50
			if(file.exists()){
51
				response.getWriter().write("File already exists."); 
52
				return;
53
			}	
54
			uploadItem.write(file);
55
		} catch (Exception e) {
56
			// TODO Auto-generated catch block
57
			e.printStackTrace();
58
		}
21238 kshitij.so 59
		ProcessBulkBilling processBulkBilling = new ProcessBulkBilling(fileName,request.getAttribute("logisticsTransactionId")+"",request.getAttribute("packageDimensions")+"");
60
		String result = ""; 
61
		if (processBulkBilling.processReport()){
62
			result = processBulkBilling.checkBillingDetails();
21234 kshitij.so 63
		}
64
		else{
21238 kshitij.so 65
			result = "Unable to validate uploaded sheet";
21234 kshitij.so 66
		}
21238 kshitij.so 67
		response.setContentType("text/html");
68
		response.getWriter().write(result);
21234 kshitij.so 69
	}
70
 
71
	private long getTimeInMilliseconds(){
72
		Calendar cal=GregorianCalendar.getInstance();
73
		return cal.getTimeInMillis();
74
	}
75
 
76
	private FileItem getFileItem(HttpServletRequest request){ 
77
		FileItemFactory factory = new DiskFileItemFactory(); 
78
		ServletFileUpload upload = new ServletFileUpload(factory); 
79
		try     { 
80
			List items = upload.parseRequest(request); 
81
			Iterator it = items.iterator(); 
82
			while (it.hasNext()) { 
83
				FileItem item = (FileItem) it.next(); 
84
				if (!item.isFormField() && "file".equals(item.getFieldName())){ 
85
					return item; 
86
				} 
87
			} 
88
		} catch (FileUploadException e){ 
89
			return null; 
90
		} 
91
		return null; 
92
	}
93
 
94
}