Subversion Repositories SmartDukaan

Rev

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

Rev 5147 Rev 5185
Line 272... Line 272...
272
        try:
272
        try:
273
            return [Supplier.to_thrift_object(supplier) for supplier in Supplier.query.all()]
273
            return [Supplier.to_thrift_object(supplier) for supplier in Supplier.query.all()]
274
        finally:
274
        finally:
275
            self.close_session()
275
            self.close_session()
276
 
276
 
-
 
277
    def unFulfillPO(self, purchaseId, itemId, quantity):
-
 
278
        """
-
 
279
        Unfulfills a given purchase id and an item with its quantity.
-
 
280
 
-
 
281
        Parameters:
-
 
282
         - purchaseId
-
 
283
         - itemId
-
 
284
         - quantity
-
 
285
        """
-
 
286
        try:
-
 
287
            purchaseOrderId = Purchase.query.filter_by(id = purchaseId).one().purchaseOrder_id
-
 
288
            lineitems = LineItem.query.filter_by(purchaseOrder_id = purchaseOrderId, itemId = itemId).all()
-
 
289
            if lineitems:
-
 
290
                fulfilledQuantity = lineitems[0].quantity - lineitems[0].unfulfilledQuantity
-
 
291
                if fulfilledQuantity < quantity:
-
 
292
                    raise PurchaseServiceException(101, 'Can UnFulfill only ' + str(fulfilledQuantity) + 'quantity')
-
 
293
                else:
-
 
294
                    
-
 
295
                    lineitems[0].unfulfilledQuantity += quantity
-
 
296
                    lineitems[0].fulfilled = 0
-
 
297
                    purchaseOrder = PurchaseOrder.get_by(id=purchaseOrderId)
-
 
298
                    purchaseOrder.status = POStatus.PARTIALLY_FULFILLED
-
 
299
                    session.commit()
-
 
300
                    return
-
 
301
 
-
 
302
            raise PurchaseServiceException(101, 'No lineitem found with this itemId: ' + str(itemId) + ' in PO Id: ' + str(purchaseOrderId))
-
 
303
        finally:
-
 
304
            self.close_session()        
-
 
305
 
277
    def fulfillPO(self, purchaseOrderId, itemId, quantity):
306
    def fulfillPO(self, purchaseOrderId, itemId, quantity):
278
        """
307
        """
279
        Fulfills a given purchase order with an item.
308
        Fulfills a given purchase order with an item.
280
 
309
 
281
        Parameters:
310
        Parameters: