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