Subversion Repositories SmartDukaan

Rev

Rev 7644 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
7460 kshitij.so 1
from elixir import *
2
from shop2020.model.v1.order.impl import DataService
3
from shop2020.model.v1.order.impl.DataService import Order, AmazonOrder 
4
from datetime import datetime, timedelta, date ,time
5
import xlrd
6
from shop2020.clients.TransactionClient import TransactionClient 
7
from shop2020.config.client.ConfigClient import ConfigClient
8
 
9
 
10
config_client = ConfigClient()
11
host = config_client.get_property('transaction_service_db_hostname')
12
DataService.initialize(db_hostname=host)
13
directory = "/tmp/amazon.xls"
14
amazonOrder = [[]]
15
sheet = xlrd.open_workbook(directory)
16
sh = sheet.sheet_by_index(0)
17
for i in range (0,sh.nrows):
18
    amazonOrder.append([sh.cell_value(i,0),sh.cell_value(i,1),sh.cell_value(i,2)])
19
for row in amazonOrder:
20
    if not len(row) == 0:
21
        amazonOrderCode = row[0]
22
        minDeliveryDate = row[1]
23
        maxDeliveryDate = row[2]
24
        print "=============================="
25
        print "OrderId",amazonOrderCode
26
        print "Minimum Delivery Date",minDeliveryDate
27
        print "Maxmium Delivery Date",maxDeliveryDate
28
        print "=============================="
29
        print "\n"
30
        print "Fetching OrderId's For Amazon Order Code"
31
        print "==============================="
32
        orders = AmazonOrder.query.filter(AmazonOrder.amazonOrderCode==amazonOrderCode).filter(AmazonOrder.status=='Acknowledgement-Sent').all()
33
        for order in orders:
34
            row = Order.query.filter(Order.id==order.orderId).first()
35
            if row is None:
36
                continue
37
            expectedDeliveryTime = row.expected_delivery_time
38
            promisedDeliveryTime = row.promised_delivery_time
39
            expectedShippingTime = row.expected_shipping_time
40
            promisedShippingTime = row.promised_shipping_time
41
            deltaTime = (expectedDeliveryTime-expectedShippingTime)
42
 
43
 
44
            print "+++++++++++++++++++++++"
45
            print "Expected Delivery Time : ",expectedDeliveryTime
46
            print "Promised Delivery Time : ",promisedDeliveryTime
47
            print "Expected Shipping Time : ",expectedShippingTime
48
            print "Promised Shipping Time : ",promisedShippingTime
49
            print "Delta Time : ", deltaTime
50
            print "=============================="
51
 
52
            newExpectedDeliveryTime=datetime.strptime(minDeliveryDate, "%d-%m-%Y")
53
            newTime = time(expectedDeliveryTime.hour, expectedDeliveryTime.minute, expectedDeliveryTime.second)
54
            newExpectedDeliveryTime = datetime.combine(newExpectedDeliveryTime, newTime)
55
            newPromisedDeliveryTime=datetime.strptime(minDeliveryDate, "%d-%m-%Y")
56
            newTime = time(promisedDeliveryTime.hour, promisedDeliveryTime.minute, promisedDeliveryTime.second)
57
            newPromisedDeliveryTime = datetime.combine(newPromisedDeliveryTime, newTime)
58
            newExpectedShippingTime=newExpectedDeliveryTime-deltaTime
59
            newPromisedShippingTime=newPromisedDeliveryTime-deltaTime
60
 
61
 
62
 
63
            print "######################"
64
            print "New Expected Delivery Time : ",newExpectedDeliveryTime
65
            print "New Promised Delivery Time : ",newPromisedDeliveryTime
66
            print "New Expected Shipping Time : ",newExpectedShippingTime
67
            print "New Promised Shipping Time : ",newPromisedShippingTime
68
 
69
            client = TransactionClient().get_client()
70
            client.updateTimestampForAmazonOrder(order.orderId, ((newExpectedDeliveryTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)).total_seconds(), ((newPromisedDeliveryTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)).total_seconds(), ((newExpectedShippingTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)).total_seconds(), ((newPromisedShippingTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)).total_seconds())
71
 
72
 
73
 
74
 
75
 
76