Subversion Repositories SmartDukaan

Rev

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

Rev 4434 Rev 4435
Line 16... Line 16...
16
from shop2020.clients.UserClient import UserClient
16
from shop2020.clients.UserClient import UserClient
17
from shop2020.clients.WarehouseClient import WarehouseClient
17
from shop2020.clients.WarehouseClient import WarehouseClient
18
from shop2020.config.client.ConfigClient import ConfigClient
18
from shop2020.config.client.ConfigClient import ConfigClient
19
from shop2020.model.v1 import order
19
from shop2020.model.v1 import order
20
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem, \
20
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem, \
21
    Order, BatchNoGenerator, InvoiceIDGenerator, \
21
    Order, BatchNoGenerator, InvoiceIDGenerator, TransactionRequiringExtraProcessing, \
22
    TransactionRequiringExtraProcessing, OrderInventory, Alert
22
    OrderInventory, Alert
23
from shop2020.model.v1.order.impl.model.ReturnOrder import ReturnOrder
23
from shop2020.model.v1.order.impl.model.ReturnOrder import ReturnOrder
24
from shop2020.thriftpy.logistics.ttypes import DeliveryType
24
from shop2020.thriftpy.logistics.ttypes import DeliveryType
25
from shop2020.thriftpy.model.v1.catalog.ttypes import BillingType
25
from shop2020.thriftpy.model.v1.catalog.ttypes import BillingType, \
-
 
26
    InventoryServiceException
26
from shop2020.thriftpy.model.v1.order.ttypes import \
27
from shop2020.thriftpy.model.v1.order.ttypes import TransactionServiceException, \
27
    TransactionServiceException, TransactionStatus, OrderStatus, DelayReason, \
28
    TransactionStatus, OrderStatus, DelayReason, ExtraTransactionProcessingType, \
28
    ExtraTransactionProcessingType, HotspotAction, TimeoutSummary
29
    HotspotAction, TimeoutSummary
29
from shop2020.thriftpy.payments.ttypes import PaymentException
30
from shop2020.thriftpy.payments.ttypes import PaymentException
30
from shop2020.thriftpy.warehouse.ttypes import PurchaseOrder, \
31
from shop2020.thriftpy.warehouse.ttypes import PurchaseOrder, \
31
    LineItem as POLineItem, ScanType
32
    LineItem as POLineItem, ScanType
32
from shop2020.utils.EmailAttachmentSender import mail, get_attachment_part
33
from shop2020.utils.EmailAttachmentSender import mail, get_attachment_part
33
from shop2020.utils.Utils import to_py_date, to_java_date
34
from shop2020.utils.Utils import to_py_date, to_java_date
Line 38... Line 39...
38
from textwrap import dedent
39
from textwrap import dedent
39
import datetime
40
import datetime
40
import logging
41
import logging
41
import os
42
import os
42
import sys
43
import sys
43
import traceback
-
 
44
import time
44
import time
-
 
45
import traceback
45
logging.basicConfig(level=logging.DEBUG)
46
logging.basicConfig(level=logging.DEBUG)
46
 
47
 
47
 
48
 
48
try:
49
try:
49
    config_client = ConfigClient()
50
    config_client = ConfigClient()
Line 647... Line 648...
647
        order.statusDescription = "Order Billed"
648
        order.statusDescription = "Order Billed"
648
        order.billing_timestamp = datetime.datetime.now()
649
        order.billing_timestamp = datetime.datetime.now()
649
        order.billed_by = billedBy
650
        order.billed_by = billedBy
650
        lineitem = order.lineitems[0]
651
        lineitem = order.lineitems[0]
651
        item_id = lineitem.item_id
652
        item_id = lineitem.item_id
-
 
653
 
-
 
654
        # Not letting the billing process fail in cases where we are unable to 
-
 
655
        # fill in transfer price
-
 
656
        item_pricing = None
-
 
657
        try:
652
        catalog_client = CatalogClient().get_client()
658
            catalog_client = CatalogClient().get_client()
653
        item_pricing = catalog_client.getItemPricing(item_id, vendorId)
659
            item_pricing = catalog_client.getItemPricing(item_id, vendorId)
-
 
660
        except InventoryServiceException as e:
-
 
661
            print sys.exc_info()[0]
-
 
662
            print e.message
-
 
663
 
654
        order.vendorId = vendorId
664
        order.vendorId = vendorId
655
        lineitems = order.lineitems
665
        lineitems = order.lineitems
656
        for lineitem in lineitems:
666
        for lineitem in lineitems:
657
            catalog_client.reduceReservationCount(item_id, order.warehouse_id, lineitem.quantity)
667
            catalog_client.reduceReservationCount(item_id, order.warehouse_id, lineitem.quantity)
-
 
668
 
-
 
669
        # Putting NULL as transfer price for cases where its missing
-
 
670
        if item_pricing is not None:        
658
        order.lineitems[0].transfer_price = item_pricing.transferPrice
671
            order.lineitems[0].transfer_price = item_pricing.transferPrice
659
        session.commit()
672
        session.commit()
660
 
673
 
661
        # For Mahipal warehouse, we need to scan out items for every billed order
674
        # For Mahipal warehouse, we need to scan out items for every billed order
662
        if order.warehouse_id == 7:
675
        if order.warehouse_id == 7:
663
            try:
676
            try: