Subversion Repositories SmartDukaan

Rev

Rev 22982 | Rev 23032 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21627 kshitij.so 1
var googleProfile;
2
 
22139 amit.gupta 3
 
4
$(document).ajaxComplete(
5
	function(){
23026 ashik.ali 6
		}
22139 amit.gupta 7
);
21627 kshitij.so 8
var startApp = function() {
9
  gapi.load('auth2', function(){
10
    // Retrieve the singleton for the GoogleAuth library and set up the client.
11
    auth2 = gapi.auth2.init({
22071 ashik.ali 12
      client_id: googleApiKey,
21627 kshitij.so 13
      cookiepolicy: 'single_host_origin',
14
      // Request scopes in addition to 'profile' and 'email'
15
      //scope: 'additional_scope'
16
    });
17
    attachSignin(document.getElementById('customBtn'));
18
  });
19
};
20
 
22956 ashik.ali 21
function badRequestAlert(response){
22
	console.log(response.responseText);
23
	var errorObject = JSON.parse(response.responseText);
24
	errorObject = errorObject.response;
25
	alert('Bad Request\n'+
26
			'rejectedType : '+errorObject.rejectedType+'\n'+
27
			'rejectedValue : '+errorObject.rejectedValue+'\n'+
28
			'message : '+errorObject.message);
29
}
30
 
31
function internalServerErrorAlert(response){
32
	console.log(response.responseText);
33
	var errorObject = JSON.parse(response.responseText);
34
	errorObject = errorObject.response;
35
	alert('Internal Server Error\n'+
36
		'rejectedType : '+errorObject.rejectedType+'\n'+
37
		'rejectedValue : '+errorObject.rejectedValue+'\n'+
38
		'message : '+errorObject.message);
39
}
40
 
41
$( document ).ajaxError(function(event, jqxhr, settings, thrownError) {
42
	//$( ".log" ).text( "Triggered ajaxError handler." );
43
	if(jqxhr.status == 400){
22982 ashik.ali 44
		//$('#error-prompt-model').modal();
22956 ashik.ali 45
		badRequestAlert(jqxhr);	
46
	}else{
47
		internalServerErrorAlert(jqxhr);
48
	}
49
});
50
 
23026 ashik.ali 51
function doGetAjaxRequest(urlString){
52
	var response;
53
	doAjaxRequestHandler(urlString, "GET", function(ajaxResponse){
54
		response = ajaxResponse;
55
	});
56
	return response;
57
}
58
 
59
function doPutAjaxRequest(urlString){
60
	var response;
61
	doAjaxRequestHandler(urlString, "PUT", function(ajaxResponse){
62
		response = ajaxResponse;
63
	});
64
	return response;
65
}
66
 
67
 
68
function doAjaxRequestHandler(urlString, httpType, callback_function){
22982 ashik.ali 69
	$.ajax({
70
	   url: urlString,
71
	   async: false,
23026 ashik.ali 72
	   cache: false,
22982 ashik.ali 73
	   type: httpType,
74
	   success: function(response) {
75
	      //console.log("response"+JSON.stringify(data));
76
	      callback_function(response);
77
	   }
78
	});
79
}
80
 
23026 ashik.ali 81
function doAjaxUploadRequest(urlString, httpType, file){
82
	var response;
83
	doAjaxUploadRequestHandler(urlString, httpType, file, function(ajaxResponse){
84
		response = ajaxResponse;
85
	});
86
	return response;
87
}
88
 
89
function doAjaxUploadRequestHandler(urlString, httpType, file, callback_function){
22982 ashik.ali 90
	var formData = new FormData();
91
	formData.append("file", file);
92
	$.ajax({
93
	   url: urlString,
94
	   type: httpType,
95
	   data: formData,
96
       dataType: 'json',
23026 ashik.ali 97
       async: false,
22982 ashik.ali 98
       cache: false,
99
       contentType: false,
100
       enctype: 'multipart/form-data',
101
       processData: false,
102
	   success: function(response) {
103
	      //console.log("response"+JSON.stringify(data));
104
	      callback_function(response);
105
	   }
106
	});
107
}
108
 
109
function uploadDocument(file){
110
	var url = '/profitmandi-web/document-upload';
23026 ashik.ali 111
	/*var response;
22982 ashik.ali 112
	doAjaxUploadRequest(url, 'POST', file, function(ajaxResponse){
113
		response = ajaxResponse;
23026 ashik.ali 114
	});*/
115
	var response = doAjaxUploadRequest(url, 'POST', file);
22982 ashik.ali 116
	var documentId = response.response.document_id; 
117
	console.log("documentId : "+documentId);
118
	return documentId;
119
}
120
 
23026 ashik.ali 121
/*function uploadRetailerDocument(divId, file, emailIdOrMobileNumber){
22982 ashik.ali 122
	var url = '/profitmandi-web/document-upload';
123
	//var response;
124
	doAjaxUploadRequest(url, 'POST', file, function(ajaxResponse){
125
		var documentId = ajaxResponse.response.document_id; 
126
		console.log("documentId : "+documentId);
127
		var url = context+'/updateRetailerDocument?emailIdOrMobileNumber='+emailIdOrMobileNumber
128
	    +'&documentId='+documentId;
129
		var response;
130
		doAjaxRequest(url, 'PUT', function(ajaxResponse){
131
			response = ajaxResponse;
132
		});
133
		$('#' + divId).html(response);
134
		alert("Retailer Document has been updated.");
135
	});
136
}
137
 
138
function uploadRetailerShopDocument(divId, file, emailIdOrMobileNumber, shopId){
139
	//var documentId = uploadDocument(file);
140
	var url = '/profitmandi-web/document-upload';
141
	//var response;
142
	doAjaxUploadRequest(url, 'POST', file, function(ajaxResponse){
143
		var documentId = ajaxResponse.response.document_id; 
144
		console.log("documentId : "+documentId);
145
		var url = context+'/updateRetailerShopDocument?emailIdOrMobileNumber='+emailIdOrMobileNumber
146
	    +'&shopId='+shopId
147
	    +'&documentId='+documentId;
148
		var response;
149
		doAjaxRequest(url, 'PUT', function(ajaxResponse){
150
			response = ajaxResponse;
151
		});
152
		$('#' + divId).html(response);
153
		alert("Retailer Shop Document has been updated.");
154
	});
155
 
23026 ashik.ali 156
}*/
22982 ashik.ali 157
 
158
 
21627 kshitij.so 159
function attachSignin(element) {
160
    console.log(element.id);
161
    auth2.attachClickHandler(element, {},
162
        function(googleUser) {
163
    		googleProfile = googleUser.getBasicProfile();
164
        	console.log(googleProfile.getImageUrl());
165
        	submitUser(googleUser);
166
        }, function(error) {
167
          console.log(JSON.stringify(error, undefined, 2));
168
        });
169
  }
170
 
171
function submitUser(googleUser){
172
	jQuery.ajax({
173
        type : "POST",
22090 amit.gupta 174
        url : context+"/login",
22139 amit.gupta 175
        dataType: 'json',
21627 kshitij.so 176
        data: {"token":googleUser.getAuthResponse().id_token},
177
        success: function(data, textStatus, request){
178
        	console.log(data);
179
        	addProfileInLocalDb();
22139 amit.gupta 180
        	window.location.href= data.redirectUrl;
21627 kshitij.so 181
   		}
182
    });  
183
}
184
 
185
function addProfileInLocalDb(){
186
	var profile = {'image_url':googleProfile.getImageUrl(),'name':googleProfile.getName()};
187
	localStorage.setItem("profile",JSON.stringify(profile));
188
}
189
 
190
 
191
function loadNewGrn(domId){
23026 ashik.ali 192
	var response = doGetAjaxRequest(context+"/purchase");
193
	$('#' + domId).html(response);  
21627 kshitij.so 194
}
195
 
21987 kshitij.so 196
function loadGoodInventory(domId, search_text){
23026 ashik.ali 197
	var response = doGetAjaxRequest(context+"/getCurrentInventorySnapshot/?searchTerm="+search_text);
198
	$('#' + domId).html(response);
21987 kshitij.so 199
}
200
 
201
function loadCatalog(domId, search_text){
23026 ashik.ali 202
	var response = doGetAjaxRequest(context+"/getCatalog/?searchTerm="+search_text);
203
	$('#' + domId).html(response);
21987 kshitij.so 204
}
205
 
