Subversion Repositories SmartDukaan

Rev

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

Rev 23372 Rev 23377
Line 193... Line 193...
193
		
193
		
194
		Map<Integer, Integer> itemIdQuantity = new HashMap<>(); //this is for error
194
		Map<Integer, Integer> itemIdQuantity = new HashMap<>(); //this is for error
195
		Map<Integer, CustomFofoOrderItem> itemIdCustomFofoOrderItemMap = new HashMap<>();
195
		Map<Integer, CustomFofoOrderItem> itemIdCustomFofoOrderItemMap = new HashMap<>();
196
		Map<Integer, Float> lineItemPrice = new HashMap<>(); //this is for pricing error
196
		Map<Integer, Float> lineItemPrice = new HashMap<>(); //this is for pricing error
197
		
197
		
-
 
198
		
-
 
199
		
198
		float totalAmount = 0;
200
		float totalAmount = 0;
199
		for(CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()){
201
		for(CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()){
200
			//itemIds.add(customFofoOrderItem.getItemId());
202
			//itemIds.add(customFofoOrderItem.getItemId());
-
 
203
			Set<String> serialNumbers = this.serialNumberDetailsToSerialNumbers(customFofoOrderItem.getSerialNumberDetails());
201
			if(!customFofoOrderItem.getSerialNumberDetails().isEmpty() && customFofoOrderItem.getQuantity() != customFofoOrderItem.getSerialNumberDetails().size()){
204
			if(!serialNumbers.isEmpty() && customFofoOrderItem.getQuantity() != serialNumbers.size()){
202
				itemIdQuantity.put(customFofoOrderItem.getItemId(), customFofoOrderItem.getQuantity());
205
				itemIdQuantity.put(customFofoOrderItem.getItemId(), customFofoOrderItem.getQuantity());
203
			}
206
			}
204
			if(!(customFofoOrderItem.getSellingPrice() > 0)){
207
			if(!(customFofoOrderItem.getSellingPrice() > 0)){
205
				lineItemPrice.put(customFofoOrderItem.getItemId(), customFofoOrderItem.getSellingPrice());
208
				lineItemPrice.put(customFofoOrderItem.getItemId(), customFofoOrderItem.getSellingPrice());
206
			}else{
209
			}else{
Line 446... Line 449...
446
		schemeService.processSchemeOut(fofoOrder.getId(), fofoId);
449
		schemeService.processSchemeOut(fofoOrder.getId(), fofoId);
447
		
450
		
448
		return fofoOrder.getId();
451
		return fofoOrder.getId();
449
	}
452
	}
450
	
453
	
-
 
454
	private Set<String> serialNumberDetailsToSerialNumbers(Set<SerialNumberDetail> serialNumberDetails){
-
 
455
		Set<String> serialNumbers = new HashSet<>();
-
 
456
		for(SerialNumberDetail serialNumberDetail : serialNumberDetails) {
-
 
457
			if(serialNumberDetail.getSerialNumber() != null && !serialNumberDetail.getSerialNumber().isEmpty()) {
-
 
458
				serialNumbers.add(serialNumberDetail.getSerialNumber());
-
 
459
			}
-
 
460
		}
-
 
461
		return serialNumbers;
-
 
462
	}
-
 
463
	
451
	@Override
464
	@Override
452
	public PdfModel getInvoicePdfModel(int fofoId, int orderId) throws ProfitMandiBusinessException {
465
	public PdfModel getInvoicePdfModel(int fofoId, int orderId) throws ProfitMandiBusinessException {
453
		
466
		
454
		FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoId, orderId);
467
		FofoOrder fofoOrder = fofoOrderRepository.selectByFofoIdAndOrderId(fofoId, orderId);
455
		
468
		
Line 533... Line 546...
533
			float totalTaxRate = fofoOrderItem.getIgstRate() + fofoOrderItem.getSgstRate() + fofoOrderItem.getCgstRate();
546
			float totalTaxRate = fofoOrderItem.getIgstRate() + fofoOrderItem.getSgstRate() + fofoOrderItem.getCgstRate();
534
			float taxableSellingPrice = fofoOrderItem.getSellingPrice() / (1 + totalTaxRate / 100);
547
			float taxableSellingPrice = fofoOrderItem.getSellingPrice() / (1 + totalTaxRate / 100);
535
			float taxableDiscountPrice = fofoOrderItem.getDiscount() / (1 + totalTaxRate / 100);
548
			float taxableDiscountPrice = fofoOrderItem.getDiscount() / (1 + totalTaxRate / 100);
536
			
549
			
537
			customFofoOrderItem.setAmount(fofoOrderItem.getQuantity() * (taxableSellingPrice - taxableDiscountPrice));
550
			customFofoOrderItem.setAmount(fofoOrderItem.getQuantity() * (taxableSellingPrice - taxableDiscountPrice));
538
			customFofoOrderItem.setDescription(fofoOrderItem.getBrand() + " " + fofoOrderItem.getModelName() + " " + fofoOrderItem.getModelNumber() + "-" + fofoOrderItem.getColor() + "\n IMEIS - " + String.join(", ",this.toSerialNumbers(fofoOrderItem.getFofoLineItems())));
551
			customFofoOrderItem.setDescription(fofoOrderItem.getBrand() + " " + fofoOrderItem.getModelName() + " " + fofoOrderItem.getModelNumber() + "-" + fofoOrderItem.getColor());
-
 
552
			Set<String> serialNumbers = this.toSerialNumbers(fofoOrderItem.getFofoLineItems());
-
 
553
			//LOGGER.info("serialNumbers {}", serialNumbers);
-
 
554
			//LOGGER.info("serialNumbers is empty {}", serialNumbers.isEmpty());
-
 
555
			if(!serialNumbers.isEmpty()) {
-
 
556
				customFofoOrderItem.setDescription(customFofoOrderItem.getDescription() + "\n IMEIS - " + String.join(", ", serialNumbers));
-
 
557
			}
539
			customFofoOrderItem.setRate(taxableSellingPrice);
558
			customFofoOrderItem.setRate(taxableSellingPrice);
540
			customFofoOrderItem.setDiscount(taxableDiscountPrice);
559
			customFofoOrderItem.setDiscount(taxableDiscountPrice);
541
			customFofoOrderItem.setQuantity(fofoOrderItem.getQuantity());
560
			customFofoOrderItem.setQuantity(fofoOrderItem.getQuantity());
542
			customFofoOrderItem.setNetAmount((fofoOrderItem.getSellingPrice()-fofoOrderItem.getDiscount())*fofoOrderItem.getQuantity());
561
			customFofoOrderItem.setNetAmount((fofoOrderItem.getSellingPrice()-fofoOrderItem.getDiscount())*fofoOrderItem.getQuantity());
543
			float igstAmount = (customFofoOrderItem.getAmount() * fofoOrderItem.getIgstRate()) / 100;
562
			float igstAmount = (customFofoOrderItem.getAmount() * fofoOrderItem.getIgstRate()) / 100;
Line 730... Line 749...
730
	private String getValidName(String name){
749
	private String getValidName(String name){
731
		return name!=null?name:"";
750
		return name!=null?name:"";
732
	}
751
	}
733
	
752
	
734
	private Set<String> toSerialNumbers(Set<FofoLineItem> fofoLineItems){
753
	private Set<String> toSerialNumbers(Set<FofoLineItem> fofoLineItems){
735
		Function<FofoLineItem, String> fofoLineItemToSerialNumberFunction = new Function<FofoLineItem, String>() {
754
		Set<String> serialNumbers = new HashSet<>();
736
			@Override
-
 
737
			public String apply(FofoLineItem fofoLineItem) {
755
		for(FofoLineItem fofoLineItem : fofoLineItems) {
-
 
756
			if(fofoLineItem.getSerialNumber() != null && fofoLineItem.getSerialNumber().isEmpty()) {
738
				return fofoLineItem.getSerialNumber();
757
				serialNumbers.add(fofoLineItem.getSerialNumber());
739
			}
758
			}
740
		};
759
		}
741
		return fofoLineItems.stream().map(fofoLineItemToSerialNumberFunction).collect(Collectors.toSet());
760
		return serialNumbers;
742
	}
761
	}
743
	
762
	
744
	
763
	
745
	private PolicyNumberGenerationSequence createPolicyNumberGenerationSequence(){
764
	private PolicyNumberGenerationSequence createPolicyNumberGenerationSequence(){
746
		PolicyNumberGenerationSequence policyNumberGenerationSequence = null;
765
		PolicyNumberGenerationSequence policyNumberGenerationSequence = null;
Line 1024... Line 1043...
1024
			if (i.getType().equals(ItemType.SERIALIZED)){
1043
			if (i.getType().equals(ItemType.SERIALIZED)){
1025
				if (customFofoOrderItem == null || customFofoOrderItem.getSerialNumberDetails().isEmpty()){
1044
				if (customFofoOrderItem == null || customFofoOrderItem.getSerialNumberDetails().isEmpty()){
1026
					invalidItemIdSerialNumbers.add(i.getId());
1045
					invalidItemIdSerialNumbers.add(i.getId());
1027
				}
1046
				}
1028
			}else{
1047
			}else{
-
 
1048
				Set<String> serialNumbers = this.serialNumberDetailsToSerialNumbers(customFofoOrderItem.getSerialNumberDetails());
1029
				if (customFofoOrderItem == null || !customFofoOrderItem.getSerialNumberDetails().isEmpty()){
1049
				if (customFofoOrderItem == null || !serialNumbers.isEmpty()){
1030
					itemIdNonSerializedSerialNumbers.add(i.getId());
1050
					itemIdNonSerializedSerialNumbers.add(i.getId());
1031
				}
1051
				}
1032
			}
1052
			}
1033
		}
1053
		}
1034
 
1054