Subversion Repositories SmartDukaan

Rev

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