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.

262 lines
12 KiB

  1. using Swift.DAL.Remittance.Partner;
  2. using Swift.web.Library;
  3. using System;
  4. using System.Data;
  5. using System.Text;
  6. namespace Swift.web.Remit.AgeingReport
  7. {
  8. public partial class ReceivablesAgeing : System.Web.UI.Page
  9. {
  10. protected PartnerDao _dao = new PartnerDao();
  11. private readonly SwiftLibrary sl = new SwiftLibrary();
  12. protected void Page_Load(object sender, EventArgs e)
  13. {
  14. sl.CheckSession();
  15. if (!IsPostBack)
  16. {
  17. PopulateReport1();
  18. }
  19. }
  20. private void PopulateReport()
  21. {
  22. string asOnDate = GetStatic.ReadQueryString("asOnDate", "");
  23. DataSet ds = _dao.GetAgentAgeingReport(GetStatic.GetUser(), asOnDate);
  24. if (ds == null)
  25. {
  26. return;
  27. }
  28. DataTable drTbl = ds.Tables[1];
  29. DataTable crTbl = ds.Tables[0];
  30. int sNo = 0;
  31. string accNum = "";
  32. double belowFourDaysTotal = 0;
  33. double overFourDaysTotal = 0;
  34. double overOneMonthTotal = 0;
  35. double overThreeMonthTotal = 0;
  36. double overSixMonthTotal = 0;
  37. double outStandingTotal = 0;
  38. StringBuilder sb = new StringBuilder();
  39. foreach (DataRow item in drTbl.Rows)
  40. {
  41. sNo++;
  42. accNum = item["ACCOUNT_NUMBER"].ToString();
  43. DataRow[] rows = crTbl.Select("ACC_NUM = ('" + accNum + "')");
  44. double[] amt = GetAmountArray(item, GetDoubleValue(rows[0][0].ToString()));
  45. if (amt[0] != 0)
  46. {
  47. sb.AppendLine("<tr>");
  48. sb.AppendLine("<td>" + sNo.ToString() + "</td>");
  49. sb.AppendLine("<td>" + item["AGENT_NAME"].ToString() + "</td>");
  50. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[0]).ToString()) + "</td>");
  51. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[1]).ToString()) + "</td>");
  52. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[2]).ToString()) + "</td>");
  53. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[3]).ToString()) + "</td>");
  54. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[4]).ToString()) + "</td>");
  55. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[5]).ToString()) + "</td>");
  56. sb.AppendLine("</tr>");
  57. outStandingTotal += (amt[0]);
  58. belowFourDaysTotal += (amt[1]);
  59. overFourDaysTotal += (amt[2]);
  60. overOneMonthTotal += (amt[3]);
  61. overThreeMonthTotal += (amt[4]);
  62. overSixMonthTotal += (amt[5]);
  63. }
  64. }
  65. sb.AppendLine("<tr>");
  66. sb.AppendLine("<td align='right' colspan='2'><b>Grand Total</b></td>");
  67. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(outStandingTotal.ToString()) + "</b></td>");
  68. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(belowFourDaysTotal.ToString()) + "</b></td>");
  69. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overFourDaysTotal.ToString()) + "</b></td>");
  70. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overOneMonthTotal.ToString()) + "</b></td>");
  71. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overThreeMonthTotal.ToString()) + "</b></td>");
  72. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overSixMonthTotal.ToString()) + "</b></td>");
  73. sb.AppendLine("</tr>");
  74. ageingRptBody.InnerHtml = sb.ToString();
  75. }
  76. private void PopulateReport1()
  77. {
  78. string asOnDate = GetStatic.ReadQueryString("asOnDate", "");
  79. DataSet ds = _dao.GetAgentAgeingReport(GetStatic.GetUser(), asOnDate);
  80. if (ds == null)
  81. {
  82. return;
  83. }
  84. DataTable drTbl = ds.Tables[1];
  85. DataTable crTbl = ds.Tables[0];
  86. int sNo = 0;
  87. string accNum = "";
  88. double belowFourDaysTotal = 0;
  89. double overFourDaysTotal = 0;
  90. double overOneMonthTotal = 0;
  91. double overThreeMonthTotal = 0;
  92. double overSixMonthTotal = 0;
  93. double outStandingTotal = 0;
  94. double below100Days = 0;
  95. double over100Days = 0;
  96. StringBuilder sb = new StringBuilder();
  97. foreach (DataRow item in drTbl.Rows)
  98. {
  99. sNo++;
  100. accNum = item["ACCOUNT_NUMBER"].ToString();
  101. DataRow[] rows = crTbl.Select("ACC_NUM = ('" + accNum + "')");
  102. double[] amt = GetAmountArray(item, GetDoubleValue(rows[0][0].ToString()));
  103. double[] amt100Days = GetAmountArrayFor100Days(item, GetDoubleValue(rows[0][0].ToString()));
  104. if (amt[0] != 0)
  105. {
  106. sb.AppendLine("<tr>");
  107. sb.AppendLine("<td>" + sNo.ToString() + "</td>");
  108. sb.AppendLine("<td>" + item["AGENT_NAME"].ToString() + "</td>");
  109. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[0]).ToString()) + "</td>");
  110. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[1]).ToString()) + "</td>");
  111. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[2]).ToString()) + "</td>");
  112. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[3]).ToString()) + "</td>");
  113. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[4]).ToString()) + "</td>");
  114. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt[5]).ToString()) + "</td>");
  115. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt100Days[1]).ToString()) + "</td>");
  116. sb.AppendLine("<td align='right'>" + GetStatic.GetNegativeFigureOnBrac((amt100Days[2]).ToString()) + "</td>");
  117. sb.AppendLine("</tr>");
  118. outStandingTotal += (amt[0]);
  119. belowFourDaysTotal += (amt[1]);
  120. overFourDaysTotal += (amt[2]);
  121. overOneMonthTotal += (amt[3]);
  122. overThreeMonthTotal += (amt[4]);
  123. overSixMonthTotal += (amt[5]);
  124. below100Days += amt100Days[1];
  125. over100Days += amt100Days[2];
  126. }
  127. }
  128. sb.AppendLine("<tr>");
  129. sb.AppendLine("<td align='right' colspan='2'><b>Grand Total</b></td>");
  130. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(outStandingTotal.ToString()) + "</b></td>");
  131. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(belowFourDaysTotal.ToString()) + "</b></td>");
  132. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overFourDaysTotal.ToString()) + "</b></td>");
  133. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overOneMonthTotal.ToString()) + "</b></td>");
  134. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overThreeMonthTotal.ToString()) + "</b></td>");
  135. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(overSixMonthTotal.ToString()) + "</b></td>");
  136. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(below100Days.ToString()) + "</b></td>");
  137. sb.AppendLine("<td align='right'><b>" + GetStatic.GetNegativeFigureOnBrac(over100Days.ToString()) + "</b></td>");
  138. sb.AppendLine("</tr>");
  139. ageingRptBody.InnerHtml = sb.ToString();
  140. }
  141. private double[] GetAmountArrayFor100Days(DataRow item, double crAmount)
  142. {
  143. double[] amt = new double[3];
  144. amt[0] = GetDoubleValue(item["TOTAL_OUT_STANDING"].ToString()) - crAmount;
  145. crAmount = GetDoubleValue(item["OVER_100_DAYS"].ToString()) - crAmount;
  146. if (crAmount < 0)
  147. {
  148. amt[2] = 0;
  149. amt[1] = GetDoubleValue(item["BELOW_100_DAYS"].ToString()) + crAmount;
  150. }
  151. else
  152. {
  153. amt[2] = crAmount;
  154. amt[1] = GetDoubleValue(item["BELOW_100_DAYS"].ToString());
  155. }
  156. //if (GetDoubleValue(item["OVER_100_DAYS"].ToString()) < crAmount)
  157. //{
  158. // amt[2] = 0;
  159. // amt[1] = GetDoubleValue(item["BELOW_100_DAYS"].ToString()) - crAmount;
  160. //}
  161. //else
  162. //{
  163. // amt[2] = GetDoubleValue(item["OVER_100_DAYS"].ToString()) - crAmount;
  164. // amt[1] = GetDoubleValue(item["BELOW_100_DAYS"].ToString());
  165. //}
  166. return amt;
  167. }
  168. private double[] GetAmountArray(DataRow item, double crAmount)
  169. {
  170. double[] amt = new double[6];
  171. amt[0] = GetDoubleValue(item["TOTAL_OUT_STANDING"].ToString()) - crAmount;
  172. if (GetDoubleValue(item["OVER_SIX_MONTH"].ToString()) < crAmount)
  173. {
  174. crAmount = GetDoubleValue(item["OVER_SIX_MONTH"].ToString()) - crAmount;
  175. if (crAmount < 0)
  176. {
  177. amt[5] = 0;
  178. crAmount = GetDoubleValue(item["OVER_THREE_MONTH"].ToString()) + crAmount;
  179. if (crAmount < 0)
  180. {
  181. amt[4] = 0;
  182. crAmount = GetDoubleValue(item["OVER_ONE_MONTH"].ToString()) + crAmount;
  183. if (crAmount < 0)
  184. {
  185. amt[3] = 0;
  186. crAmount = GetDoubleValue(item["OVER_FOUR_DAYS"].ToString()) + crAmount;
  187. if (crAmount < 0)
  188. {
  189. amt[2] = 0;
  190. amt[1] = GetDoubleValue(item["BELOW_FOUR_DAYS"].ToString()) + crAmount;
  191. }
  192. else
  193. {
  194. amt[2] = crAmount;
  195. amt[1] = GetDoubleValue(item["BELOW_FOUR_DAYS"].ToString());
  196. }
  197. }
  198. else
  199. {
  200. amt[3] = crAmount;
  201. amt[2] = GetDoubleValue(item["OVER_FOUR_DAYS"].ToString());
  202. amt[1] = GetDoubleValue(item["BELOW_FOUR_DAYS"].ToString());
  203. }
  204. }
  205. else
  206. {
  207. amt[4] = crAmount;
  208. amt[3] = GetDoubleValue(item["OVER_ONE_MONTH"].ToString());
  209. amt[2] = GetDoubleValue(item["OVER_FOUR_DAYS"].ToString());
  210. amt[1] = GetDoubleValue(item["BELOW_FOUR_DAYS"].ToString());
  211. }
  212. }
  213. else
  214. {
  215. amt[4] = crAmount;
  216. amt[3] = GetDoubleValue(item["OVER_THREE_MONTH"].ToString());
  217. amt[2] = GetDoubleValue(item["OVER_ONE_MONTH"].ToString());
  218. amt[2] = GetDoubleValue(item["OVER_FOUR_DAYS"].ToString());
  219. amt[1] = GetDoubleValue(item["BELOW_FOUR_DAYS"].ToString());
  220. }
  221. }
  222. else
  223. {
  224. amt[5] = GetDoubleValue(item["OVER_SIX_MONTH"].ToString()) - crAmount;
  225. amt[4] = GetDoubleValue(item["OVER_THREE_MONTH"].ToString());
  226. amt[3] = GetDoubleValue(item["OVER_ONE_MONTH"].ToString());
  227. amt[2] = GetDoubleValue(item["OVER_FOUR_DAYS"].ToString());
  228. amt[1] = GetDoubleValue(item["BELOW_FOUR_DAYS"].ToString());
  229. }
  230. return amt;
  231. }
  232. public double GetDoubleValue(string inPutVal)
  233. {
  234. double outPut = 0;
  235. Double.TryParse(inPutVal, out outPut);
  236. return outPut;
  237. }
  238. }
  239. }