Subversion Repositories SmartDukaan

Rev

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

Rev 27079 Rev 27221
Line 76... Line 76...
76
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
76
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
77
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
77
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
78
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
78
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
79
import com.spice.profitmandi.dao.repository.cs.CsService;
79
import com.spice.profitmandi.dao.repository.cs.CsService;
80
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
80
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
-
 
81
import com.spice.profitmandi.dao.repository.dtr.LeadRepository;
81
import com.spice.profitmandi.dao.repository.dtr.Mongo;
82
import com.spice.profitmandi.dao.repository.dtr.Mongo;
82
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
83
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
83
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
84
import com.spice.profitmandi.dao.repository.fofo.DebitNoteRepository;
84
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
85
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
85
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
86
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
Line 125... Line 126...
125
 
126
 
126
	@Autowired
127
	@Autowired
127
	private LineItemRepository lineItemRepository;
128
	private LineItemRepository lineItemRepository;
128
 
129
 
129
	@Autowired
130
	@Autowired
-
 
131
	private LeadRepository leadRepository;
-
 
132
	
-
 
133
	@Autowired
130
	private PurchaseReturnItemRepository purchaseReturnItemRepository;
134
	private PurchaseReturnItemRepository purchaseReturnItemRepository;
131
 
135
 
132
	@Autowired
136
	@Autowired
133
	private SaholicInventorySnapshotRepository saholicInventorySnapshotRepository;
137
	private SaholicInventorySnapshotRepository saholicInventorySnapshotRepository;
134
 
138
 
Line 873... Line 877...
873
		LOGGER.info("Partner Types found\tPartnerType To Remove\tAmout to Rollback");
877
		LOGGER.info("Partner Types found\tPartnerType To Remove\tAmout to Rollback");
874
		final Map<Integer, Scheme> schemesMap = schemeRepository.selectAll().stream()
878
		final Map<Integer, Scheme> schemesMap = schemeRepository.selectAll().stream()
875
				.collect(Collectors.toMap(x -> x.getId(), x -> x));
879
				.collect(Collectors.toMap(x -> x.getId(), x -> x));
876
		List<SchemeInOut> sios = schemeInOutRepository.selectAllByCreateDate(LocalDate.of(2019, 9, 1).atTime(0, 0),
880
		List<SchemeInOut> sios = schemeInOutRepository.selectAllByCreateDate(LocalDate.of(2019, 9, 1).atTime(0, 0),
877
				LocalDateTime.now());
881
				LocalDateTime.now());
878
		Map<SioTuple, Map<PartnerType, List<SchemeInOut>>> schemeTupleMap = sios.stream().filter(x -> x.getRolledBackTimestamp() == null)
882
		Map<SioTuple, Map<PartnerType, List<SchemeInOut>>> schemeTupleMap = sios.stream()
-
 
883
				.filter(x -> x.getRolledBackTimestamp() == null)
879
				.filter(x -> schemesMap.get(x.getSchemeId()).getPartnerType() != PartnerType.ALL)
884
				.filter(x -> schemesMap.get(x.getSchemeId()).getPartnerType() != PartnerType.ALL)
880
				.collect(Collectors.groupingBy(
885
				.collect(Collectors.groupingBy(
881
						x -> new SioTuple(x.getInventoryItemId(), schemesMap.get(x.getSchemeId()).getType()),
886
						x -> new SioTuple(x.getInventoryItemId(), schemesMap.get(x.getSchemeId()).getType()),
882
						Collectors.groupingBy(x->schemesMap.get(x.getSchemeId()).getPartnerType(), 
887
						Collectors.groupingBy(x -> schemesMap.get(x.getSchemeId()).getPartnerType(),
883
								Collectors.mapping(x->x, Collectors.toList()))));
888
								Collectors.mapping(x -> x, Collectors.toList()))));
884
		
889
 
885
		schemeTupleMap.entrySet().stream().filter(x->x.getValue().size()>1).forEach(x->{
890
		schemeTupleMap.entrySet().stream().filter(x -> x.getValue().size() > 1).forEach(x -> {
886
			Map<PartnerType, List<SchemeInOut>> partnerTypeSchemeMap = x.getValue();
891
			Map<PartnerType, List<SchemeInOut>> partnerTypeSchemeMap = x.getValue();
887
			PartnerType partnerTypeToRemove = partnerTypeSchemeMap.keySet().stream().min(
892
			PartnerType partnerTypeToRemove = partnerTypeSchemeMap.keySet().stream()
888
					Comparator.comparing(y->PartnerType.PartnerTypeRankMap.get(y))).get();
893
					.min(Comparator.comparing(y -> PartnerType.PartnerTypeRankMap.get(y))).get();
889
			LOGGER.info("{}\t{}\t{}\t{}\t{}\t{}", 
894
			LOGGER.info("{}\t{}\t{}\t{}\t{}\t{}", partnerTypeSchemeMap.keySet(), partnerTypeToRemove,
890
					partnerTypeSchemeMap.keySet(), partnerTypeToRemove, 
895
					partnerTypeSchemeMap.get(partnerTypeToRemove).stream()
891
					partnerTypeSchemeMap.get(partnerTypeToRemove).stream().collect(Collectors.summingDouble(SchemeInOut::getAmount))
896
							.collect(Collectors.summingDouble(SchemeInOut::getAmount)),
892
					,FormattingUtils.formatDate(partnerTypeSchemeMap.get(partnerTypeToRemove).stream().map(y->y.getCreateTimestamp()).findFirst().get()));
897
					FormattingUtils.formatDate(partnerTypeSchemeMap.get(partnerTypeToRemove).stream()
-
 
898
							.map(y -> y.getCreateTimestamp()).findFirst().get()));
893
			
899
 
894
		});
900
		});
895
	}
901
	}
896
 
902
 
897
	private class SioTuple {
903
	private class SioTuple {
898
		int inventoryId;
904
		int inventoryId;
Line 950... Line 956...
950
		private RunOnceTasks getOuterType() {
956
		private RunOnceTasks getOuterType() {
951
			return RunOnceTasks.this;
957
			return RunOnceTasks.this;
952
		}
958
		}
953
 
959
 
954
	}
960
	}
-
 
961
 
-
 
962
	public void printPendingLeads() {
-
 
963
		LOGGER.info("PENDING LEADES {}", leadRepository.selectLeadsScheduledBetweenDate(LocalDateTime.now().minusDays(15),
-
 
964
				LocalDateTime.now().plusHours(4)));
-
 
965
	}
955
}
966
}
956
 
967
 
957
//7015845171
968
//7015845171
958
969