Subversion Repositories SmartDukaan

Rev

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

Rev 7296 Rev 7306
Line 1477... Line 1477...
1477
    for brandInfo in brandInfoList:
1477
    for brandInfo in brandInfoList:
1478
        brandInfoMap[brandInfo.name] = to_t_brand_info(brandInfo)
1478
        brandInfoMap[brandInfo.name] = to_t_brand_info(brandInfo)
1479
    return brandInfoMap
1479
    return brandInfoMap
1480
 
1480
 
1481
def update_store_pricing(tsp):
1481
def update_store_pricing(tsp):
-
 
1482
    validate_store_pricing(tsp)
1482
    sp = StorePricing.get_by(item_id = tsp.itemId)
1483
    sp = StorePricing.get_by(item_id = tsp.itemId)
1483
    if not sp:
1484
    if not sp:
1484
        sp = StorePricing()
1485
        sp = StorePricing()
1485
    sp.recommendedPrice = tsp.recommendedPrice
1486
    sp.recommendedPrice = tsp.recommendedPrice
1486
    sp.minPrice = tsp.minPrice
1487
    sp.minPrice = tsp.minPrice
Line 1488... Line 1489...
1488
    sp.maxPrice = tsp.maxPrice
1489
    sp.maxPrice = tsp.maxPrice
1489
    sp.item_id = tsp.itemId
1490
    sp.item_id = tsp.itemId
1490
    session.commit()
1491
    session.commit()
1491
    
1492
    
1492
    
1493
    
1493
def add_store_pricing(item):
1494
def validate_store_pricing(tsp):
-
 
1495
    if tsp.minPrice > tsp.maxPrice:
-
 
1496
        raise InventoryServiceException(101, "Min price is more than max price")   
-
 
1497
    
1494
    inventoryClient = InventoryClient().get_client()
1498
    item = get_item(tsp.itemId)
-
 
1499
    
-
 
1500
    if tsp.maxPrice > item.mrp:
-
 
1501
        raise InventoryServiceException(101, "Min price is more than max price")
-
 
1502
    
1495
    pricings = inventoryClient.getAllItemPricing(item.id)
1503
    if tsp.recommendedPrice < item.sellingPrice:
-
 
1504
        "Alert to store"
-
 
1505
        raise InventoryServiceException(101, "Recommended price is less than saholic selling price.")   
-
 
1506
   
-
 
1507
    if tsp.recommendedPrice < tsp.minPrice or tsp.recommendedPrice >  tsp.maxPrice:
-
 
1508
        raise InventoryServiceException(101, "Recommended selling price must be in the range") 
-
 
1509
        
-
 
1510
    return True
1496
    
1511
    
1497
    minp = 0
1512
    
-
 
1513
 
-
 
1514
def get_defalut_store_pricing(itemId):
-
 
1515
    inventoryClient = InventoryClient().get_client()
-
 
1516
    pricings = inventoryClient.getAllItemPricing(itemId)
-
 
1517
    item = get_item(itemId)
1498
    maxp = item.mrp
1518
    maxp = item.mrp
-
 
1519
    minp = 0
1499
    rp = item.sellingPrice
1520
    rp = item.sellingPrice
1500
    for pricing in pricings:
1521
    for pricing in pricings:
1501
        if not minp or minp > pricing.dealerPrice: 
1522
        if not minp or minp > pricing.dealerPrice: 
1502
            minp = pricing.dealerPrice
1523
            minp = pricing.dealerPrice
1503
    
-
 
1504
    if minp < item.sellingPrice:
-
 
1505
        print "Alert to store"        
-
 
1506
    
1524
         
1507
    if maxp < minp:
-
 
1508
        print "Alert to store"
-
 
1509
        
1525
        
1510
    if rp < minp or rp > maxp:
-
 
1511
        print "Alert to store" 
-
 
1512
    
-
 
1513
    minap = min(max(500, 10%rp),rp)
1526
    minap = min(max(500, 10%rp),rp)
-
 
1527
 
1514
    sp = StorePricing.get_by(itemId = item.id)
1528
    sp = tStorePricing()
1515
    if not sp:
1529
    sp.itemId = itemId
1516
        sp = StorePricing()
-
 
1517
    sp.recommendedPrice = rp
1530
    sp.recommendedPrice = rp
1518
    sp.minPrice = minp
1531
    sp.minPrice = minp
1519
    sp.minAdvancePrice = minap
1532
    sp.minAdvancePrice = minap
1520
    sp.maxPrice = maxp
1533
    sp.maxPrice = maxp
1521
    sp.itemId = item.id
-
 
1522
    session.commit()
1534
    return sp
-
 
1535
 
1523
    
1536
 
1524
def get_store_pricing(itemId):
1537
def get_store_pricing(itemId):
1525
    store = StorePricing.get_by(item_id = itemId)
1538
    store = StorePricing.get_by(item_id = itemId)
1526
    sp = tStorePricing()
-
 
1527
    sp.itemId = itemId
-
 
1528
    if store is None:
1539
    if store is None:
1529
        return sp
1540
        return get_defalut_store_pricing(itemId)
1530
    
1541
 
-
 
1542
    sp = tStorePricing()
-
 
1543
    sp.itemId = itemId    
1531
    sp.recommendedPrice = store.recommendedPrice
1544
    sp.recommendedPrice = store.recommendedPrice
1532
    sp.minPrice = store.minPrice
1545
    sp.minPrice = store.minPrice
1533
    sp.minAdvancePrice = store.minAdvancePrice
1546
    sp.minAdvancePrice = store.minAdvancePrice
1534
    sp.maxPrice = store.maxPrice
1547
    sp.maxPrice = store.maxPrice
1535
    return sp
1548
    return sp