Rev 21234 | Rev 21242 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.server;import in.shop2020.model.v1.order.Order;import in.shop2020.model.v1.order.TransactionService.Client;import in.shop2020.thrift.clients.TransactionClient;import java.io.File;import java.io.FileInputStream;import java.util.ArrayList;import java.util.List;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class ProcessBulkBilling{private static Logger logger = LoggerFactory.getLogger(ProcessBulkBilling.class);private String fileName;private String logisticsTransactionId;private String packageDimensions;private ArrayList<String> imei_list = new ArrayList<String>();ProcessBulkBilling(String fileName, String logisticsTransactionId, String packageDimensions) {logger.info("FileName "+fileName+" logisticsTransactionId "+logisticsTransactionId+" packageDimension "+packageDimensions);this.fileName = fileName;this.logisticsTransactionId = logisticsTransactionId;this.packageDimensions = packageDimensions;}public boolean processReport() {logger.info("Inside bulk billing process");try{FileInputStream iFile = new FileInputStream(new File(fileName));HSSFWorkbook workbook = new HSSFWorkbook(iFile);HSSFSheet sheet = workbook.getSheetAt(0);for (int iterator=sheet.getFirstRowNum()+1;iterator<=sheet.getLastRowNum();iterator++){String imei = (sheet.getRow(iterator).getCell(0).getStringCellValue()).trim();if (imei == null || imei.isEmpty()){break;}imei_list.add(imei);}return true;}catch(Exception e){e.printStackTrace();return false;}}public String checkBillingDetails(){List<Order> orders_list;try{Client tc = new TransactionClient().getClient();orders_list = tc.getGroupOrdersByLogisticsTxnId(logisticsTransactionId);}catch(Exception e){e.printStackTrace();return "Service Error!!!";}long total_quantity = 0;for (Order o : orders_list){total_quantity = (long) (total_quantity + o.getLineitems().get(0).getQuantity());}if (total_quantity != imei_list.size()){return "Quantity and imei mismatch.Supplied imei's not equal to quantity to bill";}return "Success";}}