Subversion Repositories SmartDukaan

Rev

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

Rev 7330 Rev 7340
Line 13... Line 13...
13
from shop2020.model.v1.catalog.impl.CategoryManager import CategoryManager
13
from shop2020.model.v1.catalog.impl.CategoryManager import CategoryManager
14
from shop2020.model.v1.catalog.impl.Convertors import to_t_item, to_t_source
14
from shop2020.model.v1.catalog.impl.Convertors import to_t_item, to_t_source
15
from shop2020.model.v1.catalog.impl.DataService import Item, ItemChangeLog, \
15
from shop2020.model.v1.catalog.impl.DataService import Item, ItemChangeLog, \
16
    Category, EntityIDGenerator, SimilarItems, ProductNotification, Source, \
16
    Category, EntityIDGenerator, SimilarItems, ProductNotification, Source, \
17
    SourceItemPricing, AuthorizationLog, VoucherItemMapping, CategoryVatMaster, \
17
    SourceItemPricing, AuthorizationLog, VoucherItemMapping, CategoryVatMaster, \
18
    OOSTracker,EntityTag,ItemInsurerMapping, Insurer, Banner, BannerMap, \
18
    OOSTracker, EntityTag, ItemInsurerMapping, Insurer, Banner, BannerMap, \
19
    FreebieItem, BrandInfo, Amazonlisted,StorePricing, ItemVatMaster
19
    FreebieItem, BrandInfo, Amazonlisted, StorePricing, ItemVatMaster
20
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
20
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
21
    ItemType, PremiumType, FreebieItem as t_FreebieItem,StorePricing as tStorePricing
21
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
-
 
22
    StorePricing as tStorePricing, CatalogServiceException
22
from shop2020.thriftpy.model.v1.inventory.ttypes import \
23
from shop2020.thriftpy.model.v1.inventory.ttypes import \
23
    InventoryServiceException, IgnoredInventoryUpdateItems
24
    InventoryServiceException, IgnoredInventoryUpdateItems
24
from shop2020.utils import EmailAttachmentSender
25
from shop2020.utils import EmailAttachmentSender
25
from shop2020.utils.EmailAttachmentSender import mail
26
from shop2020.utils.EmailAttachmentSender import mail
26
from shop2020.utils.Utils import to_py_date, log_risky_flag
27
from shop2020.utils.Utils import to_py_date, log_risky_flag
Line 1303... Line 1304...
1303
        vatPercentage = vatMaster.vatPercent
1304
        vatPercentage = vatMaster.vatPercent
1304
        if  vatPercentage is None:
1305
        if  vatPercentage is None:
1305
            vatPercentage = 0
1306
            vatPercentage = 0
1306
    return (price*vatPercentage)/100
1307
    return (price*vatPercentage)/100
1307
    
1308
    
1308
def get_vat_percentage_for_item(itemId, price, stateId=0):
1309
def get_vat_percentage_for_item(itemId, stateId, price):
1309
    itemVatMaster = ItemVatMaster.query.filter(and_(ItemVatMaster.itemId==itemId, ItemVatMaster.stateId==stateId)).first()
1310
    itemVatMaster = ItemVatMaster.query.filter(and_(ItemVatMaster.itemId==itemId, ItemVatMaster.stateId==stateId)).first()
1310
    if itemVatMaster is None or itemVatMaster.vatPercentage is None:
1311
    if itemVatMaster is None:
1311
        itemVatMaster = ItemVatMaster.query.filter(and_(ItemVatMaster.itemId==itemId, ItemVatMaster.stateId==0)).first()
-
 
1312
        if itemVatMaster is None or itemVatMaster.vatPercentage is None:
-
 
1313
            item = Item.query.filter_by(id=itemId).first()
1312
            item = Item.query.filter_by(id=itemId).first()
-
 
1313
            if item is None:
-
 
1314
                raise CatalogServiceException(itemId, "Could not find item in catalog")
1314
            vatMaster = CategoryVatMaster.query.filter(and_(CategoryVatMaster.categoryId==item.category, CategoryVatMaster.minVal<=price,  CategoryVatMaster.maxVal>=price, stateId == stateId)).first()
1315
            vatMaster = CategoryVatMaster.query.filter(and_(CategoryVatMaster.categoryId==item.category, CategoryVatMaster.minVal<=price,  CategoryVatMaster.maxVal>=price,  CategoryVatMaster.stateId == stateId)).first()
1315
            if vatMaster is None:
1316
            if vatMaster is None:
1316
                vatMaster = CategoryVatMaster.query.filter(and_(CategoryVatMaster.categoryId==item.category, CategoryVatMaster.minVal<=price,  CategoryVatMaster.maxVal>=price, stateId == 0)).first()
1317
                raise CatalogServiceException(stateId, "Could not find vat rate for this state.")
1317
            vatPercentage = vatMaster.vatPercent
1318
            return vatMaster.vatPercent
1318
            if  vatPercentage is None:
-
 
1319
                vatPercentage = 0
-
 
1320
        else:
-
 
1321
            vatPercentage = itemVatMaster.vatPercentage
-
 
1322
    else:
1319
    else:
1323
        vatPercentage = itemVatMaster.vatPercentage
1320
        return itemVatMaster.vatPercentage
1324
    return vatPercentage
-
 
1325
 
1321
 
1326
def get_all_ignored_inventoryupdate_items_list(offset,limit):
1322
def get_all_ignored_inventoryupdate_items_list(offset,limit):
1327
    client = InventoryClient().get_client()
1323
    client = InventoryClient().get_client()
1328
    itemids = client.getIgnoredInventoryUpdateItemids(offset,limit)
1324
    itemids = client.getIgnoredInventoryUpdateItemids(offset,limit)
1329
    result = []
1325
    result = []