Subversion Repositories SmartDukaan

Rev

Rev 32195 | Rev 32258 | 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') {
32256 tejbeer 575
							doAjaxGetDownload(context + "/generateDebitNote?invoiceId=" + invoiceId, function(response) {
576
 
577
								//Download PDF code
578
							});
579
						}
580
					});
581
		}
582
 
583
 
584
 
585
	});
586
 
587
 
588
 
589
	$(document).on('click', '.grnRequest', function() {
590
 
591
		var grnRequestJson = {};
592
		var grnRequestItemArray = [];
593
 
594
		var invoiceId = $(this).data("invoiceid");
595
 
596
 
597
		$("#invoice-purchase-validate > tbody > tr").each(function() {
598
			var grnItemJson = {};
599
 
600
			var itemId = $.trim($(this).find(".itemId").text());
601
			var poId = $.trim($(this).find(".purchaseId").text());
602
 
603
			var qty = parseInt($(this).find(".qty").text());
604
 
605
			var excessQty = parseInt($(this).find(".excessQty").text());
606
 
607
			var priceMismatch = $.trim($(this).find(".priceMismatch").text());
608
			console.log(priceMismatch)
609
 
610
 
611
			if (priceMismatch != null || excessQty > 0) {
612
				console.log(typeof priceMismatch)
613
				console.log(excessQty)
614
				grnItemJson['itemId'] = itemId;
615
				grnItemJson['qty'] = qty;
616
				grnItemJson['excessQty'] = excessQty
617
				grnItemJson['priceMismatch'] = priceMismatch
618
				grnItemJson['poId'] = poId
619
 
620
				grnRequestItemArray.push(grnItemJson)
621
			}
622
		});
623
 
624
		console.log(grnRequestItemArray)
625
 
626
 
627
 
628
		grnRequestJson['invoiceId'] = invoiceId;
629
		grnRequestJson['warehousePurchaseModel'] = grnRequestItemArray
630
 
631
		if (confirm("Are you sure you want to raise grn request") == true) {
632
 
633
			doPostAjaxRequestWithJsonHandler(context
634
				+ "/grnRequest", JSON
635
					.stringify(grnRequestJson), function(response) {
636
						if (response == 'true') {
32192 tejbeer 637
							alert("successfully done");
32256 tejbeer 638
							loadNewReceiveInvoice("main-content");
32192 tejbeer 639
						}
640
					});
641
		}
642
 
643
 
644
 
645
	});
646
 
647
 
32256 tejbeer 648
	$(document).on('click', '.resolvedPriceMismatchRequest', function() {
649
		var id = $(this).data("id");
650
 
651
		var invoiceId = $(this).data("invoiceid");
652
 
653
		var requestId = $(this).data("requestid");
654
 
655
		var pricemismatch = $(this).data("pricemismatch");
656
 
657
		if (pricemismatch == "InvoiceMismatch") {
658
			if (confirm("Are you sure you want to resolve invoice mismatch") == true) {
659
 
660
				doGetAjaxRequestHandler(context + "/resolvedMismatchRequest?id=" + id, function(response) {
661
					if (response == 'true') {
662
						getGrnRequestItems(requestId, invoiceId)
663
					}
664
				});
665
 
666
			}
667
		} else if (pricemismatch == "PoMismatch") {
668
			if (confirm("Are you sure you want to resolve Po Mismatch. Discard the current PoLineItem new Po will generate on the invoice date.") == true) {
669
 
670
				doGetAjaxRequestHandler(context + "/resolvedMismatchRequest?id=" + id, function(response) {
671
					if (response == 'true') {
672
						getGrnRequestItems(requestId, invoiceId)
673
					}
674
				});
675
 
676
			}
677
		}
678
 
679
	});
680
 
681
 
682
 
