Subversion Repositories SmartDukaan

Rev

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

Rev 22973 Rev 22974
Line -... Line 1...
-
 
1
from datetime import datetime
-
 
2
from dateutil.relativedelta import relativedelta
1
from elixir import *
3
from elixir import *
2
from shop2020.model.v1.order.impl import DataService
4
from shop2020.model.v1.order.impl import DataService
3
from shop2020.model.v1.order.impl.DataService import PMSA_Agents, PMSA, Order, LineItem
-
 
4
from dateutil.relativedelta import relativedelta
-
 
5
from datetime import datetime
-
 
6
from shop2020.utils.Utils import to_java_date
-
 
7
import xlwt
-
 
8
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
-
 
9
from shop2020.model.v1.order.impl.Convertors import cutoff_date
5
from shop2020.model.v1.order.impl.Convertors import cutoff_date
-
 
6
from shop2020.model.v1.order.impl.DataService import PMSA_Agents, PMSA, Order, \
-
 
7
    LineItem
10
from shop2020.utils.EmailAttachmentSender import get_attachment_part
8
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
11
from shop2020.utils import EmailAttachmentSender
9
from shop2020.utils import EmailAttachmentSender
-
 
10
from shop2020.utils.EmailAttachmentSender import get_attachment_part
-
 
11
from shop2020.utils.Utils import to_java_date
-
 
12
from xlwt.Style import XFStyle
-
 
13
import xlwt
12
 
14
 
13
DataService.initialize(db_hostname = "192.168.190.114", echoOn=False)
15
DataService.initialize(db_hostname = "192.168.190.114", echoOn=False)
14
 
16
 
15
 
17
 
16
associates_map = {}
18
associates_map = {}
Line 18... Line 20...
18
retailer_list = []
20
retailer_list = []
19
user_sales = {}
21
user_sales = {}
20
 
22
 
21
xstr = lambda s: s or ""
23
xstr = lambda s: s or ""
22
 
24
 
-
 
25
date_format = XFStyle()
-
 
26
date_format.num_format_str = 'dd/MM/yyyy'
-
 
27
 
23
class __retailers:
28
class __retailers:
24
    def __init__(self, user_id, activated_through, activation_code, order_list, name):
29
    def __init__(self, user_id, activated_through, activation_code, order_list, name):
25
        self.user_id = user_id
30
        self.user_id = user_id
26
        self.name = name
31
        self.name = name
27
        self.activation_code = activation_code
32
        self.activation_code = activation_code
Line 124... Line 129...
124
                order_list.append(sd)
129
                order_list.append(sd)
125
            retailer.order_list = order_list
130
            retailer.order_list = order_list
126
 
131
 
127
def get_report_headers(wbk):
132
def get_report_headers(wbk):
128
    sheet = wbk.add_sheet('orders_summary')
133
    sheet = wbk.add_sheet('orders_summary')
129
 
-
 
130
    date_style = xlwt.XFStyle()
-
 
131
    date_style.num_format_str = "D/M/YY"
-
 
132
    
-
 
133
    heading_xf = xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center')
134
    heading_xf = xlwt.easyxf('font: bold on; align: wrap on, vert centre, horiz center')
134
    sheet.set_panes_frozen(True)
135
    sheet.set_panes_frozen(True)
135
    sheet.set_horz_split_pos(1)
136
    sheet.set_horz_split_pos(1)
136
    sheet.set_remove_splits(True)
137
    sheet.set_remove_splits(True)
137
    
138
    
Line 184... Line 185...
184
                                sheet.write(i,3,order.city)
185
                                sheet.write(i,3,order.city)
185
                                sheet.write(i,4,order.pincode)
186
                                sheet.write(i,4,order.pincode)
186
                                sheet.write(i,5,order.contact_number)
187
                                sheet.write(i,5,order.contact_number)
187
                                sheet.write(i,6,order.name)
188
                                sheet.write(i,6,order.name)
188
                                sheet.write(i,7,"")
189
                                sheet.write(i,7,"")
189
                                sheet.write(i,8,get_formatted_date(order.order_date))
190
                                sheet.write(i,8,get_formatted_date(order.order_date), date_format)
