Subversion Repositories SmartDukaan

Rev

Rev 32195 | Rev 32258 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 32195 Rev 32256
Line 9... Line 9...
9
	});
9
	});
10
 
10
 
11
 
11
 
12
 
12
 
13
 
13
 
-
 
14
	$(document).on('click', ".warehouse-grn-request", function() {
-
 
15
		loadGrnRequest("main-content");
-
 
16
	});
-
 
17
 
-
 
18
	$(document).on('click', ".warehouse-debit-note", function() {
-
 
19
		loadDebitNote("main-content");
-
 
20
	});
14
 
21
 
15
 
22
 
16
 
23
 
17
	$(document)
24
	$(document)
18
		.on(
25
		.on(
Line 292... Line 299...
292
	});
299
	});
293
 
300
 
294
	$(document).on('click', '.editPurchaseOrder', function() {
301
	$(document).on('click', '.editPurchaseOrder', function() {
295
		var purchaseOrderId = $(this).data('poid');
302
		var purchaseOrderId = $(this).data('poid');
296
 
303
 
297
		editPurchase(true, purchaseOrderId);
304
		editPurchase(false, purchaseOrderId);
298
 
305
 
299
	});
306
	});
300
 
307
 
301
 
308
 
302
	$(document).on('click', '.editSendPurchaseOrder', function() {
309
	$(document).on('click', '.editSendPurchaseOrder', function() {
303
		var purchaseOrderId = $(this).data('poid');
310
		var purchaseOrderId = $(this).data('poid');
304
 
311
 
305
 
312
 
306
		editPurchase(false, purchaseOrderId);
313
		editPurchase(true, purchaseOrderId);
307
	});
314
	});
308
 
315
 
