Subversion Repositories SmartDukaan

Rev

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

Rev 34160 Rev 34162
Line 45... Line 45...
45
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
45
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
46
import com.spice.profitmandi.dao.enumuration.fofo.Gateway;
46
import com.spice.profitmandi.dao.enumuration.fofo.Gateway;
47
import com.spice.profitmandi.dao.enumuration.fofo.PaymentStatus;
47
import com.spice.profitmandi.dao.enumuration.fofo.PaymentStatus;
48
import com.spice.profitmandi.dao.enumuration.fofo.ReturnType;
48
import com.spice.profitmandi.dao.enumuration.fofo.ReturnType;
49
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
49
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
-
 
50
import com.spice.profitmandi.dao.enumuration.inventory.CatalogMovingEnum;
50
import com.spice.profitmandi.dao.enumuration.inventory.VendorCatalogPricingStatus;
51
import com.spice.profitmandi.dao.enumuration.inventory.VendorCatalogPricingStatus;
51
import com.spice.profitmandi.dao.enumuration.onBorading.onBoardingFormEnums.LoiStatus;
52
import com.spice.profitmandi.dao.enumuration.onBorading.onBoardingFormEnums.LoiStatus;
52
import com.spice.profitmandi.dao.enumuration.transaction.CreditRisk;
53
import com.spice.profitmandi.dao.enumuration.transaction.CreditRisk;
53
import com.spice.profitmandi.dao.enumuration.transaction.LoanReferenceType;
54
import com.spice.profitmandi.dao.enumuration.transaction.LoanReferenceType;
54
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
55
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
Line 144... Line 145...
144
import java.text.DecimalFormat;
145
import java.text.DecimalFormat;
145
import java.time.*;
146
import java.time.*;
146
import java.time.format.DateTimeFormatter;
147
import java.time.format.DateTimeFormatter;
147
import java.time.temporal.ChronoField;
148
import java.time.temporal.ChronoField;
148
import java.time.temporal.ChronoUnit;
149
import java.time.temporal.ChronoUnit;
-
 
150
import java.time.temporal.WeekFields;
149
import java.util.*;
151
import java.util.*;
150
import java.util.Map.Entry;
152
import java.util.Map.Entry;
151
import java.util.stream.Collectors;
153
import java.util.stream.Collectors;
152
import java.util.stream.Stream;
154
import java.util.stream.Stream;
153
 
155
 
Line 1613... Line 1615...
1613
        }
1615
        }
1614
        return partnerIdSalesHeadersMap;
1616
        return partnerIdSalesHeadersMap;
1615
 
1617
 
1616
    }
1618
    }
1617
 
1619
 
1618
    public void persistRbmTodayTargets() throws Exception {
1620
    public void persistRbmTodayTargets() throws Exception{
1619
        rbmTargetService.setMovementWiseRbmTargets();
1621
        rbmTargetService.setMovementWiseRbmTargets();
1620
    }
1622
    }
1621
 
1623
 
1622
    public void persistRbmTodayAchievements() throws Exception {
1624
    public void persistRbmTodayAchievements() throws Exception{
1623
        rbmTargetService.setMovementWiseRbmAchievement();
1625
        rbmTargetService.setMovementWiseRbmAchievement();
1624
    }
1626
    }
1625
 
1627
 
