Subversion Repositories SmartDukaan

Rev

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

Rev 11979 Rev 11981
Line 241... Line 241...
241
                <td style="text-align:center">"""+"Website"+"""</td>
241
                <td style="text-align:center">"""+"Website"+"""</td>
242
                <td style="text-align:center">"""+str(int(websiteSale))+"""</td>
242
                <td style="text-align:center">"""+str(int(websiteSale))+"""</td>
243
                <td style="text-align:center">"""+str(websiteSellableReturns+websiteNonSellableReturns)+"""</td>
243
                <td style="text-align:center">"""+str(websiteSellableReturns+websiteNonSellableReturns)+"""</td>
244
                <td style="text-align:center">"""+str(websiteSellableReturns)+"""</td>
244
                <td style="text-align:center">"""+str(websiteSellableReturns)+"""</td>
245
                <td style="text-align:center">"""+str(websiteNonSellableReturns)+"""</td>
245
                <td style="text-align:center">"""+str(websiteNonSellableReturns)+"""</td>
246
                <td style="text-align:center">"""+str(round(float(websiteSellableReturns+websiteNonSellableReturns)/websiteSale,2))+" %"+"""</td>
246
                <td style="text-align:center">"""+str(round(float(websiteSellableReturns+websiteNonSellableReturns)*100/websiteSale,1))+" %"+"""</td>
247
                <td style="text-align:center">"""+str(round(float(websiteSellableReturns)/websiteSale,2))+" %"+"""</td>
247
                <td style="text-align:center">"""+str(round(float(websiteSellableReturns)*100/websiteSale,1))+" %"+"""</td>
248
                <td style="text-align:center">"""+str(round(float(websiteNonSellableReturns)/websiteSale,2))+" %"+"""</td>
248
                <td style="text-align:center">"""+str(round(float(websiteNonSellableReturns)*100/websiteSale,1))+" %"+"""</td>
249
                </tr>
249
                </tr>
250
                <tr>
250
                <tr>
251
                <td style="text-align:center">"""+"Amazon MFN"+"""</td>
251
                <td style="text-align:center">"""+"Amazon MFN"+"""</td>
252
                <td style="text-align:center">"""+str(int(amazonSale))+"""</td>
252
                <td style="text-align:center">"""+str(int(amazonSale))+"""</td>
253
                <td style="text-align:center">"""+str(amazonSellableReturns+amazonNonSellableReturns)+"""</td>
253
                <td style="text-align:center">"""+str(amazonSellableReturns+amazonNonSellableReturns)+"""</td>
254
                <td style="text-align:center">"""+str(amazonSellableReturns)+"""</td>
254
                <td style="text-align:center">"""+str(amazonSellableReturns)+"""</td>
255
                <td style="text-align:center">"""+str(amazonNonSellableReturns)+"""</td>
255
                <td style="text-align:center">"""+str(amazonNonSellableReturns)+"""</td>
256
                <td style="text-align:center">"""+str(round(float(amazonSellableReturns+amazonNonSellableReturns)/amazonSale,2))+" %"+"""</td>
256
                <td style="text-align:center">"""+str(round(float(amazonSellableReturns+amazonNonSellableReturns)*100/amazonSale,1))+" %"+"""</td>
257
                <td style="text-align:center">"""+str(round(float(amazonSellableReturns)/amazonSale,2))+" %"+"""</td>
257
                <td style="text-align:center">"""+str(round(float(amazonSellableReturns)*100/amazonSale,1))+" %"+"""</td>
258
                <td style="text-align:center">"""+str(round(float(amazonNonSellableReturns)/amazonSale,2))+" %"+"""</td>
258
                <td style="text-align:center">"""+str(round(float(amazonNonSellableReturns)*100/amazonSale,1))+" %"+"""</td>
259
                </tr>
259
                </tr>
260
                <tr>
260
                <tr>
261
                <td style="text-align:center">"""+"Ebay"+"""</td>
261
                <td style="text-align:center">"""+"Ebay"+"""</td>
262
                <td style="text-align:center">"""+str(int(ebaySale))+"""</td>
262
                <td style="text-align:center">"""+str(int(ebaySale))+"""</td>
263
                <td style="text-align:center">"""+str(ebaySellableReturns+ebayNonSellableReturns)+"""</td>
263
                <td style="text-align:center">"""+str(ebaySellableReturns+ebayNonSellableReturns)+"""</td>
264
                <td style="text-align:center">"""+str(ebaySellableReturns)+"""</td>