683
	$(document).on('click', '.resolvedQtyMismatchRequest', function() {
684
		var id = $(this).data("id");
685
 
686
		var invoiceId = $(this).data("invoiceid");
687
 
688
		var requestId = $(this).data("requestid");
689
		var requestId = $(this).data("requestid");
690
 
691
 
692
		var pricemismatch = $(this).data("pricemismatch");
693
 
694
		var $row = $(this).closest("tr");
695
		var requiredQty = $row.find(".requiredQty").val();
696
 
697
		console.log(requiredQty);
698
 
699
		if (pricemismatch == "QtyMismatch") {
700
			if (confirm("Are you sure you want to resolve qty mismatch") == true) {
701
 
702
				doGetAjaxRequestHandler(context + "/resolvedMismatchRequest?id=" + id + "&requiredQty=" + requiredQty, function(response) {
703
					if (response == 'true') {
704
						getGrnRequestItems(requestId, invoiceId)
705
					}
706
				});
707
 
708
			}
709
		}
710
 
711
	});
712
 
713
 
714
 
715
 
716
 
32145 tejbeer 717
});
718
 
719
function loadCreatePurchase(domId) {
720
	doGetAjaxRequestHandler(context + "/warehousePurchaseOrder", function(response) {
721
		$('#' + domId).html(response);
722
	});
723
}
724
 
32192 tejbeer 725
 
726
 
32145 tejbeer 727
function loadOpenPurchase(domId) {
728
 
729
	doGetAjaxRequestHandler(context + "/getOpenPurchaseOrder", function(response) {
730
		$('#' + domId).html(response);
731
	});
732
}
733
 
32192 tejbeer 734
function loadNewReceiveInvoice(domId) {
735
	doGetAjaxRequestHandler(context + "/newReceiveInvoice", function(response) {
736
		$('#' + domId).html(response);
737
	});
738
}
739
 
32256 tejbeer 740
 
741
 
742
function loadGrnRequest(domId) {
743
	doGetAjaxRequestHandler(context + "/grnRequest", function(response) {
744
		$('#' + domId).html(response);
745
	});
746
}
747
 
748
function loadDebitNote(domId) {
749
	doGetAjaxRequestHandler(context + "/getDebitNote", function(response) {
750
		$('#' + domId).html(response);
751
	});
752
}
753
 
32145 tejbeer 754
function createPurchase(sendPo) {
755
	var purchaseOrder = {};
756
 
757
	var vendorId = $('#vendorId').val();
758
 
759
	var warehouseId = $('#warehouseMap').val();
760
 
761
 
762
	var items = []
763
	$("table > tbody > tr").each(function() {
764
		var purchaseOrderJson = {};
765
 
766
		var itemId = $(this).find(".transferPrice").data('itemid');
767
		var qty = $(this).find(".qty").val();
768
		var transferPrice = $(this).find(".transferPrice").val();
769
		var totalValue = $(this).find(".totalValue").val();
770
 
771
 
772
		purchaseOrderJson['itemId'] = itemId;
32256 tejbeer 773
		purchaseOrderJson['amendedQty'] = qty
32145 tejbeer 774
		purchaseOrderJson['totalValue'] = totalValue
775
		purchaseOrderJson['transferPrice'] = transferPrice
776
 
777
		items.push(purchaseOrderJson)
778
	});
779
 
780
 
781
	for (var i = 0; i < items.length; i++) {
782
		console.log(items[i])
783
 
784
		var itemId = items[i].itemId
785
		var qty = items[i].qty
786
		var transferPrice = items[i].transferPrice
787
		var totalValue = items[i].totalValue
788
 
789
		if (itemId === "" && qty === "" && transferPrice === "" && totalValue === "") {
790
			alert("Field can't be empty");
791
			return false;
792
		}
793
 
794
 
795
		if (itemId === "") {
796
			alert("please select item");
797
			return false;
798
		}
799
		if (qty === "") {
800
			alert("please choose qty");
801
			return false;
802
		}
803
 
804
		if (transferPrice === "") {
805
			alert("Transfer Price can't be empty");
806
			return false;
807
		}
808
		if (totalValue === "") {
809
			alert("Total value can't be empty");
810
			return false;
811
		}
812
 
813
 
814
 
815
	}
816
 
817
	purchaseOrder['vendorId'] = vendorId;
818
	purchaseOrder['warehouseId'] = warehouseId
819
	purchaseOrder['sendPo'] = sendPo
820
 
821
	purchaseOrder['items'] = items
822
 
823
	console.log(purchaseOrder)
824
 
825
 
826
 
827
	if (confirm("Are you sure you want to create purchase order") == true) {
828
 
829
		doPostAjaxRequestWithJsonHandler(context
830
			+ "/createPurchaseOrder", JSON
831
				.stringify(purchaseOrder), function(response) {
832
					if (response == 'true') {
833
						alert("successfully created");
32256 tejbeer 834
						loadCreatePurchase("main-content");
32145 tejbeer 835
					}
836
				});
837
	}
838
 
839
}
840
 
