| Line 298... |
Line 298... |
| 298 |
if lineitems:
|
298 |
if lineitems:
|
| 299 |
fulfilledQuantity = lineitems[0].quantity - lineitems[0].unfulfilledQuantity
|
299 |
fulfilledQuantity = lineitems[0].quantity - lineitems[0].unfulfilledQuantity
|
| 300 |
if fulfilledQuantity < quantity:
|
300 |
if fulfilledQuantity < quantity:
|
| 301 |
raise PurchaseServiceException(101, 'Can UnFulfill only ' + str(fulfilledQuantity) + 'quantity')
|
301 |
raise PurchaseServiceException(101, 'Can UnFulfill only ' + str(fulfilledQuantity) + 'quantity')
|
| 302 |
else:
|
302 |
else:
|
| 303 |
|
- |
|
| 304 |
lineitems[0].unfulfilledQuantity += quantity
|
303 |
lineitems[0].unfulfilledQuantity = lineitems[0].unfulfilledQuantity + quantity
|
| 305 |
lineitems[0].fulfilled = 0
|
304 |
lineitems[0].fulfilled = 0
|
| 306 |
purchaseOrder = PurchaseOrder.get_by(id=purchaseOrderId)
|
305 |
purchaseOrder = PurchaseOrder.get_by(id=purchaseOrderId)
|
| 307 |
purchaseOrder.status = POStatus.PARTIALLY_FULFILLED
|
306 |
purchaseOrder.status = POStatus.PARTIALLY_FULFILLED
|
| 308 |
session.commit()
|
307 |
session.commit()
|
| 309 |
return
|
308 |
return
|
| Line 366... |
Line 365... |
| 366 |
raise PurchaseServiceException(101, 'Cannot remove fulfilled item id: ' + str(lineitem.itemId) + ' from PO')
|
365 |
raise PurchaseServiceException(101, 'Cannot remove fulfilled item id: ' + str(lineitem.itemId) + ' from PO')
|
| 367 |
else:
|
366 |
else:
|
| 368 |
if newPOItems[lineitem.itemId].quantity < fulfilledQuantity:
|
367 |
if newPOItems[lineitem.itemId].quantity < fulfilledQuantity:
|
| 369 |
raise PurchaseServiceException(101, 'More quantity already fulfilled for item id: ' + str(lineitem.itemId))
|
368 |
raise PurchaseServiceException(101, 'More quantity already fulfilled for item id: ' + str(lineitem.itemId))
|
| 370 |
else:
|
369 |
else:
|
| 371 |
newPOItems[lineitem.itemId].unfulfilledQuantity -= fulfilledQuantity
|
370 |
newPOItems[lineitem.itemId].unfulfilledQuantity = newPOItems[lineitem.itemId].unfulfilledQuantity - fulfilledQuantity
|
| 372 |
revisionedPurchaseOrder = RevisionedPurchaseOrder()
|
371 |
revisionedPurchaseOrder = RevisionedPurchaseOrder()
|
| 373 |
revisionedPurchaseOrder.purchaseOrderId = purchaseOrder.id
|
372 |
revisionedPurchaseOrder.purchaseOrderId = purchaseOrder.id
|
| 374 |
revisionedPurchaseOrder.revision = maxRevision
|
373 |
revisionedPurchaseOrder.revision = maxRevision
|
| 375 |
revisionedPurchaseOrder.itemId = lineitem.itemId
|
374 |
revisionedPurchaseOrder.itemId = lineitem.itemId
|
| 376 |
revisionedPurchaseOrder.unfulfilledQuantity = lineitem.unfulfilledQuantity
|
375 |
revisionedPurchaseOrder.unfulfilledQuantity = lineitem.unfulfilledQuantity
|