Subversion Repositories SmartDukaan

Rev

Rev 35579 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35579 Rev 35769
Line 155... Line 155...
155
    private RbmRatingRepository rbmRatingRepository;
155
    private RbmRatingRepository rbmRatingRepository;
156
 
156
 
157
    List<LeadStatus> status = Arrays.asList(LeadStatus.notInterested, LeadStatus.finalized);
157
    List<LeadStatus> status = Arrays.asList(LeadStatus.notInterested, LeadStatus.finalized);
158
 
158
 
159
    @RequestMapping(value = "/getOpenLead", method = RequestMethod.GET)
159
    @RequestMapping(value = "/getOpenLead", method = RequestMethod.GET)
160
    public String getOpenLead(HttpServletRequest request, @RequestParam(name = "leadStatus", required = false, defaultValue = "All") List<LeadStatus> leadStatus, @RequestParam(name = "color", required = false, defaultValue = "All") List<String> color, @RequestParam(name = "leadDate", required = false, defaultValue = "") LocalDate leadDate, Model model) throws Exception {
160
    public String getOpenLead(HttpServletRequest request, @RequestParam(name = "leadStatus", required = false, defaultValue = "All") List<LeadStatus> leadStatus, @RequestParam(name = "color", required = false, defaultValue = "All") List<String> color, @RequestParam(name = "startDate", required = false) LocalDate startDate, @RequestParam(name = "endDate", required = false) LocalDate endDate, Model model) throws Exception {
161
 
161
 
162
        LocalDateTime leadCreatedDateTime = null;
162
        if (startDate != null && endDate != null) {
163
        if (leadDate != null) {
163
            if (java.time.Period.between(startDate, endDate).toTotalMonths() > 6) {
-
 
164
                model.addAttribute("error", "Date range must not exceed 6 months");
164
            leadCreatedDateTime = leadDate.atStartOfDay();
165
                model.addAttribute("leads", new ArrayList<>());
-
 
166
                return "lead";
-
 
167
            }
165
        }
168
        }
-
 
169
 
-
 
170
        LocalDateTime startDateTime = startDate != null ? startDate.atStartOfDay() : null;
-
 
171
        LocalDateTime endDateTime = endDate != null ? endDate.atTime(23, 59, 59) : null;
166
        LOGGER.info("localDateTime" + leadCreatedDateTime);
172
        LOGGER.info("startDateTime: " + startDateTime + ", endDateTime: " + endDateTime);
167
 
173
 
168
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
174
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
169
        String emailId = loginDetails.getEmailId();
175
        String emailId = loginDetails.getEmailId();
170
        AuthUser authUser = authRepository.selectByEmailOrMobile(emailId);
176
        AuthUser authUser = authRepository.selectByEmailOrMobile(emailId);
171
 
177
 
Line 198... Line 204...
198
            authUserIds.add(authUser.getId());
204
            authUserIds.add(authUser.getId());
199
            LOGGER.info("authIds" + authUserIds);
205
            LOGGER.info("authIds" + authUserIds);
200
 
206
 
201
            LOGGER.info("leadStatus" + leadStatus);
207
            LOGGER.info("leadStatus" + leadStatus);
202
 
208
 
203
            if (leadCreatedDateTime == null) {
209
            if (startDateTime == null) {
204
 
210
 
205
                if (!leadStatus.contains(LeadStatus.followUp)) {
211
                if (!leadStatus.contains(LeadStatus.followUp)) {
206
 
212
 
207
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestampAndAuthIds(leadStatus, authUserIds, color, LocalDateTime.now().minusMonths(1));
213
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestampAndAuthIds(leadStatus, authUserIds, color, LocalDateTime.now().minusMonths(1));
208
                }
214
                }
Line 213... Line 219...
213
                }
219
                }
214
 
220
 
215
            } else {
221
            } else {
216
 
222
 
217
                if (!leadStatus.contains(LeadStatus.followUp)) {
223
                if (!leadStatus.contains(LeadStatus.followUp)) {
218
 
-
 
219
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestampAndAuthIds(leadStatus, authUserIds, color, leadCreatedDateTime);
224
                    leads = leadRepository.selectAllByColorStatusAndBetweenCreatedDateAndAuthIds(leadStatus, authUserIds, color, startDateTime, endDateTime);
220
                }
225
                }
221
 
226
 
222
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
227
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
223
 
228
 
224
                    leadFollowUp = leadRepository.selectByAssignAuthIdsAndStatus(authUserIds, LeadStatus.followUp);
229
                    leadFollowUp = leadRepository.selectByAssignAuthIdsAndStatus(authUserIds, LeadStatus.followUp);
Line 229... Line 234...
229
 
234
 
230
            }
235
            }
