Subversion Repositories SmartDukaan

Rev

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

Rev 30426 Rev 31172
Line 1... Line 1...
1
 
1
 
2
package com.spice.profitmandi.web.controller;
2
package com.spice.profitmandi.web.controller;
3
 
3
 
4
import java.time.LocalDate;
4
import java.time.LocalDate;
5
import java.time.LocalDateTime;
5
import java.time.LocalDateTime;
6
import java.util.ArrayList;
-
 
7
import java.util.Collection;
6
import java.util.Collection;
8
import java.util.HashMap;
7
import java.util.HashMap;
9
import java.util.List;
8
import java.util.List;
10
import java.util.Map;
9
import java.util.Map;
11
import java.util.Set;
10
import java.util.Set;
Line 24... Line 23...
24
import org.springframework.web.bind.annotation.RequestMethod;
23
import org.springframework.web.bind.annotation.RequestMethod;
25
import org.springframework.web.bind.annotation.RequestParam;
24
import org.springframework.web.bind.annotation.RequestParam;
26
 
25
 
27
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
26
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
28
import com.spice.profitmandi.common.model.CustomRetailer;
27
import com.spice.profitmandi.common.model.CustomRetailer;
-
 
28
import com.spice.profitmandi.dao.entity.catalog.Item;
29
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
29
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
30
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
30
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
31
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
31
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
32
import com.spice.profitmandi.dao.entity.fofo.HygieneData;
32
import com.spice.profitmandi.dao.entity.fofo.HygieneData;
33
import com.spice.profitmandi.dao.model.DateRangeModel;
33
import com.spice.profitmandi.dao.model.DateRangeModel;
Line 36... Line 36...
36
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
36
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
37
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
37
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
38
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
38
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
39
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
39
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
40
import com.spice.profitmandi.dao.repository.fofo.HygieneDataRepository;
40
import com.spice.profitmandi.dao.repository.fofo.HygieneDataRepository;
41
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
-
 
42
import com.spice.profitmandi.service.user.RetailerService;
41
import com.spice.profitmandi.service.user.RetailerService;
43
import com.spice.profitmandi.web.util.MVCResponseSender;
42
import com.spice.profitmandi.web.util.MVCResponseSender;
44
 
43
 
45
@Controller
44
@Controller
46
@Transactional(rollbackFor = Throwable.class)
45
@Transactional(rollbackFor = Throwable.class)
Line 63... Line 62...
63
 
62
 
64
	@Autowired
63
	@Autowired
65
	private ItemRepository itemRepository;
64
	private ItemRepository itemRepository;
66
 
65
 
67
	@Autowired
66
	@Autowired
68
	private RetailerService reatilerService;
-
 
69
 
-
 
70
	@Autowired
-
 
71
	private FofoStoreRepository fofotSoreRepository;
-
 
72
	@Autowired
-
 
73
	private MVCResponseSender mvcResponseSender;
67
	private MVCResponseSender mvcResponseSender;
-
 
68
 
74
	private static final Logger LOGGER = LogManager.getLogger(HygieneController.class);
69
	private static final Logger LOGGER = LogManager.getLogger(HygieneController.class);
75
 
70
 
76
	@RequestMapping(value = "/getHygieneData", method = RequestMethod.GET)
71
	@RequestMapping(value = "/getHygieneData", method = RequestMethod.GET)
77
	public String getHygieneData(HttpServletRequest request,
72
	public String getHygieneData(HttpServletRequest request,
78
			@RequestParam(name = "fofoId", required = false, defaultValue = "0") int fofoId, Model model)
73
			@RequestParam(name = "fofoId", required = false, defaultValue = "0") int fofoId,
-
 
74
			@RequestParam(name = "date", required = false, defaultValue = "") LocalDateTime date, Model model)