190
                                sheet.write(i,9,order.order_id)
191
                                sheet.write(i,9,order.order_id)
191
                                sheet.write(i,10,OrderStatus._VALUES_TO_NAMES.get(order.order_status))
192
                                sheet.write(i,10,OrderStatus._VALUES_TO_NAMES.get(order.order_status))
192
                                sheet.write(i,11, get_formatted_date(order.invoice_date))
193
                                sheet.write(i,11, get_formatted_date(order.invoice_date), date_format)
193
                                sheet.write(i,12, xstr(order.invoice_number))
194
                                sheet.write(i,12, xstr(order.invoice_number))
194
                                sheet.write(i,13, get_formatted_date(order.delivery_date))
195
                                sheet.write(i,13, get_formatted_date(order.delivery_date), date_format)
195
                                sheet.write(i,14, xstr(order.brand))
196
                                sheet.write(i,14, xstr(order.brand))
196
                                sheet.write(i,15, xstr(order.model_name))
197
                                sheet.write(i,15, xstr(order.model_name))
197
                                sheet.write(i,16, xstr(order.model_number))
198
                                sheet.write(i,16, xstr(order.model_number))
198
                                sheet.write(i,17, xstr(order.color))
199
                                sheet.write(i,17, xstr(order.color))
199
                                sheet.write(i,18, order.item_id)
200
                                sheet.write(i,18, order.item_id)
Line 208... Line 209...
208
            wbk.save(filename)
209
            wbk.save(filename)
209
            email_text = get_email_text(associate['name'], str(get_cut_off().year) + "-" + str(get_cut_off().month)+ "-"+str(get_cut_off().day))
210
            email_text = get_email_text(associate['name'], str(get_cut_off().year) + "-" + str(get_cut_off().month)+ "-"+str(get_cut_off().day))
210
            #EmailAttachmentSender.mail_send_grid("sales-associates@profitmandi.com","apikey", "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", [associate['emailId']], "Order Summary Report "+associate['emailId'],email_text , [get_attachment_part(filename)],["kamini.sharma@profitmandi.com","tarun.verma@profitmandi.com"],["amit.gupta@saholic.com","kshitij.sood@saholic.com"])              
211
            #EmailAttachmentSender.mail_send_grid("sales-associates@profitmandi.com","apikey", "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", [associate['emailId']], "Order Summary Report "+associate['emailId'],email_text , [get_attachment_part(filename)],["kamini.sharma@profitmandi.com","tarun.verma@profitmandi.com"],["amit.gupta@saholic.com","kshitij.sood@saholic.com"])              
211
            EmailAttachmentSender.mail_send_grid("sales-associates@profitmandi.com","apikey", "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", [associate['emailId']], "Order Summary Report "+associate['emailId'],email_text , [get_attachment_part(filename)],[],[])              
212
            EmailAttachmentSender.mail_send_grid("sales-associates@profitmandi.com","apikey", "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", [associate['emailId']], "Order Summary Report "+associate['emailId'],email_text , [get_attachment_part(filename)],[],[])              
212
                              
213
                              
213
                                
214
                              
-
 
215
def write_last_month_report():
-
 
216
    pass
-
 
217
      
214
def get_formatted_date(datetime_obj):
218
def get_formatted_date(datetime_obj):
215
    try:
219
    try:
216
        return str(datetime_obj.day)+"/"+str(datetime_obj.month)+"/"+str(datetime_obj.year)
220
        return str(datetime_obj.day)+"/"+str(datetime_obj.month)+"/"+str(datetime_obj.year)
217
    except:
221
    except:
218
        return ""                     
222
        return ""                     
Line 220... Line 224...
220
        
224
        
221
def main():
225
def main():
222
    get_user_data()
226
    get_user_data()
223
    associates_data()
227
    associates_data()
224
    track_sales()
228
    track_sales()
225
    write_report()
229
    #write_report()
-
 
230
    #generate last month report
-
 
231
    if datetime.today()==1:
-
 
232
        write_last_month_report()
226
 
233
 
227
 
234
 
228
if __name__ == '__main__':
235
if __name__ == '__main__':
229
    try:
236
    try:
230
        main()
237
        main()