Subversion Repositories SmartDukaan

Rev

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

Rev 24944 Rev 24953
Line 9... Line 9...
9
import java.util.Collections;
9
import java.util.Collections;
10
import java.util.HashMap;
10
import java.util.HashMap;
11
import java.util.HashSet;
11
import java.util.HashSet;
12
import java.util.List;
12
import java.util.List;
13
import java.util.Map;
13
import java.util.Map;
-
 
14
import java.util.Optional;
14
import java.util.stream.Collectors;
15
import java.util.stream.Collectors;
15
 
16
 
16
import org.apache.commons.io.output.ByteArrayOutputStream;
17
import org.apache.commons.io.output.ByteArrayOutputStream;
17
import org.apache.commons.lang.StringUtils;
18
import org.apache.commons.lang.StringUtils;
18
import org.apache.logging.log4j.LogManager;
19
import org.apache.logging.log4j.LogManager;
19
import org.apache.logging.log4j.Logger;
20
import org.apache.logging.log4j.Logger;
-
 
21
import org.apache.solr.common.util.Hash;
20
import org.springframework.beans.factory.annotation.Autowired;
22
import org.springframework.beans.factory.annotation.Autowired;
21
import org.springframework.core.io.ByteArrayResource;
23
import org.springframework.core.io.ByteArrayResource;
22
import org.springframework.mail.javamail.JavaMailSender;
24
import org.springframework.mail.javamail.JavaMailSender;
23
import org.springframework.stereotype.Component;
25
import org.springframework.stereotype.Component;
24
import org.springframework.transaction.annotation.Transactional;
26
import org.springframework.transaction.annotation.Transactional;
Line 31... Line 33...
31
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
33
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
32
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
34
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
33
import com.spice.profitmandi.dao.entity.fofo.Purchase;
35
import com.spice.profitmandi.dao.entity.fofo.Purchase;
34
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
36
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
35
import com.spice.profitmandi.dao.entity.fofo.TargetSlab;
37
import com.spice.profitmandi.dao.entity.fofo.TargetSlab;
-
 
38
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
-
 
39
import com.spice.profitmandi.dao.entity.inventory.SaholicReservationInventorySnapshot;
36
import com.spice.profitmandi.dao.entity.transaction.LineItem;
40
import com.spice.profitmandi.dao.entity.transaction.LineItem;
37
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
41
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
38
import com.spice.profitmandi.dao.entity.transaction.Order;
42
import com.spice.profitmandi.dao.entity.transaction.Order;
39
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
43
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
40
import com.spice.profitmandi.dao.repository.GenericRepository;
44
import com.spice.profitmandi.dao.repository.GenericRepository;
Line 49... Line 53...
49
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
53
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
50
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
54
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
51
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
55
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
52
import com.spice.profitmandi.dao.repository.fofo.TargetSlabRepository;
56
import com.spice.profitmandi.dao.repository.fofo.TargetSlabRepository;
53
import com.spice.profitmandi.dao.repository.fofo.TargetSlabRepositoryImpl;
57
import com.spice.profitmandi.dao.repository.fofo.TargetSlabRepositoryImpl;
-
 
58
import com.spice.profitmandi.dao.repository.inventory.SaholicInventorySnapshotRepository;
-
 
59
import com.spice.profitmandi.dao.repository.inventory.SaholicReservationInventorySnapshotRepository;
54
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
60
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
55
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
61
import com.spice.profitmandi.dao.repository.transaction.LineItemRepository;
56
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
62
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
57
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
63
import com.spice.profitmandi.dao.repository.transaction.ReturnOrderRepository;
58
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
64
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
Line 65... Line 71...
65
import com.spice.profitmandi.service.scheme.SchemeService;
71
import com.spice.profitmandi.service.scheme.SchemeService;
66
import com.spice.profitmandi.service.transaction.TransactionService;
72
import com.spice.profitmandi.service.transaction.TransactionService;
67
import com.spice.profitmandi.service.user.RetailerService;
73
import com.spice.profitmandi.service.user.RetailerService;
68
import com.spice.profitmandi.service.wallet.WalletService;
74
import com.spice.profitmandi.service.wallet.WalletService;
69
 
