Subversion Repositories SmartDukaan

Rev

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

Rev 4758 Rev 5110
Line 7... Line 7...
7
from shop2020.clients.CatalogClient import CatalogClient
7
from shop2020.clients.CatalogClient import CatalogClient
8
from shop2020.clients.TransactionClient import TransactionClient
8
from shop2020.clients.TransactionClient import TransactionClient
9
from shop2020.purchase.main.model.LineItem import LineItem
9
from shop2020.purchase.main.model.LineItem import LineItem
10
from shop2020.purchase.main.model.Purchase import Purchase
10
from shop2020.purchase.main.model.Purchase import Purchase
11
from shop2020.purchase.main.model.PurchaseOrder import PurchaseOrder
11
from shop2020.purchase.main.model.PurchaseOrder import PurchaseOrder
12
from shop2020.purchase.main.model.RevisionedPurchaseOrder import RevisionedPurchaseOrder
12
from shop2020.purchase.main.model.RevisionedPurchaseOrder import \
-
 
13
    RevisionedPurchaseOrder
13
from shop2020.purchase.main.model.Supplier import Supplier
14
from shop2020.purchase.main.model.Supplier import Supplier
-
 
15
from shop2020.thriftpy.model.v1.catalog.ttypes import WarehouseType, \
-
 
16
    InventoryType
14
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
17
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
15
from shop2020.thriftpy.purchase.ttypes import PurchaseServiceException, POStatus, \
18
from shop2020.thriftpy.purchase.ttypes import PurchaseServiceException, POStatus, \
16
    PurchaseOrder as TPurchaseOrder, LineItem as TLineItem
19
    PurchaseOrder as TPurchaseOrder, LineItem as TLineItem
17
from sqlalchemy import create_engine
20
from sqlalchemy import create_engine
18
import datetime
21
import datetime
Line 136... Line 139...
136
        """
139
        """
137
        try:
140
        try:
138
            if open:
141
            if open:
139
                purchases = Purchase.query.filter_by(purchaseOrder_id = purchaseOrderId, receivedOn = None).all()
142
                purchases = Purchase.query.filter_by(purchaseOrder_id = purchaseOrderId, receivedOn = None).all()
140
            else:
143
            else:
141
                purchases = Purchase.query.filter_by(purchaseOrder_id = purchaseOrderId).filter(receivedOn != None).all()
144
                purchases = Purchase.query.filter_by(purchaseOrder_id = purchaseOrderId).filter(Purchase.receivedOn != None).all()
142
            
145
            
143
            return [purchase.to_thrift_object() for purchase in purchases]
146
            return [purchase.to_thrift_object() for purchase in purchases]
144
        finally:
147
        finally:
145
            self.close_session()
148
            self.close_session()
146
 
149
 
Line 174... Line 177...
174
            if not pending_orders:
177
            if not pending_orders:
175
                return purchaseOrders
178
                return purchaseOrders
176
 
179
 
177
            catalog_client = CatalogClient().get_client()
180
            catalog_client = CatalogClient().get_client()
178
            availability = {}
181
            availability = {}
-
 
182
            
-
 
183
            warehouses = catalog_client.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, 0, None, warehouseId)
-
 
184
            for warehouse in warehouses:
-
 
185
                goodWarehouseId = warehouse.id
179
            for item in catalog_client.getAllItemsForWarehouse(warehouseId):
186
                for item in catalog_client.getAllItemsForWarehouse(goodWarehouseId):
-
 
187
                    if availability.has_key(item.id):
-
 
188
                        availability[item.id] = [availability[item.id][0] + item.itemInventory.availability[goodWarehouseId], item]
-
 
189
                    else:
180
                availability[item.id] = [item.itemInventory.availability[warehouseId], item]
190
                        availability[item.id] = [item.itemInventory.availability[goodWarehouseId], item]
181
 
191
 
182
            codRequirements = {}
192
            codRequirements = {}
183
            requirements = {}
193
            requirements = {}
184
            for order in pending_orders:
194
            for order in pending_orders:
185
                if order.purchaseOrderId:
195
                if order.purchaseOrderId: