Subversion Repositories SmartDukaan

Rev

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

Rev 24840 Rev 25570
Line 28... Line 28...
28
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
28
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
29
import com.spice.profitmandi.common.model.CustomRetailer;
29
import com.spice.profitmandi.common.model.CustomRetailer;
30
import com.spice.profitmandi.common.util.Utils;
30
import com.spice.profitmandi.common.util.Utils;
31
import com.spice.profitmandi.dao.entity.auth.AuthUser;
31
import com.spice.profitmandi.dao.entity.auth.AuthUser;
32
import com.spice.profitmandi.dao.entity.cs.Activity;
32
import com.spice.profitmandi.dao.entity.cs.Activity;
-
 
33
import com.spice.profitmandi.dao.entity.cs.PartnerPosition;
33
import com.spice.profitmandi.dao.entity.cs.Position;
34
import com.spice.profitmandi.dao.entity.cs.Position;
34
import com.spice.profitmandi.dao.entity.cs.Region;
35
import com.spice.profitmandi.dao.entity.cs.Region;
35
import com.spice.profitmandi.dao.entity.cs.Ticket;
36
import com.spice.profitmandi.dao.entity.cs.Ticket;
36
import com.spice.profitmandi.dao.entity.cs.TicketAssigned;
37
import com.spice.profitmandi.dao.entity.cs.TicketAssigned;
37
import com.spice.profitmandi.dao.entity.cs.TicketCategory;
38
import com.spice.profitmandi.dao.entity.cs.TicketCategory;
38
import com.spice.profitmandi.dao.entity.cs.TicketSearchType;
39
import com.spice.profitmandi.dao.entity.cs.TicketSearchType;
39
import com.spice.profitmandi.dao.entity.cs.TicketSubCategory;
40
import com.spice.profitmandi.dao.entity.cs.TicketSubCategory;
40
import com.spice.profitmandi.dao.entity.fofo.ActivityType;
41
import com.spice.profitmandi.dao.entity.fofo.ActivityType;
41
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
42
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
42
import com.spice.profitmandi.dao.enumuration.cs.TicketStatus;
43
import com.spice.profitmandi.dao.enumuration.cs.TicketStatus;
-
 
44
import com.spice.profitmandi.dao.model.CreatePositionModel;
43
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
45
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
44
import com.spice.profitmandi.dao.repository.cs.ActivityRepository;
46
import com.spice.profitmandi.dao.repository.cs.ActivityRepository;
45
import com.spice.profitmandi.dao.repository.cs.CsService;
47
import com.spice.profitmandi.dao.repository.cs.CsService;
46
import com.spice.profitmandi.dao.repository.cs.PartnerRegionRepository;
48
import com.spice.profitmandi.dao.repository.cs.PartnerRegionRepository;
-
 
49
import com.spice.profitmandi.dao.repository.cs.PartnersPositionRepository;
47
import com.spice.profitmandi.dao.repository.cs.PositionRepository;
50
import com.spice.profitmandi.dao.repository.cs.PositionRepository;
48
import com.spice.profitmandi.dao.repository.cs.RegionRepository;
51
import com.spice.profitmandi.dao.repository.cs.RegionRepository;
49
import com.spice.profitmandi.dao.repository.cs.TicketAssignedRepository;
52
import com.spice.profitmandi.dao.repository.cs.TicketAssignedRepository;
50
import com.spice.profitmandi.dao.repository.cs.TicketCategoryRepository;
53
import com.spice.profitmandi.dao.repository.cs.TicketCategoryRepository;
51
import com.spice.profitmandi.dao.repository.cs.TicketRepository;
54
import com.spice.profitmandi.dao.repository.cs.TicketRepository;
52
import com.spice.profitmandi.dao.repository.cs.TicketSubCategoryRepository;
55
import com.spice.profitmandi.dao.repository.cs.TicketSubCategoryRepository;
-
 