264
                <td style="text-align:center">"""+str(ebaySellableReturns)+"""</td>
265
                <td style="text-align:center">"""+str(ebayNonSellableReturns)+"""</td>
265
                <td style="text-align:center">"""+str(ebayNonSellableReturns)+"""</td>
266
                <td style="text-align:center">"""+str(round(float(ebaySellableReturns+ebayNonSellableReturns)/ebaySale,2))+" %"+"""</td>
266
                <td style="text-align:center">"""+str(round(float(ebaySellableReturns+ebayNonSellableReturns)*100/ebaySale,1))+" %"+"""</td>
267
                <td style="text-align:center">"""+str(round(float(ebaySellableReturns)/ebaySale,2))+" %"+"""</td>
267
                <td style="text-align:center">"""+str(round(float(ebaySellableReturns)*100/ebaySale,1))+" %"+"""</td>
268
                <td style="text-align:center">"""+str(round(float(ebayNonSellableReturns)/ebaySale,2))+" %"+"""</td>
268
                <td style="text-align:center">"""+str(round(float(ebayNonSellableReturns)*100/ebaySale,1))+" %"+"""</td>
269
                </tr>
269
                </tr>
270
                <tr>
270
                <tr>
271
                <td style="text-align:center">"""+"Snapdeal"+"""</td>
271
                <td style="text-align:center">"""+"Snapdeal"+"""</td>
272
                <td style="text-align:center">"""+str(int(snapdealSale))+"""</td>
272
                <td style="text-align:center">"""+str(int(snapdealSale))+"""</td>
273
                <td style="text-align:center">"""+str(snapdealSellableReturns+snapdealNonSellableReturns)+"""</td>
273
                <td style="text-align:center">"""+str(snapdealSellableReturns+snapdealNonSellableReturns)+"""</td>
274
                <td style="text-align:center">"""+str(snapdealSellableReturns)+"""</td>
274
                <td style="text-align:center">"""+str(snapdealSellableReturns)+"""</td>
275
                <td style="text-align:center">"""+str(snapdealNonSellableReturns)+"""</td>
275
                <td style="text-align:center">"""+str(snapdealNonSellableReturns)+"""</td>
276
                <td style="text-align:center">"""+str(round(float(snapdealSellableReturns+snapdealNonSellableReturns)/snapdealSale,2))+" %"+"""</td>
276
                <td style="text-align:center">"""+str(round(float(snapdealSellableReturns+snapdealNonSellableReturns)*100/snapdealSale,1))+" %"+"""</td>
277
                <td style="text-align:center">"""+str(round(float(snapdealSellableReturns)/snapdealSale,2))+" %"+"""</td>
277
                <td style="text-align:center">"""+str(round(float(snapdealSellableReturns)*100/snapdealSale,1))+" %"+"""</td>
278
                <td style="text-align:center">"""+str(round(float(snapdealNonSellableReturns)/snapdealSale,2))+" %"+"""</td>
278
                <td style="text-align:center">"""+str(round(float(snapdealNonSellableReturns)*100/snapdealSale,1))+" %"+"""</td>
279
                </tr>
279
                </tr>
280
                <tr>
280
                <tr>
281
                <td style="text-align:center">"""+"Flipkart"+"""</td>
281
                <td style="text-align:center">"""+"Flipkart"+"""</td>
282
                <td style="text-align:center">"""+str(int(flipkartSale))+"""</td>
282
                <td style="text-align:center">"""+str(int(flipkartSale))+"""</td>
283
                <td style="text-align:center">"""+str(flipkartSellableReturns+flipkartNonSellableReturns)+"""</td>
283
                <td style="text-align:center">"""+str(flipkartSellableReturns+flipkartNonSellableReturns)+"""</td>
284
                <td style="text-align:center">"""+str(flipkartSellableReturns)+"""</td>
284
                <td style="text-align:center">"""+str(flipkartSellableReturns)+"""</td>
285
                <td style="text-align:center">"""+str(flipkartNonSellableReturns)+"""</td>
285
                <td style="text-align:center">"""+str(flipkartNonSellableReturns)+"""</td>
286
                <td style="text-align:center">"""+str(round(float(flipkartSellableReturns+flipkartNonSellableReturns)/flipkartSale,2))+" %"+"""</td>
286
                <td style="text-align:center">"""+str(round(float(flipkartSellableReturns+flipkartNonSellableReturns)*100/flipkartSale,1))+" %"+"""</td>