309
	$(document).on('click', '.closePurchaseOrder', function() {
316
	$(document).on('click', '.closePurchaseOrder', function() {
310
		var purchaseOrderId = $(this).data('poid');
317
		var purchaseOrderId = $(this).data('poid');
311
		if (confirm("Are you sure you want to close the PO") == true) {
318
		if (confirm("Are you sure you want to close the PO") == true) {
Line 364... Line 371...
364
 
371
 
365
		var row = $(this).closest("tr");
372
		var row = $(this).closest("tr");
366
		row.remove();
373
		row.remove();
367
	});
374
	});
368
 
375
 
-
 
376
 
-
 
377
 
-
 
378
 
-
 
379
 
-
 
380
 
369
	$(document).on('click', ".addRowForInvoiceItem", function() {
381
	$(document).on('click', ".addRowForInvoiceItem", function() {
370
 
382
 
371
		var numitems = $(this).data("numitems");
383
		var numitems = $(this).data("numitems");
372
		var invoiceId = $(this).data("invoiceid");
384
		var invoiceId = $(this).data("invoiceid");
373
 
385
 
Line 485... Line 497...
485
			var grnItemJson = {};
497
			var grnItemJson = {};
486
 
498
 
487
			var itemId = $(this).find(".itemId").text();
499
			var itemId = $(this).find(".itemId").text();
488
			var qty = $(this).find(".qty").text();
500
			var qty = $(this).find(".qty").text();
489
			var poId = $(this).find(".purchaseId").text();
501
			var poId = $(this).find(".purchaseId").text();
490
 
-
 
-
 
502
			var excessQty = $(this).find(".excessQty").text();
491
			var itemType = $(this).find(".itemType").text();
503
			var itemType = $(this).find(".itemType").text();
492
 
504
 
493
			console.log(itemType);
505
			console.log(itemType);
494
 
506
 
495
			if (itemType == "Serialized") {
507
			if (itemType == "Serialized") {
496
				var serialNumbers = $(".imeis-to-grn").tagsinput('items');
508
				var serialNumbers = $(this).find(".imeis-to-grn").tagsinput('items');
497
				grnItemJson['serialNumbers'] = serialNumbers
509
				grnItemJson['serialNumbers'] = serialNumbers
498
 
510
 
-
 
511
				if (excessQty > 0) {
-
 
512
					var returnSerialNumbers = $(this).find(".imeis-to-grn-return").tagsinput('items');
-
 
513
					grnItemJson['returnSerialNumbers'] = returnSerialNumbers
-
 
514
				}
499
			}
515
			}
500
			console.log(serialNumbers)
516
			console.log(serialNumbers)
501
			grnItemJson['itemId'] = itemId;
517
			grnItemJson['itemId'] = itemId;
502
			grnItemJson['serialNumbers'] = serialNumbers
518
			grnItemJson['serialNumbers'] = serialNumbers
503
			grnItemJson['qty'] = qty
519
			grnItemJson['qty'] = qty
504
			grnItemJson['poId'] = poId
520
			grnItemJson['poId'] = poId
505
			grnItemJson['invoiceId'] = invoiceId
521
			grnItemJson['invoiceId'] = invoiceId
-
 
522
			grnItemJson['itemType'] = itemType
-
 
523
			grnItemJson['excessQty'] = excessQty
-
 
524
 
-
 
525
			grnItemJson['returnSerialNumbers'] = returnSerialNumbers
-
 
526
 
506
			grnItemArray.push(grnItemJson)
527
			grnItemArray.push(grnItemJson)
507
 
528
 
508
			console.log(grnItemArray)
529
			console.log(grnItemArray)
509
 
530
 
510
		});
531
		});
511
 
532
 
512
		for (var i = 0; i < grnItemArray.length; i++) {
533
		for (var i = 0; i < grnItemArray.length; i++) {
513
 
534
 
514
			var serialNumbers = grnItemArray[i].serialNumbers.length
535
			var serialNumbers = grnItemArray[i].serialNumbers.length
515
 
536
 
-
 
537
			var itemType = grnItemArray[i].itemType
-
 
538
 
-
 
539
 
516
			if (serialNumbers > 0) {
540
			if (itemType == "Serialized") {
-
 
541
				var excessQty = grnItemArray[i].excessQty
-
 
542
 
-
 
543
 
517
 
544
 
518
				var serialNumbers = grnItemArray[i].serialNumbers.length
545
				var serialNumbers = grnItemArray[i].serialNumbers.length
519
				var qty = grnItemArray[i].qty
546
				var qty = grnItemArray[i].qty
520
 
547
 
521
				if (serialNumbers != qty) {
548
				if (serialNumbers != qty) {
522
					alert("serial number is not matched with qty")
549
					alert("serial number is not matched with qty")
523
					return false;
550
					return false;
524
				}
551
				}
-
 
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
				}
525
			}
563
			}
526
 
564
 
527
		}
565
		}
528
 
566
 
529
 
567
 
Line 532... Line 570...
532
 
570
 
533
			doPostAjaxRequestWithJsonHandler(context
571
			doPostAjaxRequestWithJsonHandler(context
534
				+ "/createGrn", JSON
572
				+ "/createGrn", JSON
535
					.stringify(grnItemArray), function(response) {
573
					.stringify(grnItemArray), function(response) {
536
						if (response == 'true') {
574
						if (response == 'true') {
-
 
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') {
537
							alert("successfully done");
637
							alert("successfully done");
-
 
638
							loadNewReceiveInvoice("main-content");
538
						}
639
						}
539
					});
640
					});
540
		}
641
		}
541
 
642
 
542
 
643
 
543
 
644
 
544
	});
645
	});
545
 
646
 
546
 
647
 
-
 
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
 
547
});
717
});
548
 
718
 
