| 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 |
|