231
 
236
 
232
        } else {
237
        } else {
233
 
238
 
234
            if (leadCreatedDateTime == null) {
239
            if (startDateTime == null) {
235
                if (!leadStatus.contains(LeadStatus.followUp)) {
240
                if (!leadStatus.contains(LeadStatus.followUp)) {
236
 
241
 
237
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestamp(leadStatus, color, LocalDateTime.now().minusMonths(1));
242
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestamp(leadStatus, color, LocalDateTime.now().minusMonths(1));
238
                }
243
                }
239
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
244
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
Line 244... Line 249...
244
                }
249
                }
245
                LOGGER.info("leadlocalDateTime1" + leads);
250
                LOGGER.info("leadlocalDateTime1" + leads);
246
 
251
 
247
            } else {
252
            } else {
248
                if (!leadStatus.contains(LeadStatus.followUp)) {
253
                if (!leadStatus.contains(LeadStatus.followUp)) {
249
 
-
 
250
                    LocalDateTime today = LocalDate.now().atStartOfDay();
-
 
251
 
-
 
252
                    int OneYearsAgoYear = today.minusYears(1).getYear();
-
 
253
 
-
 
254
                    LocalDateTime endLocalDate;
-
 
255
 
-
 
256
                    if (leadCreatedDateTime.getYear() < OneYearsAgoYear) {
-
 
257
                        // End date = last day of created year (31 Dec 23:59:59)
-
 
258
                        endLocalDate = leadCreatedDateTime
-
 
259
                                .withMonth(12)
-
 
260
                                .withDayOfMonth(31)
-
 
261
                                .withHour(23)
-
 
262
                                .withMinute(59)
-
 
263
                                .withSecond(59);
-
 
264
                    } else {
-
 
265
                        // End date = today end of day
-
 
266
                        endLocalDate = today
-
 
267
                                .withHour(23)
-
 
268
                                .withMinute(59)
-
 
269
                                .withSecond(59);
-
 
270
                    }
-
 
271
 
-
 
272
//                    leads = leadRepository.selectAllByColorStatusAndCreatedTimestamp(leadStatus, color, leadCreatedDateTime);
-
 
273
                    leads = leadRepository.selectAllByColorStatusAndBetweenDate(leadStatus, color, leadCreatedDateTime, endLocalDate);
254
                    leads = leadRepository.selectAllByColorStatusAndBetweenCreatedDate(leadStatus, color, startDateTime, endDateTime);
274
                }
255
                }
275
 
256
 
276
                if (leadStatus.contains(LeadStatus.followUp)) {
257
                if (leadStatus.contains(LeadStatus.followUp)) {
277
 
258
 
278
                    leadFollowUp = leadRepository.selectAllByStatus(LeadStatus.followUp);
259
                    leadFollowUp = leadRepository.selectAllByStatus(LeadStatus.followUp);
Line 370... Line 351...
370
        weekDates.add(curDate.minusDays(7).toLocalDate());
351
        weekDates.add(curDate.minusDays(7).toLocalDate());
371
        LOGGER.info("lastDate" + lastDate);
352
        LOGGER.info("lastDate" + lastDate);
372
 
353
 
373
        model.addAttribute("weekDates", weekDates);
354
        model.addAttribute("weekDates", weekDates);
374
 
355
 
-
 
356
        model.addAttribute("startDate", startDate);
375
        model.addAttribute("leadDate", leadDate);
357
        model.addAttribute("endDate", endDate);
376
        model.addAttribute("lastDate", lastDate);
358
        model.addAttribute("lastDate", lastDate);
377
        model.addAttribute("stateNames", stateNames);
359
        model.addAttribute("stateNames", stateNames);
378
 
360
 
379
        model.addAttribute("communicationTypes", CommunicationType.values());
361
        model.addAttribute("communicationTypes", CommunicationType.values());
380
 
362
 
Line 497... Line 479...
497
 
479
 
498
    @RequestMapping(value = "/downloadDateWiseLead", method = RequestMethod.GET)
480
    @RequestMapping(value = "/downloadDateWiseLead", method = RequestMethod.GET)
499
    public ResponseEntity<?> getdownloadLeadDataByDate(HttpServletRequest request,
481
    public ResponseEntity<?> getdownloadLeadDataByDate(HttpServletRequest request,
500
                                                       @RequestParam(name = "leadStatus", required = false, defaultValue = "All") List<LeadStatus> leadStatus,
482
                                                       @RequestParam(name = "leadStatus", required = false, defaultValue = "All") List<LeadStatus> leadStatus,
501
                                                       @RequestParam(name = "color", required = false, defaultValue = "All") List<String> color,
483
                                                       @RequestParam(name = "color", required = false, defaultValue = "All") List<String> color,
-
 
484
                                                       @RequestParam(name = "startDate", required = false) LocalDate startDate,
502
                                                       @RequestParam(name = "leadDate", required = false, defaultValue = "") LocalDate leadDate) throws Exception {
485
                                                       @RequestParam(name = "endDate", required = false) LocalDate endDate) throws Exception {
503
 
486
 
504
        LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
487
        LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);
505
        String emailId = fofoDetails.getEmailId();
488
        String emailId = fofoDetails.getEmailId();
506
        LocalDateTime localDateTime = null;
489
        LocalDateTime startDateTime = startDate != null ? startDate.atStartOfDay() : null;
507
        if (leadDate != null) {
-
 
508
            localDateTime = leadDate.atStartOfDay();
490
        LocalDateTime endDateTime = endDate != null ? endDate.atTime(23, 59, 59) : null;
509
        }
-
 
510
        List<Lead> leads = new ArrayList<>();
491
        List<Lead> leads = new ArrayList<>();
511
        AuthUser authUser = authRepository.selectByEmailOrMobile(emailId);
492
        AuthUser authUser = authRepository.selectByEmailOrMobile(emailId);
512
 
493
 
513
        if (leadStatus.contains(LeadStatus.All)) {
494
        if (leadStatus.contains(LeadStatus.All)) {
514
            leadStatus.add(LeadStatus.pending);
495
            leadStatus.add(LeadStatus.pending);
Line 527... Line 508...
527
        List<Lead> leadFollowUp = new ArrayList<>();
508
        List<Lead> leadFollowUp = new ArrayList<>();
528
 
509
 
529
        if (authPositon) {
510
        if (authPositon) {
530
            authUserIds = authService.getAllReportees(authUser.getId());
511
            authUserIds = authService.getAllReportees(authUser.getId());
531
            authUserIds.add(authUser.getId());
512
            authUserIds.add(authUser.getId());
532
            if (localDateTime == null) {
513
            if (startDateTime == null) {
533
                if (!leadStatus.contains(LeadStatus.followUp)) {
514
                if (!leadStatus.contains(LeadStatus.followUp)) {
534
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestampAndAuthIds(leadStatus, authUserIds, color, LocalDateTime.now().minusMonths(1));
515
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestampAndAuthIds(leadStatus, authUserIds, color, LocalDateTime.now().minusMonths(1));
535
                }
516
                }
536
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
517
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
537
                    leadFollowUp = leadRepository.selectByAssignAuthIdsAndStatus(authUserIds, LeadStatus.followUp);
518
                    leadFollowUp = leadRepository.selectByAssignAuthIdsAndStatus(authUserIds, LeadStatus.followUp);
538
                    leads.addAll(leadFollowUp);
519
                    leads.addAll(leadFollowUp);
539
                }
520
                }
540
            } else {
521
            } else {
541
                if (!leadStatus.contains(LeadStatus.followUp)) {
522
                if (!leadStatus.contains(LeadStatus.followUp)) {
542
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestampAndAuthIds(leadStatus, authUserIds, color, localDateTime);
523
                    leads = leadRepository.selectAllByColorStatusAndBetweenCreatedDateAndAuthIds(leadStatus, authUserIds, color, startDateTime, endDateTime);
543
                }
524
                }
544
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
525
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
545
                    leadFollowUp = leadRepository.selectByAssignAuthIdsAndStatus(authUserIds, LeadStatus.followUp);
526
                    leadFollowUp = leadRepository.selectByAssignAuthIdsAndStatus(authUserIds, LeadStatus.followUp);
546
                    leads.addAll(leadFollowUp);
527
                    leads.addAll(leadFollowUp);
547
                }
528
                }
548
            }
529
            }
549
        } else {
530
        } else {
550
            if (localDateTime == null) {
531
            if (startDateTime == null) {
551
                if (!leadStatus.contains(LeadStatus.followUp)) {
532
                if (!leadStatus.contains(LeadStatus.followUp)) {
552
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestamp(leadStatus, color, LocalDateTime.now().minusMonths(1));
533
                    leads = leadRepository.selectAllByColorStatusAndUpdatedTimestamp(leadStatus, color, LocalDateTime.now().minusMonths(1));
553
                }
534
                }
554
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
535
                if (leadStatus.contains(LeadStatus.followUp) || leadStatus.contains(LeadStatus.All)) {
555
                    leadFollowUp = leadRepository.selectAllByStatus(LeadStatus.followUp);
536
                    leadFollowUp = leadRepository.selectAllByStatus(LeadStatus.followUp);
556
                    leads.addAll(leadFollowUp);
537
                    leads.addAll(leadFollowUp);
557
                }
538
                }
558
            } else {
539
            } else {
559
                /*if (!leadStatus.contains(LeadStatus.followUp)) {
540
                if (!leadStatus.contains(LeadStatus.followUp)) {
560
                    leads = leadRepository.selectAllByColorStatusAndCreatedTimestamp(leadStatus, color, localDateTime);
541
                    leads = leadRepository.selectAllByColorStatusAndBetweenCreatedDate(leadStatus, color, startDateTime, endDateTime);
561
                }
542
                }
562
                if (leadStatus.contains(LeadStatus.followUp)) {
543
                if (leadStatus.contains(LeadStatus.followUp)) {
563
                    leadFollowUp = leadRepository.selectAllByStatus(LeadStatus.followUp);
544
                    leadFollowUp = leadRepository.selectAllByStatus(LeadStatus.followUp);
564
                    leads.addAll(leadFollowUp);
545
                    leads.addAll(leadFollowUp);
565
                }*/
546
                }
566
 
-
 
567
                leads = leadRepository.selectAllByColorStatusAndCreatedTimestamp(leadStatus, color, localDateTime);
-
 
568
            }
547
            }
569
        }
548
        }
