private void calcQuoteSummaryFromList(List<FclQuotationSummaryModel> list) throws ParseException { for (FclQuotationSummaryModel model : list) { this.buy += model.buy; this.sell += model.sell; this.margin += model.margin; this.noOfTEUs += model.noOfTEUs; this.totalNoOfContainers += model.totalNoOfContainers; this.totalTurnAroundTime += model.getTurnAroundTime(); } }
private static Collection<List<FclQuotationSummaryModel>> getCategorizedList( List<FclQuotationSummaryModel> summaryModels, String sortItem, boolean isPrimary) { Map<String, List<FclQuotationSummaryModel>> map = new HashMap<String, List<FclQuotationSummaryModel>>(); String keyString; if (CommonUtil.isNotEmpty(sortItem)) { List<FclQuotationSummaryModel> valList; for (FclQuotationSummaryModel model : summaryModels) { keyString = isPrimary ? model.getPrimaryColumnValue() : model.getSecondaryColumnValue(); valList = map.get(keyString); if (valList != null) { valList.add(model); } else { valList = new ArrayList<FclQuotationSummaryModel>(); valList.add(model); map.put(keyString, valList); } } } return new TreeMap<String, List<FclQuotationSummaryModel>>(map).values(); }
public static FclQuotationSummaryModel getGroupedFinalModel( List<FclQuotationSummaryModel> globalModels, String primarySortItem, String secondarySortItem) throws ParseException { List<FclQuotationSummaryModel> priGrpList = new ArrayList<FclQuotationSummaryModel>(); FclQuotationSummaryModel finalModel = new FclQuotationSummaryModel(); // Primary sort item if (CommonUtil.isNotEmpty(primarySortItem)) { Collection<List<FclQuotationSummaryModel>> listOfPriGrpLists = getCategorizedList(globalModels, primarySortItem, true); // Primary grouping for (List<FclQuotationSummaryModel> priGrpModel : listOfPriGrpLists) { FclQuotationSummaryModel priFinalModel = new FclQuotationSummaryModel(); // Secondary sort item if (CommonUtil.isNotEmpty(secondarySortItem)) { List<FclQuotationSummaryModel> secGrpList = new ArrayList<FclQuotationSummaryModel>(); Collection<List<FclQuotationSummaryModel>> listOfSecGrpLists = getCategorizedList(priGrpModel, secondarySortItem, false); // Secondary grouping for (List<FclQuotationSummaryModel> secGrpModels : listOfSecGrpLists) { FclQuotationSummaryModel secFinalModel = new FclQuotationSummaryModel(); secFinalModel.calcQuoteSummaryFromList(secGrpModels); secFinalModel.setBasicQuoteModelList(secGrpModels); secGrpList.add(secFinalModel); } priFinalModel.calcQuoteSummaryFromList(secGrpList); priFinalModel.setGroupedQuoteModelList(secGrpList); } else { priFinalModel.calcQuoteSummaryFromList(priGrpModel); priFinalModel.setBasicQuoteModelList(priGrpModel); } priGrpList.add(priFinalModel); } finalModel.calcQuoteSummaryFromList(priGrpList); finalModel.setGroupedQuoteModelList(priGrpList); } else { finalModel.calcQuoteSummaryFromList(globalModels); finalModel.setBasicQuoteModelList(globalModels); } return finalModel; }