22523 ashik.ali 206
function getInventoryItemAgingByInterval(domId, searchContent){
207
	jQuery.ajax({
208
        type : "POST",
209
        url : context+"/getInventoryItemAgingByInterval?searchContent="+searchContent,
210
        cache: false,
211
        contentType: "application/json",
212
        processData: false,
213
        async: false,
214
        data : JSON.stringify([5,15,30,45]),
215
        success : function(response) {
216
            $('#' + domId).html(response);
22956 ashik.ali 217
        }
22523 ashik.ali 218
    });  
219
}
220
 
22982 ashik.ali 221
function getRetailerDetailsByEmailIdOrMobileNumber(domId, emailIdOrMobileNumber){
23026 ashik.ali 222
	var response = doGetAjaxRequest(context+"/retailerDetail/?emailIdOrMobileNumber="+emailIdOrMobileNumber);
223
	$('#' + domId).html(response); 
22982 ashik.ali 224
}
225
 
22488 ashik.ali 226
function downloadAgingReport(){
22523 ashik.ali 227
	data = JSON.stringify([5,15,30,45]),
22488 ashik.ali 228
	xhttp = new XMLHttpRequest();
229
	xhttp.onreadystatechange = function() {
230
	    var a;
231
	    if (xhttp.readyState === 4 && xhttp.status === 200) {
232
	        // Trick for making downloadable link
233
	        a = document.createElement('a');
234
	        a.href = window.URL.createObjectURL(xhttp.response);
235
	        // Give filename you wish to download
236
	        a.download = "InventoryItemAging.xlsx";
237
	        a.style.display = 'none';
238
	        document.body.appendChild(a);
239
	        a.click();
240
	    }
22956 ashik.ali 241
	    if(xhttp.readyState == 4 && xhttp.status === 400){
242
	    	badRequestAlert(xhttp.responseText);
243
	    }
244
	    if(xhttp.readyState == 4 && xhttp.status === 500){
245
	    	internalServerErrorAlert(xhttp.responseText);
246
	    }
22488 ashik.ali 247
	};
248
	// Post data to URL which handles post request
249
	xhttp.open("POST", context+"/getInventoryItemAgingByInterval");
250
	xhttp.setRequestHeader("Content-Type", "application/json");
251
	// You should set responseType as blob for binary responses
252
	xhttp.responseType = 'blob';
253
	xhttp.send(data);
254
}
255
 
22523 ashik.ali 256
function downloadItemLedgerReport(){
23026 ashik.ali 257
	console.log("downloadItemLedgerReport Button clicked")
258
	var startEndDateTime = $('input[name="startEndDateTime"]').val().split("-");
259
	var startDateTime = $.trim(startEndDateTime[0]);
260
	console.log("startDateTime : "+startDateTime);
261
	var endDateTime = $.trim(startEndDateTime[1]);
262
	console.log("endDateTime : "+endDateTime);
22523 ashik.ali 263
	//data = JSON.stringify([5,10,15,20,25,30,35,40]),
264
	xhttp = new XMLHttpRequest();
265
	xhttp.onreadystatechange = function() {
266
	    var a;
267
	    if (xhttp.readyState === 4 && xhttp.status === 200) {
268
	        // Trick for making downloadable link
269
	        a = document.createElement('a');
270
	        a.href = window.URL.createObjectURL(xhttp.response);
271
	        // Give filename you wish to download
272
	        a.download = "ItemCompleteLedegerReport.xlsx";
273
	        a.style.display = 'none';
274
	        document.body.appendChild(a);
275
	        a.click();
276
	    }
22956 ashik.ali 277
	    if(xhttp.readyState == 4 && xhttp.status === 400){
278
	    	badRequestAlert(xhttp.responseText);
279
	    }
280
	    if(xhttp.readyState == 4 && xhttp.status === 500){
281
	    	internalServerErrorAlert(xhttp.responseText);
282
	    }
22523 ashik.ali 283
	};
284
	// Post data to URL which handles post request
23026 ashik.ali 285
	xhttp.open("GET", context+"/itemLedger/complete/download?startDateTime="+startDateTime+"&endDateTime="+endDateTime);
22523 ashik.ali 286
	//xhttp.setRequestHeader("Content-Type", "application/json");
287
	// You should set responseType as blob for binary responses
288
	xhttp.responseType = 'blob';
289
	xhttp.send(null);
290
}
291
 
23026 ashik.ali 292
 
293
function schemesDownload(){
294
	console.log("downloadItemLedgerReport Button clicked")
295
	var startEndDateTime = $('input[name="startEndDateTime"]').val().split("-");
296
	var startDateTime = $.trim(startEndDateTime[0]);
297
	console.log("startDateTime : "+startDateTime);
298
	var endDateTime = $.trim(startEndDateTime[1]);
299
	console.log("endDateTime : "+endDateTime);
300
	//data = JSON.stringify([5,10,15,20,25,30,35,40]),
301
	xhttp = new XMLHttpRequest();
302
	xhttp.onreadystatechange = function() {
303
	    var a;
304
	    if (xhttp.readyState === 4 && xhttp.status === 200) {
305
	        // Trick for making downloadable link
306
	        a = document.createElement('a');
307
	        a.href = window.URL.createObjectURL(xhttp.response);
308
	        // Give filename you wish to download
309
	        a.download = "SchemesReport.xlsx";
310
	        a.style.display = 'none';
311
	        document.body.appendChild(a);
312
	        a.click();
313
	    }
314
	    if(xhttp.readyState == 4 && xhttp.status === 400){
315
	    	badRequestAlert(xhttp.responseText);
316
	    }
317
	    if(xhttp.readyState == 4 && xhttp.status === 500){
318
	    	internalServerErrorAlert(xhttp.responseText);
319
	    }
320
	};
321
	// Post data to URL which handles post request
322
	xhttp.open("GET", context+"/schemes/download?startDateTime="+startDateTime+"&endDateTime="+endDateTime);
323
	//xhttp.setRequestHeader("Content-Type", "application/json");
324
	// You should set responseType as blob for binary responses
325
	xhttp.responseType = 'blob';
326
	xhttp.send(null);
327
}
328
 
22523 ashik.ali 329
function getItemAgingNextPreviousItems(offset, searchContent){
330
 
331
	jQuery.ajax({
332
		type : "POST",
333
        url : context+"/getInventoryItemAgingByInterval?offset="+offset+"&searchContent="+searchContent,
334
        cache: false,
335
        contentType: "application/json",
336
        processData: false,
337
        async: false,
338
        data : JSON.stringify([5,15,30,45]),
339
		beforeSend: function(){
340
			//$('#ajax-spinner').show();
341
        },
342
        complete: function(){
343
        	//$('#ajax-spinner').hide();
344
        },
345
        success : function(response) {
346
        	$('#main-content').html(response);
22956 ashik.ali 347
        }
22523 ashik.ali 348
    });
349
}
350
 
351
function getGrnHistoryPreviousItems(start,end,pre,purchase_reference, searchType,startTime,endTime){
23026 ashik.ali 352
	var response = doGetAjaxRequest(context+"/getPaginatedGrnHistory/?purchaseReference="+purchase_reference+"&searchType="+searchType
22523 ashik.ali 353
	        +"&startTime="+startTime
23026 ashik.ali 354
	        +"&endTime="+endTime+"&offset="+pre);
355
 
356
	$( "#grn-history-paginated .end" ).text(+end - +10);
357
	$( "#grn-history-paginated .start" ).text(+start - +10);
358
	$('#grn-history-table').html(response);
359
	$("#grn-history-paginated .next").prop('disabled', false);
360
	if (parseInt(pre)==0)
361
	{
362
		$("#grn-history-paginated .previous").prop('disabled', true);
363
	}
22523 ashik.ali 364
}
365
 
21987 kshitij.so 366
function loadBadInventory(domId, search_text){
23026 ashik.ali 367
	var response = doGetAjaxRequest(context+"/getBadInventorySnapshot/?searchTerm="+search_text);
368
	$('#' + domId).html(response);  
21987 kshitij.so 369
}
370
 
371
function loadGrnHistory(domId,purchase_reference,searchType, startTime, endTime){
23026 ashik.ali 372
	var response = doGetAjaxRequest(context+"/grnHistory/?purchaseReference="+purchase_reference+"&searchType="+searchType
373
	        +"&startTime="+startTime
374
	        +"&endTime="+endTime);
375
	$('#' + domId).html(response);   
21987 kshitij.so 376
}
377
 
22245 ashik.ali 378
 
