Subversion Repositories SmartDukaan

Rev

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

Rev 24956 Rev 24957
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.Set;
15
import java.util.stream.Collectors;
15
import java.util.stream.Collectors;
16
 
16
 
17
import org.apache.commons.io.output.ByteArrayOutputStream;
17
import org.apache.commons.io.output.ByteArrayOutputStream;
18
import org.apache.commons.lang.StringUtils;
18
import org.apache.commons.lang.StringUtils;
19
import org.apache.logging.log4j.LogManager;
19
import org.apache.logging.log4j.LogManager;
20
import org.apache.logging.log4j.Logger;
20
import org.apache.logging.log4j.Logger;
21
import org.apache.solr.common.util.Hash;
-
 
22
import org.springframework.beans.factory.annotation.Autowired;
21
import org.springframework.beans.factory.annotation.Autowired;
23
import org.springframework.core.io.ByteArrayResource;
22
import org.springframework.core.io.ByteArrayResource;
24
import org.springframework.mail.javamail.JavaMailSender;
23
import org.springframework.mail.javamail.JavaMailSender;
25
import org.springframework.stereotype.Component;
24
import org.springframework.stereotype.Component;
26
import org.springframework.transaction.annotation.Transactional;
25
import org.springframework.transaction.annotation.Transactional;
27
 
26
 
-
 
27
import com.google.common.base.Functions;
28
import com.spice.profitmandi.common.util.FileUtil;
28
import com.spice.profitmandi.common.util.FileUtil;
29
import com.spice.profitmandi.common.util.Utils;
29
import com.spice.profitmandi.common.util.Utils;
30
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
30
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
31
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
31
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
32
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
32
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
Line 34... Line 34...
34
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
34
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
35
import com.spice.profitmandi.dao.entity.fofo.Purchase;
35
import com.spice.profitmandi.dao.entity.fofo.Purchase;
36
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
36
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
37
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;
38
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
39
import com.spice.profitmandi.dao.entity.inventory.SaholicReservationInventorySnapshot;
-
 
40
import com.spice.profitmandi.dao.entity.transaction.LineItem;
39
import com.spice.profitmandi.dao.entity.transaction.LineItem;
41
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
40
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
42
import com.spice.profitmandi.dao.entity.transaction.Order;
41
import com.spice.profitmandi.dao.entity.transaction.Order;
43
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
42
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
44
import com.spice.profitmandi.dao.repository.GenericRepository;
43
import com.spice.profitmandi.dao.repository.GenericRepository;
Line 420... Line 419...
420
				targetSlabRepository.persist(x);
419
				targetSlabRepository.persist(x);
421
			});
420
			});
422
		}
421
		}
423
	}
422
	}
424
 
423
 
425
	public void findMismatchesInIndent() {
424
	public void findMismatchesInIndent() throws Exception {
426
		List<SaholicInventorySnapshot> saholicInventorySnapshots = saholicInventorySnapshotRepository.selectAll();
425
		List<SaholicInventorySnapshot> saholicInventorySnapshots = saholicInventorySnapshotRepository.selectAll();
427
		Map<Integer, Integer> itemReservedMap = saholicInventorySnapshots.stream().filter(x -> x.getReserved() > 0)
426
		Map<Integer, Integer> itemReservedMap = saholicInventorySnapshots.stream().filter(x -> x.getReserved() > 0)
428
				.collect(Collectors.groupingBy(SaholicInventorySnapshot::getItemId,
427
				.collect(Collectors.groupingBy(SaholicInventorySnapshot::getItemId,
429
						Collectors.summingInt(SaholicInventorySnapshot::getReserved)));
428
						Collectors.summingInt(SaholicInventorySnapshot::getReserved)));
430
 
429
		
431
		Map<Integer, Integer> lineItemQtyMap = orderRepository.selectAllOrder(OrderStatus.SUBMITTED_FOR_PROCESSING)
430
		List<Order> allInProcessOrders = orderRepository.selectAllOrder(OrderStatus.SUBMITTED_FOR_PROCESSING);
-
 
431
		
-
 
432
		
-
 
433
		Map<Integer, Integer> lineItemQtyMap = allInProcessOrders
432
				.stream().collect(Collectors.groupingBy(y -> y.getLineItem().getItemId(),
434
				.stream().collect(Collectors.groupingBy(y -> y.getLineItem().getItemId(),
433
						Collectors.summingInt(y -> y.getLineItem().getQuantity())));
435
						Collectors.summingInt(y -> y.getLineItem().getQuantity())));
434
		
436
		
-
 
437
/*		Map<Integer, Order> orderMap = allInProcessOrders.stream().collect(Collectors.toMap(Order::getId, x->x));
-
 
438
		Map<Integer, List<Order>> itemOrdersMap = allInProcessOrders.stream()
-
 
439
				.collect(Collectors.groupingBy(o->o.getLineItem().getItemId(), Collectors.toList()));
-
 
440
*/		
435
		itemReservedMap.forEach((itemId, reserved)->{
441
		itemReservedMap.forEach((itemId, reserved)->{
436
			if(lineItemQtyMap.containsKey(itemId)) {
442
			if(lineItemQtyMap.containsKey(itemId)) {
437
				int orderedQty = lineItemQtyMap.get(itemId);
443
				int orderedQty = lineItemQtyMap.get(itemId);
438
				System.out.printf("%d\t%d\t%d\n",itemId, orderedQty, reserved);
444
				System.out.printf("%d\t%d\t%d\n",itemId, orderedQty, reserved);
439
			} else {
445
			} else {
-
 
446
				saholicInventorySnapshotRepository.removeAllReservations(itemId);
440
				System.out.printf("%d\t%d\t%d\n",itemId, 0, reserved);
447
				System.out.printf("%d\t%d\t%d\n",itemId, 0, reserved);
441
			}
448
			}
442
		});
449
		});
443
 
-
 
-
 
450
		throw new Exception();
444
	}
451
	}
445
 
452
 
446
}
453
}
447
454