Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
22925 ashik.ali 1
package com.spice.profitmandi.service.inventory;
22471 ashik.ali 2
 
22925 ashik.ali 3
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
24995 amit.gupta 4
import com.spice.profitmandi.common.model.BrandStockPrice;
22925 ashik.ali 5
import com.spice.profitmandi.common.model.CustomCurrentInventorySnapshot;
22471 ashik.ali 6
import com.spice.profitmandi.common.model.InventoryItemAgingModel;
26299 amit.gupta 7
import com.spice.profitmandi.common.model.ItemDescriptionModel;
30493 amit.gupta 8
import com.spice.profitmandi.dao.entity.catalog.Category;
23650 amit.gupta 9
import com.spice.profitmandi.dao.entity.fofo.CustomerReturnItem;
23638 amit.gupta 10
import com.spice.profitmandi.dao.entity.fofo.DebitNote;
23884 amit.gupta 11
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
23638 amit.gupta 12
import com.spice.profitmandi.dao.entity.fofo.PurchaseReturnItem;
30493 amit.gupta 13
import org.springframework.cache.annotation.Cacheable;
30148 amit.gupta 14
import org.springframework.stereotype.Service;
23796 amit.gupta 15
 
30148 amit.gupta 16
import java.time.LocalDate;
17
import java.time.LocalDateTime;
18
import java.util.List;
19
import java.util.Map;
20
import java.util.Set;
21
 