21987 kshitij.so 379
function getNextItems(start, end, searchText){
380
	console.log(start);
381
	console.log(end);
382
	console.log(+end + +10);
383
	console.log(+start + +10);
23026 ashik.ali 384
	var response = doGetAjaxRequest(context+"/getPaginatedCurrentInventorySnapshot/?offset="+end+"&searchTerm="+searchText);
385
 
386
	$( "#good-inventory-paginated .end" ).text(+end + +10);
387
	$( "#good-inventory-paginated .start" ).text(+start + +10);
388
	var last = $( "#good-inventory-paginated .end" ).text();
389
	var temp = $( "#good-inventory-paginated .size" ).text();
390
	if (parseInt(last) >= parseInt(temp)){
391
		$("#good-inventory-paginated .next").prop('disabled', true);
392
		//$( "#good-inventory-paginated .end" ).text(temp);
21987 kshitij.so 393
	}
23026 ashik.ali 394
    $('#good-inventory-table').html(response);
395
    $("#good-inventory-paginated .previous").prop('disabled', false);
396
 
397
}
398
 
21987 kshitij.so 399
function getPreviousItems(start,end,pre,searchText){
23026 ashik.ali 400
	var response = doGetAjaxRequest(context+"/getPaginatedCurrentInventorySnapshot/?offset="+pre+"&searchTerm="+searchText);
401
 
402
	$( "#good-inventory-paginated .end" ).text(+end - +10);
403
	$( "#good-inventory-paginated .start" ).text(+start - +10);
404
	$('#good-inventory-table').html(response);
405
	$("#good-inventory-paginated .next").prop('disabled', false);
406
	if (parseInt(pre)==0)
407
	{
408
		$("#good-inventory-paginated .previous").prop('disabled', true);
409
	}
410
 
21987 kshitij.so 411
}
412
 
413
function getGrnHistoryNextItems(start, end, purchase_reference, searchType,startTime,endTime){
414
	console.log(start);
415
	console.log(end);
416
	console.log(+end + +10);
417
	console.log(+start + +10);
23026 ashik.ali 418
	var response = doGetAjaxRequest(context+"/getPaginatedGrnHistory/?purchaseReference="+purchase_reference+"&searchType="+searchType
21987 kshitij.so 419
	        +"&startTime="+startTime
23026 ashik.ali 420
	        +"&endTime="+endTime+"&offset="+end);
421
 
422
	$( "#grn-history-paginated .end" ).text(+end + +10);
423
	$( "#grn-history-paginated .start" ).text(+start + +10);
424
	var last = $( "#grn-history-paginated .end" ).text();
425
	var temp = $( "#grn-history-paginated .size" ).text();
426
	if (parseInt(last) >= parseInt(temp)){
427
		$("#grn-history-paginated .next").prop('disabled', true);
428
		//$( "#good-inventory-paginated .end" ).text(temp);
21987 kshitij.so 429
	}
23026 ashik.ali 430
    $('#grn-history-table').html(response);
431
    $("#grn-history-paginated .previous").prop('disabled', false);
432
 
433
}
434
 
21987 kshitij.so 435
function getGrnHistoryPreviousItems(start,end,pre,purchase_reference, searchType,startTime,endTime){
23026 ashik.ali 436
	var response = doGetAjaxRequest(context+"/getPaginatedGrnHistory/?purchaseReference="+purchase_reference+"&searchType="+searchType
21987 kshitij.so 437
	        +"&startTime="+startTime
23026 ashik.ali 438
	        +"&endTime="+endTime+"&offset="+pre);
439
 
440
	$( "#grn-history-paginated .end" ).text(+end - +10);
441
	$( "#grn-history-paginated .start" ).text(+start - +10);
442
	$('#grn-history-table').html(response);
443
	$("#grn-history-paginated .next").prop('disabled', false);
444
	if (parseInt(pre)==0)
445
	{
446
		$("#grn-history-paginated .previous").prop('disabled', true);
447
	}
21987 kshitij.so 448
}
449
 
22292 ashik.ali 450
function getSaleHistoryNextItems(start, end, invoiceNumber, searchType, startTime, endTime){
451
	console.log(start);
452
	console.log(end);
453
	console.log(+end + +10);
454
	console.log(+start + +10);
23026 ashik.ali 455
	var response = doGetAjaxRequest(context+"/getPaginatedSaleHistory/?invoiceNumber="+invoiceNumber+"&searchType="+searchType
22292 ashik.ali 456
	        +"&startTime="+startTime
23026 ashik.ali 457
	        +"&endTime="+endTime+"&offset="+end);
458
 
459
	$( "#sale-history-paginated .end" ).text(+end + +10);
460
	$( "#sale-history-paginated .start" ).text(+start + +10);
461
	var last = $( "#sale-history-paginated .end" ).text();
462
	var temp = $( "#sale-history-paginated .size" ).text();
463
	if (parseInt(last) >= parseInt(temp)){
464
		$("#sale-history-paginated .next").prop('disabled', true);
465
		//$( "#good-inventory-paginated .end" ).text(temp);
22292 ashik.ali 466
	}
23026 ashik.ali 467
    $('#sale-history-table').html(response);
468
    $("#sale-history-paginated .previous").prop('disabled', false);
469
 
470
}
471
 
22292 ashik.ali 472
function getSaleHistoryPreviousItems(start, end, pre, invoiceNumber, searchType,startTime,endTime){
23026 ashik.ali 473
 
474
	var response = doGetAjaxRequest(context+"/getPaginatedSaleHistory/?invoiceNumber="+invoiceNumber+"&searchType="+searchType
22292 ashik.ali 475
	        +"&startTime="+startTime
23026 ashik.ali 476
	        +"&endTime="+endTime+"&offset="+pre);
477
 
478
	$( "#sale-history-paginated .end" ).text(+end - +10);
479
	$( "#sale-history-paginated .start" ).text(+start - +10);
480
	$('#sale-history-table').html(response);
481
	$("#sale-history-paginated .next").prop('disabled', false);
482
	if (parseInt(pre)==0)
483
	{
484
		$("#sale-history-paginated .previous").prop('disabled', true);
485
	}
486
 
22292 ashik.ali 487
}
488
 
22551 ashik.ali 489
 
22860 ashik.ali 490
function getSchemesNextItems(start, end){
491
	console.log(start);
492
	console.log(end);
493
	console.log(+end + +10);
494
	console.log(+start + +10);
23026 ashik.ali 495
	var response = doGetAjaxRequest(context+"/getPaginatedSchemes?offset="+end);
496
 
497
	$( "#schemes-paginated .end" ).text(+end + +10);
498
	$( "#schemes-paginated .start" ).text(+start + +10);
499
	var last = $( "#schemes-paginated .end" ).text();
500
	var temp = $( "#schemes-paginated .size" ).text();
501
	if (parseInt(last) >= parseInt(temp)){
502
		$("#schemes-paginated .next").prop('disabled', true);
503
		//$( "#good-inventory-paginated .end" ).text(temp);
22860 ashik.ali 504
	}
23026 ashik.ali 505
    $('#schemes-table').html(response);
506
    $('#scheme-details-container').html('');
507
    $("#schemes-paginated .previous").prop('disabled', false);
508
 
509
}
22551 ashik.ali 510
 
22860 ashik.ali 511
 
512
function getSchemesPreviousItems(start, end, pre){
23026 ashik.ali 513
 
514
	var response = doGetAjaxRequest(context+"/getPaginatedSchemes/?offset="+pre);
515
	$( "#schemes-paginated .end" ).text(+end - +10);
516
	$( "#schemes-paginated .start" ).text(+start - +10);
517
	$('#schemes-table').html(response);
518
	$('#scheme-details-container').html('');
519
	$("#schemes-paginated .next").prop('disabled', false);
520
	if (parseInt(pre)==0)
521
	{
522
		$("#schemes-paginated .previous").prop('disabled', true);
523
	}
524
 
22860 ashik.ali 525
}
526
 
527
 
528
 
22551 ashik.ali 529
function getWalletHistoryNextItems(start, end, startTime, endTime){
530
	console.log(start);
531
	console.log(end);
532
	console.log(+end + +10);
533
	console.log(+start + +10);
23026 ashik.ali 534
	var response = doGetAjaxRequest(context+"/getPaginatedWalletHistory?startTime="+startTime
535
	        +"&endTime="+endTime+"&offset="+end);
536
 
537
	$( "#wallet-history-paginated .end" ).text(+end + +10);
538
	$( "#wallet-history-paginated .start" ).text(+start + +10);
539
	var last = $( "#wallet-history-paginated .end" ).text();
540
	var temp = $( "#wallet-history-paginated .size" ).text();
541
	if (parseInt(last) >= parseInt(temp)){
542
		$("#wallet-history-paginated .next").prop('disabled', true);
543
		//$( "#good-inventory-paginated .end" ).text(temp);
22551 ashik.ali 544
	}
23026 ashik.ali 545
    $('#wallet-history-table').html(response);
546
    $("#wallet-history-paginated .previous").prop('disabled', false);
547
 
548
 
549
}
550
 
