Subversion Repositories SmartDukaan

Rev

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

Rev 34641 Rev 34644
Line 745... Line 745...
745
 
745
 
746
            double gotDrrPercent = (todayRequiredDrr / monthDay1Drr) * 100;
746
            double gotDrrPercent = (todayRequiredDrr / monthDay1Drr) * 100;
747
 
747
 
748
            int orderId = orderRepository.getLastOrderByFofoId(fofoId);
748
            int orderId = orderRepository.getLastOrderByFofoId(fofoId);
749
 
749
 
-
 
750
            // Determine alert level
-
 
751
            String alertLevel = "-";
-
 
752
            int lastPurchaseDays = 0;
750
            if (orderId != 0) {
753
            if (orderId != 0) {
751
                Order order = orderRepository.selectById(orderId);
754
                Order order = orderRepository.selectById(orderId);
752
 
755
 
753
                // Calculate the number of days since the last purchase (billing)
756
                // Calculate the number of days since the last purchase (billing)
754
                int lastPurchaseDays = (int) Duration.between(order.getCreateTimestamp().plusDays(1), LocalDateTime.now()).toDays();
757
                lastPurchaseDays = (int) Duration.between(order.getCreateTimestamp().plusDays(1), LocalDateTime.now()).toDays();
755
 
758
 
756
                // Determine alert level
-
 
757
                String alertLevel = "";
-
 
758
                if (lastPurchaseDays >= 11) {
759
                if (lastPurchaseDays >= 11) {
759
                    alertLevel = "Alert for Management";
760
                    alertLevel = "Alert for Management";
760
                } else if (lastPurchaseDays >= 8) {
761
                } else if (lastPurchaseDays >= 8) {
761
                    alertLevel = " Alert for RSM/SH";
762
                    alertLevel = " Alert for RSM/SH";
762
                } else if (lastPurchaseDays >= 6) {
763
                } else if (lastPurchaseDays >= 6) {
Line 764... Line 765...
764
                } else if (lastPurchaseDays >= 3) {
765
                } else if (lastPurchaseDays >= 3) {
765
                    alertLevel = "OK";
766
                    alertLevel = "OK";
766
                } else {
767
                } else {
767
                    alertLevel = "No Action Needed";
768
                    alertLevel = "No Action Needed";
768
                }
769
                }
-
 
770
            }
769
 
771
 
-
 
772
            //investment modal set all related value
-
 
773
            FofoInvestmentModel fofoInvestmentModel = new FofoInvestmentModel();
770
 
774
 
771
                //          investment modal set all related value
-
 
772
                FofoInvestmentModel fofoInvestmentModel = new FofoInvestmentModel();
-
 
773
 
-
 
774
                fofoInvestmentModel.setCounterPotential(fofoStore.getCounterPotential());
775
            fofoInvestmentModel.setCounterPotential(fofoStore.getCounterPotential());
775
                fofoInvestmentModel.setShortInvestment(shortInvestment);
776
            fofoInvestmentModel.setShortInvestment(shortInvestment);
776
                fofoInvestmentModel.setDefaultLoan(defaultLoanAmount);
777
            fofoInvestmentModel.setDefaultLoan(defaultLoanAmount);
777
                fofoInvestmentModel.setInvestmentLevel(investmentLevel);
778
            fofoInvestmentModel.setInvestmentLevel(investmentLevel);
778
                fofoInvestmentModel.setActiveLoan(activeLoan);
779
            fofoInvestmentModel.setActiveLoan(activeLoan);
779
                fofoInvestmentModel.setPoValue(poValue);
780
            fofoInvestmentModel.setPoValue(poValue);
780
                fofoInvestmentModel.setPoAndBilled(poAndBilledValue);
781
            fofoInvestmentModel.setPoAndBilled(poAndBilledValue);
781
                fofoInvestmentModel.setAgreedInvestment(agreedInvestment);
782
            fofoInvestmentModel.setAgreedInvestment(agreedInvestment);
782
                fofoInvestmentModel.setWallet(partnerDailyInvestmentMap.get(fofoId) != null ? partnerDailyInvestmentMap.get(fofoId).getWalletAmount() : 0);
783
            fofoInvestmentModel.setWallet(partnerDailyInvestmentMap.get(fofoId) != null ? partnerDailyInvestmentMap.get(fofoId).getWalletAmount() : 0);
783
                fofoInvestmentModel.setMonthBeginingDrr(monthDay1Drr);
784
            fofoInvestmentModel.setMonthBeginingDrr(monthDay1Drr);
784
                fofoInvestmentModel.setRequiredDrr(todayRequiredDrr);
785
            fofoInvestmentModel.setRequiredDrr(todayRequiredDrr);
785
                fofoInvestmentModel.setDrrPercent(gotDrrPercent);
786
            fofoInvestmentModel.setDrrPercent(gotDrrPercent);
786
                fofoInvestmentModel.setLastBillingDone(lastPurchaseDays);
787
            fofoInvestmentModel.setLastBillingDone(lastPurchaseDays);
787
                fofoInvestmentModel.setSlab(alertLevel);
788
            fofoInvestmentModel.setSlab(alertLevel);
788
 
789
 
789
                biInvestmentModelMap.put(fofoId, fofoInvestmentModel);
790
            biInvestmentModelMap.put(fofoId, fofoInvestmentModel);
790
            }
-
 
791
                String assessment = "";
791
                String assessment = "";
792
                if(defaultLoanAmount > 0 ){
792
                if(defaultLoanAmount > 0 ){
793
                    assessment = "Loan Default";
793
                    assessment = "Loan Default";
794
                }else if(investmentLevel <= 75 && defaultLoanAmount < 1){
794
                }else if(investmentLevel <= 75 && defaultLoanAmount < 1){
795
                    assessment = "Low Invest";
795
                    assessment = "Low Invest";
Line 996... Line 996...
996
 
996
 
997
        // Send to email
997
        // Send to email
998
//        ByteArrayOutputStream csvStream = FileUtil.getCSVByteStreamWithMultiHeaders(headerGroup, rows);
998
//        ByteArrayOutputStream csvStream = FileUtil.getCSVByteStreamWithMultiHeaders(headerGroup, rows);
999
        ByteArrayOutputStream csvStream = getExcelStreamWithMultiHeaders(headerGroup, rows);
999
        ByteArrayOutputStream csvStream = getExcelStreamWithMultiHeaders(headerGroup, rows);
1000
        String fileName = "BI-Retailer-Monthly-Report-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".xlsx";
1000
        String fileName = "BI-Retailer-Monthly-Report-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".xlsx";
1001
        String[] sendToArray = new String[]{"ranu.rajput@smartdukaan.com"};
1001
        String[] sendToArray = new String[]{"ranu.rajput@smartdukaan.com","ashutosh.verma@smartdukaan.com"};
1002
 
1002
 
1003
        Utils.sendMailWithAttachment(googleMailSender, sendToArray, new String[]{}, "BI Retailer Monthly Report", "Please find attached the BI retailer secondary/tertiary monthly report.", fileName, new ByteArrayResource(csvStream.toByteArray()));
1003
        Utils.sendMailWithAttachment(googleMailSender, sendToArray, new String[]{}, "BI Retailer Monthly Report", "Please find attached the BI retailer secondary/tertiary monthly report.", fileName, new ByteArrayResource(csvStream.toByteArray()));
1004
 
1004
 
1005
 
1005
 
1006
    }
1006
    }