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.
245 lines
15 KiB
245 lines
15 KiB
using Swift.DAL.AccountReport;
|
|
using Swift.web.Library;
|
|
using System;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web;
|
|
|
|
namespace Swift.web.AccountReport.PLAccount
|
|
{
|
|
public partial class PLAccount : System.Web.UI.Page
|
|
{
|
|
private readonly SwiftLibrary _s1 = new SwiftLibrary();
|
|
private readonly AccountStatementDAO st = new AccountStatementDAO();
|
|
private string Date = "";
|
|
private string Date2 = "";
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
_s1.CheckSession();
|
|
|
|
letterHead.Text = GetStatic.getCompanyHead();
|
|
Date = FromDate();
|
|
fromDate.Text = Date;
|
|
|
|
Date2 = ToDate();
|
|
toDate.Text = Date2;
|
|
|
|
GenerateReport();
|
|
}
|
|
|
|
protected string ToDate()
|
|
{
|
|
return GetStatic.ReadQueryString("toDate", "");
|
|
}
|
|
|
|
protected string FromDate()
|
|
{
|
|
return GetStatic.ReadQueryString("fromDate", "");
|
|
}
|
|
|
|
private void GenerateReport()
|
|
{
|
|
double SalesRevenueMonthTotal = 0, SalesRevenueYearTotal = 0;
|
|
double DirectCostMonthTotal = 0, DirectCostYearTotal = 0;
|
|
|
|
double OtherExpMonthTotal = 0, OtherExpYearTotal = 0;
|
|
double NonOpIncMonthTotal = 0, NonOpIncExpYearTotal = 0;
|
|
double CorporateTaxesMonthTotal = 0, CorporateTaxesExpYearTotal = 0;
|
|
|
|
var dt = st.GetPLReport(fromDate.Text, toDate.Text);
|
|
|
|
var SalesRevenue = dt.Select("p_id = '48'");
|
|
var DirectCost = dt.Select("p_id = '60'");
|
|
var OtherExp = dt.Select("p_id = '44'");
|
|
var NonOpInc = dt.Select("p_id = '45'");
|
|
var NonOpExp = dt.Select("p_id = '46'");
|
|
var CorporateTaxes = dt.Select("p_id = '47'");
|
|
|
|
var sb = new StringBuilder("");
|
|
//<div class=\"row\"><div class=\"form-control col-md-12 col-md-offset-0\">
|
|
sb.AppendLine("<div class=\"table-responsive\" ><table width='100%' class='table table-striped table-bordered' > ");
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<th rowspan='2' nowrap='nowrap' width='5%' style=\"text-align: center\"> Particulars </th>");
|
|
sb.AppendLine("<th nowrap='nowrap' colspan='2' width='3%' style=\"text-align: center\"> For the period </th>");
|
|
sb.AppendLine("<th nowrap='nowrap' colspan='2' width='3%' style=\"text-align: center\"> Year to Date </th>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
|
|
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
|
|
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
|
|
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Sales Revenue</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(SalesRevenue.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(SalesRevenue.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
GenerateRows(ref sb, SalesRevenue, out SalesRevenueMonthTotal, out SalesRevenueYearTotal);
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Direct Cost</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DirectCost.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DirectCost.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
GenerateRows(ref sb, DirectCost, out DirectCostMonthTotal, out DirectCostYearTotal);
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong> Gross Profit </strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((SalesRevenueMonthTotal + DirectCostMonthTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((SalesRevenueYearTotal + DirectCostYearTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Other Operating Expenses (SG&A)</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(OtherExp.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(OtherExp.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
GenerateRows(ref sb, OtherExp, out OtherExpMonthTotal, out OtherExpYearTotal);
|
|
|
|
double OperatingPLMonthTotal = 0, OperatingPLYearTotal = 0;
|
|
|
|
OperatingPLMonthTotal = SalesRevenueMonthTotal + DirectCostMonthTotal + OtherExpMonthTotal;
|
|
OperatingPLYearTotal = SalesRevenueYearTotal + DirectCostYearTotal + OtherExpYearTotal;
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Operating Profit/Loss</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((OperatingPLMonthTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((OperatingPLYearTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Non Operating Income</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(NonOpInc.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(OtherExp.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
GenerateRows(ref sb, NonOpInc, out NonOpIncMonthTotal, out NonOpIncExpYearTotal);
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Non Operating Expenses </strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(NonOpExp.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(NonOpExp.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
GenerateRows(ref sb, NonOpExp, out OtherExpMonthTotal, out OtherExpYearTotal);
|
|
|
|
double BeforePLMonthTotal = 0, BeforePLYearTotal = 0;
|
|
|
|
BeforePLMonthTotal = OperatingPLMonthTotal + NonOpIncMonthTotal + OtherExpMonthTotal;
|
|
BeforePLYearTotal = OperatingPLYearTotal + NonOpIncExpYearTotal + OtherExpYearTotal;
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Net Profit/Loss Before Corporate Tax</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLMonthTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLYearTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
var DepAndAmort = dt.Select("gl_code = '132'");
|
|
double DepAndAmortTotal = GetStatic.ParseDouble(DepAndAmort.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString());
|
|
double DepAndAmortYear = GetStatic.ParseDouble(DepAndAmort.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString());
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Depreciation & Amortization</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DepAndAmortTotal.ToString()) + "</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DepAndAmortYear.ToString()) + "</strong></td>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
double totalThisYearNetProfit = BeforePLMonthTotal + DepAndAmortTotal;
|
|
double thisYearThisYearNetProfit = BeforePLYearTotal + DepAndAmortYear;
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Net Profit/Loss Before Corporate Tax</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLMonthTotal + DepAndAmortTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLYearTotal + DepAndAmortYear).ToString()) + "</strong></td>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong>Corporate Taxes </strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(CorporateTaxes.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(CorporateTaxes.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
GenerateRows(ref sb, CorporateTaxes, out CorporateTaxesMonthTotal, out CorporateTaxesExpYearTotal);
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td ><strong> Net Profit/Loss </strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((totalThisYearNetProfit + CorporateTaxesMonthTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((thisYearThisYearNetProfit + CorporateTaxesExpYearTotal).ToString()) + "</strong></td>");
|
|
sb.AppendLine("</tr>");
|
|
|
|
sb.AppendLine("</table></div>");
|
|
|
|
plReport.InnerHtml = sb.ToString();
|
|
}
|
|
|
|
private void GenerateRows(ref StringBuilder sb, DataRow[] rowsArray, out double monthTotal, out double yearTotal)
|
|
{
|
|
monthTotal = yearTotal = 0;
|
|
foreach (DataRow item in rowsArray)
|
|
{
|
|
if (rowsArray == null || rowsArray.Length == 0)
|
|
{
|
|
break;
|
|
}
|
|
monthTotal = monthTotal + Convert.ToDouble(item["THISMONTH"].ToString());
|
|
yearTotal = yearTotal + Convert.ToDouble(item["YEARTODATE"].ToString());
|
|
|
|
sb.AppendLine("<tr>");
|
|
sb.AppendLine("<td> ");
|
|
sb.AppendLine(item["gl_Name"].ToString());
|
|
sb.AppendLine("</td>");
|
|
|
|
var THISMONTH = Convert.ToDouble(item["THISMONTH"].ToString());
|
|
var YEARTODATE = Convert.ToDouble(item["YEARTODATE"].ToString());
|
|
|
|
sb.AppendLine("<td align='right'> <a href='../BalanceSheet/SubLedger.aspx?company_id=&dt=" + Date2.ToString() + "&dt1=" + Date.ToString() + "&sentfrom=pl_account_dt&mapcode=" + item["gl_code"].ToString() + "&treeSape=" + item["tree_sape"].ToString() + "&head=" + item["gl_Name"].ToString() + "' title='Account Statement'>");
|
|
sb.AppendLine(GetStatic.GetNegativeFigureOnBrac((THISMONTH).ToString()));
|
|
sb.AppendLine("</a></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
//<a href="bl2_sub.asp?company_id=1&dt=<%=request("pl_date2")%>
|
|
//&mapcode=<%=RST("gl_code")%>&head=<%=RST("GL_DESC")%>&tree_sape=<%=RST("tree_sape")%>" title="Account Statement" >
|
|
|
|
sb.AppendLine("<td align='right'><a href='../BalanceSheet/SubLedger.aspx?company_id=&dt=" + Date2.ToString() + "&dt1=" + Date.ToString() + "&sentfrom=pl_account&mapcode=" + item["gl_code"].ToString() + "&head=" + item["gl_Name"].ToString() + "&treeSape=" + item["tree_sape"] + "' title='Account Statement'>");
|
|
sb.AppendLine(GetStatic.GetNegativeFigureOnBrac((YEARTODATE).ToString()));
|
|
sb.AppendLine("</a></td>");
|
|
sb.AppendLine("<td ><strong></strong> </td>");
|
|
sb.AppendLine("</tr>");
|
|
}
|
|
//sb.AppendLine("<tr>");
|
|
//sb.AppendLine("<td align='right'><strong> Total </strong></td>");
|
|
//sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((monthTotal < 0 ? monthTotal * -1 : monthTotal).ToString()) + "</strong></td>");
|
|
//sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((yearTotal < 0 ? yearTotal * -1 : yearTotal).ToString()) + "</strong></td>");
|
|
//sb.AppendLine("</tr>");
|
|
}
|
|
|
|
protected void pdf_Click(object sender, EventArgs e)
|
|
{
|
|
GetStatic.GetPDF(HttpUtility.UrlDecode(hidden.Value));
|
|
}
|
|
}
|
|
}
|