1626
    public void sendPartnerInvestmentDetails() throws Exception {
1628
    public void sendPartnerInvestmentDetails() throws Exception {
1627
        this.sendPartnerInvestmentDetails(null);
1629
        this.sendPartnerInvestmentDetails(null);
Line 2577... Line 2579...
2577
                    httpPost.setHeader("Content-Type", "application/json");
2579
                    httpPost.setHeader("Content-Type", "application/json");
2578
 
2580
 
2579
                    StringEntity entity = new StringEntity(payload.toString());
2581
                    StringEntity entity = new StringEntity(payload.toString());
2580
                    httpPost.setEntity(entity);
2582
                    httpPost.setEntity(entity);
2581
                    CloseableHttpResponse response = client.execute(httpPost);
2583
                    CloseableHttpResponse response = client.execute(httpPost);
2582
                    LOGGER.info("google FCM status code: {}", response.getStatusLine().getStatusCode());
2584
                    LOGGER.info("google FCM status code: {}",response.getStatusLine().getStatusCode());
2583
                    String responseBody = new BufferedReader(new InputStreamReader(response.getEntity().getContent()))
2585
                    String responseBody = new BufferedReader(new InputStreamReader(response.getEntity().getContent()))
2584
                            .lines().collect(Collectors.joining("\n"));
2586
                            .lines().collect(Collectors.joining("\n"));
2585
                    if (response.getStatusLine().getStatusCode() == 200) {
2587
                    if (response.getStatusLine().getStatusCode() == 200) {
2586
                        pushNotification.setSentTimestamp(LocalDateTime.now());
2588
                        pushNotification.setSentTimestamp(LocalDateTime.now());
2587
                    } else {
2589
                    } else {
Line 2816... Line 2818...
2816
                fm.setPendingIndentQty(processingQty);
2818
                fm.setPendingIndentQty(processingQty);
2817
                fm.setShortageQty(shortageQty);
2819
                fm.setShortageQty(shortageQty);
2818
                fm.setPoAvailability(allColorPoAvailability);
2820
                fm.setPoAvailability(allColorPoAvailability);
2819
                fm.setDp(tagListing.getSellingPrice());
2821
                fm.setDp(tagListing.getSellingPrice());
2820
                fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
2822
                fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
2821
                if (partnerIdSalesHeadersMap.get(fofoId) != null) {
2823
                if(partnerIdSalesHeadersMap.get(fofoId) != null){
2822
                    fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
2824
                    fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
2823
                    fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
2825
                    fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
2824
                } else {
2826
                }else {
2825
                    LOGGER.info("else fofoId - {}", fofoId);
2827
                    LOGGER.info("else fofoId - {}",fofoId);
2826
                    fm.setStateManager("");
2828
                    fm.setStateManager("");
2827
                    fm.setTerritoryManager("");
2829
                    fm.setTerritoryManager("");
2828
                }
2830
                }
2829
 
2831
 
2830
                fm.setItemName(items.get(0).getBrand() + items.get(0).getModelNumber() + items.get(0).getModelName());
2832
                fm.setItemName(items.get(0).getBrand() + items.get(0).getModelNumber() + items.get(0).getModelName());
Line 2832... Line 2834...
2832
 
2834
 
2833
                focusedModelShortageList.add(fm);
2835
                focusedModelShortageList.add(fm);
2834
            }
2836
            }
2835
 
2837
 
2836
        }
2838
        }
2837
        LOGGER.info("focusedModelShortageReportMap {}", focusedModelShortageReportMap);
2839
        LOGGER.info("focusedModelShortageReportMap {}",focusedModelShortageReportMap);
2838
        if (!focusedModelShortageReportMap.isEmpty()) {
2840
        if (!focusedModelShortageReportMap.isEmpty()) {
2839
            String fileName = "Stock Alert-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
2841
            String fileName = "Stock Alert-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
2840
            Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMapping();
2842
            Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMapping();
2841
            Map<String, List<List<?>>> emailRowsMap = new HashMap<>();
2843
            Map<String, List<List<?>>> emailRowsMap = new HashMap<>();
2842
 
2844
 
Line 2865... Line 2867...
2865
                } catch (Exception e2) {
2867
                } catch (Exception e2) {
2866
                    e2.printStackTrace();
2868
                    e2.printStackTrace();
2867
                }
2869
                }
2868
                String[] sendToArray = new String[]{
2870
                String[] sendToArray = new String[]{
2869
 
2871
 
2870
                        entry.getKey(), "alok.divedi@smartdukaan.com", "ranu.rajput@smartdukaan.com"
2872
                        entry.getKey(), "alok.divedi@smartdukaan.com","ranu.rajput@smartdukaan.com"
2871
 
2873
 
2872
                };
2874
                };
2873
 
2875
 
2874
 
2876
 
