Subversion Repositories SmartDukaan

Rev

Rev 14974 | Rev 21839 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5944 mandeep.dh 1
'''
2
Created on 23-Mar-2010
3
 
4
@author: ashish
5
'''
19413 amit.gupta 6
from shop2020.thriftpy.model.v1.inventory.ttypes import ItemInventory, Warehouse, \
7
    VendorItemPricing, Vendor, VendorItemMapping, StateInfo, InventoryType, \
8
    WarehouseType, IgnoredInventoryUpdateItems as TIgnoredinventoryupdateitems, \
9
    ItemStockPurchaseParams, OOSStatus, \
10
    AmazonInventorySnapshot as TAmazonInventorySnapshot, \
11
    AmazonFbaInventorySnapshot as TAmazonFbaInventorySnapshot, \
12
    SnapdealInventoryItem as TSnapdealInventoryItem, \
13
    HoldInventoryDetail as THoldInventoryDetail, \
14
    ItemLocationAvailability as TItemLocationAvailability, \
15
    FlipkartInventorySnapshot as TFlipkartInventorySnapshot, \
16
    StockWeightedNlcInfo as TStockWeightedNlcInfo
5944 mandeep.dh 17
from shop2020.utils.Utils import to_java_date
18
 
19
def to_t_item_inventory(item_inventory_list, item_id):
20
    t_item_inventory = ItemInventory()
21
    t_item_inventory.id = item_id
22
    t_item_inventory.availability = {}
23
    t_item_inventory.reserved = {}
8182 amar.kumar 24
    t_item_inventory.held = {}
5944 mandeep.dh 25
    for inventory_item in item_inventory_list:
26
        t_item_inventory.availability[inventory_item.warehouse.id] = inventory_item.availability
27
        t_item_inventory.reserved[inventory_item.warehouse.id] = inventory_item.reserved
8182 amar.kumar 28
        t_item_inventory.held[inventory_item.warehouse.id] = inventory_item.held
5944 mandeep.dh 29
#        need review again        
30
#        if inventory_item.checkedOn:
31
#            t_item_inventory.lastCheckedOn = to_java_date(inventory_item.checkedOn)
32
    return t_item_inventory
33
 
34
def to_t_warehouse(warehouse):
35
    t_warehouse = Warehouse()
36
    t_warehouse.id = warehouse.id
37
    t_warehouse.displayName = warehouse.displayName
38
    t_warehouse.location = warehouse.location
39
    t_warehouse.tinNumber = warehouse.tinNumber
40
    t_warehouse.pincode = warehouse.pincode
41
    t_warehouse.billingType = warehouse.billingType
42
    t_warehouse.vendor = to_t_vendor(warehouse.vendor)
43
    t_warehouse.billingWarehouseId = warehouse.billingWarehouseId
44
    t_warehouse.shippingWarehouseId = warehouse.shippingWarehouseId
45
    t_warehouse.isAvailabilityMonitored = warehouse.isAvailabilityMonitored
46
    t_warehouse.transferDelayInHours = warehouse.transferDelayInHours
7330 amit.gupta 47
    t_warehouse.stateId = warehouse.state_id
7811 anupam.sin 48
    t_warehouse.logisticsLocation = warehouse.logisticsLocation
5944 mandeep.dh 49
    t_warehouse.inventoryType = InventoryType._NAMES_TO_VALUES[warehouse.inventoryType]
50
    t_warehouse.warehouseType = WarehouseType._NAMES_TO_VALUES[warehouse.warehouseType]
51
    if warehouse.vendorString:
52
        t_warehouse.vendorString = warehouse.vendorString
53
    if warehouse.addedOn:
54
        t_warehouse.addedOn = to_java_date(warehouse.addedOn)
55
    if warehouse.lastCheckedOn:
56
        t_warehouse.lastCheckedOn = to_java_date(warehouse.lastCheckedOn)
12357 manish.sha 57
    t_warehouse.source = warehouse.source
5944 mandeep.dh 58
    return t_warehouse
59
 
6531 vikram.rag 60
def to_t_itemidwarehouseid(iidwid):
61
    t_iidwid = TIgnoredinventoryupdateitems()
62
    t_iidwid.itemId = iidwid.item_id
63
    t_iidwid.warehouseId = iidwid.warehouse_id
