Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
32145 tejbeer 1
$(function() {
2
	$(document).on('click', ".warehouse-create-purchase-order", function() {
3
		loadCreatePurchase("main-content");
4
	});
5
 
6
 
32192 tejbeer 7
	$(document).on('click', ".warehouse-receive-new-invoice", function() {
8
		loadNewReceiveInvoice("main-content");
9
	});
32145 tejbeer 10
 
32192 tejbeer 11
 
12
 
13
 
32256 tejbeer 14
	$(document).on('click', ".warehouse-grn-request", function() {
15
		loadGrnRequest("main-content");
16
	});
32192 tejbeer 17
 
32256 tejbeer 18
	$(document).on('click', ".warehouse-debit-note", function() {
19
		loadDebitNote("main-content");
20
	});
32192 tejbeer 21
 
22
 
32256 tejbeer 23
 
32192 tejbeer 24
	$(document)
25
		.on(
26
			'input',
27
			'#invoice',
28
			function() {
29
				if (confirm('Document has been selected, Do you want to upload ?')) {
30
					var fileSelector = $('#invoice')[0];
31
					if (fileSelector != undefined
32
						&& fileSelector.files[0] != undefined) {
33
						var url = context + '/document-upload';
34
 
35
						console.log(url);
36
						var file = this.files[0];
37
						doAjaxUploadRequestHandler(
38
							url,
39
							'POST',
40
							file,
41
							function(response) {
42
								console.log(response);
43
								var documentId = response.response.document_id;
44
								console.log("documentId : "
45
									+ documentId);
46
								$("#invoicehidden").val(documentId);
47
							});
48
 
49
					}
50
				} else {
51
					// Do nothing!
52
				}
53
			});
54
 
55
	$(document).on('click', ".createReceiveInvoice", function() {
56
 
57
		var invoiceDate = $('#actualDate').val();
58
 
59
		var warehouseId = $('#warehouseMap').val();
60
 
61
		var numItems = $('#numberofItems').val();
62
 
63
		var receivedBy = $('#authUser').val();
64
 
65
		var supplierId = $('#vendorId').val();
66
 
67
		var totalValue = $('#totalValue').val();
68
 
69
		var invoiceNumber = $('#invoiceNumber').val();
70
 
71
 
72
		var invoiceDoc = $("#invoicehidden").val();
73
 
74
 
75
		console.log(invoiceDoc)
76
 
77
 
78
		if (invoiceDate === "" && warehouseId === "" && numItems === "" && receivedBy === "" && supplierId === "" && totalValue === "" && invoiceNumber === "" && invoiceDoc === "") {
79
			alert("Field can't be empty");
80
			return false;
81
		}
82
 
83
 
84
		if (invoiceDate === "") {
85
			alert("please select date");
86
			return false;
87
		}
88
		if (warehouseId === "") {
89
			alert("please choose warehouse");
90
			return false;
91
		}
92
 
93
		if (numItems === "") {
94
			alert("please fill number of items.");
95
			return false;
96
		}
97
		if (receivedBy === "") {
98
			alert("please choose received by  user");
99
			return false;
100
		}
101
 
102
		if (supplierId === "") {
103
			alert("please choose supplier");
104
			return false;
105
		}
106
 
107
 
108
 
109
		if (totalValue === "") {
110
			alert("please fill Total Value.");
111
			return false;
112
		}
113
 
114
		if (invoiceNumber === "") {
115
			alert("please fill Invoice Number.");
116
			return false;
117
		}
118
 
119
 
120
		if (invoiceDoc === "") {
121
			alert("please upload invoice.");
122
			return false;
123
		}
124
		var newReceiveInvoice = {};
125
 
126
		newReceiveInvoice['invoiceDate'] = invoiceDate;
127
		newReceiveInvoice['warehouseId'] = warehouseId
128
		newReceiveInvoice['numItems'] = numItems
129
		newReceiveInvoice['receivedBy'] = receivedBy
130
		newReceiveInvoice['supplierId'] = supplierId
131
		newReceiveInvoice['totalValue'] = totalValue
132
		newReceiveInvoice['invoiceNumber'] = invoiceNumber
133
		newReceiveInvoice['invoiceDoc'] = invoiceDoc
134
 
135
		if (confirm("Are you sure you want to add new Invoice") == true) {
136
 
137
			doPostAjaxRequestWithJsonHandler(context
138
				+ "/newReceiveInvoice", JSON
139
					.stringify(newReceiveInvoice), function(response) {
140
						if (response == 'true') {
141
							alert("successfully added");
142
							loadNewReceiveInvoice("main-content");
143
						}
144
					});
145
		}
146
 
147
 
148
 
149
 
150
 
151
	});
152
 
153
 
154
 
32145 tejbeer 155
	$(document).on('click', ".purchaseorderitemview", function() {
156
 
157
		var vendorId = $('#vendorId').val();
158
		var warehouseId = $('#warehouseMap').val();
159
 
160
		console.log(warehouseId)
161
 
162
		if (warehouseId == null && vendorId === "") {
163
			alert("Field can't be empty");
164
			return;
165
		}
166
 
167
 
168
		if (warehouseId == null) {
169
			alert("please select warehouse");
170
			return;
171
		}
172
		if (vendorId === "") {
173
			alert("please select vendor");
174
			return;
175
		}
176
		doGetAjaxRequestHandler(context + "/addPurchaseItemView?warehouseId=" + warehouseId + "&vendorId=" + vendorId, function(response) {
177
			$(".createpurchaseordercontainer").html(response);
178
		});
179
	});
180
 
181
 
182
	$(document).on('click', ".addRowInPurchaseOrder", function() {
32192 tejbeer 183
 
184
 
185
		var purchaseItemIds = [];
186
		var totalQty = 0
187
 
188
		$("table > tbody > tr").each(function() {
189
			var itemId = $(this).find(".transferPrice").data('itemid');
190
			var qty = $(this).find(".qty").val();
191
 
192
			console.log(qty)
193
 
194
			if (qty != undefined) {
195
				totalQty += parseInt(qty)
196
			}
197
 
198
			console.log(totalQty)
199
 
200
 
201
			if (itemId != undefined) {
202
				purchaseItemIds.push(itemId)
203
			}
204
		});
205
 
32145 tejbeer 206
		var $html = $('<tr>  <td>  <input type="text" class="form-control typeaheaditem"   autocomplete="off"  placeholder="Search Model"/> </td> <td>  <input type="number" class="form-control qty"  name = "qty" placeholder="Quantity"/> </td><td>  <input type="number" class="form-control transferPrice"  disable placeholder="Transfer Price"/> </td>	<td>  <input type="number" class="form-control totalValue"  disable placeholder="Total Value"/> </td> <td> <input class="form-control btn btn-primary removeInPurchaseOrder" type="button" value="Remove"></td>  </tr> ');
207
 
32195 tejbeer 208
		var vendorId = $('#vendorId').val();
32145 tejbeer 209
 
32192 tejbeer 210
 
32195 tejbeer 211
		getVendorItemAheadOptions($html.find('.typeaheaditem'), vendorId, function(
32145 tejbeer 212
			selectedItem) {
213
			var itemId = selectedItem.itemId;
214
 
32192 tejbeer 215
			if (purchaseItemIds.indexOf(itemId) > -1) {
32145 tejbeer 216
				alert("item already selected");
217
				$html.find('.typeaheaditem').val("")
218
 
219
				return false;
220
			}
221
 
32192 tejbeer 222
			purchaseItemIds.push(itemId)
32145 tejbeer 223
 
224
 
225
 
226
			doGetAjaxRequestHandler(context + "/getPricing?vendorId=" + vendorId + "&itemId=" + itemId, function(response) {
227
				console.log(response)
228
				if (response != "null") {
229
					var jsonObj = JSON.parse(response);
230
 
231
					console.log(jsonObj)
232
					$html.find('.transferPrice').val(jsonObj.transferPrice)
233
 
234
					$html.find('.transferPrice').data('itemid', itemId)
235
				} else {
236
 
237
					console.log(response)
238
					$html.find('.typeaheaditem').val("")
239
 
240
				}
241
			});
242
 
243
		});
244
		$('tbody').append($html);
245
 
246
	});
247
 
248
	$(document).on('click', '.createSendPurchaseOrder', function() {
249
 
250
		createPurchase(true);
251
 
252
	});
253
 
254
 
255
	$(document).on('click', '.createPurchaseOrder', function() {
256
 
257
 
258
		createPurchase(false);
259
	});
260
 
261
 
262
	$(document).on('change', '.qty', function() {
263
 
264
 
265
		var row = $(this).closest("tr");
266
		var qty = $(row).find(".qty").val();
267
		var transferPrice = $(row).find(".transferPrice").val();
268
 
269
		var totalVal = transferPrice * qty;
270
 
271
		var totalValue = $(row).find(".totalValue").val(totalVal);
272
 
273
		var purchaseOrderValue = 0;
274
 
275
		$("table > tbody > tr").each(function() {
276
 
277
			var totalValue = $(this).find(".totalValue").val();
278
			purchaseOrderValue += totalValue
279
 
280
		});
281
 
282
	});
283
 
284
 
285
 
286
 
287
	$(document).on('click', '.warehouse-open-purchase-order', function() {
288
		loadOpenPurchase("main-content");
289
	});
290
 
291
 
292
 
293
	$(document).on('click', '.editViewPurchaseOrder', function() {
294
		var purchaseOrderId = $(this).data('poid');
295
		doGetAjaxRequestHandler(context + "/getEditPOByPurchaseId?purchaseId=" + purchaseOrderId, function(response) {
296
			$('#warehouseEditPurchaseContainer .modal-content').html(response);
297
		});
298
 
299
	});
300
 
301
	$(document).on('click', '.editPurchaseOrder', function() {
302
		var purchaseOrderId = $(this).data('poid');
303
 
32256 tejbeer 304
		editPurchase(false, purchaseOrderId);
32145 tejbeer 305
 
306
	});
307
 
308
 
309
	$(document).on('click', '.editSendPurchaseOrder', function() {
310
		var purchaseOrderId = $(this).data('poid');
311
 
312
 
32256 tejbeer 313
		editPurchase(true, purchaseOrderId);
32145 tejbeer 314
	});
315
 
316
	$(document).on('click', '.closePurchaseOrder', function() {
317
		var purchaseOrderId = $(this).data('poid');
318
		if (confirm("Are you sure you want to close the PO") == true) {
319
			doPostAjaxRequestHandler(context + "/closePuchaseOrder?purchaseId=" + purchaseOrderId,
320
				function(response) {
321
 
322
					console.log(response);
323
					if (response == 'true') {
324
						alert("successfully closed");
325
						loadOpenPurchase("main-content")
326
					}
327
				});
328
		}
329
	});
330
 
331
 
332
	$(document).on('click', '.warehouse-view-purchase-order', function() {
333
		doGetAjaxRequestHandler(context + "/viewPurchaseOrder", function(response) {
334
			$('#' + 'main-content').html(response);
335
		});
336
	});
337
 
338
 
339
 
32192 tejbeer 340
 
341
 
32145 tejbeer 342
	$(document).on('click', '.dateWisePo', function() {
343
 
344
		var startDate = getDatesFromPicker('input[name="duration"]').startDate;
345
		var endDate = getDatesFromPicker('input[name="duration"]').endDate
346
 
347
 
348
		doGetAjaxRequestHandler(context + "/getPurchaseOrders?startDate=" + startDate + "&endDate=" + endDate, function(response) {
349
			$('.purchaseorderviewcontainer').html(response);
350
 
351
		});
352
 
353
 
354
	});
355
 
356
 
357
 
358
	$(document).on('click', '.viewPurchaseOrderlineItem', function() {
359
		var purchaseOrderId = $(this).data('poid');
360
 
361
		doGetAjaxRequestHandler(context + "/getWarehouseLineItemByPurchaseId?purchaseId=" + purchaseOrderId, function(response) {
362
			$('#warehouseLineItem .modal-content').html(response);
363
 
364
		});
365
	});
366
 
367
 
368
 
32192 tejbeer 369
 
370
	$(document).on("click", '.removeInPurchaseOrder', function() {
371
 
372
		var row = $(this).closest("tr");
373
		row.remove();
374
	});
375
 
32256 tejbeer 376
 
377
 
378
 
379
 
380
 
32192 tejbeer 381
	$(document).on('click', ".addRowForInvoiceItem", function() {
382
 
383
		var numitems = $(this).data("numitems");
384
		var invoiceId = $(this).data("invoiceid");
385
 
386
 
387
		var invoiceItemIds = [];
388
		var totalQty = 0
389
 
390
		$("#invoice-order-table > tbody > tr").each(function() {
391
			var itemId = $(this).find(".rate").data('itemid');
392
			var qty = $(this).find(".qty").val();
393
 
394
			console.log(qty)
395
 
396
			if (qty != undefined) {
397
				totalQty += qty
398
			}
399
 
400
			console.log(totalQty)
401
 
402
 
403
			if (itemId != undefined) {
404
				invoiceItemIds.push(itemId)
405
			}
406
		});
407
 
408
		var $html = $('<tr>  <td>  <input type="text" class="form-control typeaheaditem"   autocomplete="off"  placeholder="Search Model"/> </td>' +
409
			'<td>  <input type="number" class="form-control qty"  name = "qty" placeholder="Quantity"/> </td>' +
410
			'<td>  <input type="number" class="form-control rate"  disable placeholder="Rate"/> </td>' +
411
			'<td> <input class="form-control btn btn-primary removeInInvoiceItem" type="button" value="Remove"></td>  </tr> ');
412
 
413
 
414
		getItemAheadOptions($html.find('.typeaheaditem'), true, function(
415
			selectedItem) {
416
			var itemId = selectedItem.itemId;
417
 
418
 
419
			console.log(invoiceItemIds)
420
 
421
			if (invoiceItemIds.indexOf(itemId) > -1) {
422
				alert("item already selected");
423
				$html.find('.typeaheaditem').val("")
424
 
425
				return false;
426
			}
427
			$html.find('.rate').data('itemid', itemId)
428
 
429
			$html.find('.removeInInvoiceItem').data('invoiceid', invoiceId)
430
			$html.find('.removeInInvoiceItem').data('itemid', itemId)
431
 
432
		});
433
 
434
 
435
		if (totalQty < numitems) {
436
 
437
			$('#invoice-order-table tbody').append($html);
438
		}
439
 
440
	});
441
 
442
 
443
 
444
 
445
 
446
	$(document).on('click', '.saveInvoiceDetail', function() {
447
 
448
		var numItems = $(this).data("numitems");
449
		var invoiceId = $(this).data("invoiceid");
450
		var warehouseId = $(this).data("warehouseid");
451
		var supplierId = $(this).data("supplierid");
452
		getInvoiceItemData(numItems, invoiceId, warehouseId, supplierId, false);
453
 
454
	});
455
 
456
 
457
 
458
	$(document).on('click', '.validateInvoiceDetail', function() {
459
		var numItems = $(this).data("numitems");
460
		var invoiceId = $(this).data("invoiceid");
461
		var warehouseId = $(this).data("warehouseid");
462
		var supplierId = $(this).data("supplierid");
463
 
464
		getInvoiceItemData(numItems, invoiceId, warehouseId, supplierId, true);
465
 
466
	});
467
 
468
 
469
	$(document).on("click", '.removeInInvoiceItem', function() {
470
 
471
		var row = $(this).closest("tr");
472
		var invoiceId = $(this).data("invoiceid");
473
		var itemId = $(this).data("itemid");
474
		if (invoiceId != undefined && itemId != undefined) {
475
			doDeleteAjaxRequestHandler(context + "/removeInvoiceItem?invoiceId="
476
				+ invoiceId + "&itemId=" + itemId, function(response) {
477
					if (response == "true") {
478
						alert("Item removed successfully");
479
 
480
					}
481
				});
482
		}
483
 
484
		row.remove();
485
 
486
	});
487
 
488
 
489
	$(document).on('click', '.purchaseGrn', function() {
490
 
491
		var grnItemArray = [];
492
 
493
		var invoiceId = $(this).data("invoiceid");
494
 
495
 
496
		$("#invoice-purchase-validate > tbody > tr").each(function() {
497
			var grnItemJson = {};
498
 
499
			var itemId = $(this).find(".itemId").text();
500
			var qty = $(this).find(".qty").text();
501
			var poId = $(this).find(".purchaseId").text();
32256 tejbeer 502
			var excessQty = $(this).find(".excessQty").text();
32192 tejbeer 503
			var itemType = $(this).find(".itemType").text();
504
 
505
			console.log(itemType);
506
 
507
			if (itemType == "Serialized") {
32256 tejbeer 508
				var serialNumbers = $(this).find(".imeis-to-grn").tagsinput('items');
32192 tejbeer 509
				grnItemJson['serialNumbers'] = serialNumbers
510
 
32256 tejbeer 511
				if (excessQty > 0) {
512
					var returnSerialNumbers = $(this).find(".imeis-to-grn-return").tagsinput('items');
513
					grnItemJson['returnSerialNumbers'] = returnSerialNumbers
514
				}
32192 tejbeer 515
			}
516
			console.log(serialNumbers)
517
			grnItemJson['itemId'] = itemId;
518
			grnItemJson['serialNumbers'] = serialNumbers
519
			grnItemJson['qty'] = qty
520
			grnItemJson['poId'] = poId
521
			grnItemJson['invoiceId'] = invoiceId
32256 tejbeer 522
			grnItemJson['itemType'] = itemType
523
			grnItemJson['excessQty'] = excessQty
524
 
525
			grnItemJson['returnSerialNumbers'] = returnSerialNumbers
526
 
32192 tejbeer 527
			grnItemArray.push(grnItemJson)
528
 
529
			console.log(grnItemArray)
530
 
531
		});
532
 
533
		for (var i = 0; i < grnItemArray.length; i++) {
534
 
535
			var serialNumbers = grnItemArray[i].serialNumbers.length
536
 
32256 tejbeer 537
			var itemType = grnItemArray[i].itemType
32192 tejbeer 538
 
32256 tejbeer 539
 
540
			if (itemType == "Serialized") {
541
				var excessQty = grnItemArray[i].excessQty
542
 
543
 
544
 
32192 tejbeer 545
				var serialNumbers = grnItemArray[i].serialNumbers.length
546
				var qty = grnItemArray[i].qty
547
 
548
				if (serialNumbers != qty) {
549
					alert("serial number is not matched with qty")
550
					return false;
551
				}
32256 tejbeer 552
 
553
				if (excessQty > 0) {
554
 
555
					var returnSerialNumbers = grnItemArray[i].returnSerialNumbers.length
556
 
557
					if (returnSerialNumbers != excessQty) {
558
						alert("Return serial number is not matched with excess qty")
559
						return false;
560
					}
561
 
562
				}
32192 tejbeer 563
			}
564
 
565
		}
566
 
567
 
568
		console.log(JSON.stringify(grnItemArray))
569
		if (confirm("Are you sure you want to grn purchase order") == true) {
570
 
571
			doPostAjaxRequestWithJsonHandler(context
572
				+ "/createGrn", JSON
573
					.stringify(grnItemArray), function(response) {
574
						if (response == 'true') {
32258 tejbeer 575
							alert("successfully done");
576
							loadNewReceiveInvoice("main-content");
32256 tejbeer 577
						}
578
					});
579
		}
580
 
581
 
582
 
583
	});
584
 
585
 
586
 
587
	$(document).on('click', '.grnRequest', function() {
588
 
589
		var grnRequestJson = {};
590
		var grnRequestItemArray = [];
591
 
592
		var invoiceId = $(this).data("invoiceid");
593
 
594
 
595
		$("#invoice-purchase-validate > tbody > tr").each(function() {
596
			var grnItemJson = {};
597
 
598
			var itemId = $.trim($(this).find(".itemId").text());
599
			var poId = $.trim($(this).find(".purchaseId").text());
600
 
601
			var qty = parseInt($(this).find(".qty").text());
602
 
603
			var excessQty = parseInt($(this).find(".excessQty").text());
604
 
605
			var priceMismatch = $.trim($(this).find(".priceMismatch").text());
606
			console.log(priceMismatch)
607
 
608
 
609
			if (priceMismatch != null || excessQty > 0) {
610
				console.log(typeof priceMismatch)
611
				console.log(excessQty)
612
				grnItemJson['itemId'] = itemId;
613
				grnItemJson['qty'] = qty;
614
				grnItemJson['excessQty'] = excessQty
32264 tejbeer 615
				grnItemJson['mismatch'] = priceMismatch
32256 tejbeer 616
				grnItemJson['poId'] = poId
617
 
618
				grnRequestItemArray.push(grnItemJson)
619
			}
620
		});
621
 
622
		console.log(grnRequestItemArray)
623
 
624
 
625
 
626
		grnRequestJson['invoiceId'] = invoiceId;
627
		grnRequestJson['warehousePurchaseModel'] = grnRequestItemArray
628
 
629
		if (confirm("Are you sure you want to raise grn request") == true) {
630
 
631
			doPostAjaxRequestWithJsonHandler(context
632
				+ "/grnRequest", JSON
633
					.stringify(grnRequestJson), function(response) {
634
						if (response == 'true') {
32192 tejbeer 635
							alert("successfully done");
32256 tejbeer 636
							loadNewReceiveInvoice("main-content");
32192 tejbeer 637
						}
638
					});
639
		}
640
 
641
 
642
 
643
	});
644
 
645
 
32256 tejbeer 646
	$(document).on('click', '.resolvedPriceMismatchRequest', function() {
647
		var id = $(this).data("id");
648
 
649
		var invoiceId = $(this).data("invoiceid");
650
 
651
		var requestId = $(this).data("requestid");
652
 
32261 tejbeer 653
		var mismatch = $(this).data("mismatch");
32256 tejbeer 654
 
32261 tejbeer 655
		if (mismatch == "InvoiceMismatch") {
32256 tejbeer 656
			if (confirm("Are you sure you want to resolve invoice mismatch") == true) {
657
 
658
				doGetAjaxRequestHandler(context + "/resolvedMismatchRequest?id=" + id, function(response) {
659
					if (response == 'true') {
660
						getGrnRequestItems(requestId, invoiceId)
661
					}
662
				});
663
 
664
			}
32261 tejbeer 665
		} else if (mismatch == "PoMismatch") {
32256 tejbeer 666
			if (confirm("Are you sure you want to resolve Po Mismatch. Discard the current PoLineItem new Po will generate on the invoice date.") == true) {
667
 
668
				doGetAjaxRequestHandler(context + "/resolvedMismatchRequest?id=" + id, function(response) {
669
					if (response == 'true') {
670
						getGrnRequestItems(requestId, invoiceId)
671
					}
672
				});
673
 
674
			}
675
		}
676
 
677
	});
678
 
679
 
680
 
681
	$(document).on('click', '.resolvedQtyMismatchRequest', function() {
682
		var id = $(this).data("id");
683
 
684
		var invoiceId = $(this).data("invoiceid");
685
 
686
		var requestId = $(this).data("requestid");
687
		var requestId = $(this).data("requestid");
688
 
689
 
32261 tejbeer 690
		var mismatch = $(this).data("mismatch");
32256 tejbeer 691
 
692
		var $row = $(this).closest("tr");
693
		var requiredQty = $row.find(".requiredQty").val();
694
 
695
		console.log(requiredQty);
696
 
32261 tejbeer 697
		if (mismatch == "QtyMismatch") {
32256 tejbeer 698
			if (confirm("Are you sure you want to resolve qty mismatch") == true) {
699
 
700
				doGetAjaxRequestHandler(context + "/resolvedMismatchRequest?id=" + id + "&requiredQty=" + requiredQty, function(response) {
701
					if (response == 'true') {
702
						getGrnRequestItems(requestId, invoiceId)
703
					}
704
				});
705
 
706
			}
707
		}
708
 
709
	});
710
 
711
 
712
 
713
 
714
 
32145 tejbeer 715
});
716
 
