Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
5185 mandeep.dh 1
/**
2
 * 
3
 */
4
package in.shop2020.inventory.controllers;
5
 
5945 mandeep.dh 6
import in.shop2020.model.v1.inventory.Warehouse;
5185 mandeep.dh 7
import in.shop2020.thrift.clients.CatalogClient;
5945 mandeep.dh 8
import in.shop2020.thrift.clients.InventoryClient;
5185 mandeep.dh 9
import in.shop2020.thrift.clients.PurchaseClient;
10
import in.shop2020.thrift.clients.WarehouseClient;
11
import in.shop2020.utils.ModelUtils;
12
import in.shop2020.warehouse.InventoryItem;
13
import in.shop2020.warehouse.ScanType;
14
import in.shop2020.warehouse.WarehouseService.Client;
15
 
16
import java.util.List;
17
 
18
import org.apache.commons.logging.Log;
19
import org.apache.commons.logging.LogFactory;
20
 
21
/**
22
 * @author mandeep
23
 *
24
 */
25
public class DoaOutController extends BaseController {
26
    private Log logger = LogFactory.getLog(DoaOutController.class);
27
    private String id;
28
    List<InventoryItem> inventoryItems;
29
 
30
    public String index() {
31
        try {
32
            Client warehouseClient = new WarehouseClient().getClient();
33
            inventoryItems = warehouseClient
34
                    .getInventoryItemsFromLastScanType(ScanType.DOA_OUT);
9428 amar.kumar 35
            for(InventoryItem inventoryItem:inventoryItems) {
36
            	if(inventoryItem.getId()<59078 ||  
37
            			inventoryItem.getCurrentWarehouseId() == 1 || 
38
            			inventoryItem.getCurrentWarehouseId() == 9) {//removing doa_in entries before 2013 and all hotspot entries 
39
            		inventoryItems.remove(inventoryItem);
40
            	}
41
            }
5185 mandeep.dh 42
        } catch (Exception e) {
43
            logger.error("Could not fetch inventory items", e);
44
        }
45
 
46
        return INDEX;
47
    }
48
 
49
    public String update() {
50
        try {
51
            Client warehouseClient = new WarehouseClient().getClient();
52
            InventoryItem inventoryItem = warehouseClient.getInventoryItemFromId(Long.valueOf(id));
5945 mandeep.dh 53
            in.shop2020.model.v1.inventory.InventoryService.Client catalogClient = new InventoryClient().getClient();
5185 mandeep.dh 54
            Warehouse warehouse = catalogClient.getWarehouse(inventoryItem.getCurrentWarehouseId());
7410 amar.kumar 55
            warehouseClient.scan(inventoryItem, ScanType.DOA_REPLACED, inventoryItem.getInitialQuantity(), warehouse.getBillingWarehouseId(), 0);
5185 mandeep.dh 56
            in.shop2020.purchase.PurchaseService.Client purchaseClient = new PurchaseClient().getClient();
57
            purchaseClient.unFulfillPO(inventoryItem.getPurchaseId(), inventoryItem.getItemId(), 1);
58
        } catch (Exception e) {
59
            logger.error("Could not fetch inventory items", e);
60
        }
61
 
62
        return index();
63
    }
5235 mandeep.dh 64
 
65
    public String getPONumber(long purchaseId) {
66
        try {
67
            in.shop2020.purchase.PurchaseService.Client purchaseClient = new PurchaseClient().getClient();
68
            return purchaseClient.getPurchaseOrderForPurchase(purchaseId).getPoNumber();
69
        } catch (Exception e) {
70
            return "N/A";
71
        }
72
    }
73
 
5185 mandeep.dh 74
    public String getWarehouseDisplayName(long warehouseId) {
75
        try {
5945 mandeep.dh 76
            in.shop2020.model.v1.inventory.InventoryService.Client catalogClient = new InventoryClient().getClient();
5185 mandeep.dh 77
            return catalogClient.getWarehouse(warehouseId).getDisplayName();
78
        } catch (Exception e) {
79
            return "N/A";
80
        }
81
    }
82
 
83
    public String getModelName(long itemId) {
84
        try {
5945 mandeep.dh 85
            in.shop2020.model.v1.catalog.CatalogService.Client catalogClient = new CatalogClient()
5185 mandeep.dh 86
                    .getClient();
87
            return ModelUtils.extractProductNameFromItem(catalogClient
88
                    .getItem(itemId));
89
        } catch (Exception e) {
90
            return "N/A";
91
        }
92
    }
93
 
94
    public String getId() {
95
        return id;
96
    }
97
 
98
    public void setId(String id) {
99
        this.id = id;
100
    }
101
 
102
    public List<InventoryItem> getInventoryItems() {
103
        return inventoryItems;
104
    }
105
 
106
    public void setInventoryItems(List<InventoryItem> inventoryItems) {
107
        this.inventoryItems = inventoryItems;
108
    }
109
 
110
}