Subversion Repositories SmartDukaan

Rev

Rev 2360 | Rev 3125 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2360 Rev 2492
Line 2... Line 2...
2
 
2
 
3
import in.shop2020.model.v1.catalog.Warehouse;
3
import in.shop2020.model.v1.catalog.Warehouse;
4
import in.shop2020.model.v1.order.LineItem;
4
import in.shop2020.model.v1.order.LineItem;
5
import in.shop2020.model.v1.order.Order;
5
import in.shop2020.model.v1.order.Order;
6
import in.shop2020.model.v1.order.TransactionServiceException;
6
import in.shop2020.model.v1.order.TransactionServiceException;
-
 
7
import in.shop2020.support.utils.ReportsUtils;
7
import in.shop2020.thrift.clients.CatalogServiceClient;
8
import in.shop2020.thrift.clients.CatalogServiceClient;
8
import in.shop2020.thrift.clients.TransactionServiceClient;
9
import in.shop2020.thrift.clients.TransactionServiceClient;
9
 
10
 
10
import java.text.DateFormat;
11
import java.text.DateFormat;
11
import java.text.SimpleDateFormat;
12
import java.text.SimpleDateFormat;
Line 15... Line 16...
15
import java.io.IOException;
16
import java.io.IOException;
16
import java.util.ArrayList;
17
import java.util.ArrayList;
17
import java.util.Date;
18
import java.util.Date;
18
import java.util.List;
19
import java.util.List;
19
 
20
 
-
 
21
import javax.servlet.ServletContext;
20
import javax.servlet.ServletOutputStream;
22
import javax.servlet.ServletOutputStream;
21
import javax.servlet.http.HttpServletRequest;
23
import javax.servlet.http.HttpServletRequest;
22
import javax.servlet.http.HttpServletResponse;
24
import javax.servlet.http.HttpServletResponse;
-
 
25
import javax.servlet.http.HttpSession;
23
 
26
 
24
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
27
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
25
import org.apache.poi.ss.usermodel.Cell;
28
import org.apache.poi.ss.usermodel.Cell;
26
import org.apache.poi.ss.usermodel.CellStyle;
29
import org.apache.poi.ss.usermodel.CellStyle;
27
import org.apache.poi.ss.usermodel.Font;
30
import org.apache.poi.ss.usermodel.Font;
28
import org.apache.poi.ss.usermodel.Row;
31
import org.apache.poi.ss.usermodel.Row;
29
import org.apache.poi.ss.usermodel.Sheet;
32
import org.apache.poi.ss.usermodel.Sheet;
30
import org.apache.poi.ss.usermodel.Workbook;
33
import org.apache.poi.ss.usermodel.Workbook;
31
import org.apache.poi.ss.util.CellRangeAddress;
34
import org.apache.poi.ss.util.CellRangeAddress;
-
 
35
import org.apache.struts2.convention.annotation.InterceptorRef;
-
 
36
import org.apache.struts2.convention.annotation.InterceptorRefs;
32
import org.apache.struts2.interceptor.ServletRequestAware;
37
import org.apache.struts2.interceptor.ServletRequestAware;
33
import org.apache.struts2.interceptor.ServletResponseAware;
38
import org.apache.struts2.interceptor.ServletResponseAware;
34
import org.apache.struts2.rest.DefaultHttpHeaders;
39
import org.apache.struts2.rest.DefaultHttpHeaders;
35
import org.apache.struts2.rest.HttpHeaders;
40
import org.apache.struts2.rest.HttpHeaders;
-
 
41
import org.apache.struts2.util.ServletContextAware;
36
 
42
 
37
/**
43
/**
38
 * 
44
 * 
39
 * @author Varun Gupta
45
 * @author Varun Gupta
40
 * @version 1.0
46
 * @version 1.0
41
 * @description HotspotReconciliationController handles requests to generate a reconciliation
47
 * @description HotspotReconciliationController handles requests to generate a reconciliation
42
 * report in XLS format for all the transactions with HotSpot within a given date range.
48
 * report in XLS format for all the transactions with HotSpot within a given date range.
43
 * 
49
 * 
44
 */
50
 */
-
 
51
 
-
 
52
@InterceptorRefs({
-
 
53
    @InterceptorRef("defaultStack"),
-
 
54
    @InterceptorRef("login")
-
 
55
})
45
public class HotspotReconciliationController implements ServletResponseAware, ServletRequestAware {
56
public class HotspotReconciliationController implements ServletResponseAware, ServletRequestAware, ServletContextAware {
46
 
57
 
47
	private enum ReportColumn{
58
	private enum ReportColumn{
48
	    ORDER_ID(0),
59
	    ORDER_ID(0),
49
		BILLING_NUMBER(1),
60
		BILLING_NUMBER(1),
50
		BILLING_DATE(2),
61
		BILLING_DATE(2),
Line 69... Line 80...
69
	//FIXME: Read this configuration from the config server
80
	//FIXME: Read this configuration from the config server
70
	//private String hotspotReconciliationReportPath = "/HotspotReports";
81
	//private String hotspotReconciliationReportPath = "/HotspotReports";
71
	
82
	
72
	private HttpServletRequest request;
83
	private HttpServletRequest request;
73
	private HttpServletResponse response;
84
	private HttpServletResponse response;
74
	
-
 
-
 
85
    private HttpSession session;
-
 
86
    private ServletContext context;
75
	private String id;
87
	private String id;
76
	
88
	
77
	public HotspotReconciliationController(){
89
	public HotspotReconciliationController(){
78
		
90
		
79
	}
91
	}
80
	
92
	
81
	public HttpHeaders index()	{
93
	public String index() {
-
 
94
	    if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getServletPath())) {
82
		return new DefaultHttpHeaders("report");
95
	        return "exception";
83
	}
96
	    }
84
	
-
 
85
	public HttpHeaders show(){
-
 
86
		return new DefaultHttpHeaders("report");
97
	    return "report";
87
	}
98
	}
88
	
99
	
89
	// Handles the POST request (Form Submission)
100
	// Handles the POST request (Form Submission)
90
	public HttpHeaders create(){
101
	public HttpHeaders create(){
91
		DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
102
		DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Line 231... Line 242...
231
	}
242
	}
232
 
243
 
233
	@Override
244
	@Override
234
	public void setServletRequest(HttpServletRequest request) {
245
	public void setServletRequest(HttpServletRequest request) {
235
		this.request = request;
246
		this.request = request;
-
 
247
		this.session = request.getSession();    
236
	}
248
	}
237
 
249
 
238
	@Override
250
	@Override
239
	public void setServletResponse(HttpServletResponse response) {
251
	public void setServletResponse(HttpServletResponse response) {
240
		this.response  = response;
252
		this.response  = response;
Line 244... Line 256...
244
		if(s==null || s.equals(""))
256
		if(s==null || s.equals(""))
245
			return "-";
257
			return "-";
246
		else
258
		else
247
			return s; 
259
			return s; 
248
	}
260
	}
-
 
261
	@Override
-
 
262
    public void setServletContext(ServletContext context) {
-
 
263
        this.context = context;
-
 
264
    }
-
 
265
 
-
 
266
    public String getServletContextPath() {
-
 
267
        return context.getContextPath();
-
 
268
    }
249
}
269
}