717
function loadCreatePurchase(domId) {
718
	doGetAjaxRequestHandler(context + "/warehousePurchaseOrder", function(response) {
719
		$('#' + domId).html(response);
720
	});
721
}
722
 
32192 tejbeer 723
 
724
 
32145 tejbeer 725
function loadOpenPurchase(domId) {
726
 
727
	doGetAjaxRequestHandler(context + "/getOpenPurchaseOrder", function(response) {
728
		$('#' + domId).html(response);
729
	});
730
}
731
 
32192 tejbeer 732
function loadNewReceiveInvoice(domId) {
733
	doGetAjaxRequestHandler(context + "/newReceiveInvoice", function(response) {
734
		$('#' + domId).html(response);
735
	});
736
}
737
 
32256 tejbeer 738
 
739
 
740
function loadGrnRequest(domId) {
741
	doGetAjaxRequestHandler(context + "/grnRequest", function(response) {
742
		$('#' + domId).html(response);
743
	});
744
}
745
 
746
function loadDebitNote(domId) {
747
	doGetAjaxRequestHandler(context + "/getDebitNote", function(response) {
748
		$('#' + domId).html(response);
749
	});
750
}
751
 
32145 tejbeer 752
function createPurchase(sendPo) {
753
	var purchaseOrder = {};
754
 
755
	var vendorId = $('#vendorId').val();
756
 
757
	var warehouseId = $('#warehouseMap').val();
758
 
759
 
760
	var items = []
761
	$("table > tbody > tr").each(function() {
762
		var purchaseOrderJson = {};
763
 
764
		var itemId = $(this).find(".transferPrice").data('itemid');
765
		var qty = $(this).find(".qty").val();
766
		var transferPrice = $(this).find(".transferPrice").val();
767
		var totalValue = $(this).find(".totalValue").val();
768
 
769
 
770
		purchaseOrderJson['itemId'] = itemId;
32256 tejbeer 771
		purchaseOrderJson['amendedQty'] = qty
32145 tejbeer 772
		purchaseOrderJson['totalValue'] = totalValue
773
		purchaseOrderJson['transferPrice'] = transferPrice
774
 
775
		items.push(purchaseOrderJson)
776
	});
777
 
778
 
779
	for (var i = 0; i < items.length; i++) {
780
		console.log(items[i])
781
 
782
		var itemId = items[i].itemId
32261 tejbeer 783
		var qty = items[i].amendedQty
32145 tejbeer 784
		var transferPrice = items[i].transferPrice
785
		var totalValue = items[i].totalValue
786
 
787
		if (itemId === "" && qty === "" && transferPrice === "" && totalValue === "") {
788
			alert("Field can't be empty");
789
			return false;
790
		}
791
 
792
 
793
		if (itemId === "") {
794
			alert("please select item");
795
			return false;
796
		}
797
		if (qty === "") {
798
			alert("please choose qty");
799
			return false;
800
		}
801
 
802
		if (transferPrice === "") {
803
			alert("Transfer Price can't be empty");
804
			return false;
805
		}
806
		if (totalValue === "") {
807
			alert("Total value can't be empty");
808
			return false;
809
		}
810
 
32261 tejbeer 811
		if (qty <= 0) {
812
			alert("Please fill Qty");
813
			return false;
814
		}
32145 tejbeer 815
 
816
 
32261 tejbeer 817
 
32145 tejbeer 818
	}
819
 
820
	purchaseOrder['vendorId'] = vendorId;
821
	purchaseOrder['warehouseId'] = warehouseId
822
	purchaseOrder['sendPo'] = sendPo
823
 
824
	purchaseOrder['items'] = items
825
 
826
	console.log(purchaseOrder)
827
 
828
 
829
 
830
	if (confirm("Are you sure you want to create purchase order") == true) {
831
 
832
		doPostAjaxRequestWithJsonHandler(context
833
			+ "/createPurchaseOrder", JSON
834
				.stringify(purchaseOrder), function(response) {
835
					if (response == 'true') {
836
						alert("successfully created");
32256 tejbeer 837
						loadCreatePurchase("main-content");
32145 tejbeer 838
					}
839
				});
840
	}
841
 
842
}
843
 