56
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
53
import com.spice.profitmandi.service.authentication.RoleManager;
57
import com.spice.profitmandi.service.authentication.RoleManager;
54
import com.spice.profitmandi.service.slab.TargetSlabService;
58
import com.spice.profitmandi.service.slab.TargetSlabService;
55
import com.spice.profitmandi.service.user.RetailerService;
59
import com.spice.profitmandi.service.user.RetailerService;
56
import com.spice.profitmandi.web.model.LoginDetails;
60
import com.spice.profitmandi.web.model.LoginDetails;
57
import com.spice.profitmandi.web.util.CookiesProcessor;
61
import com.spice.profitmandi.web.util.CookiesProcessor;
Line 115... Line 119...
115
	private TicketAssignedRepository ticketAssignedRepository;
119
	private TicketAssignedRepository ticketAssignedRepository;
116
 
120
 
117
	@Autowired
121
	@Autowired
118
	private PartnerRegionRepository partnerRegionRepository;
122
	private PartnerRegionRepository partnerRegionRepository;
119
 
123
 
-
 
124
	@Autowired
-
 
125
	PartnersPositionRepository partnersPositionRepository;
-
 
126
 
-
 
127
	@Autowired
-
 
128
	FofoStoreRepository fofoStoreRepository;
-
 
129
 
120
	@GetMapping(value = "/cs/createCategory")
130
	@GetMapping(value = "/cs/createCategory")
121
	public String getCreateCategory(HttpServletRequest request, Model model) {
131
	public String getCreateCategory(HttpServletRequest request, Model model) {
122
		List<TicketCategory> ticketCategories = ticketCategoryRepository.selectAll();
132
		List<TicketCategory> ticketCategories = ticketCategoryRepository.selectAll();
123
		model.addAttribute("ticketCategories", ticketCategories);
133
		model.addAttribute("ticketCategories", ticketCategories);
124
		return "create-ticket-category";
134
		return "create-ticket-category";
Line 207... Line 217...
207
		model.addAttribute("fofoRetailers", fofoRetailers);
217
		model.addAttribute("fofoRetailers", fofoRetailers);
208
		model.addAttribute("addedfofoIds", addedfofoIds);
218
		model.addAttribute("addedfofoIds", addedfofoIds);
209
		return "added-region-partners";
219
		return "added-region-partners";
210
	}
220
	}
211
 
221
 
-
 
222
	@GetMapping(value = "/cs/getPartnersByRegion")
-
 
223
	public String getPartnersByRegion(HttpServletRequest request,
-
 
224
			@RequestParam(name = "regionId", defaultValue = "0") int regionId, Model model) {
-
 
225
		List<Integer> fofoIds = null;
-
 
226
		fofoIds = partnerRegionRepository.selectByRegionId(regionId).stream().map(x -> x.getFofoId())
-
 
227
				.collect(Collectors.toList());
-
 
228
 
-
 
229
		if (fofoIds.contains(0)) {
-
 
230
			fofoIds = fofoStoreRepository.selectAll().stream().filter(x -> x.isActive()).collect(Collectors.toList())
-
 
231
					.stream().map(x -> x.getId()).collect(Collectors.toList());
-
 
232
 
-
 
233
		}
-
 
234
		Map<Integer, CustomRetailer> fofoRetailers = retailerService.getFofoRetailers(fofoIds);
-
 
235
 
-
 
236
		model.addAttribute("fofoRetailers", fofoRetailers);
-
 
237
		return "added-subregion-partners";
-
 
238
	}
-
 
239
 
212
	@GetMapping(value = "/cs/createPartnerRegion")
240
	@GetMapping(value = "/cs/createPartnerRegion")
