| Line 167... |
Line 167... |
| 167 |
}
|
167 |
}
|
| 168 |
|
168 |
|
| 169 |
@RequestMapping(value = "/item", method = RequestMethod.GET)
|
169 |
@RequestMapping(value = "/item", method = RequestMethod.GET)
|
| 170 |
public String getItemPricing(HttpServletRequest request, Model model, @RequestParam String query) throws Throwable {
|
170 |
public String getItemPricing(HttpServletRequest request, Model model, @RequestParam String query) throws Throwable {
|
| 171 |
String query1 = query.toLowerCase();
|
171 |
String query1 = query.toLowerCase();
|
| 172 |
List<ItemDescriptionModel> partnersItemDescription = this.getAllPartnerItemStringDescription()
|
172 |
List<ItemDescriptionModel> partnersItemDescription = this.getAllPartnerItemStringDescription().parallelStream()
|
| 173 |
.parallelStream().filter(x -> x.getItemDescription().toLowerCase().matches(".*?" + query1 +".*?")).collect(Collectors.toList());
|
173 |
.filter(x -> x.getItemDescription().toLowerCase().matches(".*?" + query1 + ".*?"))
|
| - |
|
174 |
.collect(Collectors.toList());
|
| 174 |
|
175 |
|
| 175 |
model.addAttribute("response", mvcResponseSender.createResponseString(partnersItemDescription));
|
176 |
model.addAttribute("response", mvcResponseSender.createResponseString(partnersItemDescription));
|
| 176 |
return "response";
|
177 |
return "response";
|
| 177 |
}
|
178 |
}
|
| 178 |
|
179 |
|
| Line 264... |
Line 265... |
| 264 |
@RequestMapping(value = "/priceDropImeis/{priceDropId}", method = RequestMethod.GET)
|
265 |
@RequestMapping(value = "/priceDropImeis/{priceDropId}", method = RequestMethod.GET)
|
| 265 |
public String priceDropStatus(HttpServletRequest request, @PathVariable int priceDropId, Model model)
|
266 |
public String priceDropStatus(HttpServletRequest request, @PathVariable int priceDropId, Model model)
|
| 266 |
throws Exception {
|
267 |
throws Exception {
|
| 267 |
|
268 |
|
| 268 |
PriceDropImeisModel priceDropImeisModel = new PriceDropImeisModel();
|
269 |
PriceDropImeisModel priceDropImeisModel = new PriceDropImeisModel();
|
| 269 |
|
270 |
|
| 270 |
//This call is used to persit imeis to pricedrop imeis in case its not there.
|
271 |
// This call is used to persit imeis to pricedrop imeis in case its not there.
|
| 271 |
priceDropService.priceDropStatus(priceDropId);
|
272 |
priceDropService.priceDropStatus(priceDropId);
|
| 272 |
|
273 |
|
| 273 |
List<String> pendingImeis = new ArrayList<>();
|
274 |
List<String> pendingImeis = new ArrayList<>();
|
| 274 |
List<String> approvedImeis = new ArrayList<>();
|
275 |
List<String> approvedImeis = new ArrayList<>();
|
| 275 |
List<String> rejectedImeis = new ArrayList<>();
|
276 |
List<String> rejectedImeis = new ArrayList<>();
|
| 276 |
List<PriceDropIMEI> priceDropImeis = priceDropIMEIRepository.selectByPriceDropId(priceDropId);
|
277 |
List<PriceDropIMEI> priceDropImeis = priceDropIMEIRepository.selectByPriceDropId(priceDropId);
|
| 277 |
for (PriceDropIMEI priceDropIMEI : priceDropImeis) {
|
278 |
for (PriceDropIMEI priceDropIMEI : priceDropImeis) {
|
| Line 315... |
Line 316... |
| 315 |
TagListing tagListing = tagListingRepository.selectByItemId(priceDropModel.getItemId());
|
316 |
TagListing tagListing = tagListingRepository.selectByItemId(priceDropModel.getItemId());
|
| 316 |
float oldDp = tagListing.getSellingPrice();
|
317 |
float oldDp = tagListing.getSellingPrice();
|
| 317 |
float oldMop = tagListing.getMop();
|
318 |
float oldMop = tagListing.getMop();
|
| 318 |
float oldTp = 0;
|
319 |
float oldTp = 0;
|
| 319 |
float newDp = priceDropModel.getDp();
|
320 |
float newDp = priceDropModel.getDp();
|
| 320 |
|
321 |
|
| 321 |
if (newDp != oldDp) {
|
322 |
if (newDp != oldDp) {
|
| 322 |
List<Item> allItems = null;
|
323 |
List<Item> allItems = null;
|
| 323 |
Item currentItem = itemRepository.selectById(priceDropModel.getItemId());
|
324 |
Item currentItem = itemRepository.selectById(priceDropModel.getItemId());
|
| 324 |
if (priceDropModel.isAllColors()) {
|
325 |
if (priceDropModel.isAllColors()) {
|
| 325 |
allItems = itemRepository.selectAllByCatalogItemId(currentItem.getCatalogItemId());
|
326 |
allItems = itemRepository.selectAllByCatalogItemId(currentItem.getCatalogItemId());
|
| Line 426... |
Line 427... |
| 426 |
}
|
427 |
}
|
| 427 |
PriceDrop priceDrop = priceDropRepository.selectById(priceDropImeisModel.getPriceDropId());
|
428 |
PriceDrop priceDrop = priceDropRepository.selectById(priceDropImeisModel.getPriceDropId());
|
| 428 |
Item item = itemRepository.selectAllByCatalogItemId(priceDrop.getCatalogItemId()).get(0);
|
429 |
Item item = itemRepository.selectAllByCatalogItemId(priceDrop.getCatalogItemId()).get(0);
|
| 429 |
String description = item.getItemDescriptionNoColor();
|
430 |
String description = item.getItemDescriptionNoColor();
|
| 430 |
if (priceDropIMEIsToProcess.size() > 0) {
|
431 |
if (priceDropIMEIsToProcess.size() > 0) {
|
| 431 |
List<String> serialNumbers = priceDropIMEIsToProcess.stream().map(x -> x.getImei())
|
- |
|
| 432 |
.collect(Collectors.toList());
|
432 |
|
| 433 |
List<LineItemImei> lineItemImeis = lineItemImeisRepository.selectByIMEI(serialNumbers);
|
- |
|
| 434 |
Map<Integer, List<InventoryItem>> pendingPartnerInventoryMap = priceDropService
|
433 |
Map<Integer, List<InventoryItem>> pendingPartnerInventoryMap = priceDropService
|
| 435 |
.getInventoryForPriceDrop(lineItemImeis, priceDrop).stream()
|
434 |
.getInventoryForPriceDrop(priceDropIMEIsToProcess, priceDrop).stream()
|
| 436 |
.collect(Collectors.groupingBy(InventoryItem::getFofoId));
|
435 |
.collect(Collectors.groupingBy(InventoryItem::getFofoId));
|
| 437 |
|
436 |
|
| 438 |
for (Map.Entry<Integer, List<InventoryItem>> pendingPartnerInventory : pendingPartnerInventoryMap
|
437 |
for (Map.Entry<Integer, List<InventoryItem>> pendingPartnerInventory : pendingPartnerInventoryMap
|
| 439 |
.entrySet()) {
|
438 |
.entrySet()) {
|
| 440 |
List<InventoryItem> fofoInventoryList = pendingPartnerInventory.getValue();
|
439 |
List<InventoryItem> fofoInventoryList = pendingPartnerInventory.getValue();
|
| Line 463... |
Line 462... |
| 463 |
|
462 |
|
| 464 |
}
|
463 |
}
|
| 465 |
|
464 |
|
| 466 |
private ByteArrayOutputStream getByteArrayOutputStream(LocalDateTime affectedOn, Integer catalogItemId)
|
465 |
private ByteArrayOutputStream getByteArrayOutputStream(LocalDateTime affectedOn, Integer catalogItemId)
|
| 467 |
throws Exception {
|
466 |
throws Exception {
|
| 468 |
List<ImeiDropSummaryModel> imeiDropSummaryModelList = priceDropService.getAllSerialNumbersByAffectedDate(affectedOn,
|
467 |
List<ImeiDropSummaryModel> imeiDropSummaryModelList = priceDropService
|
| 469 |
catalogItemId);
|
468 |
.getAllSerialNumbersByAffectedDate(affectedOn, catalogItemId);
|
| 470 |
List<List<Object>> rows = new ArrayList<>();
|
469 |
List<List<Object>> rows = new ArrayList<>();
|
| 471 |
for (ImeiDropSummaryModel imeiDropSummaryModel : imeiDropSummaryModelList) {
|
470 |
for (ImeiDropSummaryModel imeiDropSummaryModel : imeiDropSummaryModelList) {
|
| 472 |
rows.add(this.getRow(imeiDropSummaryModel));
|
471 |
rows.add(this.getRow(imeiDropSummaryModel));
|
| 473 |
}
|
472 |
}
|
| 474 |
return FileUtil.getCSVByteStream(Arrays.asList("IMEI Number", "Store Name", "Store Code", "Item ID", "Brand",
|
473 |
return FileUtil.getCSVByteStream(Arrays.asList("IMEI Number", "Store Name", "Store Code", "Item ID", "Brand",
|
| Line 487... |
Line 486... |
| 487 |
row.add(imeiDropSummaryModel.getColor());
|
486 |
row.add(imeiDropSummaryModel.getColor());
|
| 488 |
row.add(FormattingUtils.formatReporitcoDate(imeiDropSummaryModel.getLastScanned()));
|
487 |
row.add(FormattingUtils.formatReporitcoDate(imeiDropSummaryModel.getLastScanned()));
|
| 489 |
return row;
|
488 |
return row;
|
| 490 |
}
|
489 |
}
|
| 491 |
|
490 |
|
| 492 |
|
- |
|
| 493 |
|
- |
|
| 494 |
private boolean validatePriceDrop(PriceDropModel priceDropModel) throws ProfitMandiBusinessException {
|
491 |
private boolean validatePriceDrop(PriceDropModel priceDropModel) throws ProfitMandiBusinessException {
|
| 495 |
if (priceDropModel.getMop() > 0 && priceDropModel.getDp() > 0
|
492 |
if (priceDropModel.getMop() > 0 && priceDropModel.getDp() > 0 && priceDropModel.getTp() > 0) {
|
| 496 |
&& priceDropModel.getTp() > 0) {
|
- |
|
| 497 |
return true;
|
493 |
return true;
|
| 498 |
}
|
494 |
}
|
| 499 |
return false;
|
495 |
return false;
|
| 500 |
}
|
496 |
}
|
| 501 |
|
497 |
|