Subversion Repositories SmartDukaan

Rev

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

Rev 30702 Rev 30715
Line 7... Line 7...
7
import com.spice.profitmandi.common.web.util.ResponseSender;
7
import com.spice.profitmandi.common.web.util.ResponseSender;
8
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
8
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
9
import com.spice.profitmandi.dao.entity.transaction.Order;
9
import com.spice.profitmandi.dao.entity.transaction.Order;
10
import com.spice.profitmandi.dao.model.ImeiInoviceModel;
10
import com.spice.profitmandi.dao.model.ImeiInoviceModel;
11
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
11
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
-
 
12
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
12
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
13
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
13
import com.spice.profitmandi.service.authentication.RoleManager;
14
import com.spice.profitmandi.service.authentication.RoleManager;
14
import com.spice.profitmandi.service.inventory.PurchaseService;
15
import com.spice.profitmandi.service.inventory.PurchaseService;
15
import com.spice.profitmandi.service.transaction.invoicing.InvoiceService;
16
import com.spice.profitmandi.service.transaction.invoicing.InvoiceService;
16
import com.spice.profitmandi.web.model.LoginDetails;
17
import com.spice.profitmandi.web.model.LoginDetails;
Line 52... Line 53...
52
 
53
 
53
	@Autowired
54
	@Autowired
54
	private PurchaseService purchaseService;
55
	private PurchaseService purchaseService;
55
 
56
 
56
	@Autowired
57
	@Autowired
-
 
58
	private PurchaseRepository purchaseRepository;
-
 
59
 
-
 
60
	@Autowired
57
	private InventoryItemRepository inventoryItemRepository;
61
	private InventoryItemRepository inventoryItemRepository;
58
 
62
 
59
	@Autowired
63
	@Autowired
60
	private OrderRepository orderRepository;
64
	private OrderRepository orderRepository;
61
 
65
 
Line 96... Line 100...
96
	private Map<String, Boolean> getImeiValidationMap(int fofoId, ImeiInoviceModel imeiInoviceModel) throws ProfitMandiBusinessException {
100
	private Map<String, Boolean> getImeiValidationMap(int fofoId, ImeiInoviceModel imeiInoviceModel) throws ProfitMandiBusinessException {
97
		LOGGER.info("serialNumbers - {}", imeiInoviceModel.getSerialNumbers());
101
		LOGGER.info("serialNumbers - {}", imeiInoviceModel.getSerialNumbers());
98
		Set<String> serialNumbers = new HashSet<>(orderRepository.selectSerialNumbers(imeiInoviceModel.getInvoiceNumber(), fofoId, imeiInoviceModel.getSerialNumbers()));
102
		Set<String> serialNumbers = new HashSet<>(orderRepository.selectSerialNumbers(imeiInoviceModel.getInvoiceNumber(), fofoId, imeiInoviceModel.getSerialNumbers()));
99
		Map<String, Boolean> imeiValidationMap = new HashMap<>();
103
		Map<String, Boolean> imeiValidationMap = new HashMap<>();
100
		imeiInoviceModel.getSerialNumbers().stream().forEach(x -> {
104
		imeiInoviceModel.getSerialNumbers().stream().forEach(x -> {
101
			imeiValidationMap.put(x, null);
105
			imeiValidationMap.put(x, true);
102
		});
106
		});
103
		if (serialNumbers.size() > 0) {
107
		if (serialNumbers.size() > 0) {
104
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, new HashSet<>(serialNumbers), false);
108
			List<InventoryItem> inventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, new HashSet<>(serialNumbers), false);
105
			Set<String> grnedSerialNumberSet = inventoryItems.stream().map(x -> x.getSerialNumber()).collect(Collectors.toSet());
109
			Set<String> grnedSerialNumberSet = inventoryItems.stream().filter(x -> x.getPurchase().getPurchaseReference().equals(imeiInoviceModel.getInvoiceNumber()))
-
 
110
					.map(x -> x.getSerialNumber()).collect(Collectors.toSet());
106
			imeiInoviceModel.getSerialNumbers().stream().forEach(x -> {
111
			imeiInoviceModel.getSerialNumbers().stream().forEach(imei -> {
107
				imeiValidationMap.put(x, serialNumbers.contains(x) && !grnedSerialNumberSet.contains(x));
112
				if (grnedSerialNumberSet.contains(imei)) {
-
 
113
					imeiValidationMap.put(imei, false);
-
 
114
				}
108
			});
115
			});
-
 
116
 
109
		}
117
		}
110
		return imeiValidationMap;
118
		return imeiValidationMap;
111
	}
119
	}
112
 
120
 
113
	@RequestMapping(value = "/purchase/grn-imeis", method = RequestMethod.POST)
121
	@RequestMapping(value = "/purchase/grn-imeis", method = RequestMethod.POST)