Subversion Repositories SmartDukaan

Rev

Rev 19413 | Rev 21841 | 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
21839 amit.gupta 71
    t_state.stateCode = state.stateCode
12280 amit.gupta 72
    return t_state
73
 
5944 mandeep.dh 74
def to_t_vendor(vendor):
75
    t_vendor = Vendor()
76
    t_vendor.id = vendor.id
77
    t_vendor.name = vendor.name
78
    return t_vendor
79
 
80
def to_t_vendor_item_pricing(vendor_item_pricing):
81
    t_vendor_item_pricing = VendorItemPricing()
82
    t_vendor_item_pricing.vendorId = vendor_item_pricing.vendor.id
83
    t_vendor_item_pricing.itemId = vendor_item_pricing.item_id
84
    t_vendor_item_pricing.transferPrice = vendor_item_pricing.transfer_price
6751 amar.kumar 85
    t_vendor_item_pricing.nlc = vendor_item_pricing.nlc
5944 mandeep.dh 86
    t_vendor_item_pricing.dealerPrice = vendor_item_pricing.dealerPrice
87
    t_vendor_item_pricing.mop = vendor_item_pricing.mop
88
    return t_vendor_item_pricing
89
 
90
def to_t_vendor_item_mapping(vendor_item_mapping):
91
    t_vendor_item_mapping = VendorItemMapping()
92
    t_vendor_item_mapping.vendorId = vendor_item_mapping.vendor.id
93
    t_vendor_item_mapping.itemId = vendor_item_mapping.item_id
94
    t_vendor_item_mapping.itemKey = vendor_item_mapping.item_key
6821 amar.kumar 95
    return t_vendor_item_mapping
96
 
97
def to_t_item_stock_purchase_params(item_stock_purchase_params):
98
    t_item_stock_purchase_params = ItemStockPurchaseParams()
11711 vikram.rag 99
    if item_stock_purchase_params is None:
100
        return t_item_stock_purchase_params 
6821 amar.kumar 101
    t_item_stock_purchase_params.item_id = item_stock_purchase_params.item_id
102
    t_item_stock_purchase_params.numOfDaysStock = item_stock_purchase_params.numOfDaysStock
103
    t_item_stock_purchase_params.minStockLevel = item_stock_purchase_params.minStockLevel
6832 amar.kumar 104
    return t_item_stock_purchase_params
105
 
106
def to_t_oos_status(oos_status):
107
    t_oos_status = OOSStatus()
108
    t_oos_status.item_id = oos_status.item_id
109
    t_oos_status.date = to_java_date(oos_status.date)
110
    t_oos_status.is_oos = oos_status.is_oos
111
    t_oos_status.num_orders = oos_status.num_orders
8220 amar.kumar 112
    t_oos_status.rto_orders = oos_status.rto_orders
10126 amar.kumar 113
    t_oos_status.sourceId = oos_status.sourceId
7281 kshitij.so 114
    return t_oos_status
115
 
116
def to_t_amazon_inventory_snapshot(AmazonInventorySnapshot):
117
    t_amazon_inventory_snapshot = TAmazonInventorySnapshot()
118
    t_amazon_inventory_snapshot.item_id = AmazonInventorySnapshot.item_id
119
    t_amazon_inventory_snapshot.availability = AmazonInventorySnapshot.availability
120
    t_amazon_inventory_snapshot.reserved = AmazonInventorySnapshot.reserved
8282 kshitij.so 121
    return t_amazon_inventory_snapshot
122
 
123
def to_t_amazon_fba_inventory_snapshot(AmazonFbaInventorySnapshot):
124
    t_amazon_inventory_snapshot = TAmazonFbaInventorySnapshot()
11173 vikram.rag 125
    if AmazonFbaInventorySnapshot is None:
126
        return t_amazon_inventory_snapshot 
8282 kshitij.so 127
    t_amazon_inventory_snapshot.item_id = AmazonFbaInventorySnapshot.item_id
128
    t_amazon_inventory_snapshot.availability = AmazonFbaInventorySnapshot.availability
11173 vikram.rag 129
    t_amazon_inventory_snapshot.location = AmazonFbaInventorySnapshot.location
130
    t_amazon_inventory_snapshot.reserved = AmazonFbaInventorySnapshot.reserved