22860 ashik.ali 551
function getWalletHistoryPreviousItems(start, end, pre, startTime, endTime){
23026 ashik.ali 552
	var response = doGetAjaxRequest(context+"/getPaginatedWalletHistory?startTime="+startTime
553
	        +"&endTime="+endTime+"&offset="+pre);
554
 
555
	$( "#wallet-history-paginated .end" ).text(+end - +10);
556
	$( "#wallet-history-paginated .start" ).text(+start - +10);
557
	$('#wallet-history-table').html(response);
558
	$("#wallet-history-paginated .next").prop('disabled', false);
559
	if (parseInt(pre)==0)
560
	{
561
		$("#wallet-history-paginated .previous").prop('disabled', true);
562
	}
563
 
22551 ashik.ali 564
}
565
 
21987 kshitij.so 566
function loadGoodInventorySearchInfo(search_text){
567
	loadGoodInventory("main-content",search_text);
568
}
569
 
570
function loadGrnHistorySearchInfo(search_text,searchType,startTime,endTime){
571
	loadGrnHistory("main-content",search_text,searchType,startTime,endTime);
572
}
573
 
21627 kshitij.so 574
function findDuplicateSerialNumbers(value){
575
    var result = $("#grnImeiInformation :input[value='" + value + "']").length - 1;
576
    return result;
577
}
21987 kshitij.so 578
 
23026 ashik.ali 579
function loadGrnDetails(purchaseId, domId){
580
	var response = doGetAjaxRequest(context+"/grnHistoryDetailByPurchaseId/?purchaseId="+purchaseId);
581
	$('#' + domId).html(response);
582
	window.dispatchEvent(new Event('resize'));
21987 kshitij.so 583
}
584
 
22245 ashik.ali 585
function loadSaleDetails(orderId, domId){
23026 ashik.ali 586
 
587
	var response = doGetAjaxRequest(context+"/saleDetails?orderId="+orderId);
588
	$('#' + domId).html(response); 
22860 ashik.ali 589
}
590
 
591
function loadSchemeDetails(schemeId, domId){
23026 ashik.ali 592
	var response = doGetAjaxRequest(context+"/getSchemeById?schemeId="+schemeId);
593
	$('#' + domId).html(response);
594
	window.dispatchEvent(new Event('resize'));
22245 ashik.ali 595
}
596
 
22860 ashik.ali 597
function activeScheme(schemeId, offset, domId){
23026 ashik.ali 598
	var response = doPutAjaxRequest(context+"/activeSchemeById?schemeId="+schemeId
599
	        +"&offset="+offset);
600
	$('#' + domId).html(response);
601
	$('#scheme-details-container').html('');
22860 ashik.ali 602
}
603
 
604
function expireScheme(schemeId, offset, domId){
23026 ashik.ali 605
	var response = doPutAjaxRequest(context+"/expireSchemeById?schemeId="+schemeId
606
	        +"&offset="+offset);
607
	$('#' + domId).html(response);
608
	$('#scheme-details-container').html('');
22860 ashik.ali 609
}
610
 
23026 ashik.ali 611
function loadPendingGrnDetails(purchaseId, domId){
612
	var response = doGetAjaxRequest(context+"/purchaseByInvoiceNumber/?airwayBillOrInvoiceNumber="+purchaseId);
613
	$('#' + domId).html(response);
21987 kshitij.so 614
}
615
 
616
function getNextCatalogItems(start, end, searchText){
617
	console.log(start);
618
	console.log(end);
619
	console.log(+end + +10);
620
	console.log(+start + +10);
23026 ashik.ali 621
	var response = doGetAjaxRequest(context+"/getPaginatedCatalog/?offset="+end+"&searchTerm="+searchText);
622
 
623
	$( "#catalog-paginated .end" ).text(+end + +10);
624
	$( "#catalog-paginated .start" ).text(+start + +10);
625
	var last = $( "#catalog-paginated .end" ).text();
626
	var temp = $( "#catalog-paginated .size" ).text();
627
	if (parseInt(last) >= parseInt(temp)){
628
		$("#catalog-paginated .next").prop('disabled', true);
21987 kshitij.so 629
	}
23026 ashik.ali 630
    $('#catalog-table').html(response);
631
    $("#catalog-paginated .previous").prop('disabled', false);
632
 
633
}
634
 
21987 kshitij.so 635
function getPreviousCatalogItems(start,end,pre,searchText){
23026 ashik.ali 636
	var response = doGetAjaxRequest(context+"/getPaginatedCatalog/?offset="+pre+"&searchTerm="+searchText);
637
 
638
	$( "#catalog-paginated .end" ).text(+end - +10);
639
	$( "#catalog-paginated .start" ).text(+start - +10);
640
	$('#catalog-table').html(response);
641
	$("#catalog-paginated .next").prop('disabled', false);
642
	if (parseInt(pre)==0)
643
	{
644
		$("#catalog-paginated .previous").prop('disabled', true);
645
	}
21987 kshitij.so 646
}
647
 
648
function loadCatalogSearchInfo(search_text){
649
	loadCatalog("main-content",search_text);
650
}
651
 
652
function addItemInLocalStorage(bagObj){
653
	if (localStorage.getItem("bag")!=null){
654
		var bag = JSON.parse(localStorage.getItem("bag"));
655
		bag[bagObj.itemId] = bagObj
656
		localStorage.setItem("bag",JSON.stringify(bag));
657
		bag = localStorage.getItem("bag")
658
		$("#cart_bar").find('span').text(Object.keys(JSON.parse(bag)).length);
659
	}
660
	else{
661
		var tempObj = {};
662
		tempObj[bagObj.itemId] = bagObj
663
		localStorage.setItem("bag",JSON.stringify(tempObj));
664
		var bag = localStorage.getItem("bag")
665
		$("#cart_bar").find('span').text(Object.keys(JSON.parse(bag)).length);
666
	}
667
}
668
 
669
 
670
function changeQuantityInLocalStorage(itemId, newQuantity){
671
	var bag = JSON.parse(localStorage.getItem("bag"));
672
	bag[itemId].quantity = newQuantity;
673
	localStorage.setItem("bag",JSON.stringify(bag));
674
}
675
 
676
function removeItemFromLocalStorage(itemId){
677
	if (localStorage.getItem("bag")!=null){
678
		var bag = JSON.parse(localStorage.getItem("bag"));
679
		delete bag[itemId];
680
		localStorage.setItem("bag",JSON.stringify(bag));
681
		$("#cart_bar").find('span').text(Object.keys(bag).length);
682
	}
683
}
684
 
685
function emptyBag(){
22095 kshitij.so 686
	localStorage.setItem("bag",JSON.stringify({}));
21987 kshitij.so 687
	$("#cart_bar").find('span').text(0);
688
}
689
 
690
function loadCart(domId){
691
	jQuery.ajax({
692
        type : "POST",
693
        data: {"cartData":localStorage.getItem("bag")},
22090 amit.gupta 694
        url : context+"/cart",
21987 kshitij.so 695
        success : function(response) {
696
            $('#' + domId).html(response);
697
        }
698
    });  
699
}
700
 
22551 ashik.ali 701
function loadWallet(domId, startTime, endTime){
23026 ashik.ali 702
	var response = doGetAjaxRequest(context+"/walletDetails?startTime="+startTime
703
	        +"&endTime="+endTime);
704
	$('#' + domId).html(response);   
22551 ashik.ali 705
}
706
 
21987 kshitij.so 707
function checkout(domId){
708
	jQuery.ajax({
22095 kshitij.so 709
        type : "GET",
21987 kshitij.so 710
        data: {"cartData":localStorage.getItem("bag")},
22090 amit.gupta 711
        url : context+"/validate-cart",
21987 kshitij.so 712
        success : function(response) {
713
        	var obj = JSON.parse(response);
714
        	redirectCart(obj.redirectUrl, obj.params, obj.method, "main-content");
22095 kshitij.so 715
        	$('#main-content').html(response);
21987 kshitij.so 716
        }
22245 ashik.ali 717
    });
21987 kshitij.so 718
}
719
 
