Subversion Repositories SmartDukaan

Rev

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

Rev 32764 Rev 32816
Line 125... Line 125...
125
 
125
 
126
    @Autowired
126
    @Autowired
127
    private FofoLineItemRepository fofoLineItemRepository;
127
    private FofoLineItemRepository fofoLineItemRepository;
128
 
128
 
129
    @Autowired
129
    @Autowired
-
 
130
    private FofoNonSerializeSerialRepository fofoNonSerializeSerialRepository;
-
 
131
 
-
 
132
    @Autowired
130
    private WarehouseInventoryItemRepository warehouseInventoryItemRepository;
133
    private WarehouseInventoryItemRepository warehouseInventoryItemRepository;
131
 
134
 
132
    @Autowired
135
    @Autowired
133
    private FofoOrderItemRepository fofoOrderItemRepository;
136
    private FofoOrderItemRepository fofoOrderItemRepository;
134
 
137
 
Line 493... Line 496...
493
        }
496
        }
494
 
497
 
495
        for (CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()) {
498
        for (CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()) {
496
            FofoOrderItem fofoOrderItem = this.createAndGetFofoOrderItem(customFofoOrderItem, fofoOrder.getId(), itemMap, inventoryItemsToBill.get(customFofoOrderItem.getItemId()), stateId);
499
            FofoOrderItem fofoOrderItem = this.createAndGetFofoOrderItem(customFofoOrderItem, fofoOrder.getId(), itemMap, inventoryItemsToBill.get(customFofoOrderItem.getItemId()), stateId);
497
 
500
 
-
 
501
            Item item = itemMap.get(customFofoOrderItem.getItemId());
-
 
502
            if (item.getType().equals(ItemType.NON_SERIALIZED)) {
-
 
503
                if (customFofoOrderItem.getCustomSerialNumbers() != null && !customFofoOrderItem.getCustomSerialNumbers().isEmpty()) {
-
 
504
                    persistNonSerializedWithCustomSerialNumber(customFofoOrderItem, fofoOrderItem.getId());
-
 
505
                } else {
-
 
506
                    LOGGER.info("Custom serial numbers are empty. Not persisting data.");
-
 
507
                }
-
 
508
            }
-
 
509
 
-
 
510
 
498
            Set<InventoryItem> inventoryItems = inventoryItemsToBill.get(customFofoOrderItem.getItemId());
511
            Set<InventoryItem> inventoryItems = inventoryItemsToBill.get(customFofoOrderItem.getItemId());
499
 
512
 
500
            this.createFofoLineItem(fofoOrderItem.getId(), inventoryItems, inventoryItemIdQuantityUsed);
513
            this.createFofoLineItem(fofoOrderItem.getId(), inventoryItems, inventoryItemIdQuantityUsed);
501
 
514
 
502
            this.updateCurrentInventorySnapshot(currentInventorySnapshots, fofoId, customFofoOrderItem.getItemId(), customFofoOrderItem.getQuantity());
515
            this.updateCurrentInventorySnapshot(currentInventorySnapshots, fofoId, customFofoOrderItem.getItemId(), customFofoOrderItem.getQuantity());
Line 556... Line 569...
556
                }
569
                }
557
 
570
 
558
                this.createScratchOffer(fofoId, fofoOrder.getInvoiceNumber(), fofoOrder.getCustomerId());
571
                this.createScratchOffer(fofoId, fofoOrder.getInvoiceNumber(), fofoOrder.getCustomerId());
559
            }
572
            }
560
        }
573
        }
-
 
574
 
561
        return fofoOrder.getId();
575
        return fofoOrder.getId();
562
    }
576
    }
563
 
577
 
-
 
578
    private void persistNonSerializedWithCustomSerialNumber(CustomFofoOrderItem customFofoOrderItem, int orderItemId) {
-
 
579
        // Create a new instance of FofoNonSerializeSerial
-
 
580
        for (String accSerialNumber : customFofoOrderItem.getCustomSerialNumbers()) {
-
 
581
            if (!accSerialNumber.isEmpty()) {
-
 
582
                FofoNonSerializeSerial nonSerializeSerial = new FofoNonSerializeSerial();
-
 
583
 
-
 
584
                // Populate the entity with relevant information
-
 
585
                nonSerializeSerial.setOrderItemId(orderItemId);
-
 
586
                nonSerializeSerial.setSerialNumber(accSerialNumber);
-
 
587
 
-
 
588
                // Save the entity to the database
-
 
589
                fofoNonSerializeSerialRepository.persist(nonSerializeSerial);
-
 
590
            }
-
 
591
 
-
 
592
        }
-
 
593
    }
