Subversion Repositories SmartDukaan

Rev

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

Rev 25603 Rev 25604
Line 671... Line 671...
671
		}
671
		}
672
 
672
 
673
		String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
673
		String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
674
 
674
 
675
		for (Map.Entry<String, Set<String>> storeGuyEntry : csService.getAuthUserPartnerEmailMapping().entrySet()) {
675
		for (Map.Entry<String, Set<String>> storeGuyEntry : csService.getAuthUserPartnerEmailMapping().entrySet()) {
676
			/*
-
 
677
			 * List<List<? extends Serializable>> filteredRows =
676
			List<List<? extends Serializable>> filteredRows = storeGuyEntry.getValue().stream()
678
			 * storeGuyEntry.getValue().stream() .map(x -> partnerRow.get(x)).filter(x -> x
-
 
679
			 * != null).collect(Collectors.toList());
677
					.map(x -> partnerRow.get(x)).filter(x -> x != null).collect(Collectors.toList());
680
			 */
-
 
681
			List<List<? extends Serializable>> filteredRows = new ArrayList<>();
-
 
682
			ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, filteredRows);
678
			ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, filteredRows);
683
			// String[] sendToArray = new String[] {storeGuyEntry.getKey()};
679
			String[] sendToArray = new String[] {storeGuyEntry.getKey()};
684
			for (String storeGuyString : storeGuyEntry.getValue()) {
-
 
685
				String[] sendToArray = new String[] {storeGuyString};
-
 
686
				Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Partner Investment Summary", "PFA",
680
			Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Partner Investment Summary", "PFA",
687
						fileName, new ByteArrayResource(baos.toByteArray()));
681
					fileName, new ByteArrayResource(baos.toByteArray()));
688
			}
-
 
689
		}
682
		}
690
 
683
 
691
		/*
-
 
692
		 * ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
684
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
693
		 * String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
685
		String[] sendToArray = sendTo.toArray(new String[sendTo.size()]);
694
		 * Utils.sendMailWithAttachment(googleMailSender, sendToArray, null,
686
		Utils.sendMailWithAttachment(googleMailSender, sendToArray, null, "Partner Investment Summary", "PFA", fileName,
695
		 * "Partner Investment Summary", "PFA", fileName, new
-
 
696
		 * ByteArrayResource(baos.toByteArray()));
687
				new ByteArrayResource(baos.toByteArray()));
697
		 */
-
 
698
 
688
 
699
	}
689
	}
700
 
690
 
