Subversion Repositories SmartDukaan

Rev

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

Rev 31757 Rev 31954
Line 25... Line 25...
25
import com.spice.profitmandi.dao.entity.fofo.SuggestedPoDetail;
25
import com.spice.profitmandi.dao.entity.fofo.SuggestedPoDetail;
26
import com.spice.profitmandi.dao.entity.inventory.SaholicCISTable;
26
import com.spice.profitmandi.dao.entity.inventory.SaholicCISTable;
27
import com.spice.profitmandi.dao.entity.inventory.SaholicPOItem;
27
import com.spice.profitmandi.dao.entity.inventory.SaholicPOItem;
28
import com.spice.profitmandi.dao.enumuration.dtr.WebListingSource;
28
import com.spice.profitmandi.dao.enumuration.dtr.WebListingSource;
29
import com.spice.profitmandi.dao.enumuration.dtr.WebListingType;
29
import com.spice.profitmandi.dao.enumuration.dtr.WebListingType;
-
 
30
import com.spice.profitmandi.dao.model.AmountModel;
30
import com.spice.profitmandi.dao.model.CreateOfferRequest;
31
import com.spice.profitmandi.dao.model.CreateOfferRequest;
31
import com.spice.profitmandi.dao.model.UserCart;
32
import com.spice.profitmandi.dao.model.UserCart;
32
import com.spice.profitmandi.dao.repository.catalog.*;
33
import com.spice.profitmandi.dao.repository.catalog.*;
33
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
34
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
34
import com.spice.profitmandi.dao.repository.dtr.Mongo;
35
import com.spice.profitmandi.dao.repository.dtr.Mongo;
Line 42... Line 43...
42
import com.spice.profitmandi.dao.repository.inventory.SaholicCISTableRepository;
43
import com.spice.profitmandi.dao.repository.inventory.SaholicCISTableRepository;
43
import com.spice.profitmandi.service.authentication.RoleManager;
44
import com.spice.profitmandi.service.authentication.RoleManager;
44
import com.spice.profitmandi.service.catalog.BrandsService;
45
import com.spice.profitmandi.service.catalog.BrandsService;
45
import com.spice.profitmandi.service.inventory.*;
46
import com.spice.profitmandi.service.inventory.*;
46
import com.spice.profitmandi.service.pricecircular.PriceCircularItemModel;
47
import com.spice.profitmandi.service.pricecircular.PriceCircularItemModel;
-
 
48
import com.spice.profitmandi.service.pricecircular.PriceCircularItemModelNew;
47
import com.spice.profitmandi.service.pricecircular.PriceCircularModel;
49
import com.spice.profitmandi.service.pricecircular.PriceCircularModel;
48
import com.spice.profitmandi.service.pricecircular.PriceCircularService;
50
import com.spice.profitmandi.service.pricecircular.PriceCircularService;
49
import com.spice.profitmandi.service.pricing.PricingService;
51
import com.spice.profitmandi.service.pricing.PricingService;
50
import com.spice.profitmandi.service.scheme.SchemeService;
52
import com.spice.profitmandi.service.scheme.SchemeService;
51
import com.spice.profitmandi.web.res.DealBrands;
53
import com.spice.profitmandi.web.res.DealBrands;
Line 60... Line 62...
60
import org.apache.logging.log4j.Logger;
62
import org.apache.logging.log4j.Logger;
61
import org.json.JSONArray;
63
import org.json.JSONArray;
62
import org.json.JSONObject;
64
import org.json.JSONObject;
63
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.beans.factory.annotation.Autowired;
64
import org.springframework.beans.factory.annotation.Value;
66
import org.springframework.beans.factory.annotation.Value;
-
 
67
import org.springframework.cglib.core.Local;
65
import org.springframework.http.HttpStatus;
68
import org.springframework.http.HttpStatus;
66
import org.springframework.http.MediaType;
69
import org.springframework.http.MediaType;
67
import org.springframework.http.ResponseEntity;
70
import org.springframework.http.ResponseEntity;
68
import org.springframework.stereotype.Controller;
71
import org.springframework.stereotype.Controller;
69
import org.springframework.transaction.annotation.Transactional;
72
import org.springframework.transaction.annotation.Transactional;
Line 72... Line 75...
72
import org.springframework.web.bind.annotation.RequestMethod;
75
import org.springframework.web.bind.annotation.RequestMethod;
73
import org.springframework.web.bind.annotation.RequestParam;
76
import org.springframework.web.bind.annotation.RequestParam;
74
 