844
 
845
function editPurchase(sendPo, poid) {
846
	var editpurchaseOrder = {}
847
	var items = []
848
	$("#purchase-edit-lineitem > tbody > tr").each(function() {
849
		var purchaseOrderJson = {};
850
		var itemId = $(this).find("td:eq(0)").text();
851
 
32256 tejbeer 852
		var qty = $(this).find("td:eq(2)").text();
32145 tejbeer 853
 
32256 tejbeer 854
		var amendedQty = $(this).find(".editqty").val();
855
 
32282 tejbeer 856
		var transferPrice = $.trim($(this).find(".transferPrice"));
32256 tejbeer 857
 
858
 
32145 tejbeer 859
		purchaseOrderJson['itemId'] = itemId;
32256 tejbeer 860
		purchaseOrderJson['amendedQty'] = parseInt(amendedQty)
861
		purchaseOrderJson['qty'] = parseInt(qty)
32282 tejbeer 862
		purchaseOrderJson['transferPrice'] = transferPrice
32145 tejbeer 863
 
864
		items.push(purchaseOrderJson)
865
	});
866
 
867
 
868
	for (var i = 0; i < items.length; i++) {
869
		console.log(items[i])
870
 
32256 tejbeer 871
		var amendedQty = items[i].amendedQty
32145 tejbeer 872
		var qty = items[i].qty
873
 
32256 tejbeer 874
 
875
		if (amendedQty === "") {
32145 tejbeer 876
			alert("please choose qty");
877
			return false;
878
		}
879
 
32256 tejbeer 880
		if (amendedQty < qty) {
881
			alert("Quantity should be greater than existing qty");
32145 tejbeer 882
			return false;
883
		}
884
 
885
 
886
	}
887
 
888
	editpurchaseOrder['purchaseOrderId'] = poid;
889
	editpurchaseOrder['sendPo'] = sendPo
890
	editpurchaseOrder['items'] = items
891
 
892
 
893
	if (confirm("Are you sure you want to edit purchase order") == true) {
894
 
895
		doPostAjaxRequestWithJsonHandler(context
896
			+ "/editPurchaseOrder", JSON
897
				.stringify(editpurchaseOrder), function(response) {
898
					if (response == 'true') {
899
						alert("successfully created");
32256 tejbeer 900
						loadOpenPurchase("main-content")
32145 tejbeer 901
					}
902
				});
903
	}
904
 
905
}
906
 
