Subversion Repositories SmartDukaan

Rev

Rev 12856 | Go to most recent revision | Details | 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
 
8
import java.io.BufferedWriter;
9
import java.io.File;
10
import java.io.FileWriter;
11
import java.io.IOException;
12
import java.util.ArrayList;
13
import java.util.Date;
14
import java.util.List;
15
 
16
import org.apache.commons.lang.StringUtils;
17
import org.apache.thrift.TException;
18
import org.slf4j.LoggerFactory;
19
 
20
public class StockSheetSender{
21
	public static org.slf4j.Logger logger = LoggerFactory.getLogger(StockSheetSender.class);
22
	public static void main(String[] args) {
23
		List<InventoryAvailability> serializedInventoryAvailability = new ArrayList<InventoryAvailability>();
24
		List<InventoryAvailability> nonSerializedInventoryAvailability = new ArrayList<InventoryAvailability>();
25
		List<InventoryAvailability> inventoryAvailability = new ArrayList<InventoryAvailability>();
26
 
27
		String emailFromAddress = "build-staging@shop2020.in";
28
		String password = "shop2020";
29
		GmailUtils mailer = new GmailUtils();
30
		String sendTo[] = new String[]{"manish.sharma@shop2020.in"};
31
		/*String sendTo[] = new String[]{ "rajneesh.arora@saholic.com","amit.sirohi@shop2020.in","chaitnaya.vats@saholic.com",
32
				"lakshman.g@smobility.in","sandeep.sachdeva@shop2020.in"};*/
33
		File file = null;
34
 
35
		try {
36
			Client warehouseClient = new WarehouseClient().getClient();
37
			serializedInventoryAvailability = warehouseClient.getCurrentSerializedInventoryByScans(3298L);
38
			nonSerializedInventoryAvailability  = warehouseClient.getCurrentNonSerializedInventoryByScans(3298L);
39
		} catch(TException ex) {
40
			logger.error(ex.getMessage(), ex);
41
		}
42
		inventoryAvailability.addAll(serializedInventoryAvailability);
43
		inventoryAvailability.addAll(nonSerializedInventoryAvailability);
44
		try {
45
			file = createInventoryAvailabilityFile(inventoryAvailability);
46
			List<File> files  = new ArrayList<File>();
47
			files.add(file);
48
			mailer.sendSSLMessage(sendTo, "Stock Sheet - Hyderabad", " ", emailFromAddress, password, files);
49
		}
50
		catch(Exception e) {
51
			logger.error(e.getMessage(), e);
52
		}
53
	}
54
 
55
 
56
	private static File createInventoryAvailabilityFile(List<InventoryAvailability> inventoryAvailability) throws IOException {
57
		File file = new File("/tmp/SaholicInventory-Hyderabad.xls");
58
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));
59
        bufferedWriter.write(StringUtils.join(new String[] {
60
                "Item Id",
61
                "Brand",
62
                "Model Name",
63
                "Model Number",
64
                "Color",
65
                "Quantity" }, '\t'));
66
 
67
        for(InventoryAvailability invAvailability : inventoryAvailability) {
68
        	if((invAvailability.getModelNumber().equals("Q50")) || (invAvailability.getItemId() == 1457)) {
69
        		continue;
70
        	}
71
            bufferedWriter.newLine();
72
            bufferedWriter.write(StringUtils.join(
73
                    new String[] {
74
                            String.valueOf(invAvailability.getItemId()),
75
                            invAvailability.getBrand(),
76
                            invAvailability.getModelName(),
77
                            invAvailability.getModelNumber(),
78
                            invAvailability.getColor(),
79
                            String.valueOf(invAvailability.getQuantity())}, '\t'));
80
        }
81
		bufferedWriter.close();
82
		return file;
83
	}
84
}