Subversion Repositories SmartDukaan

Rev

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

Rev 23304 Rev 23313
Line 145... Line 145...
145
			return "authfail";
145
			return "authfail";
146
		}
146
		}
147
		return "dtr-bulk-add";
147
		return "dtr-bulk-add";
148
	}
148
	}
149
	
149
	
150
	public String loadUploadTaxRateDiv(){
-
 
151
		if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0])) {
-
 
152
			logger.info(request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0]);
-
 
153
			return "authfail";
-
 
154
		}
-
 
155
		return "upload-tax-rate";
-
 
156
	}
-
 
157
 
-
 
158
	public String loadDownloadVirtualDiv(){
150
	public String loadDownloadVirtualDiv(){
159
		if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0])) {
151
		if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0])) {
160
			logger.info(request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0]);
152
			logger.info(request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0]);
161
			return "authfail";
153
			return "authfail";
162
		}
154
		}
Line 261... Line 253...
261
			setResult("Items added successfully");
253
			setResult("Items added successfully");
262
		}
254
		}
263
		return "item-details-json";
255
		return "item-details-json";
264
	}
256
	}
265
	
257
	
266
	private static class ItemIdStateId{
-
 
267
		private int itemId;
-
 
268
		private int stateId;
-
 
269
		public int getItemId() {
-
 
270
			return itemId;
-
 
271
		}
-
 
272
		public void setItemId(int itemId) {
-
 
273
			this.itemId = itemId;
-
 
274
		}
-
 
275
		public int getStateId() {
-
 
276
			return stateId;
-
 
277
		}
-
 
278
		public void setStateId(int stateId) {
-
 
279
			this.stateId = stateId;
-
 
280
		}
-
 
281
	}
-
 
282
	
-
 
283
	public String uploadTaxRateSheet() throws IOException, CatalogServiceException, TException{
258
	public String uploadTaxRateSheet() throws IOException, CatalogServiceException, TException{
284
		if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0])) {
259
		if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0])) {
285
			logger.info(request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0]);
260
			logger.info(request.getRequestURI().substring(request.getContextPath().length()).split("/")[1].split("!")[0]);
286
			return "authfail";
261
			return "authfail";
287
		}
262
		}
Line 292... Line 267...
292
		HSSFSheet sheet = workbook.getSheetAt(0);
267
		HSSFSheet sheet = workbook.getSheetAt(0);
293
 
268
 
294
		List<Long> itemIdsTaxRates = new ArrayList<Long>();
269
		List<Long> itemIdsTaxRates = new ArrayList<Long>();
295
		
270
		
296
		Map<Long, Double> itemIdIgstTaxRate = new HashMap<Long, Double>();
271
		Map<Long, Double> itemIdIgstTaxRate = new HashMap<Long, Double>();
297
		Map<ItemIdStateId, GstRate> itemIdStateIdStateRateMap = new HashMap<BulkAddController.ItemIdStateId, GstRate>(); 
272
		List<StateGstRate> stateGstRates = new ArrayList<StateGstRate>();
298
 
273
 
299
		for (int iterator = sheet.getFirstRowNum() + 1; iterator <= sheet.getLastRowNum(); iterator++){
274
		for (int iterator = sheet.getFirstRowNum() + 1; iterator <= sheet.getLastRowNum(); iterator++){
300
			long itemId = (long) sheet.getRow(iterator).getCell(0).getNumericCellValue();
275
			long itemId = (long) sheet.getRow(iterator).getCell(0).getNumericCellValue();
301
			long stateId = (long)sheet.getRow(iterator).getCell(1).getNumericCellValue();
-
 
302
			double igstRate = sheet.getRow(iterator).getCell(2).getNumericCellValue();
276
			double taxRate = sheet.getRow(iterator).getCell(1).getNumericCellValue();
303
			if(stateId == -1){
-
 
304
				
-
 
305
				itemIdIgstTaxRate.put(itemId, igstRate);
-
 
306
			}else{
-
 
307
				double cgstRate = sheet.getRow(iterator).getCell(3).getNumericCellValue();
-
 
308
				double sgstRate = sheet.getRow(iterator).getCell(4).getNumericCellValue();
-
 
309
				ItemIdStateId itemIdStateId = new ItemIdStateId();
-
 
310
				itemIdStateId.setItemId(Long.valueOf(itemId).intValue());
-
 
311
				itemIdStateId.setStateId(Long.valueOf(stateId).intValue());
-
 
312
				GstRate gstRate = new GstRate();
277
			StateGstRate sgr = new StateGstRate();
313
				gstRate.setCgstRate(cgstRate);
278
			sgr.setItemId(itemId);
314
				gstRate.setSgstRate(sgstRate);
279
			sgr.setIgstRate(taxRate);
315
				itemIdStateIdStateRateMap.put(itemIdStateId, gstRate);
-
 
316
				itemIdsTaxRates.add(itemId);
-
 
317
			}
280
 
318
		}
281
		}
