Subversion Repositories SmartDukaan

Rev

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

Rev 25197 Rev 25214
Line 26... Line 26...
26
import com.spice.profitmandi.common.model.BrandStockPrice;
26
import com.spice.profitmandi.common.model.BrandStockPrice;
27
import com.spice.profitmandi.common.model.ProfitMandiConstants;
27
import com.spice.profitmandi.common.model.ProfitMandiConstants;
28
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
28
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
29
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
29
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
30
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
30
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
-
 
31
import com.spice.profitmandi.dao.entity.fofo.PartnerTarget;
-
 
32
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
31
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
33
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
32
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
34
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
33
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
35
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
34
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
36
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
35
import com.spice.profitmandi.dao.repository.dtr.Mongo;
37
import com.spice.profitmandi.dao.repository.dtr.Mongo;
36
import com.spice.profitmandi.dao.repository.dtr.NotificationPanelRepository;
38
import com.spice.profitmandi.dao.repository.dtr.NotificationPanelRepository;
37
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
39
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
38
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
40
import com.spice.profitmandi.dao.repository.fofo.CurrentInventorySnapshotRepository;
39
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
41
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
40
import com.spice.profitmandi.dao.repository.fofo.PartnerDailyInvestmentRepository;
42
import com.spice.profitmandi.dao.repository.fofo.PartnerDailyInvestmentRepository;
-
 
43
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
-
 
44
import com.spice.profitmandi.dao.repository.fofo.TargetSlabRepository;
41
import com.spice.profitmandi.service.PartnerInvestmentService;
45
import com.spice.profitmandi.service.PartnerInvestmentService;
42
import com.spice.profitmandi.service.authentication.RoleManager;
46
import com.spice.profitmandi.service.authentication.RoleManager;
43
import com.spice.profitmandi.service.inventory.InventoryService;
47
import com.spice.profitmandi.service.inventory.InventoryService;
-
 
48
import com.spice.profitmandi.service.slab.TargetSlabService;
44
import com.spice.profitmandi.service.transaction.TransactionService;
49
import com.spice.profitmandi.service.transaction.TransactionService;
45
import com.spice.profitmandi.web.model.LoginDetails;
50
import com.spice.profitmandi.web.model.LoginDetails;
46
import com.spice.profitmandi.web.util.CookiesProcessor;
51
import com.spice.profitmandi.web.util.CookiesProcessor;
47
import com.spice.profitmandi.web.util.MVCResponseSender;
52
import com.spice.profitmandi.web.util.MVCResponseSender;
48
 
53
 
Line 67... Line 72...
67
 
72
 
68
	@Autowired
73
	@Autowired
69
	private ItemRepository itemRepository;
74
	private ItemRepository itemRepository;
70
 
75
 
71
	@Autowired
76
	@Autowired
-
 
77
	private TargetSlabService targetSlabService;
-
 
78
 
-
 
79
	@Autowired
-
 
80
	private PartnerTargetRepository partnerTargetRepository;
-
 
81
 
-
 
82
	@Autowired
-
 
83
	private TargetSlabRepository targetSlabRepository;
-
 
84
 
-
 
85
	@Autowired
72
	private RoleManager roleManager;
86
	private RoleManager roleManager;
73
 
87
 
74
	@Autowired
88
	@Autowired
75
	private FofoStoreRepository fofoStoreRepository;
89
	private FofoStoreRepository fofoStoreRepository;
76
 
90
 
Line 154... Line 168...
154
	}
168
	}
155
 
169
 
156
	private Map<String, Double> getSales(int fofoId) {
170
	private Map<String, Double> getSales(int fofoId) {
157
		Map<String, Double> salesMap = new LinkedHashMap<>();
171
		Map<String, Double> salesMap = new LinkedHashMap<>();
158
		LocalDateTime curDate = LocalDate.now().atStartOfDay();
172
		LocalDateTime curDate = LocalDate.now().atStartOfDay();
-
 
173
		int monthLength = LocalDate.now().lengthOfMonth();
159
		List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectBetweenCreatedTime(fofoId, curDate,
174
		List<FofoOrderItem> fofoOrderItems = fofoOrderItemRepository.selectBetweenCreatedTime(fofoId, curDate,
160
				curDate.with(LocalTime.MAX));
175
				curDate.with(LocalTime.MAX));
161
		List<FofoOrderItem> mtdFofoOrderItems = fofoOrderItemRepository.selectBetweenCreatedTime(fofoId,
176
		List<FofoOrderItem> mtdFofoOrderItems = fofoOrderItemRepository.selectBetweenCreatedTime(fofoId,
162
				curDate.withDayOfMonth(1), curDate.with(LocalTime.MAX));
177
				curDate.withDayOfMonth(1), curDate.with(LocalTime.MAX));
163
		double todaySale = fofoOrderItems.stream()
178
		double todaySale = fofoOrderItems.stream()
164
				.collect(Collectors.summingDouble(x -> x.getSellingPrice() * x.getQuantity()));
179
				.collect(Collectors.summingDouble(x -> x.getSellingPrice() * x.getQuantity()));
165
		double mtdSale = mtdFofoOrderItems.stream()
180
		double mtdSale = mtdFofoOrderItems.stream()
166
				.collect(Collectors.summingDouble(x -> x.getSellingPrice() * x.getQuantity()));
181
				.collect(Collectors.summingDouble(x -> x.getSellingPrice() * x.getQuantity()));
-
 
182
 
-
 
183
		List<PartnerTargetDetails> partnerTargetDetails = partnerTargetRepository
-
 
184
				.selectAllGeEqAndLeEqStartDateAndEndDate(LocalDateTime.now());
-
 
185
 
-
 
186
		List<Integer> targetIds = partnerTargetRepository
-
 
187
				.selectAllPartnerTargetForPartner(fofoId,
-
 
188
						partnerTargetDetails.stream().map(x -> x.getId()).collect(Collectors.toList()))
-
 
189
				.stream().map(x -> x.getTargetId()).collect(Collectors.toList());
-
 
190
		if (targetIds.size() > 0) {
-
 
191
			PartnerTarget target = partnerTargetRepository.selectAllPartnerTargetForPartner(fofoId, targetIds).get(0);
-
 
192
			double targetValue = (double)target.getTargetValue();
-
 
193
			int remainingDays = monthLength - curDate.getDayOfMonth() + 1;
-
 
194
			//Should not consider today's sale while evaluating today's target.
-
 
195
			double todayTargetValue = targetValue - (mtdSale-todaySale)/remainingDays; 
-
 
196
			salesMap.put("todayTarget", todayTargetValue);
-
 
197
			salesMap.put("monthTarget", targetValue);
-
 
198
		} else {
-
 
199
			salesMap.put("todayTarget", 0d);
-
 
200
			salesMap.put("monthTarget", 0d);
-
 
201
 
-
 
202
		}
167
		salesMap.put("todaySale", todaySale);
203
		salesMap.put("todaySale", todaySale);
168
		salesMap.put("mtdSale", mtdSale);
204
		salesMap.put("mtdSale", mtdSale);
169
		return salesMap;
205
		return salesMap;
170
	}
206
	}
171
 
207