| Line 253... |
Line 253... |
| 253 |
count+=1
|
253 |
count+=1
|
| 254 |
sale = sale+obj.num_orders
|
254 |
sale = sale+obj.num_orders
|
| 255 |
avgSalePerDay=0 if count==0 else (float(sale)/count)
|
255 |
avgSalePerDay=0 if count==0 else (float(sale)/count)
|
| 256 |
return round(avgSalePerDay,2)
|
256 |
return round(avgSalePerDay,2)
|
| 257 |
|
257 |
|
| - |
|
258 |
def calculateTotalSale(oosStatus):
|
| - |
|
259 |
sale = 0
|
| - |
|
260 |
for obj in oosStatus:
|
| - |
|
261 |
if not obj.is_oos:
|
| - |
|
262 |
sale = sale+obj.num_orders
|
| - |
|
263 |
return sale
|
| - |
|
264 |
|
| 258 |
def getNetAvailability(itemInventory):
|
265 |
def getNetAvailability(itemInventory):
|
| 259 |
totalAvailability, totalReserved = 0,0
|
266 |
totalAvailability, totalReserved = 0,0
|
| 260 |
availableMap = itemInventory.availability
|
267 |
availableMap = itemInventory.availability
|
| 261 |
reserveMap = itemInventory.reserved
|
268 |
reserveMap = itemInventory.reserved
|
| 262 |
for warehouse,availability in availableMap.iteritems():
|
269 |
for warehouse,availability in availableMap.iteritems():
|
| Line 286... |
Line 293... |
| 286 |
nowAutoFav = []
|
293 |
nowAutoFav = []
|
| 287 |
marketplaceItems = session.query(MarketplaceItems).filter(MarketplaceItems.source==OrderSource.SNAPDEAL).all()
|
294 |
marketplaceItems = session.query(MarketplaceItems).filter(MarketplaceItems.source==OrderSource.SNAPDEAL).all()
|
| 288 |
fromDate = datetime.now()-timedelta(days = 3, hours=datetime.now().hour, minutes=datetime.now().minute, seconds=datetime.now().second)
|
295 |
fromDate = datetime.now()-timedelta(days = 3, hours=datetime.now().hour, minutes=datetime.now().minute, seconds=datetime.now().second)
|
| 289 |
toDate = datetime.now()-timedelta(days = 0, hours=datetime.now().hour, minutes=datetime.now().minute, seconds=datetime.now().second)
|
296 |
toDate = datetime.now()-timedelta(days = 0, hours=datetime.now().hour, minutes=datetime.now().minute, seconds=datetime.now().second)
|
| 290 |
items = session.query(MarketPlaceHistory.item_id,func.max(MarketPlaceHistory.timestamp)).group_by(MarketPlaceHistory.item_id).filter(MarketPlaceHistory.source==OrderSource.SNAPDEAL).filter(MarketPlaceHistory.timestamp.between (fromDate,toDate)).filter(MarketPlaceHistory.competitiveCategory==CompetitionCategory.BUY_BOX).all()
|
297 |
items = session.query(MarketPlaceHistory.item_id,func.max(MarketPlaceHistory.timestamp)).group_by(MarketPlaceHistory.item_id).filter(MarketPlaceHistory.source==OrderSource.SNAPDEAL).filter(MarketPlaceHistory.timestamp.between (fromDate,toDate)).filter(MarketPlaceHistory.competitiveCategory==CompetitionCategory.BUY_BOX).all()
|
| 291 |
toUpdate = [key for key, value in itemSaleMap.items() if value[3] >= 3]
|
298 |
toUpdate = [key for key, value in itemSaleMap.items() if value[5] >= 1]
|
| 292 |
buyBoxLast3days = []
|
299 |
buyBoxLast3days = []
|
| 293 |
for item in items:
|
300 |
for item in items:
|
| 294 |
buyBoxLast3days.append(item[0])
|
301 |
buyBoxLast3days.append(item[0])
|
| 295 |
for marketplaceItem in marketplaceItems:
|
302 |
for marketplaceItem in marketplaceItems:
|
| 296 |
reason = ""
|
303 |
reason = ""
|
| 297 |
toMark = False
|
304 |
toMark = False
|
| 298 |
if marketplaceItem.itemId in toUpdate:
|
305 |
if marketplaceItem.itemId in toUpdate:
|
| 299 |
toMark = True
|
306 |
toMark = True
|
| 300 |
reason+="Average sale is greater than 3 for last five days (Snapdeal)."
|
307 |
reason+="Total sale is greater than 1 for last five days (Snapdeal)."
|
| 301 |
if marketplaceItem.itemId in buyBoxLast3days:
|
308 |
if marketplaceItem.itemId in buyBoxLast3days:
|
| 302 |
toMark = True
|
309 |
toMark = True
|
| 303 |
reason+="Item is present in buy box in last 3 days"
|
310 |
reason+="Item is present in buy box in last 3 days"
|
| 304 |
if not marketplaceItem.autoFavourite:
|
311 |
if not marketplaceItem.autoFavourite:
|
| 305 |
print "Item is not under auto favourite"
|
312 |
print "Item is not under auto favourite"
|
| Line 406... |
Line 413... |
| 406 |
itemSaleList.append(oosForAllSources)
|
413 |
itemSaleList.append(oosForAllSources)
|
| 407 |
itemSaleList.append(oosForSnapdeal)
|
414 |
itemSaleList.append(oosForSnapdeal)
|
| 408 |
itemSaleList.append(calculateAverageSale(oosForAllSources))
|
415 |
itemSaleList.append(calculateAverageSale(oosForAllSources))
|
| 409 |
itemSaleList.append(calculateAverageSale(oosForSnapdeal))
|
416 |
itemSaleList.append(calculateAverageSale(oosForSnapdeal))
|
| 410 |
itemSaleList.append(calculateAverageSale(oosForSnapdealLastDay))
|
417 |
itemSaleList.append(calculateAverageSale(oosForSnapdealLastDay))
|
| - |
|
418 |
itemSaleList.append(calculateTotalSale(oosForSnapdeal))
|
| 411 |
itemSaleMap[val.item_id]=itemSaleList
|
419 |
itemSaleMap[val.item_id]=itemSaleList
|
| 412 |
|
420 |
|
| 413 |
if snapdealDetails.rank==0:
|
421 |
if snapdealDetails.rank==0:
|
| 414 |
snapdealDetails.ourSp = mpItem.currentSp
|
422 |
snapdealDetails.ourSp = mpItem.currentSp
|
| 415 |
snapdealDetails.ourOfferPrice = mpItem.currentSp
|
423 |
snapdealDetails.ourOfferPrice = mpItem.currentSp
|