2875
                try {
2877
                try {
Line 3706... Line 3708...
3706
 
3708
 
3707
    public void loanSettlement() throws Exception {
3709
    public void loanSettlement() throws Exception {
3708
        List<Loan> blockedLoans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() >= 365).collect(toList());
3710
        List<Loan> blockedLoans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() >= 365).collect(toList());
3709
        List<Loan> loans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() < 365).collect(toList());
3711
        List<Loan> loans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() < 365).collect(toList());
3710
        //Settle blocked loans only when normal loans are settled
3712
        //Settle blocked loans only when normal loans are settled
3711
        loans.addAll(blockedLoans);
3713
            loans.addAll(blockedLoans);
3712
        //TODO:Remove this code
3714
            //TODO:Remove this code
3713
        Loan specificLoan = loanRepository.selectByLoanId(20073);
3715
            Loan specificLoan = loanRepository.selectByLoanId(20073);
3714
        loans.add(0, specificLoan);
3716
            loans.add(0, specificLoan);
3715
        //TODO:Upto here
3717
            //TODO:Upto here
3716
        if (!loans.isEmpty()) {
3718
            if (!loans.isEmpty()) {
3717
 
3719
 
3718
            for (Loan loan : loans) {
3720
                for (Loan loan : loans) {
3719
                double settledAmount = sdCreditService.settleLoan(loan);
3721
                    double settledAmount = sdCreditService.settleLoan(loan);
3720
 
3722
 
3721
                List<SanctionRequest> sanctionRequests = sanctionRequestRepository.selectHoldSanctionByFofoId(loan.getFofoId());
3723
                    List<SanctionRequest> sanctionRequests = sanctionRequestRepository.selectHoldSanctionByFofoId(loan.getFofoId());
3722
                for (SanctionRequest sanctionRequest : sanctionRequests) {
3724
                    for (SanctionRequest sanctionRequest : sanctionRequests) {
-
 
3725
 
-
 
3726
                        List<Order> orders = orderRepository.selectAllByTransactionId(sanctionRequest.getTransactionId());
-
 
3727
                        if (orders.size() == 0) {
-
 
3728
                            LOGGER.info("Could not find orders - for Sanction Request {}", sanctionRequest);
-
 
3729
                            continue;
-
 
3730
                        }
3723
 
3731
 
3724
                    List<Order> orders = orderRepository.selectAllByTransactionId(sanctionRequest.getTransactionId());
3732
                        if (settledAmount >= sanctionRequest.getPendingAmount().doubleValue()) {
3725
                    if (orders.size() == 0) {
3733
                            settledAmount -= sanctionRequest.getPendingAmount().doubleValue();
3726
                        LOGGER.info("Could not find orders - for Sanction Request {}", sanctionRequest);
3734
                            sanctionRequest.setPendingAmount(BigDecimal.valueOf(0));
-
 
3735
                            this.sendUnholdEmail(orders);
3727
                        continue;
3736
                        } else {
-
 
3737
                            double pendinAmount = sanctionRequest.getPendingAmount().doubleValue() - settledAmount;
-
 
3738
                            System.out.println("Pending Amount - " + pendinAmount);
-
 
3739
                            sanctionRequest.setPendingAmount(BigDecimal.valueOf(pendinAmount));
3728
                    }
3740
                            break;
3729
 
3741
 
3730
                    if (settledAmount >= sanctionRequest.getPendingAmount().doubleValue()) {
-
 
3731
                        settledAmount -= sanctionRequest.getPendingAmount().doubleValue();
-
 
3732
                        sanctionRequest.setPendingAmount(BigDecimal.valueOf(0));
-
 
3733
                        this.sendUnholdEmail(orders);
-
 
3734
                    } else {
-
 
3735
                        double pendinAmount = sanctionRequest.getPendingAmount().doubleValue() - settledAmount;
-
 
3736
                        System.out.println("Pending Amount - " + pendinAmount);
-
 
3737
                        sanctionRequest.setPendingAmount(BigDecimal.valueOf(pendinAmount));
-
 
3738
                        break;
3742
                        }
3739
 
3743
 
3740
                    }
3744
                    }
3741
 
-
 
3742
                }
3745
                }
-
 
3746
 
3743
            }
3747
            }
3744
 
3748
 
3745
        }
