| Line 201... |
Line 201... |
| 201 |
Map<Integer, Integer> ourSaleItemQtyMap = orders.stream().collect(Collectors.groupingBy(x->x.getLineItem().getItemId(),
|
201 |
Map<Integer, Integer> ourSaleItemQtyMap = orders.stream().collect(Collectors.groupingBy(x->x.getLineItem().getItemId(),
|
| 202 |
Collectors.summingInt(x->x.getLineItem().getQuantity())));
|
202 |
Collectors.summingInt(x->x.getLineItem().getQuantity())));
|
| 203 |
Map<Integer, Integer> theirPurchaseItemQtyMap = inventoryItems.stream().collect(Collectors.groupingBy(InventoryItem::getItemId,
|
203 |
Map<Integer, Integer> theirPurchaseItemQtyMap = inventoryItems.stream().collect(Collectors.groupingBy(InventoryItem::getItemId,
|
| 204 |
Collectors.summingInt(InventoryItem::getInitialQuantity)));
|
204 |
Collectors.summingInt(InventoryItem::getInitialQuantity)));
|
| 205 |
for (Map.Entry<Integer, Integer> partnerPurchaseEntry : theirPurchaseItemQtyMap.entrySet()) {
|
205 |
for (Map.Entry<Integer, Integer> partnerPurchaseEntry : theirPurchaseItemQtyMap.entrySet()) {
|
| - |
|
206 |
if(!ourSaleItemQtyMap.containsKey(partnerPurchaseEntry.getKey())) {
|
| - |
|
207 |
LOGGER.info("Cannot find in Invoice {} item {}", purchase.getPurchaseReference(), partnerPurchaseEntry.getKey());
|
| - |
|
208 |
}
|
| 206 |
int ourSale = ourSaleItemQtyMap.get(partnerPurchaseEntry.getKey());
|
209 |
int ourSale = ourSaleItemQtyMap.get(partnerPurchaseEntry.getKey());
|
| 207 |
if(partnerPurchaseEntry.getValue() - ourSale > 0) {
|
210 |
if(partnerPurchaseEntry.getValue() - ourSale > 0) {
|
| 208 |
int quantityToReduce = partnerPurchaseEntry.getValue() - ourSale;
|
211 |
int quantityToReduce = partnerPurchaseEntry.getValue() - ourSale;
|
| 209 |
for(InventoryItem ii : inventoryItems) {
|
212 |
for(InventoryItem ii : inventoryItems) {
|
| 210 |
if(ii.getGoodQuantity() >= quantityToReduce && ii.getInitialQuantity() > quantityToReduce) {
|
213 |
if(ii.getGoodQuantity() >= quantityToReduce && ii.getInitialQuantity() > quantityToReduce) {
|