22860 ashik.ali 720
function loadScheme(domId){
23026 ashik.ali 721
	var response = doGetAjaxRequest(context+"/createScheme");
722
	$('#' + domId).html(response); 
723
}
724
 
725
function loadItemLedgerReportDownloadPage(domId){
726
	var response = doGetAjaxRequest(context+"/itemLedger/downloadPage");
727
	$('#' + domId).html(response); 
728
}
729
 
730
function loadItemsDescriptionByBrand(domId, brand){
731
	var response = doGetAjaxRequest(context+"/getItemsByBrand?brand="+brand);
732
	$('#' + domId).html(response);
733
	configureItemsDescriptionDropDown();
734
}
735
 
736
function configureItemsDescriptionDropDown(){
737
	$(document).ready(function() {
738
        $('#itemsDescription').multiselect({
739
        	includeSelectAllOption: true,
740
        	maxHeight: 200,
741
        	buttonWidth: '180px',
742
        	numberDisplayed: 1,
743
        	nonSelectedText: 'Items',
744
        	nSelectedText: ' - Items Selected',
745
        	allSelectedText: 'All Items Selected',
746
        	enableFiltering: true
747
        });
22860 ashik.ali 748
    });
749
}
750
 
22982 ashik.ali 751
function retailerInfo(domId){
23026 ashik.ali 752
	var response = doGetAjaxRequest(context+"/retailerInfo");
753
	$('#' + domId).html(response); 
22982 ashik.ali 754
}
755
 
21987 kshitij.so 756
function redirectCart(url, cartData, method, domId){
757
	jQuery.ajax({
758
        type : method,
759
        data: {"cartData":cartData},
760
        url : context+url,
761
        success : function(response) {
762
            $('#' + domId).html(response);
763
            window.dispatchEvent(new Event('resize'));
764
        }
765
    });  
766
}
767
 
22245 ashik.ali 768
function saleHistory(domId, invoiceNumber, searchType, startTime, endTime){
23026 ashik.ali 769
	var response = doGetAjaxRequest(context+"/saleHistory?invoiceNumber="+invoiceNumber+"&searchType="+searchType
770
	        +"&startTime="+startTime
771
	        +"&endTime="+endTime);
772
	$('#' + domId).html(response);   
22245 ashik.ali 773
}
774
 
22860 ashik.ali 775
function schemes(domId){
23026 ashik.ali 776
	var response = doGetAjaxRequest(context+"/getSchemes");
777
	$('#' + domId).html(response);   
22860 ashik.ali 778
}
22354 ashik.ali 779
 
23026 ashik.ali 780
function loadSchemesDownloadPage(domId){
781
	var response = doGetAjaxRequest(context+"/schemes/downloadPage");
782
	$('#' + domId).html(response); 
783
}
22860 ashik.ali 784
 
23026 ashik.ali 785
 
22354 ashik.ali 786
function contactUs(domId){
23026 ashik.ali 787
	var response = doGetAjaxRequest(context+"/contactUs");
788
	$('#' + domId).html(response); 
22354 ashik.ali 789
}
790
 
791
function writeOldCustomerDetailsByMobileNumber(mobileNumber){
23026 ashik.ali 792
	var response = doGetAjaxRequest(context+"/customer/mobileNumber?mobileNumber="+mobileNumber);
793
 
794
	var customer = response.response;
795
    $('#firstName').attr('value', customer.firstName);
796
    $('#lastName').attr('value', customer.lastName);
797
    $('#email').attr('value', customer.emailId);
798
    //$('#phone').attr('value', customer.mobileNumber);
799
    $('#alternatePhone').attr('value', customer.address.phoneNumber);
800
    $('#line1').attr('value', customer.address.line1);
801
    $('#line2').attr('value', customer.address.line2);
802
    $('#landmark').attr('value', customer.address.landmark);
803
    $('#pinCode').attr('value', customer.address.pinCode);
804
    $('#city').attr('value', customer.address.city);
805
    $('#state').attr('value', customer.address.state).prop('selected',true);
806
    //$('#state').val(customer.address.state).prop('selected', true);
807
    $('#phone').attr('addressId', customer.address.id);
22354 ashik.ali 808
}
809
 
22283 ashik.ali 810
function saleHistorySearchInfo(search_text, searchType, startTime, endTime){
811
	saleHistory("main-content", search_text, searchType, startTime, endTime);
812
}
22245 ashik.ali 813
 
22551 ashik.ali 814
function walletHistoryDateSearchSearchInfo(startTime, endTime){
815
 
816
}
22283 ashik.ali 817
 
22551 ashik.ali 818
 
23026 ashik.ali 819
 
21987 kshitij.so 820
function validateOrderDetails(){
821
	var sNumbers = [];
822
	var error = false;
823
	$("form#cd input.serialNumber").each(function(){
824
		var input = $(this).val().trim();
22245 ashik.ali 825
		var itemType = $(this).attr("itemType");
21987 kshitij.so 826
		$(this).removeClass("border-highlight");
22245 ashik.ali 827
		if (sNumbers.indexOf(input) !=-1 || (itemType ==='SERIALIZED' && !input)){
21987 kshitij.so 828
			error = true;
829
			$(this).addClass("border-highlight");
830
		}
831
		sNumbers.push(input);
832
	});
833
 
834
	$("form#cd input.unitPrice").each(function(){
835
		var input = $(this).val().trim();
836
		$(this).removeClass("border-highlight");
837
		if (!input || parseInt(input)<=0 || isNaN(input)){
838
			error=true;
839
			$(this).addClass("border-highlight");
840
		}
841
	});
842
 
22581 ashik.ali 843
	// checking input discountAmount is not greater than maxDiscountAmount
844
	$("form#cd input.discountAmount").each(function(){
845
		var input = $(this).val().trim();
846
		var mop = $(this).attr("mop");
22860 ashik.ali 847
 
22581 ashik.ali 848
		if(mop){
22860 ashik.ali 849
			var maxDiscountPriceRangeString = $(this).attr("placeholder");
850
			var maxDiscountPrice = 0;
851
			if(maxDiscountPriceRangeString != undefined && maxDiscountPriceRangeString != ''){
852
				maxDiscountPrice = maxDiscountPriceRangeString.substring(6);
853
			}
22581 ashik.ali 854
			$(this).removeClass("border-highlight");
855
			if (!input || parseFloat(input)<0 || isNaN(input)){
856
				alert("DiscountAmount value can not be lesser than 0 or invalid value");
857
				error=true;
858
				$(this).addClass("border-highlight");
859
			}
860
			if(parseFloat(input) > maxDiscountPrice){
22655 ashik.ali 861
				alert("DiscountAmount [" + parseFloat(input) + "] value can not be greater than the suggested maxDiscountPrice [" + maxDiscountPrice + "]");
22581 ashik.ali 862
				error=true;
863
				$(this).addClass("border-highlight");
864
			}
865
		}
866
	});
867
 
21987 kshitij.so 868
	var amount = 0;
869
	var netPayableAmount = parseFloat($("form#cd input.netPayableAmount").val());
870
 
871
 
872
	$("form#cd input.amount").each(function(){
22354 ashik.ali 873
		if ($(this).val() == ""){
21987 kshitij.so 874
			$(this).val(0);
875
		}
876
		var tmpAmount = parseFloat($(this).val());
877
		amount = amount + tmpAmount;
878
	});
879
 
880
	console.log(amount);
881
	console.log(netPayableAmount);
882
 
22354 ashik.ali 883
	if (amount != netPayableAmount){
884
		if(amount < netPayableAmount){
885
			alert("[" + (netPayableAmount - amount) + "] is more required to complete the payment");
886
		}else{
887
			alert("[" + (amount - netPayableAmount) + "] is extra amount, please reduce the amount");
888
		}
889
		$("form#cd input.netPayableAmount").each(function(){
890
			$(this).addClass("border-highlight");
891
		});
21987 kshitij.so 892
		error = true;
893
	}
894
 
895
	if (error){
896
		return false;
897
	}
898
	return true;
899
 
900
}
901
 