-
 
3746
 
3749
 
3747
 
3750
 
3748
    }
3751
    }
3749
 
3752
 
3750
 
3753
 
Line 3946... Line 3949...
3946
 
3949
 
3947
            }
3950
            }
3948
 
3951
 
3949
        }
3952
        }
3950
        String messageText = this.getMessageForDueDateExtend(defaultLoans);
3953
        String messageText = this.getMessageForDueDateExtend(defaultLoans);
3951
        this.sendMailOfHtmlFormat(googleMailSender, new String[]{"puneet.wahi@smartdukaan.com", "rahul.latwal@smartdukaan.com"}, messageText, null, subject);
3954
        this.sendMailOfHtmlFormat(googleMailSender, new String[]{"puneet.wahi@smartdukaan.com","rahul.latwal@smartdukaan.com"}, messageText, null, subject);
3952
 
3955
 
3953
        for (Loan defaultLoan : defaultLoans) {
3956
        for (Loan defaultLoan : defaultLoans) {
3954
            List<LoanStatement> loanStatements = loanStatementRepository.selectByLoanId(defaultLoan.getId());
3957
            List<LoanStatement> loanStatements = loanStatementRepository.selectByLoanId(defaultLoan.getId());
3955
 
3958
 
3956
            double amount = loanStatements.stream().map(x -> x.getAmount()).collect(Collectors.summingDouble(x -> x.doubleValue()));
3959
            double amount = loanStatements.stream().map(x -> x.getAmount()).collect(Collectors.summingDouble(x -> x.doubleValue()));
Line 5041... Line 5044...
5041
 
5044
 
5042
    public void createOpeningStockPartyWise() throws Exception {
5045
    public void createOpeningStockPartyWise() throws Exception {
5043
        // Get all partner stock data
5046
        // Get all partner stock data
5044
        Map<Integer, List<PartnerOpeningStockByTodayModel>> partnerOpeningStockByTodayMap = currentInventorySnapshotRepository.getAllPartnerTodayStock();
5047
        Map<Integer, List<PartnerOpeningStockByTodayModel>> partnerOpeningStockByTodayMap = currentInventorySnapshotRepository.getAllPartnerTodayStock();
5045
 
5048
 
5046
 
-
 
5047
        for (Map.Entry<Integer, List<PartnerOpeningStockByTodayModel>> entry : partnerOpeningStockByTodayMap.entrySet()) {
5049
        for (Map.Entry<Integer, List<PartnerOpeningStockByTodayModel>> entry : partnerOpeningStockByTodayMap.entrySet()) {
5048
            int fofoId = entry.getKey();
5050
            int fofoId = entry.getKey();
5049
            List<PartnerOpeningStockByTodayModel> partnerStockList = entry.getValue();
5051
            List<PartnerOpeningStockByTodayModel> partnerStockList = entry.getValue();
5050
 
5052
 
-
 
5053
//            if stock is vaialble in snapshot
5051
            for (PartnerOpeningStockByTodayModel partnerStock : partnerStockList) {
5054
            for (PartnerOpeningStockByTodayModel partnerStock : partnerStockList) {
5052
                int catalogId = partnerStock.getCatalogId();
5055
                int catalogId = partnerStock.getCatalogId();
5053
                int stockQty = partnerStock.getOpeningQty();
5056
                int partnerCurrentQty = partnerStock.getOpeningQty();
5054
                LocalDate openingDate = partnerStock.getOpeningDate();
5057
                LocalDate openingDate = partnerStock.getOpeningDate();
5055
 
5058
 
5056
                // Check if an entry already exists in the FofoOpeningStock table
5059
                // Check if an entry already exists in the FofoOpeningStock table
5057
                FofoOpeningStock existingStock = fofoOpeningStockRepository.findByFofoIdAndCatalogId(fofoId, catalogId);
5060
                FofoOpeningStock existingStock = fofoOpeningStockRepository.findByFofoIdAndCatalogId(fofoId, catalogId);
5058
 
5061
 
-
 
5062
 
5059
                if (existingStock != null) {
5063
                if (existingStock != null) {
5060
                    if(stockQty < 1 && existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))){
5064
                    if(partnerCurrentQty < 1 && existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))){
5061
                        fofoOpeningStockRepository.delete(existingStock);
5065
                        fofoOpeningStockRepository.delete(existingStock);
5062
                    }
5066
                    }
5063
                    if (existingStock.getOpeningQty() < stockQty) {
5067
                    if (existingStock.getOpeningQty() < partnerCurrentQty) {
5064
                        existingStock.setOpeningQty(stockQty);
5068
                        existingStock.setOpeningQty(partnerCurrentQty);
5065
                        existingStock.setCurrentQty(stockQty);
5069
                        existingStock.setCurrentQty(partnerCurrentQty);
5066
                        existingStock.setOpeningDate(openingDate);
5070
                        existingStock.setOpeningDate(openingDate);
5067
                        LOGGER.info("if condition exist {}");
5071
                        LOGGER.info("if condition exist {}");
5068
                    } else if (existingStock.getCurrentQty() >= existingStock.getOpeningQty()) {
5072
                    }else if(existingStock.getCurrentQty() >= existingStock.getOpeningQty()){
5069
                        existingStock.setOpeningQty(existingStock.getCurrentQty());
5073
                            existingStock.setOpeningQty(existingStock.getCurrentQty());
5070
                        existingStock.setOpeningDate(LocalDate.now());
5074
                            existingStock.setOpeningDate(LocalDate.now());
5071
                    } else if (existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))) {
5075
                    } else if (existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))) {
5072
                        int averageQty = Math.round((existingStock.getCurrentQty() + existingStock.getOpeningQty()) / 2.0f);
5076
                        int averageQty = Math.round((existingStock.getCurrentQty() + existingStock.getOpeningQty()) / 2.0f);
5073
 
5077
 
5074
                        if (averageQty == 1 && existingStock.getOpeningQty() == 1 && existingStock.getCurrentQty() == 0) {
5078
                        if (averageQty == 1 && existingStock.getOpeningQty() == 1 && existingStock.getCurrentQty() == 0) {
5075
                            // Delete the existing stock entry from the table
5079
                            // Delete the existing stock entry from the table
Line 5085... Line 5089...
5085
                } else {
5089
                } else {
5086
                    LOGGER.info("else condition exist");
5090
                    LOGGER.info("else condition exist");
5087
                    FofoOpeningStock newStock = new FofoOpeningStock();
5091
                    FofoOpeningStock newStock = new FofoOpeningStock();
5088
                    newStock.setFofoId(fofoId);
5092
                    newStock.setFofoId(fofoId);
5089
                    newStock.setCatalogId(catalogId);
5093
                    newStock.setCatalogId(catalogId);
5090
                    newStock.setOpeningQty(stockQty);
5094
                    newStock.setOpeningQty(partnerCurrentQty);
5091
                    newStock.setCurrentQty(stockQty);
5095
                    newStock.setCurrentQty(partnerCurrentQty);
5092
                    newStock.setOpeningDate(openingDate);
5096
                    newStock.setOpeningDate(openingDate);
5093
                    fofoOpeningStockRepository.persist(newStock);
5097
                    fofoOpeningStockRepository.persist(newStock);
5094
 
5098
 
5095
                }
5099
                }
5096
            }
5100
            }
-
 
5101
 
-
 
5102
//            if stock is not available in snapshot but available in opening stock
-
 
5103
              List<FofoOpeningStock> fofoOpeningStockList = fofoOpeningStockRepository.selectAllByFofoId(fofoId);
-
 
5104
 
-
 
5105
              for(FofoOpeningStock fofoOpeningStock : fofoOpeningStockList){
-
 
5106
 
-
 
5107
                  if(!partnerStockList.stream().anyMatch(partnerStock -> partnerStock.getCatalogId() == fofoOpeningStock.getCatalogId())){
-
 
5108
                      if(fofoOpeningStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))){
-
 
5109
                          LOGGER.info("not match stock{}",fofoOpeningStock);
-
 
5110
                          fofoOpeningStockRepository.delete(fofoOpeningStock);
-
 
5111
                      }else{
-
 
5112
                          LOGGER.info("not match stock2{}",fofoOpeningStock);
-
 
5113
                          fofoOpeningStock.setCurrentQty(0);
-
 
5114
                      }
-
 
5115
 
-
 
5116
                  }
-
 
5117
              }
