Subversion Repositories SmartDukaan

Rev

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

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