Subversion Repositories SmartDukaan

Rev

Rev 26506 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 26506 Rev 26995
Line 3458... Line 3458...
3458
#    for stateGstRate in query.all():
3458
#    for stateGstRate in query.all():
3459
#        itemIdSgstTaxRateMap[stateGstRate.item_id] = stateGstRate.tax_rate;
3459
#        itemIdSgstTaxRateMap[stateGstRate.item_id] = stateGstRate.tax_rate;
3460
#    return itemIdSgstTaxRateMap;
3460
#    return itemIdSgstTaxRateMap;
3461
 
3461
 
3462
def get_state_tax_rate(itemIds, stateId):
3462
def get_state_tax_rate(itemIds, stateId):
3463
    #As tax rates are same within states this logic is fine
3463
    #As all tax rates are same within states this logic is fine
3464
    if stateId != -1:
3464
    if stateId != -1:
3465
        stateId=0
3465
        stateId=0
3466
    queryItem = session.query(Item).filter(Item.id.in_(itemIds))
3466
    queryItem = session.query(Item).filter(Item.id.in_(itemIds))
3467
    itemIdItemMap = {}
3467
    itemIdItemMap = {}
3468
    for item in queryItem.all():
3468
    for item in queryItem.all():
Line 3484... Line 3484...
3484
            gstRate.igstRate = 0
3484
            gstRate.igstRate = 0
3485
            gstRate.cgstRate = 0
3485
            gstRate.cgstRate = 0
3486
            gstRate.sgstRate = 0
3486
            gstRate.sgstRate = 0
3487
            gstRate.hsnCode = itemIdItemMap[k].hsnCode
3487
            gstRate.hsnCode = itemIdItemMap[k].hsnCode
3488
            itemIdTotalTaxRateMap[k] = gstRate
3488
            itemIdTotalTaxRateMap[k] = gstRate
3489
            
3489
        #This is hardcoded for all mobiles
3490
        if itemIdTotalTaxRateMap.get(k) is None and itemIdItemMap[k].category==10006:
3490
        if itemIdItemMap[k].category==10006:
3491
            gstRate = GstRate()
3491
            gstRate = GstRate()
3492
            if stateId==-1:
3492
            if stateId==-1:
3493
                gstRate.igstRate = 18
3493
                gstRate.igstRate = 18
3494
                gstRate.cgstRate = 0
3494
                gstRate.cgstRate = 0
3495
                gstRate.sgstRate = 0
3495
                gstRate.sgstRate = 0
Line 3517... Line 3517...
3517
        
3517
        
3518
        #This is temporary fix for mobiles that are missing tax rates
3518
        #This is temporary fix for mobiles that are missing tax rates
3519
    for k in itemIds:
3519
    for k in itemIds:
3520
        if itemIdItemMap[k].hsnCode=="NOGST":
3520
        if itemIdItemMap[k].hsnCode=="NOGST":
3521
            itemIdIgstTaxRateMap[k] = 0
3521
            itemIdIgstTaxRateMap[k] = 0
3522
        elif itemIdIgstTaxRateMap.get(k) is None and itemIdItemMap[k].category==10006:
3522
        elif itemIdItemMap[k].category==10006:
3523
            itemIdIgstTaxRateMap[k] = 18
3523
            itemIdIgstTaxRateMap[k] = 18
3524
    return itemIdIgstTaxRateMap
3524
    return itemIdIgstTaxRateMap
3525
 
3525
 
3526
 
3526
 
3527
def add_state_gst_rates(stateGstRates):
3527
def add_state_gst_rates(stateGstRates):
3528
    #lets keep rates only for haryana and delhi i.e. 0 and 3
3528
    #lets keep rates only for haryana and delhi i.e. 0 and 3
3529
    stateIds = [-1, 0, 3]
3529
    stateIds = [-1, 0]
3530
    if not stateGstRates:
3530
    if not stateGstRates:
3531
        return
3531
        return
3532
    for stateGstRate in stateGstRates:
3532
    for stateGstRate in stateGstRates:
3533
        if stateGstRate.itemId:
3533
        if stateGstRate.itemId:
3534
            gstRates = session.query(StateGstRate).filter(StateGstRate.item_id==stateGstRate.itemId).all()
3534
            gstRates = session.query(StateGstRate).filter(StateGstRate.item_id==stateGstRate.itemId).all()