| Line 557... |
Line 557... |
| 557 |
if user is None or user.userId == -1:
|
557 |
if user is None or user.userId == -1:
|
| 558 |
searchFilter.customerEmailId = order.customer_email
|
558 |
searchFilter.customerEmailId = order.customer_email
|
| 559 |
searchFilter.customerMobileNumber = order.customer_mobilenumber
|
559 |
searchFilter.customerMobileNumber = order.customer_mobilenumber
|
| 560 |
else:
|
560 |
else:
|
| 561 |
searchFilter.customerId = user.userId
|
561 |
searchFilter.customerId = user.userId
|
| - |
|
562 |
searchFilter.ticketCategory = TicketCategory.UNDELIVERED
|
| 562 |
tickets = crmServiceClient.getTickets(searchFilter)
|
563 |
tickets = crmServiceClient.getTickets(searchFilter)
|
| 563 |
print tickets
|
564 |
print tickets
|
| 564 |
for old_ticket in tickets:
|
565 |
for old_ticket in tickets:
|
| 565 |
if old_ticket.orderId == order.id:
|
566 |
if old_ticket.orderId == order.id:
|
| 566 |
ticket_created = True
|
567 |
ticket_created = True
|
| Line 602... |
Line 603... |
| 602 |
crmServiceClient.insertTicket(ticket, activity)
|
603 |
crmServiceClient.insertTicket(ticket, activity)
|
| 603 |
except:
|
604 |
except:
|
| 604 |
print "Some issue while creating crm tickets for orders in FIRST_DELIVERY_ATTEMPT_MADE status"
|
605 |
print "Some issue while creating crm tickets for orders in FIRST_DELIVERY_ATTEMPT_MADE status"
|
| 605 |
traceback.print_exc()
|
606 |
traceback.print_exc()
|
| 606 |
|
607 |
|
| - |
|
608 |
def auto_crm_tickets_created():
|
| - |
|
609 |
try:
|
| - |
|
610 |
ticket_created_orders = []
|
| - |
|
611 |
tickets_map = {}
|
| - |
|
612 |
crmServiceClient = CRMClient().get_client()
|
| - |
|
613 |
searchFilter = SearchFilter()
|
| - |
|
614 |
searchFilter.ticketCategory = TicketCategory.UNDELIVERED
|
| - |
|
615 |
searchFilter.ticketAssigneeIds = [defaultUndeliveredAsssigneeId]
|
| - |
|
616 |
searchFilter.ticketPriority = TicketPriority.HIGH
|
| - |
|
617 |
searchFilter.ticketStatuses = [TicketStatus.OPEN]
|
| - |
|
618 |
tickets = crmServiceClient.getTickets(searchFilter)
|
| - |
|
619 |
print tickets
|
| - |
|
620 |
for old_ticket in tickets:
|
| - |
|
621 |
ticket_created_orders.append(old_ticket.orderId)
|
| - |
|
622 |
tickets_map[old_ticket.orderId] = old_ticket
|
| - |
|
623 |
print ticket_created_orders
|
| - |
|
624 |
txnClient = TransactionClient().get_client()
|
| - |
|
625 |
orders = txnClient.getOrderList(ticket_created_orders)
|
| - |
|
626 |
for order in orders:
|
| - |
|
627 |
if order.status not in [OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE]:
|
| - |
|
628 |
old_ticket = tickets_map.get(order.id)
|
| - |
|
629 |
old_ticket.status = TicketStatus.CLOSED
|
| - |
|
630 |
activity = Activity()
|
| - |
|
631 |
activity.creatorId = 1
|
| - |
|
632 |
activity.ticketAssigneeId = old_ticket.assigneeId
|
| - |
|
633 |
activity.type = ActivityType.OTHER
|
| - |
|
634 |
activity.description = "Ticket Closed bcoz order status changed to:" + order.statusDescription
|
| - |
|
635 |
activity.ticketCategory = old_ticket.category
|
| - |
|
636 |
activity.ticketDescription = old_ticket.description
|
| - |
|
637 |
activity.ticketPriority = old_ticket.priority
|
| - |
|
638 |
activity.ticketStatus = old_ticket.status
|
| - |
|
639 |
|
| - |
|
640 |
if old_ticket.customerId is None or old_ticket.customerId == -1:
|
| - |
|
641 |
activity.customerEmailId = old_ticket.customerEmailId
|
| - |
|
642 |
activity.customerMobileNumber = old_ticket.customerMobileNumber
|
| - |
|
643 |
activity.customerName = old_ticket.customerName
|
| - |
|
644 |
else:
|
| - |
|
645 |
activity.customerId = old_ticket.customerId
|
| - |
|
646 |
|
| - |
|
647 |
crmServiceClient.updateTicket(old_ticket, activity)
|
| - |
|
648 |
except:
|
| - |
|
649 |
print "Some issue while closing crm tickets for orders in DELIVERY_SUCCESS status"
|
| - |
|
650 |
traceback.print_exc()
|
| - |
|
651 |
|
| 607 |
def get_py_datetime(time_string):
|
652 |
def get_py_datetime(time_string):
|
| 608 |
# This should be a command line argument.
|
653 |
# This should be a command line argument.
|
| 609 |
# Refer http://docs.python.org/library/time.html#time.strftime to
|
654 |
# Refer http://docs.python.org/library/time.html#time.strftime to
|
| 610 |
# get a complete list of format specifiers available for date time.
|
655 |
# get a complete list of format specifiers available for date time.
|
| 611 |
time_format = "%m/%d/%Y %I:%M:%S %p"
|
656 |
time_format = "%m/%d/%Y %I:%M:%S %p"
|
| Line 658... |
Line 703... |
| 658 |
process_local_connection_orders(provider)
|
703 |
process_local_connection_orders(provider)
|
| 659 |
process_reached_destination_city_orders(provider)
|
704 |
process_reached_destination_city_orders(provider)
|
| 660 |
process_first_delivery_attempt_orders(provider)
|
705 |
process_first_delivery_attempt_orders(provider)
|
| 661 |
process_delivery_report(provider)
|
706 |
process_delivery_report(provider)
|
| 662 |
create_crm_tickets_for_delivey_attempted_orders(provider)
|
707 |
create_crm_tickets_for_delivey_attempted_orders(provider)
|
| - |
|
708 |
auto_crm_tickets_created()
|
| 663 |
if options.gen_reports:
|
709 |
if options.gen_reports:
|
| 664 |
generate_reports(provider)
|
710 |
generate_reports(provider)
|
| 665 |
|
711 |
|
| 666 |
if __name__ == '__main__':
|
712 |
if __name__ == '__main__':
|
| 667 |
main()
|
713 |
main()
|