| Line 31... |
Line 31... |
| 31 |
List<WarehousePurchaseOrder> warehousePurchaseOrderList = warehousePurchaseOrderRepository.selectAllByStatus(POStatus.READY);
|
31 |
List<WarehousePurchaseOrder> warehousePurchaseOrderList = warehousePurchaseOrderRepository.selectAllByStatus(POStatus.READY);
|
| 32 |
warehousePurchaseOrderList.addAll(warehousePurchaseOrderRepository.selectAllByStatus(POStatus.PARTIALLY_FULFILLED));
|
32 |
warehousePurchaseOrderList.addAll(warehousePurchaseOrderRepository.selectAllByStatus(POStatus.PARTIALLY_FULFILLED));
|
| 33 |
//Also ignore internal pos
|
33 |
//Also ignore internal pos
|
| 34 |
Set<Integer> internalSupplierIds = supplierRepository.selectAll().stream().filter(x->x.isInternal()).map(x->x.getId()).collect(Collectors.toSet());
|
34 |
Set<Integer> internalSupplierIds = supplierRepository.selectAll().stream().filter(x->x.isInternal()).map(x->x.getId()).collect(Collectors.toSet());
|
| 35 |
|
35 |
|
| - |
|
36 |
// Aged from getOpenSince(), not createdAt: a PO reopened because its receipt was delayed gets the same fresh
|
| - |
|
37 |
// window a new one gets, instead of being closed straight back on the next sweep for being older than the
|
| - |
|
38 |
// window it was reopened past.
|
| 36 |
List<WarehousePurchaseOrder> posToClose = warehousePurchaseOrderList.stream()
|
39 |
List<WarehousePurchaseOrder> posToClose = warehousePurchaseOrderList.stream()
|
| 37 |
.filter(x->!internalSupplierIds.contains(x.getSupplierId()))
|
40 |
.filter(x->!internalSupplierIds.contains(x.getSupplierId()))
|
| 38 |
.filter(x -> x.getCreatedAt().isBefore(LocalDate.now().minusDays(6).atStartOfDay()))
|
41 |
.filter(x -> x.getOpenSince().isBefore(LocalDate.now().minusDays(6).atStartOfDay()))
|
| 39 |
.collect(Collectors.toList());
|
42 |
.collect(Collectors.toList());
|
| 40 |
//Close internal POS in four days
|
43 |
//Close internal POS in four days
|
| 41 |
posToClose.addAll(warehousePurchaseOrderList.stream().
|
44 |
posToClose.addAll(warehousePurchaseOrderList.stream().
|
| 42 |
filter(x->internalSupplierIds.contains(x.getSupplierId())).
|
45 |
filter(x->internalSupplierIds.contains(x.getSupplierId())).
|
| 43 |
filter(x->x.getCreatedAt().isBefore(LocalDate.now().minusDays(4).atStartOfDay())).collect(Collectors.toList()));
|
46 |
filter(x->x.getOpenSince().isBefore(LocalDate.now().minusDays(4).atStartOfDay())).collect(Collectors.toList()));
|
| 44 |
for (WarehousePurchaseOrder warehousePurchaseOrder : posToClose) {
|
47 |
for (WarehousePurchaseOrder warehousePurchaseOrder : posToClose) {
|
| 45 |
//System.out.println(warehousePurchaseOrder);
|
48 |
//System.out.println(warehousePurchaseOrder);
|
| 46 |
warehousePurchaseOrder.setStatus(POStatus.CLOSED);
|
49 |
warehousePurchaseOrder.setStatus(POStatus.CLOSED);
|
| 47 |
}
|
50 |
}
|
| 48 |
|
51 |
|