Subversion Repositories SmartDukaan

Rev

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

Rev 22244 Rev 22354
Line 40... Line 40...
40
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
40
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
41
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
41
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
42
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
42
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
43
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
43
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
44
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
44
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
-
 
45
import com.spice.profitmandi.service.pricing.PricingService;
45
import com.spice.profitmandi.web.model.LoginDetails;
46
import com.spice.profitmandi.web.model.LoginDetails;
46
import com.spice.profitmandi.web.response.ValidateCart;
47
import com.spice.profitmandi.web.response.ValidateCart;
47
import com.spice.profitmandi.web.util.CookiesProcessor;
48
import com.spice.profitmandi.web.util.CookiesProcessor;
48
import com.spice.profitmandi.web.util.MVCResponseSender;
49
import com.spice.profitmandi.web.util.MVCResponseSender;
49
 
50
 
Line 72... Line 73...
72
	MVCResponseSender mvcResponseSender;
73
	MVCResponseSender mvcResponseSender;
73
 
74
 
74
	@Autowired
75
	@Autowired
75
	CookiesProcessor cookiesProcessor;
76
	CookiesProcessor cookiesProcessor;
76
	
77
	
-
 
78
	@Autowired
-
 
79
	PricingService pricingService;
-
 
80
	
77
	@Value("${saholic.api.host}")
81
	@Value("${saholic.api.host}")
78
	private String host;
82
	private String host;
79
	@Value("${saholic.api.port}")
83
	@Value("${saholic.api.port}")
80
	private int port;
84
	private int port;
81
	@Value("${saholic.api.webapp}")
85
	@Value("${saholic.api.webapp}")
Line 90... Line 94...
90
		} catch (ProfitMandiBusinessException e) {
94
		} catch (ProfitMandiBusinessException e) {
91
			model.addAttribute("loginResponse", mvcResponseSender.createResponseString("RTLR_1009", false, "/login"));
95
			model.addAttribute("loginResponse", mvcResponseSender.createResponseString("RTLR_1009", false, "/login"));
92
			return "response";
96
			return "response";
93
		}
97
		}
94
		List<CurrentInventorySnapshot> currentInventorySnapshot = currentInventorySnapshotRepository.getCurrentInventorySnapshot(fofoDetails.getFofoId(), offset, limit, searchTerm);
98
		List<CurrentInventorySnapshot> currentInventorySnapshot = currentInventorySnapshotRepository.getCurrentInventorySnapshot(fofoDetails.getFofoId(), offset, limit, searchTerm);
-
 
99
		
95
		long countItems = currentInventorySnapshotRepository.getCurrentInventorySnapshotCount(fofoDetails.getFofoId(), searchTerm);
100
		long countItems = currentInventorySnapshotRepository.getCurrentInventorySnapshotCount(fofoDetails.getFofoId(), searchTerm);
96
		model.addAttribute("currentInventorySnapshot",currentInventorySnapshot);
101
		model.addAttribute("currentInventorySnapshot",currentInventorySnapshot);
97
		model.addAttribute("start",offset+1);
102
		model.addAttribute("start",offset+1);
98
		model.addAttribute("size",countItems);
103
		model.addAttribute("size",countItems);
99
		model.addAttribute("searchTerm",searchTerm);
104
		model.addAttribute("searchTerm",searchTerm);
Line 141... Line 146...
141
			fofoDetails = cookiesProcessor.getCookiesObject(request);
146
			fofoDetails = cookiesProcessor.getCookiesObject(request);
142
		} catch (ProfitMandiBusinessException e) {
147
		} catch (ProfitMandiBusinessException e) {
143
			model.addAttribute("loginResponse", mvcResponseSender.createResponseString("RTLR_1009", false, "/login"));
148
			model.addAttribute("loginResponse", mvcResponseSender.createResponseString("RTLR_1009", false, "/login"));
144
			return "response";
149
			return "response";
145
		}
150
		}
146
		List<CurrentInventorySnapshot> currentInventorySnapshot = currentInventorySnapshotRepository.getCurrentInventorySnapshot(fofoDetails.getFofoId(), offset, limit, searchTerm);
151
		List<CurrentInventorySnapshot> currentInventorySnapshots = currentInventorySnapshotRepository.getCurrentInventorySnapshot(fofoDetails.getFofoId(), offset, limit, searchTerm);
147
		long countItems = currentInventorySnapshotRepository.getCurrentInventorySnapshotCount(fofoDetails.getFofoId(), searchTerm);
152
		long countItems = currentInventorySnapshotRepository.getCurrentInventorySnapshotCount(fofoDetails.getFofoId(), searchTerm);
-
 
153
		Set<Integer> itemIds = new HashSet<>();
-
 
