| 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;
|
| 14491 |
manish.sha |
10 |
import in.shop2020.warehouse.DoaOutInventoryItem;
|
| 7613 |
amar.kumar |
11 |
import in.shop2020.warehouse.InTransitInventory;
|
| 5185 |
mandeep.dh |
12 |
import in.shop2020.warehouse.ScanType;
|
| 4500 |
mandeep.dh |
13 |
import in.shop2020.warehouse.domain.InventoryItem;
|
|
|
14 |
import in.shop2020.warehouse.persistence.InventoryItemMapper;
|
|
|
15 |
|
| 7613 |
amar.kumar |
16 |
import java.util.ArrayList;
|
| 21617 |
amit.gupta |
17 |
import java.util.Collections;
|
| 10215 |
amar.kumar |
18 |
import java.util.Date;
|
| 10864 |
manish.sha |
19 |
import java.util.HashMap;
|
| 10215 |
amar.kumar |
20 |
import java.util.HashSet;
|
| 5185 |
mandeep.dh |
21 |
import java.util.List;
|
| 6484 |
amar.kumar |
22 |
import java.util.Map;
|
| 10215 |
amar.kumar |
23 |
import java.util.Set;
|
| 5185 |
mandeep.dh |
24 |
|
| 21617 |
amit.gupta |
25 |
import org.apache.commons.collections.CollectionUtils;
|
|
|
26 |
import org.apache.commons.collections.ListUtils;
|
| 8689 |
amar.kumar |
27 |
import org.apache.thrift.TException;
|
| 4500 |
mandeep.dh |
28 |
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
29 |
import org.springframework.stereotype.Service;
|
|
|
30 |
|
| 5530 |
mandeep.dh |
31 |
import com.mysql.jdbc.StringUtils;
|
|
|
32 |
|
| 4500 |
mandeep.dh |
33 |
/**
|
|
|
34 |
* @author mandeep
|
|
|
35 |
*
|
|
|
36 |
*/
|
|
|
37 |
@Service
|
|
|
38 |
public class InventoryItemHandler {
|
|
|
39 |
@Autowired
|
|
|
40 |
private InventoryItemMapper inventoryItemMapper;
|
|
|
41 |
|
|
|
42 |
/**
|
|
|
43 |
* @param inventoryItem
|
|
|
44 |
*/
|
| 5110 |
mandeep.dh |
45 |
public InventoryItem insertInventoryItem(InventoryItem inventoryItem) {
|
| 4500 |
mandeep.dh |
46 |
inventoryItemMapper.insertInventoryItem(inventoryItem);
|
| 5110 |
mandeep.dh |
47 |
return inventoryItem;
|
| 4500 |
mandeep.dh |
48 |
}
|
|
|
49 |
|
|
|
50 |
/**
|
|
|
51 |
* @param inventoryItemId
|
|
|
52 |
* @return
|
|
|
53 |
*/
|
|
|
54 |
public InventoryItem getInventoryItem(long inventoryItemId) {
|
|
|
55 |
return inventoryItemMapper.getInventoryItem(inventoryItemId);
|
|
|
56 |
}
|
|
|
57 |
|
|
|
58 |
/**
|
|
|
59 |
* @param serialNumber
|
|
|
60 |
* @return
|
|
|
61 |
*/
|
|
|
62 |
public InventoryItem getInventoryItem(String serialNumber) {
|
|
|
63 |
return inventoryItemMapper.getInventoryItemFromSerialNumber(serialNumber);
|
|
|
64 |
}
|
| 34330 |
amit.gupta |
65 |
/**
|
|
|
66 |
* @param serialNumber
|
|
|
67 |
* @return
|
|
|
68 |
*/
|
|
|
69 |
public InventoryItem getInventoryItemInStock(String serialNumber) {
|
|
|
70 |
return inventoryItemMapper.getInventoryItemInStockFromSerialNumber(serialNumber);
|
|
|
71 |
}
|
| 5185 |
mandeep.dh |
72 |
|
|
|
73 |
public List<InventoryItem> getInventoryItemFromLastScanType(ScanType scanType) {
|
|
|
74 |
return inventoryItemMapper.getInventoryItemsFromLastScanType(scanType);
|
|
|
75 |
}
|
|
|
76 |
|
|
|
77 |
/**
|
|
|
78 |
* @param inventoryItemId
|
|
|
79 |
* @return
|
|
|
80 |
*/
|
|
|
81 |
public InventoryItem getInventoryItemFromId(long inventoryItemId) {
|
|
|
82 |
return inventoryItemMapper.getInventoryItemsFromId(inventoryItemId);
|
|
|
83 |
}
|
|
|
84 |
|
|
|
85 |
/**
|
|
|
86 |
* @param inventoryItem
|
|
|
87 |
*/
|
|
|
88 |
public void update(InventoryItem inventoryItem) {
|
|
|
89 |
inventoryItemMapper.update(inventoryItem);
|
|
|
90 |
}
|
| 5361 |
mandeep.dh |
91 |
|
|
|
92 |
/**
|
|
|
93 |
* @param itemId
|
|
|
94 |
* @param warehouseId
|
|
|
95 |
* @return
|
|
|
96 |
*/
|
| 8565 |
amar.kumar |
97 |
public InventoryItem getInventoryItem(String itemNumber, long itemId, long warehouseId, long billingWarehouseId) {
|
| 5530 |
mandeep.dh |
98 |
if (StringUtils.isNullOrEmpty(itemNumber)) {
|
|
|
99 |
itemNumber = null;
|
|
|
100 |
}
|
|
|
101 |
|
| 8565 |
amar.kumar |
102 |
return inventoryItemMapper.getNonSerializedInventoryItem(itemNumber, itemId, warehouseId, billingWarehouseId);
|
| 5361 |
mandeep.dh |
103 |
}
|
| 6467 |
amar.kumar |
104 |
|
| 7957 |
amar.kumar |
105 |
public Long getCurrentQuantityForNonSerializedItem(long itemId, long warehouseId, long physicalWarehouseId) {
|
| 16411 |
manish.sha |
106 |
return inventoryItemMapper.getCurrentQuantityForNonSerializedItem(itemId, warehouseId, physicalWarehouseId, 0);
|
| 6467 |
amar.kumar |
107 |
}
|
| 16411 |
manish.sha |
108 |
|
|
|
109 |
public Long getCurrentQuantityForNonSerializedItemWithGrnId(long itemId, long warehouseId, long physicalWarehouseId, long purchaseId) {
|
|
|
110 |
return inventoryItemMapper.getCurrentQuantityForNonSerializedItem(itemId, warehouseId, physicalWarehouseId, purchaseId);
|
|
|
111 |
}
|
| 6467 |
amar.kumar |
112 |
|
|
|
113 |
public void markPurchaseReturnIdForItem(long id, long currentQuantity, long purchaseReturnId) {
|
|
|
114 |
inventoryItemMapper.markPurchaseReturnIdForItem(id, currentQuantity, purchaseReturnId);
|
|
|
115 |
|
|
|
116 |
}
|
| 10864 |
manish.sha |
117 |
|
|
|
118 |
public void markPurchaseReturnIdForBadItem(long id, long currentQuantity, long purchaseReturnId) {
|
|
|
119 |
inventoryItemMapper.markPurchaseReturnIdForBadItem(id, currentQuantity, purchaseReturnId);
|
|
|
120 |
}
|
| 6467 |
amar.kumar |
121 |
|
| 8689 |
amar.kumar |
122 |
public List<InventoryItem> getCurrentNonSerializedItemsByItemId(long itemId, long warehouseId) throws InventoryServiceException, TException {
|
|
|
123 |
InventoryService.Client inventoryClient = new InventoryClient().getClient();
|
|
|
124 |
Warehouse warehouse = inventoryClient.getWarehouse(warehouseId);
|
| 16411 |
manish.sha |
125 |
return inventoryItemMapper.getCurrentNonSerializedItemsByItemId(itemId, warehouseId, warehouse.getBillingWarehouseId(),0);
|
| 6467 |
amar.kumar |
126 |
}
|
| 6484 |
amar.kumar |
127 |
|
| 16411 |
manish.sha |
128 |
public List<InventoryItem> getCurrentNonSerializedItemsByItemIdWithGrnId(long itemId, long warehouseId, long purchaseId) throws InventoryServiceException, TException {
|
|
|
129 |
InventoryService.Client inventoryClient = new InventoryClient().getClient();
|
|
|
130 |
Warehouse warehouse = inventoryClient.getWarehouse(warehouseId);
|
|
|
131 |
return inventoryItemMapper.getCurrentNonSerializedItemsByItemId(itemId, warehouseId, warehouse.getBillingWarehouseId(),purchaseId);
|
|
|
132 |
}
|
|
|
133 |
|
| 10864 |
manish.sha |
134 |
public List<InventoryItem> getNonSerializedItemsForBadInventory(long itemId, long currentWarehouseId, long physicalWarehouseId){
|
|
|
135 |
return inventoryItemMapper.getNonSerializedItemsForBadInventory(itemId, currentWarehouseId, physicalWarehouseId);
|
|
|
136 |
}
|
|
|
137 |
|
| 6484 |
amar.kumar |
138 |
public List<Map<String, Integer>> getCurrentSerializedInventory() {
|
|
|
139 |
return inventoryItemMapper.getCurrentSerializedInventory();
|
|
|
140 |
}
|
|
|
141 |
|
|
|
142 |
public List<Map<String, Integer>> getCurrentNonSerializedInventory() {
|
|
|
143 |
return inventoryItemMapper.getCurrentNonSerializedInventory();
|
|
|
144 |
}
|
| 6558 |
amar.kumar |
145 |
|
|
|
146 |
public void markItemAsLost(long id, long currentQuantity) {
|
|
|
147 |
inventoryItemMapper.markItemAsLost(id, currentQuantity);
|
|
|
148 |
|
|
|
149 |
}
|
| 7410 |
amar.kumar |
150 |
|
|
|
151 |
/*public void markTransferLotAsRecieved(long id) {
|
|
|
152 |
inventoryItemMapper.markTransferLotAsRecieved(id);
|
|
|
153 |
}*/
|
|
|
154 |
|
|
|
155 |
public List<InventoryItem> getInventoryItemsForTransferLot(long id) {
|
|
|
156 |
return inventoryItemMapper.getInventoryItemsForTransferLot(id);
|
|
|
157 |
}
|
|
|
158 |
|
|
|
159 |
/*public InventoryItem getNonSeralizedInventoryItemForPhysicalWarehouse(
|
|
|
160 |
String itemNumber, long itemId, long physicalWarehouseId) {
|
|
|
161 |
return inventoryItemMapper.getNonSeralizedInventoryItemForPhysicalWarehouse(itemNumber, itemId, physicalWarehouseId);
|
|
|
162 |
}*/
|
|
|
163 |
|
|
|
164 |
public long getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(
|
|
|
165 |
long itemId, long physicalWarehouseId) {
|
|
|
166 |
return inventoryItemMapper.getCurrentQuantityForNonSerializedItemInPhysicalWarehouse(itemId, physicalWarehouseId);
|
|
|
167 |
}
|
|
|
168 |
|
|
|
169 |
public List<InventoryItem> getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(
|
|
|
170 |
long itemId, long physicalWarehouseId) {
|
|
|
171 |
return inventoryItemMapper.getCurrentNonSerializedItemsByItemIdInPhysicalWarehouse(itemId, physicalWarehouseId);
|
|
|
172 |
}
|
| 7574 |
amar.kumar |
173 |
|
|
|
174 |
public long getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
|
|
|
175 |
long itemId, long physicalWarehouseId) {
|
|
|
176 |
return inventoryItemMapper.getCurrentQuantityForNonSerializedInTransitItemInPhysicalWarehouse(
|
|
|
177 |
itemId, physicalWarehouseId);
|
|
|
178 |
}
|
| 7613 |
amar.kumar |
179 |
|
|
|
180 |
public List<InTransitInventory> getInTransitInventory(long originWarehouseId) {
|
|
|
181 |
List<InTransitInventory> t_InTransitInventories = new ArrayList<InTransitInventory>();
|
|
|
182 |
for(in.shop2020.warehouse.domain.InTransitInventory intransitInventory :inventoryItemMapper.getInTransitInventory(originWarehouseId)) {
|
|
|
183 |
t_InTransitInventories.add(intransitInventory.toThriftObject());
|
|
|
184 |
}
|
|
|
185 |
return t_InTransitInventories;
|
|
|
186 |
}
|
| 9129 |
amar.kumar |
187 |
|
|
|
188 |
public List<InventoryItem> getCurrentInTransitInventoryInPhysicalWarehouse(
|
|
|
189 |
long itemId, long originWarehouseId) {
|
|
|
190 |
return inventoryItemMapper.getCurrentInTransitInventoryInPhysicalWarehouse(itemId, originWarehouseId);
|
|
|
191 |
}
|
| 6484 |
amar.kumar |
192 |
|
| 10120 |
manish.sha |
193 |
public List<InventoryItem> getTransferLotItemsForMarkReceive(
|
|
|
194 |
long transferLotId, ScanType scanType) {
|
|
|
195 |
return inventoryItemMapper.getTransferLotItemsForMarkReceive(transferLotId,scanType);
|
|
|
196 |
}
|
| 10215 |
amar.kumar |
197 |
|
|
|
198 |
public List<Long> getEmptyGrnsByDate(Date startDate, Date endDate) {
|
|
|
199 |
List<Long> allGrns = inventoryItemMapper.getAllGrnsByDate(startDate, endDate);
|
|
|
200 |
List<Long> nonEmptyGrns = inventoryItemMapper.getNonEmptyGrnsByDate(startDate, endDate);
|
|
|
201 |
|
|
|
202 |
List<Long> emptyGrnsList = new ArrayList<Long>(10);
|
|
|
203 |
|
|
|
204 |
Set<Long> emptyGrns = new HashSet<Long>();
|
|
|
205 |
emptyGrns.addAll(allGrns);
|
|
|
206 |
emptyGrns.removeAll(nonEmptyGrns);
|
|
|
207 |
|
|
|
208 |
emptyGrnsList.addAll(emptyGrns);
|
|
|
209 |
return emptyGrnsList;
|
|
|
210 |
}
|
| 10407 |
amar.kumar |
211 |
|
|
|
212 |
public InventoryItem getSellableBadNonSerializedItem(long itemId, String itemNumber, long physicalWarehouseId) {
|
|
|
213 |
return inventoryItemMapper.getSellableBadNonSerializedItem(itemId, itemNumber, physicalWarehouseId);
|
|
|
214 |
|
|
|
215 |
}
|
| 10120 |
manish.sha |
216 |
|
| 10689 |
manish.sha |
217 |
public List<InventoryItem> getInventoryItemScannedInForPO(long itemId, List<Long> purchaseIds) {
|
|
|
218 |
return inventoryItemMapper.getInventoryItemScannedInForPO(itemId, purchaseIds);
|
|
|
219 |
}
|
|
|
220 |
|
| 21617 |
amit.gupta |
221 |
public List<InventoryItem> getInventoryItemsBySerailNumbers(List<String> serialNumbers) {
|
|
|
222 |
List<InventoryItem> inventoryItems = inventoryItemMapper.getInventoryItemsBySerailNumbers(serialNumbers);
|
|
|
223 |
Map<String, InventoryItem> map = new HashMap<String, InventoryItem>();
|
|
|
224 |
for(InventoryItem inventoryItem : inventoryItems){
|
|
|
225 |
String serialNumber = inventoryItem.getSerialNumber();
|
|
|
226 |
if(map.containsKey(serialNumber)){
|
|
|
227 |
InventoryItem savedInventoryItem = map.get(serialNumber);
|
| 21927 |
amit.gupta |
228 |
if(savedInventoryItem.getId() < inventoryItem.getId()) {
|
| 21617 |
amit.gupta |
229 |
map.put(serialNumber, inventoryItem);
|
|
|
230 |
}
|
|
|
231 |
} else {
|
|
|
232 |
map.put(serialNumber, inventoryItem);
|
|
|
233 |
}
|
|
|
234 |
}
|
|
|
235 |
return new ArrayList<InventoryItem>(map.values());
|
|
|
236 |
}
|
|
|
237 |
|
| 10864 |
manish.sha |
238 |
public Long getCurrentBadQuantityForItem( long itemId, long currentWarehouseId, long physicalWarehouseId){
|
|
|
239 |
return inventoryItemMapper.getCurrentBadQuantityForItem(itemId, currentWarehouseId, physicalWarehouseId);
|
|
|
240 |
}
|
|
|
241 |
|
| 13504 |
manish.sha |
242 |
public Map<Long, Long> getItemsInPurchaseReturn(long purchaseReturnId, ScanType type, String returnTime){
|
|
|
243 |
Map<Integer, Integer> result = inventoryItemMapper.getItemsInPurchaseReturn(purchaseReturnId, type, returnTime);
|
| 10864 |
manish.sha |
244 |
Map<Long, Long> purchaseReturnItems = new HashMap<Long, Long>();
|
|
|
245 |
|
|
|
246 |
for(Integer itemId : result.keySet()){
|
|
|
247 |
Long count = Long.parseLong(((Object)((Map<String,Long>)(Object)result.get(itemId)).get("count")).toString());
|
|
|
248 |
purchaseReturnItems.put(new Long(itemId), count);
|
|
|
249 |
}
|
|
|
250 |
return purchaseReturnItems;
|
|
|
251 |
}
|
| 14491 |
manish.sha |
252 |
|
|
|
253 |
public List<DoaOutInventoryItem> getAllDoaOutInventoryItems(){
|
|
|
254 |
return inventoryItemMapper.getAllDoaOutInventoryItems();
|
|
|
255 |
}
|
| 32594 |
amit.gupta |
256 |
|
|
|
257 |
public InventoryItem getInventoryItem(String serialNumber, long billingWarehouseId) {
|
| 33291 |
amit.gupta |
258 |
return inventoryItemMapper.getInventoryItemFromSerialNumberWarehouse(serialNumber, billingWarehouseId);
|
| 32594 |
amit.gupta |
259 |
}
|
| 4500 |
mandeep.dh |
260 |
}
|