Subversion Repositories SmartDukaan

Rev

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

Rev 27387 Rev 27389
Line 3... Line 3...
3
import java.io.ByteArrayInputStream;
3
import java.io.ByteArrayInputStream;
4
import java.io.ByteArrayOutputStream;
4
import java.io.ByteArrayOutputStream;
5
import java.io.InputStream;
5
import java.io.InputStream;
6
import java.time.LocalDate;
6
import java.time.LocalDate;
7
import java.time.LocalDateTime;
7
import java.time.LocalDateTime;
8
import java.time.LocalTime;
-
 
9
import java.util.ArrayList;
8
import java.util.ArrayList;
10
import java.util.Arrays;
9
import java.util.Arrays;
11
import java.util.HashMap;
10
import java.util.HashMap;
12
import java.util.HashSet;
11
import java.util.HashSet;
13
import java.util.LinkedHashSet;
-
 
14
import java.util.List;
12
import java.util.List;
15
import java.util.ListIterator;
-
 
16
import java.util.Map;
13
import java.util.Map;
17
import java.util.Set;
14
import java.util.Set;
18
import java.util.stream.Collectors;
15
import java.util.stream.Collectors;
19
 
16
 
20
import javax.servlet.http.HttpServletRequest;
17
import javax.servlet.http.HttpServletRequest;
Line 49... Line 46...
49
import com.spice.profitmandi.dao.entity.catalog.Item;
46
import com.spice.profitmandi.dao.entity.catalog.Item;
50
import com.spice.profitmandi.dao.entity.catalog.Offer;
47
import com.spice.profitmandi.dao.entity.catalog.Offer;
51
import com.spice.profitmandi.dao.entity.catalog.OfferPartner;
48
import com.spice.profitmandi.dao.entity.catalog.OfferPartner;
52
import com.spice.profitmandi.dao.entity.catalog.Offermargin;
49
import com.spice.profitmandi.dao.entity.catalog.Offermargin;
53
import com.spice.profitmandi.dao.entity.catalog.Scheme;
50
import com.spice.profitmandi.dao.entity.catalog.Scheme;
-
 
51
import com.spice.profitmandi.dao.entity.catalog.TagListing;
54
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
52
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
55
import com.spice.profitmandi.dao.entity.fofo.PrebookingListing;
-
 
56
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
53
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
-
 
54
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
57
import com.spice.profitmandi.dao.enumuration.catalog.ItemCriteriaType;
55
import com.spice.profitmandi.dao.enumuration.catalog.ItemCriteriaType;
58
import com.spice.profitmandi.dao.model.AmountMarginModel;
56
import com.spice.profitmandi.dao.model.AmountMarginModel;
59
import com.spice.profitmandi.dao.model.CreateOfferRequest;
57
import com.spice.profitmandi.dao.model.CreateOfferRequest;
60
import com.spice.profitmandi.dao.model.CreateSchemeRequest;
58
import com.spice.profitmandi.dao.model.CreateSchemeRequest;
61
import com.spice.profitmandi.dao.model.ItemTypeParams;
59
import com.spice.profitmandi.dao.model.ItemTypeParams;
Line 63... Line 61...
63
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
61
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
64
import com.spice.profitmandi.dao.repository.catalog.OfferMarginRepository;
62
import com.spice.profitmandi.dao.repository.catalog.OfferMarginRepository;
65
import com.spice.profitmandi.dao.repository.catalog.OfferPartnerRepository;
63
import com.spice.profitmandi.dao.repository.catalog.OfferPartnerRepository;
66
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
64
import com.spice.profitmandi.dao.repository.catalog.OfferRepository;
67
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
65
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
-
 
66
import com.spice.profitmandi.dao.repository.catalog.StateGstRateRepository;
68
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
67
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
69
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
68
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
70
import com.spice.profitmandi.dao.repository.dtr.Mongo;
69
import com.spice.profitmandi.dao.repository.dtr.Mongo;
71
import com.spice.profitmandi.dao.repository.dtr.RoleRepository;
70
import com.spice.profitmandi.dao.repository.dtr.RoleRepository;
72
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
71
import com.spice.profitmandi.dao.repository.fofo.PartnerTypeChangeService;
Line 87... Line 86...
87
	private static final Logger LOGGER = LogManager.getLogger(SchemeController.class);
86
	private static final Logger LOGGER = LogManager.getLogger(SchemeController.class);
