Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
12531 manish.sha 1
package in.shop2020.inventory.controllers;
2
 
3
import java.io.BufferedReader;
4
import java.io.File;
5
import java.io.FileReader;
6
import java.util.ArrayList;
7
import java.util.List;
8
 
9
import javax.servlet.ServletContext;
10
 
11
import org.apache.commons.io.FileUtils;
12
import org.slf4j.Logger;
13
import org.slf4j.LoggerFactory;
14
import in.shop2020.thrift.clients.WarehouseClient;
15
import in.shop2020.warehouse.WarehouseService.Client;
16
 
17
@SuppressWarnings("serial")
18
public class CheckGrnImeiController extends BaseController {
19
	private static Logger logger = LoggerFactory.getLogger(CheckGrnImeiController.class);
20
	private ServletContext context;
21
	private File checkImeiFile;
22
	private String errorMsg="";
23
	private String successMsg="";
24
	private String fileNameVal;
25
 
26
	public String create(){
27
		File fileToCreate = null;
28
		List<String> checkGrnImeiList = new ArrayList<String>();
29
		List<String> returnImeiStatusList = null;
30
		if(checkImeiFile!=null & fileNameVal !=null && !fileNameVal.isEmpty()){
31
 
32
			logger.info("File Name "+checkImeiFile.getName());
33
			System.out.println("File Name "+checkImeiFile.getName());
34
 
35
			logger.info("File Name Value "+fileNameVal);
36
			System.out.println("File Name Value "+fileNameVal);
37
			String fileName = fileNameVal;
38
			try {
39
				if(!fileName.substring(fileName.lastIndexOf(".")+1).equalsIgnoreCase("txt")){
40
					throw new Exception("Not Again! File is not in expected TXT Format");
41
				}
42
				fileToCreate = new File("/tmp/", fileName);
43
 
44
				FileUtils.copyFile(this.checkImeiFile, fileToCreate);
45
			} catch (Exception e) {
46
				logger.error("Hurray!! Error while writing file used to the local file system", e);
47
				errorMsg = e.getMessage();
48
				return "check-grn-imei";
49
			}
50
		} else {
51
			errorMsg = errorMsg + "<br>Folk, No File Uploaded or file name is blank";
52
		}
53
 
54
		if(fileToCreate==null){
55
			errorMsg = errorMsg +" <br> No File to read";
56
			return "check-grn-imei";
57
		}
58
		if(fileToCreate.isFile()){
59
			try{
60
				BufferedReader br = new BufferedReader(new FileReader(fileToCreate));
61
				long line = 1;
62
				String strLine;
63
				String[] values;
64
				while((strLine = br.readLine())!=null){
65
					if(line==1){
66
						values = strLine.split("\t");						
67
						if(values.length !=1){
68
							errorMsg = errorMsg + " File contains Inappropriate Content ";
69
							addActionError(errorMsg);
70
							return create();
71
						}
72
						line++;
73
						continue;
74
					}
75
					values = strLine.split("\t");
76
					for(String s : values){
77
						logger.info("Row No "+line+" :"+s);
78
						System.out.println("Row No "+line+" :"+s);
79
					}
80
					checkGrnImeiList.add(values[0]);
81
					line++;
82
				}
83
				WarehouseClient warehouseClient = new WarehouseClient();
84
				Client client = warehouseClient.getClient();
85
 
86
				if(checkGrnImeiList!=null && checkGrnImeiList.size()>0){
87
					returnImeiStatusList = client.checkGrnImeiStatus(checkGrnImeiList);
88
				} else {
89
					errorMsg = errorMsg + " Buddy, there is no record to check";
90
				}
91
 
92
				if(returnImeiStatusList!=null && returnImeiStatusList.size()>0){
93
					errorMsg = errorMsg + " Man, these imei are already resting in our system ";
94
					for(String imei : returnImeiStatusList){
95
						errorMsg = errorMsg + imei +" ";
96
					}
97
					return "check-grn-imei";
98
				} else {
99
					successMsg = "Wow Man! You hit the jackpot. All are perfect.";
100
				}
101
 
102
			}
103
			catch(Exception e){
104
				errorMsg = errorMsg + " <br> Error while checking Imeis Status";
105
				logger.error(errorMsg, e);
106
			}
107
		}
108
 
109
		return "check-grn-imei";
110
	}
111
 
112
	public String getServletContextPath() {
113
		return context.getContextPath();
114
	}
115
 
116
	public File getCheckImeiFile() {
117
		return checkImeiFile;
118
	}
119
 
120
	public void setCheckImeiFile(File checkImeiFile) {
121
		this.checkImeiFile = checkImeiFile;
122
	}
123
 
124
	public String getErrorMsg() {
125
		return errorMsg;
126
	}
127
 
128
	public void setErrorMsg(String errorMsg) {
129
		this.errorMsg = errorMsg;
130
	}
131
 
132
	public String getSuccessMsg() {
133
		return successMsg;
134
	}
135
 
136
	public void setSuccessMsg(String successMsg) {
137
		this.successMsg = successMsg;
138
	}
139
 
140
	public String getFileNameVal() {
141
		return fileNameVal;
142
	}
143
 
144
	public void setFileNameVal(String fileNameVal) {
145
		this.fileNameVal = fileNameVal;
146
	}
147
 
148
}