Subversion Repositories SmartDukaan

Rev

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

Rev 22291 Rev 22354
Line 70... Line 70...
70
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
70
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
71
import com.spice.profitmandi.dao.entity.fofo.InvoiceNumberGenerationSequence;
71
import com.spice.profitmandi.dao.entity.fofo.InvoiceNumberGenerationSequence;
72
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
72
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
73
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
73
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
74
import com.spice.profitmandi.dao.entity.user.Address;
74
import com.spice.profitmandi.dao.entity.user.Address;
-
 
75
import com.spice.profitmandi.dao.entity.user.Counter;
-
 
76
import com.spice.profitmandi.dao.entity.user.PrivateDealUser;
75
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
77
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
76
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
78
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
77
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
79
import com.spice.profitmandi.dao.repository.dtr.InsurancePolicyRepository;
78
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
80
import com.spice.profitmandi.dao.repository.dtr.InsuranceProviderRepository;
79
import com.spice.profitmandi.dao.repository.dtr.PolicyNumberGenerationSequenceRepository;
81
import com.spice.profitmandi.dao.repository.dtr.PolicyNumberGenerationSequenceRepository;
Line 91... Line 93...
91
import com.spice.profitmandi.dao.repository.fofo.InvoiceNumberGenerationSequenceRepository;
93
import com.spice.profitmandi.dao.repository.fofo.InvoiceNumberGenerationSequenceRepository;
92
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
94
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
93
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
95
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
94
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
96
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
95
import com.spice.profitmandi.dao.repository.user.AddressRepository;
97
import com.spice.profitmandi.dao.repository.user.AddressRepository;
-
 
98
import com.spice.profitmandi.dao.repository.user.CounterRepository;
-
 
99
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
96
import com.spice.profitmandi.service.pricing.PricingService;
100
import com.spice.profitmandi.service.pricing.PricingService;
97
import com.spice.profitmandi.web.model.LoginDetails;
101
import com.spice.profitmandi.web.model.LoginDetails;
98
import com.spice.profitmandi.web.request.CreateOrderRequest;
102
import com.spice.profitmandi.web.request.CreateOrderRequest;
99
import com.spice.profitmandi.web.request.CustomPaymentOption;
103
import com.spice.profitmandi.web.request.CustomPaymentOption;
100
import com.spice.profitmandi.web.response.ItemIdQuantityAvailability;
104
import com.spice.profitmandi.web.response.ItemIdQuantityAvailability;
Line 177... Line 181...
177
	CookiesProcessor cookiesProcessor;
181
	CookiesProcessor cookiesProcessor;
178
	
182
	
179
	@Autowired
183
	@Autowired
180
	PricingService pricingService;
184
	PricingService pricingService;
181
	
185
	
-
 
186
	@Autowired
-
 
187
	PrivateDealUserRepository privateDealUserRepository;
-
 
188
	
-
 
189
	@Autowired
-
 
190
	CounterRepository counterRepository;
-
 
191
	
182
	
192
	
183
	@Autowired
193
	@Autowired
184
	ResponseSender<?> responseSender;
194
	ResponseSender<?> responseSender;
185
 
195
 
186
	@RequestMapping(value = "/order")
196
	@RequestMapping(value = "/order")
Line 979... Line 989...
979
		pdfModel.setCustomer(customCustomer);
989
		pdfModel.setCustomer(customCustomer);
980
		pdfModel.setInvoiceNumber(fofoOrder.getInvoiceNumber());
990
		pdfModel.setInvoiceNumber(fofoOrder.getInvoiceNumber());
981
		pdfModel.setTotalAmount(fofoOrder.getTotalAmount());
991
		pdfModel.setTotalAmount(fofoOrder.getTotalAmount());
982
		
992
		
983
		Retailer retailer = retailerRepository.selectById(fofoDetails.getFofoId());
993
		Retailer retailer = retailerRepository.selectById(fofoDetails.getFofoId());
-
 
994
		PrivateDealUser privateDealUser = privateDealUserRepository.selectById(retailer.getId());
-
 
995
		
984
		User user = userRepository.selectById(userAccountRepository.selectUserIdByRetailerId(retailer.getId()));
996
		User user = userRepository.selectById(userAccountRepository.selectUserIdByRetailerId(retailer.getId()));
985
		CustomRetailer customRetailer = new CustomRetailer();
997
		CustomRetailer customRetailer = new CustomRetailer();
986
		customRetailer.setBusinessName(retailer.getName());
998
		customRetailer.setBusinessName(retailer.getName());
987
		customRetailer.setMobileNumber(user.getMobileNumber());
999
		customRetailer.setMobileNumber(user.getMobileNumber());
988
		customRetailer.setTinNumber(retailer.getNumber());
1000
		customRetailer.setTinNumber(retailer.getNumber());
-
 
1001
		if(privateDealUser.getCounterId() != null){
-
 
1002
			Counter counter = counterRepository.selectById(privateDealUser.getCounterId());
-
 
1003
			customRetailer.setGstNumber(counter.getGstin());
-
 
1004
		}
