Subversion Repositories SmartDukaan

Rev

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