64
    return t_iidwid
65
 
12280 amit.gupta 66
def to_t_state(state):
67
    t_state = StateInfo()
68
    t_state.id = state.id
69
    t_state.stateName = state.name
70
    t_state.vatType = state.vatType
71
    return t_state
72
 
5944 mandeep.dh 73
def to_t_vendor(vendor):
74
    t_vendor = Vendor()
75
    t_vendor.id = vendor.id
76
    t_vendor.name = vendor.name
77
    return t_vendor
78
 
79
def to_t_vendor_item_pricing(vendor_item_pricing):
80
    t_vendor_item_pricing = VendorItemPricing()
81
    t_vendor_item_pricing.vendorId = vendor_item_pricing.vendor.id
82
    t_vendor_item_pricing.itemId = vendor_item_pricing.item_id
83
    t_vendor_item_pricing.transferPrice = vendor_item_pricing.transfer_price
6751 amar.kumar 84
    t_vendor_item_pricing.nlc = vendor_item_pricing.nlc
5944 mandeep.dh 85
    t_vendor_item_pricing.dealerPrice = vendor_item_pricing.dealerPrice
86
    t_vendor_item_pricing.mop = vendor_item_pricing.mop
87
    return t_vendor_item_pricing
88
 
89
def to_t_vendor_item_mapping(vendor_item_mapping):
90
    t_vendor_item_mapping = VendorItemMapping()
91
    t_vendor_item_mapping.vendorId = vendor_item_mapping.vendor.id
92
    t_vendor_item_mapping.itemId = vendor_item_mapping.item_id
93
    t_vendor_item_mapping.itemKey = vendor_item_mapping.item_key
6821 amar.kumar 94
    return t_vendor_item_mapping
95
 
96
def to_t_item_stock_purchase_params(item_stock_purchase_params):
97
    t_item_stock_purchase_params = ItemStockPurchaseParams()
11711 vikram.rag 98
    if item_stock_purchase_params is None:
99
        return t_item_stock_purchase_params 
6821 amar.kumar 100
    t_item_stock_purchase_params.item_id = item_stock_purchase_params.item_id
101
    t_item_stock_purchase_params.numOfDaysStock = item_stock_purchase_params.numOfDaysStock
102
    t_item_stock_purchase_params.minStockLevel = item_stock_purchase_params.minStockLevel
6832 amar.kumar 103
    return t_item_stock_purchase_params
104
 
105
def to_t_oos_status(oos_status):
106
    t_oos_status = OOSStatus()
107
    t_oos_status.item_id = oos_status.item_id
108
    t_oos_status.date = to_java_date(oos_status.date)
109
    t_oos_status.is_oos = oos_status.is_oos
110
    t_oos_status.num_orders = oos_status.num_orders
8220 amar.kumar 111
    t_oos_status.rto_orders = oos_status.rto_orders
10126 amar.kumar 112
    t_oos_status.sourceId = oos_status.sourceId
7281 kshitij.so 113
    return t_oos_status
114
 
115
def to_t_amazon_inventory_snapshot(AmazonInventorySnapshot):
116
    t_amazon_inventory_snapshot = TAmazonInventorySnapshot()
117
    t_amazon_inventory_snapshot.item_id = AmazonInventorySnapshot.item_id
118
    t_amazon_inventory_snapshot.availability = AmazonInventorySnapshot.availability
119
    t_amazon_inventory_snapshot.reserved = AmazonInventorySnapshot.reserved
8282 kshitij.so 120
    return t_amazon_inventory_snapshot
121
 
122
def to_t_amazon_fba_inventory_snapshot(AmazonFbaInventorySnapshot):
123
    t_amazon_inventory_snapshot = TAmazonFbaInventorySnapshot()
11173 vikram.rag 124
    if AmazonFbaInventorySnapshot is None:
125
        return t_amazon_inventory_snapshot 
8282 kshitij.so 126
    t_amazon_inventory_snapshot.item_id = AmazonFbaInventorySnapshot.item_id
127
    t_amazon_inventory_snapshot.availability = AmazonFbaInventorySnapshot.availability
11173 vikram.rag 128
    t_amazon_inventory_snapshot.location = AmazonFbaInventorySnapshot.location
129
    t_amazon_inventory_snapshot.reserved = AmazonFbaInventorySnapshot.reserved
