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.

204 lines
7.5 KiB

4 years ago
  1. function ViewStatementReport(type) {
  2. var startDate = '';
  3. var endDate = '';
  4. if (type == 're') {
  5. startDate = $('#startDateAfterSearch').val();
  6. endDate = $('#endDateAfterSearch').val();
  7. }
  8. else {
  9. reqField = "startDate,endDate,acInfo_aText,";
  10. if (ValidRequiredField(reqField) === false) {
  11. return false;
  12. }
  13. $('#accDetails').text($('#acInfo_aText').val());
  14. $('#startDateAfterSearch').val($('#startDate').val());
  15. $('#endDateAfterSearch').val($('#endDate').val());
  16. startDate = $('#startDate').val();
  17. endDate = $('#endDate').val();
  18. }
  19. $('#Search').attr('disabled', true);
  20. $('#SearchAgain').attr('disabled', true);
  21. var dataObject = {
  22. MethodName: 'ViewStatement',
  23. FromDate: startDate,
  24. ToDate: endDate,
  25. accNum: $('#acInfo_aValue').val(),
  26. accName: $('#acInfo_aText').val(),
  27. accCurr: $("#ddlCurrency").val(),
  28. type: 'a'
  29. };
  30. url = '';
  31. $.post(url, dataObject, function (data) {
  32. $('#statementResult').show();
  33. $('#searchDiv').hide();
  34. var sn = 1;
  35. var BAlance = 0, OpenBalnce = 0, fcyOpening = 0, crAmt = 0, drAmt = 0;
  36. var drCount = 0, crCount = 0;
  37. var drLink = '', curr = '';
  38. var url = '';
  39. var table = $('#statementReportTbl');
  40. table.find("tbody tr").remove();
  41. $('#Search').attr('disabled', false);
  42. $('#SearchAgain').attr('disabled', false);
  43. var result = data;//jQuery.parseJSON(data);
  44. $.each(result, function (i, d) {
  45. curr = d['fcy_Curr'];
  46. if (d['tran_particular'] == 'Balance Brought Forward') {
  47. sn = 0;
  48. if (d['fcy_Curr'] == null || d['fcy_Curr'] == 'JPY') {
  49. OpenBalnce = parseFloat(d['tran_amt']);
  50. }
  51. else {
  52. OpenBalnce = parseFloat(d['usd_amt']);
  53. }
  54. fcyOpening = parseFloat(d['usd_amt']);
  55. BAlance = parseFloat(d['tran_amt']);
  56. }
  57. else {
  58. if (d['part_tran_type'] == 'dr') {
  59. if (d['fcy_Curr'] == null || d['fcy_Curr'] == 'JPY') {
  60. drAmt += parseFloat(d['tran_amt']);
  61. }
  62. else {
  63. drAmt += parseFloat(d['usd_amt']);
  64. }
  65. drCount++;
  66. }
  67. else {
  68. if (d['fcy_Curr'] == null || d['fcy_Curr'] == 'JPY') {
  69. crAmt += parseFloat(d['tran_amt']);
  70. }
  71. else {
  72. crAmt += parseFloat(d['usd_amt']);
  73. }
  74. crCount++;
  75. }
  76. BAlance += parseFloat(d['tran_amt']);
  77. fcyOpening += parseFloat(d['usd_amt']);
  78. }
  79. url = 'userreportResultSingle.aspx?company_id=1&vouchertype=' + d['tran_type'] + '&type=trannumber&trn_date=' + d['tran_date'] + '&tran_num=' + d['ref_num'];
  80. drLink = '<a href="javascript:void(0)" onclick="OpenInNewWindow(\'' + url + '\')"';
  81. drLink += ' title="Transaction info">';
  82. drLink += CurrencyFormatted(parseFloat(d['tran_amt'])) + '</a>';
  83. var row = '<tr>';
  84. row += '<td>' + sn + '</td>';
  85. row += '<td nowrap align="center">' + (d['tran_date'] == '1900.01.01' ? '&nbsp;' : d['tran_date']) + '</td>';
  86. row += '<td>' + d['tran_particular'] + '</td>';
  87. row += '<td>' + d['fcy_Curr'] + '</td>';
  88. row += '<td>' + CurrencyFormatted(parseFloat(d['usd_amt'])) + '</td>';
  89. row += '<td>' + CurrencyFormatted(parseFloat(fcyOpening)) + '</td>';
  90. row += '<td>' + d['part_tran_type'] + '</td>';
  91. row += '<td>' + (d['tran_particular'] == 'Balance Brought Forward' ? CurrencyFormatted(parseFloat(d['tran_amt'])) : drLink) + '</td>';
  92. row += '<td>' + CurrencyFormatted(parseFloat(BAlance)) + '</td>';
  93. row += '<td>' + (parseFloat(BAlance) > 0 ? 'CR' : 'DR') + '</td>';
  94. if (d['hasRight'] && sn > 0) {
  95. url = 'userreportResultSingle.aspx?r=Y&company_id=1&vouchertype=' + d["tran_type"] + '&type=trannumber&trn_date=' + d["tran_date"] + '&tran_num=' + d["ref_num"];
  96. drLink = '<a class="btn btn-danger" href="javascript:void(0)" onclick="OpenInNewWindow(\'' + url + '\')"';
  97. drLink += ' title="Transaction info">Reverse</a>';
  98. row += '<td>' + drLink + '</td>';
  99. }
  100. row += '</tr>';
  101. table.append(row);
  102. sn++;
  103. });
  104. $('#openingBalance').text(CurrencyFormatted(OpenBalnce));
  105. $('#totalCrCount').text(crCount);
  106. $('#totalCR').text(CurrencyFormatted(crAmt));
  107. $('#totalDrCount').text(drCount);
  108. $('#totalDR').text(CurrencyFormatted(drAmt));
  109. $('#DrOrCr').text((BAlance > 0 ? "CR" : "DR"));
  110. if (curr == null || curr == "JPY") {
  111. $('#closingBalance').text(CurrencyFormatted(BAlance > 0 ? BAlance * -1 : BAlance));
  112. }
  113. else {
  114. $('#closingBalance').text(CurrencyFormatted(fcyOpening > 0 ? fcyOpening * -1 : fcyOpening));
  115. }
  116. }).fail(function () {
  117. $('#Search').attr('disabled', false);
  118. $('#SearchAgain').attr('disabled', false);
  119. alert('error occured!');
  120. });
  121. };
  122. var guid = (function () {
  123. function s4() {
  124. return Math.floor((1 + Math.random()) * 0x10000)
  125. .toString(16)
  126. .substring(1);
  127. }
  128. return function () {
  129. return s4() + s4() + '' + s4() + '' + s4();
  130. };
  131. })();
  132. function OpenInNewWindow(url) {
  133. url = url + "&srcCode=" + guid;
  134. window.open(url, "", "width=825,height=500,resizable=1,status=1,toolbar=0,scrollbars=1,center=1");
  135. }
  136. //Textbox with Comma Separation
  137. function CurrencyFormatted(amount) {
  138. var i = parseFloat(amount);
  139. if (isNaN(i)) { i = 0.00; }
  140. var minus = '';
  141. if (i < 0) { minus = '-'; }
  142. i = Math.abs(i);
  143. i = parseInt((i + .005) * 100);
  144. i = i / 100;
  145. s = new String(i);
  146. if (s.indexOf('.') < 0) { s += '.00'; }
  147. if (s.indexOf('.') == (s.length - 2)) { s += '0'; }
  148. //s = minus + s;
  149. //if (amount < 0)
  150. // s = -1 * amount;
  151. return CommaFormatted(s, amount);
  152. }
  153. function CommaFormatted(amount, amountMain) {
  154. var delimiter = ",";
  155. var a = amount.split('.', 2);
  156. var d = a[1];
  157. var i = parseInt(a[0]);
  158. if (isNaN(i)) { return ''; }
  159. var minus = '';
  160. if (i < 0) { minus = '-'; }
  161. i = Math.abs(i);
  162. var n = new String(i);
  163. var a = [];
  164. while (n.length > 3) {
  165. var nn = n.substr(n.length - 3);
  166. a.unshift(nn);
  167. n = n.substr(0, n.length - 3);
  168. }
  169. if (n.length > 0) { a.unshift(n); }
  170. n = a.join(delimiter);
  171. if (d.length < 1) { amount = n; }
  172. else { amount = n + '.' + d; }
  173. amount = minus + amount;
  174. if (amountMain > 0)
  175. return "(" + amount + ")";
  176. else
  177. return amount;
  178. }
  179. $(document).on('click', '.cmdPdf', function () {
  180. var prtContent = document.getElementById('mainFrame');
  181. var html = prtContent.contentWindow.document.getElementById("main").innerHTML;
  182. //alert(html);
  183. if (prtContent == null || prtContent == "" || prtContent == undefined) {
  184. return false;
  185. }
  186. window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
  187. });