319
 
282
 
320
		Client cc = new CatalogClient().getClient();
283
		Client cc = new CatalogClient().getClient();
321
		if(!itemIdIgstTaxRate.keySet().isEmpty()){
-
 
322
			
-
 
323
			Map<Long, Item> itemMap = cc.getItems(new ArrayList<Long>(itemIdIgstTaxRate.keySet()));
-
 
324
			StringBuilder sb = new StringBuilder(); 
-
 
325
			
-
 
326
			for(Map.Entry<Long, Double> itemIdIgstTaxRateEntry : itemIdIgstTaxRate.entrySet()){
-
 
327
				if(itemMap.get(itemIdIgstTaxRateEntry.getKey()) == null){
-
 
328
					sb.append("Item is not valid "+itemIdIgstTaxRateEntry.getKey()+"\n");
-
 
329
				}
-
 
330
			}
-
 
331
			if (sb.length()>0){
-
 
332
				setResult("Please correct error \n"+sb.toString());
-
 
333
				return "item-details-json";
-
 
334
			}
-
 
335
		}
-
 
336
		
-
 
337
		if(!itemIdsTaxRates.isEmpty()){
-
 
338
			Map<Long, Item> itemMap = cc.getItems(new ArrayList<Long>(itemIdsTaxRates));
-
 
339
			StringBuilder sb = new StringBuilder(); 
-
 
340
			for(long itemId : itemIdsTaxRates){
-
 
341
				if(itemMap.get(itemId) == null){
-
 
342
					sb.append("Item is not valid "+itemId+"\n");
-
 
343
				}
-
 
344
			}
-
 
345
			if (sb.length()>0){
-
 
346
				setResult("Please correct error \n"+sb.toString());
-
 
347
				return "item-details-json";
-
 
348
			}
-
 
349
		}
-
 
350
		
-
 
351
		for(Map.Entry<Long, Double> itemIdIgstTaxRateEntry : itemIdIgstTaxRate.entrySet()){
-
 
352
			StateGstRate stateGstRate = new StateGstRate();
-
 
353
			stateGstRate.setItemId(itemIdIgstTaxRateEntry.getKey());
-
 
354
			stateGstRate.setStateId(-1);
-
 
355
			stateGstRate.setIgstRate(itemIdIgstTaxRateEntry.getValue());
-
 
356
			stateGstRate.setCgstRate(0);
-
 
357
			stateGstRate.setSgstRate(0);
-
 
358
			cc.persistStateGstRate(stateGstRate);
-
 
359
		}
-
 
360
		
-
 
361
		for(Map.Entry<ItemIdStateId, GstRate> itemIdStateIdStateRateEntry : itemIdStateIdStateRateMap.entrySet()){
-
 
362
			StateGstRate stateGstRate = new StateGstRate();
-
 
363
			stateGstRate.setItemId(itemIdStateIdStateRateEntry.getKey().getItemId());
-
 
364
			stateGstRate.setStateId(itemIdStateIdStateRateEntry.getKey().getStateId());
-
 
365
			stateGstRate.setIgstRate(0);
-
 
366
			stateGstRate.setCgstRate(itemIdStateIdStateRateEntry.getValue().getCgstRate());
-
 
367
			stateGstRate.setSgstRate(itemIdStateIdStateRateEntry.getValue().getSgstRate());
-
 
368
			cc.persistStateGstRate(stateGstRate);
284
		cc.persistStateGstRate(stateGstRates);
369
		}
-
 
370
		
285
		
371
		setResult("Sheet uploaded successfully");
286
		setResult("Sheet uploaded successfully");
372
		return "item-details-json";
287
		return "item-details-json";
373
	}
288
	}
374
 
289