Subversion Repositories SmartDukaan

Rev

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

Rev 7410 Rev 7672
Line 60... Line 60...
60
            t_purchaseOrder.type = POType.VIRTUAL
60
            t_purchaseOrder.type = POType.VIRTUAL
61
            purchaseOrder = PurchaseOrder(t_purchaseOrder)
61
            purchaseOrder = PurchaseOrder(t_purchaseOrder)
62
            session.commit()
62
            session.commit()
63
        return purchaseOrder.id    
63
        return purchaseOrder.id    
64
       
64
       
65
    def updatelineItemforOursExternalBilling(self, poId, itemId, unitPrice):
65
    def updatelineItemforOursExternalBilling(self, poId, itemId, unitPrice, nlc):
66
        lineItem = LineItem.get_by(purchaseOrder_id=poId, itemId=itemId)
66
        lineItem = LineItem.get_by(purchaseOrder_id=poId, itemId=itemId)
67
        if lineItem is None:
67
        if lineItem is None:
68
            purchaseOrder = PurchaseOrder.get_by(id=poId)
68
            purchaseOrder = PurchaseOrder.get_by(id=poId)
69
            t_lineItem = TLineItem()
69
            t_lineItem = TLineItem()
70
            t_lineItem.itemId = itemId
70
            t_lineItem.itemId = itemId
71
            t_lineItem.quantity = 1
71
            t_lineItem.quantity = 1
72
            t_lineItem.unfulfilledQuantity = 1
72
            t_lineItem.unfulfilledQuantity = 1
73
            t_lineItem.createdAt = datetime.datetime.now()
73
            t_lineItem.createdAt = datetime.datetime.now()
74
            t_lineItem.unitPrice = unitPrice
74
            t_lineItem.unitPrice = unitPrice
-
 
75
            t_lineItem.nlc = nlc
75
            t_lineItem.fulfilled = False
76
            t_lineItem.fulfilled = False
76
            lineItem = LineItem(purchaseOrder, t_lineItem)
77
            lineItem = LineItem(purchaseOrder, t_lineItem)
77
        else:
78
        else:
78
            lineItem.quantity = lineItem.quantity + 1
79
            lineItem.quantity = lineItem.quantity + 1
79
            lineItem.fulfilled = False
80
            lineItem.fulfilled = False
Line 423... Line 424...
423
                        vendor = self.getSupplier(vendorId)
424
                        vendor = self.getSupplier(vendorId)
424
                        print 'Could not find transfer price for Item id: ' + str(item.id) + ' and vendor id: ' + str(vendorId)
425
                        print 'Could not find transfer price for Item id: ' + str(item.id) + ' and vendor id: ' + str(vendorId)
425
                        print e
426
                        print e
426
                        raise PurchaseServiceException(101, 'Transfer price missing for ' + vendor.name + ' and ' + " ".join([item.brand, item.modelName, item.modelNumber, item.color]))
427
                        raise PurchaseServiceException(101, 'Transfer price missing for ' + vendor.name + ' and ' + " ".join([item.brand, item.modelName, item.modelNumber, item.color]))
427
                    t_po_lineitem.unitPrice = item_pricing.transferPrice
428
                    t_po_lineitem.unitPrice = item_pricing.transferPrice
-
 
429
                    t_po_lineitem.nlc = item_pricing.nlc
428
                    t_purchase_order.lineitems.append(t_po_lineitem)
430
                    t_purchase_order.lineitems.append(t_po_lineitem)
429
                purchaseOrders.append(t_purchase_order)
431
                purchaseOrders.append(t_purchase_order)
430
            return purchaseOrders
432
            return purchaseOrders
431
        except Exception as e:
433
        except Exception as e:
432
            print e
434
            print e
Line 531... Line 533...
531
                revisionedPurchaseOrder.purchaseOrderId = purchaseOrder.id
533
                revisionedPurchaseOrder.purchaseOrderId = purchaseOrder.id
532
                revisionedPurchaseOrder.revision = maxRevision
534
                revisionedPurchaseOrder.revision = maxRevision
533
                revisionedPurchaseOrder.itemId = lineitem.itemId
535
                revisionedPurchaseOrder.itemId = lineitem.itemId
534
                revisionedPurchaseOrder.unfulfilledQuantity = lineitem.unfulfilledQuantity
536
                revisionedPurchaseOrder.unfulfilledQuantity = lineitem.unfulfilledQuantity
535
                revisionedPurchaseOrder.unitPrice = lineitem.unitPrice
537
                revisionedPurchaseOrder.unitPrice = lineitem.unitPrice
-
 
538
                revisionedPurchaseOrder.nlc = lineitem.nlc
536
                revisionedPurchaseOrder.createdAt = lineitem.createdAt
539
                revisionedPurchaseOrder.createdAt = lineitem.createdAt
537
                revisionedPurchaseOrder.quantity = lineitem.quantity
540
                revisionedPurchaseOrder.quantity = lineitem.quantity
538
                lineitem.delete()
541
                lineitem.delete()
539
            existingPurchaseOrder.lineitems = [LineItem(existingPurchaseOrder, t_lineitem) for t_lineitem in purchaseOrder.lineitems]
542
            existingPurchaseOrder.lineitems = [LineItem(existingPurchaseOrder, t_lineitem) for t_lineitem in purchaseOrder.lineitems]
540
            existingPurchaseOrder.totalCost = sum([t_lineitem.quantity * t_lineitem.unitPrice for t_lineitem in purchaseOrder.lineitems])
543
            existingPurchaseOrder.totalCost = sum([t_lineitem.quantity * t_lineitem.unitPrice for t_lineitem in purchaseOrder.lineitems])
Line 721... Line 724...
721
            print e
724
            print e
722
            raise PurchaseServiceException(101, 'Exception while settling Purchase Return Id : ' + id)
725
            raise PurchaseServiceException(101, 'Exception while settling Purchase Return Id : ' + id)
723
        finally:
726
        finally:
724
            self.close_session()
727
            self.close_session()
725
    
728
    
726
    def createPurchaseForOurExtBilling(self, invoiceNumber, unitPrice, itemId):
729
    def createPurchaseForOurExtBilling(self, invoiceNumber, unitPrice, nlc, itemId):
727
        try:
730
        try:
728
            poId = self.getPOforOurExternalBilling()
731
            poId = self.getPOforOurExternalBilling()
729
            self.updatelineItemforOursExternalBilling(poId, itemId, unitPrice)
732
            self.updatelineItemforOursExternalBilling(poId, itemId, unitPrice, nlc)
730
            self.receiveinvoiceforOursExternalBilling(invoiceNumber)
733
            self.receiveinvoiceforOursExternalBilling(invoiceNumber)
731
            return self.createPurchaseforOursExternalBilling(poId, invoiceNumber)
734
            return self.createPurchaseforOursExternalBilling(poId, invoiceNumber)
732
        except Exception as e:
735
        except Exception as e:
733
            print e
736
            print e
734
            raise PurchaseServiceException(101, '')
737
            raise PurchaseServiceException(101, '')