Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
4500 mandeep.dh 1
/**
2
 * 
3
 */
4
package in.shop2020.warehouse.handler;
5
 
8689 amar.kumar 6
import in.shop2020.model.v1.inventory.InventoryService;
7
import in.shop2020.model.v1.inventory.InventoryServiceException;
8
import in.shop2020.model.v1.inventory.Warehouse;
9
import in.shop2020.thrift.clients.InventoryClient;
7613 amar.kumar 10
import in.shop2020.warehouse.InTransitInventory;
5185 mandeep.dh 11
import in.shop2020.warehouse.ScanType;
4500 mandeep.dh 12
import in.shop2020.warehouse.domain.InventoryItem;
13
import in.shop2020.warehouse.persistence.InventoryItemMapper;
14
 
7613 amar.kumar 15
import java.util.ArrayList;
5185 mandeep.dh 16
import java.util.List;
6484 amar.kumar 17
import java.util.Map;
5185 mandeep.dh 18
 
8689 amar.kumar 19
import org.apache.thrift.TException;
20
import org.apache.thrift.transport.TTransportException;
4500 mandeep.dh 21
import org.springframework.beans.factory.annotation.Autowired;
22
import org.springframework.stereotype.Service;
23
 
5530 mandeep.dh 24
import com.mysql.jdbc.StringUtils;
25
 
4500 mandeep.dh 26
/**
27
 * @author mandeep
28
 *
29
 */
