| 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);
|