131
    t_amazon_inventory_snapshot.inbound = AmazonFbaInventorySnapshot.inbound
132
    t_amazon_inventory_snapshot.unfulfillable = AmazonFbaInventorySnapshot.unfulfillable
9404 vikram.rag 133
    return t_amazon_inventory_snapshot
134
 
135
def to_t_snapdeal_inventory_snapshot(snapdealInventoryItem):
136
    t_snapdeal_inventory_snapshot = TSnapdealInventoryItem()
137
    if snapdealInventoryItem is None:
138
        return t_snapdeal_inventory_snapshot 
139
    t_snapdeal_inventory_snapshot.item_id = snapdealInventoryItem.item_id 
140
    t_snapdeal_inventory_snapshot.availability = snapdealInventoryItem.availability
9495 vikram.rag 141
    t_snapdeal_inventory_snapshot.pendingOrders = snapdealInventoryItem.pendingOrders
9404 vikram.rag 142
    t_snapdeal_inventory_snapshot.lastUpdatedOnSnapdeal = to_java_date(snapdealInventoryItem.lastUpdatedOnSnapdeal)
9761 amar.kumar 143
    return t_snapdeal_inventory_snapshot
144
 
145
def to_t_hold_inventory_detail(holdInventoryDetail):
146
    t_hold_inventory_detail = THoldInventoryDetail()
147
    if holdInventoryDetail:
148
        t_hold_inventory_detail.item_id = holdInventoryDetail.item_id
149
        t_hold_inventory_detail.warehouse_id = holdInventoryDetail.warehouse_id
150
        t_hold_inventory_detail.source = holdInventoryDetail.source
151
        t_hold_inventory_detail.held = holdInventoryDetail.held
152
    return t_hold_inventory_detail
10050 vikram.rag 153
 
154
def to_t_flipkart_inventory_snapshot(flipkartInventoryItem):
155
    t_flipkart_inventory_snapshot = TFlipkartInventorySnapshot()
156
    if flipkartInventoryItem is None:
157
        return t_flipkart_inventory_snapshot 
158
    t_flipkart_inventory_snapshot.item_id = flipkartInventoryItem.item_id 
159
    t_flipkart_inventory_snapshot.availability = flipkartInventoryItem.availability
160
    t_flipkart_inventory_snapshot.heldOrders = flipkartInventoryItem.heldOrders
161
    t_flipkart_inventory_snapshot.createdOrders = flipkartInventoryItem.createdOrders
162
    return t_flipkart_inventory_snapshot
12357 manish.sha 163
 
164
def to_t_stock_weighted_nlc_info(stockWeightedNlcInfo):
165
    t_stock_weighted_nlc_info = TStockWeightedNlcInfo()
166
    t_stock_weighted_nlc_info.itemId = stockWeightedNlcInfo.itemId
167
    t_stock_weighted_nlc_info.source = stockWeightedNlcInfo.source
168
    t_stock_weighted_nlc_info.updatedTimestamp  = to_java_date(stockWeightedNlcInfo.updatedTimestamp)
169
    t_stock_weighted_nlc_info.stockQuantity = stockWeightedNlcInfo.stockQuantity
170
    t_stock_weighted_nlc_info.grnDetail = stockWeightedNlcInfo.grnDetail
171
    t_stock_weighted_nlc_info.avgWeightedNlc = stockWeightedNlcInfo.avgWeightedNlc
172
    return t_stock_weighted_nlc_info
12363 kshitij.so 173
 
19413 amit.gupta 174
def to_t_item_location_availability(itemLocationAvailabilityCache):
175
    t_item_location_availability = TItemLocationAvailability()
176
    t_item_location_availability.itemId = itemLocationAvailabilityCache.item_id
177
    t_item_location_availability.locationId = itemLocationAvailabilityCache.location_id
178
    t_item_location_availability.physicalQty = itemLocationAvailabilityCache.physical_availability
179
    t_item_location_availability.virtualQty = itemLocationAvailabilityCache.virtual_availability
180
    t_item_location_availability.minTransferDelay = itemLocationAvailabilityCache.min_transfer_delay
181
    t_item_location_availability.virtualQty = itemLocationAvailabilityCache.max_transfer_delay
182
    return t_item_location_availability
183