-
 
5118
 
-
 
5119
        }
-
 
5120
    }
-
 
5121
 
-
 
5122
 
-
 
5123
    @Autowired
-
 
5124
    private CategorisedCatalogRepository categorisedCatalogRepository;
-
 
5125
 
-
 
5126
    public void groupHidCatalogsByWeeks() throws ProfitMandiBusinessException, MessagingException, IOException {
-
 
5127
        List<CategorisedCatalogListModel> categorisedCatalogs = categorisedCatalogRepository.getListByStatus(CatalogMovingEnum.HID);
-
 
5128
        LocalDate currentDate = LocalDate.now();
-
 
5129
        LocalDate oneWeekAgo = currentDate.minusDays(7);
-
 
5130
        LocalDate twoWeeksAgo = currentDate.minusDays(14);
-
 
5131
        LocalDate threeWeeksAgo = currentDate.minusDays(21);
-
 
5132
 
-
 
5133
        // This Week (inclusive of the current date)
-
 
5134
        List<CategorisedCatalogListModel> thisWeekCatalogs = categorisedCatalogs.stream()
-
 
5135
                .filter(catalog -> !catalog.getStatusCreatedDate().isBefore(oneWeekAgo))
-
 
5136
                .collect(Collectors.toList());
-
 
5137
 
-
 
5138
        // Last Week (from one week ago to two weeks ago, exclusive of this week)
-
 
5139
        List<CategorisedCatalogListModel> lastWeekCatalogs = categorisedCatalogs.stream()
-
 
5140
                .filter(catalog -> catalog.getStatusCreatedDate().isBefore(oneWeekAgo) && !catalog.getStatusCreatedDate().isBefore(twoWeeksAgo))
-
 
5141
                .collect(Collectors.toList());
-
 
5142
 
-
 
5143
        // Two Weeks Ago (from two weeks ago to three weeks ago, exclusive of last week)
-
 
5144
        List<CategorisedCatalogListModel> twoWeeksAgoCatalogs = categorisedCatalogs.stream()
-
 
5145
                .filter(catalog -> catalog.getStatusCreatedDate().isBefore(twoWeeksAgo) && !catalog.getStatusCreatedDate().isBefore(threeWeeksAgo))
-
 
5146
                .collect(Collectors.toList());
-
 
5147
 
-
 
5148
        // Older than Two Weeks Ago (anything older than three weeks ago)
-
 
5149
        List<CategorisedCatalogListModel> olderCatalogs = categorisedCatalogs.stream()
-
 
5150
                .filter(catalog -> catalog.getStatusCreatedDate().isBefore(threeWeeksAgo))
-
 
5151
                .collect(Collectors.toList());
-
 
5152
 
-
 
5153
 
-
 
5154
        String subject = "Hid Catalogs";
-
 
5155
        StringBuilder sb = new StringBuilder();
-
 
5156
 
-
 
5157
        sb.append("<html><body><p>Hi Catagory Team,\n");
-
 
5158
        sb.append("<p style='font-weight:500;'>Please review the HID catalogs for this week:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
-
 
5159
 
-
 
5160
        sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
-
 
5161
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
-
 
5162
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
-
 
5163
        sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
-
 
5164
        sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
-
 
5165
        sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
-
 
5166
        sb.append("</tr>\n");
-
 
5167
 
-
 
5168
        for (CategorisedCatalogListModel catalog : thisWeekCatalogs) {
-
 
5169
            sb.append("<tr>");
-
 
5170
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
-
 
5171
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
-
 
5172
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
-
 
5173
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
-
 
5174
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
-
 
5175
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
-
 
5176
 
-
 
5177
            sb.append("</tr>\n");
-
 
5178
 
-
 
5179
        }
-
 
5180
 
-
 
5181
        sb.append("</table>");
-
 
5182
 
-
 
5183
        sb.append("</br>");
-
 
5184
        sb.append("</br>");
-
 
5185
        sb.append("</br>");
-
 
5186
        sb.append("<p style='font-weight:500;'>Please review the HID catalogs for last week:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
-
 
5187
 
-
 
5188
        sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
-
 
5189
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
-
 
5190
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
-
 
5191
        sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
-
 
5192
        sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
-
 
5193
        sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
-
 
5194
        sb.append("</tr>\n");
-
 
5195
 
-
 
5196
        for (CategorisedCatalogListModel catalog : lastWeekCatalogs) {
-
 
5197
            sb.append("<tr>");
-
 
5198
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
-
 
5199
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
-
 
5200
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
-
 
5201
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
-
 
5202
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
-
 
5203
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
-
 
5204
 
-
 
5205
            sb.append("</tr>\n");
-
 
5206
 
-
 
5207
        }
-
 
5208
        sb.append("</table>");
-
 
5209
 
-
 
5210
        sb.append("</br>");
-
 
5211
        sb.append("</br>");
-
 
5212
        sb.append("</br>");
-
 
5213
        sb.append("<p style='font-weight:500;'>Please review the HID catalogs for two week ago:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
-
 
5214
 
-
 
5215
        sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
-
 
5216
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
-
 
5217
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
-
 
5218
        sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
-
 
5219
        sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
-
 
5220
        sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
-
 
5221
        sb.append("</tr>\n");
-
 
5222
 
-
 
5223
        for (CategorisedCatalogListModel catalog : twoWeeksAgoCatalogs) {
-
 
5224
            sb.append("<tr>");
-
 
5225
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
-
 
5226
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
-
 
5227
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
-
 
5228
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
-
 
5229
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
-
 
5230
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
-
 
5231
 
-
 
5232
            sb.append("</tr>\n");
-
 
5233
 
-
 
5234
        }
-
 
5235
        sb.append("</table>");
-
 
5236
 
-
 
5237
        sb.append("</br>");
-
 
5238
        sb.append("</br>");
-
 
5239
        sb.append("</br>");
-
 
5240
        sb.append("<p style='font-weight:500;'>Please review the HID catalogs for older than two weeks ago:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
-
 
5241
 
-
 
5242
        sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
-
 
5243
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
-
 
5244
        sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
-
 
5245
        sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
-
 
5246
        sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
-
 
5247
        sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
-
 
5248
        sb.append("</tr>\n");
-
 
5249
 
-
 
5250
        for (CategorisedCatalogListModel catalog : olderCatalogs) {
-
 
5251
            sb.append("<tr>");
-
 
5252
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
-
 
5253
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
-
 
5254
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
-
 
5255
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
-
 
5256
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
-
 
5257
            sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
-
 
5258
 
-
 
5259
            sb.append("</tr>\n");
-
 
5260
 
5097
        }
5261
        }
-
 
5262
        sb.append("</table>");
-
 
5263
        sb.append("</body></html>");
-
 
5264
 
-
 
5265
        List<String> sendTo = Arrays.asList("uday.singh@smartdukaan.com", "kuldeep.kumar@smartdukaan.com", "nishant.ohri@smartdukaan.com", "ritesh.chauhan1@smartdukaan.com","shobhit.tandon@smartdukaan.com","tarun.verma@smartdukaan.com","niranjan.kala@smartdukaan.com");
-
 
5266
 
-
 
5267
 
-
 
5268
        String[] email = sendTo.toArray(new String[sendTo.size()]);
-
 
5269
 
-
 
5270
        this.sendMailOfHtmlFormat(mailSender, email, sb.toString(), null, subject);
5098
    }
5271
    }
5099
 
5272
 
5100
 
5273
 
-
 
5274
 
-
 
5275
 
5101
}
5276
}
5102
// 2284"
5277
// 2284"
5103
5278