907
 
32192 tejbeer 908
function getInvoiceItemData(numItems, invoiceId, warehouseId, supplierId, validate) {
909
 
910
	var invoiceJson = {};
911
	console.log(numItems)
912
	var totalQty = 0;
913
	var invoiceItems = []
914
	$("#invoice-order-table > tbody > tr").each(function() {
915
		var invoiceItemJson = {};
916
		var itemId = $(this).find(".rate").data('itemid');
917
		var qty = $(this).find(".qty").val();
918
 
919
		if (qty != undefined) {
920
			totalQty += parseInt(qty)
921
		}
922
		var rate = $(this).find(".rate").val();
923
		invoiceItemJson['itemId'] = itemId;
924
		invoiceItemJson['qty'] = qty
925
		invoiceItemJson['rate'] = rate
926
		invoiceItems.push(invoiceItemJson)
927
	});
928
 
929
 
930
	for (var i = 0; i < invoiceItems.length; i++) {
931
 
932
		var itemId = invoiceItems[i].itemId
933
		var qty = invoiceItems[i].qty
934
		var rate = invoiceItems[i].rate
935
		if (itemId === "" && qty === "" && rate === "") {
936
			alert("Field can't be empty");
937
			return false;
938
		}
939
 
940
		if (itemId === "") {
941
			alert("please select item");
942
			return false;
943
		}
944
		if (qty === "") {
945
			alert("please choose qty");
946
			return false;
947
		}
948
 
949
		if (rate === "") {
950
			alert("Rate can't be empty");
951
			return false;
952
		}
953
 
954
	}
955
 
956
	console.log(totalQty)
957
 
958
	if (totalQty > numItems) {
959
		alert("Qty Should not be more than  Invoice items");
960
		return false;
961
	}
962
 
963
	if (validate) {
964
 
965
		if (totalQty != numItems) {
966
			alert("Qty Should not match with Invoice items");
967
			return false;
968
		}
969
	}
970
 
971
 
972
	invoiceJson['invoiceId'] = invoiceId;
973
	invoiceJson['warehouseId'] = warehouseId;
974
	invoiceJson['supplierId'] = supplierId;
975
	invoiceJson['invoiceItems'] = invoiceItems
976
	if (validate) {
977
		validateInvoiceItems(invoiceJson);
978
	} else {
979
		saveInvoiceItems(invoiceJson)
980
	}
981
}
982
 
