Subversion Repositories SmartDukaan

Rev

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

Rev 20111 Rev 20116
Line 10748... Line 10748...
10748
            "RET_LOST_IN_TRANSIT"   : ScanType.LOST_IN_TRANSIT,
10748
            "RET_LOST_IN_TRANSIT"   : ScanType.LOST_IN_TRANSIT,
10749
            "DOA_RECEIVED_PRESTINE" : ScanType.DOA_IN,
10749
            "DOA_RECEIVED_PRESTINE" : ScanType.DOA_IN,
10750
            "DOA_RECEIVED_DAMAGED"  : ScanType.DOA_IN,
10750
            "DOA_RECEIVED_DAMAGED"  : ScanType.DOA_IN,
10751
            "DOA_LOST_IN_TRANSIT"   : ScanType.LOST_IN_TRANSIT
10751
            "DOA_LOST_IN_TRANSIT"   : ScanType.LOST_IN_TRANSIT
10752
        }
10752
        }
10753
    #inventoryClient = InventoryClient().get_client()
10753
    inventoryClient = InventoryClient().get_client()
10754
    #warehouse = inventoryClient.getWarehouse(returnOrder.warehouse_id)
10754
    warehouse = inventoryClient.getWarehouse(returnOrder.warehouse_id)
10755
    #warehouseClient = WarehouseClient().get_client()
10755
    warehouseClient = WarehouseClient().get_client()
10756
 
10756
 
10757
    for returnOrderId in returnOrdersMap.iterkeys():
10757
    for returnOrderId in returnOrdersMap.iterkeys():
10758
        returnOrder = ReturnOrderInfo.get_by(id=returnOrderId)    
10758
        returnOrder = ReturnOrderInfo.get_by(id=returnOrderId)    
10759
        returnOrderDetails = returnOrdersMap.get(returnOrder.id)
10759
        returnOrderDetails = returnOrdersMap.get(returnOrder.id)
10760
        #warehouse = inventoryClient.getWarehouse(returnOrder.warehouse_id) 
10760
        warehouse = inventoryClient.getWarehouse(returnOrder.warehouse_id) 
10761
        
10761
        
10762
        serialNumbers = []
10762
        serialNumbers = []
10763
        if returnOrderDetails.has_key('SerialNumbers'):  
10763
        if returnOrderDetails.has_key('SerialNumbers'):  
10764
            serialNumbersSplitted = returnOrderDetails.get('SerialNumbers').split(',')
10764
            serialNumbersSplitted = returnOrderDetails.get('SerialNumbers').split(',')
10765
            serialNumbers = []
10765
            serialNumbers = []
Line 10770... Line 10770...
10770
        scanFreebie = False
10770
        scanFreebie = False
10771
        if returnOrderDetails.has_key('ScanFreebie') and returnOrderDetails.get('ScanFreebie')=='yes':
10771
        if returnOrderDetails.has_key('ScanFreebie') and returnOrderDetails.get('ScanFreebie')=='yes':
10772
            scanFreebie = True
10772
            scanFreebie = True
10773
        quantity = int(returnOrderDetails.get('Quantity'))
10773
        quantity = int(returnOrderDetails.get('Quantity'))
10774
           
10774
           
10775
#         if warehouse is not None and warehouse.billingType == BillingType.OURS or warehouse.billingType == BillingType.OURS_EXTERNAL:
10775
        if warehouse is not None and warehouse.billingType == BillingType.OURS or warehouse.billingType == BillingType.OURS_EXTERNAL:
10776
#             if scanMap.has_key(returnOrder.returnStatus):
10776
            if scanMap.has_key(returnOrder.returnStatus):
10777
#                 scanType = scanMap[returnOrder.returnStatus]
10777
                scanType = scanMap[returnOrder.returnStatus]
10778
#                 lineitem = returnOrder.lineitem
10778
                lineitem = returnOrder.lineitem
10779
#                 return_qty = lineitem.returnQty - returnOrder.returnQuantity + quantity
10779
                return_qty = lineitem.returnQty - returnOrder.returnQuantity + quantity
10780
#                 lineitem.returnQty = lineitem.returnQty - returnOrder.returnQuantity + quantity
10780
                lineitem.returnQty = lineitem.returnQty - returnOrder.returnQuantity + quantity
10781
#                 order = get_order(returnOrder.orderId)
10781
                order = get_order(returnOrder.orderId)
10782
#                 if return_qty < order.lineitems[0].quantity:
10782
                if return_qty < order.lineitems[0].quantity:
10783
#                     order.status = OrderStatus.PARTIAL_RETURN
10783
                    order.status = OrderStatus.PARTIAL_RETURN
10784
#                 if return_qty == order.lineitems[0].quantity:
10784
                if return_qty == order.lineitems[0].quantity:
10785
#                     order.status = OrderStatus.COMPLETE_RETURN
10785
                    order.status = OrderStatus.COMPLETE_RETURN
