| 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')
|
| 7644 |
kshitij.so |
12 |
print "Selecting host: ",host
|
| 7460 |
kshitij.so |
13 |
DataService.initialize(db_hostname=host)
|
| 7644 |
kshitij.so |
14 |
directory = "/tmp/Amazon-shipping.xls"
|
| 7460 |
kshitij.so |
15 |
amazonOrder = [[]]
|
|
|
16 |
sheet = xlrd.open_workbook(directory)
|
| 7644 |
kshitij.so |
17 |
sh = sheet.sheet_by_index(0)
|
|
|
18 |
def get_seconds(t_delta):
|
|
|
19 |
return ((t_delta.microseconds + (t_delta.seconds + t_delta.days * 24 * 3600) * 10**6) / 10**6)
|
| 7460 |
kshitij.so |
20 |
for i in range (0,sh.nrows):
|
|
|
21 |
amazonOrder.append([sh.cell_value(i,0),sh.cell_value(i,1),sh.cell_value(i,2)])
|
|
|
22 |
for row in amazonOrder:
|
|
|
23 |
if not len(row) == 0:
|
|
|
24 |
amazonOrderCode = row[0]
|
|
|
25 |
minDeliveryDate = row[1]
|
|
|
26 |
maxDeliveryDate = row[2]
|
|
|
27 |
print "=============================="
|
|
|
28 |
print "OrderId",amazonOrderCode
|
|
|
29 |
print "Minimum Delivery Date",minDeliveryDate
|
|
|
30 |
print "Maxmium Delivery Date",maxDeliveryDate
|
|
|
31 |
print "=============================="
|
|
|
32 |
print "\n"
|
|
|
33 |
print "Fetching OrderId's For Amazon Order Code"
|
|
|
34 |
print "==============================="
|
| 7675 |
vikram.rag |
35 |
orders = AmazonOrder.query.filter(AmazonOrder.amazonOrderCode==amazonOrderCode).filter(AmazonOrder.status=='Order-Payment-Success').all()
|
| 7460 |
kshitij.so |
36 |
for order in orders:
|
|
|
37 |
row = Order.query.filter(Order.id==order.orderId).first()
|
|
|
38 |
if row is None:
|
|
|
39 |
continue
|
|
|
40 |
expectedDeliveryTime = row.expected_delivery_time
|
|
|
41 |
promisedDeliveryTime = row.promised_delivery_time
|
|
|
42 |
expectedShippingTime = row.expected_shipping_time
|
|
|
43 |
promisedShippingTime = row.promised_shipping_time
|
|
|
44 |
deltaTime = (expectedDeliveryTime-expectedShippingTime)
|
|
|
45 |
|
|
|
46 |
|
|
|
47 |
print "+++++++++++++++++++++++"
|
|
|
48 |
print "Expected Delivery Time : ",expectedDeliveryTime
|
|
|
49 |
print "Promised Delivery Time : ",promisedDeliveryTime
|
|
|
50 |
print "Expected Shipping Time : ",expectedShippingTime
|
|
|
51 |
print "Promised Shipping Time : ",promisedShippingTime
|
|
|
52 |
print "Delta Time : ", deltaTime
|
|
|
53 |
print "=============================="
|
|
|
54 |
|
|
|
55 |
newExpectedDeliveryTime=datetime.strptime(minDeliveryDate, "%d-%m-%Y")
|
|
|
56 |
newTime = time(expectedDeliveryTime.hour, expectedDeliveryTime.minute, expectedDeliveryTime.second)
|
|
|
57 |
newExpectedDeliveryTime = datetime.combine(newExpectedDeliveryTime, newTime)
|
|
|
58 |
newPromisedDeliveryTime=datetime.strptime(minDeliveryDate, "%d-%m-%Y")
|
|
|
59 |
newTime = time(promisedDeliveryTime.hour, promisedDeliveryTime.minute, promisedDeliveryTime.second)
|
|
|
60 |
newPromisedDeliveryTime = datetime.combine(newPromisedDeliveryTime, newTime)
|
|
|
61 |
newExpectedShippingTime=newExpectedDeliveryTime-deltaTime
|
|
|
62 |
newPromisedShippingTime=newPromisedDeliveryTime-deltaTime
|
|
|
63 |
|
|
|
64 |
|
|
|
65 |
|
|
|
66 |
print "######################"
|
|
|
67 |
print "New Expected Delivery Time : ",newExpectedDeliveryTime
|
|
|
68 |
print "New Promised Delivery Time : ",newPromisedDeliveryTime
|
|
|
69 |
print "New Expected Shipping Time : ",newExpectedShippingTime
|
|
|
70 |
print "New Promised Shipping Time : ",newPromisedShippingTime
|
|
|
71 |
|
|
|
72 |
client = TransactionClient().get_client()
|
| 7644 |
kshitij.so |
73 |
client.updateTimestampForAmazonOrder(order.orderId, get_seconds((newExpectedDeliveryTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)), get_seconds((newPromisedDeliveryTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)), get_seconds((newExpectedShippingTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)), get_seconds((newPromisedShippingTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)))
|
|
|
74 |
|
| 7460 |
kshitij.so |
75 |
|
|
|
76 |
|
|
|
77 |
|
|
|
78 |
|
|
|
79 |
|
| 7644 |
kshitij.so |
80 |
|