Subversion Repositories SmartDukaan

Rev

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

Rev 33006 Rev 33311
Line 6... Line 6...
6
import com.spice.profitmandi.common.util.Utils;
6
import com.spice.profitmandi.common.util.Utils;
7
import com.spice.profitmandi.common.web.client.RestClient;
7
import com.spice.profitmandi.common.web.client.RestClient;
8
import com.spice.profitmandi.common.web.util.ResponseSender;
8
import com.spice.profitmandi.common.web.util.ResponseSender;
9
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
9
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
10
import com.spice.profitmandi.dao.entity.transaction.Order;
10
import com.spice.profitmandi.dao.entity.transaction.Order;
-
 
11
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
11
import com.spice.profitmandi.dao.model.ImeiInoviceModel;
12
import com.spice.profitmandi.dao.model.ImeiInoviceModel;
12
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
13
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
13
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
14
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
14
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
15
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
15
import com.spice.profitmandi.service.authentication.RoleManager;
16
import com.spice.profitmandi.service.authentication.RoleManager;
Line 96... Line 97...
96
        imeiInoviceModel.getSerialNumbers().stream().forEach(x -> {
97
        imeiInoviceModel.getSerialNumbers().stream().forEach(x -> {
97
            imeiValidationMap.put(x, true);
98
            imeiValidationMap.put(x, true);
98
        });
99
        });
99
        if (serialNumbers.size() > 0) {
100
        if (serialNumbers.size() > 0) {
100
            List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, new HashSet<>(serialNumbers), false);
101
            List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, new HashSet<>(serialNumbers), false);
101
            Set<String> grnedSerialNumberSet = inventoryItems.stream().filter(x -> x.getPurchase().getPurchaseReference().equals(imeiInoviceModel.getInvoiceNumber()))
102
            //Should consider sold out imeis from previous purchases as grned as well and considered invalidated.
102
                    .map(x -> x.getSerialNumber()).collect(Collectors.toSet());
103
            Set<String> grnedSerialNumberSet = inventoryItems.stream().filter(x->(x.getGoodQuantity() + x.getBadQuantity())==1 || x.getLastScanType().equals(ScanType.SALE)).map(x->x.getSerialNumber()).collect(Collectors.toSet());
103
            imeiInoviceModel.getSerialNumbers().stream().forEach(imei -> {
104
            imeiInoviceModel.getSerialNumbers().stream().forEach(imei -> {
104
                if (grnedSerialNumberSet.contains(imei)) {
105
                if (grnedSerialNumberSet.contains(imei)) {
105
                    imeiValidationMap.put(imei, false);
106
                    imeiValidationMap.put(imei, false);
106
                }
107
                }
107
            });
108
            });
108
 
-
 
109
        }
109
        }
110
        return imeiValidationMap;
110
        return imeiValidationMap;
111
    }
111
    }
112
 
112
 
113
    @RequestMapping(value = "/purchase/grn-imeis", method = RequestMethod.POST)
113
    @RequestMapping(value = "/purchase/grn-imeis", method = RequestMethod.POST)
Line 199... Line 199...
199
 
199
 
200
                    ByteArrayOutputStream fos = new ByteArrayOutputStream();
200
                    ByteArrayOutputStream fos = new ByteArrayOutputStream();
201
                    ZipOutputStream zipOut = new ZipOutputStream(fos);
201
                    ZipOutputStream zipOut = new ZipOutputStream(fos);
202
 
202
 
203
                    for (String singleInvoiceNumber : invoiceNumbers) {
203
                    for (String singleInvoiceNumber : invoiceNumbers) {
-
 
204
                        LOGGER.info("Single Invoice Number  - {}", singleInvoiceNumber);
204
                        Order order = invoiceOrdersMap.get(invoiceNumber).get(0);
205
                        Order order = invoiceOrdersMap.get(singleInvoiceNumber).get(0);
205
                        File invoiceFile = invoiceService.getInvoiceFile(order);
206
                        File invoiceFile = invoiceService.getInvoiceFile(order);
206
                        this.addFileToZip(zipOut, new FileInputStream(invoiceFile), singleInvoiceNumber + ".pdf");
207
                        this.addFileToZip(zipOut, new FileInputStream(invoiceFile), singleInvoiceNumber + ".pdf");
207
                    }
208
                    }
208
                    zipOut.close();
209
                    zipOut.close();
209
                    byte[] byteArray = fos.toByteArray();
210
                    byte[] byteArray = fos.toByteArray();