| Line 1... |
Line 1... |
| 1 |
package in.shop2020.catalog.dashboard.client;
|
1 |
package in.shop2020.catalog.dashboard.client;
|
| 2 |
|
2 |
|
| 3 |
import in.shop2020.catalog.dashboard.shared.Item;
|
3 |
import in.shop2020.catalog.dashboard.shared.Item;
|
| - |
|
4 |
import in.shop2020.catalog.dashboard.shared.ItemInventory;
|
| 4 |
import in.shop2020.catalog.dashboard.shared.SourcePricings;
|
5 |
import in.shop2020.catalog.dashboard.shared.SourcePricings;
|
| 5 |
import in.shop2020.catalog.dashboard.shared.Utils;
|
6 |
import in.shop2020.catalog.dashboard.shared.Utils;
|
| 6 |
import in.shop2020.catalog.dashboard.shared.VendorItemMapping;
|
7 |
import in.shop2020.catalog.dashboard.shared.VendorItemMapping;
|
| 7 |
import in.shop2020.catalog.dashboard.shared.VendorPricings;
|
8 |
import in.shop2020.catalog.dashboard.shared.VendorPricings;
|
| 8 |
|
9 |
|
| Line 55... |
Line 56... |
| 55 |
TABLE_INDEX_SOURCE_PRICING_BUTTON = 3,
|
56 |
TABLE_INDEX_SOURCE_PRICING_BUTTON = 3,
|
| 56 |
TABLE_INDEX_SOURCE_PRICING_SOURCE_ID = 4;
|
57 |
TABLE_INDEX_SOURCE_PRICING_SOURCE_ID = 4;
|
| 57 |
|
58 |
|
| 58 |
private final int TABLE_INDEX_WAREHOUSE_ID = 0,
|
59 |
private final int TABLE_INDEX_WAREHOUSE_ID = 0,
|
| 59 |
TABLE_INDEX_WAREHOUSE_DESC = 1,
|
60 |
TABLE_INDEX_WAREHOUSE_DESC = 1,
|
| 60 |
TABLE_INDEX_WAREHOUSE_INV = 2;
|
61 |
TABLE_INDEX_WAREHOUSE_INVA = 2,
|
| - |
|
62 |
TABLE_INDEX_WAREHOUSE_INVR = 3,
|
| - |
|
63 |
TABLE_INDEX_WAREHOUSE_GET_BUTTON = 4,
|
| - |
|
64 |
TABLE_INDEX_WAREHOUSE_UPDATE_BUTTON = 5;
|
| 61 |
|
65 |
|
| 62 |
private final int TABLE_INDEX_SIMILAR_ITEMS_CATALOG_ITEM_ID = 0,
|
66 |
private final int TABLE_INDEX_SIMILAR_ITEMS_CATALOG_ITEM_ID = 0,
|
| 63 |
TABLE_INDEX_SIMILAR_ITEMS_PRODUCT_GROUP = 1,
|
67 |
TABLE_INDEX_SIMILAR_ITEMS_PRODUCT_GROUP = 1,
|
| 64 |
TABLE_INDEX_SIMILAR_ITEMS_BRAND = 2,
|
68 |
TABLE_INDEX_SIMILAR_ITEMS_BRAND = 2,
|
| 65 |
TABLE_INDEX_SIMILAR_ITEMS_MODEL_NUMBER = 3,
|
69 |
TABLE_INDEX_SIMILAR_ITEMS_MODEL_NUMBER = 3,
|
| Line 114... |
Line 118... |
| 114 |
initAvailabilityHeader();
|
118 |
initAvailabilityHeader();
|
| 115 |
initVendorKeysHeader();
|
119 |
initVendorKeysHeader();
|
| 116 |
initVendorPricingHeader();
|
120 |
initVendorPricingHeader();
|
| 117 |
initSourcePricingHeader();
|
121 |
initSourcePricingHeader();
|
| 118 |
initSimilarItemList();
|
122 |
initSimilarItemList();
|
| 119 |
headerAvailability.setVisible(false);
|
- |
|
| 120 |
availabilityTable.setVisible(false);
|
- |
|
| 121 |
}
|
123 |
}
|
| 122 |
|
124 |
|
| 123 |
/**
|
125 |
/**
|
| 124 |
* Sets the UI fields with item object attributes
|
126 |
* Sets the UI fields with item object attributes
|
| 125 |
* Also populates tables for vendor prices, keys and item availability
|
127 |
* Also populates tables for vendor prices, keys and item availability
|
| Line 158... |
Line 160... |
| 158 |
defaultForEntity.setValue(item.isDefaultForEntity());
|
160 |
defaultForEntity.setValue(item.isDefaultForEntity());
|
| 159 |
risky.setValue(item.isRisky());
|
161 |
risky.setValue(item.isRisky());
|
| 160 |
|
162 |
|
| 161 |
itemStatus.setText(item.getItemStatus());
|
163 |
itemStatus.setText(item.getItemStatus());
|
| 162 |
|
164 |
|
| 163 |
updateAvailabilityTable(item.getAvailability());
|
165 |
updateAvailabilityTable(item.getItemInventory());
|
| 164 |
updateVendorKeysTable(item.getVendorKeysMap());
|
166 |
updateVendorKeysTable(item.getVendorKeysMap());
|
| 165 |
updateVendorPricingTable(item.getVendorPricesMap());
|
167 |
updateVendorPricingTable(item.getVendorPricesMap());
|
| 166 |
updateSourcePricingTable(item.getSourcePricesMap());
|
168 |
updateSourcePricingTable(item.getSourcePricesMap());
|
| 167 |
updateSimilarItemsTable(item.getSimilarItems());
|
169 |
updateSimilarItemsTable(item.getSimilarItems());
|
| 168 |
}
|
170 |
}
|
| 169 |
|
171 |
|
| 170 |
/**
|
172 |
/**
|
| 171 |
* initialise item availability table header.
|
173 |
* initialise item availability table header.
|
| 172 |
*/
|
174 |
*/
|
| 173 |
private void initAvailabilityHeader(){
|
175 |
private void initAvailabilityHeader(){
|
| 174 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_ID, "128px");
|
176 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_ID, "100px");
|
| 175 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_DESC, "300px");
|
177 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_DESC, "300px");
|
| - |
|
178 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_INVA, "100px");
|
| 176 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_INV, "128px");
|
179 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_INVR, "100px");
|
| - |
|
180 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_GET_BUTTON, "100px");
|
| - |
|
181 |
headerAvailability.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_UPDATE_BUTTON, "100px");
|
| 177 |
|
182 |
|
| 178 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_ID, "Warehouse Id");
|
183 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_ID, "Warehouse Id");
|
| 179 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_DESC, "Warehouse Desc");
|
184 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_DESC, "Warehouse Desc");
|
| 180 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_INV, "Availability");
|
185 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_INVA, "Availability");
|
| - |
|
186 |
headerAvailability.setText(0, TABLE_INDEX_WAREHOUSE_INVR, "Reserved");
|
| - |
|
187 |
|
| - |
|
188 |
Button getLiveDataButton = new Button("Get Live Data");
|
| - |
|
189 |
headerAvailability.setWidget(0, TABLE_INDEX_WAREHOUSE_GET_BUTTON, getLiveDataButton);
|
| - |
|
190 |
getLiveDataButton.addClickHandler(new ClickHandler() {
|
| - |
|
191 |
@Override
|
| - |
|
192 |
public void onClick(ClickEvent event) {
|
| - |
|
193 |
catalogService.getProdItemInventory(item.getId(), new AsyncCallback<Map<Long, ItemInventory>>() {
|
| - |
|
194 |
@Override
|
| - |
|
195 |
public void onSuccess(Map<Long, ItemInventory> itemInventoryMap) {
|
| - |
|
196 |
if(itemInventoryMap != null) {
|
| - |
|
197 |
GWT.log("Inventory Data fetched");
|
| - |
|
198 |
item.setItemInventory(itemInventoryMap);
|
| - |
|
199 |
updateAvailabilityTable(item.getItemInventory());
|
| - |
|
200 |
}
|
| - |
|
201 |
else {
|
| - |
|
202 |
GWT.log("Error fetching Inventory Data");
|
| - |
|
203 |
Window.alert("Error fetching Inventory Data");
|
| - |
|
204 |
}
|
| - |
|
205 |
}
|
| - |
|
206 |
@Override
|
| - |
|
207 |
public void onFailure(Throwable caught) {
|
| - |
|
208 |
caught.printStackTrace();
|
| - |
|
209 |
Window.alert("Error fetching Inventory Data");
|
| - |
|
210 |
}
|
| - |
|
211 |
});
|
| - |
|
212 |
}
|
| - |
|
213 |
});
|
| - |
|
214 |
|
| - |
|
215 |
Button updateLiveDataButton = new Button("Update Live Data");
|
| - |
|
216 |
headerAvailability.setWidget(0, TABLE_INDEX_WAREHOUSE_UPDATE_BUTTON, updateLiveDataButton);
|
| - |
|
217 |
/* code to be rewritten later
|
| - |
|
218 |
updateLiveDataButton.addClickHandler(new ClickHandler() {
|
| - |
|
219 |
@Override
|
| - |
|
220 |
public void onClick(ClickEvent event) {
|
| - |
|
221 |
catalogService.getProdItemInventory(item.getId(), new AsyncCallback<Map<Long, ItemInventory>>() {
|
| - |
|
222 |
@Override
|
| - |
|
223 |
public void onSuccess(Map<Long, ItemInventory> itemInventoryMap) {
|
| - |
|
224 |
if(itemInventoryMap != null) {
|
| - |
|
225 |
GWT.log("Inventory Data fetched");
|
| - |
|
226 |
item.setItemInventory(itemInventoryMap);
|
| - |
|
227 |
updateAvailabilityTable(item.getItemInventory());
|
| - |
|
228 |
}
|
| - |
|
229 |
else {
|
| - |
|
230 |
GWT.log("Error fetching Inventory Data");
|
| - |
|
231 |
Window.alert("Error fetching Inventory Data");
|
| - |
|
232 |
}
|
| - |
|
233 |
}
|
| - |
|
234 |
@Override
|
| - |
|
235 |
public void onFailure(Throwable caught) {
|
| - |
|
236 |
caught.printStackTrace();
|
| - |
|
237 |
Window.alert("Error fetching Inventory Data");
|
| - |
|
238 |
}
|
| - |
|
239 |
});
|
| - |
|
240 |
}
|
| - |
|
241 |
});
|
| - |
|
242 |
*/
|
| - |
|
243 |
headerAvailability.getCellFormatter().setVisible(0, TABLE_INDEX_WAREHOUSE_UPDATE_BUTTON, false);
|
| 181 |
|
244 |
|
| 182 |
}
|
245 |
}
|
| 183 |
|
246 |
|
| 184 |
/**
|
247 |
/**
|
| 185 |
* initialises vendor item key table header. Creates an Add button and
|
248 |
* initialises vendor item key table header. Creates an Add button and
|
| Line 416... |
Line 479... |
| 416 |
|
479 |
|
| 417 |
/**
|
480 |
/**
|
| 418 |
* Clear and populate item availability table.
|
481 |
* Clear and populate item availability table.
|
| 419 |
* @param availabilityMap
|
482 |
* @param availabilityMap
|
| 420 |
*/
|
483 |
*/
|
| 421 |
private void updateAvailabilityTable(Map<Long, Long> availabilityMap){
|
484 |
private void updateAvailabilityTable(Map<Long, ItemInventory> itemInventoryMap){
|
| 422 |
availabilityTable.removeAllRows();
|
485 |
availabilityTable.removeAllRows();
|
| 423 |
if(availabilityMap == null) {
|
486 |
if(itemInventoryMap == null || itemInventoryMap.isEmpty()) {
|
| 424 |
return;
|
487 |
return;
|
| 425 |
}
|
488 |
}
|
| 426 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_ID, "128px");
|
489 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_ID, "100px");
|
| 427 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_DESC, "300px");
|
490 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_DESC, "300px");
|
| - |
|
491 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_INVA, "100px");
|
| 428 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_INV, "128px");
|
492 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_INVR, "100px");
|
| - |
|
493 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_GET_BUTTON, "100px");
|
| - |
|
494 |
availabilityTable.getColumnFormatter().setWidth(TABLE_INDEX_WAREHOUSE_UPDATE_BUTTON, "100px");
|
| 429 |
|
495 |
|
| 430 |
int i=0;
|
496 |
int i=0;
|
| 431 |
for(Entry<Long, Long> availability : availabilityMap.entrySet()){
|
497 |
for(ItemInventory warehousedata : itemInventoryMap.values()){
|
| 432 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_ID, availability.getKey() + "");
|
498 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_ID, warehousedata.getWarehouseId() + "");
|
| 433 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_DESC, Utils.getWarehouseDesc(availability.getKey()));
|
499 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_DESC, Utils.getWarehouseDesc(warehousedata.getWarehouseId()) + "");
|
| - |
|
500 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_INVA, warehousedata.getAvailability() + "");
|
| 434 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_INV, availability.getValue() + "");
|
501 |
availabilityTable.setText(i, TABLE_INDEX_WAREHOUSE_INVR, warehousedata.getReserved() + "");
|
| 435 |
i++;
|
502 |
i++;
|
| 436 |
}
|
503 |
}
|
| 437 |
}
|
504 |
}
|
| 438 |
|
505 |
|
| 439 |
/**
|
506 |
/**
|
| Line 869... |
Line 936... |
| 869 |
newItem.setAddedOn(item.getAddedOn());
|
936 |
newItem.setAddedOn(item.getAddedOn());
|
| 870 |
newItem.setRetireDate(item.getRetireDate());
|
937 |
newItem.setRetireDate(item.getRetireDate());
|
| 871 |
newItem.setUpdatedOn(item.getUpdatedOn());
|
938 |
newItem.setUpdatedOn(item.getUpdatedOn());
|
| 872 |
newItem.setItemStatus(item.getItemStatus());
|
939 |
newItem.setItemStatus(item.getItemStatus());
|
| 873 |
newItem.setOtherInfo(item.getOtherInfo());
|
940 |
newItem.setOtherInfo(item.getOtherInfo());
|
| 874 |
newItem.setAvailability(item.getAvailability());
|
941 |
newItem.setItemInventory(item.getItemInventory());
|
| 875 |
newItem.setSimilarItems(item.getSimilarItems());
|
942 |
newItem.setSimilarItems(item.getSimilarItems());
|
| 876 |
|
943 |
|
| 877 |
return true;
|
944 |
return true;
|
| 878 |
}
|
945 |
}
|
| 879 |
|
946 |
|