841
 
842
function editPurchase(sendPo, poid) {
843
	var editpurchaseOrder = {}
844
	var items = []
845
	$("#purchase-edit-lineitem > tbody > tr").each(function() {
846
		var purchaseOrderJson = {};
847
		var itemId = $(this).find("td:eq(0)").text();
848
 
32256 tejbeer 849
		var qty = $(this).find("td:eq(2)").text();
32145 tejbeer 850
 
32256 tejbeer 851
		var amendedQty = $(this).find(".editqty").val();
852
 
853
 
854
 
32145 tejbeer 855
		purchaseOrderJson['itemId'] = itemId;
32256 tejbeer 856
		purchaseOrderJson['amendedQty'] = parseInt(amendedQty)
857
		purchaseOrderJson['qty'] = parseInt(qty)
32145 tejbeer 858
 
859
		items.push(purchaseOrderJson)
860
	});
861
 
862
 
863
	for (var i = 0; i < items.length; i++) {
864
		console.log(items[i])
865
 
32256 tejbeer 866
		var amendedQty = items[i].amendedQty
32145 tejbeer 867
		var qty = items[i].qty
868
 
32256 tejbeer 869
 
870
		if (amendedQty === "") {
32145 tejbeer 871
			alert("please choose qty");
872
			return false;
873
		}
874
 
32256 tejbeer 875
		if (amendedQty < qty) {
876
			alert("Quantity should be greater than existing qty");
32145 tejbeer 877
			return false;
878
		}
879
 
880
 
881
	}
882
 
883
	editpurchaseOrder['purchaseOrderId'] = poid;
884
	editpurchaseOrder['sendPo'] = sendPo
885
	editpurchaseOrder['items'] = items
886
 
887
 
888
	if (confirm("Are you sure you want to edit purchase order") == true) {
889
 
890
		doPostAjaxRequestWithJsonHandler(context
891
			+ "/editPurchaseOrder", JSON
892
				.stringify(editpurchaseOrder), function(response) {
893
					if (response == 'true') {
894
						alert("successfully created");
32256 tejbeer 895
						loadOpenPurchase("main-content")
32145 tejbeer 896
					}
897
				});
898
	}
899
 
900
}
901
 
902
 
