Subversion Repositories SmartDukaan

Rev

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

Rev 5110 Rev 5147
Line 313... Line 313...
313
            existingPurchaseOrder = PurchaseOrder.get_by(id = purchaseOrder.id)
313
            existingPurchaseOrder = PurchaseOrder.get_by(id = purchaseOrder.id)
314
            maxRevision = 0
314
            maxRevision = 0
315
            existingRevisions = RevisionedPurchaseOrder.query.filter_by(purchaseOrderId = purchaseOrder.id).all()
315
            existingRevisions = RevisionedPurchaseOrder.query.filter_by(purchaseOrderId = purchaseOrder.id).all()
316
            if existingRevisions:
316
            if existingRevisions:
317
                maxRevision = max([a.revision for a in existingRevisions]) + 1
317
                maxRevision = max([a.revision for a in existingRevisions]) + 1
-
 
318
 
-
 
319
            newPOItems = {}
-
 
320
            for t_lineitem in purchaseOrder.lineitems:
-
 
321
                newPOItems[t_lineitem.itemId] = t_lineitem
-
 
322
 
318
            for lineitem in existingPurchaseOrder.lineitems:
323
            for lineitem in existingPurchaseOrder.lineitems:
-
 
324
                fulfilledQuantity = lineitem.quantity - lineitem.unfulfilledQuantity
-
 
325
                if fulfilledQuantity:
-
 
326
                    if not newPOItems.has_key(lineitem.itemId):
-
 
327
                        raise PurchaseServiceException(101, 'Cannot remove fulfilled item id: ' + str(lineitem.itemId) + ' from PO')
-
 
328
                    else:
-
 
329
                        if newPOItems[lineitem.itemId].quantity < fulfilledQuantity:
-
 
330
                            raise PurchaseServiceException(101, 'More quantity already fulfilled for item id: ' + str(lineitem.itemId))
-
 
331
                        else:
-
 
332
                            newPOItems[lineitem.itemId].unfulfilledQuantity -= fulfilledQuantity
319
                revisionedPurchaseOrder = RevisionedPurchaseOrder()
333
                revisionedPurchaseOrder = RevisionedPurchaseOrder()
320
                revisionedPurchaseOrder.purchaseOrderId = purchaseOrder.id
334
                revisionedPurchaseOrder.purchaseOrderId = purchaseOrder.id
321
                revisionedPurchaseOrder.revision = maxRevision
335
                revisionedPurchaseOrder.revision = maxRevision
322
                revisionedPurchaseOrder.itemId = lineitem.itemId
336
                revisionedPurchaseOrder.itemId = lineitem.itemId
323
                revisionedPurchaseOrder.unfulfilledQuantity = lineitem.unfulfilledQuantity
337
                revisionedPurchaseOrder.unfulfilledQuantity = lineitem.unfulfilledQuantity