Subversion Repositories SmartDukaan

Rev

Rev 21238 | Go to most recent revision | Details | 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
 
36
		System.out.println("LogisticsTransactionId"+request.getAttribute("logisticsTransactionId"));
37
		System.out.println("PackageDimensions"+request.getAttribute("packageDimensions"));
38
 
39
		FileItem uploadItem = getFileItem(request);
40
		if (uploadItem == null) { 
41
			response.getWriter().write("NO-SCRIPT-DATA"); 
42
			return; 
43
		}
44
 
45
		String fileName = "/tmp/"+getTimeInMilliseconds()+".xls";
46
		File file;
47
		try {
48
			file = new File(fileName);
49
			if(file.exists()){
50
				response.getWriter().write("File already exists."); 
51
				return;
52
			}	
53
			uploadItem.write(file);
54
		} catch (Exception e) {
55
			// TODO Auto-generated catch block
56
			e.printStackTrace();
57
		}
58
		ProcessShipmentDelay processShipmentDelay = new ProcessShipmentDelay();
59
		List<ShipmentDelayDetail> notUpdated = processShipmentDelay.processReport(fileName);
60
		response.setContentType("text/html");
61
		if (notUpdated == null){
62
			response.getWriter().write("Service error.");
63
		}
64
		else if (notUpdated.size() == 0){
65
			response.getWriter().write("All records updated.");
66
		}
67
		else{
68
			response.getWriter().write(notUpdated.size()+" "+"orders not updated.Check with report.");
69
		}
70
	}
71
 
72
	private long getTimeInMilliseconds(){
73
		Calendar cal=GregorianCalendar.getInstance();
74
		return cal.getTimeInMillis();
75
	}
76
 
77
	private FileItem getFileItem(HttpServletRequest request){ 
78
		FileItemFactory factory = new DiskFileItemFactory(); 
79
		ServletFileUpload upload = new ServletFileUpload(factory); 
80
		try     { 
81
			List items = upload.parseRequest(request); 
82
			Iterator it = items.iterator(); 
83
			while (it.hasNext()) { 
84
				FileItem item = (FileItem) it.next(); 
85
				if (!item.isFormField() && "file".equals(item.getFieldName())){ 
86
					return item; 
87
				} 
88
			} 
89
		} catch (FileUploadException e){ 
90
			return null; 
91
		} 
92
		return null; 
93
	}
94
 
95
}