Subversion Repositories SmartDukaan

Rev

Rev 18150 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1961 ankur.sing 1
package in.shop2020.catalog.dashboard.client;
2
 
3
 
21864 ashik.ali 4
import java.util.List;
5
import java.util.Map;
6
 
7
import com.google.gwt.user.client.rpc.RemoteService;
8
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
9
 
18150 kshitij.so 10
import in.shop2020.catalog.dashboard.shared.BulkItemPricing;
21864 ashik.ali 11
import in.shop2020.catalog.dashboard.shared.CategoryHsnCode;
1961 ankur.sing 12
import in.shop2020.catalog.dashboard.shared.Item;
4431 phani.kuma 13
import in.shop2020.catalog.dashboard.shared.ItemInventory;
3850 chandransh 14
import in.shop2020.catalog.dashboard.shared.ItemStatus;
6530 vikram.rag 15
import in.shop2020.catalog.dashboard.shared.ItemWarehouse;
12523 amit.gupta 16
import in.shop2020.catalog.dashboard.shared.StateVat;
1961 ankur.sing 17
 
18
@RemoteServiceRelativePath("catalog")
19
public interface CatalogService extends RemoteService {
2427 ankur.sing 20
 
21
    /**
22
     * Updates all parameters of an item
23
     * @param item
24
     * @return  true if update is successful. 
25
     *       <br>false if any error occurred while updating
26
     */
1992 ankur.sing 27
    boolean updateItem(Item item);
2427 ankur.sing 28
 
29
    /**
30
     * This method calls the update item on production catalog service.
31
     * It updates prices of the item. (MRP, SP, and vendor prices)
32
     * @param item
33
     * @return - String. If any error occurred, then the string contains an error message to be shown to the user
34
     * otherwise it contains the success message 
35
     */
36
    String updateItemOnProduction(Item item);
6096 amit.gupta 37
 
38
	String updateExpectedDelayOnProd(Item item);
2208 ankur.sing 39
 
3850 chandransh 40
    int getItemCountByStatus(boolean useStatus, ItemStatus itemStatus);
2427 ankur.sing 41
 
3850 chandransh 42
    List<Item> getAllItems(int start, int limit);
43
 
2427 ankur.sing 44
    /**
45
     * @return list of PHASED_OUT items.
46
     */
3850 chandransh 47
    List<Item> getAllPhasedOutItems(int start, int limit);
2427 ankur.sing 48
 
49
    /**
50
     * @return list of PAUSED items.
51
     */
3850 chandransh 52
    List<Item> getAllPausedItems(int start, int limit);
2427 ankur.sing 53
 
54
    /**
55
     * @return list of all ACTIVE items.
56
     */
3850 chandransh 57
    List<Item> getAllActiveItems(int start, int limit);
2427 ankur.sing 58
 
59
    /**
60
     * @return list of items with status IN_PROCESS
61
     */
3850 chandransh 62
    List<Item> getAllInProcessItems(int start, int limit);
2427 ankur.sing 63
 
64
    /**
65
     * @return list of items with status CONTENT_COMPLETE 
66
     */
3850 chandransh 67
    List<Item> getAllContentCompleteItems(int start, int limit);
2359 ankur.sing 68
 
2427 ankur.sing 69
    /**
70
     * @return list of items which are also best deals.
71
     */
1961 ankur.sing 72
    List<Item> getBestDeals();
2427 ankur.sing 73
 
74
    /**
75
     * @return list of items which are also best sellers.
76
     */
1961 ankur.sing 77
    List<Item> getBestSellers();
2427 ankur.sing 78
 
79
    /**
80
     * @return list of latest items.
81
     */
1961 ankur.sing 82
    List<Item> getLatestArrivals();
2427 ankur.sing 83
 
84
    /**
85
     * @return list of items flagged as risky.
86
     */
2359 ankur.sing 87
    List<Item> getRiskyItems();
2208 ankur.sing 88
 
2427 ankur.sing 89
    /**
3872 chandransh 90
     * 
91
     * @param searchTerms a list of strings
92
     * @return list of items corresponding to the given search terms
93
     */
94
    List<Item> searchItems(int start, int limit, List<String> searchTerms);
95
 
96
    /**
97
     * 
98
     * @param searchTerms
99
     * @return the number of items this search will return
100
     */
101
    int getSearchResultCount(List<String> searchTerms);
102
 
103
    /**
2427 ankur.sing 104
     * This method makes a fresh call to the service to fetch details for item Id.
105
     * It also gets the vendor pricing details and vendor key mappings
106
     * and sets them as java.util.Map in item object.
107
     * @param itemId
108
     * @return item object containing details of item corresponding to the item id.
109
     *         <br>null if any error occurs while fetching item details.
110
     */
1961 ankur.sing 111
    Item getItem(long itemId);
2066 ankur.sing 112
 
2427 ankur.sing 113
    /**
114
     * return map of all vendors with key-value pairs of vendor Id and vendor name
115
     */
2066 ankur.sing 116
    Map<Long,String> getAllVendors();
2427 ankur.sing 117
 
118
    /**
3558 rajveer 119
     * return map of all sources with key-value pairs of source Id and source name
120
     */
121
    Map<Long,String> getAllSources();
122
 
123
    /**
2427 ankur.sing 124
     * @return map of all warehouses with key-value pairs of warehouse Id and warehouse name
125
     */
2066 ankur.sing 126
    Map<Long,String> getAllWarehouses();
5118 mandeep.dh 127
 
2427 ankur.sing 128
    /**
5118 mandeep.dh 129
     * @return map of all shipping warehouses with key-value pairs of warehouse Id and warehouse name
130
     */
131
    Map<Long,String> getShippingWarehouses();
132
 
133
    /**
2427 ankur.sing 134
     * Changes the status of an item to PHASED_OUT
135
     * @param itemId
136
     */
2105 ankur.sing 137
    void phaseoutItem(long itemId);
2427 ankur.sing 138
 
139
    /**
140
     * Changes the status of an item to ACTIVE
141
     * @param itemId
142
     */
2105 ankur.sing 143
    void activateItem(long itemId);
2427 ankur.sing 144
 
145
    /**
146
     * Changes the status of an item to PAUSED
147
     * @param itemId
148
     */
2126 ankur.sing 149
    void pauseItem(long itemId);
2427 ankur.sing 150
 
151
    /**
152
     * Changes the status of an item to IN_PROCESS
153
     * @param itemId
154
     */
2126 ankur.sing 155
    void markInProcess(long itemId);
2427 ankur.sing 156
 
157
    /**
158
     * Adds a new item to catalog database.
159
     * It also adds the vendor item pricings and vendor keys.
160
     * @param item
161
     * @return Id of the newly added item
162
     */
2105 ankur.sing 163
    long addItem(Item item);
2119 ankur.sing 164
 
2427 ankur.sing 165
    /**
166
     * This method is called while adding a new item.
167
     * This method is used to check if the dashboard user is trying to add an item which exits already.
168
     * If the item already exists, then its id is shown to the user. 
169
     * @param productGroup
170
     * @param brand
171
     * @param modelNumber
172
     * @param color
173
     * @return Id of an item with the same product group, brand, model number and color if exists
174
     *     <br>else 0
175
     */
4725 phani.kuma 176
    long checkSimilarItem(String brand, String modelNumber, String modelName, String color);
2359 ankur.sing 177
 
2427 ankur.sing 178
    /**
179
     * Sets/Resets the risky flag of an item.
180
     * This method will change the flag on the staging server and then on the production server.
181
     * @return true if the flag is changed successfully
182
     * <br> false if any error occurred while changing risky flag on staging and production
183
     */
2359 ankur.sing 184
    boolean changeItemRiskyFlag(long itemId, boolean risky);
4423 phani.kuma 185
 
186
    boolean deleteSimilarItem(long itemId, long catalogItemId);
187
 
188
	Item addSimilarItem(long itemId, long catalogItemId);
4431 phani.kuma 189
 
190
	Map<Long, ItemInventory> getProdItemInventory(long itemId);
4649 phani.kuma 191
 
192
	boolean addAuthorizationLog(long itemId, String username, String message);
193
 
194
	Map<String, String> getConfigdataforPriceCompare();
4957 phani.kuma 195
 
196
	List<String> getAllCategories();
12523 amit.gupta 197
 
198
	Map<Long, String> getAllCategoriesMap();
4957 phani.kuma 199
 
200
	List<String> getAllBrands();
5504 phani.kuma 201
 
5516 phani.kuma 202
	boolean deleteVoucher(Long catalogItemId, Long voucherTypeValue);
5504 phani.kuma 203
 
5516 phani.kuma 204
	boolean addVoucher(Long catalogItemId, Long voucherTypeValue, long voucherAmount);
5504 phani.kuma 205
 
5516 phani.kuma 206
	Map<Long, String> getvoucherTypes();
5586 phani.kuma 207
 
208
	boolean getConfigforentityIdMandatory();
209
 
210
	boolean checkEntityId(long entityId);
6530 vikram.rag 211
 
212
	List<Item> getInventoryOutofSyncItems(int offset, int limit);
213
 
214
	int getInventoryOutofSyncItemsCount();
215
 
216
	List<Long> getMonitoredWarehouseIdsForVendors(List<Long> vendorIds);
217
 
218
	List<ItemWarehouse> getignoredInventoryUpdateItemsIdsWarehouseIds();
219
 
220
	boolean addtoIgnoredInventoryUpdateItemsIdsWarehouseIds(long itemId,
221
			long warehouseId);
222
 
223
	boolean deleteFromIgnoredInventoryUpdateItemsIdsWarehouseIds(
224
			long itemId, long warehouseId);
6838 vikram.rag 225
 
226
	Map<Long,String> getAllInsurers();
11671 vikram.rag 227
 
228
	List<Item> getPrivateDealItems(int offset,int limit);
229
 
12523 amit.gupta 230
	Map<Long, Double> getVatRates(long itemId, long categoryId);
231
 
232
	Map<Long, String> getAllStatesMap();
233
 
11671 vikram.rag 234
	int getPrivateDealItemsCount();
12523 amit.gupta 235
 
236
	boolean markPartiallyActive(long itemId, Long categoryId);
237
 
238
	boolean updateItemStateVat(long itemId, List<StateVat> svs);
18150 kshitij.so 239
 
240
	BulkItemPricing addBulkPricingForItem(BulkItemPricing bulkItemPricing);
241
 
242
	List<BulkItemPricing> getBulkPricingByItemId(long item_id);
243
 
244
	boolean deleteBulkPricingForItemById(long id);
245
 
246
	boolean deleteBulkPricingForItem(long itemId);
21864 ashik.ali 247
 
248
	public List<CategoryHsnCode> getHsnCodesByCategoryId(int categoryId);
6530 vikram.rag 249
 
1961 ankur.sing 250
}