Subversion Repositories SmartDukaan

Rev

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

Rev 34111 Rev 34117
Line 12... Line 12...
12
import com.spice.profitmandi.dao.entity.catalog.Item;
12
import com.spice.profitmandi.dao.entity.catalog.Item;
13
import com.spice.profitmandi.dao.entity.dtr.InsurancePolicy;
13
import com.spice.profitmandi.dao.entity.dtr.InsurancePolicy;
14
import com.spice.profitmandi.dao.entity.dtr.PaymentOptionTransaction;
14
import com.spice.profitmandi.dao.entity.dtr.PaymentOptionTransaction;
15
import com.spice.profitmandi.dao.entity.fofo.*;
15
import com.spice.profitmandi.dao.entity.fofo.*;
16
import com.spice.profitmandi.dao.entity.inventory.State;
16
import com.spice.profitmandi.dao.entity.inventory.State;
-
 
17
import com.spice.profitmandi.dao.entity.user.User;
17
import com.spice.profitmandi.dao.enumuration.dtr.PaymentOptionReferenceType;
18
import com.spice.profitmandi.dao.enumuration.dtr.PaymentOptionReferenceType;
18
import com.spice.profitmandi.dao.enumuration.transaction.UpSaleCallStatus;
19
import com.spice.profitmandi.dao.enumuration.transaction.UpSaleCallStatus;
19
import com.spice.profitmandi.dao.model.PaymentLinkDetailModel;
20
import com.spice.profitmandi.dao.model.PaymentLinkDetailModel;
20
import com.spice.profitmandi.dao.model.UpsellingReportModel;
21
import com.spice.profitmandi.dao.model.UpsellingReportModel;
21
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
22
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
Line 25... Line 26...
25
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
26
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
26
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
27
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
27
import com.spice.profitmandi.dao.repository.dtr.PaymentOptionTransactionRepository;
28
import com.spice.profitmandi.dao.repository.dtr.PaymentOptionTransactionRepository;
28
import com.spice.profitmandi.dao.repository.fofo.*;
29
import com.spice.profitmandi.dao.repository.fofo.*;
29
import com.spice.profitmandi.dao.repository.inventory.StateRepository;
30
import com.spice.profitmandi.dao.repository.inventory.StateRepository;
-
 
31
import com.spice.profitmandi.dao.repository.user.UserRepository;
30
import com.spice.profitmandi.service.NotificationService;
32
import com.spice.profitmandi.service.NotificationService;
31
import com.spice.profitmandi.service.authentication.RoleManager;
33
import com.spice.profitmandi.service.authentication.RoleManager;
32
import com.spice.profitmandi.service.integrations.RazorpayPaymentService;
34
import com.spice.profitmandi.service.integrations.RazorpayPaymentService;
33
import com.spice.profitmandi.service.integrations.kommuno.KommunoService;
35
import com.spice.profitmandi.service.integrations.kommuno.KommunoService;
34
import com.spice.profitmandi.service.integrations.zest.InsuranceService;
36
import com.spice.profitmandi.service.integrations.zest.InsuranceService;
Line 110... Line 112...
110
    @Autowired
112
    @Autowired
111
    private UpSellCallDetailRepository upsellCallDetailRepository;
113
    private UpSellCallDetailRepository upsellCallDetailRepository;
112
 
114
 
113
    @Autowired
115
    @Autowired
114
    private CsService csService;
116
    private CsService csService;
-
 
117
 
115
    @Autowired
118
    @Autowired
116
    private FofoStoreRepository fofoStoreRepository;
119
    private FofoStoreRepository fofoStoreRepository;
-
 
120
 
-
 
121
    @Autowired
-
 
122
    private UserRepository userRepository;
-
 
123
 
117
    @Autowired
124
    @Autowired
118
    private CustomerAddressRepository customerAddressRepository;
125
    private CustomerAddressRepository customerAddressRepository;
119
 
126
 
120
    @RequestMapping(value = "/upsaleProductslist", method = RequestMethod.GET)
127
    @RequestMapping(value = "/upsaleProductslist", method = RequestMethod.GET)