77
 
75
import javax.servlet.http.HttpServletRequest;
78
import javax.servlet.http.HttpServletRequest;
76
 
79
 
-
 
80
import java.time.LocalDate;
77
import java.time.LocalDateTime;
81
import java.time.LocalDateTime;
78
import java.util.*;
82
import java.util.*;
79
import java.util.concurrent.atomic.AtomicInteger;
83
import java.util.concurrent.atomic.AtomicInteger;
80
import java.util.stream.Collectors;
84
import java.util.stream.Collectors;
81
 
85
 
Line 730... Line 734...
730
			Map<Integer, FofoAvailabilityInfo> fofoAvailabilityInfoMap = new HashMap<>();
734
			Map<Integer, FofoAvailabilityInfo> fofoAvailabilityInfoMap = new HashMap<>();
731
			JSONObject doc = docs.getJSONObject(i);
735
			JSONObject doc = docs.getJSONObject(i);
732
			catalogIds.add(doc.getInt("catalogId_i"));
736
			catalogIds.add(doc.getInt("catalogId_i"));
733
		}
737
		}
734
		List<CreateOfferRequest> allSchemOffers = null;
738
		List<CreateOfferRequest> allSchemOffers = null;
735
		Map<Integer, PriceCircularItemModel> priceCircularItemModelMap = new HashMap<>();
739
		Map<Integer, PriceCircularItemModelNew> priceCircularItemModelMap = new HashMap<>();
736
		if (catalogIds.size() > 0) {
740
		if (catalogIds.size() > 0) {
737
			PriceCircularModel priceCircularModel = priceCircularService.getPriceCircularByOffer(fofoId, catalogIds);
741
			PriceCircularModel priceCircularModel = priceCircularService.getPriceCircularByOffer(fofoId, catalogIds, LocalDate.now());
738
			allSchemOffers = priceCircularModel.getOffers();
742
			allSchemOffers = priceCircularModel.getOffers();
739
 
743
 
740
			List<PriceCircularItemModel> priceCircularItemModels = priceCircularModel.getPriceCircularItemModels();
744
			List<PriceCircularItemModelNew> priceCircularItemModelNews = priceCircularModel.getPriceCircularItemModelNews();
741
			if (priceCircularItemModels != null) {
745
			if (priceCircularItemModelNews != null) {
742
				priceCircularItemModelMap = priceCircularItemModels.stream()
746
				priceCircularItemModelMap = priceCircularItemModelNews.stream()
743
						.collect(Collectors.toMap(x -> x.getCatalogId(), x -> x));
747
						.collect(Collectors.toMap(x -> x.getCatalogId(), x -> x));
744
			}
748
			}
745
		}
749
		}
746
 
750
 
747
		List<CatalogFavourite> catalogFavourites = catalogFavouriteRepository.selectBypartnerId(fofoId);
751
		List<CatalogFavourite> catalogFavourites = catalogFavouriteRepository.selectBypartnerId(fofoId);
