| 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 |
}
|