22860 ashik.ali 902
function validateSchemeDetails(){
903
	console.log("validating Scheme Details...");
904
	var error = false;
905
	var name = $("form#create-scheme-form input[name=schemeName]").val();
906
	console.log("schemeName = " + name);
907
	$("#schemeName").removeClass("border-highlight");
908
	if(name = ""){
909
		alert("Name is required");
910
		$("#schemeName").addClass("border-highlight");
911
		error = true;
912
		return error;
913
	}
914
	var schemeType = $("#schemeType option:selected").val();
915
	console.log("schemeType = " + schemeType);
916
	$("#schemeType").removeClass("border-highlight");
917
	if(schemeType = ""){
918
		alert("Please choose Scheme Type");
919
		$("#schemeType").addClass("border-highlight");
920
		error = true;
921
		return error;
922
	}
923
	var amountType = $("#amountType option:selected").val();
924
	console.log("amountType = " + amountType);
925
	$("#amountType").removeClass("border-highlight");
926
	if(amountType = ""){
927
		alert("Please choose Amount Type");
928
		$("#amountType").addClass("border-highlight");
929
		error = true;
930
		return error;
931
	}
932
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
933
	console.log("amount = " + amount);
934
	$("#schemeAmount").removeClass("border-highlight");
935
	if (amount == ""){
936
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
937
	}else if(amount <= 0){
938
		alert("Amount should be greater than 0");
939
		$("#schemeAmount").addClass("border-highlight");
940
		error = true;
941
		return error;
942
	}
943
 
944
 
23026 ashik.ali 945
	var startEndDateTime = $("form#create-scheme-form input[name=startEndDateTime]").val().split("-");
946
	var startDateTimeString = $.trim(startEndDateTime[0]);
947
	console.log("startDateTimeString : "+startDateTimeString);
948
	var endDateTimeString = $.trim(startEndDateTime[1]);
949
	console.log("endDateTimeString : "+endDateTimeString);
950
	$("#startEndDateTime").removeClass("border-highlight");
951
 
952
 
953
	if(Date.parse(endDateTimeString) < Date.parse(startDateTimeString)){
954
		alert("End date Time [" + endDateTimeString + "] can not be greater than equal to Start date Time [" + startDateTimeString + "]");
955
		$("#startEndDateTime").addClass("border-highlight");
22860 ashik.ali 956
		error = true;
957
		return error;
958
	}
959
 
23026 ashik.ali 960
	//$('#brand-value').text($(this).text());
961
	$("#brand-value").removeClass("border-highlight");
962
	if($("#brand-value").text() == "Brands"){
963
		alert("Please choose Brand");
964
		$("#brand-value").addClass("border-highlight");
22860 ashik.ali 965
		error = true;
966
		return error;
967
	}
968
 
23026 ashik.ali 969
	$("#itemsDescription").removeClass("border-hightlight");
970
	var itemIdsString = $("#itemsDescription").val();
971
	if(itemIdsString == null){
972
		alert("Please choose items");
973
		$("#itemsDescription").addClass("border-highlight");
974
		error = true;
975
		return error;
976
	}
977
 
22860 ashik.ali 978
	var retailerIdsString = $("#retailerIds").val();
979
	if(retailerIdsString != undefined){
980
		var retailerIdsPattern = "^[0-9]{1,10}(?:,[0-9]{1,10})*$";
981
		if(retailerIdsString.match(retailerIdsPattern) == null){
982
			alert("Invalid retailerIds["+retailerIdsString+"] pattern");
983
			$("#retailerIds").addClass("border-highlight");
984
			error = true;
985
			return error;
986
		}
987
	}
988
 
989
	console.log("validation scheme error = " + error);
990
	return error;
991
}
992
 
23026 ashik.ali 993
function validateRetailerDetails(){
994
	console.log("validating Retailer Details...");
995
	var error = false;
996
	var retailerName = $("form#update-retailer-details-form input[name=retailerName]").val();
997
	console.log("retailerName = " + retailerName);
998
	$("#retailerName").removeClass("border-highlight");
999
	if(retailerName == ""){
1000
		alert("Retailer Name is required");
1001
		$("#retailerName").addClass("border-highlight");
1002
		error = true;
1003
		return error;
1004
	}
1005
 
1006
	var retailerNumber = $("form#update-retailer-details-form input[name=retailerNumber]").val();
1007
	console.log("retailerNumber = " + retailerNumber);
1008
	$("#retailerNumber").removeClass("border-highlight");
1009
	if(retailerNumber == ""){
1010
		alert("Retailer Number is required");
1011
		$("#retailerNumber").addClass("border-highlight");
1012
		error = true;
1013
		return error;
1014
	}
1015
 
1016
	var fileSelector = $('#retailerDocument')[0];
1017
	if(fileSelector != undefined && fileSelector.files[0] == undefined){
1018
		alert("Retailer Document is required");
1019
		error = true;
1020
		return error;
1021
	}
1022
 
1023
	var retailerAddressName = $("form#update-retailer-details-form input[name=retailerAddressName]").val();
1024
	console.log("retailerAddressName = " + retailerAddressName);
1025
	$("#retailerAddressName").removeClass("border-highlight");
1026
	if(retailerAddressName == ""){
1027
		alert("Retailer Address Name is required");
1028
		$("#retailerAddressName").addClass("border-highlight");
1029
		error = true;
1030
		return error;
1031
	}
1032
 
1033
	var retailerAddressLine1 = $("form#update-retailer-details-form input[name=retailerAddressLine1]").val();
1034
	console.log("retailerAddressLine1 = " + retailerAddressLine1);
1035
	$("#retailerAddressLine1").removeClass("border-highlight");
1036
	if(retailerAddressLine1 == ""){
1037
		alert("Retailer Address Line1 is required");
1038
		$("#retailerAddressLine1").addClass("border-highlight");
1039
		error = true;
1040
		return error;
1041
	}
1042
 
1043
	var retailerAddressLine2 = $("form#update-retailer-details-form input[name=retailerAddressLine2]").val();
1044
	console.log("retailerAddressLine2 = " + retailerAddressLine2);
1045
	$("#retailerAddressLine2").removeClass("border-highlight");
1046
	if(retailerAddressLine2 == ""){
1047
		alert("Retailer Address Line2 is required");
1048
		$("#retailerAddressLine2").addClass("border-highlight");
1049
		error = true;
1050
		return error;
1051
	}
1052
 
1053
	var retailerAddressCity = $("form#update-retailer-details-form input[name=retailerAddressCity]").val();
1054
	console.log("retailerAddressCity = " + retailerAddressCity);
1055
	$("#retailerAddressCity").removeClass("border-highlight");
1056
	if(retailerAddressCity == ""){
1057
		alert("Retailer Address City is required");
1058
		$("#retailerAddressCity").addClass("border-highlight");
1059
		error = true;
1060
		return error;
1061
	}
1062
 
1063
	var retailerAddressPinCode = $("form#update-retailer-details-form input[name=retailerAddressPinCode]").val();
1064
	console.log("retailerAddressPinCode = " + retailerAddressPinCode);
1065
	$("#retailerAddressPinCode").removeClass("border-highlight");
1066
	if(retailerAddressPinCode == ""){
1067
		alert("Retailer Address Pin Code is required");
1068
		$("#retailerAddressPinCode").addClass("border-highlight");
1069
		error = true;
1070
		return error;
1071
	}
1072
 
1073
	var retailerAddressState = $("form#update-retailer-details-form input[name=retailerAddressState]").val();
1074
	console.log("retailerAddressState = " + retailerAddressState);
1075
	$("#retailerAddressState").removeClass("border-highlight");
1076
	if(retailerAddressState == ""){
1077
		alert("Retailer Address State is required");
1078
		$("#retailerAddressState").addClass("border-highlight");
1079
		error = true;
1080
		return error;
1081
	}
1082
 
1083
 
1084
	//start from here
1085
	var shopDetailsSize = $("#shopDetailsSize").attr("size");
1086
	for(var i = 0; i < shopDetailsSize; i++){
1087
		var shopName = $("form#update-retailer-details-form input[name=shopName"+i+"]").val();
1088
		$("form#update-retailer-details-form input[name=shopName"+i+"]").removeClass("border-highlight");
1089
		if(shopName == ""){
1090
			alert("Shop Name is required");
1091
			$("form#update-retailer-details-form input[name=shopName"+i+"]").addClass("border-highlight");
1092
			error = true;
1093
			return error;
1094
		}
1095
		var fileSelector = $('#retailerShopDocument'+i)[0];
1096
		if(fileSelector != undefined && fileSelector.files[0] == undefined){
1097
			alert("Retailer Shop Document is required");
1098
			error = true;
1099
			return error;
1100
		}
1101
		var shopAddressName = $("form#update-retailer-details-form input[name=shopAddressName"+i+"]").val();
1102
		$("form#update-retailer-details-form input[name=shopAddressName"+i+"]").removeClass("border-highlight");
1103
		if(shopAddressName == ""){
1104
			alert("Shop Address Name is required");
1105
			$("form#update-retailer-details-form input[name=shopAddressName"+i+"]").addClass("border-highlight");
1106
			error = true;
1107
			return error;
1108
		}
1109
		var shopAddressLine1 = $("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").val();
1110
		$("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").removeClass("border-highlight");
1111
		if(shopAddressLine1 == ""){
1112
			alert("Shop Address Line1 is required");
1113
			$("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").addClass("border-highlight");
1114
			error = true;
1115
			return error;
1116
		}
1117
		var shopAddressLine2 = $("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").val();
1118
		$("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").removeClass("border-highlight");
1119
		if(shopAddressLine2 == ""){
1120
			alert("Shop Address Line2 is required");
1121
			$("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").addClass("border-highlight");
1122
			error = true;
1123
			return error;
1124
		}
1125
		var shopAddressCity = $("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").val();
1126
		$("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").removeClass("border-highlight");
1127
		if(shopAddressCity == ""){
1128
			alert("Shop Address City is required");
1129
			$("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").addClass("border-highlight");
1130
			error = true;
1131
			return error;
1132
		}
1133
		var shopAddressPinCode = $("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").val();
1134
		$("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").removeClass("border-highlight");
1135
		if(shopAddressPinCode == ""){
1136
			alert("Shop Address is Pin Code required");
1137
			$("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").addClass("border-highlight");
1138
			error = true;
1139
			return error;
1140
		}
1141
		var shopAddressState = $("form#update-retailer-details-form input[name=shopAddressState"+i+"]").val();
1142
		$("form#update-retailer-details-form input[name=shopAddressState"+i+"]").removeClass("border-highlight");
1143
		if(shopAddressState == ""){
1144
			alert("Shop Address State is required");
1145
			$("form#update-retailer-details-form input[name=shopAddressState"+i+"]").addClass("border-highlight");
1146
			error = true;
1147
			return error;
1148
		}
1149
	}
1150
 
1151
	console.log("validation retailer details error = " + error);
1152
	return error;
1153
}
1154
 