30
@Service
31
public class InventoryItemHandler {
32
    @Autowired
33
    private InventoryItemMapper inventoryItemMapper;
34
 
35
    /**
36
     * @param inventoryItem
37
     */
5110 mandeep.dh 38
    public InventoryItem insertInventoryItem(InventoryItem inventoryItem) {
4500 mandeep.dh 39
        inventoryItemMapper.insertInventoryItem(inventoryItem);
5110 mandeep.dh 40
        return inventoryItem;
4500 mandeep.dh 41
    }
42
 
43
    /**
44
     * @param inventoryItemId
45
     * @return
46
     */
47
    public InventoryItem getInventoryItem(long inventoryItemId) {
48
        return inventoryItemMapper.getInventoryItem(inventoryItemId);
49
    }
50
 
51
    /**
52
     * @param serialNumber
53
     * @return
54
     */
55
    public InventoryItem getInventoryItem(String serialNumber) {
56
        return inventoryItemMapper.getInventoryItemFromSerialNumber(serialNumber);
57
    }
5185 mandeep.dh 58
 
59
    public List<InventoryItem> getInventoryItemFromLastScanType(ScanType scanType) {
60
        return inventoryItemMapper.getInventoryItemsFromLastScanType(scanType);
61
    }
62
 
63
    /**
64
     * @param inventoryItemId
65
     * @return
66
     */
67
    public InventoryItem getInventoryItemFromId(long inventoryItemId) {
68
        return inventoryItemMapper.getInventoryItemsFromId(inventoryItemId);
69
    }
70
 
71
    /**
72
     * @param inventoryItem
73
     */
74
    public void update(InventoryItem inventoryItem) {
75
        inventoryItemMapper.update(inventoryItem);
76
    }
5361 mandeep.dh 77
 
78
    /**
79
     * @param itemId
80
     * @param warehouseId
81
     * @return
82
     */
8565 amar.kumar 83
    public InventoryItem getInventoryItem(String itemNumber, long itemId, long warehouseId, long billingWarehouseId) {
5530 mandeep.dh 84
        if (StringUtils.isNullOrEmpty(itemNumber)) {
85
            itemNumber = null;
86
        }
87
 
8565 amar.kumar 88
        return inventoryItemMapper.getNonSerializedInventoryItem(itemNumber, itemId, warehouseId, billingWarehouseId);
5361 mandeep.dh 89
    }
6467 amar.kumar 90
 
7957 amar.kumar 91
	public Long getCurrentQuantityForNonSerializedItem(long itemId, long warehouseId, long physicalWarehouseId) {
92
		return inventoryItemMapper.getCurrentQuantityForNonSerializedItem(itemId, warehouseId, physicalWarehouseId);
6467 amar.kumar 93
	}
94
 
95
	public void markPurchaseReturnIdForItem(long id, long currentQuantity, long purchaseReturnId) {
96
		inventoryItemMapper.markPurchaseReturnIdForItem(id, currentQuantity, purchaseReturnId);
97
 
98
	}
99
 
8689 amar.kumar 100
	public List<InventoryItem> getCurrentNonSerializedItemsByItemId(long itemId, long warehouseId) throws InventoryServiceException, TException {
101
		InventoryService.Client inventoryClient = new InventoryClient().getClient();
102
		Warehouse warehouse = inventoryClient.getWarehouse(warehouseId);
103
		return inventoryItemMapper.getCurrentNonSerializedItemsByItemId(itemId, warehouseId, warehouse.getBillingWarehouseId());
6467 amar.kumar 104
	}
6484 amar.kumar 105
 
106
	public List<Map<String, Integer>> getCurrentSerializedInventory() {
107
		return inventoryItemMapper.getCurrentSerializedInventory();
108
	}
109
 
110
	public List<Map<String, Integer>> getCurrentNonSerializedInventory() {
111
		return inventoryItemMapper.getCurrentNonSerializedInventory();
112
	}
6558 amar.kumar 113
 
114
	public void markItemAsLost(long id, long currentQuantity) {
115
		inventoryItemMapper.markItemAsLost(id, currentQuantity);
116
 
117
	}
7410 amar.kumar 118
 
119
	/*public void markTransferLotAsRecieved(long id) {
120
		inventoryItemMapper.markTransferLotAsRecieved(id);
121
	}*/
122
 
123
	public List<InventoryItem> getInventoryItemsForTransferLot(long id) {
124
		return inventoryItemMapper.getInventoryItemsForTransferLot(id);
125
	}
126
 
127
	/*public InventoryItem getNonSeralizedInventoryItemForPhysicalWarehouse(
128
			String itemNumber, long itemId, long physicalWarehouseId) {
129
		return  inventoryItemMapper.getNonSeralizedInventoryItemForPhysicalWarehouse(itemNumber, itemId, physicalWarehouseId);
130
	}*/
131
 
132
	public long getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(
133
			long itemId, long physicalWarehouseId) {
134
		return inventoryItemMapper.getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(itemId, physicalWarehouseId);
135
	}
136
 
137
	public List<InventoryItem> getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(
138
			long itemId, long physicalWarehouseId) {
139
		return inventoryItemMapper.getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(itemId, physicalWarehouseId);
140
	}
7574 amar.kumar 141
 
142
	public long getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
143
			long itemId, long physicalWarehouseId) {
144
		return inventoryItemMapper.getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
145
				itemId, physicalWarehouseId);
146
	}
7613 amar.kumar 147
 
148
	public List<InTransitInventory> getInTransitInventory(long originWarehouseId) {
149
		List<InTransitInventory> t_InTransitInventories = new ArrayList<InTransitInventory>();
150
		for(in.shop2020.warehouse.domain.InTransitInventory intransitInventory :inventoryItemMapper.getInTransitInventory(originWarehouseId)) {
151
			t_InTransitInventories.add(intransitInventory.toThriftObject());
152
		}
153
		return t_InTransitInventories;
154
	}
9129 amar.kumar 155
 
156
	public List<InventoryItem> getCurrentInTransitInventoryInPhysicalWarehouse(
157
			long itemId, long originWarehouseId) {
158
		return inventoryItemMapper.getCurrentInTransitInventoryInPhysicalWarehouse(itemId, originWarehouseId);
159
	}
6484 amar.kumar 160
 
10120 manish.sha 161
	public List<InventoryItem> getTransferLotItemsForMarkReceive(
162
			long transferLotId, ScanType scanType) {
163
		return inventoryItemMapper.getTransferLotItemsForMarkReceive(transferLotId,scanType);
164
	}
165
 
4500 mandeep.dh 166
}