Subversion Repositories SmartDukaan

Rev

Rev 9428 | Rev 10150 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.inventory.controllers;

import in.shop2020.model.v1.inventory.Warehouse;
import in.shop2020.thrift.clients.CatalogClient;
import in.shop2020.thrift.clients.InventoryClient;
import in.shop2020.thrift.clients.WarehouseClient;
import in.shop2020.utils.ModelUtils;
import in.shop2020.warehouse.InventoryItem;
import in.shop2020.warehouse.ScanType;
import in.shop2020.warehouse.WarehouseService.Client;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * @author mandeep
 *
 */
public class DoaInController extends BaseController {
    private Log logger = LogFactory.getLog(DoaInController.class);
    private List<InventoryItem> inventoryItems;
    private String id;

    public String index() {
        try {
                List<InventoryItem> tobeRemovedInventoryItems = new ArrayList<InventoryItem>();
            Client warehouseClient = new WarehouseClient().getClient();
            inventoryItems = warehouseClient.getInventoryItemsFromLastScanType(ScanType.DOA_IN);
            for(InventoryItem inventoryItem:inventoryItems) {
                if(inventoryItem.getId()<59078 ||  
                                inventoryItem.getCurrentWarehouseId() == 1 || 
                                inventoryItem.getCurrentWarehouseId() == 9) {//removing doa_in entries before 2013 and all hotspot entries
                        tobeRemovedInventoryItems.add(inventoryItem);
                }
            }
            for(InventoryItem inventoryItem:tobeRemovedInventoryItems) {
                inventoryItems.remove(inventoryItem);
            }
        } catch (Exception e) {
            logger.error("Could not fetch inventory items", e);
        }

        return INDEX;
    }

    public String update() {
        try {
            Client warehouseClient = new WarehouseClient().getClient();
            InventoryItem inventoryItem = warehouseClient.getInventoryItemFromId(Long.valueOf(id));
            in.shop2020.model.v1.inventory.InventoryService.Client inventoryClient = new InventoryClient().getClient();
            Warehouse warehouse = inventoryClient.getWarehouse(inventoryItem.getCurrentWarehouseId());
            warehouseClient.scan(inventoryItem, ScanType.DOA_OUT, 1, warehouse.getBillingWarehouseId(), 0);
        } catch (Exception e) {
            logger.error("Could not fetch inventory items", e);
        }

        return index();
    }

    public String getWarehouseDisplayName(long warehouseId) {
        try {
            in.shop2020.model.v1.inventory.InventoryService.Client inventoryClient = new InventoryClient().getClient();
            return inventoryClient.getWarehouse(warehouseId).getDisplayName();
        } catch (Exception e) {
            return "N/A";
        }
    }
    
    public String getModelName(long itemId) {
        try {
            in.shop2020.model.v1.catalog.CatalogService.Client catalogClient = new CatalogClient()
                    .getClient();
            return ModelUtils.extractProductNameFromItem(catalogClient
                    .getItem(itemId));
        } catch (Exception e) {
            return "N/A";
        }
    }

    public Log getLogger() {
        return logger;
    }

    public void setLogger(Log logger) {
        this.logger = logger;
    }

    public List<InventoryItem> getInventoryItems() {
        return inventoryItems;
    }

    public void setInventoryItems(List<InventoryItem> inventoryItems) {
        this.inventoryItems = inventoryItems;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}