22471 ashik.ali 22
@Service
22925 ashik.ali 23
public interface InventoryService {
33245 ranu 24
    public Map<Integer, String> getItemIdDescriptionMap(Set<Integer> itemIds) throws ProfitMandiBusinessException;
27529 tejbeer 25
 
24083 amit.gupta 26
	public Map<Integer, String> getCatalogItemDescriptionMap(String brand, int categoryId);
27529 tejbeer 27
 
23418 ashik.ali 28
	public Set<String> getAllTagListingBrands();
27529 tejbeer 29
 
23443 amit.gupta 30
	public Set<String> getAllTagListingBrands(int categoryId);
27529 tejbeer 31
 
37776 amit 32
	public Set<String> getAllTagListingBrands(int categoryId, boolean serializedOnly);
33
 
30493 amit.gupta 34
	@Cacheable(value = "catalog.categories", cacheManager = "thirtyMinsTimeOutCacheManager")
33245 ranu 35
    List<Category> getAllCategories() throws ProfitMandiBusinessException;
30493 amit.gupta 36
 
33245 ranu 37
    public Map<Integer, String> getModelDescriptionMap(String brand) throws ProfitMandiBusinessException;
27529 tejbeer 38
 
30148 amit.gupta 39
	public Map<Integer, String> getModelDescriptionMap(Set<String> brands) throws Exception;
27529 tejbeer 40
 
30500 amit.gupta 41
	public Map<Integer, String> getModelDescriptionMap(int categoryId, List<String> brands) throws Exception;
42
 
37776 amit 43
	public Map<Integer, String> getModelDescriptionMap(int categoryId, List<String> brands, boolean serializedOnly) throws Exception;
44
 
33245 ranu 45
    public Map<String, Object> getCurrentInventorySnapshot(int fofoId, int offset, int limit, String searchTerm) throws ProfitMandiBusinessException;
27529 tejbeer 46
 
22925 ashik.ali 47
	public Map<String, Object> getBadInventorySnapshot(int fofoId, int offset, int limit, String searchTerm);
27529 tejbeer 48
 
49
	public Map<String, Object> getPaginatedCurrentInventorySnapshot(int fofoId, int offset, int limit,
33245 ranu 50
                                                                    String searchTerm) throws ProfitMandiBusinessException;
27529 tejbeer 51
 
30197 tejbeer 52
	public Map<String, Object> getCatalog(int fofoId, int offset, int limit, String searchTerm, int catalogItemId,
30500 amit.gupta 53
										  String brand, boolean accesories) throws ProfitMandiBusinessException;
27529 tejbeer 54
 
30197 tejbeer 55
	public Map<String, Object> getPaginatedCatalog(int fofoId, int offset, int limit, String searchTerm, int itemId,
56
			String brand, boolean accesories) throws ProfitMandiBusinessException;
27529 tejbeer 57
 
58
	public CustomCurrentInventorySnapshot checkItemAvailability(int itemId, int fofoId)
59
			throws ProfitMandiBusinessException;
60
 
61
	public Map<String, Object> getGrnHistory(int fofoId, LocalDateTime startTime, LocalDateTime endTime, int offset,
62
			int limit, String purchaseReference, String searchType) throws ProfitMandiBusinessException;
63
 
64
	public Map<String, Object> getPaginatedGrnHistory(int fofoId, LocalDateTime startTime, LocalDateTime endTime,
65
			int offset, int limit) throws ProfitMandiBusinessException;
66
 
67
	public Map<String, Object> getGrnHistoryDetail(int fofoId, int purchaseId, String host, int port, String webapp)
68
			throws ProfitMandiBusinessException;
69
 
70
	public Map<String, Object> getGrnHistoryDetail(int fofoId, String purchaseReference, String host, int port,
71
			String webapp) throws ProfitMandiBusinessException;
72
 
73
	public List<InventoryItemAgingModel> getItemAgingByInterval(int fofoId, List<Integer> intervals)
74
			throws ProfitMandiBusinessException;
75
 
76
	public Map<String, Object> getPaginatedItemAgingByInterval(int fofoId, List<Integer> intervals,
77
			String searchContent, int offset, int limit) throws ProfitMandiBusinessException;
78
 
22925 ashik.ali 79
	public Map<String, Object> addToCart(String cartJson, int fofoId) throws ProfitMandiBusinessException;
27529 tejbeer 80
 
22925 ashik.ali 81
	public Map<String, Object> validateCart(String cartJson, int fofoId) throws ProfitMandiBusinessException;
27529 tejbeer 82
 
23650 amit.gupta 83
	public void saleReturnInventoryItem(CustomerReturnItem customerReturnItem) throws ProfitMandiBusinessException;
27529 tejbeer 84
 
24995 amit.gupta 85
	public Map<String, BrandStockPrice> getBrandWiseStockValue(int fofoId);
27529 tejbeer 86
 
87
	public void returnInventory(PurchaseReturnItem purchaseReturnItem);
88
 
89
	// public void returnInventoryItems(List<InventoryItem> inventoryItems,
90
	// DebitNote debitNote);
23638 amit.gupta 91
	public void returnItems(DebitNote debitNote) throws Exception;
27529 tejbeer 92
 
36103 amit 93
	public void restoreReturnedItems(DebitNote debitNote) throws Exception;
94
 
37776 amit 95
	/** Same as {@link #restoreReturnedItems(DebitNote)}, limited to the given items of the debit note. */
96
	public void restoreReturnedItems(DebitNote debitNote, List<PurchaseReturnItem> purchaseReturnItems) throws Exception;
97
 
23884 amit.gupta 98
	float getTotalAmountInStock(int fofoId);
27529 tejbeer 99
 
23884 amit.gupta 100
	List<InventoryItem> getInventoryInStock();
27529 tejbeer 101
 
23884 amit.gupta 102
	List<InventoryItem> getInventoryInStock(int fofoId, int itemId);
27529 tejbeer 103
 
23884 amit.gupta 104
	List<InventoryItem> getInventoryInStock(int fofoId, int itemId, LocalDateTime date);
27529 tejbeer 105
 
23884 amit.gupta 106
	List<InventoryItem> getInventoryInStock(int itemId, LocalDateTime date);
27529 tejbeer 107
 
23968 amit.gupta 108
	public void updatePriceDrop(List<InventoryItem> inventoryItems, float amount);
27529 tejbeer 109
 
33245 ranu 110
    public Map<Integer, String> getCatalogIdDescriptionMap(Set<Integer> catalogIds) throws ProfitMandiBusinessException;
27529 tejbeer 111
 
24264 amit.gupta 112
	public void rollbackInventory(int inventoryItemId, int rollbackQuantity, int orderId);
27529 tejbeer 113
 
35191 amit 114
    double getActivatedStockAmount(int fofoId) throws ProfitMandiBusinessException;
27529 tejbeer 115
 
27618 tejbeer 116
	public List<ItemDescriptionModel> getAllPartnerItemStringDescription(boolean anyColor);
27529 tejbeer 117
 
37563 amit 118
	/**
119
	 * @param activeOnly true to keep only items with a live tag_listing row, so a
120
	 *                   delisted SKU cannot be picked into a new PO or price drop.
121
	 */
122
	public List<ItemDescriptionModel> getAllPartnerItemStringDescription(boolean anyColor, boolean activeOnly);
123
 
26299 amit.gupta 124
	public void addActivatedImeis(Map<String, LocalDateTime> imeisActivationMap);
27529 tejbeer 125
 
33952 aman.kumar 126
	public void addActivatedImeis(Map<String, LocalDateTime> imeisActivationMap, int authId);
127
 
27529 tejbeer 128
	Map<Integer, List<InventoryItemAgingModel>> getItemAgingByInterval(List<Integer> intervals)
129
			throws ProfitMandiBusinessException;
130
 
30197 tejbeer 131
	void getItemAvailabilityAndIndent() throws Exception;
27583 tejbeer 132
 
133
	public Map<Integer, AvailabilityModel> getStoreAndOurStock(int storeId, List<Integer> itemIds);
134
}