Subversion Repositories SmartDukaan

Rev

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

Rev 23755 Rev 23767
Line 1... Line 1...
1
package com.smartdukaan.cron.migrations;
1
package com.smartdukaan.cron.migrations;
2
 
2
 
3
import java.text.SimpleDateFormat;
-
 
4
import java.time.LocalDate;
-
 
5
import java.time.LocalDateTime;
3
import java.time.LocalDateTime;
6
import java.time.LocalTime;
-
 
7
import java.util.Arrays;
4
import java.util.Arrays;
8
import java.util.List;
5
import java.util.List;
9
 
6
 
10
import org.apache.commons.lang.StringUtils;
7
import org.apache.commons.lang.StringUtils;
11
import org.apache.logging.log4j.LogManager;
8
import org.apache.logging.log4j.LogManager;
Line 23... Line 20...
23
@Transactional(rollbackFor = Throwable.class)
20
@Transactional(rollbackFor = Throwable.class)
24
public class RunOnceTasks {
21
public class RunOnceTasks {
25
 
22
 
26
	private static final Logger LOGGER = LogManager.getLogger(RunOnceTasks.class);
23
	private static final Logger LOGGER = LogManager.getLogger(RunOnceTasks.class);
27
 
24
 
28
	private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
-
 
29
	@Autowired
25
	@Autowired
30
	private OrderRepository orderRepository;
26
	private OrderRepository orderRepository;
31
	
27
 
32
	@Autowired
28
	@Autowired
33
	private LineItemImeisRepository lineItemImeisRepository;
29
	private LineItemImeisRepository lineItemImeisRepository;
34
 
30
 
35
	public void migarateLineItemsToNewTable() {
31
	public void migarateLineItemsToNewTable() {
36
		LOGGER.info("Before Migrated LineItems Successfully");
32
		LOGGER.info("Before Migrated LineItems Successfully");
-
 
33
		int maxLineItemId = lineItemImeisRepository.selectMaximumLineItemId();
-
 
34
 
37
		LocalDateTime endDate = LocalDateTime.now();
35
		LocalDateTime endDate = LocalDateTime.now();
38
		LocalDateTime startDate = LocalDateTime.of(LocalDate.of(2017, 07, 1), LocalTime.MIDNIGHT);
36
		LocalDateTime startDate = endDate.plusHours(1);
39
		List<Order> orders = orderRepository.selectAllByDatesBetween(startDate,  endDate);
37
		List<Order> orders = orderRepository.selectAllByDatesBetween(startDate, endDate);
40
		for (Order order : orders) {
38
		for (Order order : orders) {
-
 
39
			if (order.getLineItem().getId() > maxLineItemId) {
41
			String serialNumbers = order.getLineItem().getSerialNumber();
40
				String serialNumbers = order.getLineItem().getSerialNumber();
42
			if(!StringUtils.isEmpty(serialNumbers)) {
41
				if (!StringUtils.isEmpty(serialNumbers)) {
43
				List<String> serialNumberList = Arrays.asList(serialNumbers.split(","));
42
					List<String> serialNumberList = Arrays.asList(serialNumbers.split(","));
44
				for(String serialNumber : serialNumberList) {
43
					for (String serialNumber : serialNumberList) {
45
					int lineItemId=order.getLineItem().getId();
44
						int lineItemId = order.getLineItem().getId();
46
					LineItemImei lineItemImei = new LineItemImei();
45
						LineItemImei lineItemImei = new LineItemImei();
47
					lineItemImei.setSerialNumber(serialNumber);
46
						lineItemImei.setSerialNumber(serialNumber);
48
					lineItemImei.setLineItemId(lineItemId);
47
						lineItemImei.setLineItemId(lineItemId);
49
					lineItemImeisRepository.persist(lineItemImei);
48
						lineItemImeisRepository.persist(lineItemImei);
-
 
49
					}
-
 
50
				} else {
-
 
51
					LOGGER.info("Serial Numbers dont exist for Order {}", order.getId());
50
				}
52
				}
51
			} else {
-
 
52
				LOGGER.info("Serial Numbers dont exist for Order {}", order.getId());
-
 
53
			}
53
			}
54
		}
54
		}
55
		LOGGER.info("Migrated LineItems Successfully");
55
		LOGGER.info("Migrated LineItems Successfully");
56
	}
56
	}
57
}
57
}
58
58