1155
 
1156
function retailerDetailsJson(){
1157
	console.log("retailerDetailsJson")
1158
	var retailerDetailsObject = {};
1159
	retailerDetailsObject['emailIdOrMobileNumber'] = $('#retailer-details-search-text').val();
1160
	retailerDetailsObject['name'] = $("form#update-retailer-details-form input[name=retailerName]").val();
1161
	retailerDetailsObject['number'] = $("form#update-retailer-details-form input[name=retailerNumber]").val();
1162
 
1163
	var fileSelector = $('#retailerDocument')[0];
1164
	if(fileSelector != undefined && fileSelector.files[0] != undefined){
1165
		var documentId = uploadDocument(fileSelector.files[0]);
1166
		retailerDetailsObject['documentId'] = documentId;
1167
	}else{
1168
		retailerDetailsObject['documentId'] = 0;
1169
	}
1170
 
1171
	//retailerDetailsObject['file'] = $('#retailerDocument')[0].files[0];
1172
	var retailerAddressObject = {};
1173
	retailerAddressObject['name'] = $("form#update-retailer-details-form input[name=retailerAddressName]").val();
1174
	retailerAddressObject['line1'] = $("form#update-retailer-details-form input[name=retailerAddressLine1]").val();
1175
	retailerAddressObject['line2'] = $("form#update-retailer-details-form input[name=retailerAddressLine2]").val();
1176
	retailerAddressObject['city'] = $("form#update-retailer-details-form input[name=retailerAddressCity]").val();
1177
	retailerAddressObject['pinCode'] = $("form#update-retailer-details-form input[name=retailerAddressPinCode]").val();
1178
	retailerAddressObject['state'] = $("form#update-retailer-details-form input[name=retailerAddressState]").val();
1179
 
1180
	retailerDetailsObject['address'] = retailerAddressObject;
1181
 
1182
	retailerDetailsObject['shops'] = [];
1183
	var shopDetailsSize = $("#shopDetailsSize").attr("size");
1184
 
1185
	for(var i = 0; i < shopDetailsSize; i++){
1186
		var shopObject = {};
1187
		shopObject['shopId'] = $("form#update-retailer-details-form input[name=shopName"+i+"]").attr('shopId');
1188
		shopObject['name'] = $("form#update-retailer-details-form input[name=shopName"+i+"]").val();
1189
 
1190
		var fileSelector = $('#retailerShopDocument'+i)[0];
1191
		if(fileSelector != undefined && fileSelector.files[0] != undefined){
1192
			var documentId = uploadDocument(fileSelector.files[0]);
1193
			shopObject['documentId'] = documentId;
1194
		}else{
1195
			shopObject['documentId'] = 0;
1196
		}
1197
 
1198
		//shopObject['file'] = $('#retailerShopDocument'+i)[0].files[0];
1199
		var shopAddressObject = {};
1200
		shopAddressObject['name'] = $("form#update-retailer-details-form input[name=shopAddressName"+i+"]").val();
1201
		shopAddressObject['line1'] = $("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").val();
1202
		shopAddressObject['line2'] = $("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").val();
1203
		shopAddressObject['city'] = $("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").val();
1204
		shopAddressObject['pinCode'] = $("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").val();
1205
		shopAddressObject['state'] = $("form#update-retailer-details-form input[name=shopAddressState"+i+"]").val();
1206
		shopObject['address'] = shopAddressObject;
1207
		retailerDetailsObject['shops'].push(shopObject);
1208
	}
1209
 
1210
	return JSON.stringify(retailerDetailsObject);
1211
}
1212
 
22860 ashik.ali 1213
function schemeDetailsJson(){
1214
	console.log("schemeDetailsJson")
1215
	var schemeObject = {};
1216
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
1217
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
1218
	schemeObject['type'] = $("#schemeType option:selected").val();
1219
	schemeObject['amountType'] = $("#amountType option:selected").val();
1220
	schemeObject['amount'] = $('#schemeAmount').val();
23026 ashik.ali 1221
	var startEndDateTime = $("form#create-scheme-form input[name=startEndDateTime]").val().split("-");
1222
	var startDateTimeString = $.trim(startEndDateTime[0]);
1223
	console.log("startDateTimeString : "+startDateTimeString);
1224
	var endDateTimeString = $.trim(startEndDateTime[1]);
1225
	console.log("endDateTimeString : "+endDateTimeString);
1226
 
1227
	schemeObject['startDateTimeString'] = startDateTimeString;
1228
	schemeObject['endDateTimeString'] = endDateTimeString;
22860 ashik.ali 1229
	schemeObject['itemIds'] = [];
23026 ashik.ali 1230
	var itemIds = $("#itemsDescription").val();
1231
	//var itemIds = itemIdsString.substring(1, itemIdsString.length - 1).split(",");
1232
	for(var i = 0; i < itemIds.length; i++){
1233
		schemeObject['itemIds'].push(parseInt(itemIds[i]));
22860 ashik.ali 1234
	}
1235
	schemeObject['retailerAll'] = $("form#create-scheme-form input[name=retailerAll]").val();
1236
	if($("#retailerAll").val() == 'true'){
1237
		schemeObject['retailerIds'] = [];
1238
	}else{
1239
		schemeObject['retailerIds'] = []
1240
		var retailerIds = $("#retailerIds").val().split(",");
1241
		for(var retailerId of retailerIds){
1242
			schemeObject['retailerIds'].push(parseInt(retailerId));
1243
		}
1244
	}
1245
	return JSON.stringify(schemeObject);
1246
}
1247
 
22681 amit.gupta 1248
function getSerialNumbersFromOrder($el){
1249
	var $serialNumberElement = $el.find('.serialNumber');
22860 ashik.ali 1250
	if($serialNumberElement.val() == ''){
1251
		return null;
1252
	}
22681 amit.gupta 1253
	var insuranceAmount = parseFloat($el.find('.insuranceAmount').val());
1254
	if(insuranceAmount > 0){
1255
		insurance = true;
1256
		globalInsurace = true;
1257
	}else{
1258
		insurance = false;
1259
	}
1260
	return {'serialNumber':$serialNumberElement.val(),'insurance':insurance,'amount':insuranceAmount}
1261
}
1262
 
