| Line 239... |
Line 239... |
| 239 |
} catch (IOException e) {
|
239 |
} catch (IOException e) {
|
| 240 |
logger.error("Encountered error while sending invoice response: ", e);
|
240 |
logger.error("Encountered error while sending invoice response: ", e);
|
| 241 |
}
|
241 |
}
|
| 242 |
return "info";
|
242 |
return "info";
|
| 243 |
}
|
243 |
}
|
| - |
|
244 |
|
| - |
|
245 |
private String getItemDisplayName(LineItem lineitem, boolean appendIMEI){
|
| - |
|
246 |
StringBuffer itemName = new StringBuffer();
|
| - |
|
247 |
if(lineitem.getBrand()!= null)
|
| - |
|
248 |
itemName.append(lineitem.getBrand() + " ");
|
| - |
|
249 |
if(lineitem.getModel_name() != null)
|
| - |
|
250 |
itemName.append(lineitem.getModel_name() + " ");
|
| - |
|
251 |
if(lineitem.getModel_number() != null )
|
| - |
|
252 |
itemName.append(lineitem.getModel_number() + " ");
|
| - |
|
253 |
if(lineitem.getColor() != null && !lineitem.getColor().trim().equals("NA"))
|
| - |
|
254 |
itemName.append("("+lineitem.getColor()+")");
|
| - |
|
255 |
if(appendIMEI && lineitem.isSetSerial_number()){
|
| - |
|
256 |
itemName.append("\nIMEI No. " + lineitem.getSerial_number());
|
| - |
|
257 |
}
|
| - |
|
258 |
|
| - |
|
259 |
return itemName.toString();
|
| - |
|
260 |
}
|
| 244 |
|
261 |
|
| 245 |
private void createAwbDetailList(String[] awbArray) {
|
262 |
private void createAwbDetailList(String[] awbArray) {
|
| 246 |
List<Order> orderList;
|
263 |
List<Order> orderList;
|
| 247 |
List<AwbDetails> tempList = new ArrayList<AwbDetails>() ;
|
264 |
List<AwbDetails> tempList = new ArrayList<AwbDetails>() ;
|
| 248 |
for(String awbNumber : awbArray) {
|
265 |
for(String awbNumber : awbArray) {
|
| Line 260... |
Line 277... |
| 260 |
*/
|
277 |
*/
|
| 261 |
logger.info("Session : " + session);
|
278 |
logger.info("Session : " + session);
|
| 262 |
logger.info("provider Id : " + ((Long)session.getAttribute("providerId")).longValue());
|
279 |
logger.info("provider Id : " + ((Long)session.getAttribute("providerId")).longValue());
|
| 263 |
Provider provider = logisticsClient.getProvider(((Long)session.getAttribute("providerId")).longValue());
|
280 |
Provider provider = logisticsClient.getProvider(((Long)session.getAttribute("providerId")).longValue());
|
| 264 |
orderList = txnClient.getOrderForAwb(awbNumber);
|
281 |
orderList = txnClient.getOrderForAwb(awbNumber);
|
| - |
|
282 |
|
| - |
|
283 |
Map<String, List<Order>> logisticsTxnIdOrdersMap = new HashMap<String, List<Order>>();
|
| - |
|
284 |
Map<Long, String> itemNamesMap = new HashMap<Long, String>();
|
| - |
|
285 |
Map<String, Map<Long, Double>> logisticsTxnIdOrderQuantityMap = new HashMap<String, Map<Long, Double>>();
|
| - |
|
286 |
|
| - |
|
287 |
for(Order order:orderList){
|
| - |
|
288 |
if(order.getLogistics_provider_id()!=provider.getId())
|
| - |
|
289 |
continue;
|
| - |
|
290 |
LineItem lineItem = order.getLineitems().get(0);
|
| - |
|
291 |
if(order.isSetLogisticsTransactionId()){
|
| - |
|
292 |
if(logisticsTxnIdOrdersMap.containsKey(order.getLogisticsTransactionId())){
|
| - |
|
293 |
List<Order> ordersList = logisticsTxnIdOrdersMap.get(order.getLogisticsTransactionId());
|
| - |
|
294 |
ordersList.add(order);
|
| - |
|
295 |
logisticsTxnIdOrdersMap.put(order.getLogisticsTransactionId(), ordersList);
|
| - |
|
296 |
} else{
|
| - |
|
297 |
List<Order> ordersList = new ArrayList<Order>();
|
| - |
|
298 |
ordersList.add(order);
|
| - |
|
299 |
logisticsTxnIdOrdersMap.put(order.getLogisticsTransactionId(), ordersList);
|
| - |
|
300 |
}
|
| - |
|
301 |
if(logisticsTxnIdOrderQuantityMap.containsKey(order.getLogisticsTransactionId())){
|
| - |
|
302 |
Map<Long, Double> orderItemQuantityMap = logisticsTxnIdOrderQuantityMap.get(order.getLogisticsTransactionId());
|
| - |
|
303 |
if(orderItemQuantityMap.containsKey(lineItem.getItem_id())){
|
| - |
|
304 |
double orderQuantity = orderItemQuantityMap.get(lineItem.getItem_id())+ lineItem.getQuantity();
|
| - |
|
305 |
orderItemQuantityMap.put(lineItem.getItem_id(),orderQuantity);
|
| - |
|
306 |
logisticsTxnIdOrderQuantityMap.put(order.getLogisticsTransactionId(), orderItemQuantityMap);
|
| - |
|
307 |
}else{
|
| - |
|
308 |
double orderQuantity = lineItem.getQuantity();
|
| - |
|
309 |
orderItemQuantityMap.put(lineItem.getItem_id(),orderQuantity);
|
| - |
|
310 |
logisticsTxnIdOrderQuantityMap.put(order.getLogisticsTransactionId(), orderItemQuantityMap);
|
| - |
|
311 |
}
|
| - |
|
312 |
}else{
|
| - |
|
313 |
Map<Long, Double> orderItemQuantityMap = new HashMap<Long, Double>();
|
| - |
|
314 |
orderItemQuantityMap.put(lineItem.getItem_id(), lineItem.getQuantity());
|
| - |
|
315 |
logisticsTxnIdOrderQuantityMap.put(order.getLogisticsTransactionId(), orderItemQuantityMap);
|
| - |
|
316 |
}
|
| - |
|
317 |
}else{
|
| - |
|
318 |
List<Order> ordersList = new ArrayList<Order>();
|
| - |
|
319 |
ordersList.add(order);
|
| - |
|
320 |
logisticsTxnIdOrdersMap.put(order.getId()+"", ordersList);
|
| - |
|
321 |
Map<Long, Double> orderItemQuantityMap = new HashMap<Long, Double>();
|
| - |
|
322 |
orderItemQuantityMap.put(lineItem.getItem_id(), lineItem.getQuantity());
|
| - |
|
323 |
logisticsTxnIdOrderQuantityMap.put(order.getId()+"", orderItemQuantityMap);
|
| - |
|
324 |
}
|
| - |
|
325 |
if(!itemNamesMap.containsKey(lineItem.getItem_id())){
|
| - |
|
326 |
itemNamesMap.put(lineItem.getItem_id(), getItemDisplayName(lineItem, false));
|
| - |
|
327 |
}
|
| - |
|
328 |
}
|
| - |
|
329 |
|
| - |
|
330 |
for(String logisticsTxnId : logisticsTxnIdOrdersMap.keySet()){
|
| - |
|
331 |
List<Order> ordersList = logisticsTxnIdOrdersMap.get(logisticsTxnId);
|
| - |
|
332 |
Warehouse warehouse = inventoryClient.getWarehouse(ordersList.get(0).getWarehouse_id());
|
| - |
|
333 |
String accountNo = "";
|
| - |
|
334 |
|
| - |
|
335 |
DeliveryType dt = DeliveryType.PREPAID;
|
| - |
|
336 |
if (ordersList.get(0).isLogisticsCod()) {
|
| - |
|
337 |
dt = DeliveryType.COD;
|
| - |
|
338 |
}
|
| - |
|
339 |
|
| - |
|
340 |
for (ProviderDetails detail : provider.getDetails()) {
|
| - |
|
341 |
if(in.shop2020.model.v1.inventory.WarehouseLocation.findByValue((int) detail.getLogisticLocation()) == warehouse.getLogisticsLocation() && detail.getDeliveryType() == dt) {
|
| - |
|
342 |
accountNo = detail.getAccountNo();
|
| - |
|
343 |
}
|
| - |
|
344 |
}
|
| - |
|
345 |
|
| - |
|
346 |
double totalAmount = 0.0;
|
| - |
|
347 |
double totalWeight = 0.0;
|
| - |
|
348 |
for(Order o:ordersList){
|
| - |
|
349 |
totalAmount = totalAmount + (o.getTotal_amount()-o.getGvAmount());
|
| - |
|
350 |
totalWeight = totalWeight + o.getTotal_weight();
|
| - |
|
351 |
}
|
| - |
|
352 |
|
| - |
|
353 |
AwbDetails detailedAwb = new AwbDetails();
|
| - |
|
354 |
|
| - |
|
355 |
String[] addresses = warehouse.getLocation().split(",+");
|
| - |
|
356 |
|
| - |
|
357 |
detailedAwb.setReturnAddress1((addresses[0].trim() + ", " + addresses[1].trim()).replace("\n", ", "));
|
| - |
|
358 |
detailedAwb.setReturnAddress2((addresses[2].trim() + (addresses.length > 3 ? ", " + addresses[3].trim() : "")).replace("\n", ", "));
|
| - |
|
359 |
|
| - |
|
360 |
String line3 = "";
|
| - |
|
361 |
if(addresses.length > 4) {
|
| - |
|
362 |
for(int i = 4; i<addresses.length; i++) {
|
| - |
|
363 |
line3 += addresses[i] + ", ";
|
| - |
|
364 |
}
|
| - |
|
365 |
}
|
| - |
|
366 |
|
| - |
|
367 |
if(StringUtils.isNotEmpty(line3)) {
|
| - |
|
368 |
detailedAwb.setReturnAddress3(line3.trim().replace("\n", ", "));
|
| - |
|
369 |
} else {
|
| - |
|
370 |
detailedAwb.setReturnAddress3(EMPTY_STRING);
|
| - |
|
371 |
}
|
| - |
|
372 |
detailedAwb.setReturnPin(warehouse.getPincode());
|
| - |
|
373 |
detailedAwb.setAwbNumber(awbNumber);
|
| - |
|
374 |
detailedAwb.setAccountCode(accountNo);
|
| - |
|
375 |
detailedAwb.setVendorCode((int) ordersList.get(0).getWarehouse_id());
|
| - |
|
376 |
if(ordersList.get(0).isLogisticsCod()){
|
| - |
|
377 |
detailedAwb.setAmountToCollect("" + totalAmount);
|
| - |
|
378 |
} else {
|
| - |
|
379 |
detailedAwb.setAmountToCollect("" + 0 );
|
| - |
|
380 |
}
|
| - |
|
381 |
|
| - |
|
382 |
if(ordersList.get(0).getShipping_timestamp() > 0) {
|
| - |
|
383 |
Date date = new Date(ordersList.get(0).getShipping_timestamp());
|
| - |
|
384 |
detailedAwb.setAwbDate(date.toString());
|
| - |
|
385 |
} else {
|
| - |
|
386 |
detailedAwb.setAwbDate("N/A");
|
| - |
|
387 |
}
|
| - |
|
388 |
|
| - |
|
389 |
if(ordersList.get(0).getPickupStoreId() > 0) {
|
| - |
|
390 |
PickupStore store = lsc.getClient().getPickupStore(ordersList.get(0).getPickupStoreId());
|
| - |
|
391 |
detailedAwb.setAddress1(store.getLine1());
|
| - |
|
392 |
detailedAwb.setAddress2(store.getLine2());
|
| - |
|
393 |
detailedAwb.setCity(store.getCity());
|
| - |
|
394 |
detailedAwb.setCustomerName("Spice Hotspot");
|
| - |
|
395 |
detailedAwb.setPhoneNumber("" + store.getPhone());
|
| - |
|
396 |
detailedAwb.setPinCode(store.getPin());
|
| - |
|
397 |
detailedAwb.setState(store.getState());
|
| - |
|
398 |
} else {
|
| - |
|
399 |
detailedAwb.setAddress1(ordersList.get(0).getCustomer_address1());
|
| - |
|
400 |
detailedAwb.setAddress2(ordersList.get(0).getCustomer_address2());
|
| - |
|
401 |
detailedAwb.setCity(ordersList.get(0).getCustomer_city());
|
| - |
|
402 |
detailedAwb.setCustomerName(ordersList.get(0).getCustomer_name());
|
| - |
|
403 |
detailedAwb.setPhoneNumber("" + ordersList.get(0).getCustomer_mobilenumber());
|
| - |
|
404 |
detailedAwb.setPinCode(ordersList.get(0).getCustomer_pincode());
|
| - |
|
405 |
detailedAwb.setState(ordersList.get(0).getCustomer_state());
|
| - |
|
406 |
}
|
| - |
|
407 |
|
| - |
|
408 |
detailedAwb.setItemId("" + ordersList.get(0).getLineitems().get(0).getItem_id());
|
| - |
|
409 |
detailedAwb.setOrderId("" + ordersList.get(0).getId());
|
| - |
|
410 |
detailedAwb.setPacketWeight("" + totalWeight);
|
| - |
|
411 |
if(ordersList.get(0).isLogisticsCod()){
|
| - |
|
412 |
detailedAwb.setPaymentMode("COD");
|
| - |
|
413 |
} else {
|
| - |
|
414 |
detailedAwb.setPaymentMode("Prepaid");
|
| - |
|
415 |
}
|
| - |
|
416 |
|
| - |
|
417 |
|
| - |
|
418 |
detailedAwb.setPickupLocation(warehouse.getLocation());
|
| - |
|
419 |
|
| - |
|
420 |
StringBuffer productNameBuffer = new StringBuffer();
|
| - |
|
421 |
int skuSizeTxn = logisticsTxnIdOrderQuantityMap.get(logisticsTxnId).keySet().size();
|
| - |
|
422 |
int count = 1;
|
| - |
|
423 |
for(Long itemId : logisticsTxnIdOrderQuantityMap.get(logisticsTxnId).keySet()){
|
| - |
|
424 |
Map<Long, Double> quantityMap = logisticsTxnIdOrderQuantityMap.get(logisticsTxnId);
|
| - |
|
425 |
double quantity = quantityMap.get(itemId);
|
| - |
|
426 |
productNameBuffer.append(itemNamesMap.get(itemId)+"("+quantity+")");
|
| - |
|
427 |
if(count<skuSizeTxn){
|
| - |
|
428 |
productNameBuffer.append(",");
|
| - |
|
429 |
}
|
| - |
|
430 |
count++;
|
| - |
|
431 |
}
|
| - |
|
432 |
|
| - |
|
433 |
detailedAwb.setProductName(productNameBuffer.toString());
|
| - |
|
434 |
LineItem lineitem = ordersList.get(0).getLineitems().get(0);
|
| - |
|
435 |
if (ordersList.get(0).getFreebieItemId() > 0) {
|
| - |
|
436 |
//If order has a freebie order attached with it
|
| - |
|
437 |
detailedAwb.setShipmentValue("" + (ordersList.get(0).getTotal_amount()));
|
| - |
|
438 |
} else {
|
| - |
|
439 |
//else if the order is itself a split freebie order then we don't know how much was the selling price at the time of order
|
| - |
|
440 |
//so we set the transfer price as shipment value
|
| - |
|
441 |
if (lineitem.getExtra_info() != null && lineitem.getExtra_info().contains("Freebie Order for Order ID")) {
|
| - |
|
442 |
detailedAwb.setShipmentValue("" + (totalAmount));
|
| - |
|
443 |
} else {
|
| - |
|
444 |
//Else set total amount
|
| - |
|
445 |
detailedAwb.setShipmentValue("" +totalAmount);
|
| - |
|
446 |
}
|
| - |
|
447 |
}
|
| - |
|
448 |
|
| - |
|
449 |
if(ordersList.get(0).isSetLogisticsTransactionId()){
|
| - |
|
450 |
detailedAwb.setMasterOrderId(ordersList.get(0).getLogisticsTransactionId());
|
| - |
|
451 |
}else{
|
| - |
|
452 |
detailedAwb.setMasterOrderId("-");
|
| - |
|
453 |
}
|
| - |
|
454 |
|
| - |
|
455 |
tempList.add(detailedAwb);
|
| - |
|
456 |
}
|
| - |
|
457 |
|
| 265 |
for(Order order : orderList){
|
458 |
/*for(Order order : orderList){
|
| 266 |
Warehouse warehouse = inventoryClient.getWarehouse(order.getWarehouse_id());
|
459 |
Warehouse warehouse = inventoryClient.getWarehouse(order.getWarehouse_id());
|
| 267 |
|
460 |
|
| 268 |
String accountNo = "";
|
461 |
String accountNo = "";
|
| 269 |
|
462 |
|
| 270 |
DeliveryType dt = DeliveryType.PREPAID;
|
463 |
DeliveryType dt = DeliveryType.PREPAID;
|
| Line 369... |
Line 562... |
| 369 |
}else{
|
562 |
}else{
|
| 370 |
detailedAwb.setMasterOrderId("-");
|
563 |
detailedAwb.setMasterOrderId("-");
|
| 371 |
}
|
564 |
}
|
| 372 |
|
565 |
|
| 373 |
tempList.add(detailedAwb);
|
566 |
tempList.add(detailedAwb);
|
| 374 |
}
|
567 |
}*/
|
| 375 |
|
568 |
|
| 376 |
} catch (TTransportException e) {
|
569 |
} catch (TTransportException e) {
|
| 377 |
setErrorMsg("Your request cannot be processed due to technical error. Please try later.");
|
570 |
setErrorMsg("Your request cannot be processed due to technical error. Please try later.");
|
| 378 |
} catch (TException e) {
|
571 |
} catch (TException e) {
|
| 379 |
setErrorMsg(e.getMessage());
|
572 |
setErrorMsg(e.getMessage());
|
| Line 398... |
Line 591... |
| 398 |
CellStyle dateCellStyle = wb.createCellStyle();
|
591 |
CellStyle dateCellStyle = wb.createCellStyle();
|
| 399 |
dateCellStyle.setDataFormat(createHelper.createDataFormat().getFormat("d/m/yyyy"));
|
592 |
dateCellStyle.setDataFormat(createHelper.createDataFormat().getFormat("d/m/yyyy"));
|
| 400 |
|
593 |
|
| 401 |
CellStyle weightStyle = wb.createCellStyle();
|
594 |
CellStyle weightStyle = wb.createCellStyle();
|
| 402 |
weightStyle.setDataFormat(createHelper.createDataFormat().getFormat("0.000"));
|
595 |
weightStyle.setDataFormat(createHelper.createDataFormat().getFormat("0.000"));
|
| - |
|
596 |
|
| - |
|
597 |
|
| 403 |
|
598 |
|
| 404 |
Row headerRow = sheet.createRow((short)0);
|
599 |
Row headerRow = sheet.createRow((short)0);
|
| 405 |
headerRow.createCell(0).setCellValue("Airwaybill");
|
600 |
headerRow.createCell(0).setCellValue("Airwaybill");
|
| 406 |
headerRow.createCell(1).setCellValue("Type"); //Values : "COD" / "NONCOD"
|
601 |
headerRow.createCell(1).setCellValue("Type"); //Values : "COD" / "NONCOD"
|
| 407 |
headerRow.createCell(2).setCellValue("Mater Order Id");
|
602 |
headerRow.createCell(2).setCellValue("Master Order Id");
|
| 408 |
headerRow.createCell(3).setCellValue("Reference Number"); //OrderId
|
603 |
headerRow.createCell(3).setCellValue("Reference Number"); //OrderId
|
| 409 |
headerRow.createCell(4).setCellValue("Sender / Store name"); //"Spice Online retail pvt ltd"
|
604 |
headerRow.createCell(4).setCellValue("Sender / Store name"); //"Spice Online retail pvt ltd"
|
| 410 |
headerRow.createCell(5).setCellValue("attention"); //Customer name
|
605 |
headerRow.createCell(5).setCellValue("attention"); //Customer name
|
| 411 |
headerRow.createCell(6).setCellValue("address1"); //Line 1
|
606 |
headerRow.createCell(6).setCellValue("address1"); //Line 1
|
| 412 |
headerRow.createCell(7).setCellValue("address2"); //Line 2
|
607 |
headerRow.createCell(7).setCellValue("address2"); //Line 2
|