154
		for(CurrentInventorySnapshot currentInventorySnapshot : currentInventorySnapshots ){
-
 
155
			itemIds.add(currentInventorySnapshot.getId().getItemId());
-
 
156
		}
-
 
157
		Map<Integer, Float> mopPriceMap = pricingService.getPurchasePriceMopPriceNotFound(itemIds, fofoDetails.getFofoId());
-
 
158
		List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdItemIds(fofoDetails.getFofoId(), itemIds);
-
 
159
		Map<Integer, Set<String>> itemIdSerialNumbers = new HashMap<>();
-
 
160
		for(InventoryItem inventoryItem : inventoryItems){
-
 
161
			if(inventoryItem.getSerialNumber() != null && !inventoryItem.getSerialNumber().isEmpty()){
-
 
162
				if(!itemIdSerialNumbers.containsKey(inventoryItem.getItemId())){
-
 
163
					Set<String> serialNumbers = new HashSet<>();
-
 
164
					serialNumbers.add(inventoryItem.getSerialNumber());
-
 
165
					itemIdSerialNumbers.put(inventoryItem.getItemId(), serialNumbers);
-
 
166
				}else{
-
 
167
					itemIdSerialNumbers.get(inventoryItem.getItemId()).add(inventoryItem.getSerialNumber());
-
 
168
				}
-
 
169
			}
-
 
170
		}
148
		model.addAttribute("currentInventorySnapshot",currentInventorySnapshot);
171
		model.addAttribute("currentInventorySnapshot",currentInventorySnapshots);
-
 
172
		LOGGER.info("mopPriceMap [{}]", mopPriceMap);
-
 
173
		LOGGER.info("itemIdSerialNumbers [{}]", itemIdSerialNumbers);
-
 
174
		model.addAttribute("mopPriceMap", mopPriceMap);
-
 
175
		model.addAttribute("itemIdSerialNumbers", itemIdSerialNumbers);
149
		model.addAttribute("start",offset+1);
176
		model.addAttribute("start", offset + 1);
150
		model.addAttribute("size",countItems);
177
		model.addAttribute("size", countItems);
151
		model.addAttribute("searchTerm",searchTerm);
178
		model.addAttribute("searchTerm", searchTerm);
152
		if (currentInventorySnapshot.size() < limit){
179
		if (currentInventorySnapshots.size() < limit){
153
			model.addAttribute("end",offset+currentInventorySnapshot.size());
180
			model.addAttribute("end", offset + currentInventorySnapshots.size());
154
		}
181
		}
155
		else{
182
		else{
156
			model.addAttribute("end",offset+limit);
183
			model.addAttribute("end",offset + limit);
157
		}
184
		}
158
		return "catalog";
185
		return "catalog";
159
	}
186
	}
160
	
187
	
161
	@RequestMapping(value = "/getPaginatedCatalog")
188
	@RequestMapping(value = "/getPaginatedCatalog")
Line 165... Line 192...
165
			fofoDetails = cookiesProcessor.getCookiesObject(request);
192
			fofoDetails = cookiesProcessor.getCookiesObject(request);
166
		} catch (ProfitMandiBusinessException e) {
193
		} catch (ProfitMandiBusinessException e) {
167
			model.addAttribute("loginResponse", mvcResponseSender.createResponseString("RTLR_1009", false, "/login"));
194
			model.addAttribute("loginResponse", mvcResponseSender.createResponseString("RTLR_1009", false, "/login"));
168
			return "response";
195
			return "response";
169
		}
196
		}
170
		List<CurrentInventorySnapshot> currentInventorySnapshot = currentInventorySnapshotRepository.getCurrentInventorySnapshot(fofoDetails.getFofoId(), offset, limit, searchTerm);
197
		List<CurrentInventorySnapshot> currentInventorySnapshots = currentInventorySnapshotRepository.getCurrentInventorySnapshot(fofoDetails.getFofoId(), offset, limit, searchTerm);
-
 
198
		Set<Integer> itemIds = new HashSet<>();
-
 
199
		for(CurrentInventorySnapshot currentInventorySnapshot : currentInventorySnapshots ){
-
 
200
			itemIds.add(currentInventorySnapshot.getId().getItemId());
-
 
201
		}
-
 
202
		Map<Integer, Float> mopPriceMap = pricingService.getPurchasePriceMopPriceNotFound(itemIds, fofoDetails.getFofoId());
171
		model.addAttribute("currentInventorySnapshot",currentInventorySnapshot);
203
		model.addAttribute("currentInventorySnapshot",currentInventorySnapshots);
-
 
204
		model.addAttribute("mopPriceMap", mopPriceMap);
172
		return "catalog-paginated";
205
		return "catalog-paginated";
173
	}
206
	}
174
 
207
 
175
	
208
	
176
	
209