Subversion Repositories SmartDukaan

Rev

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

Rev 4554 Rev 4555
Line 665... Line 665...
665
        # Putting NULL as transfer price for cases where its missing
665
        # Putting NULL as transfer price for cases where its missing
666
        if item_pricing is not None:
666
        if item_pricing is not None:
667
            order.lineitems[0].transfer_price = item_pricing.transferPrice
667
            order.lineitems[0].transfer_price = item_pricing.transferPrice
668
 
668
 
669
        # For Mahipal warehouse, we need to scan out items for every billed order
669
        # For Mahipal warehouse, we need to scan out items for every billed order
670
        if order.warehouse_id == 17:
670
        if order.warehouse_id == 7:
671
            try:
671
            try:
672
                warehouse_client = WarehouseClient().get_client()
672
                warehouse_client = WarehouseClient().get_client()
673
                inventoryItem = warehouse_client.scanSerializedItemForOrder(str(imeiNumber), ScanType.SALE, orderId, order.warehouse_id)
673
                inventoryItem = warehouse_client.scanSerializedItemForOrder(str(imeiNumber), ScanType.SALE, orderId, order.warehouse_id)
674
                if (inventoryItem.itemId != item_id):
674
                if (inventoryItem.itemId != item_id):
675
                    item = catalog_client.getItem(inventoryItem.itemId)
675
                    item = catalog_client.getItem(inventoryItem.itemId)
Line 1062... Line 1062...
1062
    if order.warehouse_id == 7:
1062
    if order.warehouse_id == 7:
1063
        try:
1063
        try:
1064
            warehouse_client = WarehouseClient().get_client()
1064
            warehouse_client = WarehouseClient().get_client()
1065
            lineitem = order.lineitems[0]
1065
            lineitem = order.lineitems[0]
1066
 
1066
 
1067
            inventoryItem = warehouse_client.getInventoryItem(lineitem.imei_number)
-
 
1068
            # Inventory should not be updated for DOA returns 
1067
            # Inventory should not be updated for DOA returns 
1069
            if order.status == OrderStatus.RTO_IN_TRANSIT:
1068
            if order.status == OrderStatus.RTO_IN_TRANSIT:
1070
                warehouse_client.scanSerializedItemForOrder(inventoryItem.id, ScanType.SALE_RET, order.id)
1069
                warehouse_client.scanSerializedItemForOrder(str(lineitem.imei_number), ScanType.SALE_RET, order.id, order.warehouse_id)
-
 
1070
                # In case of RTOs increasing availibility only if we receive item in prestine state
-
 
1071
                if not receiveCondition:
1071
                catalog_client = CatalogClient().get_client()
1072
                    catalog_client = CatalogClient().get_client()
1072
                catalog_client.reduceReservationCount(lineitem.item_id, order.warehouse_id, lineitem.quantity)
1073
                    catalog_client.addInventory(lineitem.item_id, order.warehouse_id, lineitem.quantity)
1073
            elif order.status in [OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.DOA_RETURN_IN_TRANSIT]:
1074
            elif order.status in [OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.DOA_RETURN_IN_TRANSIT]:
1074
                warehouse_client.scanSerializedItemForOrder(inventoryItem.id, ScanType.DOA_IN, order.id)
1075
                warehouse_client.scanSerializedItemForOrder(str(lineitem.imei_number), ScanType.DOA_IN, order.id, order.warehouse_id)
1075
        except:
1076
        except:
1076
            print sys.exc_info()[0]
1077
            print sys.exc_info()[0]
1077
            print 'Could not scan in sales return orders'
1078
            print 'Could not scan in sales return orders'
1078
 
1079
 
1079
    if order.status in [OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.DOA_RETURN_IN_TRANSIT]:
1080
    if order.status in [OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.DOA_RETURN_IN_TRANSIT]:
Line 1135... Line 1136...
1135
    if order.status != OrderStatus.RET_RECEIVED_PRESTINE:
1136
    if order.status != OrderStatus.RET_RECEIVED_PRESTINE:
1136
        return False
1137
        return False
1137
    if is_usable:
1138
    if is_usable:
1138
        order.status = OrderStatus.RET_PRODUCT_USABLE
1139
        order.status = OrderStatus.RET_PRODUCT_USABLE
1139
        order.statusDescription = "Return product usable"
1140
        order.statusDescription = "Return product usable"
-
 
1141
        lineitem = order.lineitems[0]
-
 
1142
        if order.warehouse_id == 7:
-
 
1143
            catalog_client = CatalogClient().get_client()
-
 
1144
            catalog_client.addInventory(lineitem.item_id, order.warehouse_id, lineitem.quantity)
1140
    else:
1145
    else:
1141
        order.status = OrderStatus.RET_PRODUCT_UNUSABLE
1146
        order.status = OrderStatus.RET_PRODUCT_UNUSABLE
1142
        order.statusDescription = "Return product unusable"
1147
        order.statusDescription = "Return product unusable"
1143
        update_trust_level(order)
1148
        update_trust_level(order)
1144
    session.commit()
1149
    session.commit()