213
	public String createPartnerRegion(HttpServletRequest request, Model model) {
241
	public String createPartnerRegion(HttpServletRequest request, Model model) {
214
		List<Region> regions = regionRepository.selectAll();
242
		List<Region> regions = regionRepository.selectAll();
215
		model.addAttribute("regions", regions);
243
		model.addAttribute("regions", regions);
216
		return "create-partner-region";
244
		return "create-partner-region";
Line 229... Line 257...
229
 
257
 
230
	@GetMapping(value = "/cs/createPosition")
258
	@GetMapping(value = "/cs/createPosition")
231
	public String createPosition(HttpServletRequest request,
259
	public String createPosition(HttpServletRequest request,
232
			@RequestParam(name = "offset", defaultValue = "0") int offset,
260
			@RequestParam(name = "offset", defaultValue = "0") int offset,
233
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) {
261
			@RequestParam(name = "limit", defaultValue = "10") int limit, Model model) {
234
		List<AuthUser> authUsers = authRepository.selectAll();
262
		List<AuthUser> authUsers = authRepository.selectAllActiveUser();
235
		List<TicketCategory> ticketCategories = ticketCategoryRepository.selectAll();
263
		List<TicketCategory> ticketCategories = ticketCategoryRepository.selectAll();
236
		List<Region> regions = regionRepository.selectAll();
264
		List<Region> regions = regionRepository.selectAll();
237
		model.addAttribute("escalationTypes", EscalationType.values());
265
		model.addAttribute("escalationTypes", EscalationType.values());
238
		model.addAttribute("authUsers", authUsers);
266
		model.addAttribute("authUsers", authUsers);
239
		model.addAttribute("ticketCategories", ticketCategories);
267
		model.addAttribute("ticketCategories", ticketCategories);
Line 244... Line 272...
244
		Map<Integer, AuthUser> authUserIdAndAuthUserMap = csService
272
		Map<Integer, AuthUser> authUserIdAndAuthUserMap = csService
245
				.getAuthUserIdAndAuthUserMapUsingPositions(positions);
273
				.getAuthUserIdAndAuthUserMapUsingPositions(positions);
246
		Map<Integer, TicketCategory> categoryIdAndCategoryMap = csService
274
		Map<Integer, TicketCategory> categoryIdAndCategoryMap = csService
247
				.getCategoryIdAndCategoryUsingPositions(positions);
275
				.getCategoryIdAndCategoryUsingPositions(positions);
248
		Map<Integer, Region> regionIdAndRegionMap = csService.getRegionIdAndRegionMap(positions);
276
		Map<Integer, Region> regionIdAndRegionMap = csService.getRegionIdAndRegionMap(positions);
-
 
277
 
-
 
278
		Map<Integer, List<CustomRetailer>> positionIdAndpartnerRegionMap = csService
-
 
279
				.getpositionIdAndpartnerRegionMap(positions);
-
 
280
 
-
 
281
		Map<Integer, List<CustomRetailer>> addedpositionIdAndCustomRetailerMap = csService
-
 
282
				.getPositionCustomRetailerMap(positions);
-
 
283
		LOGGER.info("fofoIdAndCustomRetailerMap" + addedpositionIdAndCustomRetailerMap);
249
		long size = positionRepository.selectAllCount();
284
		long size = positionRepository.selectAllCount();
250
 
285
 
251
		if (size < limit) {
286
		if (size < limit) {
252
			model.addAttribute("end", offset + size);
287
			model.addAttribute("end", offset + size);
253
		} else {
288
		} else {
254
			model.addAttribute("end", offset + limit);
289
			model.addAttribute("end", offset + limit);
255
		}
290
		}
-
 
291
 
256
		model.addAttribute("start", offset + 1);
292
		model.addAttribute("start", offset + 1);
257
		model.addAttribute("size", size);
293
		model.addAttribute("size", size);
258
		model.addAttribute("positions", positions);
294
		model.addAttribute("positions", positions);
259
		model.addAttribute("authUserIdAndAuthUserMap", authUserIdAndAuthUserMap);
295
		model.addAttribute("authUserIdAndAuthUserMap", authUserIdAndAuthUserMap);
260
		model.addAttribute("categoryIdAndCategoryMap", categoryIdAndCategoryMap);
296
		model.addAttribute("categoryIdAndCategoryMap", categoryIdAndCategoryMap);
261
		model.addAttribute("regionIdAndRegionMap", regionIdAndRegionMap);
297
		model.addAttribute("regionIdAndRegionMap", regionIdAndRegionMap);
-
 
298
		model.addAttribute("positionIdAndCustomRetailerMap", addedpositionIdAndCustomRetailerMap);
-
 
299
		model.addAttribute("positionIdAndpartnerRegionMap", positionIdAndpartnerRegionMap);
-
 
300
 
262
		return "create-position";
301
		return "create-position";
263
	}
302
	}
264
 
303
 
265
	@GetMapping(value = "/cs/position-paginated")
304
	@GetMapping(value = "/cs/position-paginated")
266
	public String positionPaginated(HttpServletRequest request,
305
	public String positionPaginated(HttpServletRequest request,
Line 271... Line 310...
271
		Map<Integer, AuthUser> authUserIdAndAuthUserMap = csService
310
		Map<Integer, AuthUser> authUserIdAndAuthUserMap = csService
272
				.getAuthUserIdAndAuthUserMapUsingPositions(positions);
311
				.getAuthUserIdAndAuthUserMapUsingPositions(positions);
273
		Map<Integer, TicketCategory> categoryIdAndCategoryMap = csService
312
		Map<Integer, TicketCategory> categoryIdAndCategoryMap = csService
274
				.getCategoryIdAndCategoryUsingPositions(positions);
313
				.getCategoryIdAndCategoryUsingPositions(positions);
275
		Map<Integer, Region> regionIdAndRegionMap = csService.getRegionIdAndRegionMap(positions);
314
		Map<Integer, Region> regionIdAndRegionMap = csService.getRegionIdAndRegionMap(positions);
-
 
315
 
-
 
316
		Map<Integer, List<CustomRetailer>> positionIdAndpartnerRegionMap = csService
-
 
317
				.getpositionIdAndpartnerRegionMap(positions);
-
 
318
 
-
 
319
		Map<Integer, List<CustomRetailer>> addedpositionIdAndCustomRetailerMap = csService
-
 
320
				.getPositionCustomRetailerMap(positions);
-
 
321
 
276
		model.addAttribute("positions", positions);
322
		model.addAttribute("positions", positions);
277
		model.addAttribute("authUserIdAndAuthUserMap", authUserIdAndAuthUserMap);
323
		model.addAttribute("authUserIdAndAuthUserMap", authUserIdAndAuthUserMap);
278
		model.addAttribute("categoryIdAndCategoryMap", categoryIdAndCategoryMap);
324
		model.addAttribute("categoryIdAndCategoryMap", categoryIdAndCategoryMap);
279
		model.addAttribute("regionIdAndRegionMap", regionIdAndRegionMap);
325
		model.addAttribute("regionIdAndRegionMap", regionIdAndRegionMap);
-
 
326
		model.addAttribute("positionIdAndCustomRetailerMap", addedpositionIdAndCustomRetailerMap);
-
 
327
		model.addAttribute("positionIdAndpartnerRegionMap", positionIdAndpartnerRegionMap);
-
 
328
 
280
		return "position-paginated";
329
		return "position-paginated";
281
	}
330
	}
282
 
331
 
283
	@PostMapping(value = "/cs/createPosition")
332
	@PostMapping(value = "/cs/createPosition")
284
	public String createPosition(HttpServletRequest request, @RequestParam(name = "authUserId") int authUserId,
333
	public String createPosition(HttpServletRequest request, @RequestBody CreatePositionModel createPositionModel,
285
			@RequestParam(name = "categoryId") int categoryId,
-
 
286
			@RequestParam(name = "escalationType") EscalationType escalationType,
-
 
287
			@RequestParam(name = "regionId") int regionId, Model model) throws Exception {
334
			Model model) throws Exception {
288
 
335
 
289
		Position position = positionRepository.selectPosition(authUserId, categoryId, regionId, escalationType);
336
		Position position = positionRepository.selectPosition(createPositionModel.getAuthUserId(),
-
 
337
				createPositionModel.getCategoryId(), createPositionModel.getRegionId(),
-
 
338
				createPositionModel.getEscalationType());
290
		if (position == null) {
339
		if (position == null) {
291
			position = new Position();
340
			position = new Position();
292
			position.setAuthUserId(authUserId);
341
			position.setAuthUserId(createPositionModel.getAuthUserId());
293
			position.setCategoryId(categoryId);
342
			position.setCategoryId(createPositionModel.getCategoryId());
294
			position.setEscalationType(escalationType);
343
			position.setEscalationType(createPositionModel.getEscalationType());
295
			position.setRegionId(regionId);
344
			position.setRegionId(createPositionModel.getRegionId());
296
			position.setCreateTimestamp(LocalDateTime.now());
345
			position.setCreateTimestamp(LocalDateTime.now());
297
			positionRepository.persist(position);
346
			positionRepository.persist(position);
-
 
347
 
-
 
348
			for (int fofoId : createPositionModel.getFofoIds()) {
-
 
349
 
-
 
350
				PartnerPosition partnerPosition = new PartnerPosition();
-
 
351
				partnerPosition.setFofoId(fofoId);
-
 
352
				partnerPosition.setRegionId(createPositionModel.getRegionId());
-
 
353
				partnerPosition.setPositionId(position.getId());
-
 
354
				partnersPositionRepository.persist(partnerPosition);
-
 
355
				LOGGER.info("partnerPosition" + partnerPosition);
-
 
356
			}
-
 
357
 
298
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
358
			model.addAttribute("response", mvcResponseSender.createResponseString(true));
299
		} else {
359
		} else {
300
			throw new ProfitMandiBusinessException("Position", authUserId, "already exists!");
360
			throw new ProfitMandiBusinessException("Position", createPositionModel.getAuthUserId(), "already exists!");
-
 
361
		}
-
 
362
		return "response";
-
 
363
	}
-
 
364
 
-
 
365
	@PostMapping(value = "/cs/updatePartnerPosition")
-
 
366
	public String updatePartnerPosition(HttpServletRequest request, @RequestParam(name = "regionId") int regionId,
-
 
367
			@RequestBody List<Integer> selectedFofoIds, @RequestParam(name = "positionId") int positionId, Model model)
-
 
368
			throws Exception {
-
 
369
 
-
 
370
		partnersPositionRepository.delete(positionId);
-
 
371
		for (int fofoId : selectedFofoIds) {
-
 
372
			PartnerPosition partnerPosition = new PartnerPosition();
-
 
373
			partnerPosition.setFofoId(fofoId);
-
 
374
			partnerPosition.setRegionId(regionId);
-
 
375
			partnerPosition.setPositionId(positionId);
-
 
376
			partnersPositionRepository.persist(partnerPosition);
301
		}
377
		}
-
 
378
 
-
 
379
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
-
 
380
 
302
		return "response";
381
		return "response";
303
	}
382
	}
304
 
383
 
305
	@GetMapping(value = "/cs/createTicket")
384
	@GetMapping(value = "/cs/createTicket")
306
	public String createTicket(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
385
	public String createTicket(HttpServletRequest request, Model model) throws ProfitMandiBusinessException {
Line 733... Line 812...
733
		Ticket ticket = ticketRepository.selectById(ticketId);
812
		Ticket ticket = ticketRepository.selectById(ticketId);
734
		List<TicketCategory> ticketCategories = csService.getAllTicketCategotyFromSubCategory();
813
		List<TicketCategory> ticketCategories = csService.getAllTicketCategotyFromSubCategory();
735
		TicketSubCategory ticketSubCategory = ticketSubCategoryRepository.selectById(ticket.getSubCategoryId());
814
		TicketSubCategory ticketSubCategory = ticketSubCategoryRepository.selectById(ticket.getSubCategoryId());
736
		List<TicketSubCategory> ticketSubCategories = ticketSubCategoryRepository
815
		List<TicketSubCategory> ticketSubCategories = ticketSubCategoryRepository
737
				.selectAll(ticketSubCategory.getcategoryId());
816
				.selectAll(ticketSubCategory.getcategoryId());
738
		List<AuthUser> authUsers = authRepository.selectAll();
817
		List<AuthUser> authUsers = authRepository.selectAllActiveUser();
739
		model.addAttribute("ticket", ticket);
818
		model.addAttribute("ticket", ticket);
740
		model.addAttribute("ticketCategories", ticketCategories);
819
		model.addAttribute("ticketCategories", ticketCategories);
741
		model.addAttribute("ticketSubCategories", ticketSubCategories);
820
		model.addAttribute("ticketSubCategories", ticketSubCategories);
742
		model.addAttribute("ticketSubCategory", ticketSubCategory);
821
		model.addAttribute("ticketSubCategory", ticketSubCategory);
743
		model.addAttribute("authUsers", authUsers);
822
		model.addAttribute("authUsers", authUsers);