Line 817... Line 821...
817
			if (doc.has("_childDocuments_")) {
821
			if (doc.has("_childDocuments_")) {
818
				String modelColorClass = "grey";
822
				String modelColorClass = "grey";
819
				FofoAvailabilityInfo fdiAnyColour = null;
823
				FofoAvailabilityInfo fdiAnyColour = null;
820
				// Iterating itemIds
824
				// Iterating itemIds
821
				for (int j = 0; j < doc.getJSONArray("_childDocuments_").length(); j++) {
825
				for (int j = 0; j < doc.getJSONArray("_childDocuments_").length(); j++) {
822
					PriceCircularItemModel priceCircularItemModel = priceCircularItemModelMap
826
					PriceCircularItemModelNew priceCircularItemModel = priceCircularItemModelMap
823
							.get(fofoCatalogResponse.getCatalogId());
827
							.get(fofoCatalogResponse.getCatalogId());
824
					JSONObject childItem = doc.getJSONArray("_childDocuments_").getJSONObject(j);
828
					JSONObject childItem = doc.getJSONArray("_childDocuments_").getJSONObject(j);
825
					int itemId = childItem.getInt("itemId_i");
829
					int itemId = childItem.getInt("itemId_i");
826
					float sellingPrice = (float) childItem.getDouble("sellingPrice_f");
830
					float sellingPrice = (float) childItem.getDouble("sellingPrice_f");
827
					if (!fofoAvailabilityInfoMap.containsKey(itemId)) {
831
					if (!fofoAvailabilityInfoMap.containsKey(itemId)) {
Line 830... Line 834...
830
								.selectByItemWarehouse(itemId, warehouseId);
834
								.selectByItemWarehouse(itemId, warehouseId);
831
						List<SaholicPOItem> poItemAvailability = null;
835
						List<SaholicPOItem> poItemAvailability = null;
832
						if (poItemAvailabilityMap != null) {
836
						if (poItemAvailabilityMap != null) {
833
							poItemAvailability = poItemAvailabilityMap.get(itemId);
837
							poItemAvailability = poItemAvailabilityMap.get(itemId);
834
						}
838
						}
835
						fdi.setNlc(priceCircularItemModel == null ? 0 : priceCircularItemModel.getNetPrice());
-
 
836
 
-
 
837
						fdi.setNlc(fdi.getNlc() == 0 ? sellingPrice : priceCircularItemModel.getNetPrice());
839
						fdi.setNlc((float)priceCircularItemModel.getNlc());
838
 
840
 
839
						for (SaholicCISTable saholicCISTable : currentAvailability) {
841
						for (SaholicCISTable saholicCISTable : currentAvailability) {
840
							saholicCISTable.setWarehouseName(
842
							saholicCISTable.setWarehouseName(
841
									ProfitMandiConstants.WAREHOUSE_MAP.get(saholicCISTable.getWarehouseFrom()));
843
									ProfitMandiConstants.WAREHOUSE_MAP.get(saholicCISTable.getWarehouseFrom()));
842
						}
844
						}
Line 934... Line 936...
934
				List<FofoAvailabilityInfo> availabilityList = fofoAvailabilityInfoMap.values().stream()
936
				List<FofoAvailabilityInfo> availabilityList = fofoAvailabilityInfoMap.values().stream()
935
						.sorted(Comparator.comparing(FofoAvailabilityInfo::getAvailability).reversed())
937
						.sorted(Comparator.comparing(FofoAvailabilityInfo::getAvailability).reversed())
936
						.collect(Collectors.toList());
938
						.collect(Collectors.toList());
937
				fofoCatalogResponse.setItems(availabilityList);
939
				fofoCatalogResponse.setItems(availabilityList);
938
				if (priceCircularItemModelMap.containsKey(fofoCatalogResponse.getCatalogId())) {
940
				if (priceCircularItemModelMap.containsKey(fofoCatalogResponse.getCatalogId())) {
939
					PriceCircularItemModel priceCircularItemModel = priceCircularItemModelMap
941
					PriceCircularItemModelNew priceCircularItemModel = priceCircularItemModelMap
940
							.get(fofoCatalogResponse.getCatalogId());
942
							.get(fofoCatalogResponse.getCatalogId());
941
					if (priceCircularItemModel.getSlabPayouts() != null) {
943
					if (priceCircularItemModel.getSlabPayouts() != null) {
942
						List<CreateOfferRequest> schemeOffers = new ArrayList<>();
944
						List<CreateOfferRequest> schemeOffers = new ArrayList<>();
943
						List<Map<Integer, Long>> slabPayouts = priceCircularItemModel.getSlabPayouts();
945
						List<Map<Integer, AmountModel>> slabPayouts = priceCircularItemModel.getSlabPayouts();
944
						Iterator<Map<Integer, Long>> iterator = slabPayouts.iterator();
946
						Iterator<Map<Integer, AmountModel>> iterator = slabPayouts.iterator();
945
						int iteratorCount = 0;
947
						int iteratorCount = 0;
946
						while (iterator.hasNext()) {
948
						while (iterator.hasNext()) {
947
							Map<Integer, Long> slabPayoutMap = iterator.next();
949
							Map<Integer, AmountModel> slabPayoutMap = iterator.next();
948
							if (slabPayoutMap != null) {
950
							if (slabPayoutMap != null) {
949
								schemeOffers.add(allSchemOffers.get(iteratorCount));
951
								schemeOffers.add(allSchemOffers.get(iteratorCount));
950
							} else {
952
							} else {
951
								iterator.remove();
953
								iterator.remove();
952
							}
954
							}