32192 tejbeer 903
function getInvoiceItemData(numItems, invoiceId, warehouseId, supplierId, validate) {
904
 
905
	var invoiceJson = {};
906
	console.log(numItems)
907
	var totalQty = 0;
908
	var invoiceItems = []
909
	$("#invoice-order-table > tbody > tr").each(function() {
910
		var invoiceItemJson = {};
911
		var itemId = $(this).find(".rate").data('itemid');
912
		var qty = $(this).find(".qty").val();
913
 
914
		if (qty != undefined) {
915
			totalQty += parseInt(qty)
916
		}
917
		var rate = $(this).find(".rate").val();
918
		invoiceItemJson['itemId'] = itemId;
919
		invoiceItemJson['qty'] = qty
920
		invoiceItemJson['rate'] = rate
921
		invoiceItems.push(invoiceItemJson)
922
	});
923
 
924
 
925
	for (var i = 0; i < invoiceItems.length; i++) {
926
 
927
		var itemId = invoiceItems[i].itemId
928
		var qty = invoiceItems[i].qty
929
		var rate = invoiceItems[i].rate
930
		if (itemId === "" && qty === "" && rate === "") {
931
			alert("Field can't be empty");
932
			return false;
933
		}
934
 
935
		if (itemId === "") {
936
			alert("please select item");
937
			return false;
938
		}
939
		if (qty === "") {
940
			alert("please choose qty");
941
			return false;
942
		}
943
 
944
		if (rate === "") {
945
			alert("Rate can't be empty");
946
			return false;
947
		}
948
 
949
	}
950
 
951
	console.log(totalQty)
952
 
953
	if (totalQty > numItems) {
954
		alert("Qty Should not be more than  Invoice items");
955
		return false;
956
	}
957
 
958
	if (validate) {
959
 
960
		if (totalQty != numItems) {
961
			alert("Qty Should not match with Invoice items");
962
			return false;
963
		}
964
	}
965
 
966
 
967
	invoiceJson['invoiceId'] = invoiceId;
968
	invoiceJson['warehouseId'] = warehouseId;
969
	invoiceJson['supplierId'] = supplierId;
970
	invoiceJson['invoiceItems'] = invoiceItems
971
	if (validate) {
972
		validateInvoiceItems(invoiceJson);
973
	} else {
974
		saveInvoiceItems(invoiceJson)
975
	}
976
}
977
 
978
 
979
function saveInvoiceItems(invoiceJson) {
980
 
981
 
982
	if (confirm("Are you sure you want to save invoice item") == true) {
983
 
984
		doPostAjaxRequestWithJsonHandler(context
985
			+ "/invoiceItemDetail", JSON
986
				.stringify(invoiceJson), function(response) {
987
					if (response == 'true') {
988
						getInvoiceItems(invoiceJson.invoiceId);
989
					}
990
				});
991
	}
992
 
993
}
994
 
995
 
996
function validateInvoiceItems(invoiceJson) {
997
 
998
 
999
	if (confirm("Are you sure you want to validate invoice item") == true) {
1000
 
1001
		doPostAjaxRequestWithJsonHandler(context
1002
			+ "/validateInvoiceItemDetail", JSON
1003
				.stringify(invoiceJson), function(response) {
1004
					$('.invoiceadditemcontainer').html(response);
1005
 
1006
				});
1007
	}
1008
 
1009
}
1010
 
1011
function getOpenPOFromWarehouse() {
1012
 
1013
	var warehouseId = $('#warehouseMap').val();
1014
	doGetAjaxRequestHandler(context + "/getOpenPurchaseOrderByWarehouseId?warehouseId=" + warehouseId, function(response) {
1015
		$('#warehouseManagePuchaseContainer').html(response);
1016
	});
1017
 
1018
 
1019
 
1020
}
1021
 
1022
function getPurchaseLineitem(poId) {
1023
 
1024
 
1025
	doGetAjaxRequestHandler(context + "/getPurchaseOrderItemByPoId?poId=" + poId, function(response) {
1026
		$('#warehouseManagePuchaseItemContainer').html(response);
1027
		$('#warehousepurchaseitemgrn').hide()
1028
	});
1029
 
1030
 
1031
}
1032
 
1033
 
1034
function getInvoiceItems(invoiceId) {
1035
 
1036
	doGetAjaxRequestHandler(context + "/getInvoiceItems?invoiceId=" + invoiceId, function(response) {
1037
		$('.invoiceadditemcontainer').html(response);
1038
 
1039
	});
1040
}
1041
 
1042
 
32256 tejbeer 1043
function getGrnRequestItems(requestId, invoiceId) {
1044
 
1045
	doGetAjaxRequestHandler(context + "/grnRequestItem?requestId=" + requestId + "&invoiceId=" + invoiceId, function(response) {
1046
		$('.grnRequestItemContainer').html(response);
1047
 
1048
	});
1049
}
1050
 
1051