Subversion Repositories SmartDukaan

Rev

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

Rev 27489 Rev 29329
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.LocalDateTime;
5
import java.time.LocalDateTime;
5
import java.util.ArrayList;
6
import java.util.ArrayList;
6
import java.util.Collection;
7
import java.util.Collection;
7
import java.util.HashMap;
8
import java.util.HashMap;
8
import java.util.List;
9
import java.util.List;
Line 27... Line 28...
27
import com.spice.profitmandi.common.model.CustomRetailer;
28
import com.spice.profitmandi.common.model.CustomRetailer;
28
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
29
import com.spice.profitmandi.dao.entity.fofo.CustomerAddress;
29
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
30
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
30
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
31
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
31
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;
32
import com.spice.profitmandi.dao.repository.catalog.HygieneDataModel;
34
import com.spice.profitmandi.dao.repository.catalog.HygieneDataModel;
33
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
35
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
34
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
36
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
35
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
37
import com.spice.profitmandi.dao.repository.fofo.CustomerAddressRepository;
36
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
38
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
37
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
39
import com.spice.profitmandi.dao.repository.fofo.FofoOrderRepository;
38
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;
39
import com.spice.profitmandi.service.user.RetailerService;
42
import com.spice.profitmandi.service.user.RetailerService;
40
import com.spice.profitmandi.web.util.MVCResponseSender;
43
import com.spice.profitmandi.web.util.MVCResponseSender;
41
 
44
 
42
@Controller
45
@Controller
43
@Transactional(rollbackFor = Throwable.class)
46
@Transactional(rollbackFor = Throwable.class)
Line 193... Line 196...
193
 
196
 
194
	@RequestMapping(value = "/hygieneData", method = RequestMethod.POST)
197
	@RequestMapping(value = "/hygieneData", method = RequestMethod.POST)
195
	public String HygieneData(HttpServletRequest request, @RequestBody HygieneDataModel hygieneDataModel, Model model)
198
	public String HygieneData(HttpServletRequest request, @RequestBody HygieneDataModel hygieneDataModel, Model model)
196
			throws Exception {
199
			throws Exception {
197
		HygieneData hygieneData = hygieneDataRepository.selectById(hygieneDataModel.getOrderId());
200
		HygieneData hygieneData = hygieneDataRepository.selectById(hygieneDataModel.getOrderId());
-
 
201
		FofoOrder fofoOrder = fofoOrderRepository.selectByOrderId(hygieneDataModel.getOrderId());
-
 
202
		LocalDateTime hygieneDateTime = hygieneData.getCreatedTimestamp().toLocalDate().atStartOfDay();
-
 
203
		CustomerAddress customerAddress = customerAddressRepository.selectById(fofoOrder.getCustomerAddressId());
-
 
204
		List<CustomerAddress> customerAddresses = customerAddressRepository.selectByMobileNumber(customerAddress.getPhoneNumber());
-
 
205
		LOGGER.info("Fofo id {}, Date Range = {}, Customer Address Ids  {}", fofoOrder.getFofoId(), DateRangeModel.of(hygieneDateTime, hygieneDateTime.plusDays(1)), 
-
 
206
				customerAddresses.stream().map(x->x.getId()).collect(Collectors.toList()));
-
 
207
		List<FofoOrder> fofoOrders = fofoOrderRepository.selectByCustomerAddressIds(fofoOrder.getFofoId(), DateRangeModel.of(hygieneDateTime, hygieneDateTime.plusDays(1)), 
-
 
208
				customerAddresses.stream().map(x->x.getId()).collect(Collectors.toList()));
-
 
209
		LOGGER.info("Order Size - {}", fofoOrders.size());
-
 
210
		for(FofoOrder fo : fofoOrders) {
-
 
211
			hygieneData = hygieneDataRepository.selectById(fo.getId());
198
		if (hygieneDataModel.getScheduleTime() != null) {
212
			if (hygieneDataModel.getScheduleTime() != null) {
199
 
-
 
200
			hygieneData.setStatus(hygieneDataModel.getStatus());
213
				hygieneData.setStatus(hygieneDataModel.getStatus());
201
			hygieneData.setRemark(hygieneDataModel.getRemark());
214
				hygieneData.setRemark(hygieneDataModel.getRemark());
202
			hygieneData.setHygieneRating(hygieneDataModel.getHygieneRating());
215
				hygieneData.setHygieneRating(hygieneDataModel.getHygieneRating());
203
			hygieneData.setNextTimestamp(hygieneDataModel.getScheduleTime());
216
				hygieneData.setNextTimestamp(hygieneDataModel.getScheduleTime());
204
			hygieneDataRepository.persist(hygieneData);
217
				hygieneDataRepository.persist(hygieneData);
205
		} else {
218
			} else {
206
			hygieneData.setStatus(hygieneDataModel.getStatus());
219
				hygieneData.setStatus(hygieneDataModel.getStatus());
207
			hygieneData.setRemark(hygieneDataModel.getRemark());
220
				hygieneData.setRemark(hygieneDataModel.getRemark());
208
			hygieneData.setRating(hygieneDataModel.getRating());
221
				hygieneData.setRating(hygieneDataModel.getRating());
209
			hygieneData.setHygieneRating(hygieneDataModel.getHygieneRating());
222
				hygieneData.setHygieneRating(hygieneDataModel.getHygieneRating());
210
			hygieneData.setDOP(hygieneDataModel.getDOP());
223
				hygieneData.setDOP(hygieneDataModel.getDOP());
211
			hygieneData.setFeedback(hygieneDataModel.getFeedback());
224
				hygieneData.setFeedback(hygieneDataModel.getFeedback());
212
			hygieneData.setQuesPhone(hygieneDataModel.getQuesPhone());
225
				hygieneData.setQuesPhone(hygieneDataModel.getQuesPhone());
213
			hygieneData.setQuesInformation(hygieneDataModel.getQuesInformation());
226
				hygieneData.setQuesInformation(hygieneDataModel.getQuesInformation());
214
			hygieneData.setQuesInvoice(hygieneDataModel.getQuesInvoice());
227
				hygieneData.setQuesInvoice(hygieneDataModel.getQuesInvoice());
215
			hygieneData.setDisposedTimestamp(LocalDateTime.now());
228
				hygieneData.setDisposedTimestamp(LocalDateTime.now());
216
			hygieneData.setNextTimestamp(null);
229
				hygieneData.setNextTimestamp(null);
217
			hygieneDataRepository.persist(hygieneData);
230
				hygieneDataRepository.persist(hygieneData);
-
 
231
			}
218
		}
232
		}
219
 
233
 
220
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
234
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
221
 
235
 
222
		return "response";
236
		return "response";