Subversion Repositories SmartDukaan

Rev

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

Rev 30326 Rev 30410
Line 875... Line 875...
875
			throws Exception {
875
			throws Exception {
876
 
876
 
877
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
877
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
878
 
878
 
879
		LocalDateTime lastMonthStart = LocalDate.now().minusMonths(month).withDayOfMonth(1).atStartOfDay();
879
		LocalDateTime lastMonthStart = LocalDate.now().minusMonths(month).withDayOfMonth(1).atStartOfDay();
880
		LocalDateTime currentMonthEnd = lastMonthStart.plusMonths(1).withDayOfMonth(1).toLocalDate().atStartOfDay();
880
		LocalDateTime lastMonthEnd = lastMonthStart.plusMonths(1);
881
 
881
 
882
		HashSet<String> allImeiSet = new LinkedHashSet<>();
882
		HashSet<String> allImeiSet = new LinkedHashSet<>();
883
		HashSet<String> purchaseSet = new LinkedHashSet<>();
883
		HashSet<String> purchaseSet = new LinkedHashSet<>();
884
		HashSet<String> saleSet = new LinkedHashSet<>();
884
		HashSet<String> saleSet = new LinkedHashSet<>();
885
 
885
 
886
		List<LastMonthFrontEndImeiModel> lmfi = schemeInOutRepository
886
		List<LastMonthFrontEndImeiModel> lmfi = schemeInOutRepository
887
				.selectLastMonthFrontEndImei(loginDetails.getFofoId(), catalogItemId, lastMonthStart, currentMonthEnd);
887
				.selectLastMonthFrontEndImei(loginDetails.getFofoId(), catalogItemId, lastMonthStart, lastMonthEnd);
888
		List<LastMonthImeiModel> lmpi = schemeInOutRepository.selectLastMonthPurchaseInImei(loginDetails.getFofoId(),
888
		List<LastMonthImeiModel> lmpi = schemeInOutRepository.selectLastMonthPurchaseInImei(loginDetails.getFofoId(),
889
				catalogItemId, lastMonthStart, currentMonthEnd);
889
				catalogItemId, lastMonthStart, lastMonthEnd);
890
		List<LastMonthImeiModel> lmci = schemeInOutRepository.selectLastMonthCreditedImei(loginDetails.getFofoId(),
890
		List<LastMonthImeiModel> lmci = schemeInOutRepository.selectLastMonthCreditedImei(loginDetails.getFofoId(),
891
				catalogItemId, lastMonthStart, currentMonthEnd);
891
				catalogItemId, lastMonthStart, lastMonthEnd);
892
 
892
 
893
		LOGGER.info("lmci {}", lmci);
893
		LOGGER.info("lmci {}", lmci);
894
 
894
 
895
		Map<String, Double> lastmonthCategoryUpgradeMargin = schemeInOutRepository
895
		Map<String, Double> lastmonthCategoryUpgradeMargin = schemeInOutRepository
896
				.selectLastMonthCategoryUpgradeMarginByImei(loginDetails.getFofoId(), catalogItemId, lastMonthStart,
896
				.selectLastMonthCategoryUpgradeMarginByImei(loginDetails.getFofoId(), catalogItemId, lastMonthStart,
897
						currentMonthEnd)
897
						lastMonthEnd)
898
				.stream().collect(Collectors.toMap(x -> x.getBrand(), x -> x.getAmount()));
898
				.stream().collect(Collectors.toMap(x -> x.getBrand(), x -> x.getAmount()));
899
 
899
 
900
		allImeiSet.addAll(lmpi.stream().map(x -> x.getImei()).collect(Collectors.toList()));
900
		allImeiSet.addAll(lmpi.stream().map(x -> x.getImei()).collect(Collectors.toList()));
901
		allImeiSet.addAll(lmci.stream().map(x -> x.getImei()).collect(Collectors.toList()));
901
		allImeiSet.addAll(lmci.stream().map(x -> x.getImei()).collect(Collectors.toList()));
902
		allImeiSet.addAll(lmfi.stream().map(x -> x.getImei()).collect(Collectors.toList()));
902
		allImeiSet.addAll(lmfi.stream().map(x -> x.getImei()).collect(Collectors.toList()));
Line 1026... Line 1026...
1026
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
1026
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
1027
		LOGGER.info("loginDetails {}", loginDetails);
1027
		LOGGER.info("loginDetails {}", loginDetails);
1028
		LOGGER.info("brand" + brand);
1028
		LOGGER.info("brand" + brand);
1029
		LOGGER.info("month {}", month);
1029
		LOGGER.info("month {}", month);
1030
 
1030
 
1031
		model.addAttribute("month", month);
-
 
1032
		LocalDateTime lastMonthStart = LocalDate.now().minusMonths(month).withDayOfMonth(1).atStartOfDay();
1031
		LocalDateTime monthStart = LocalDate.now().minusMonths(month).withDayOfMonth(1).atStartOfDay();
1033
		LocalDateTime currentMonthEnd = lastMonthStart.plusMonths(1).withDayOfMonth(1).toLocalDate().atStartOfDay();
1032
		LocalDateTime monthEnd = monthStart.plusMonths(1);
1034
 
1033
 
1035
		List<LastMonthBrandWiseIncomeModel> lastMonthModelWiseIncomes = null;
-
 
1036
		List<LastMonthFrontEndBrandWiseIncome> modelWiseFrontIncomes = null;
-
 
1037
		List<LastMonthBrandWiseIncomeModel> purchaseInModelWiseIncomes = null;
1034
		boolean partnerTypeUpgraded = partnerTypeChangeService.isPartnerTypeUpgraded(loginDetails.getFofoId(), YearMonth.now());
1038
 
1035
 
1039
		boolean partnerType = partnerTypeChangeService.isPartnerTypeUpgraded(loginDetails.getFofoId(), YearMonth.now());
1036
		LOGGER.info("partnerType" + partnerTypeUpgraded);
1040
 
1037
 
1041
		LOGGER.info("partnerType" + partnerType);
-
 
1042
 
-
 
1043
		Map<String, Double> categoryUpradeBrandModelMap = new HashMap<>();
1038
		Map<String, Double> categoryUpradeBrandModelMap = null;
1044
 
-
 
1045
		if (partnerType) {
1039
		if (partnerTypeUpgraded) {
1046
			categoryUpradeBrandModelMap = schemeInOutRepository
1040
			categoryUpradeBrandModelMap = schemeInOutRepository
1047
					.selectLastMonthCategoryUpgradeMarginByBrandModel(loginDetails.getFofoId(), brand, lastMonthStart,
1041
					.selectLastMonthCategoryUpgradeMarginByBrandModel(loginDetails.getFofoId(), brand, monthStart,
1048
							currentMonthEnd)
1042
							monthEnd)
1049
					.stream().collect(Collectors.toMap(x -> x.getBrand(), x -> x.getAmount()));
1043
					.stream().collect(Collectors.toMap(x -> x.getBrand(), x -> x.getAmount()));
1050
		}
1044
		}
1051
		LOGGER.info("partnerType {}", partnerType);
-
 
1052
		LOGGER.info("categoryUpradeBrandModelMap {}", categoryUpradeBrandModelMap);
-
 
1053
 
1045
 
-
 
1046
		List<LastMonthFrontEndBrandWiseIncome> modelWiseSalesMargins = schemeInOutRepository.selectFrontIncomeBrandWise(loginDetails.getFofoId(), brand,
-
 
1047
				monthStart, monthEnd);
1054
 
1048
 
1055
		lastMonthModelWiseIncomes = schemeInOutRepository.selectLastMonthBrandWiseIncome(loginDetails.getFofoId(),
1049
		List<LastMonthBrandWiseIncomeModel> modelWiseSchemeOutMargins = schemeInOutRepository.selectLastMonthBrandWiseIncome(loginDetails.getFofoId(),
1056
				brand, lastMonthStart, currentMonthEnd);
1050
				brand, monthStart, monthEnd);
1057
		modelWiseFrontIncomes = schemeInOutRepository.selectFrontIncomeBrandWise(loginDetails.getFofoId(), brand,
1051
		Map<Integer, LastMonthBrandWiseIncomeModel> modelWiseSchemeOutMarginsMap = modelWiseSchemeOutMargins.stream().collect(Collectors.toMap(x -> x.getCatalogItemId(), x -> x));
1058
				lastMonthStart, currentMonthEnd);
-
 
1059
		purchaseInModelWiseIncomes = schemeInOutRepository.selectLastMonthPurchaseBrandWiseIncome(
-
 
1060
				loginDetails.getFofoId(), brand, lastMonthStart, currentMonthEnd);
-
 
1061
 
1052
 
1062
		LOGGER.info("modelWiseFrontIncomes {}", modelWiseFrontIncomes);
-
 
1063
		LOGGER.info("lastMonthModelWiseIncomes {}", lastMonthModelWiseIncomes);
-
 
1064
		LOGGER.info("purchaseInModelWiseIncomes {}", purchaseInModelWiseIncomes);
-
 
1065
		Map<String, LastMonthBrandWiseIncomeModel> modelWiseMap = lastMonthModelWiseIncomes.stream()
-
 
1066
				.collect(Collectors.toMap(x -> x.getModelNumber(), x -> x));
-
 
1067
 
1053
 
-
 
1054
		List<LastMonthBrandWiseIncomeModel> modelWiseSchemeInMargins = schemeInOutRepository.selectLastMonthPurchaseBrandWiseIncome(
-
 
1055
				loginDetails.getFofoId(), brand, monthStart, monthEnd);
-
 
1056
		Map<Integer, LastMonthBrandWiseIncomeModel> modelWiseSchemeInMarginsMap = modelWiseSchemeInMargins.stream().collect(Collectors.toMap(x -> x.getCatalogItemId(), x -> x));
1068
 
1057
 
1069
		LOGGER.info("modelWiseMap1" + modelWiseMap);
1058
		Map<Integer, Double> modelTotalIncomeMap = new HashMap<>();
1070
		Map<String, LastMonthBrandWiseIncomeModel> purchaseWiseMap = purchaseInModelWiseIncomes.stream()
-
 
1071
				.collect(Collectors.toMap(x -> x.getModelNumber(), x -> x));
1059
		Map<Integer, String> modelNameMap = new HashMap<>();
1072
 
1060
 
-
 
1061
		modelWiseSchemeOutMargins.stream().forEach(x -> {
1073
		Map<String, Double> modelWiseTotalAmount = new HashMap<>();
1062
			modelTotalIncomeMap.put(x.getCatalogItemId(), x.getAmount());
-
 
1063
			modelNameMap.put(x.getCatalogItemId(), (x.getModelNumber() + x.getModelName()).trim());
1074
 
1064
 
-
 
1065
		});
1075
		modelWiseFrontIncomes.stream().forEach(x -> {
1066
		modelWiseSalesMargins.stream().forEach(x -> {
1076
			LastMonthBrandWiseIncomeModel lmbwi = modelWiseMap.get(x.getModelNumber());
-
 
1077
			if (modelWiseMap.containsKey(x.getModelNumber())) {
1067
			if (!modelTotalIncomeMap.containsKey(x.getCatalogItemId())) {
1078
 
-
 
1079
 
-
 
1080
				lmbwi.setAmount(x.getAmount() + lmbwi.getAmount());
-
 
1081
 
-
 
1082
				modelWiseMap.put(x.getModelNumber(), lmbwi);
1068
				modelTotalIncomeMap.put(x.getCatalogItemId(), 0d);
1083
			} else {
-
 
1084
				LastMonthBrandWiseIncomeModel lmbwIncomeModel = new LastMonthBrandWiseIncomeModel();
1069
				LastMonthBrandWiseIncomeModel lmbwIncomeModel = new LastMonthBrandWiseIncomeModel();
1085
				lmbwIncomeModel.setAmount(x.getAmount());
1070
				lmbwIncomeModel.setAmount(x.getAmount());
1086
				lmbwIncomeModel.setModelName(x.getModelName());
1071
				lmbwIncomeModel.setModelName(x.getModelName());
1087
				lmbwIncomeModel.setModelNumber(x.getModelNumber());
1072
				lmbwIncomeModel.setModelNumber(x.getModelNumber());
1088
				lmbwIncomeModel.setBrand(x.getBrand());
1073
				lmbwIncomeModel.setBrand(x.getBrand());
1089
				lmbwIncomeModel.setCatalogItemId(x.getCatalogItemId());
1074
				lmbwIncomeModel.setCatalogItemId(x.getCatalogItemId());
1090
				lmbwIncomeModel.setPendingSaleAmount(x.getPendingSaleAmount());
1075
				lmbwIncomeModel.setPendingSaleAmount(x.getPendingSaleAmount());
1091
				lmbwIncomeModel.setQty(x.getQty());
1076
				lmbwIncomeModel.setQty(x.getQty());
1092
				lmbwIncomeModel.setStatus(SchemePayoutStatus.CREDITED);
1077
				lmbwIncomeModel.setStatus(SchemePayoutStatus.CREDITED);
1093
				modelWiseMap.put(lmbwIncomeModel.getModelNumber(), lmbwIncomeModel);
1078
				modelWiseSchemeOutMarginsMap.put(x.getCatalogItemId(), lmbwIncomeModel);
1094
			}
-
 
1095
 
-
 
1096
			if (modelWiseTotalAmount.containsKey(x.getModelNumber())) {
-
 
1097
 
-
 
1098
				double amount = x.getAmount() + modelWiseTotalAmount.get(x.getModelNumber());
-
 
1099
				modelWiseTotalAmount.put(x.getModelNumber(), amount);
-
 
1100
			} else {
-
 
1101
 
-
 
1102
				double amount = modelWiseMap.get(x.getModelNumber()).getAmount();
-
 
1103
				modelWiseTotalAmount.put(x.getModelNumber(), amount);
-
 
1104
			}
-
 
1105
		});
-
 
1106
 
-
 
1107
		for (LastMonthBrandWiseIncomeModel pmi : purchaseInModelWiseIncomes) {
-
 
1108
 
1079
 
1109
			if (!modelWiseMap.containsKey(pmi.getModelNumber())) {
-
 
1110
				modelWiseMap.put(pmi.getModelNumber(), null);
-
 
1111
			}
1080
			}
-
 
1081
			LastMonthBrandWiseIncomeModel lmbwIncomeModel = modelWiseSchemeOutMarginsMap.get(x.getCatalogItemId());
-
 
1082
			lmbwIncomeModel.setQty(x.getQty());
1112
			if (modelWiseTotalAmount.containsKey(pmi.getModelNumber())) {
1083
			lmbwIncomeModel.setAmount(lmbwIncomeModel.getAmount() + x.getAmount());
-
 
1084
			modelTotalIncomeMap.put(x.getCatalogItemId(), modelTotalIncomeMap.get(x.getCatalogItemId()) + x.getAmount());
-
 
1085
			modelNameMap.put(x.getCatalogItemId(), (x.getModelNumber() + x.getModelName()).trim());
1113
 
1086
 
1114
				double amount = pmi.getAmount() + modelWiseTotalAmount.get(pmi.getModelNumber());
-
 
1115
				modelWiseTotalAmount.put(pmi.getModelNumber(), amount);
-
 
1116
			} else {
-
 
1117
				modelWiseTotalAmount.put(pmi.getModelNumber(), pmi.getAmount());
-
 
1118
			}
-
 
1119
 
-
 
1120
		}
1087
		});
1121
		LOGGER.info("modelWiseTotalAmount" + modelWiseTotalAmount);
1088
		modelWiseSchemeInMargins.stream().forEach(x -> {
1122
 
-
 
1123
		lastMonthModelWiseIncomes.stream().filter(x -> x.getStatus().equals(SchemePayoutStatus.PENDING) && x.getPendingSaleAmount() != 0.0).forEach(x -> {
-
 
1124
 
-
 
1125
			if (modelWiseTotalAmount.containsKey(x.getModelNumber())) {
1089
			if (!modelTotalIncomeMap.containsKey(x.getCatalogItemId())) {
1126
				double amount = modelWiseTotalAmount.get(x.getModelNumber()) + x.getPendingSaleAmount();
-
 
1127
				modelWiseTotalAmount.put(x.getModelNumber(), amount);
1090
				modelTotalIncomeMap.put(x.getCatalogItemId(), 0d);
1128
 
-
 
1129
				LOGGER.info("modelWiseTotalAmoun111t" + amount);
-
 
1130
			} else {
-
 
1131
				LOGGER.info("modelWiseTotalAmou2222t" + x.getPendingSaleAmount());
-
 
1132
				modelWiseTotalAmount.put(x.getModelNumber(), x.getPendingSaleAmount());
-
 
1133
			}
1091
			}
-
 
1092
			modelTotalIncomeMap.put(x.getCatalogItemId(), modelTotalIncomeMap.get(x.getCatalogItemId()) + x.getAmount() + x.getPendingSaleAmount());
-
 
1093
			modelNameMap.put(x.getCatalogItemId(), (x.getModelNumber() + x.getModelName()).trim());
1134
 
1094
 
1135
		});
1095
		});
1136
		LOGGER.info("modelWiseMap" + modelWiseMap);
-
 
1137
 
1096
 
-
 
1097
		model.addAttribute("month", month);
-
 
1098
		model.addAttribute("modelWiseSchemeOutMarginsMap", modelWiseSchemeOutMarginsMap);
-
 
1099
		model.addAttribute("modelWiseSchemeInMarginsMap", modelWiseSchemeInMarginsMap);
1138
		model.addAttribute("purchaseWiseMap", purchaseWiseMap);
1100
		model.addAttribute("modelNameMap", modelNameMap);
-
 
1101
		model.addAttribute("modelTotalIncomeMap", modelTotalIncomeMap);
1139
		model.addAttribute("categoryUpradeBrandModelMap", categoryUpradeBrandModelMap);
1102
		model.addAttribute("categoryUpradeBrandModelMap", categoryUpradeBrandModelMap);
1140
		model.addAttribute("modelWiseMap", modelWiseMap);
-
 
1141
		model.addAttribute("modelWiseTotalAmount", modelWiseTotalAmount);
-
 
1142
 
1103
 
1143
		return "montly-brand-wise-income";
1104
		return "montly-brand-wise-income";
1144
 
1105
 
1145
	}
1106
	}
1146
 
1107
 
Line 1469... Line 1430...
1469
 
1430
 
1470
		model.addAttribute("suo", suo);
1431
		model.addAttribute("suo", suo);
1471
		return "samsung-upgrade-offer-index";
1432
		return "samsung-upgrade-offer-index";
1472
 
1433
 
1473
	}
1434
	}
-
 
1435
 
-
 
1436
 
1474
}
1437
}
1475
1438