Subversion Repositories SmartDukaan

Rev

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

Rev 31043 Rev 31077
Line 268... Line 268...
268
					throw new ProfitMandiBusinessException("Uploaded File", "",
268
					throw new ProfitMandiBusinessException("Uploaded File", "",
269
							"Waybill " + aim.getKey() + " number cannot have invoices with different Retailers");
269
							"Waybill " + aim.getKey() + " number cannot have invoices with different Retailers");
270
				}
270
				}
271
			}
271
			}
272
 
272
 
-
 
273
			Map<String, List<BilledOrderListModel>> blueDartAirbillBilledOrderMap = billedOrderList.stream()
-
 
274
					.filter(x -> x.getLogisticsProviderName().equals("BlueDart"))
-
 
275
					.collect(Collectors.groupingBy(x -> x.getAirwayBillNumber(), Collectors.toList()));
-
 
276
 
-
 
277
			List<BilledOrderListModel> orderList = billedOrderList.stream()
-
 
278
					.filter(x -> !x.getLogisticsProviderName().equals("BlueDart")).collect(Collectors.toList());
-
 
279
 
-
 
280
			if (!blueDartAirbillBilledOrderMap.isEmpty()) {
-
 
281
				List<BilledOrderListModel> blueDartorderList = billedOrderList.stream()
-
 
282
						.filter(x -> x.getLogisticsProviderName().equals("BlueDart")).collect(Collectors.toList());
-
 
283
 
-
 
284
				List<Integer> unserviceablePincode = new ArrayList<>();
-
 
285
 
-
 
286
				for (BilledOrderListModel billedOrder : blueDartorderList) {
-
 
287
 
-
 
288
					Provider provider = providerRepository.selectByName(billedOrder.getLogisticsProviderName());
-
 
289
 
-
 
290
					List<Order> orders = orderRepository.selectByInvoiceNumber(billedOrder.getInvoiceNumber());
-
 
291
 
-
 
292
					for (Order order : orders) {
-
 
293
						ProviderTat providerTat = providerTatRepository.selectByProviderId(provider.getId(),
-
 
294
								order.getWarehouseId(), order.getRetailerPinCode());
-
 
295
						if (providerTat == null) {
-
 
296
							unserviceablePincode.add(order.getId());
-
 
297
						}
-
 
298
					}
-
 
299
 
-
 
300
				}
-
 
301
 
-
 
302
				if (!unserviceablePincode.isEmpty()) {
-
 
303
					throw new ProfitMandiBusinessException("Uploaded File", "",
-
 
304
							"Orders " + unserviceablePincode + " Unserviceable Pincode");
-
 
305
 
-
 
306
				}
-
 
307
 
-
 
308
				List<BilledOrderListModel> blueDartOrders = blueDartService
-
 
309
						.getAirwayBillNo(blueDartAirbillBilledOrderMap, authUser.getEmailId());
-
 
310
 
-
 
311
				orderList.addAll(blueDartOrders);
-
 
312
			}
-
 
313
 
273
			for (BilledOrderListModel bl : billedOrderList) {
314
			for (BilledOrderListModel bl : orderList) {
274
				List<Order> orders = orderRepository.selectByInvoiceNumber(bl.getInvoiceNumber());
315
				List<Order> orders = orderRepository.selectByInvoiceNumber(bl.getInvoiceNumber());
275
 
316
 
276
				Provider provider = providerRepository.selectByName(bl.getLogisticsProviderName());
317
				Provider provider = providerRepository.selectByName(bl.getLogisticsProviderName());
277
 
318
 
278
				if (provider == null) {
319
				if (provider == null) {
Line 338... Line 379...
338
	private BilledOrderListModel createBilleOrder(CSVRecord record) {
379
	private BilledOrderListModel createBilleOrder(CSVRecord record) {
339
		BilledOrderListModel bol = new BilledOrderListModel();
380
		BilledOrderListModel bol = new BilledOrderListModel();
340
		bol.setInvoiceNumber(record.get(0));
381
		bol.setInvoiceNumber(record.get(0));
341
		bol.setLogisticsProviderName(record.get(1));
382
		bol.setLogisticsProviderName(record.get(1));
342
		bol.setAirwayBillNumber(record.get(2));
383
		bol.setAirwayBillNumber(record.get(2));
-
 
384
		bol.setWeight(Double.valueOf(record.get(3)));
343
 
385
 
344
		return bol;
386
		return bol;
345
	}
387
	}
346
 
388
 
347
	@RequestMapping(value = "/provider", method = RequestMethod.GET)
389
	@RequestMapping(value = "/provider", method = RequestMethod.GET)
Line 522... Line 564...
522
			throw new ProfitMandiBusinessException("Template File", "", "No order has been billed");
564
			throw new ProfitMandiBusinessException("Template File", "", "No order has been billed");
523
 
565
 
524
		}
566
		}
525
		Set<String> invoiceNumbers = orders.stream().map(x -> x.getInvoiceNumber()).collect(Collectors.toSet());
567
		Set<String> invoiceNumbers = orders.stream().map(x -> x.getInvoiceNumber()).collect(Collectors.toSet());
526
 
568
 
527
		for (String invoicdNumber : invoiceNumbers) {
569
		for (String invoiceNumber : invoiceNumbers) {
528
			rows.add(Arrays.asList(invoicdNumber));
570
			rows.add(Arrays.asList(invoiceNumber));
529
 
571
 
530
		}
572
		}
531
 
573
 
532
		org.apache.commons.io.output.ByteArrayOutputStream baos = FileUtil
574
		org.apache.commons.io.output.ByteArrayOutputStream baos = FileUtil
533
				.getCSVByteStream(Arrays.asList("Invoice Number", "Provider", "AWB"), rows);
575
				.getCSVByteStream(Arrays.asList("Invoice Number", "Provider", "AWB", "Weight"), rows);
534
 
576
 
535
		final HttpHeaders headers = new HttpHeaders();
577
		final HttpHeaders headers = new HttpHeaders();
536
		headers.set("Content-Type", "text/csv");
578
		headers.set("Content-Type", "text/csv");
537
		headers.set("Content-disposition", "inline; filename=upload-shipping-template.csv");
579
		headers.set("Content-disposition", "inline; filename=upload-shipping-template.csv");
538
		headers.setContentLength(baos.toByteArray().length);
580
		headers.setContentLength(baos.toByteArray().length);
Line 888... Line 930...
888
	@RequestMapping(value = "/getAwbNumber", method = RequestMethod.GET)
930
	@RequestMapping(value = "/getAwbNumber", method = RequestMethod.GET)
889
	public String getAwbNumber(HttpServletRequest request, Model model) throws Exception {
931
	public String getAwbNumber(HttpServletRequest request, Model model) throws Exception {
890
 
932
 
891
		List<Order> orders = orderRepository.selectByInvoiceNumber("NSLCK7931");
933
		List<Order> orders = orderRepository.selectByInvoiceNumber("NSLCK7931");
892
 
934
 
893
		blueDartService.getAirwayBillNo(orders);
935
		// blueDartService.getAirwayBillNo(orders.2);
894
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
936
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
895
 
937
 
896
		return "response";
938
		return "response";
897
	}
939
	}
898
}
940
}