| Line 9... |
Line 9... |
| 9 |
import java.util.Collections;
|
9 |
import java.util.Collections;
|
| 10 |
import java.util.HashMap;
|
10 |
import java.util.HashMap;
|
| 11 |
import java.util.HashSet;
|
11 |
import java.util.HashSet;
|
| 12 |
import java.util.List;
|
12 |
import java.util.List;
|
| 13 |
import java.util.Map;
|
13 |
import java.util.Map;
|
| 14 |
import java.util.Optional;
|
14 |
import java.util.Set;
|
| 15 |
import java.util.stream.Collectors;
|
15 |
import java.util.stream.Collectors;
|
| 16 |
|
16 |
|
| 17 |
import org.apache.commons.io.output.ByteArrayOutputStream;
|
17 |
import org.apache.commons.io.output.ByteArrayOutputStream;
|
| 18 |
import org.apache.commons.lang.StringUtils;
|
18 |
import org.apache.commons.lang.StringUtils;
|
| 19 |
import org.apache.logging.log4j.LogManager;
|
19 |
import org.apache.logging.log4j.LogManager;
|
| 20 |
import org.apache.logging.log4j.Logger;
|
20 |
import org.apache.logging.log4j.Logger;
|
| 21 |
import org.apache.solr.common.util.Hash;
|
- |
|
| 22 |
import org.springframework.beans.factory.annotation.Autowired;
|
21 |
import org.springframework.beans.factory.annotation.Autowired;
|
| 23 |
import org.springframework.core.io.ByteArrayResource;
|
22 |
import org.springframework.core.io.ByteArrayResource;
|
| 24 |
import org.springframework.mail.javamail.JavaMailSender;
|
23 |
import org.springframework.mail.javamail.JavaMailSender;
|
| 25 |
import org.springframework.stereotype.Component;
|
24 |
import org.springframework.stereotype.Component;
|
| 26 |
import org.springframework.transaction.annotation.Transactional;
|
25 |
import org.springframework.transaction.annotation.Transactional;
|
| 27 |
|
26 |
|
| - |
|
27 |
import com.google.common.base.Functions;
|
| 28 |
import com.spice.profitmandi.common.util.FileUtil;
|
28 |
import com.spice.profitmandi.common.util.FileUtil;
|
| 29 |
import com.spice.profitmandi.common.util.Utils;
|
29 |
import com.spice.profitmandi.common.util.Utils;
|
| 30 |
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
|
30 |
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
|
| 31 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
31 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
| 32 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
32 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
| Line 34... |
Line 34... |
| 34 |
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
|
34 |
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
|
| 35 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
35 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
| 36 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
36 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
| 37 |
import com.spice.profitmandi.dao.entity.fofo.TargetSlab;
|
37 |
import com.spice.profitmandi.dao.entity.fofo.TargetSlab;
|
| 38 |
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
|
38 |
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
|
| 39 |
import com.spice.profitmandi.dao.entity.inventory.SaholicReservationInventorySnapshot;
|
- |
|
| 40 |
import com.spice.profitmandi.dao.entity.transaction.LineItem;
|
39 |
import com.spice.profitmandi.dao.entity.transaction.LineItem;
|
| 41 |
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
|
40 |
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
|
| 42 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
41 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
| 43 |
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
|
42 |
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
|
| 44 |
import com.spice.profitmandi.dao.repository.GenericRepository;
|
43 |
import com.spice.profitmandi.dao.repository.GenericRepository;
|
| Line 420... |
Line 419... |
| 420 |
targetSlabRepository.persist(x);
|
419 |
targetSlabRepository.persist(x);
|
| 421 |
});
|
420 |
});
|
| 422 |
}
|
421 |
}
|
| 423 |
}
|
422 |
}
|
| 424 |
|
423 |
|
| 425 |
public void findMismatchesInIndent() {
|
424 |
public void findMismatchesInIndent() throws Exception {
|
| 426 |
List<SaholicInventorySnapshot> saholicInventorySnapshots = saholicInventorySnapshotRepository.selectAll();
|
425 |
List<SaholicInventorySnapshot> saholicInventorySnapshots = saholicInventorySnapshotRepository.selectAll();
|
| 427 |
Map<Integer, Integer> itemReservedMap = saholicInventorySnapshots.stream().filter(x -> x.getReserved() > 0)
|
426 |
Map<Integer, Integer> itemReservedMap = saholicInventorySnapshots.stream().filter(x -> x.getReserved() > 0)
|
| 428 |
.collect(Collectors.groupingBy(SaholicInventorySnapshot::getItemId,
|
427 |
.collect(Collectors.groupingBy(SaholicInventorySnapshot::getItemId,
|
| 429 |
Collectors.summingInt(SaholicInventorySnapshot::getReserved)));
|
428 |
Collectors.summingInt(SaholicInventorySnapshot::getReserved)));
|
| 430 |
|
429 |
|
| 431 |
Map<Integer, Integer> lineItemQtyMap = orderRepository.selectAllOrder(OrderStatus.SUBMITTED_FOR_PROCESSING)
|
430 |
List<Order> allInProcessOrders = orderRepository.selectAllOrder(OrderStatus.SUBMITTED_FOR_PROCESSING);
|
| - |
|
431 |
|
| - |
|
432 |
|
| - |
|
433 |
Map<Integer, Integer> lineItemQtyMap = allInProcessOrders
|
| 432 |
.stream().collect(Collectors.groupingBy(y -> y.getLineItem().getItemId(),
|
434 |
.stream().collect(Collectors.groupingBy(y -> y.getLineItem().getItemId(),
|
| 433 |
Collectors.summingInt(y -> y.getLineItem().getQuantity())));
|
435 |
Collectors.summingInt(y -> y.getLineItem().getQuantity())));
|
| 434 |
|
436 |
|
| - |
|
437 |
/* Map<Integer, Order> orderMap = allInProcessOrders.stream().collect(Collectors.toMap(Order::getId, x->x));
|
| - |
|
438 |
Map<Integer, List<Order>> itemOrdersMap = allInProcessOrders.stream()
|
| - |
|
439 |
.collect(Collectors.groupingBy(o->o.getLineItem().getItemId(), Collectors.toList()));
|
| - |
|
440 |
*/
|
| 435 |
itemReservedMap.forEach((itemId, reserved)->{
|
441 |
itemReservedMap.forEach((itemId, reserved)->{
|
| 436 |
if(lineItemQtyMap.containsKey(itemId)) {
|
442 |
if(lineItemQtyMap.containsKey(itemId)) {
|
| 437 |
int orderedQty = lineItemQtyMap.get(itemId);
|
443 |
int orderedQty = lineItemQtyMap.get(itemId);
|
| 438 |
System.out.printf("%d\t%d\t%d\n",itemId, orderedQty, reserved);
|
444 |
System.out.printf("%d\t%d\t%d\n",itemId, orderedQty, reserved);
|
| 439 |
} else {
|
445 |
} else {
|
| - |
|
446 |
saholicInventorySnapshotRepository.removeAllReservations(itemId);
|
| 440 |
System.out.printf("%d\t%d\t%d\n",itemId, 0, reserved);
|
447 |
System.out.printf("%d\t%d\t%d\n",itemId, 0, reserved);
|
| 441 |
}
|
448 |
}
|
| 442 |
});
|
449 |
});
|
| 443 |
|
- |
|
| - |
|
450 |
throw new Exception();
|
| 444 |
}
|
451 |
}
|
| 445 |
|
452 |
|
| 446 |
}
|
453 |
}
|
| 447 |
|
454 |
|