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.HttpServletResponse;
12
 
13
import org.apache.struts2.interceptor.ServletResponseAware;
3105 chandransh 14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
1194 chandransh 16
 
1884 chandransh 17
public class PendingOrdersController implements ServletResponseAware {
1194 chandransh 18
 
3105 chandransh 19
    private static Logger logger = LoggerFactory.getLogger(PendingOrdersController.class);
20
 
1194 chandransh 21
	private String id;
22
 
23
	private HttpServletResponse response;
24
 
25
	public String show(){
26
		try {
27
			long warehouseId = Long.parseLong(getId());
28
			response.setContentType("application/vnd.ms-excel");
29
 
30
			PendingOrdersGenerator pendingOrdersGenerator = new PendingOrdersGenerator();
31
			Calendar date = new GregorianCalendar();
32
			int year = date.get(Calendar.YEAR);
33
			int month = date.get(Calendar.MONTH) +1;
34
			int day = date.get(Calendar.DAY_OF_MONTH);
35
			response.setHeader("Content-disposition", "inline; filename=pending-orders-"+ warehouseId + "-"+year+"-"+ month+"-" + day +".xls" );
36
 
37
			ServletOutputStream sos;
38
			try {
39
				ByteArrayOutputStream baos = pendingOrdersGenerator.generatePendingOrdersDetails(warehouseId);
40
				sos = response.getOutputStream();
41
				baos.writeTo(sos);
42
				sos.flush();
43
			} catch (IOException e) {
3105 chandransh 44
				logger.error("Error streaming pending orders report", e);
1194 chandransh 45
			}
46
		}catch(NumberFormatException nfe){
3105 chandransh 47
			logger.error("Error getting the warehouse Id", nfe);
1194 chandransh 48
		}
49
		return null;
50
	}
51
 
52
	@Override
53
	public void setServletResponse(HttpServletResponse response) {
54
		this.response  = response;
55
	}
56
 
57
	public String getId(){
58
		return id;
59
	}
60
 
61
	public void setId(String id){
62
		this.id = id;
63
	}
64
}