287
                <td style="text-align:center">"""+str(round(float(flipkartSellableReturns)/flipkartSale,2))+" %"+"""</td>
287
                <td style="text-align:center">"""+str(round(float(flipkartSellableReturns)*100/flipkartSale,1))+" %"+"""</td>
288
                <td style="text-align:center">"""+str(round(float(flipkartNonSellableReturns)/flipkartSale,2))+" %"+"""</td>
288
                <td style="text-align:center">"""+str(round(float(flipkartNonSellableReturns)*100/flipkartSale,1))+" %"+"""</td>
289
                </tr>
289
                </tr>
290
                <tr>
290
                <tr>
291
                <td style="text-align:center">"""+"Total"+"""</td>
291
                <td style="text-align:center">"""+"Total"+"""</td>
292
                <td style="text-align:center">"""+str(int(overallSale))+"""</td>
292
                <td style="text-align:center">"""+str(int(overallSale))+"""</td>
293
                <td style="text-align:center">"""+str(overallSellableReturns+overallNonSellableReturns)+"""</td>
293
                <td style="text-align:center">"""+str(overallSellableReturns+overallNonSellableReturns)+"""</td>
294
                <td style="text-align:center">"""+str(overallSellableReturns)+"""</td>
294
                <td style="text-align:center">"""+str(overallSellableReturns)+"""</td>
295
                <td style="text-align:center">"""+str(overallNonSellableReturns)+"""</td>
295
                <td style="text-align:center">"""+str(overallNonSellableReturns)+"""</td>
296
                <td style="text-align:center">"""+str(round(float(overallSellableReturns+overallNonSellableReturns)/overallSale,2))+" %"+"""</td>
296
                <td style="text-align:center">"""+str(round(float(overallSellableReturns+overallNonSellableReturns)*100/overallSale,1))+" %"+"""</td>
297
                <td style="text-align:center">"""+str(round(float(overallSellableReturns)/overallSale,2))+" %"+"""</td>
297
                <td style="text-align:center">"""+str(round(float(overallSellableReturns)*100/overallSale,1))+" %"+"""</td>
298
                <td style="text-align:center">"""+str(round(float(overallNonSellableReturns)/overallSale,2))+" %"+"""</td>
298
                <td style="text-align:center">"""+str(round(float(overallNonSellableReturns)*100/overallSale,1))+" %"+"""</td>
299
                </tr></tbody></table>"""
299
                </tr></tbody></table>"""
300
    
300
    
301
    topWebsite, topAmazon, topEbay, topSnapdeal, topFlipkart, topOverall = [],[],[],[],[],[]
301
    topWebsite, topAmazon, topEbay, topSnapdeal, topFlipkart, topOverall = [],[],[],[],[],[]
302
 
302
 
303
    for v in SaleMap.itervalues():
303
    for v in SaleMap.itervalues():
Line 309... Line 309...
309
#            topEbay.append(v)
309
#            topEbay.append(v)
310
#        if v.snapdealSale >=10:
310
#        if v.snapdealSale >=10:
311
#            topSnapdeal.append(v)
311
#            topSnapdeal.append(v)
312
#        if v.flipkartSale >=10:
312
#        if v.flipkartSale >=10:
313
#            topFlipkart.append(v)
313
#            topFlipkart.append(v)
314
        if v.websiteSale + v.amazonSale + v.ebaySale + v.snapdealSale + v.flipkartSale >=25:
314
        if (v.websiteSale + v.amazonSale + v.ebaySale + v.snapdealSale + v.flipkartSale) >=25:
315
            topOverall.append(v)
315
            topOverall.append(v)
316
 
316
 
317
    sortedHighReturnRate = sorted(topOverall, key=lambda x: x.nonSellableOverallPercentage, reverse=True)
317
    sortedHighReturnRate = sorted(topOverall, key=lambda x: x.nonSellableOverallPercentage, reverse=True)
318
    
318
    
319
    message+="""<h3>Top Sku's with high sale return</h3>
319
    message+="""<h3>Top Sku's with high sale return</h3>
Line 362... Line 362...
362
                <td style="text-align:center">"""+str(highReturnData.item_id)+"""</td>
362
                <td style="text-align:center">"""+str(highReturnData.item_id)+"""</td>
363
                <td style="text-align:center">"""+xstr(highReturnData.brand)+" "+xstr(highReturnData.model_name)+" "+xstr(highReturnData.model_number)+" "+xstr(highReturnData.color)+"""</td>
