Subversion Repositories SmartDukaan

Rev

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

Rev 7106 Rev 7410
Line 557... Line 557...
557
        try:
557
        try:
558
            return [i.to_thrift_object() for i in Invoice.query.filter(Invoice.date > to_py_date(date)).all()]
558
            return [i.to_thrift_object() for i in Invoice.query.filter(Invoice.date > to_py_date(date)).all()]
559
        finally:
559
        finally:
560
            self.close_session()
560
            self.close_session()
561
            
561
            
-
 
562
    def getInvoicesForWarehouse(self, warehouseId, supplierId, date):
-
 
563
        """
-
 
564
        Fetches all invoices for a given date for specified physical warehouse
-
 
565
 
-
 
566
        Parameters:
-
 
567
         - date
-
 
568
        """
-
 
569
        try:
-
 
570
            return [i.to_thrift_object() for i in Invoice.query.filter(Invoice.date > to_py_date(date)).filter(Invoice.warehouseId == warehouseId).filter(Invoice.supplierId == supplierId).all()]
-
 
571
        finally:
-
 
572
            self.close_session()
-
 
573
            
562
    def getInvoice(self, invoiceNumber, supplierId):
574
    def getInvoice(self, invoiceNumber, supplierId):
563
        """
575
        """
564
        Fetches all invoices for  given invoiceNumber and supplierId 
576
        Fetches all invoices for  given invoiceNumber and supplierId 
565
 
577
 
566
        Parameters:
578
        Parameters:
Line 589... Line 601...
589
            invoiceObj.invoiceNumber = invoice.invoiceNumber
601
            invoiceObj.invoiceNumber = invoice.invoiceNumber
590
            invoiceObj.date = to_py_date(invoice.date)
602
            invoiceObj.date = to_py_date(invoice.date)
591
            invoiceObj.receivedFrom = invoice.receivedFrom
603
            invoiceObj.receivedFrom = invoice.receivedFrom
592
            invoiceObj.numItems = invoice.numItems
604
            invoiceObj.numItems = invoice.numItems
593
            invoiceObj.supplierId = invoice.supplierId
605
            invoiceObj.supplierId = invoice.supplierId
-
 
606
            invoiceObj.warehouseId = invoice.warehouseId
594
            session.commit()
607
            session.commit()
595
        finally:
608
        finally:
596
            self.close_session()        
609
            self.close_session()        
597
 
610
 
598
    def addSupplier(self, supplier):
611
    def addSupplier(self, supplier):
Line 727... Line 740...
727
        lineItem = LineItem.get_by(purchaseOrder_id=poId, itemId=itemId)
740
        lineItem = LineItem.get_by(purchaseOrder_id=poId, itemId=itemId)
728
        lineItem.unfulfilledQuantity = lineItem.unfulfilledQuantity - 1
741
        lineItem.unfulfilledQuantity = lineItem.unfulfilledQuantity - 1
729
        if not lineItem.unfulfilledQuantity:
742
        if not lineItem.unfulfilledQuantity:
730
            lineItem.fulfilled = 1
743
            lineItem.fulfilled = 1
731
        session.commit()
744
        session.commit()
-
 
745
    
-
 
746
    def closePO(self, poId):
-
 
747
        purchaseOrder = PurchaseOrder.get_by(id=poId)
-
 
748
        if not purchaseOrder:
-
 
749
                raise PurchaseServiceException(101, "No purchase order can be found with id:" + str(id))
-
 
750
        purchaseOrder.status = 4
-
 
751
        session.commit()
-
 
752
 
-
 
753
    def isInvoiceReceived(self, invoiceNumber, supplierId):
-
 
754
        """
-
 
755
        Returns whether invoice is already received for given invoiceNumber and supplierId 
732
 
756
 
-
 
757
        Parameters:
-
 
758
         - invoiceNumber, supplierId
-
 
759
        """
-
 
760
        try:
-
 
761
            invoice = Invoice.query.filter_by(invoiceNumber=invoiceNumber, supplierId=supplierId).first()
-
 
762
            if invoice is None:
-
 
763
                return False
-
 
764
            else:
-
 
765
                return True
-
 
766
        finally:
-
 
767
            self.close_session()
-
 
768
    
733
    def isAlive(self,):
769
    def isAlive(self,):
734
        """
770
        """
735
        For checking weather service is active alive or not. It also checks connectivity with database
771
        For checking weather service is active alive or not. It also checks connectivity with database
736
        """
772
        """
737
        try:
773
        try: