You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.8 KiB

4 years ago
  1. $("#searchStatement").click(function () {
  2. $("#loadingDiv").LoadingOverlay("show");
  3. reqField = "fromDate,toDate";
  4. if (ValidRequiredField(reqField) === false) {
  5. return false;
  6. }
  7. $('#searchStatement').attr('disabled', true);
  8. var dataObject = {
  9. MethodName: 'ViewStatement',
  10. FromDate: $('#' + mId + 'fromDate').val(),
  11. ToDate: $('#' + mId + 'toDate').val()
  12. };
  13. url = '';
  14. $.post(url, dataObject, function (data) {
  15. var count = 1;
  16. var runningBalance = 0;
  17. var openingBalance = 0;
  18. var totalDr = 0;
  19. var drCount = 0;
  20. var crCount = 0;
  21. var totalCr = 0;
  22. var amount = 0;
  23. var arrayData = [];
  24. var table = $('#statementReportTbl');
  25. table.find("tbody tr").remove();
  26. $('#searchStatement').attr('disabled', false);
  27. var result = data;//jQuery.parseJSON(data);
  28. $.each(result, function (i, d) {
  29. if (d['JMENumber'] != 'Balance Brought Forward') {
  30. if (d['TranType'].toLowerCase() == 'dr') {
  31. totalDr += parseFloat(d['Amount']);
  32. drCount++;
  33. }
  34. else {
  35. totalCr += parseFloat(d['Amount']);
  36. crCount++;
  37. }
  38. }
  39. else {
  40. openingBalance = d['Amount'];
  41. }
  42. runningBalance += parseFloat(d['Amount']);
  43. arrayData.push({
  44. "SNo": count,
  45. "TranDate": d['TranDate'],
  46. "JMENumber": d['JMENumber'],
  47. "SenderName": d['SenderName'],
  48. "TransactionAmount": CurrencyFormatted(parseFloat(d['Amount'])),
  49. "RunningBalance": CurrencyFormatted(runningBalance)
  50. });
  51. count++;
  52. });
  53. table.DataTable().destroy();
  54. table.DataTable({
  55. data: arrayData,
  56. dom: 'Bfrtip',
  57. responsive: true,
  58. paging: false,
  59. ordering: false,
  60. info: false,
  61. buttons: [
  62. //'excelHtml5',
  63. 'pdfHtml5',
  64. 'print'
  65. ],
  66. columns: [
  67. { "data": "SNo" },
  68. { "data": "TranDate" },
  69. { "data": "JMENumber" },
  70. { "data": "SenderName" },
  71. { "data": "TransactionAmount" },
  72. { "data": "RunningBalance" }
  73. ]
  74. });
  75. $('#openingBalance').text(CurrencyFormatted(openingBalance));
  76. $('#totalCrCount').text(crCount);
  77. $('#totalCR').text(CurrencyFormatted(totalCr));
  78. $('#totalDrCount').text(drCount);
  79. $('#totalDR').text(CurrencyFormatted(totalDr));
  80. if (runningBalance > 0) {
  81. $('#DrOrCr').text('CR');
  82. }
  83. else {
  84. $('#DrOrCr').text('DR');
  85. }
  86. $('#closingBalance').text(CurrencyFormatted(runningBalance));
  87. $("#loadingDiv").LoadingOverlay("hide", true);
  88. }).fail(function () {
  89. $("#loadingDiv").LoadingOverlay("hide", true);
  90. swal(result.Msg, "Error Occured", "error");
  91. });
  92. });
  93. //Textbox with Comma Separation
  94. function CurrencyFormatted(amount) {
  95. var i = parseFloat(amount);
  96. if (isNaN(i)) { i = 0.00; }
  97. var minus = '';
  98. if (i < 0) { minus = '-'; }
  99. i = Math.abs(i);
  100. i = parseInt((i + .005) * 100);
  101. i = i / 100;
  102. s = new String(i);
  103. if (s.indexOf('.') < 0) { s += '.00'; }
  104. if (s.indexOf('.') == (s.length - 2)) { s += '0'; }
  105. //s = minus + s;
  106. //if (amount < 0)
  107. // s = -1 * amount;
  108. return CommaFormatted(s, amount);
  109. }
  110. function CommaFormatted(amount, amountMain) {
  111. var delimiter = ",";
  112. var a = amount.split('.', 2);
  113. var d = a[1];
  114. var i = parseInt(a[0]);
  115. if (isNaN(i)) { return ''; }
  116. var minus = '';
  117. if (i < 0) { minus = '-'; }
  118. i = Math.abs(i);
  119. var n = new String(i);
  120. var a = [];
  121. while (n.length > 3) {
  122. var nn = n.substr(n.length - 3);
  123. a.unshift(nn);
  124. n = n.substr(0, n.length - 3);
  125. }
  126. if (n.length > 0) { a.unshift(n); }
  127. n = a.join(delimiter);
  128. if (d.length < 1) { amount = n; }
  129. else { amount = n + '.' + d; }
  130. amount = minus + amount;
  131. if (amountMain < 0)
  132. return "(" + amount + ")";
  133. else
  134. return amount;
  135. }
  136. $(document).on('click', '.cmdPdf', function () {
  137. var prtContent = document.getElementById('mainFrame');
  138. var html = prtContent.contentWindow.document.getElementById("main").innerHTML;
  139. //alert(html);
  140. if (prtContent == null || prtContent == "" || prtContent == undefined) {
  141. return false;
  142. }
  143. window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
  144. });