| Line 1111... |
Line 1111... |
| 1111 |
for order in orders:
|
1111 |
for order in orders:
|
| 1112 |
if not orderCountByItemIdSourceId.has_key(order.lineitems[0].item_id):
|
1112 |
if not orderCountByItemIdSourceId.has_key(order.lineitems[0].item_id):
|
| 1113 |
orderCountByItemIdSourceId[order.lineitems[0].item_id] = {}
|
1113 |
orderCountByItemIdSourceId[order.lineitems[0].item_id] = {}
|
| 1114 |
|
1114 |
|
| 1115 |
if orderCountByItemIdSourceId[order.lineitems[0].item_id].has_key(order.source):
|
1115 |
if orderCountByItemIdSourceId[order.lineitems[0].item_id].has_key(order.source):
|
| 1116 |
orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = order.source[order.lineitems[0].item_id][order.source] + 1
|
1116 |
orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] + 1
|
| 1117 |
else:
|
1117 |
else:
|
| 1118 |
orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
|
1118 |
orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
|
| 1119 |
|
1119 |
|
| 1120 |
|
1120 |
|
| 1121 |
for order in rtoOrders:
|
1121 |
for order in rtoOrders:
|
| Line 1128... |
Line 1128... |
| 1128 |
rtoOrderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
|
1128 |
rtoOrderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
|
| 1129 |
|
1129 |
|
| 1130 |
|
1130 |
|
| 1131 |
for itemId, status in oosStatusMap.iteritems():
|
1131 |
for itemId, status in oosStatusMap.iteritems():
|
| 1132 |
total_order_count = 0
|
1132 |
total_order_count = 0
|
| 1133 |
total_rto_count = 0
|
1133 |
total_rto_count = 0
|
| 1134 |
for sid in (1,3,6,7,8):
|
1134 |
for sid in (1,3,6,7,8):
|
| 1135 |
if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = sid).first() is None:
|
1135 |
#if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = sid).first() is None:
|
| 1136 |
oosStatus = OOSStatus()
|
- |
|
| 1137 |
oosStatus.item_id = itemId
|
- |
|
| 1138 |
oosStatus.date = oosDate
|
- |
|
| 1139 |
oosStatus.is_oos = status
|
- |
|
| 1140 |
oosStatus.sourceId = sid
|
- |
|
| 1141 |
order_count = 0
|
- |
|
| 1142 |
rto_count = 0
|
- |
|
| 1143 |
if orderCountByItemIdSourceId.has_key(itemId) and orderCountByItemIdSourceId[itemId].has_key(sid):
|
- |
|
| 1144 |
order_count = orderCountByItemIdSourceId[itemId][sid]
|
- |
|
| 1145 |
if rtoOrderCountByItemIdSourceId.has_key(itemId) and rtoOrderCountByItemIdSourceId[itemId].has_key(sid):
|
- |
|
| 1146 |
rto_count = rtoOrderCountByItemIdSourceId[itemId][sid]
|
- |
|
| 1147 |
oosStatus.num_orders = order_count
|
- |
|
| 1148 |
oosStatus.rto_orders = rto_count
|
- |
|
| 1149 |
if status == True and order_count > 0:
|
- |
|
| 1150 |
status = False
|
- |
|
| 1151 |
total_order_count = total_order_count + order_count
|
- |
|
| 1152 |
total_rto_count = total_rto_count + rto_count
|
- |
|
| 1153 |
else:
|
- |
|
| 1154 |
print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid)
|
- |
|
| 1155 |
|
- |
|
| 1156 |
if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = 0).first() is None:
|
- |
|
| 1157 |
oosStatus = OOSStatus()
|
1136 |
oosStatus = OOSStatus()
|
| 1158 |
oosStatus.item_id = itemId
|
1137 |
oosStatus.item_id = itemId
|
| 1159 |
oosStatus.date = oosDate
|
1138 |
oosStatus.date = oosDate
|
| 1160 |
oosStatus.sourceId = 0
|
1139 |
oosStatus.sourceId = sid
|
| - |
|
1140 |
order_count = 0
|
| - |
|
1141 |
rto_count = 0
|
| - |
|
1142 |
if orderCountByItemIdSourceId.has_key(itemId) and orderCountByItemIdSourceId[itemId].has_key(sid):
|
| 1161 |
oosStatus.num_orders = total_order_count
|
1143 |
order_count = orderCountByItemIdSourceId[itemId][sid]
|
| - |
|
1144 |
if rtoOrderCountByItemIdSourceId.has_key(itemId) and rtoOrderCountByItemIdSourceId[itemId].has_key(sid):
|
| 1162 |
oosStatus.rto_orders = total_rto_count
|
1145 |
rto_count = rtoOrderCountByItemIdSourceId[itemId][sid]
|
| 1163 |
if status == True and total_order_count > 0:
|
1146 |
oosStatus.num_orders = order_count
|
| 1164 |
status = False
|
1147 |
oosStatus.rto_orders = rto_count
|
| 1165 |
oosStatus.is_oos = status
|
1148 |
oosStatus.is_oos = status
|
| - |
|
1149 |
if oosStatus.is_oos and order_count > 0:
|
| - |
|
1150 |
oosStatus.is_oos = False
|
| - |
|
1151 |
total_order_count = total_order_count + order_count
|
| - |
|
1152 |
total_rto_count = total_rto_count + rto_count
|
| 1166 |
else:
|
1153 |
#else:
|
| 1167 |
print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid)
|
1154 |
# print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid)
|
| - |
|
1155 |
|
| - |
|
1156 |
#if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = 0).first() is None:
|
| 1168 |
session.commit()
|
1157 |
oosStatus = OOSStatus()
|
| - |
|
1158 |
oosStatus.item_id = itemId
|
| - |
|
1159 |
oosStatus.date = oosDate
|
| - |
|
1160 |
oosStatus.sourceId = 0
|
| - |
|
1161 |
oosStatus.num_orders = total_order_count
|
| - |
|
1162 |
oosStatus.rto_orders = total_rto_count
|
| - |
|
1163 |
if orderCountByItemIdSourceId.has_key(itemId) and orderCountByItemIdSourceId[itemId].has_key(1):
|
| - |
|
1164 |
order_count = orderCountByItemIdSourceId[itemId][sid]
|
| - |
|
1165 |
oosStatus.is_oos = status
|
| - |
|
1166 |
if oosStatus.is_oos and order_count > 0:
|
| - |
|
1167 |
oosStatus.is_oos = False
|
| 1169 |
|
1168 |
|
| - |
|
1169 |
session.commit()
|
| - |
|
1170 |
#else:
|
| - |
|
1171 |
#print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid)
|
| - |
|
1172 |
|
| - |
|
1173 |
|
| 1170 |
def get_oos_statuses_for_x_days_for_item(itemId, sourceId, days):
|
1174 |
def get_oos_statuses_for_x_days_for_item(itemId, sourceId, days):
|
| 1171 |
timestamp = datetime.datetime.now()
|
1175 |
timestamp = datetime.datetime.now()
|
| 1172 |
timestamp = timestamp - datetime.timedelta(days = days)
|
1176 |
timestamp = timestamp - datetime.timedelta(days = days)
|
| 1173 |
return OOSStatus.query.filter_by(item_id = itemId).filter_by(sourceId = sourceId).filter(OOSStatus.date > timestamp).all()
|
1177 |
return OOSStatus.query.filter_by(item_id = itemId).filter_by(sourceId = sourceId).filter(OOSStatus.date > timestamp).all()
|
| 1174 |
|
1178 |
|