168 lines
6.5 KiB
C#
168 lines
6.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Data;
|
|
using Payroll.BO;
|
|
using Ease.CoreV35;
|
|
using Ease.CoreV35.Model;
|
|
using Ease.CoreV35.Caching;
|
|
using Microsoft.Reporting.WinForms;
|
|
|
|
namespace Payroll.Report
|
|
{
|
|
public class rptLeave
|
|
{
|
|
string _sDivision = "";
|
|
string _sDepartment = "";
|
|
string _sUnit = "";
|
|
string _sBranch = "";
|
|
|
|
ObjectsTemplate<Department> _Departments = new ObjectsTemplate<Department>();
|
|
ObjectsTemplate<EmpLeaveStatus> oCurrYearStatus = null;
|
|
|
|
public rptLeave()
|
|
{
|
|
_Departments = Department.Get();
|
|
}
|
|
|
|
internal void ShowLeaveReport(ObjectsTemplate<Employee> _employees,LeaveYear lyy)
|
|
{
|
|
fReportViewer fViewer = new fReportViewer();
|
|
PayrollDataSet.dsEmpLeaveLedger.LeaveBalanceDataTable dTEmpLeave = new Payroll.Report.PayrollDataSet.dsEmpLeaveLedger.LeaveBalanceDataTable();
|
|
|
|
DataRow oRow = null;
|
|
|
|
//foreach(Employee oemp in _employees)
|
|
//{
|
|
oCurrYearStatus = EmpLeaveStatus.CurrentYearStatus(_employees,lyy,EnumLeaveStatus.Approved);
|
|
foreach (EmpLeaveStatus oItem in oCurrYearStatus)
|
|
{
|
|
oRow = dTEmpLeave.NewRow();
|
|
Employee oemp = _employees.Find(delegate(Employee ee) { return ee.ID.Integer == oItem.EmpId; });
|
|
if (oemp == null)
|
|
oemp = new Employee();
|
|
oRow["EmpNo"] = oemp.EmployeeNo;
|
|
oRow["Name"] = oemp.Name;
|
|
oRow["Designation"] = oemp.Designation.Name;
|
|
|
|
Department oDepartment = _Departments.Find(delegate(Department dep)
|
|
{
|
|
return
|
|
dep.ID == oemp.DepartmentID;
|
|
});
|
|
FindDivisionDeparmentUnit(oDepartment, _Departments);
|
|
|
|
oRow["Division"] = _sDivision;
|
|
oRow["Department"] = _sDepartment;
|
|
oRow["Unit"] = _sUnit;
|
|
oRow["Leave"] = oItem.Leave.Description;
|
|
oRow["Opening"] = oItem.OpeningBalance.ToString();
|
|
oRow["Availed"] = oItem.LeaveAvailed.ToString();
|
|
oRow["Balance"] = oItem.ClosingBalance.ToString();
|
|
|
|
dTEmpLeave.Rows.Add(oRow);
|
|
}
|
|
//}
|
|
|
|
if (dTEmpLeave.Rows.Count > 0)
|
|
{
|
|
fViewer.ShowLeaveReport(dTEmpLeave, lyy);
|
|
}
|
|
}
|
|
|
|
public void ShowShortLeaveReport(EmployeeShortLeave esl)
|
|
{
|
|
if (esl == null)
|
|
return;
|
|
DataSet dSet = new DataSet();
|
|
String RDLC = "Payroll.Report.RDLC.EmployeeShortLeave.rdlc";
|
|
|
|
Employee emp = Employee.Get(ID.FromInteger(esl.EmployeeID));
|
|
ReportParameter _parameter;
|
|
List<ReportParameter> parameters = new List<ReportParameter>();
|
|
_parameter = new ReportParameter("EmpNo", emp.EmployeeNo);
|
|
parameters.Add(_parameter);
|
|
|
|
_parameter = new ReportParameter("EmpName", emp.Name);
|
|
parameters.Add(_parameter);
|
|
|
|
_parameter = new ReportParameter("LeaveType", esl.ShortLeaveType.ToString());
|
|
parameters.Add(_parameter);
|
|
|
|
_parameter = new ReportParameter("From", esl.FromDate.ToString("dd MMM yyyy HH:mm"));
|
|
parameters.Add(_parameter);
|
|
|
|
_parameter = new ReportParameter("To", esl.ToDate.ToString("dd MMM yyyy HH:mm"));
|
|
parameters.Add(_parameter);
|
|
|
|
_parameter = new ReportParameter("WillReturn", esl.WillReturn?"Yes":"No");
|
|
parameters.Add(_parameter);
|
|
|
|
_parameter = new ReportParameter("Description", esl.Description.ToString());
|
|
parameters.Add(_parameter);
|
|
|
|
|
|
fReportViewer form = new fReportViewer();
|
|
form.CommonReportViewer(null, RDLC, dSet, parameters);
|
|
//fReportViewer rViewer = new fReportViewer();
|
|
//DataRow oDR = null;
|
|
//DataSet dsShortLeave = null;
|
|
//PayrollDataSet.dsEmpLeaveLedger.ShortLeaveDataTable dTShortLeave = new Payroll.Report.PayrollDataSet.dsEmpLeaveLedger.ShortLeaveDataTable();
|
|
|
|
//dsShortLeave = EmployeeShortLeave.GetEmployeeWiseShortLeaveReport(empID);
|
|
//foreach (DataRow oDRow in dsShortLeave.Tables[0].Rows)
|
|
//{
|
|
// oDR = dTShortLeave.NewRow();
|
|
// oDR["EmployeeName"] = oDRow["EmployeeName"].ToString();
|
|
// oDR["EmployeeNo"] = oDRow["EmployeeNo"].ToString();
|
|
// oDR["Designation"] = oDRow["Designation"].ToString();
|
|
// oDR["ShortLeaveID"] = oDRow["ShortLeaveID"];
|
|
// oDR["EmployeeID"] = oDRow["EmployeeID"];
|
|
// oDR["Description"] = oDRow["Description"].ToString();
|
|
// oDR["FromDate"] = oDRow["FromDate"];
|
|
// oDR["ToDate"] = oDRow["ToDate"];
|
|
// oDR["ShortLeaveType"] = oDRow["ShortLeaveType"];
|
|
// oDR["WillReturn"] = oDRow["WillReturn"];
|
|
|
|
// dTShortLeave.Rows.Add(oDR);
|
|
|
|
//}
|
|
//if (dTShortLeave.Rows.Count > 0)
|
|
//{
|
|
// rViewer.ShowShortLeaveReport(dTShortLeave);
|
|
//}
|
|
}
|
|
|
|
private void FindDivisionDeparmentUnit(Department department, ObjectsTemplate<Department> oDepartments)
|
|
{
|
|
_sDivision = "";
|
|
_sDepartment = "";
|
|
_sUnit = "";
|
|
if (department != null)
|
|
{
|
|
Department oItem = new Department();
|
|
//if (department.Tier == 4)
|
|
//{
|
|
// _sUnit = department.Name;
|
|
// oItem = oDepartments.Find(delegate(Department dept) { return dept.ID == department.ParentID; });
|
|
// _sDepartment = oItem.Name;
|
|
// oItem = oDepartments.Find(delegate(Department dept) { return dept.ID == oItem.ParentID; });
|
|
// _sDivision = oItem.Name;
|
|
//}
|
|
//else
|
|
if (department.Tier == 2)
|
|
{
|
|
_sDepartment = department.Name;
|
|
oItem = oDepartments.Find(delegate(Department dept) { return dept.ID == department.ParentID; });
|
|
_sDivision = oItem.Name;
|
|
}
|
|
else if (department.Tier == 1)
|
|
{
|
|
_sDivision = department.Name;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|