79
			throws ProfitMandiBusinessException {
75
			throws ProfitMandiBusinessException {
80
		List<HygieneData> hygieneData = null;
76
		List<HygieneData> hygieneData = null;
-
 
77
		if (fofoId != 0 && date != null) {
-
 
78
			hygieneData = hygieneDataRepository.selectAllByFofoIdDate(fofoId, date.toLocalDate());
-
 
79
 
81
		if (fofoId != 0) {
80
		} else if (fofoId != 0) {
82
			hygieneData = hygieneDataRepository.selectAllByFofoIdDisposedTimestamp(fofoId);
81
			hygieneData = hygieneDataRepository.selectAllByFofoIdDisposedTimestamp(fofoId);
-
 
82
 
-
 
83
		} else if (date != null) {
-
 
84
			hygieneData = hygieneDataRepository.selectAllByDate(date.toLocalDate());
-
 
85
 
-
 
86
		}
-
 
87
 
83
		} else {
88
		else {
84
			hygieneData = hygieneDataRepository.selectByDisposedTimestamp();
89
			hygieneData = hygieneDataRepository.selectByDisposedTimestamp();
85
		}
90
		}
86
 
91
 
87
		List<Integer> orderIds = hygieneData.stream().map(x -> x.getOrderId()).collect(Collectors.toList());
92
		List<Integer> orderIds = hygieneData.stream().map(x -> x.getOrderId()).collect(Collectors.toList());
88
		Map<Integer, FofoOrder> fofoOrdersMap = this.getfofoOrderByOrderId(orderIds);
93
		Map<Integer, FofoOrder> fofoOrdersMap = this.getfofoOrderByOrderId(orderIds);
Line 100... Line 105...
100
		return "hygiene";
105
		return "hygiene";
101
	}
106
	}
102
 
107
 
103
	private Map<Integer, FofoOrder> getfofoOrderByOrderId(List<Integer> fofoOrderIds)
108
	private Map<Integer, FofoOrder> getfofoOrderByOrderId(List<Integer> fofoOrderIds)
104
			throws ProfitMandiBusinessException {
109
			throws ProfitMandiBusinessException {
105
		Map<Integer, FofoOrder> fofoOrders = fofoOrderRepository.selectAllByOrderIds(fofoOrderIds).stream()
110
		Map<Integer, FofoOrder> fofoOrderMap = new HashMap<>();
106
				.collect(Collectors.toMap(x -> x.getId(), x -> x));
111
		List<FofoOrder> fofoOrders = fofoOrderRepository.selectAllByOrderIds(fofoOrderIds);
107
 
112
 
-
 
113
		for (FofoOrder fofoOrder : fofoOrders) {
-
 
114
			List<FofoOrderItem> fofoItems = fofoOrderItemRepository.selectByOrderId(fofoOrder.getId());
-
 
115
 
-
 
116
			boolean smartPhone = false;
-
 
117
			for (FofoOrderItem fofoItem : fofoItems) {
-
 
118
				Item orderItem = itemRepository.selectById(fofoItem.getItemId());
-
 
119
				if (orderItem.isSmartPhone()) {
-
 
120
					smartPhone = true;
-
 
121
				}
-
 
122
 
-
 
123
			}
-
 
124
 
-
 
125
			if (smartPhone) {
-
 
126
				fofoOrderMap.put(fofoOrder.getId(), fofoOrder);
-
 
127
			}
-
 
128
 
-
 
129
		}
108
		return fofoOrders;
130
		return fofoOrderMap;
109
	}
131
	}
110
 
132
 
111
	private Map<Integer, CustomerAddress> getCustomerAddressByFofoOrder(Collection<FofoOrder> fofoOrders)
133
	private Map<Integer, CustomerAddress> getCustomerAddressByFofoOrder(Collection<FofoOrder> fofoOrders)
112
			throws ProfitMandiBusinessException {
134
			throws ProfitMandiBusinessException {
113
		Map<Integer, CustomerAddress> customerAddressMap = new HashMap<>();
135
		Map<Integer, CustomerAddress> customerAddressMap = new HashMap<>();