989
		Address retailerAddress = addressRepository.selectById(retailerRegisteredAddressRepository.selectAddressIdByRetailerId(retailer.getId()));
1005
		Address retailerAddress = addressRepository.selectById(retailerRegisteredAddressRepository.selectAddressIdByRetailerId(retailer.getId()));
990
		customRetailer.setAddress(this.createCustomAddress(retailerAddress));
1006
		customRetailer.setAddress(this.createCustomAddress(retailerAddress));
991
		pdfModel.setRetailer(customRetailer);
1007
		pdfModel.setRetailer(customRetailer);
992
		List<FofoLineItem> fofoLineItems = fofoLineItemRepository.selectByOrderId(fofoOrder.getId());
1008
		List<FofoLineItem> fofoLineItems = fofoLineItemRepository.selectByOrderId(fofoOrder.getId());
993
		
1009
		
Line 996... Line 1012...
996
			CustomFofoOrderItem customFofoOrderItem = new CustomFofoOrderItem();
1012
			CustomFofoOrderItem customFofoOrderItem = new CustomFofoOrderItem();
997
			float totalTaxRate = fofoLineItem.getIgstRate() + fofoLineItem.getSgstRate() + fofoLineItem.getCgstRate();
1013
			float totalTaxRate = fofoLineItem.getIgstRate() + fofoLineItem.getSgstRate() + fofoLineItem.getCgstRate();
998
			float taxableSellingPrice = fofoLineItem.getSellingPrice() / (1 + totalTaxRate / 100);
1014
			float taxableSellingPrice = fofoLineItem.getSellingPrice() / (1 + totalTaxRate / 100);
999
			
1015
			
1000
			customFofoOrderItem.setAmount(fofoLineItem.getQuantity() * taxableSellingPrice);
1016
			customFofoOrderItem.setAmount(fofoLineItem.getQuantity() * taxableSellingPrice);
1001
			customFofoOrderItem.setDescription(fofoLineItem.getBrand() + " " + fofoLineItem.getModelName() + " " + fofoLineItem.getModelNumber() + " " + fofoLineItem.getColor());
1017
			customFofoOrderItem.setDescription(fofoLineItem.getBrand() + " " + fofoLineItem.getModelName() + " " + fofoLineItem.getModelNumber() + " " + fofoLineItem.getColor() + " (" + String.join(", ",this.toSerialNumbers(fofoLineItem.getFofoLineItemSerialNumbers())) + ")");
1002
			customFofoOrderItem.setRate(taxableSellingPrice);
1018
			customFofoOrderItem.setRate(taxableSellingPrice);
1003
			customFofoOrderItem.setQuantity(fofoLineItem.getQuantity());
1019
			customFofoOrderItem.setQuantity(fofoLineItem.getQuantity());
1004
			float igstAmount = (customFofoOrderItem.getAmount() * fofoLineItem.getIgstRate()) / 100;
1020
			float igstAmount = (customFofoOrderItem.getAmount() * fofoLineItem.getIgstRate()) / 100;
1005
			float cgstAmount = (customFofoOrderItem.getAmount() * fofoLineItem.getCgstRate()) / 100;
1021
			float cgstAmount = (customFofoOrderItem.getAmount() * fofoLineItem.getCgstRate()) / 100;
1006
			float sgstAmount = (customFofoOrderItem.getAmount() * fofoLineItem.getSgstRate()) / 100;
1022
			float sgstAmount = (customFofoOrderItem.getAmount() * fofoLineItem.getSgstRate()) / 100;
Line 1009... Line 1025...
1009
			customFofoOrderItem.setCgstRate(fofoLineItem.getCgstRate());
1025
			customFofoOrderItem.setCgstRate(fofoLineItem.getCgstRate());
1010
			customFofoOrderItem.setCgstAmount(cgstAmount);
1026
			customFofoOrderItem.setCgstAmount(cgstAmount);
1011
			customFofoOrderItem.setSgstRate(fofoLineItem.getSgstRate());
1027
			customFofoOrderItem.setSgstRate(fofoLineItem.getSgstRate());
1012
			customFofoOrderItem.setSgstAmount(sgstAmount);
1028
			customFofoOrderItem.setSgstAmount(sgstAmount);
1013
			customFofoOrderItem.setHsnCode(fofoLineItem.getHsnCode());
1029
			customFofoOrderItem.setHsnCode(fofoLineItem.getHsnCode());
1014
			customFofoOrderItem.setSerialNumbers(String.join(", ",this.toSerialNumbers(fofoLineItem.getFofoLineItemSerialNumbers())));
-
 
1015
			customerFofoOrderItems.add(customFofoOrderItem);
1030
			customerFofoOrderItems.add(customFofoOrderItem);
1016
		}
1031
		}
1017
		pdfModel.setOrderItems(customerFofoOrderItems);
1032
		pdfModel.setOrderItems(customerFofoOrderItems);
1018
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
1033
		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
1019
		PdfUtils.generateAndWrite(pdfModel, byteArrayOutputStream);
1034
		PdfUtils.generateAndWrite(pdfModel, byteArrayOutputStream);