Subversion Repositories SmartDukaan

Rev

Rev 10407 | Rev 10864 | 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;
10215 amar.kumar 16
import java.util.Date;
17
import java.util.HashSet;
5185 mandeep.dh 18
import java.util.List;
6484 amar.kumar 19
import java.util.Map;
10215 amar.kumar 20
import java.util.Set;
5185 mandeep.dh 21
 
8689 amar.kumar 22
import org.apache.thrift.TException;
23
import org.apache.thrift.transport.TTransportException;
4500 mandeep.dh 24
import org.springframework.beans.factory.annotation.Autowired;
25
import org.springframework.stereotype.Service;
26
 
5530 mandeep.dh 27
import com.mysql.jdbc.StringUtils;
28
 
4500 mandeep.dh 29
/**
30
 * @author mandeep
31
 *
32
 */
33
@Service
34
public class InventoryItemHandler {
35
    @Autowired
36
    private InventoryItemMapper inventoryItemMapper;
37
 
38
    /**
39
     * @param inventoryItem
40
     */
5110 mandeep.dh 41
    public InventoryItem insertInventoryItem(InventoryItem inventoryItem) {
4500 mandeep.dh 42
        inventoryItemMapper.insertInventoryItem(inventoryItem);
5110 mandeep.dh 43
        return inventoryItem;
4500 mandeep.dh 44
    }
45
 
46
    /**
47
     * @param inventoryItemId
48
     * @return
49
     */
50
    public InventoryItem getInventoryItem(long inventoryItemId) {
51
        return inventoryItemMapper.getInventoryItem(inventoryItemId);
52
    }
53
 
54
    /**
55
     * @param serialNumber
56
     * @return
57
     */
58
    public InventoryItem getInventoryItem(String serialNumber) {
59
        return inventoryItemMapper.getInventoryItemFromSerialNumber(serialNumber);
60
    }
5185 mandeep.dh 61
 
62
    public List<InventoryItem> getInventoryItemFromLastScanType(ScanType scanType) {
63
        return inventoryItemMapper.getInventoryItemsFromLastScanType(scanType);
64
    }
65
 
66
    /**
67
     * @param inventoryItemId
68
     * @return
69
     */
70
    public InventoryItem getInventoryItemFromId(long inventoryItemId) {
71
        return inventoryItemMapper.getInventoryItemsFromId(inventoryItemId);
72
    }
73
 
74
    /**
75
     * @param inventoryItem
76
     */
77
    public void update(InventoryItem inventoryItem) {
78
        inventoryItemMapper.update(inventoryItem);
79
    }
5361 mandeep.dh 80
 
81
    /**
82
     * @param itemId
83
     * @param warehouseId
84
     * @return
85
     */
8565 amar.kumar 86
    public InventoryItem getInventoryItem(String itemNumber, long itemId, long warehouseId, long billingWarehouseId) {
5530 mandeep.dh 87
        if (StringUtils.isNullOrEmpty(itemNumber)) {
88
            itemNumber = null;
89
        }
90
 
8565 amar.kumar 91
        return inventoryItemMapper.getNonSerializedInventoryItem(itemNumber, itemId, warehouseId, billingWarehouseId);
5361 mandeep.dh 92
    }
6467 amar.kumar 93
 
7957 amar.kumar 94
	public Long getCurrentQuantityForNonSerializedItem(long itemId, long warehouseId, long physicalWarehouseId) {
95
		return inventoryItemMapper.getCurrentQuantityForNonSerializedItem(itemId, warehouseId, physicalWarehouseId);
6467 amar.kumar 96
	}
97
 
98
	public void markPurchaseReturnIdForItem(long id, long currentQuantity, long purchaseReturnId) {
99
		inventoryItemMapper.markPurchaseReturnIdForItem(id, currentQuantity, purchaseReturnId);
100
 
101
	}
102
 
8689 amar.kumar 103
	public List<InventoryItem> getCurrentNonSerializedItemsByItemId(long itemId, long warehouseId) throws InventoryServiceException, TException {
104
		InventoryService.Client inventoryClient = new InventoryClient().getClient();
105
		Warehouse warehouse = inventoryClient.getWarehouse(warehouseId);
106
		return inventoryItemMapper.getCurrentNonSerializedItemsByItemId(itemId, warehouseId, warehouse.getBillingWarehouseId());
6467 amar.kumar 107
	}
6484 amar.kumar 108
 
109
	public List<Map<String, Integer>> getCurrentSerializedInventory() {
110
		return inventoryItemMapper.getCurrentSerializedInventory();
111
	}
112
 
113
	public List<Map<String, Integer>> getCurrentNonSerializedInventory() {
114
		return inventoryItemMapper.getCurrentNonSerializedInventory();
115
	}
6558 amar.kumar 116
 
117
	public void markItemAsLost(long id, long currentQuantity) {
118
		inventoryItemMapper.markItemAsLost(id, currentQuantity);
119
 
120
	}
7410 amar.kumar 121
 
122
	/*public void markTransferLotAsRecieved(long id) {
123
		inventoryItemMapper.markTransferLotAsRecieved(id);
124
	}*/
125
 
126
	public List<InventoryItem> getInventoryItemsForTransferLot(long id) {
127
		return inventoryItemMapper.getInventoryItemsForTransferLot(id);
128
	}
129
 
130
	/*public InventoryItem getNonSeralizedInventoryItemForPhysicalWarehouse(
131
			String itemNumber, long itemId, long physicalWarehouseId) {
132
		return  inventoryItemMapper.getNonSeralizedInventoryItemForPhysicalWarehouse(itemNumber, itemId, physicalWarehouseId);
133
	}*/
134
 
135
	public long getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(
136
			long itemId, long physicalWarehouseId) {
137
		return inventoryItemMapper.getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(itemId, physicalWarehouseId);
138
	}
139
 
140
	public List<InventoryItem> getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(
141
			long itemId, long physicalWarehouseId) {
142
		return inventoryItemMapper.getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(itemId, physicalWarehouseId);
143
	}
7574 amar.kumar 144
 
145
	public long getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
146
			long itemId, long physicalWarehouseId) {
147
		return inventoryItemMapper.getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
148
				itemId, physicalWarehouseId);