983
 
984
function saveInvoiceItems(invoiceJson) {
985
 
986
 
987
	if (confirm("Are you sure you want to save invoice item") == true) {
988
 
989
		doPostAjaxRequestWithJsonHandler(context
990
			+ "/invoiceItemDetail", JSON
991
				.stringify(invoiceJson), function(response) {
992
					if (response == 'true') {
993
						getInvoiceItems(invoiceJson.invoiceId);
994
					}
995
				});
996
	}
997
 
998
}
999
 
1000
 
1001
function validateInvoiceItems(invoiceJson) {
1002
 
1003
 
1004
	if (confirm("Are you sure you want to validate invoice item") == true) {
1005
 
1006
		doPostAjaxRequestWithJsonHandler(context
1007
			+ "/validateInvoiceItemDetail", JSON
1008
				.stringify(invoiceJson), function(response) {
1009
					$('.invoiceadditemcontainer').html(response);
1010
 
1011
				});
1012
	}
1013
 
1014
}
1015
 
1016
function getOpenPOFromWarehouse() {
1017
 
1018
	var warehouseId = $('#warehouseMap').val();
1019
	doGetAjaxRequestHandler(context + "/getOpenPurchaseOrderByWarehouseId?warehouseId=" + warehouseId, function(response) {
1020
		$('#warehouseManagePuchaseContainer').html(response);
1021
	});
1022
 
1023
 
1024
 
1025
}
1026
 
1027
function getPurchaseLineitem(poId) {
1028
 
1029
 
1030
	doGetAjaxRequestHandler(context + "/getPurchaseOrderItemByPoId?poId=" + poId, function(response) {
1031
		$('#warehouseManagePuchaseItemContainer').html(response);
1032
		$('#warehousepurchaseitemgrn').hide()
1033
	});
1034
 
1035
 
1036
}
1037
 
1038
 
1039
function getInvoiceItems(invoiceId) {
1040
 
1041
	doGetAjaxRequestHandler(context + "/getInvoiceItems?invoiceId=" + invoiceId, function(response) {
1042
		$('.invoiceadditemcontainer').html(response);
1043
 
1044
	});
1045
}
1046
 
1047
 
32256 tejbeer 1048
function getGrnRequestItems(requestId, invoiceId) {
1049
 
1050
	doGetAjaxRequestHandler(context + "/grnRequestItem?requestId=" + requestId + "&invoiceId=" + invoiceId, function(response) {
1051
		$('.grnRequestItemContainer').html(response);
1052
 
1053
	});
1054
}
1055
 
1056