121
    public String upsaleProductslist(HttpServletRequest request, Model model) throws Exception {
128
    public String upsaleProductslist(HttpServletRequest request, Model model) throws Exception {
Line 173... Line 180...
173
                    .collect(Collectors.toList());
180
                    .collect(Collectors.toList());
174
 
181
 
175
            if (!filteredUpSaleCalls.isEmpty()) {
182
            if (!filteredUpSaleCalls.isEmpty()) {
176
                for (UpSaleCall upSaleCall : filteredUpSaleCalls) {
183
                for (UpSaleCall upSaleCall : filteredUpSaleCalls) {
177
                    FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(upSaleCall.getOriginalOrderId());
184
                    FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(upSaleCall.getOriginalOrderId());
-
 
185
                    User fofoUser = userRepository.selectById(fofoOrder.getFofoId());
178
 
186
 
179
                    Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
187
                    Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
180
                    if (fofoIds.contains(fofoOrder.getFofoId())) {
188
                    if (fofoIds.contains(fofoOrder.getFofoId())) {
181
                        if (customer != null) {
189
                        if (customer != null) {
182
                            upSaleCall.setStatus(UpSaleCallStatus.FETCHED);
190
                            upSaleCall.setStatus(UpSaleCallStatus.FETCHED);
Line 205... Line 213...
205
 
213
 
206
                            List<UpSaleCallStatus> upSaleCallStatuses = new ArrayList<>(Arrays.asList(UpSaleCallStatus.values()));
214
                            List<UpSaleCallStatus> upSaleCallStatuses = new ArrayList<>(Arrays.asList(UpSaleCallStatus.values()));
207
 
215
 
208
                            model.addAttribute("upSaleCallStatuses", upSaleCallStatuses);
216
                            model.addAttribute("upSaleCallStatuses", upSaleCallStatuses);
209
                            model.addAttribute("fofoOrder", fofoOrder);
217
                            model.addAttribute("fofoOrder", fofoOrder);
-
 
218
                            model.addAttribute("fofoUser", fofoUser);
210
                            model.addAttribute("customer", customer);
219
                            model.addAttribute("customer", customer);
211
                            model.addAttribute("itemDetails", itemDetails);
220
                            model.addAttribute("itemDetails", itemDetails);
212
                            model.addAttribute("fofoLineItemMap", fofoLineItemMap);
221
                            model.addAttribute("fofoLineItemMap", fofoLineItemMap);
213
                            model.addAttribute("upsaleCallId", upSaleCall.getId());
222
                            model.addAttribute("upsaleCallId", upSaleCall.getId());
214
                            model.addAttribute("stateNames",
223
                            model.addAttribute("stateNames",
Line 231... Line 240...
231
            LOGGER.info("last48hourLatestOrder {}", TMinus2UpsaleOrder);
240
            LOGGER.info("last48hourLatestOrder {}", TMinus2UpsaleOrder);
232
            if (TMinus2UpsaleOrder != null) {
241
            if (TMinus2UpsaleOrder != null) {
233
                boolean exists = upSaleCallRepository.existsOrderId(TMinus2UpsaleOrder.getOrderId());
242
                boolean exists = upSaleCallRepository.existsOrderId(TMinus2UpsaleOrder.getOrderId());
234
                if (!exists) {
243
                if (!exists) {
235
                    FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(TMinus2UpsaleOrder.getOrderId());
244
                    FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(TMinus2UpsaleOrder.getOrderId());
-
 
245
                    User fofoUser = userRepository.selectById(fofoOrder.getFofoId());
236
                    if (fofoIds.contains(fofoOrder.getFofoId())) {
246
                    if (fofoIds.contains(fofoOrder.getFofoId())) {
237
                        Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
247
                        Customer customer = customerRepository.selectById(fofoOrder.getCustomerId());
238
                        if (customer != null) {
248
                        if (customer != null) {
239
                            String mobile = customer.getMobileNumber();
249
                            String mobile = customer.getMobileNumber();
240
                            UpSaleCall upSaleCall = new UpSaleCall();
250
                            UpSaleCall upSaleCall = new UpSaleCall();
Line 271... Line 281...
271
 
281
 
272
                            List<UpSaleCallStatus> upSaleCallStatuses = new ArrayList<>(Arrays.asList(UpSaleCallStatus.values()));
282
                            List<UpSaleCallStatus> upSaleCallStatuses = new ArrayList<>(Arrays.asList(UpSaleCallStatus.values()));
273
 
283
 
274
                            model.addAttribute("upSaleCallStatuses", upSaleCallStatuses);
284
                            model.addAttribute("upSaleCallStatuses", upSaleCallStatuses);
275
                            model.addAttribute("fofoOrder", fofoOrder);
285
                            model.addAttribute("fofoOrder", fofoOrder);
-
 
286
                            model.addAttribute("fofoUser", fofoUser);
276
                            model.addAttribute("customer", customer);
287
                            model.addAttribute("customer", customer);
277
                            model.addAttribute("itemDetails", itemDetails);
288
                            model.addAttribute("itemDetails", itemDetails);
278
                            model.addAttribute("fofoLineItemMap", fofoLineItemMap);
289
                            model.addAttribute("fofoLineItemMap", fofoLineItemMap);
279
                            model.addAttribute("upsaleCallId", upSaleCall.getId());
290
                            model.addAttribute("upsaleCallId", upSaleCall.getId());
280
                            model.addAttribute("stateNames",
291
                            model.addAttribute("stateNames",
Line 551... Line 562...
551
        for (
562
        for (
552
                UpsellingReportModel report : upsellingReportModels) {
563
                UpsellingReportModel report : upsellingReportModels) {
553
 
564
 
554
            rows.add(Arrays.asList(
565
            rows.add(Arrays.asList(
555
                    report.getAgentEmail(),
566
                    report.getAgentEmail(),
-
 
567
                    report.getPartnerName(),
556
                    report.getOrderId(),
568
                    report.getOrderId(),
557
                    report.getCustomerNumber(),
569
                    report.getCustomerNumber(),
558
                    report.getCallingDate(),
570
                    report.getCallingDate(),
559
                    report.getPaymentStatus(),
571
                    report.getPaymentStatus(),
560
                    report.getInsuranceStatus(),
572
                    report.getInsuranceStatus(),
Line 565... Line 577...
565
 
577
 
566
        }
578
        }
567
 
579
 
568
 
580
 
569
        org.apache.commons.io.output.ByteArrayOutputStream baos = FileUtil
581
        org.apache.commons.io.output.ByteArrayOutputStream baos = FileUtil
570
                .getCSVByteStream(Arrays.asList("Agent Email", "Order Id", "Customer Mobile Number", "Calling Date", "Payment Status", "Insurance Status", "Policy Sold Amount", "Invoice Number", "Serial Number"), rows);
582
                .getCSVByteStream(Arrays.asList("Agent Email", "Partner Name", "Order Id", "Customer Mobile Number", "Calling Date", "Payment Status", "Insurance Status", "Policy Sold Amount", "Invoice Number", "Serial Number"), rows);
571
        ResponseEntity<?> responseEntity = orderService.downloadReportInCsv(baos, rows, " Upselling Report");
583
        ResponseEntity<?> responseEntity = orderService.downloadReportInCsv(baos, rows, " Upselling Report");
572
 
584
 
573
        return responseEntity;
585
        return responseEntity;
574
 
586
 
575
    }
587
    }