88
 
87
 
89
	@Autowired
88
	@Autowired
90
	private SchemeService schemeService;
89
	private SchemeService schemeService;
91
 
90
 
-
 
91
	
-
 
92
	@Autowired
-
 
93
	private StateGstRateRepository stateGstRateRepository;
-
 
94
	
92
	@Autowired
95
	@Autowired
93
	private SchemeRepository schemeRepository;
96
	private SchemeRepository schemeRepository;
94
 
97
 
95
	@Autowired
98
	@Autowired
96
	private SchemeItemRepository schemeItemRepository;
99
	private SchemeItemRepository schemeItemRepository;
Line 337... Line 340...
337
			partnerType = partnerTypeChangeService.getTypeOnDate(loginDetails.getFofoId(), LocalDate.now());
340
			partnerType = partnerTypeChangeService.getTypeOnDate(loginDetails.getFofoId(), LocalDate.now());
338
		}
341
		}
339
		if (!(searchTerm.equals("")) && searchItem.equals("")) {
342
		if (!(searchTerm.equals("")) && searchItem.equals("")) {
340
			schemes = schemeRepository.selectBySearchTerm(searchTerm, offset, limit);
343
			schemes = schemeRepository.selectBySearchTerm(searchTerm, offset, limit);
341
			if (!(schemes.size() == 0)) {
344
			if (!(schemes.size() == 0)) {
-
 
345
				for(Scheme scheme  : schemes) {
-
 
346
					if(scheme.getAmountType().equals(AmountType.PERCENTAGE)) {
-
 
347
						scheme.setAmountModel(scheme.getAmount() + "%");
-
 
348
					} else {
-
 
349
						scheme.setAmountModel(scheme.getAmount() + "");
-
 
350
					}
-
 
351
				}
-
 
352
				
342
				size = schemeRepository.selectAllCount();
353
				size = schemeRepository.selectAllCount();
343
				LOGGER.info("schemes" + schemes);
354
				LOGGER.info("schemes" + schemes);
344
				model.addAttribute("schemes", schemes);
355
				model.addAttribute("schemes", schemes);
345
				model.addAttribute("start", offset + 1);
356
				model.addAttribute("start", offset + 1);
346
				model.addAttribute("size", size);
357
				model.addAttribute("size", size);
Line 359... Line 370...
359
		} else {
370
		} else {
360
			int itemId = 0;
371
			int itemId = 0;
361
			if (!(searchItem.equals("")) && searchTerm.equals("")) {
372
			if (!(searchItem.equals("")) && searchTerm.equals("")) {
362
				itemId = Integer.parseInt(searchItem);
373
				itemId = Integer.parseInt(searchItem);
363
			}
374
			}
364
 
-
 
365
			schemes = schemeService.selectSchemeByPartnerType(partnerType, itemId, isAdmin, offset, limit);
375
			schemes = schemeService.selectSchemeByPartnerType(partnerType, itemId, isAdmin, offset, limit);
-
 
376
			TagListing tagListing = tagListingRepository.selectByItemId(itemId);
-
 
377
			for(Scheme scheme  : schemes) {
-
 
378
				if(scheme.getAmountType().equals(AmountType.PERCENTAGE)) {
-
 
379
					float taxRate = stateGstRateRepository.getIgstTaxRate(Arrays.asList(itemId)).get(itemId);
-
 
380
					float taxableSellingPrice = tagListing.getSellingPrice() / (1 + taxRate / 100);
-
 
381
					float amount = taxableSellingPrice * scheme.getAmount() / 100;
-
 
382
							scheme.setAmountModel(amount +" ("+ scheme.getAmount() + "%)");
-
 
383
				} else {
-
 
384
					scheme.setAmountModel(scheme.getAmount() + "");
-
 
385
				}
-
 
386
			}
366
			size = schemeService.selectSchemeCount(partnerType, itemId, isAdmin);
387
			size = schemeService.selectSchemeCount(partnerType, itemId, isAdmin);
367
			model.addAttribute("schemes", schemes);
388
			model.addAttribute("schemes", schemes);
368
			model.addAttribute("start", offset + 1);
389
			model.addAttribute("start", offset + 1);
369
			model.addAttribute("size", size);
390
			model.addAttribute("size", size);
370
			model.addAttribute("searchItem", searchItem);
391
			model.addAttribute("searchItem", searchItem);