Subversion Repositories SmartDukaan

Rev

Rev 1194 | Blame | Last modification | View Log | RSS feed

package in.shop2020.support.controllers;

import in.shop2020.support.services.PendingOrdersGenerator;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletResponseAware;

public class PendingOrdersController implements ServletResponseAware {

        private String id;
        
        private HttpServletResponse response;
        
        public String show(){
                try {
                        long warehouseId = Long.parseLong(getId());
                        response.setContentType("application/vnd.ms-excel");
                        
                        PendingOrdersGenerator pendingOrdersGenerator = new PendingOrdersGenerator();
                        Calendar date = new GregorianCalendar();
                        int year = date.get(Calendar.YEAR);
                        int month = date.get(Calendar.MONTH) +1;
                        int day = date.get(Calendar.DAY_OF_MONTH);
                        response.setHeader("Content-disposition", "inline; filename=pending-orders-"+ warehouseId + "-"+year+"-"+ month+"-" + day +".xls" );
                        
                        ServletOutputStream sos;
                        try {
                                ByteArrayOutputStream baos = pendingOrdersGenerator.generatePendingOrdersDetails(warehouseId);
                                sos = response.getOutputStream();
                                baos.writeTo(sos);
                                sos.flush();
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }catch(NumberFormatException nfe){
                        nfe.printStackTrace();
                }
                return null;
        }
        
        @Override
        public void setServletResponse(HttpServletResponse response) {
                this.response  = response;
        }

        public String getId(){
                return id;
        }
        
        public void setId(String id){
                this.id = id;
        }
}