549
function loadCreatePurchase(domId) {
719
function loadCreatePurchase(domId) {
550
	doGetAjaxRequestHandler(context + "/warehousePurchaseOrder", function(response) {
720
	doGetAjaxRequestHandler(context + "/warehousePurchaseOrder", function(response) {
551
		$('#' + domId).html(response);
721
		$('#' + domId).html(response);
Line 565... Line 735...
565
	doGetAjaxRequestHandler(context + "/newReceiveInvoice", function(response) {
735
	doGetAjaxRequestHandler(context + "/newReceiveInvoice", function(response) {
566
		$('#' + domId).html(response);
736
		$('#' + domId).html(response);
567
	});
737
	});
568
}
738
}
569
 
739
 
-
 
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
 
570
function createPurchase(sendPo) {
754
function createPurchase(sendPo) {
571
	var purchaseOrder = {};
755
	var purchaseOrder = {};
572
 
756
 
573
	var vendorId = $('#vendorId').val();
757
	var vendorId = $('#vendorId').val();
574
 
758
 
Line 584... Line 768...
584
		var transferPrice = $(this).find(".transferPrice").val();
768
		var transferPrice = $(this).find(".transferPrice").val();
585
		var totalValue = $(this).find(".totalValue").val();
769
		var totalValue = $(this).find(".totalValue").val();
586
 
770
 
587
 
771
 
588
		purchaseOrderJson['itemId'] = itemId;
772
		purchaseOrderJson['itemId'] = itemId;
589
		purchaseOrderJson['qty'] = qty
773
		purchaseOrderJson['amendedQty'] = qty
590
		purchaseOrderJson['totalValue'] = totalValue
774
		purchaseOrderJson['totalValue'] = totalValue
591
		purchaseOrderJson['transferPrice'] = transferPrice
775
		purchaseOrderJson['transferPrice'] = transferPrice
592
 
776
 
593
		items.push(purchaseOrderJson)
777
		items.push(purchaseOrderJson)
594
	});
778
	});
Line 645... Line 829...
645
		doPostAjaxRequestWithJsonHandler(context
829
		doPostAjaxRequestWithJsonHandler(context
646
			+ "/createPurchaseOrder", JSON
830
			+ "/createPurchaseOrder", JSON
647
				.stringify(purchaseOrder), function(response) {
831
				.stringify(purchaseOrder), function(response) {
648
					if (response == 'true') {
832
					if (response == 'true') {
649
						alert("successfully created");
833
						alert("successfully created");
-
 
834
						loadCreatePurchase("main-content");
650
					}
835
					}
651
				});
836
				});
652
	}
837
	}
653
 
838
 
654
}
839
}
Line 659... Line 844...
659
	var items = []
844
	var items = []
660
	$("#purchase-edit-lineitem > tbody > tr").each(function() {
845
	$("#purchase-edit-lineitem > tbody > tr").each(function() {
661
		var purchaseOrderJson = {};
846
		var purchaseOrderJson = {};
662
		var itemId = $(this).find("td:eq(0)").text();
847
		var itemId = $(this).find("td:eq(0)").text();
663
 
848
 
-
 
849
		var qty = $(this).find("td:eq(2)").text();
-
 
850
 
664
		var qty = $(this).find(".editqty").val();
851
		var amendedQty = $(this).find(".editqty").val();
-
 
852
 
-
 
853
 
665
 
854
 
666
		purchaseOrderJson['itemId'] = itemId;
855
		purchaseOrderJson['itemId'] = itemId;
-
 
856
		purchaseOrderJson['amendedQty'] = parseInt(amendedQty)
667
		purchaseOrderJson['qty'] = qty
857
		purchaseOrderJson['qty'] = parseInt(qty)
668
 
858
 
669
		items.push(purchaseOrderJson)
859
		items.push(purchaseOrderJson)
670
	});
860
	});
671
 
861
 
672
 
862
 
673
	for (var i = 0; i < items.length; i++) {
863
	for (var i = 0; i < items.length; i++) {
674
		console.log(items[i])
864
		console.log(items[i])
675
 
865
 
-
 
866
		var amendedQty = items[i].amendedQty
676
		var qty = items[i].qty
867
		var qty = items[i].qty
677
 
868
 
-
 
869
 
678
		if (qty === "") {
870
		if (amendedQty === "") {
679
			alert("please choose qty");
871
			alert("please choose qty");
680
			return false;
872
			return false;
681
		}
873
		}
682
 
874
 
683
		if (qty < 0) {
875
		if (amendedQty < qty) {
684
			alert("Quantity should be greater than 0");
876
			alert("Quantity should be greater than existing qty");
685
			return false;
877
			return false;
686
		}
878
		}
687
 
879
 
688
 
880
 
689
	}
881
	}
Line 698... Line 890...
698
		doPostAjaxRequestWithJsonHandler(context
890
		doPostAjaxRequestWithJsonHandler(context
699
			+ "/editPurchaseOrder", JSON
891
			+ "/editPurchaseOrder", JSON
700
				.stringify(editpurchaseOrder), function(response) {
892
				.stringify(editpurchaseOrder), function(response) {
701
					if (response == 'true') {
893
					if (response == 'true') {
702
						alert("successfully created");
894
						alert("successfully created");
-
 
895
						loadOpenPurchase("main-content")
703
					}
896
					}
704
				});
897
				});
705
	}
898
	}
706
 
899
 
707
}
900
}
Line 845... Line 1038...
845
 
1038
 
846
	});
1039
	});
847
}
1040
}
848
 
1041
 
849
 
1042
 
-
 
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