363
                <td style="text-align:center">"""+xstr(highReturnData.brand)+" "+xstr(highReturnData.model_name)+" "+xstr(highReturnData.model_number)+" "+xstr(highReturnData.color)+"""</td>
364
                <td style="text-align:center">"""+str(int(highReturnData.websiteSale))+"""</td>
364
                <td style="text-align:center">"""+str(int(highReturnData.websiteSale))+"""</td>
365
                <td style="text-align:center">"""+str(highReturnData.sellableCountWebsite)+"""</td>
365
                <td style="text-align:center">"""+str(highReturnData.sellableCountWebsite)+"""</td>
366
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountWebsite)+"""</td>
366
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountWebsite)+"""</td>
367
                <td style="text-align:center">"""+str(round(highReturnData.sellableWebsitePercentage,2))+"""</td>
367
                <td style="text-align:center">"""+str(round(highReturnData.sellableWebsitePercentage*100,1))+"""</td>
368
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableWebsitePercentage,2))+"""</td>
368
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableWebsitePercentage*100,1))+"""</td>
369
                <td style="text-align:center">"""+str(int(highReturnData.amazonSale))+"""</td>
369
                <td style="text-align:center">"""+str(int(highReturnData.amazonSale))+"""</td>
370
                <td style="text-align:center">"""+str(highReturnData.sellableCountAmazon)+"""</td>
370
                <td style="text-align:center">"""+str(highReturnData.sellableCountAmazon)+"""</td>
371
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountAmazon)+"""</td>
371
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountAmazon)+"""</td>
372
                <td style="text-align:center">"""+str(round(highReturnData.sellableAmazonPercentage,2))+"""</td>
372
                <td style="text-align:center">"""+str(round(highReturnData.sellableAmazonPercentage*100,1))+"""</td>
373
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableAmazonPercentage,2))+"""</td>
373
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableAmazonPercentage*100,1))+"""</td>
374
                <td style="text-align:center">"""+str(int(highReturnData.ebaySale))+"""</td>
374
                <td style="text-align:center">"""+str(int(highReturnData.ebaySale))+"""</td>
375
                <td style="text-align:center">"""+str(highReturnData.sellableCountEbay)+"""</td>
375
                <td style="text-align:center">"""+str(highReturnData.sellableCountEbay)+"""</td>
376
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountEbay)+"""</td>
376
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountEbay)+"""</td>
377
                <td style="text-align:center">"""+str(round(highReturnData.sellableEbayPercentage,2))+"""</td>
377
                <td style="text-align:center">"""+str(round(highReturnData.sellableEbayPercentage*100,1))+"""</td>
378
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableEbayPercentage,2))+"""</td>
378
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableEbayPercentage*100,1))+"""</td>
379
                <td style="text-align:center">"""+str(int(highReturnData.snapdealSale))+"""</td>
379
                <td style="text-align:center">"""+str(int(highReturnData.snapdealSale))+"""</td>
380
                <td style="text-align:center">"""+str(highReturnData.sellableCountSnapdeal)+"""</td>
380
                <td style="text-align:center">"""+str(highReturnData.sellableCountSnapdeal)+"""</td>
381
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountSnapdeal)+"""</td>
381
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountSnapdeal)+"""</td>
382
                <td style="text-align:center">"""+str(round(highReturnData.sellableSnapdealPercentage,2))+"""</td>
382
                <td style="text-align:center">"""+str(round(highReturnData.sellableSnapdealPercentage*100,1))+"""</td>
383
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableSnapdealPercentage,2))+"""</td>
383
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableSnapdealPercentage*100,1))+"""</td>
384
                <td style="text-align:center">"""+str(int(highReturnData.flipkartSale))+"""</td>
384
                <td style="text-align:center">"""+str(int(highReturnData.flipkartSale))+"""</td>
385
                <td style="text-align:center">"""+str(highReturnData.sellableCountFlipkart)+"""</td>
385
                <td style="text-align:center">"""+str(highReturnData.sellableCountFlipkart)+"""</td>
386
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountFlipkart)+"""</td>
386
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountFlipkart)+"""</td>
387
                <td style="text-align:center">"""+str(round(highReturnData.sellableFlipkartPercentage,2))+"""</td>
387
                <td style="text-align:center">"""+str(round(highReturnData.sellableFlipkartPercentage*100,1))+"""</td>