10786
#                 if warehouse.billingType == BillingType.OURS or scanType != ScanType.SALE_RET:
10786
                if warehouse.billingType == BillingType.OURS or scanType != ScanType.SALE_RET:
10787
#                     if lineitem.serial_number is not None:
10787
                    if lineitem.serial_number is not None:
10788
#                         if serialNumbers is None or len(serialNumbers)==0 or len(serialNumbers)<quantity:
10788
                        if serialNumbers is None or len(serialNumbers)==0 or len(serialNumbers)<quantity:
10789
#                             return False
10789
                            return False
10790
#                         else:
10790
                        else:
10791
#                             for serialNumber in serialNumbers:
10791
                            for serialNumber in serialNumbers:
10792
#                                 try:
10792
                                try:
10793
#                                     warehouseClient.scanSerializedItemForOrder(serialNumber, scanType, order.id, order.fulfilmentWarehouseId, 1, order.warehouse_id)
10793
                                    warehouseClient.scanSerializedItemForOrder(serialNumber, scanType, order.id, order.fulfilmentWarehouseId, 1, order.warehouse_id)
10794
#                                 except:
10794
                                except:
10795
#                                     warehouseClient = WarehouseClient().get_client()
10795
                                    warehouseClient = WarehouseClient().get_client()
10796
#                                     warehouseClient.scanSerializedItemForOrder(serialNumber, scanType, order.id, order.fulfilmentWarehouseId, 1, order.warehouse_id)
10796
                                    warehouseClient.scanSerializedItemForOrder(serialNumber, scanType, order.id, order.fulfilmentWarehouseId, 1, order.warehouse_id)
10797
#                     else:
10797
                    else:
10798
#                         try:
10798
                        try:
10799
#                             warehouseClient.scanForOrder(None, scanType, quantity, order.id, order.fulfilmentWarehouseId, order.warehouse_id)
10799
                            warehouseClient.scanForOrder(None, scanType, quantity, order.id, order.fulfilmentWarehouseId, order.warehouse_id)
10800
#                         except:
10800
                        except:
10801
#                             warehouseClient = WarehouseClient().get_client()
10801
                            warehouseClient = WarehouseClient().get_client()
10802
#                             warehouseClient.scanForOrder(None, scanType, quantity, order.id, order.fulfilmentWarehouseId, order.warehouse_id)
10802
                            warehouseClient.scanForOrder(None, scanType, quantity, order.id, order.fulfilmentWarehouseId, order.warehouse_id)
10803
#                 if warehouse.billingType == BillingType.OURS_EXTERNAL and scanType == ScanType.SALE_RET:
10803
                if warehouse.billingType == BillingType.OURS_EXTERNAL and scanType == ScanType.SALE_RET:
10804
#                     try:
10804
                    try:
10805
#                         warehouseClient.scanForOursExternalSaleReturn(order.id, lineitem.transfer_price)
10805
                        warehouseClient.scanForOursExternalSaleReturn(order.id, lineitem.transfer_price)
10806
#                     except:
10806
                    except:
10807
#                         warehouseClient = WarehouseClient().get_client()
10807
                        warehouseClient = WarehouseClient().get_client()
10808
#                         warehouseClient.scanForOursExternalSaleReturn(order.id, lineitem.transfer_price)
10808
                        warehouseClient.scanForOursExternalSaleReturn(order.id, lineitem.transfer_price)
10809
#                 if scanFreebie:
10809
                if scanFreebie:
10810
#                     try:
10810
                    try:
10811
#                         warehouseClient.scanfreebie(order.id, order.freebieItemId, 0, scanType)
10811
                        warehouseClient.scanfreebie(order.id, order.freebieItemId, 0, scanType)
10812
#                     except:
10812
                    except:
10813
#                         warehouseClient = WarehouseClient().get_client()
10813
                        warehouseClient = WarehouseClient().get_client()
10814
#                         warehouseClient.scanfreebie(order.id, order.freebieItemId, 0, scanType)
10814
                        warehouseClient.scanfreebie(order.id, order.freebieItemId, 0, scanType)
10815
#     
10815
     
10816
    
10816
    
10817
        isValid = returnOrderDetails.get('productUsable')
10817
        isValid = returnOrderDetails.get('productUsable')
10818
        if returnOrder.returnStatus == OrderStatus._VALUES_TO_NAMES[OrderStatus.DOA_RECEIVED_PRESTINE]:
10818
        if returnOrder.returnStatus == OrderStatus._VALUES_TO_NAMES[OrderStatus.DOA_RECEIVED_PRESTINE]:
10819
            if isValid == "true":
10819
            if isValid == "true":
10820
                returnOrder.returnStatus = OrderStatus._VALUES_TO_NAMES[OrderStatus.DOA_CERT_VALID]
10820
                returnOrder.returnStatus = OrderStatus._VALUES_TO_NAMES[OrderStatus.DOA_CERT_VALID]