75
 
-
 
76
import in.shop2020.model.v1.order.OrderStatus;
70
import in.shop2020.model.v1.order.WalletReferenceType;
77
import in.shop2020.model.v1.order.WalletReferenceType;
71
 
78
 
72
@Component
79
@Component
73
@Transactional(rollbackFor = Throwable.class)
80
@Transactional(rollbackFor = Throwable.class)
74
public class RunOnceTasks {
81
public class RunOnceTasks {
Line 77... Line 84...
77
 
84
 
78
	@Autowired
85
	@Autowired
79
	private LineItemRepository lineItemRepository;
86
	private LineItemRepository lineItemRepository;
80
 
87
 
81
	@Autowired
88
	@Autowired
-
 
89
	private SaholicInventorySnapshotRepository saholicInventorySnapshotRepository;
-
 
90
 
-
 
91
	@Autowired
-
 
92
	private SaholicReservationInventorySnapshotRepository saholicReservationInventorySnapshotRepository;
-
 
93
 
-
 
94
	@Autowired
82
	private TargetSlabRepository targetSlabRepository;
95
	private TargetSlabRepository targetSlabRepository;
83
 
96
 
84
	@Autowired
97
	@Autowired
85
	private PartnerTargetRepository partnerTargetRepository;
98
	private PartnerTargetRepository partnerTargetRepository;
86
 
99
 
Line 310... Line 323...
310
						}
323
						}
311
					}
324
					}
312
				}
325
				}
313
			}
326
			}
314
		}
327
		}
315
		//throw new Exception();
328
		// throw new Exception();
316
	}
329
	}
317
 
330
 
318
	public void migrateChallansToInvoices() throws Exception {
331
	public void migrateChallansToInvoices() throws Exception {
319
		Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream()
332
		Map<String, List<Order>> invoiceOrdersMap = orderRepository.selectAllChallans().stream()
320
				.filter(x -> !x.getLineItem().getHsnCode().equals("NOGST"))
333
				.filter(x -> !x.getLineItem().getHsnCode().equals("NOGST"))
Line 407... Line 420...
407
				targetSlabRepository.persist(x);
420
				targetSlabRepository.persist(x);
408
			});
421
			});
409
		}
422
		}
410
	}
423
	}
411
 
424
 
-
 
425
	public void findMismatchesInIndent() {
-
 
426
		List<SaholicInventorySnapshot> saholicInventorySnapshots = saholicInventorySnapshotRepository.selectAll();
-
 
427
		Map<Integer, Integer> itemReservedMap = saholicInventorySnapshots.stream().filter(x -> x.getReserved() > 0)
-
 
428
				.collect(Collectors.groupingBy(SaholicInventorySnapshot::getItemId,
-
 
429
						Collectors.summingInt(SaholicInventorySnapshot::getReserved)));
-
 
430
 
-
 
431
		Map<Integer, Integer> lineItemQtyMap = orderRepository.selectAllOrder(OrderStatus.SUBMITTED_FOR_PROCESSING)
-
 
432
				.stream().collect(Collectors.groupingBy(y -> y.getLineItem().getItemId(),
-
 
433
						Collectors.summingInt(y -> y.getLineItem().getQuantity())));
-
 
434
		
-
 
435
		itemReservedMap.forEach((itemId, reserved)->{
-
 
436
			if(lineItemQtyMap.containsKey(itemId)) {
-
 
437
				int orderedQty = lineItemQtyMap.get(itemId);
-
 
438
				System.out.printf("%d\t%d\t%d",itemId, orderedQty, reserved);
-
 
439
			} else {
-
 
440
				System.out.printf("%d\t%d\t%d",itemId, 0, reserved);
-
 
441
			}
-
 
442
		});
-
 
443
 
-
 
444
	}
-
 
445
 
412
}
446
}
413
447