-
 
594
 
-
 
595
 
564
    public void sendAppDownloadBillingOffer(String mobileNumber) throws Exception {
596
    public void sendAppDownloadBillingOffer(String mobileNumber) throws Exception {
565
        String sdurl = "http://surl.li/anhfn";
597
        String sdurl = "http://surl.li/anhfn";
566
        try {
598
        try {
567
            if (prodEnv) {
599
            if (prodEnv) {
568
                this.sendSms(APP_DOWNLOAD_BILLING_TEMPLATE_ID, String.format(APP_DOWNLOAD_BILLING_OFFER, sdurl), mobileNumber);
600
                this.sendSms(APP_DOWNLOAD_BILLING_TEMPLATE_ID, String.format(APP_DOWNLOAD_BILLING_OFFER, sdurl), mobileNumber);
Line 973... Line 1005...
973
            float taxableDiscountPrice = discount / (1 + totalTaxRate / 100);
1005
            float taxableDiscountPrice = discount / (1 + totalTaxRate / 100);
974
 
1006
 
975
            customFofoOrderItem.setAmount(fofoOrderItem.getQuantity() * (taxableSellingPrice - taxableDiscountPrice));
1007
            customFofoOrderItem.setAmount(fofoOrderItem.getQuantity() * (taxableSellingPrice - taxableDiscountPrice));
976
            customFofoOrderItem.setDescription(fofoOrderItem.getBrand() + " " + fofoOrderItem.getModelName() + " " + fofoOrderItem.getModelNumber() + "-" + fofoOrderItem.getColor());
1008
            customFofoOrderItem.setDescription(fofoOrderItem.getBrand() + " " + fofoOrderItem.getModelName() + " " + fofoOrderItem.getModelNumber() + "-" + fofoOrderItem.getColor());
977
            Set<String> serialNumbers = this.toSerialNumbers(fofoOrderItem.getFofoLineItems());
1009
            Set<String> serialNumbers = this.toSerialNumbers(fofoOrderItem.getFofoLineItems());
-
 
1010
            List<FofoNonSerializeSerial> nonSerializeSerials = fofoNonSerializeSerialRepository.selectByItemIdAndOrderId(fofoOrderItem.getId());
978
            // LOGGER.info("serialNumbers {}", serialNumbers);
1011
            // Extract serial numbers from FofoNonSerializeSerial entities
-
 
1012
            List<String> customSerialNumbers = nonSerializeSerials.stream().map(FofoNonSerializeSerial::getSerialNumber).collect(Collectors.toList());
979
            // LOGGER.info("serialNumbers is empty {}", serialNumbers.isEmpty());
1013
            LOGGER.info("nonSerializeSerials {}", nonSerializeSerials);
980
            if (!serialNumbers.isEmpty()) {
1014
            if (!serialNumbers.isEmpty()) {
981
                customFofoOrderItem.setDescription(
1015
                customFofoOrderItem.setDescription(
982
                        customFofoOrderItem.getDescription() + "\n IMEIS - " + String.join(", ", serialNumbers));
1016
                        customFofoOrderItem.getDescription() + "\n IMEIS - " + String.join(", ", serialNumbers));
983
            }
1017
            }
-
 
1018
            if (!customSerialNumbers.isEmpty()) {
-
 
1019
                customFofoOrderItem.setDescription(
-
 
1020
                        customFofoOrderItem.getDescription() + "\n SerialNumber - " + String.join(", ", customSerialNumbers));
-
 
1021
            }
984
            customFofoOrderItem.setRate(taxableSellingPrice);
1022
            customFofoOrderItem.setRate(taxableSellingPrice);
985
            customFofoOrderItem.setDiscount(taxableDiscountPrice);
1023
            customFofoOrderItem.setDiscount(taxableDiscountPrice);
986
            customFofoOrderItem.setQuantity(fofoOrderItem.getQuantity());
1024
            customFofoOrderItem.setQuantity(fofoOrderItem.getQuantity());
987
            customFofoOrderItem.setNetAmount(fofoOrderItem.getSellingPrice() * fofoOrderItem.getQuantity());
1025
            customFofoOrderItem.setNetAmount(fofoOrderItem.getSellingPrice() * fofoOrderItem.getQuantity());
988
            float igstAmount = (customFofoOrderItem.getAmount() * fofoOrderItem.getIgstRate()) / 100;
1026
            float igstAmount = (customFofoOrderItem.getAmount() * fofoOrderItem.getIgstRate()) / 100;