130
    t_amazon_inventory_snapshot.inbound = AmazonFbaInventorySnapshot.inbound
131
    t_amazon_inventory_snapshot.unfulfillable = AmazonFbaInventorySnapshot.unfulfillable
9404 vikram.rag 132
    return t_amazon_inventory_snapshot
133
 
134
def to_t_snapdeal_inventory_snapshot(snapdealInventoryItem):
135
    t_snapdeal_inventory_snapshot = TSnapdealInventoryItem()
136
    if snapdealInventoryItem is None:
137
        return t_snapdeal_inventory_snapshot 
138
    t_snapdeal_inventory_snapshot.item_id = snapdealInventoryItem.item_id 
139
    t_snapdeal_inventory_snapshot.availability = snapdealInventoryItem.availability
9495 vikram.rag 140
    t_snapdeal_inventory_snapshot.pendingOrders = snapdealInventoryItem.pendingOrders
9404 vikram.rag 141
    t_snapdeal_inventory_snapshot.lastUpdatedOnSnapdeal = to_java_date(snapdealInventoryItem.lastUpdatedOnSnapdeal)
9761 amar.kumar 142
    return t_snapdeal_inventory_snapshot
143
 
144
def to_t_hold_inventory_detail(holdInventoryDetail):
145
    t_hold_inventory_detail = THoldInventoryDetail()
146
    if holdInventoryDetail:
147
        t_hold_inventory_detail.item_id = holdInventoryDetail.item_id
148
        t_hold_inventory_detail.warehouse_id = holdInventoryDetail.warehouse_id
149
        t_hold_inventory_detail.source = holdInventoryDetail.source
150
        t_hold_inventory_detail.held = holdInventoryDetail.held
151
    return t_hold_inventory_detail
10050 vikram.rag 152
 
153
def to_t_flipkart_inventory_snapshot(flipkartInventoryItem):
154
    t_flipkart_inventory_snapshot = TFlipkartInventorySnapshot()
155
    if flipkartInventoryItem is None:
156
        return t_flipkart_inventory_snapshot 
157
    t_flipkart_inventory_snapshot.item_id = flipkartInventoryItem.item_id 
158
    t_flipkart_inventory_snapshot.availability = flipkartInventoryItem.availability
159
    t_flipkart_inventory_snapshot.heldOrders = flipkartInventoryItem.heldOrders
160
    t_flipkart_inventory_snapshot.createdOrders = flipkartInventoryItem.createdOrders
161
    return t_flipkart_inventory_snapshot
12357 manish.sha 162
 
163
def to_t_stock_weighted_nlc_info(stockWeightedNlcInfo):
164
    t_stock_weighted_nlc_info = TStockWeightedNlcInfo()
165
    t_stock_weighted_nlc_info.itemId = stockWeightedNlcInfo.itemId
166
    t_stock_weighted_nlc_info.source = stockWeightedNlcInfo.source
167
    t_stock_weighted_nlc_info.updatedTimestamp  = to_java_date(stockWeightedNlcInfo.updatedTimestamp)
168
    t_stock_weighted_nlc_info.stockQuantity = stockWeightedNlcInfo.stockQuantity
169
    t_stock_weighted_nlc_info.grnDetail = stockWeightedNlcInfo.grnDetail
170
    t_stock_weighted_nlc_info.avgWeightedNlc = stockWeightedNlcInfo.avgWeightedNlc
171
    return t_stock_weighted_nlc_info
12363 kshitij.so 172
 
19413 amit.gupta 173
def to_t_item_location_availability(itemLocationAvailabilityCache):
174
    t_item_location_availability = TItemLocationAvailability()
175
    t_item_location_availability.itemId = itemLocationAvailabilityCache.item_id
176
    t_item_location_availability.locationId = itemLocationAvailabilityCache.location_id
177
    t_item_location_availability.physicalQty = itemLocationAvailabilityCache.physical_availability
178
    t_item_location_availability.virtualQty = itemLocationAvailabilityCache.virtual_availability
179
    t_item_location_availability.minTransferDelay = itemLocationAvailabilityCache.min_transfer_delay
180
    t_item_location_availability.virtualQty = itemLocationAvailabilityCache.max_transfer_delay
181
    return t_item_location_availability
182