Subversion Repositories SmartDukaan

Rev

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

Rev 10222 Rev 10271
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