388
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableFlipkartPercentage,2))+"""</td>
388
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableFlipkartPercentage*100,1))+"""</td>
389
                <td style="text-align:center">"""+str(int(highReturnData.websiteSale+highReturnData.amazonSale+highReturnData.ebaySale+highReturnData.snapdealSale+highReturnData.flipkartSale))+"""</td>
389
                <td style="text-align:center">"""+str(int(highReturnData.websiteSale+highReturnData.amazonSale+highReturnData.ebaySale+highReturnData.snapdealSale+highReturnData.flipkartSale))+"""</td>
390
                <td style="text-align:center">"""+str(highReturnData.sellableCountWebsite+highReturnData.sellableCountAmazon+highReturnData.sellableCountEbay+highReturnData.sellableCountSnapdeal+highReturnData.sellableCountFlipkart)+"""</td>
390
                <td style="text-align:center">"""+str(highReturnData.sellableCountWebsite+highReturnData.sellableCountAmazon+highReturnData.sellableCountEbay+highReturnData.sellableCountSnapdeal+highReturnData.sellableCountFlipkart)+"""</td>
391
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountWebsite+highReturnData.nonSellableCountAmazon+highReturnData.nonSellableCountEbay+highReturnData.nonSellableCountSnapdeal+highReturnData.nonSellableCountFlipkart)+"""</td>
391
                <td style="text-align:center">"""+str(highReturnData.nonSellableCountWebsite+highReturnData.nonSellableCountAmazon+highReturnData.nonSellableCountEbay+highReturnData.nonSellableCountSnapdeal+highReturnData.nonSellableCountFlipkart)+"""</td>
392
                <td style="text-align:center">"""+str(round(highReturnData.sellableOverallPercentage,2))+"""</td>
392
                <td style="text-align:center">"""+str(round(highReturnData.sellableOverallPercentage*100,1))+"""</td>
393
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableOverallPercentage,2))+"""</td>
393
                <td style="text-align:center">"""+str(round(highReturnData.nonSellableOverallPercentage*100,1))+"""</td>
394
                </tr>"""
394
                </tr>"""
395
    
395
    
396
    message+="""</tr></tbody></table>"""
396
    message+="""</tr></tbody></table>"""
397
    
397
    
398
    topBrandCatReturns = []
398
    topBrandCatReturns = []
399
 
399
 
400
    for y in BrandCatMap.itervalues():
400
    for y in BrandCatMap.itervalues():
401
        if y.totalSale > 30:
401
        if y.totalSale > 100:
402
            topBrandCatReturns.append(y)
402
            topBrandCatReturns.append(y)
403
    
403
    
404
    sortedHighReturnRateBrandCat = sorted(topBrandCatReturns, key=lambda x: x.nonSellableReturnPercentage, reverse=True)
404
    sortedHighReturnRateBrandCat = sorted(topBrandCatReturns, key=lambda x: x.nonSellableReturnPercentage, reverse=True)
405
    message+="""<h3>Brand Category Wise Non-Sellable Return</h3>
405
    message+="""<h3>Brand Category Wise Non-Sellable Return</h3>
406
            <table border="1" style="width:50%;">
406
            <table border="1" style="width:50%;">
Line 416... Line 416...
416
        message+="""<tr>
416
        message+="""<tr>
417
                    <td style="text-align:center">"""+str(highReturnDataBrandCat.brand)+"""</td>
417
                    <td style="text-align:center">"""+str(highReturnDataBrandCat.brand)+"""</td>
418
                    <td style="text-align:center">"""+str(highReturnDataBrandCat.productGroup)+"""</td>
418
                    <td style="text-align:center">"""+str(highReturnDataBrandCat.productGroup)+"""</td>
419
                    <td style="text-align:center">"""+str(int(highReturnDataBrandCat.totalSale))+"""</td>
419
                    <td style="text-align:center">"""+str(int(highReturnDataBrandCat.totalSale))+"""</td>
420
                    <td style="text-align:center">"""+str(int(highReturnDataBrandCat.nonSellableReturn))+"""</td>
420
                    <td style="text-align:center">"""+str(int(highReturnDataBrandCat.nonSellableReturn))+"""</td>
421
                    <td style="text-align:center">"""+str(round(highReturnDataBrandCat.nonSellableReturnPercentage,2))+"""</td>
421
                    <td style="text-align:center">"""+str(round(highReturnDataBrandCat.nonSellableReturnPercentage*100,1))+"""</td>
