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.

211 lines
7.6 KiB

  1. function ViewStatementReport(type, source) {
  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. debugger;
  80. if (source === 'old') {
  81. url = 'userreportResultSingleold.aspx?company_id=1&vouchertype=' + d['tran_type'] + '&type=trannumber&trn_date=' + d['tran_date'] + '&tran_num=' + d['ref_num'];
  82. }
  83. else
  84. url = 'userreportResultSingle.aspx?company_id=1&vouchertype=' + d['tran_type'] + '&type=trannumber&trn_date=' + d['tran_date'] + '&tran_num=' + d['ref_num'];
  85. drLink = '<a href="javascript:void(0)" onclick="OpenInNewWindow(\'' + url + '\')"';
  86. drLink += ' title="Transaction info">';
  87. drLink += CurrencyFormatted(parseFloat(d['tran_amt'])) + '</a>';
  88. var row = '<tr>';
  89. row += '<td>' + sn + '</td>';
  90. row += '<td nowrap align="center">' + (d['tran_date'] == '1900.01.01' ? '&nbsp;' : d['tran_date']) + '</td>';
  91. row += '<td>' + d['tran_particular'] + '</td>';
  92. row += '<td>' + d['fcy_Curr'] + '</td>';
  93. row += '<td>' + CurrencyFormatted(parseFloat(d['usd_amt'])) + '</td>';
  94. row += '<td>' + CurrencyFormatted(parseFloat(fcyOpening)) + '</td>';
  95. row += '<td>' + d['part_tran_type'] + '</td>';
  96. row += '<td>' + (d['tran_particular'] == 'Balance Brought Forward' ? CurrencyFormatted(parseFloat(d['tran_amt'])) : drLink) + '</td>';
  97. row += '<td>' + CurrencyFormatted(parseFloat(BAlance)) + '</td>';
  98. row += '<td>' + (parseFloat(BAlance) > 0 ? 'CR' : 'DR') + '</td>';
  99. if (d['hasRight'] && sn > 0) {
  100. url = 'userreportResultSingle.aspx?r=Y&company_id=1&vouchertype=' + d["tran_type"] + '&type=trannumber&trn_date=' + d["tran_date"] + '&tran_num=' + d["ref_num"];
  101. drLink = '<a class="btn btn-danger" href="javascript:void(0)" onclick="OpenInNewWindow(\'' + url + '\')"';
  102. drLink += ' title="Transaction info">Reverse</a>';
  103. row += '<td>' + drLink + '</td>';
  104. }
  105. row += '</tr>';
  106. table.append(row);
  107. sn++;
  108. });
  109. $('#openingBalance').text(CurrencyFormatted(OpenBalnce));
  110. $('#totalCrCount').text(crCount);
  111. $('#totalCR').text(CurrencyFormatted(crAmt));
  112. $('#totalDrCount').text(drCount);
  113. $('#totalDR').text(CurrencyFormatted(drAmt));
  114. $('#DrOrCr').text((BAlance > 0 ? "CR" : "DR"));
  115. if (curr == null || curr == "JPY") {
  116. $('#closingBalance').text(CurrencyFormatted(BAlance > 0 ? BAlance * -1 : BAlance));
  117. }
  118. else {
  119. $('#closingBalance').text(CurrencyFormatted(fcyOpening > 0 ? fcyOpening * -1 : fcyOpening));
  120. }
  121. }).fail(function () {
  122. $('#Search').attr('disabled', false);
  123. $('#SearchAgain').attr('disabled', false);
  124. alert('error occured!');
  125. });
  126. };
  127. var guid = (function () {
  128. function s4() {
  129. return Math.floor((1 + Math.random()) * 0x10000)
  130. .toString(16)
  131. .substring(1);
  132. }
  133. return function () {
  134. return s4() + s4() + '' + s4() + '' + s4();
  135. };
  136. })();
  137. function OpenInNewWindow(url) {
  138. url = url + "&srcCode=" + guid;
  139. window.open(url, "", "width=825,height=500,resizable=1,status=1,toolbar=0,scrollbars=1,center=1");
  140. }
  141. //Textbox with Comma Separation
  142. function CurrencyFormatted(amount) {
  143. var i = parseFloat(amount);
  144. if (isNaN(i)) { i = 0.00; }
  145. var minus = '';
  146. if (i < 0) { minus = '-'; }
  147. i = Math.abs(i);
  148. i = parseInt((i + .005) * 100);
  149. i = i / 100;
  150. s = new String(i);
  151. if (s.indexOf('.') < 0) { s += '.00'; }
  152. if (s.indexOf('.') == (s.length - 2)) { s += '0'; }
  153. //s = minus + s;
  154. //if (amount < 0)
  155. // s = -1 * amount;
  156. return CommaFormatted(s, amount);
  157. }
  158. function CommaFormatted(amount, amountMain) {
  159. var delimiter = ",";
  160. var a = amount.split('.', 2);
  161. var d = a[1];
  162. var i = parseInt(a[0]);
  163. if (isNaN(i)) { return ''; }
  164. var minus = '';
  165. if (i < 0) { minus = '-'; }
  166. i = Math.abs(i);
  167. var n = new String(i);
  168. var a = [];
  169. while (n.length > 3) {
  170. var nn = n.substr(n.length - 3);
  171. a.unshift(nn);
  172. n = n.substr(0, n.length - 3);
  173. }
  174. if (n.length > 0) { a.unshift(n); }
  175. n = a.join(delimiter);
  176. if (d.length < 1) { amount = n; }
  177. else { amount = n + '.' + d; }
  178. amount = minus + amount;
  179. if (amountMain > 0)
  180. return "(" + amount + ")";
  181. else
  182. return amount;
  183. }
  184. $(document).on('click', '.cmdPdf', function () {
  185. var prtContent = document.getElementById('mainFrame');
  186. var html = prtContent.contentWindow.document.getElementById("main").innerHTML;
  187. //alert(html);
  188. if (prtContent == null || prtContent == "" || prtContent == undefined) {
  189. return false;
  190. }
  191. window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
  192. });