149
	}
7613 amar.kumar 150
 
151
	public List<InTransitInventory> getInTransitInventory(long originWarehouseId) {
152
		List<InTransitInventory> t_InTransitInventories = new ArrayList<InTransitInventory>();
153
		for(in.shop2020.warehouse.domain.InTransitInventory intransitInventory :inventoryItemMapper.getInTransitInventory(originWarehouseId)) {
154
			t_InTransitInventories.add(intransitInventory.toThriftObject());
155
		}
156
		return t_InTransitInventories;
157
	}
9129 amar.kumar 158
 
159
	public List<InventoryItem> getCurrentInTransitInventoryInPhysicalWarehouse(
160
			long itemId, long originWarehouseId) {
161
		return inventoryItemMapper.getCurrentInTransitInventoryInPhysicalWarehouse(itemId, originWarehouseId);
162
	}
6484 amar.kumar 163
 
10120 manish.sha 164
	public List<InventoryItem> getTransferLotItemsForMarkReceive(
165
			long transferLotId, ScanType scanType) {
166
		return inventoryItemMapper.getTransferLotItemsForMarkReceive(transferLotId,scanType);
167
	}
10215 amar.kumar 168
 
169
	public List<Long> getEmptyGrnsByDate(Date startDate, Date endDate) {
170
		List<Long> allGrns = inventoryItemMapper.getAllGrnsByDate(startDate, endDate);
171
		List<Long> nonEmptyGrns = inventoryItemMapper.getNonEmptyGrnsByDate(startDate, endDate);
172
 
173
		List<Long> emptyGrnsList = new ArrayList<Long>(10);
174
 
175
		Set<Long> emptyGrns = new HashSet<Long>();
176
		emptyGrns.addAll(allGrns);
177
		emptyGrns.removeAll(nonEmptyGrns);
178
 
179
		emptyGrnsList.addAll(emptyGrns);
180
		return emptyGrnsList;
181
	}
10407 amar.kumar 182
 
183
	public InventoryItem getSellableBadNonSerializedItem(long itemId, String itemNumber, long physicalWarehouseId) {
184
		return inventoryItemMapper.getSellableBadNonSerializedItem(itemId, itemNumber, physicalWarehouseId);
185
 
186
	}
10120 manish.sha 187
 
10689 manish.sha 188
	public List<InventoryItem> getInventoryItemScannedInForPO(long itemId, List<Long> purchaseIds) {
189
		return inventoryItemMapper.getInventoryItemScannedInForPO(itemId, purchaseIds);
190
	}
191
 
4500 mandeep.dh 192
}