21987 kshitij.so 1263
function orderDetailsPayload(){
1264
		var orderObj = {};
1265
		var priceQtyArray = [];
1266
		var customerObj = {};
1267
		var paymentOption = [];
22860 ashik.ali 1268
		var globalInsurance = false;
21987 kshitij.so 1269
 
1270
		$("form#cd input.serialNumber").each(function(){
1271
			var itemId = parseInt($(this).attr("itemId"));
22860 ashik.ali 1272
			if (orderObj.hasOwnProperty('fofoOrderItems')){
1273
				var itemDetails = orderObj['fofoOrderItems'];
21987 kshitij.so 1274
				if (itemDetails.hasOwnProperty(itemId)){
1275
					var serialNumbers = itemDetails[itemId];
1276
					serialNumbers.push($(this).val());
1277
					itemDetails[itemId] = serialNumbers;
22245 ashik.ali 1278
				}else{
21987 kshitij.so 1279
					var serialNumbers = [];
1280
					serialNumbers.push($(this).val());
1281
					itemDetails[itemId] = serialNumbers;
1282
				}
22245 ashik.ali 1283
			}else{
21987 kshitij.so 1284
				var serialNumbers = [];
1285
				serialNumbers.push($(this).val());
1286
				var tmp ={};
1287
				tmp[itemId]  = serialNumbers;
22860 ashik.ali 1288
				orderObj['fofoOrderItems'] = tmp;
21987 kshitij.so 1289
			}
1290
		});
1291
		console.log( JSON.stringify(orderObj));
22581 ashik.ali 1292
		$("#order-details").find("tr:not(:first-child)").each(function(index, el){
1293
			//console.log(el);
1294
			//console.log(index);
22681 amit.gupta 1295
			var $el = $(el);
1296
			var $unitPriceElement = $el.find('.unitPrice');
1297
			var $discountAmountElement = $el.find('.discountAmount');
22581 ashik.ali 1298
 
1299
			var itemId = parseInt($unitPriceElement.attr("itemId"));
1300
			var unitPrice = parseFloat($unitPriceElement.val());
1301
			var qty = parseInt($unitPriceElement.attr("quantity"));
1302
			var discountAmount = parseFloat($discountAmountElement.val());
1303
			var mop = $discountAmountElement.attr("mop");
1304
			var tmpObj = {'itemId':itemId,'sellingPrice':unitPrice,'quantity':qty};
1305
			tmpObj.discountAmount = discountAmount;
22860 ashik.ali 1306
			/*tmpObj['serialNumberDetails'] = [];
1307
			var found = false;
1308
			for(var i = 0; i < priceQtyArray.length; i++){			
1309
				if (priceQtyArray[i]["itemId"] == itemId){
1310
					found = true;
1311
					break;
1312
				}
1313
			}
1314
			if(!found){
1315
				priceQtyArray.push(tmpObj);
1316
			}else{
1317
				for(var i = 0; i < priceQtyArray.length; i++){			
1318
					if (priceQtyArray[i]["itemId"] == itemId){
1319
						priceQtyArray[i]["quantity"] = priceQtyArray[i]["quantity"] + 1;
1320
						break;
1321
					}
1322
				}
1323
			}
1324
			var serialNumberDetails = getSerialNumbersFromOrder($el);
1325
			if(serialNumberDetails != null){
1326
				for(var i = 0; i < priceQtyArray.length; i++){			
1327
					if (priceQtyArray[i]["itemId"] == itemId){
1328
						priceQtyArray[i]["serialNumberDetails"].push(serialNumberDetails);
1329
						break;
1330
					}
1331
				}
1332
			}
1333
		});*/
22581 ashik.ali 1334
 
22860 ashik.ali 1335
			if (orderObj['fofoOrderItems'][itemId] === undefined){
1336
				tmpObj['serialNumberDetails'] =[];
1337
			}
1338
			else{
1339
				//tmpObj['serialNumbers'] = orderObj['fofoLineItems'][itemId];
1340
				tmpObj['serialNumberDetails'] = [];
1341
			}
1342
			var found = false;
1343
			for(var i = 0; i < priceQtyArray.length; i++){			
1344
				if (priceQtyArray[i]["itemId"] == itemId){
1345
					priceQtyArray[i]["quantity"] = priceQtyArray[i]["quantity"] + 1;
1346
					found = true;
1347
					break;
1348
				}
1349
			}
1350
			if(!found){
1351
				priceQtyArray.push(tmpObj);
1352
			}
21987 kshitij.so 1353
		});
1354
 
22860 ashik.ali 1355
 
1356
		$("#order-details").find("tr:not(:first-child)").each(function(index,el){
1357
			//console.log(el);
1358
			//console.log(index);
1359
			var $serialNumberElement = $(el).find('.serialNumber');
1360
			var itemId = parseInt($serialNumberElement.attr("itemId"));
1361
			var insuranceAmount = parseFloat($(el).find('.insuranceAmount').val());
1362
			//if (priceQtyArray['fofoLineItems'][itemId] !=undefined){
1363
 
1364
			//}
1365
			//console.log($serialNumberElement.val());
1366
			//console.log(itemId);
1367
			for(var i = 0; i < priceQtyArray.length; i++){
1368
				console.log(priceQtyArray[i]["itemId"]);
1369
				if (priceQtyArray[i]["itemId"] == itemId){
1370
					if(insuranceAmount > 0){
1371
						insurance = true;
1372
						globalInsurance = true;
1373
					}else{
1374
						insurance = false;
1375
					}
1376
					var serialNumberDetails = {'serialNumber':$serialNumberElement.val(),'insurance':insurance,'amount':insuranceAmount}
1377
					priceQtyArray[i]['serialNumberDetails'].push(serialNumberDetails);
1378
				}
1379
            }
1380
		});
1381
 
22245 ashik.ali 1382
		console.log("priceQtyArray : "+JSON.stringify(priceQtyArray));
1383
		customerObj['firstName'] = $("form#cd input[name=firstName]").val();
1384
		customerObj['lastName'] = $("form#cd input[name=lastName]").val();
21987 kshitij.so 1385
		customerObj['mobileNumber'] = $("form#cd input[name=phone]").val(); 
1386
		customerObj['emailId'] = $("form#cd input[name=email]").val();
22594 ashik.ali 1387
		customerObj['dateOfBirth'] = $("form#cd input[name=dateOfBirth]").val();
21987 kshitij.so 1388
		var customerAddress = {};
22245 ashik.ali 1389
		customerAddress['name'] = $("form#cd input[name=firstName]").val() + " " + $("form#cd input[name=lastName]").val();
21987 kshitij.so 1390
		customerAddress['line1'] = $("form#cd input[name=line1]").val();
1391
		customerAddress['line2'] = $("form#cd input[name=line2]").val();
1392
		customerAddress['landmark'] = $("form#cd input[name=landmark]").val();
1393
		customerAddress['city'] = $("form#cd input[name=city]").val();
1394
		customerAddress['state'] = $('select[name=state] option:selected').val();
22245 ashik.ali 1395
		customerAddress['pinCode'] = $("form#cd input[name=pinCode]").val();
21987 kshitij.so 1396
		customerAddress['phoneNumber'] = $("form#cd input[name=alternatePhone]").val();
1397
		customerAddress['country'] = "India";
22860 ashik.ali 1398
		customerObj['customerAddressId'] = parseInt($("form#cd input[name=phone]").attr("addressId"));
21987 kshitij.so 1399
		customerObj['address'] = customerAddress; 
1400
		console.log( JSON.stringify(customerObj));
1401
		$("#payment-details input").each(function(){
1402
		console.log($(this).attr('name'));
1403
		if ($(this).attr('name') =="" ){
1404
			return;
1405
		}
1406
		var paymentObj = {};
1407
		paymentObj['type'] = $(this).attr('name');
1408
		if ($(this).val() == ""){
1409
			paymentObj['amount'] = 0.0;
1410
		}
1411
		else{
1412
			paymentObj['amount'] = parseFloat($(this).val());
1413
		}
1414
		paymentOption.push(paymentObj);
1415
		});
1416
		console.log( JSON.stringify(paymentOption));
1417
 
1418
		var retObj = {};
22254 ashik.ali 1419
		var dateOfBirth = $("form#cd input[name=dateOfBirth]").val();
22860 ashik.ali 1420
		if(globalInsurance){
22681 amit.gupta 1421
			retObj['customerDateOfBirth'] = (dateOfBirth);
22254 ashik.ali 1422
		}
22860 ashik.ali 1423
		retObj['fofoOrderItems'] = (priceQtyArray);
21987 kshitij.so 1424
		retObj['customer'] = (customerObj);
1425
		retObj['paymentOptions'] =  (paymentOption);
22254 ashik.ali 1426
 
21987 kshitij.so 1427
		console.log(retObj);
1428
		return  JSON.stringify(retObj);
23026 ashik.ali 1429
}