Subversion Repositories SmartDukaan

Rev

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

Rev 4423 Rev 4431
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