570
 
549
 
571
        // Build activity map and auth map (SAME AS VIEW ENDPOINT)
550
        // Build activity map and auth map (SAME AS VIEW ENDPOINT)
572
        if (!leads.isEmpty()) {
551
        if (!leads.isEmpty()) {
Line 931... Line 910...
931
        leadActivityRepository.persist(leadActivity);
910
        leadActivityRepository.persist(leadActivity);
932
        lead.setAssignTo(createLeadActivityRequest.getAssignTo());
911
        lead.setAssignTo(createLeadActivityRequest.getAssignTo());
933
        lead.setStatus(createLeadActivityRequest.getStatus());
912
        lead.setStatus(createLeadActivityRequest.getStatus());
934
        lead.setState(createLeadActivityRequest.getState());
913
        lead.setState(createLeadActivityRequest.getState());
935
        lead.setCity(createLeadActivityRequest.getCity());
914
        lead.setCity(createLeadActivityRequest.getCity());
-
 
915
        if (createLeadActivityRequest.getSource() != null && !createLeadActivityRequest.getSource().isEmpty()) {
-
 
916
            lead.setSource(createLeadActivityRequest.getSource());
-
 
917
        }
936
        if (createLeadActivityRequest.getColorCheck() == true) {
918
        if (createLeadActivityRequest.getColorCheck() == true) {
937
            lead.setColor("Green");
919
            lead.setColor("Green");
938
        } else {
920
        } else {
939
            lead.setColor("Yellow");
921
            lead.setColor("Yellow");
940
        }
922
        }