701
	private Map<String, SaleRoles> getPartnerEmailSalesMap() {
691
	private Map<String, SaleRoles> getPartnerEmailSalesMap() {
702
		Map<String, SaleRoles> partnerEmailSalesMap = new HashMap<>();
692
		Map<String, SaleRoles> partnerEmailSalesMap = new HashMap<>();
Line 706... Line 696...
706
		Map<Integer, AuthUser> authUsersMap = authRepository.selectAllActiveUser().stream()
696
		Map<Integer, AuthUser> authUsersMap = authRepository.selectAllActiveUser().stream()
707
				.collect(Collectors.toMap(x -> x.getId(), x -> x));
697
				.collect(Collectors.toMap(x -> x.getId(), x -> x));
708
		Map<Integer, List<CustomRetailer>> positionIdRetailerMap = csService.getPositionCustomRetailerMap(positions);
698
		Map<Integer, List<CustomRetailer>> positionIdRetailerMap = csService.getPositionCustomRetailerMap(positions);
709
		for (Position position : positions) {
699
		for (Position position : positions) {
710
			List<CustomRetailer> crList = positionIdRetailerMap.get(position.getId());
700
			List<CustomRetailer> crList = positionIdRetailerMap.get(position.getId());
711
			if (crList == null)
701
			if(crList==null) continue;
712
				continue;
-
 
713
			for (CustomRetailer cr : crList) {
702
			for (CustomRetailer cr : crList) {
714
				if (!partnerEmailSalesMap.containsKey(cr.getEmail())) {
703
				if (!partnerEmailSalesMap.containsKey(cr.getEmail())) {
715
					partnerEmailSalesMap.put(cr.getEmail(), new SaleRoles());
704
					partnerEmailSalesMap.put(cr.getEmail(), new SaleRoles());
716
				}
705
				}
717
				SaleRoles saleRoles = partnerEmailSalesMap.get(cr.getEmail());
706
				SaleRoles saleRoles = partnerEmailSalesMap.get(cr.getEmail());
Line 750... Line 739...
750
		Map<Integer, CustomRetailer> customRetailerMap = retailerService
739
		Map<Integer, CustomRetailer> customRetailerMap = retailerService
751
				.getFofoRetailers(new ArrayList<>(fofoStoresMap.keySet()));
740
				.getFofoRetailers(new ArrayList<>(fofoStoresMap.keySet()));
752
 
741
 
753
		Map<String, CustomRetailer> customRetailerEmailMap = customRetailerMap.values().stream()
742
		Map<String, CustomRetailer> customRetailerEmailMap = customRetailerMap.values().stream()
754
				.collect(Collectors.toMap(x -> x.getEmail(), x -> x));
743
				.collect(Collectors.toMap(x -> x.getEmail(), x -> x));
755
 
744
		
756
		Map<String, SaleRoles> partnerEmailSalesMap = this.getPartnerEmailSalesMap();
745
		Map<String, SaleRoles> partnerEmailSalesMap = this.getPartnerEmailSalesMap();
757
 
746
 
758
		List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "Current Category", "State Manager",
747
		List<String> headers = Arrays.asList("Code", "Firm Name", "Store Name", "Current Category", "State Manager",
759
				"Teritory Manager", "Team Leader", "Targeted Category", "Targeted Value", "Target Achieved",
748
				"Teritory Manager", "Team Leader", "Targeted Category", "Targeted Value", "Target Achieved",
760
				"Achived Percentage", "Remaining Target", "Today's Target", "Today's achievement");
749
				"Achived Percentage", "Remaining Target", "Today's Target", "Today's achievement");
Line 767... Line 756...
767
			FofoStore fofoStore = fofoStoresMap.get(retailer.getPartnerId());
756
			FofoStore fofoStore = fofoStoresMap.get(retailer.getPartnerId());
768
			Serializable code = fofoStore.getCode();
757
			Serializable code = fofoStore.getCode();
769
			Serializable storeName = "SmartDukaan-" + fofoStore.getCode().replaceAll("[a-zA-Z]", "");
758
			Serializable storeName = "SmartDukaan-" + fofoStore.getCode().replaceAll("[a-zA-Z]", "");
770
			Serializable businessName = retailer.getBusinessName();
759
			Serializable businessName = retailer.getBusinessName();
771
			try {
760
			try {
772
				Serializable stateManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL2(),
761
				Serializable stateManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL2(), ", ");
773
						", ");
-
 
774
				Serializable territoryManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL1(),
762
				Serializable territoryManager = StringUtils.join(partnerEmailSalesMap.get(retailer.getEmail()).getL1(), ", ");
775
						", ");
-
 
776
				List<Serializable> row = new ArrayList<>(
763
				List<Serializable> row = new ArrayList<>(
777
						Arrays.asList(code, businessName, storeName, stateManager, territoryManager));
764
						Arrays.asList(code, businessName, storeName, stateManager, territoryManager));
778
				if (partnerSalesTargetRowsMap.get(retailer.getEmail()) != null) {
765
				if (partnerSalesTargetRowsMap.get(retailer.getEmail()) != null) {
779
					row.addAll(partnerSalesTargetRowsMap.get(retailer.getEmail()));
766
					row.addAll(partnerSalesTargetRowsMap.get(retailer.getEmail()));
780
					partnerRowMap.put(retailer.getEmail(), row);
767
					partnerRowMap.put(retailer.getEmail(), row);
Line 816... Line 803...
816
				attachment1);
803
				attachment1);
817
 
804
 
818
		// Reports to be sent to mapped partners
805
		// Reports to be sent to mapped partners
819
		Map<String, Set<String>> storeGuysMap = csService.getAuthUserPartnerEmailMapping();
806
		Map<String, Set<String>> storeGuysMap = csService.getAuthUserPartnerEmailMapping();
820
 
807
 
821
		Utils.sendMailWithAttachments(googleMailSender, storeGuysMap.keySet().toArray(new String[0]), null,
808
		Utils.sendMailWithAttachments(googleMailSender, storeGuysMap.keySet().toArray(new String[0]), null, "Stock Aeging Report", "PFA", attachment);
822
				"Stock Aeging Report", "PFA", attachment);
-
 
823
 
809
 
824
		for (Map.Entry<String, Set<String>> storeGuyEntry : storeGuysMap.entrySet()) {
810
		for (Map.Entry<String, Set<String>> storeGuyEntry : storeGuysMap.entrySet()) {
825
			Map<String, String> params = new HashMap<>();
811
			Map<String, String> params = new HashMap<>();
826
			if (storeGuyEntry.getValue().size() == 0)
812
			if (storeGuyEntry.getValue().size() == 0)
827
				continue;
813
				continue;