Subversion Repositories SmartDukaan

Rev

Rev 12931 | Rev 13068 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
12855 manish.sha 1
package in.shop2020.inventory.service;
2
 
3
import in.shop2020.thrift.clients.WarehouseClient;
4
import in.shop2020.utils.GmailUtils;
5
import in.shop2020.warehouse.InventoryAvailability;
6
import in.shop2020.warehouse.WarehouseService.Client;
7
 
12931 manish.sha 8
import java.io.BufferedReader;
12855 manish.sha 9
import java.io.BufferedWriter;
10
import java.io.File;
12931 manish.sha 11
import java.io.FileReader;
12855 manish.sha 12
import java.io.FileWriter;
13
import java.io.IOException;
14
import java.util.ArrayList;
15
import java.util.Date;
16
import java.util.List;
17
 
18
import org.apache.commons.lang.StringUtils;
19
import org.apache.thrift.TException;
20
import org.slf4j.LoggerFactory;
21
 
22
public class StockSheetSender{
23
	public static org.slf4j.Logger logger = LoggerFactory.getLogger(StockSheetSender.class);
24
	public static void main(String[] args) {
25
		List<InventoryAvailability> serializedInventoryAvailability = new ArrayList<InventoryAvailability>();
26
		List<InventoryAvailability> nonSerializedInventoryAvailability = new ArrayList<InventoryAvailability>();
27
		List<InventoryAvailability> inventoryAvailability = new ArrayList<InventoryAvailability>();
28
 
29
		String emailFromAddress = "build-staging@shop2020.in";
30
		String password = "shop2020";
31
		GmailUtils mailer = new GmailUtils();
12856 manish.sha 32
		//String sendTo[] = new String[]{"manish.sharma@shop2020.in"};
33
		String sendTo[] = new String[]{ "rajneesh.arora@saholic.com","amit.sirohi@shop2020.in","chaitnaya.vats@saholic.com",
34
				"lakshman.g@smobility.in","sandeep.sachdeva@shop2020.in"};
12855 manish.sha 35
		File file = null;
36
 
37
		try {
38
			Client warehouseClient = new WarehouseClient().getClient();
39
			serializedInventoryAvailability = warehouseClient.getCurrentSerializedInventoryByScans(3298L);
40
			nonSerializedInventoryAvailability  = warehouseClient.getCurrentNonSerializedInventoryByScans(3298L);
41
		} catch(TException ex) {
42
			logger.error(ex.getMessage(), ex);
43
		}
44
		inventoryAvailability.addAll(serializedInventoryAvailability);
45
		inventoryAvailability.addAll(nonSerializedInventoryAvailability);
13048 amit.gupta 46
		int quantity= 0;
47
		for(InventoryAvailability inva : inventoryAvailability){
48
			quantity += inva.getQuantity();
49
		}
12855 manish.sha 50
		try {
51
			file = createInventoryAvailabilityFile(inventoryAvailability);
13048 amit.gupta 52
			String htmlFileName = getHtmlFileGenrator(file, "Stock Sheet - Hyderabad, Total Quantity-" + quantity );
12855 manish.sha 53
			List<File> files  = new ArrayList<File>();
54
			files.add(file);
12931 manish.sha 55
			if(htmlFileName!=null && !htmlFileName.isEmpty()){
56
				mailer.sendSSLMessage(sendTo, "Stock Sheet - Hyderabad", " ", emailFromAddress, password, files, htmlFileName);
57
			}else {
58
				mailer.sendSSLMessage(sendTo, "Stock Sheet - Hyderabad", " ", emailFromAddress, password, files);
59
			}
12855 manish.sha 60
		}
61
		catch(Exception e) {
62
			logger.error(e.getMessage(), e);
63
		}
64
	}
12931 manish.sha 65
 
66
 
12855 manish.sha 67
	private static File createInventoryAvailabilityFile(List<InventoryAvailability> inventoryAvailability) throws IOException {
68
		File file = new File("/tmp/SaholicInventory-Hyderabad.xls");
12931 manish.sha 69
		BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));
70
		bufferedWriter.write(StringUtils.join(new String[] {
71
				"Item Id",
72
				"Brand",
73
				"Model Name",
74
				"Model Number",
75
				"Color",
76
		"Quantity" }, '\t'));
12855 manish.sha 77
 
12931 manish.sha 78
		for(InventoryAvailability invAvailability : inventoryAvailability) {
79
			if((invAvailability.getModelNumber().equals("Q50")) || (invAvailability.getItemId() == 1457)) {
80
				continue;
81
			}
82
			bufferedWriter.newLine();
83
			bufferedWriter.write(StringUtils.join(
84
					new String[] {
85
							String.valueOf(invAvailability.getItemId()),
86
							invAvailability.getBrand(),
87
							invAvailability.getModelName(),
88
							invAvailability.getModelNumber(),
89
							invAvailability.getColor(),
90
							String.valueOf(invAvailability.getQuantity())}, '\t'));
91
		}
12855 manish.sha 92
		bufferedWriter.close();
93
		return file;
94
	}
12931 manish.sha 95
 
96
	public static String getHtmlFileGenrator(File file, String tableTitle){
97
 
98
		String htmlFilePath = "/tmp/"+tableTitle+"-file.htm";
99
		StringBuffer sb = new StringBuffer();
100
		sb.append("");
101
 
102
		try{
103
			BufferedReader br = new BufferedReader(new FileReader(file));
104
			String line = "";
105
 
106
			sb.append("<html><table border=\"1\" align=\"center\">"
107
					+ "<caption><b>" + tableTitle + "</b></caption>");
108
 
109
			int lineCount = 1;
110
			while((line = br.readLine())!= null){
111
				String[] values = line.split("\t");
112
				sb.append("<tr>");
113
				for(String value : values){
114
					if(lineCount ==1){
115
						sb.append("<td><b>"+ value.toUpperCase()+"</b></td>");
116
					}else{
117
						sb.append("<td>"+ value+"</td>");
118
					}
119
				}
120
				sb.append("</tr>");
121
				lineCount++;
122
			}
123
 
124
			sb.append("</table></html>");
125
 
126
			BufferedWriter out = new BufferedWriter(new FileWriter(htmlFilePath));
127
			out.write(sb.toString());
128
			out.flush();
129
			out.close();
130
 
131
		}
132
		catch(Exception e){
133
			e.printStackTrace();
134
			return "";
135
		}
136
		return htmlFilePath;
137
	}
12855 manish.sha 138
}