Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1194 chandransh 1
package in.shop2020.support.controllers;
2
 
3
import in.shop2020.support.services.PendingOrdersGenerator;
4
 
5
import java.io.ByteArrayOutputStream;
6
import java.io.IOException;
7
import java.util.Calendar;
8
import java.util.GregorianCalendar;
9
 
10
import javax.servlet.ServletOutputStream;
11
import javax.servlet.http.HttpServletRequest;
12
import javax.servlet.http.HttpServletResponse;
13
 
14
import org.apache.struts2.interceptor.ServletRequestAware;
15
import org.apache.struts2.interceptor.ServletResponseAware;
16
 
17
public class PendingOrdersController implements ServletResponseAware, ServletRequestAware{
18
 
19
	private String id;
20
 
21
	private HttpServletRequest request;
22
	private HttpServletResponse response;
23
 
24
	public String show(){
25
		try {
26
			long warehouseId = Long.parseLong(getId());
27
			response.setContentType("application/vnd.ms-excel");
28
 
29
			PendingOrdersGenerator pendingOrdersGenerator = new PendingOrdersGenerator();
30
			Calendar date = new GregorianCalendar();
31
			int year = date.get(Calendar.YEAR);
32
			int month = date.get(Calendar.MONTH) +1;
33
			int day = date.get(Calendar.DAY_OF_MONTH);
34
			response.setHeader("Content-disposition", "inline; filename=pending-orders-"+ warehouseId + "-"+year+"-"+ month+"-" + day +".xls" );
35
 
36
			ServletOutputStream sos;
37
			try {
38
				ByteArrayOutputStream baos = pendingOrdersGenerator.generatePendingOrdersDetails(warehouseId);
39
				sos = response.getOutputStream();
40
				baos.writeTo(sos);
41
				sos.flush();
42
			} catch (IOException e) {
43
				e.printStackTrace();
44
			}
45
		}catch(NumberFormatException nfe){
46
			nfe.printStackTrace();
47
		}
48
		return null;
49
	}
50
 
51
	@Override
52
	public void setServletResponse(HttpServletResponse response) {
53
		this.response  = response;
54
	}
55
 
56
	@Override
57
	public void setServletRequest(HttpServletRequest request) {
58
		this.request = request;
59
	}
60
 
61
	public String getId(){
62
		return id;
63
	}
64
 
65
	public void setId(String id){
66
		this.id = id;
67
	}
68
}