422
                     </tr>"""
422
                     </tr>"""
423
    message+="""</tr></tbody></table></body></html>"""
423
    message+="""</tr></tbody></table></body></html>"""
424
    
424
    
425
    wbk = xlwt.Workbook()
425
    wbk = xlwt.Workbook()
426
    sheet = wbk.add_sheet('Source Wise Return')
426
    sheet = wbk.add_sheet('Source Wise Return')
Line 478... Line 478...
478
        sheet.write(sheet_iterator,17,v.nonSellableCountSnapdeal)
478
        sheet.write(sheet_iterator,17,v.nonSellableCountSnapdeal)
479
        sheet.write(sheet_iterator,18,v.sellableCountFlipkart)
479
        sheet.write(sheet_iterator,18,v.sellableCountFlipkart)
480
        sheet.write(sheet_iterator,19,v.nonSellableCountFlipkart)
480
        sheet.write(sheet_iterator,19,v.nonSellableCountFlipkart)
481
        sheet.write(sheet_iterator,20,v.sellableCountWebsite+v.sellableCountAmazon+v.sellableCountEbay+v.sellableCountSnapdeal+v.sellableCountFlipkart)
481
        sheet.write(sheet_iterator,20,v.sellableCountWebsite+v.sellableCountAmazon+v.sellableCountEbay+v.sellableCountSnapdeal+v.sellableCountFlipkart)
482
        if (v.websiteSale+v.amazonSale+v.ebaySale+v.flipkartSale+v.snapdealSale) > 0:
482
        if (v.websiteSale+v.amazonSale+v.ebaySale+v.flipkartSale+v.snapdealSale) > 0:
483
            sheet.write(sheet_iterator,21,round(float(v.sellableCountWebsite+v.sellableCountAmazon+v.sellableCountEbay+v.sellableCountSnapdeal+v.sellableCountFlipkart)/(v.websiteSale+v.amazonSale+v.ebaySale+v.flipkartSale+v.snapdealSale),2))
483
            sheet.write(sheet_iterator,21,round(float(v.sellableCountWebsite+v.sellableCountAmazon+v.sellableCountEbay+v.sellableCountSnapdeal+v.sellableCountFlipkart)*100/(v.websiteSale+v.amazonSale+v.ebaySale+v.flipkartSale+v.snapdealSale),1))
484
        else:
484
        else:
485
            sheet.write(sheet_iterator,21,0)
485
            sheet.write(sheet_iterator,21,0)
486
        sheet.write(sheet_iterator,22,v.nonSellableCountWebsite+v.nonSellableCountAmazon+v.nonSellableCountEbay+v.nonSellableCountSnapdeal+v.nonSellableCountFlipkart)
486
        sheet.write(sheet_iterator,22,v.nonSellableCountWebsite+v.nonSellableCountAmazon+v.nonSellableCountEbay+v.nonSellableCountSnapdeal+v.nonSellableCountFlipkart)
487
        if (v.nonSellableCountWebsite+v.nonSellableCountAmazon+v.nonSellableCountEbay+v.nonSellableCountSnapdeal+v.nonSellableCountFlipkart) > 0:
487
        if (v.nonSellableCountWebsite+v.nonSellableCountAmazon+v.nonSellableCountEbay+v.nonSellableCountSnapdeal+v.nonSellableCountFlipkart) > 0:
488
            sheet.write(sheet_iterator,23,round(float(v.nonSellableCountWebsite+v.nonSellableCountAmazon+v.nonSellableCountEbay+v.nonSellableCountSnapdeal+v.nonSellableCountFlipkart)/(v.websiteSale+v.amazonSale+v.ebaySale+v.flipkartSale+v.snapdealSale),2))
488
            sheet.write(sheet_iterator,23,round(float(v.nonSellableCountWebsite+v.nonSellableCountAmazon+v.nonSellableCountEbay+v.nonSellableCountSnapdeal+v.nonSellableCountFlipkart)*100/(v.websiteSale+v.amazonSale+v.ebaySale+v.flipkartSale+v.snapdealSale),1))
489
        else:
489
        else:
490
            sheet.write(sheet_iterator,23,0)
490
            sheet.write(sheet_iterator,23,0)
491
        sheet_iterator+=1
491
        sheet_iterator+=1
492
    filename = "/tmp/return-report-source.xls"
492
    filename = "/tmp/return-report-source.xls"
493
    wbk.save(filename)
493
    wbk.save(filename)