Subversion Repositories SmartDukaan

Rev

Rev 36627 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36627 Rev 37704
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