Rev 24012 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.inventory.service;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.util.List;import org.apache.commons.lang.StringUtils;import in.shop2020.model.v1.inventory.InventoryService;import in.shop2020.model.v1.inventory.VendorItemMapping;import in.shop2020.purchase.LineItem;import in.shop2020.purchase.PurchaseOrder;import in.shop2020.thrift.clients.InventoryClient;/*** @author mandeep**/public class POExcelGenerator {public static InventoryService.Client inventoryClient = null;static {try {inventoryClient = new InventoryClient().getClient();} catch(Exception e) {e.printStackTrace();}}public static File generateExcelSheet(PurchaseOrder purchaseOrder) {try {String tmpDir = System.getProperty("java.io.tmpdir");File file = new File(tmpDir + "/NSSPL-" + purchaseOrder.getId() + ".xls");BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));bufferedWriter.write(StringUtils.join(new String[]{"Brand", "Model Name", "Model Number", "Color", "Vendor Key", "Quantity Required", "Actual Quantity Fulfilled", "Other colors available"}, '\t'));for (LineItem lineitem : purchaseOrder.getLineitems()) {String vendorKey = "";bufferedWriter.newLine();if(lineitem.getBrand()=="Samsung") {List<VendorItemMapping> vims = getVendorItemMapping(lineitem.getItemId());if(vims != null && vims.size() > 0) {for(VendorItemMapping vim : vims) {if(vim.getVendorId() == purchaseOrder.getSupplierId()) {vendorKey = vim.getItemKey();break;}}}}bufferedWriter.write(StringUtils.join(new String[]{lineitem.getBrand(), lineitem.getModelName(), lineitem.getModelNumber(), lineitem.getColor(), vendorKey, String.valueOf(lineitem.getQuantity()), "0", ""}, '\t'));}bufferedWriter.close();return file;} catch (Exception e) {return null;}}private static List<VendorItemMapping> getVendorItemMapping(long itemId) {try {return inventoryClient.getVendorItemMappings(itemId);}catch (Exception e) {try {inventoryClient = new InventoryClient().getClient();return inventoryClient.getVendorItemMappings(itemId);} catch(Exception e1) {e1.printStackTrace();}}return null;}}