855 lines
60 KiB
C#
855 lines
60 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Data;
|
|||
|
using Payroll.BO;
|
|||
|
using Ease.CoreV35.Model;
|
|||
|
|
|||
|
namespace Payroll.Report
|
|||
|
{
|
|||
|
public class Report108
|
|||
|
{
|
|||
|
ObjectsTemplate<Employee> _Employees = null;
|
|||
|
private ReportSetup _selectedParameter;
|
|||
|
|
|||
|
public ReportSetup SelectedParameter
|
|||
|
{
|
|||
|
set
|
|||
|
{
|
|||
|
_selectedParameter = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public Report108()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public string GetFromDate(Employee oEmp, string sFiscalYear)
|
|||
|
{
|
|||
|
DateTime dStartDate;
|
|||
|
DateTime dFromDate;
|
|||
|
DateTime dToDate;
|
|||
|
string[] sFiscalYear1 = sFiscalYear.Split(new char[] { '-' });
|
|||
|
dFromDate = Convert.ToDateTime(sFiscalYear1[0].ToString());
|
|||
|
dToDate = Convert.ToDateTime(sFiscalYear1[1]);
|
|||
|
if (oEmp.JoiningDate > dFromDate)
|
|||
|
{
|
|||
|
dStartDate = oEmp.JoiningDate;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
dStartDate = dFromDate;
|
|||
|
}
|
|||
|
return Convert.ToString(dStartDate);
|
|||
|
}
|
|||
|
|
|||
|
public string GetToDate(Employee oEmp, string sFiscalYear)
|
|||
|
{
|
|||
|
DateTime dTempEndDate;
|
|||
|
DateTime dFromDate;
|
|||
|
DateTime dToDate;
|
|||
|
DateTime dEndDate = DateTime.Now;
|
|||
|
string[] sFiscalYear1 = sFiscalYear.Split(new char[] { '-' });
|
|||
|
dFromDate = Convert.ToDateTime(sFiscalYear1[0]);
|
|||
|
dToDate = Convert.ToDateTime(sFiscalYear1[1]);
|
|||
|
if (oEmp.Status != EnumEmployeeStatus.Live)
|
|||
|
{
|
|||
|
dTempEndDate = oEmp.DiscontinueDate;
|
|||
|
if (dTempEndDate < dToDate)
|
|||
|
{
|
|||
|
dEndDate = dTempEndDate;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
dEndDate = dToDate;
|
|||
|
}
|
|||
|
return Convert.ToString(dEndDate);
|
|||
|
}
|
|||
|
#region Unused Code
|
|||
|
|
|||
|
//public void GetDataReport108()
|
|||
|
//{
|
|||
|
// fReportViewer form = new fReportViewer();
|
|||
|
|
|||
|
// ID nTaxParamID=_selectedParameter.TaxParameters[0].ID;
|
|||
|
// string sEmpNo=_selectedParameter.ReportItem.INSQL;
|
|||
|
// TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
|
|||
|
// DataRow oDRow = null;
|
|||
|
// PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
|
|||
|
// int nIndex;
|
|||
|
// int nCount = 1;
|
|||
|
// double GrandTotal;
|
|||
|
// ObjectsTemplate<IncomeTax> oIncomeTaxs = null;
|
|||
|
// IncomeTax oIncomeTax=new IncomeTax();
|
|||
|
// _Employees = Employee.GetByEmpIDs(sEmpNo);
|
|||
|
// double nAmount = 0;
|
|||
|
// double nTempAmount = 0;
|
|||
|
// foreach(Employee oEmp in _Employees)
|
|||
|
// {
|
|||
|
// GrandTotal=0.0;
|
|||
|
// oDRow = dTreport108.NewRow();
|
|||
|
// if(nTaxParamID==Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
// {
|
|||
|
// oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
|
|||
|
// }
|
|||
|
// nTempAmount = 0;
|
|||
|
// nAmount = 0;
|
|||
|
// GrandTotal = 0;
|
|||
|
// if(oIncomeTax!=null)
|
|||
|
// {
|
|||
|
// nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
|
|||
|
// oDRow["TIN"] = oEmp.TinNo;
|
|||
|
// oDRow["SLNo"] = nCount;//col 1
|
|||
|
// oDRow["EmpNo"] = oEmp.EmployeeNo;
|
|||
|
// oDRow["Name"] = oEmp.Name;//col 2
|
|||
|
// oDRow["PostalAdd"] = "";//Postal Address ,col 3
|
|||
|
// oDRow["NEmployee"] = oEmp.Designation.Name;//Nature of Employee ,col 4
|
|||
|
|
|||
|
// nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).TotalAmount : 0.0);//Total Amount of Salary Basic+Bonus, col 5
|
|||
|
// GrandTotal = GrandTotal + nAmount;
|
|||
|
// oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
// nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
|
|||
|
// GrandTotal = GrandTotal + nAmount;
|
|||
|
// oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
// oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);
|
|||
|
|
|||
|
// nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance).TotalAmount : 0.0);//Periodical Cash Allowance, col 6
|
|||
|
// nTempAmount = nTempAmount + nAmount;
|
|||
|
// oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
// nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
|
|||
|
// oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
// nTempAmount = nTempAmount - nAmount;
|
|||
|
// oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
// GrandTotal = GrandTotal + nTempAmount;
|
|||
|
|
|||
|
// nTempAmount = 0;
|
|||
|
// nAmount = 0;
|
|||
|
// IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
|
|||
|
// if (oITax != null)
|
|||
|
// {
|
|||
|
// nAmount = oITax.TotalAmount;
|
|||
|
// oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount);
|
|||
|
// }
|
|||
|
// else
|
|||
|
// oDRow["CEarned"] = 0.0;
|
|||
|
// nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
|
|||
|
// oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
|
|||
|
// oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
// GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
// nTempAmount = 0;
|
|||
|
// nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance).TotalAmount : 0);
|
|||
|
// oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
// nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
|
|||
|
// oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
// oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
// GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
// oDRow["Entertainment"] = 0;
|
|||
|
// nAmount = 0;
|
|||
|
// foreach (IncomeTax titem in oIncomeTaxs)
|
|||
|
// {
|
|||
|
// if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
|
|||
|
// {
|
|||
|
// if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
|
|||
|
// && titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
|
|||
|
// && titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
|
|||
|
// && titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
|
|||
|
// && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
|
|||
|
// && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House)
|
|||
|
// {
|
|||
|
// nAmount = nAmount + titem.TotalAmount;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
// GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
// oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
|
|||
|
// oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
|
|||
|
// oDRow["SANDOtherSum"] = 0;//Salary and all other Sum ,col 8
|
|||
|
|
|||
|
// nAmount =IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
|
|||
|
// GrandTotal = GrandTotal + nAmount;
|
|||
|
// oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
// oDRow["EnterAllowance"] = 0;//Amount of Entertaitment Allowance ,col 10
|
|||
|
// oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0);
|
|||
|
// oDRow["SPByEmployeer"] = 0;//Salary Paid by employeer ,col 12
|
|||
|
// oDRow["VOfFree"] = 0;//Value of Rent Free Accomodation or Value of any Concession in Rent for the Accomodation provided by the Employer,col 13
|
|||
|
|
|||
|
// nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
|
|||
|
// oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
// GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
// oDRow["InterestCredit"] = 0; //Math.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Interest Credit to the assessee's accout in a recognised provident fund,col 15
|
|||
|
// oDRow["VofAnyBenefit"] = 0;//Value of any benefit ,col 15
|
|||
|
// //GrandTotal = GrandTotal +
|
|||
|
// // Convert.ToDouble(oDRow["SANDOtherSum"]) +
|
|||
|
// // Convert.ToDouble(oDRow["BasicPercent"]) +
|
|||
|
// // Convert.ToDouble(oDRow["EnterAllowance"]) +
|
|||
|
// // Convert.ToDouble(oDRow["VechilesPercent"]) +
|
|||
|
// // Convert.ToDouble(oDRow["SPByEmployeer"]) +
|
|||
|
// // Convert.ToDouble(oDRow["VOfFree"]) +
|
|||
|
// // Convert.ToDouble(oDRow["EContribution"])
|
|||
|
// // + Convert.ToDouble(oDRow["InterestCredit"])
|
|||
|
// // + Convert.ToDouble(oDRow["VofAnyBenefit"]);
|
|||
|
|
|||
|
// oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);//Total Col 5,6,8 to 16 ,col 16
|
|||
|
// oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
|
|||
|
// oDRow["ConToTheProvident"] = 0;//Contribution to the provident ,col 18
|
|||
|
// oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Taxable Income ,col 19
|
|||
|
// //double ndjustedAmount = 0.0;
|
|||
|
// //double totalAmountNow = 0.0;
|
|||
|
// //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
// //{
|
|||
|
// // foreach (IncomeTax oItem in oIncomeTaxs)
|
|||
|
// // {
|
|||
|
// // if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax || oItem.Side == EnumIncomeTaxSide.Dec_GrossTax)
|
|||
|
// // {
|
|||
|
// // if (oItem.ItemGroup != EnumIncomeTaxItemGroup.Tax_Credit_On_Investment)
|
|||
|
// // {
|
|||
|
// // if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax)
|
|||
|
// // ndjustedAmount = ndjustedAmount + oItem.TotalAmount;
|
|||
|
// // else
|
|||
|
// // ndjustedAmount = ndjustedAmount - oItem.TotalAmount;
|
|||
|
// // }
|
|||
|
// // }
|
|||
|
// // }
|
|||
|
// // IncomeTax oNetTaxPayable = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable, (int)EnumIncomeTaxItemGroup.Net_Payable);
|
|||
|
|
|||
|
// // if (oNetTaxPayable != null)
|
|||
|
// // {
|
|||
|
// // oNetTaxPayable.TotalAmount = oNetTaxPayable.TotalAmount - ndjustedAmount;
|
|||
|
// // totalAmountNow = oNetTaxPayable.TotalAmount;
|
|||
|
// // oDRow["TaxPayable"] = GlobalFunctions.TakaFormat(oNetTaxPayable.TotalAmount);
|
|||
|
// // }
|
|||
|
// //}
|
|||
|
// //else
|
|||
|
// //{
|
|||
|
// oDRow["TaxPayable"] =
|
|||
|
// GlobalFunctions.TakaFormat(
|
|||
|
// IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
// (int) EnumIncomeTaxItemGroup.Net_Payable) != null
|
|||
|
// ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
// (int) EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
|
|||
|
// : 0); //Tax Payable ,col 20
|
|||
|
// // }
|
|||
|
// oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
|
|||
|
// //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
// //{
|
|||
|
// // oDRow["TaxActualDeduct"] = GlobalFunctions.TakaFormat(totalAmountNow);
|
|||
|
// //}
|
|||
|
// //else
|
|||
|
// //{
|
|||
|
// oDRow["TaxActualDeduct"] =
|
|||
|
// GlobalFunctions.TakaFormat(
|
|||
|
// IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
// (int) EnumIncomeTaxItemGroup.Tax_Deducted) != null
|
|||
|
// ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
// (int) EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
|
|||
|
// : 0); //Tax actually deduct ,col 21
|
|||
|
// // }
|
|||
|
|
|||
|
// oDRow["Remarks"] = "";//Remarks ,col 22
|
|||
|
// dTreport108.Rows.Add(oDRow);
|
|||
|
// nCount++;
|
|||
|
|
|||
|
// }
|
|||
|
// }
|
|||
|
// form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108);
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
|
|||
|
public void GetDataReport108()
|
|||
|
{
|
|||
|
fReportViewer form = new fReportViewer();
|
|||
|
|
|||
|
ID nTaxParamID = _selectedParameter.TaxParameters[0].ID;
|
|||
|
string sEmpNo = _selectedParameter.ReportItem.INSQL;
|
|||
|
TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
|
|||
|
DataRow oDRow = null;
|
|||
|
PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
|
|||
|
int nIndex;
|
|||
|
int nCount = 1;
|
|||
|
double GrandTotal;
|
|||
|
ObjectsTemplate<IncomeTax> oIncomeTaxs = null;
|
|||
|
IncomeTax oIncomeTax = new IncomeTax();
|
|||
|
//_Employees = Employee.GetWithDiscontinue();
|
|||
|
_Employees = Employee.GetEmpsWithDiscontinue(sEmpNo);
|
|||
|
double nAmount = 0;
|
|||
|
double nTempAmount = 0;
|
|||
|
|
|||
|
foreach (Employee oEmp in _Employees)
|
|||
|
{
|
|||
|
GrandTotal = 0.0;
|
|||
|
oDRow = dTreport108.NewRow();
|
|||
|
if (nTaxParamID == Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
{
|
|||
|
oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
|
|||
|
}
|
|||
|
if (oIncomeTaxs == null) continue;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = 0;
|
|||
|
GrandTotal = 0;
|
|||
|
if (oIncomeTax != null)
|
|||
|
{
|
|||
|
nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
|
|||
|
oDRow["TIN"] = oEmp.TinNo;
|
|||
|
oDRow["SLNo"] = nCount;//col 1
|
|||
|
oDRow["EmpNo"] = oEmp.EmployeeNo;
|
|||
|
oDRow["Name"] = oEmp.Name;//col 2
|
|||
|
oDRow["PostalAdd"] = "";//Postal Address ,col 3
|
|||
|
oDRow["NEmployee"] = oEmp.DescriptionText;//Nature of Employee ,col 4
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).TotalAmount : 0.0);//Total Amount of Salary Basic+Bonus, col 5
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance).TotalAmount : 0.0);//Periodical Cash Allowance, col 6
|
|||
|
nTempAmount = nTempAmount + nAmount;
|
|||
|
oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
nTempAmount = nTempAmount - nAmount;
|
|||
|
oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nTempAmount;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = 0;
|
|||
|
IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
|
|||
|
if (oITax != null)
|
|||
|
{
|
|||
|
nAmount = oITax.TotalAmount;
|
|||
|
oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount);
|
|||
|
}
|
|||
|
else
|
|||
|
oDRow["CEarned"] = 0.0;
|
|||
|
nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
|
|||
|
oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance).TotalAmount : 0);
|
|||
|
oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
oDRow["Entertainment"] = 0;
|
|||
|
nAmount = 0;
|
|||
|
foreach (IncomeTax titem in oIncomeTaxs)
|
|||
|
{
|
|||
|
if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
|
|||
|
{
|
|||
|
if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Medical_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.LFA_Allowance)
|
|||
|
{
|
|||
|
nAmount = nAmount + titem.TotalAmount;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
|
|||
|
oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
|
|||
|
oDRow["SANDOtherSum"] = 0;//Salary and all other Sum ,col 8
|
|||
|
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
oDRow["EnterAllowance"] = 0;//Amount of Entertaitment Allowance ,col 10
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0;
|
|||
|
oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["SPByEmployeer"] = 0;//Salary Paid by employeer ,col 12
|
|||
|
oDRow["VOfFree"] = 0;//Value of Rent Free Accomodation or Value of any Concession in Rent for the Accomodation provided by the Employer,col 13
|
|||
|
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
|
|||
|
oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
oDRow["InterestCredit"] = 0; //Math.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Interest Credit to the assessee's accout in a recognised provident fund,col 15
|
|||
|
oDRow["VofAnyBenefit"] = 0;//Value of any benefit ,col 15
|
|||
|
//GrandTotal = GrandTotal +
|
|||
|
// Convert.ToDouble(oDRow["SANDOtherSum"]) +
|
|||
|
// Convert.ToDouble(oDRow["BasicPercent"]) +
|
|||
|
// Convert.ToDouble(oDRow["EnterAllowance"]) +
|
|||
|
// Convert.ToDouble(oDRow["VechilesPercent"]) +
|
|||
|
// Convert.ToDouble(oDRow["SPByEmployeer"]) +
|
|||
|
// Convert.ToDouble(oDRow["VOfFree"]) +
|
|||
|
// Convert.ToDouble(oDRow["EContribution"])
|
|||
|
// + Convert.ToDouble(oDRow["InterestCredit"])
|
|||
|
// + Convert.ToDouble(oDRow["VofAnyBenefit"]);
|
|||
|
|
|||
|
oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);//Total Col 5,6,8 to 16 ,col 16
|
|||
|
oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
|
|||
|
//GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
|
|||
|
oDRow["ConToTheProvident"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17;//Contribution to the provident ,col 18
|
|||
|
oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(GrandTotal); //GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Taxable Income ,col 19
|
|||
|
//double ndjustedAmount = 0.0;
|
|||
|
//double totalAmountNow = 0.0;
|
|||
|
//if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
//{
|
|||
|
// foreach (IncomeTax oItem in oIncomeTaxs)
|
|||
|
// {
|
|||
|
// if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax || oItem.Side == EnumIncomeTaxSide.Dec_GrossTax)
|
|||
|
// {
|
|||
|
// if (oItem.ItemGroup != EnumIncomeTaxItemGroup.Tax_Credit_On_Investment)
|
|||
|
// {
|
|||
|
// if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax)
|
|||
|
// ndjustedAmount = ndjustedAmount + oItem.TotalAmount;
|
|||
|
// else
|
|||
|
// ndjustedAmount = ndjustedAmount - oItem.TotalAmount;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// IncomeTax oNetTaxPayable = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable, (int)EnumIncomeTaxItemGroup.Net_Payable);
|
|||
|
|
|||
|
// if (oNetTaxPayable != null)
|
|||
|
// {
|
|||
|
// oNetTaxPayable.TotalAmount = oNetTaxPayable.TotalAmount - ndjustedAmount;
|
|||
|
// totalAmountNow = oNetTaxPayable.TotalAmount;
|
|||
|
// oDRow["TaxPayable"] = GlobalFunctions.TakaFormat(oNetTaxPayable.TotalAmount);
|
|||
|
// }
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
oDRow["TaxPayable"] =
|
|||
|
GlobalFunctions.TakaFormat(
|
|||
|
IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
(int)EnumIncomeTaxItemGroup.Net_Payable) != null
|
|||
|
? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
(int)EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
|
|||
|
: 0); //Tax Payable ,col 20
|
|||
|
// }
|
|||
|
oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
|
|||
|
//if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
//{
|
|||
|
// oDRow["TaxActualDeduct"] = GlobalFunctions.TakaFormat(totalAmountNow);
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
oDRow["TaxActualDeduct"] =
|
|||
|
GlobalFunctions.TakaFormat(
|
|||
|
IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
(int)EnumIncomeTaxItemGroup.Tax_Deducted) != null
|
|||
|
? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
(int)EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
|
|||
|
: 0); //Tax actually deduct ,col 21
|
|||
|
// }
|
|||
|
|
|||
|
oDRow["Remarks"] = "";//Remarks ,col 22
|
|||
|
dTreport108.Rows.Add(oDRow);
|
|||
|
nCount++;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108);
|
|||
|
}
|
|||
|
|
|||
|
public void GetDataReport108WPD()
|
|||
|
{
|
|||
|
fReportViewer form = new fReportViewer();
|
|||
|
|
|||
|
ID nTaxParamID = _selectedParameter.TaxParameters[0].ID;
|
|||
|
string sEmpNo = _selectedParameter.ReportItem.INSQL;
|
|||
|
TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
|
|||
|
DataRow oDRow = null;
|
|||
|
PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
|
|||
|
int nIndex;
|
|||
|
int nCount = 1;
|
|||
|
double GrandTotal;
|
|||
|
ObjectsTemplate<IncomeTax> oIncomeTaxs = null;
|
|||
|
IncomeTax oIncomeTax = new IncomeTax();
|
|||
|
//IncomeTax oIT =null;
|
|||
|
_Employees = Employee.GetByEmpIDs(sEmpNo);
|
|||
|
double nAmount = 0;
|
|||
|
double nTempAmount = 0;
|
|||
|
foreach (Employee oEmp in _Employees)
|
|||
|
{
|
|||
|
GrandTotal = 0.0;
|
|||
|
oDRow = dTreport108.NewRow();
|
|||
|
if (nTaxParamID == Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
{
|
|||
|
oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
|
|||
|
}
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = 0;
|
|||
|
GrandTotal = 0;
|
|||
|
if (oIncomeTaxs != null)
|
|||
|
{
|
|||
|
nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
|
|||
|
oDRow["TIN"] = oEmp.TinNo;
|
|||
|
oDRow["SLNo"] = nCount;//col 1
|
|||
|
oDRow["EmpNo"] = oEmp.EmployeeNo;
|
|||
|
oDRow["Name"] = oEmp.Name;//col 2
|
|||
|
oDRow["PostalAdd"] = "";//Postal Address ,col 3
|
|||
|
oDRow["NEmployee"] = oEmp.DescriptionText;//Nature of Employee ,col 4
|
|||
|
|
|||
|
IncomeTax oITBasic = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? (oITBasic.TotalAmount - oITBasic.ProjectedAmount) : 0.0);//Total Amount of Salary Basic+Bonus, col 5
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);
|
|||
|
|
|||
|
IncomeTax oITHR = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance);
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? (oITHR.TotalAmount - oITHR.ProjectedAmount) : 0.0);//Periodical Cash Allowance, col 6
|
|||
|
nTempAmount = nTempAmount + nAmount;
|
|||
|
oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
nTempAmount = nTempAmount - nAmount;
|
|||
|
oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nTempAmount;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = 0;
|
|||
|
IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
|
|||
|
if (oITax != null)
|
|||
|
{
|
|||
|
nAmount = oITax.TotalAmount;
|
|||
|
oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount - oITax.ProjectedAmount);
|
|||
|
}
|
|||
|
else
|
|||
|
oDRow["CEarned"] = 0.0;
|
|||
|
|
|||
|
nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
|
|||
|
oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
IncomeTax oITMEarned = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance);
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? (oITMEarned.TotalAmount - oITMEarned.ProjectedAmount) : 0);
|
|||
|
oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
oDRow["Entertainment"] = 0;
|
|||
|
nAmount = 0;
|
|||
|
foreach (IncomeTax titem in oIncomeTaxs)
|
|||
|
{
|
|||
|
if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
|
|||
|
{
|
|||
|
if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House)
|
|||
|
{
|
|||
|
nAmount = nAmount + titem.TotalAmount;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
|
|||
|
oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
|
|||
|
oDRow["SANDOtherSum"] = 0;//Salary and all other Sum ,col 8
|
|||
|
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
oDRow["EnterAllowance"] = 0;//Amount of Entertaitment Allowance ,col 10
|
|||
|
oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0);
|
|||
|
oDRow["SPByEmployeer"] = 0;//Salary Paid by employeer ,col 12
|
|||
|
oDRow["VOfFree"] = 0;//Value of Rent Free Accomodation or Value of any Concession in Rent for the Accomodation provided by the Employer,col 13
|
|||
|
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
|
|||
|
oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
oDRow["InterestCredit"] = 0; //Math.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Interest Credit to the assessee's accout in a recognised provident fund,col 15
|
|||
|
oDRow["VofAnyBenefit"] = 0;//Value of any benefit ,col 15
|
|||
|
//GrandTotal = GrandTotal +
|
|||
|
// Convert.ToDouble(oDRow["SANDOtherSum"]) +
|
|||
|
// Convert.ToDouble(oDRow["BasicPercent"]) +
|
|||
|
// Convert.ToDouble(oDRow["EnterAllowance"]) +
|
|||
|
// Convert.ToDouble(oDRow["VechilesPercent"]) +
|
|||
|
// Convert.ToDouble(oDRow["SPByEmployeer"]) +
|
|||
|
// Convert.ToDouble(oDRow["VOfFree"]) +
|
|||
|
// Convert.ToDouble(oDRow["EContribution"])
|
|||
|
// + Convert.ToDouble(oDRow["InterestCredit"])
|
|||
|
// + Convert.ToDouble(oDRow["VofAnyBenefit"]);
|
|||
|
|
|||
|
oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);//Total Col 5,6,8 to 16 ,col 16
|
|||
|
oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
|
|||
|
oDRow["ConToTheProvident"] = 0;//Contribution to the provident ,col 18
|
|||
|
oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Taxable Income ,col 19
|
|||
|
//double ndjustedAmount = 0.0;
|
|||
|
//double totalAmountNow = 0.0;
|
|||
|
//if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
//{
|
|||
|
// foreach (IncomeTax oItem in oIncomeTaxs)
|
|||
|
// {
|
|||
|
// if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax || oItem.Side == EnumIncomeTaxSide.Dec_GrossTax)
|
|||
|
// {
|
|||
|
// if (oItem.ItemGroup != EnumIncomeTaxItemGroup.Tax_Credit_On_Investment)
|
|||
|
// {
|
|||
|
// if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax)
|
|||
|
// ndjustedAmount = ndjustedAmount + oItem.TotalAmount;
|
|||
|
// else
|
|||
|
// ndjustedAmount = ndjustedAmount - oItem.TotalAmount;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// IncomeTax oNetTaxPayable = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable, (int)EnumIncomeTaxItemGroup.Net_Payable);
|
|||
|
|
|||
|
// if (oNetTaxPayable != null)
|
|||
|
// {
|
|||
|
// oNetTaxPayable.TotalAmount = oNetTaxPayable.TotalAmount - ndjustedAmount;
|
|||
|
// totalAmountNow = oNetTaxPayable.TotalAmount;
|
|||
|
// oDRow["TaxPayable"] = GlobalFunctions.TakaFormat(oNetTaxPayable.TotalAmount);
|
|||
|
// }
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
oDRow["TaxPayable"] =
|
|||
|
GlobalFunctions.TakaFormat(
|
|||
|
IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
(int)EnumIncomeTaxItemGroup.Net_Payable) != null
|
|||
|
? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
(int)EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
|
|||
|
: 0); //Tax Payable ,col 20
|
|||
|
// }
|
|||
|
oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
|
|||
|
//if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
//{
|
|||
|
// oDRow["TaxActualDeduct"] = GlobalFunctions.TakaFormat(totalAmountNow);
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
oDRow["TaxActualDeduct"] =
|
|||
|
GlobalFunctions.TakaFormat(
|
|||
|
IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
(int)EnumIncomeTaxItemGroup.Tax_Deducted) != null
|
|||
|
? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
(int)EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
|
|||
|
: 0); //Tax actually deduct ,col 21
|
|||
|
// }
|
|||
|
|
|||
|
oDRow["Remarks"] = "";//Remarks ,col 22
|
|||
|
dTreport108.Rows.Add(oDRow);
|
|||
|
nCount++;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108);
|
|||
|
}
|
|||
|
|
|||
|
public void GetDataReport108OnPaidAmount()
|
|||
|
{
|
|||
|
fReportViewer form = new fReportViewer();
|
|||
|
|
|||
|
ID nTaxParamID = _selectedParameter.TaxParameters[0].ID;
|
|||
|
string sEmpNo = _selectedParameter.ReportItem.INSQL;
|
|||
|
TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
|
|||
|
DataRow oDRow = null;
|
|||
|
PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
|
|||
|
int nIndex;
|
|||
|
int nCount = 1;
|
|||
|
double GrandTotal;
|
|||
|
ObjectsTemplate<IncomeTax> oIncomeTaxs = null;
|
|||
|
IncomeTax oIncomeTax = new IncomeTax();
|
|||
|
|
|||
|
_Employees = Employee.GetEmpsWithDiscontinue(sEmpNo);
|
|||
|
double nAmount = 0;
|
|||
|
double nTempAmount = 0;
|
|||
|
|
|||
|
foreach (Employee oEmp in _Employees)
|
|||
|
{
|
|||
|
GrandTotal = 0.0;
|
|||
|
oDRow = dTreport108.NewRow();
|
|||
|
if (nTaxParamID == Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
|
|||
|
{
|
|||
|
oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
|
|||
|
}
|
|||
|
if (oIncomeTaxs == null) continue;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = 0;
|
|||
|
GrandTotal = 0;
|
|||
|
if (oIncomeTax != null)
|
|||
|
{
|
|||
|
nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
|
|||
|
oDRow["TIN"] = oEmp.TinNo;
|
|||
|
oDRow["SLNo"] = nCount;
|
|||
|
oDRow["EmpNo"] = oEmp.EmployeeNo;
|
|||
|
oDRow["Name"] = oEmp.Name;
|
|||
|
oDRow["PostalAdd"] = "";
|
|||
|
oDRow["NEmployee"] = oEmp.DescriptionText;
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? (IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).PreviousAmount + IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).ThisMonthAmount) : 0.0);//Total Amount of Salary Basic+Bonus, col 5
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance).TotalAmount : 0.0);//Periodical Cash Allowance, col 6
|
|||
|
nTempAmount = nTempAmount + nAmount;
|
|||
|
oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
nTempAmount = nTempAmount - nAmount;
|
|||
|
oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nTempAmount;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = 0;
|
|||
|
IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
|
|||
|
if (oITax != null)
|
|||
|
{
|
|||
|
nAmount = oITax.TotalAmount;
|
|||
|
oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount);
|
|||
|
}
|
|||
|
else
|
|||
|
oDRow["CEarned"] = 0.0;
|
|||
|
nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
|
|||
|
oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
nTempAmount = 0;
|
|||
|
nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance).TotalAmount : 0);
|
|||
|
oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
|
|||
|
oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
|
|||
|
oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount - nTempAmount;
|
|||
|
|
|||
|
oDRow["Entertainment"] = 0;
|
|||
|
nAmount = 0;
|
|||
|
foreach (IncomeTax titem in oIncomeTaxs)
|
|||
|
{
|
|||
|
if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
|
|||
|
{
|
|||
|
if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.Medical_Allowance
|
|||
|
&& titem.ItemGroup != EnumIncomeTaxItemGroup.LFA_Allowance)
|
|||
|
{
|
|||
|
nAmount = nAmount + titem.TotalAmount;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
|
|||
|
oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
|
|||
|
oDRow["SANDOtherSum"] = 0;
|
|||
|
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
|
|||
|
oDRow["EnterAllowance"] = 0;
|
|||
|
oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0);
|
|||
|
oDRow["SPByEmployeer"] = 0;
|
|||
|
oDRow["VOfFree"] = 0;
|
|||
|
|
|||
|
nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
|
|||
|
oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
|
|||
|
GrandTotal = GrandTotal + nAmount;
|
|||
|
|
|||
|
oDRow["InterestCredit"] = 0;
|
|||
|
oDRow["VofAnyBenefit"] = 0;
|
|||
|
|
|||
|
oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);
|
|||
|
oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
|
|||
|
oDRow["ConToTheProvident"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17;//Contribution to the provident ,col 18
|
|||
|
oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(GrandTotal);
|
|||
|
|
|||
|
oDRow["TaxPayable"] =
|
|||
|
GlobalFunctions.TakaFormat(
|
|||
|
IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
(int)EnumIncomeTaxItemGroup.Net_Payable) != null
|
|||
|
? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
|
|||
|
(int)EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
|
|||
|
: 0); //Tax Payable ,col 20
|
|||
|
|
|||
|
oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
|
|||
|
oDRow["TaxActualDeduct"] =
|
|||
|
GlobalFunctions.TakaFormat(
|
|||
|
IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
(int)EnumIncomeTaxItemGroup.Tax_Deducted) != null
|
|||
|
? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
|
|||
|
(int)EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
|
|||
|
: 0);
|
|||
|
|
|||
|
oDRow["Remarks"] = "";
|
|||
|
dTreport108.Rows.Add(oDRow);
|
|||
|
nCount++;
|
|||
|
}
|
|||
|
}
|
|||
|
form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|