leave reports #48
|
@ -1,4 +1,5 @@
|
||||||
|
|
||||||
|
using DocumentFormat.OpenXml.Office2010.Excel;
|
||||||
using Ease.Core.Model;
|
using Ease.Core.Model;
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
@ -300,5 +301,32 @@ namespace HRM.BO
|
||||||
return m_oReader.Types;
|
return m_oReader.Types;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static List<int> ApplicableParametersForReportOptimized(Employee oEmp, List<EnmSetupManagerTranType> setupTypes, List<SetupDetail> details)
|
||||||
|
{
|
||||||
|
List<int> parametersID = new List<int>();
|
||||||
|
|
||||||
|
|
||||||
|
if (setupTypes == null) return parametersID;
|
||||||
|
|
||||||
|
|
||||||
|
foreach (EnmSetupManagerTranType type in setupTypes)
|
||||||
|
{
|
||||||
|
int nTranID = SetupDetail.GetTranID(oEmp, type);
|
||||||
|
|
||||||
|
if (nTranID == null || nTranID < 0) continue;
|
||||||
|
|
||||||
|
List<int> setupIds = details.Where(detail => detail.TranType == type
|
||||||
|
&& detail.TranID == nTranID)
|
||||||
|
.Select(x => x.SetupID)
|
||||||
|
.Distinct().ToList();
|
||||||
|
|
||||||
|
foreach (int id in setupIds)
|
||||||
|
{
|
||||||
|
parametersID.Add(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return parametersID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2279,6 +2279,9 @@ namespace HRM.BO
|
||||||
EmployeeBasicInfoEcho = 721,
|
EmployeeBasicInfoEcho = 721,
|
||||||
EmployeeEvaluationSheet = 722,
|
EmployeeEvaluationSheet = 722,
|
||||||
LifeCycleDeletedHistor = 723,
|
LifeCycleDeletedHistor = 723,
|
||||||
|
SingleEmpLeaveBalance = 724,
|
||||||
|
MultipleEmpLeaveBalanceEcho = 725,
|
||||||
|
LeaveReportEcho = 726,
|
||||||
//Hnm(801-900)
|
//Hnm(801-900)
|
||||||
OtBankDisbursementHnm = 801,
|
OtBankDisbursementHnm = 801,
|
||||||
BonusRegisterHnm = 802,
|
BonusRegisterHnm = 802,
|
||||||
|
@ -3463,15 +3466,32 @@ namespace HRM.BO
|
||||||
|
|
||||||
public enum EnumLeaveCalculationType
|
public enum EnumLeaveCalculationType
|
||||||
{
|
{
|
||||||
Hourly = 0,
|
//Hourly = 0,
|
||||||
Yearly = 1,
|
//Yearly = 1,
|
||||||
Monthly_Earn = 2,
|
//Monthly_Earn = 2,
|
||||||
Hourly_365Day = 3,
|
//Hourly_365Day = 3,
|
||||||
Hourly_Monthly = 4,
|
//Hourly_Monthly = 4,
|
||||||
OneDay_On_18Day_Present = 5,
|
//OneDay_On_18Day_Present = 5,
|
||||||
Hourly_Prorated = 6,
|
//Hourly_Prorated = 6,
|
||||||
Days_365 = 7,
|
//Days_365 = 7,
|
||||||
Yearly_without_Prorated = 8
|
//Yearly_without_Prorated = 8
|
||||||
|
|
||||||
|
Daily = 0,
|
||||||
|
Monthly = 1,
|
||||||
|
Yearly = 2,
|
||||||
|
//Prorated=3,
|
||||||
|
Not_Applicable = 4,
|
||||||
|
Not_Applicable_With_Prorated = 5,
|
||||||
|
|
||||||
|
Hourly = 6,
|
||||||
|
//Yearly = 7,
|
||||||
|
Monthly_Earn = 8,
|
||||||
|
Hourly_365Day = 9,
|
||||||
|
Hourly_Monthly = 10,
|
||||||
|
OneDay_On_18Day_Present = 11,
|
||||||
|
Hourly_Prorated = 12,
|
||||||
|
Days_365 = 13,
|
||||||
|
Yearly_without_Prorated = 14
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum EnumLeaveparamOn
|
public enum EnumLeaveparamOn
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
using HRM.BO;
|
using Ease.Core.DataAccess;
|
||||||
using Ease.Core.DataAccess;
|
using Ease.Core.Model;
|
||||||
using System;
|
using Ease.Core.Utility;
|
||||||
using System.Data;
|
using HRM.BO;
|
||||||
using HRM.BO.Fund;
|
using HRM.BO.Fund;
|
||||||
using Microsoft.Data.SqlClient;
|
using Microsoft.Data.SqlClient;
|
||||||
|
using System;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
namespace HRM.DA
|
namespace HRM.DA
|
||||||
{
|
{
|
||||||
|
@ -92,5 +94,43 @@ namespace HRM.DA
|
||||||
return "";
|
return "";
|
||||||
return sCode.ToString();
|
return sCode.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DateTime GetOperationDate()
|
||||||
|
{
|
||||||
|
DateTime opDate = DateTime.MinValue;
|
||||||
|
|
||||||
|
TransactionContext tc = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tc = TransactionContext.Begin();
|
||||||
|
|
||||||
|
|
||||||
|
SqlParameter[] p = new SqlParameter[1];
|
||||||
|
p[0] = new SqlParameter("@OperationDate", SqlDbType.DateTime);
|
||||||
|
p[0].Direction = ParameterDirection.Output;
|
||||||
|
p[0].Value = DateTime.MinValue;
|
||||||
|
|
||||||
|
tc.ExecuteNonQuery(CommandType.StoredProcedure, "[dbo].[GetOperationDate]", p);
|
||||||
|
|
||||||
|
if (p[0].Value != null && p[0].Value != DBNull.Value)
|
||||||
|
opDate = Convert.ToDateTime(p[0].Value);
|
||||||
|
|
||||||
|
//opDate = GlobalFunctionDA.GetOperationDate(tc);
|
||||||
|
|
||||||
|
tc.End();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
#region Handle Exception
|
||||||
|
if (tc != null)
|
||||||
|
tc.HandleError();
|
||||||
|
ExceptionLog.Write(e);
|
||||||
|
|
||||||
|
throw new ServiceException(e.Message, e);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
return opDate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -135,7 +135,32 @@ namespace HRM.DA
|
||||||
{
|
{
|
||||||
return tc.ExecuteReader("SELECT * FROM Leave WHERE CODE=%s AND PayrollTypeID=%n", sLeave, payrollTypeID);
|
return tc.ExecuteReader("SELECT * FROM Leave WHERE CODE=%s AND PayrollTypeID=%n", sLeave, payrollTypeID);
|
||||||
}
|
}
|
||||||
|
internal static DataSet GetELInfo(TransactionContext tc, int empID, DateTime JoinDate, DateTime toDate, DateTime availedTo)
|
||||||
|
{
|
||||||
|
string sSQL = SQLParser.MakeSQL(@"select 'Leave Availed' Item,isnull(sum(APRTOTALDAYS),0)[Value] from LEAVEENTRY
|
||||||
|
where LEAVEID=5
|
||||||
|
and EmpID=%n
|
||||||
|
and APRFROMDATE>=%d and APRTODATE<=%d
|
||||||
|
union
|
||||||
|
select 'Present Days' Item, isnull(count(*),0)[Value] from DailyAttnProcess
|
||||||
|
where EmployeeID=%n
|
||||||
|
and AttnDate between %d and %d
|
||||||
|
and ATTENTYPE in(1,3,12)
|
||||||
|
union
|
||||||
|
select 'Encash Days' Item,isnull(sum(EncashmentDays),0)[Value] from LeaveEncashment
|
||||||
|
where EmployeeID=%n
|
||||||
|
and EncashmentFromDate >=%d and EncashmentToDate <=%d
|
||||||
|
Union
|
||||||
|
select 'Leave Availed this' Item,isnull(sum(APRTOTALDAYS),0)[Value] from LEAVEENTRY
|
||||||
|
where LEAVEID=5
|
||||||
|
and EmpID=%n
|
||||||
|
and APRFROMDATE>=%d and APRTODATE<=%d",
|
||||||
|
empID, JoinDate, availedTo.AddDays(-1),
|
||||||
|
empID, JoinDate, toDate,
|
||||||
|
empID, JoinDate, availedTo.AddDays(-1),
|
||||||
|
empID, availedTo, toDate);
|
||||||
|
return tc.ExecuteDataSet(sSQL);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Delete function
|
#region Delete function
|
||||||
|
|
|
@ -88,32 +88,70 @@ namespace HRM.DA
|
||||||
|
|
||||||
if (oItem.LeaveId == 5)
|
if (oItem.LeaveId == 5)
|
||||||
{
|
{
|
||||||
DateTime SelectedMonth = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).LastDateOfMonth();
|
#region old code
|
||||||
from_Date = new DateTime(to_Date.Year - 2, oEmployee.JoiningDate.Month, oEmployee.JoiningDate.Day);
|
//DateTime SelectedMonth = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).LastDateOfMonth();
|
||||||
DataSet ds = new DailyAttnProcessService().GetEarnedLeaveOpening(oEmployee.ID, oItem.LeaveId, from_Date, to_Date);
|
//from_Date = new DateTime(to_Date.Year - 2, oEmployee.JoiningDate.Month, oEmployee.JoiningDate.Day);
|
||||||
int dCurrectedDay = 0;
|
//DataSet ds = new DailyAttnProcessService().GetEarnedLeaveOpening(oEmployee.ID, oItem.LeaveId, from_Date, to_Date);
|
||||||
if (DateTime.DaysInMonth(SelectedMonth.Year, SelectedMonth.Month) < oEmployee.JoiningDate.Day)
|
//int dCurrectedDay = 0;
|
||||||
dCurrectedDay = DateTime.DaysInMonth(SelectedMonth.Year, SelectedMonth.Month);
|
//if (DateTime.DaysInMonth(SelectedMonth.Year, SelectedMonth.Month) < oEmployee.JoiningDate.Day)
|
||||||
else
|
// dCurrectedDay = DateTime.DaysInMonth(SelectedMonth.Year, SelectedMonth.Month);
|
||||||
dCurrectedDay = oEmployee.JoiningDate.Day;
|
//else
|
||||||
DateTime JoiningDateBefore2YearsFromCurrentYear = new DateTime(SelectedMonth.Year, SelectedMonth.Month, dCurrectedDay).AddYears(-2);// new DateTime(DateTime.Today.Year- 2, item.JoiningDate.Month, item.JoiningDate.Day);// SelectedMonth.FirstDateOfMonth().AddYears(-2);
|
// dCurrectedDay = oEmployee.JoiningDate.Day;
|
||||||
DateTime FirstYearStartDate = JoiningDateBefore2YearsFromCurrentYear;
|
//DateTime JoiningDateBefore2YearsFromCurrentYear = new DateTime(SelectedMonth.Year, SelectedMonth.Month, dCurrectedDay).AddYears(-2);// new DateTime(DateTime.Today.Year- 2, item.JoiningDate.Month, item.JoiningDate.Day);// SelectedMonth.FirstDateOfMonth().AddYears(-2);
|
||||||
DateTime FirstYearEndDate = JoiningDateBefore2YearsFromCurrentYear.AddYears(1).AddDays(-1);
|
//DateTime FirstYearStartDate = JoiningDateBefore2YearsFromCurrentYear;
|
||||||
DateTime LastYearStartDate = JoiningDateBefore2YearsFromCurrentYear.AddYears(1);
|
//DateTime FirstYearEndDate = JoiningDateBefore2YearsFromCurrentYear.AddYears(1).AddDays(-1);
|
||||||
DateTime LastYearEndDate = JoiningDateBefore2YearsFromCurrentYear.AddYears(2).AddDays(-1);
|
//DateTime LastYearStartDate = JoiningDateBefore2YearsFromCurrentYear.AddYears(1);
|
||||||
|
//DateTime LastYearEndDate = JoiningDateBefore2YearsFromCurrentYear.AddYears(2).AddDays(-1);
|
||||||
|
|
||||||
double secondYearLeaveAvailed = new LeaveEntryService().Get(oEmployee.ID, LastYearStartDate, LastYearEndDate, EnumLeaveStatus.Approved).Sum(x => x.ApprovedTotalDays);
|
//double secondYearLeaveAvailed = new LeaveEntryService().Get(oEmployee.ID, LastYearStartDate, LastYearEndDate, EnumLeaveStatus.Approved).Sum(x => x.ApprovedTotalDays);
|
||||||
//ObjectsTemplate<LeaveEncashment> les = LeaveEncashment.GetByEmpIDs(oEmployee.ID.Integer.ToString(), FirstYearStartDate, FirstYearEndDate);
|
////List<LeaveEncashment> les = LeaveEncashment.GetByEmpIDs(oEmployee.ID.Integer.ToString(), FirstYearStartDate, FirstYearEndDate);
|
||||||
|
|
||||||
if (ds != null && ds.Tables.Count > 0)
|
//if (ds != null && ds.Tables.Count > 0)
|
||||||
|
//{
|
||||||
|
// foreach (DataRow dr in ds.Tables[0].Rows)
|
||||||
|
// {
|
||||||
|
// oCurrStatus.OpeningBalance = Convert.ToDouble(dr[0].ToString());
|
||||||
|
// oCurrStatus.LeaveAvailed = Convert.ToDouble(dr[1].ToString()); //secondYearLeaveAvailed;
|
||||||
|
// oCurrStatus.EncashDays = 0;// les==null?0:les.Sum(x=> Math.Round(x.EncashmentDays));
|
||||||
|
// oCurrStatus.YearEndBalance = oCurrStatus.OpeningBalance - (oCurrStatus.LeaveAvailed + oCurrStatus.EncashDays);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
DateTime dtTo = oCurrYear.EndDate < DateTime.Today ? oCurrYear.EndDate : DateTime.Today;
|
||||||
|
DateTime dtAvailed = oEmployee.JoiningDate;
|
||||||
|
LeaveYear ly = new LeaveYearService().LastLeaveYear(oCurrYear);
|
||||||
|
while (dtAvailed < ly.StartDate)
|
||||||
{
|
{
|
||||||
foreach (DataRow dr in ds.Tables[0].Rows)
|
dtAvailed = dtAvailed.AddYears(1);
|
||||||
|
}
|
||||||
|
DataTable dt = new LeaveService().GetELInfo(oEmployee.ID, oEmployee.JoiningDate, dtTo, dtAvailed);
|
||||||
|
if (dt != null)
|
||||||
|
{
|
||||||
|
foreach (DataRow dr in dt.Rows)
|
||||||
{
|
{
|
||||||
oCurrStatus.OpeningBalance = Convert.ToDouble(dr[0].ToString());
|
if (dr[0].ToString() == "Leave Availed this")
|
||||||
oCurrStatus.LeaveAvailed = Convert.ToDouble(dr[1].ToString()); //secondYearLeaveAvailed;
|
{
|
||||||
oCurrStatus.EncashDays = 0;// les==null?0:les.Sum(x=> Math.Round(x.EncashmentDays));
|
oCurrStatus.LeaveAvailed = Convert.ToDouble(dr[1].ToString());
|
||||||
oCurrStatus.YearEndBalance = oCurrStatus.OpeningBalance - (oCurrStatus.LeaveAvailed + oCurrStatus.EncashDays);
|
}
|
||||||
|
else if (dr[0].ToString() == "Present Days")
|
||||||
|
{
|
||||||
|
oCurrStatus.OpeningBalance = Convert.ToDouble(dr[1].ToString());
|
||||||
|
oCurrStatus.OpeningBalance = oCurrStatus.OpeningBalance == 0 ? 0 : oCurrStatus.OpeningBalance / 18;
|
||||||
|
}
|
||||||
|
else if (dr[0].ToString() == "Encash Days")
|
||||||
|
{
|
||||||
|
oCurrStatus.OpeningBalance -= Convert.ToDouble(dr[1].ToString());
|
||||||
|
}
|
||||||
|
else if (dr[0].ToString() == "Leave Availed")
|
||||||
|
{
|
||||||
|
oCurrStatus.NormalLeaveDays = Convert.ToDouble(dr[1].ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
oCurrStatus.OpeningBalance -= oCurrStatus.NormalLeaveDays;
|
||||||
|
oCurrStatus.OpeningBalance = Math.Round(oCurrStatus.OpeningBalance, 2);
|
||||||
|
oCurrStatus.OpeningBalance = oItem.MaxAccumulatedDays < oCurrStatus.OpeningBalance ? oItem.MaxAccumulatedDays : oCurrStatus.OpeningBalance;
|
||||||
|
oCurrStatus.YearEndBalance = Math.Round(oCurrStatus.OpeningBalance - oCurrStatus.LeaveAvailed, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
oCurrYearBalance.Add(oCurrStatus);
|
oCurrYearBalance.Add(oCurrStatus);
|
||||||
|
@ -121,7 +159,7 @@ namespace HRM.DA
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
//ObjectsTemplate<LeaveEntry> les = LeaveEntry.GetByLeaveID(oItem.LeaveId, empId, from_Date, to_Date);
|
//List<LeaveEntry> les = LeaveEntry.GetByLeaveID(oItem.LeaveId, empId, from_Date, to_Date);
|
||||||
List<LeaveEntry> les = oLeaveEntries.Where(le => le.LeaveID == oItem.LeaveId
|
List<LeaveEntry> les = oLeaveEntries.Where(le => le.LeaveID == oItem.LeaveId
|
||||||
&& le.EmpID == empId
|
&& le.EmpID == empId
|
||||||
&& le.ApprovedFromDate >= from_Date && le.ApprovedFromDate <= to_Date
|
&& le.ApprovedFromDate >= from_Date && le.ApprovedFromDate <= to_Date
|
||||||
|
@ -164,9 +202,11 @@ namespace HRM.DA
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#region From Master
|
||||||
|
|
||||||
if (oDetail != null) oCurrStatus.NormalLeaveDays = 0;
|
if (oDetail != null) oCurrStatus.NormalLeaveDays = 0;
|
||||||
else continue;
|
else continue;
|
||||||
//oItem.Details = new ObjectsTemplate<LeaveParameterDetail>();
|
//oItem.Details = new List<LeaveParameterDetail>();
|
||||||
//oItem.Details.Add(oDetail);
|
//oItem.Details.Add(oDetail);
|
||||||
|
|
||||||
#region calculate the current year balance
|
#region calculate the current year balance
|
||||||
|
@ -249,6 +289,12 @@ namespace HRM.DA
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region From Echotex desktop App
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -276,14 +322,14 @@ namespace HRM.DA
|
||||||
{
|
{
|
||||||
double nTotalDays = 0;
|
double nTotalDays = 0;
|
||||||
TimeSpan ts = new TimeSpan();
|
TimeSpan ts = new TimeSpan();
|
||||||
if (eType == EnumLeaveCalculationType.Yearly)
|
if (eType == EnumLeaveCalculationType.Daily)
|
||||||
{
|
{
|
||||||
if (presentAttnCount > 0)
|
if (presentAttnCount > 0)
|
||||||
{
|
{
|
||||||
nTotalDays = (double)presentAttnCount / 18;
|
nTotalDays = (double)presentAttnCount / 18;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eType == EnumLeaveCalculationType.Yearly)
|
else if (eType == EnumLeaveCalculationType.Monthly)
|
||||||
{
|
{
|
||||||
ts = (dCurrentDate - ((emp.JoiningDate > oCurrentYear.StartDate) ?
|
ts = (dCurrentDate - ((emp.JoiningDate > oCurrentYear.StartDate) ?
|
||||||
emp.JoiningDate : Global.DateFunctions.FirstDateOfYear(dCurrentDate)))
|
emp.JoiningDate : Global.DateFunctions.FirstDateOfYear(dCurrentDate)))
|
||||||
|
@ -301,12 +347,12 @@ namespace HRM.DA
|
||||||
}
|
}
|
||||||
// Else '0' , What??????????????????
|
// Else '0' , What??????????????????
|
||||||
}
|
}
|
||||||
else if (eType == EnumLeaveCalculationType.Yearly)
|
else if (eType == EnumLeaveCalculationType.Not_Applicable)
|
||||||
{
|
{
|
||||||
ts = (Global.DateFunctions.LastDateOfYear(dCurrentDate) - Global.DateFunctions.FirstDateOfYear(dCurrentDate)).Add(TimeSpan.FromDays(1));
|
ts = (Global.DateFunctions.LastDateOfYear(dCurrentDate) - Global.DateFunctions.FirstDateOfYear(dCurrentDate)).Add(TimeSpan.FromDays(1));
|
||||||
nTotalDays = (oDetail.MaxDays * ts.Days) / 365;
|
nTotalDays = (oDetail.MaxDays * ts.Days) / 365;
|
||||||
}
|
}
|
||||||
else if (eType == EnumLeaveCalculationType.Yearly)
|
else if (eType == EnumLeaveCalculationType.Not_Applicable_With_Prorated)
|
||||||
{
|
{
|
||||||
ts = (Global.DateFunctions.LastDateOfYear(dCurrentDate) - ((emp.JoiningDate > oCurrentYear.StartDate) ?
|
ts = (Global.DateFunctions.LastDateOfYear(dCurrentDate) - ((emp.JoiningDate > oCurrentYear.StartDate) ?
|
||||||
emp.JoiningDate : Global.DateFunctions.FirstDateOfYear(dCurrentDate)))
|
emp.JoiningDate : Global.DateFunctions.FirstDateOfYear(dCurrentDate)))
|
||||||
|
@ -691,6 +737,130 @@ namespace HRM.DA
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
|
|
||||||
|
public DataTable CurrentYearStatusOptimized(string sEmpIDs, LeaveYear lYear, EnumLeaveStatus eStatus, DateTime NextPayProcessDate)
|
||||||
|
{
|
||||||
|
DataTable dTEmpLeave = new DataTable();
|
||||||
|
dTEmpLeave.Columns.Add("Leave", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Opening", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Availed", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Balance", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("EmpNo", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Name", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Designation", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Division", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Department", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Unit", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("CFDays", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Floor", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Section", typeof(System.String));
|
||||||
|
dTEmpLeave.Columns.Add("Line", typeof(System.String));
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
DataTable dtEmpBasicInfo = new EmployeeService().GetAllEmpBasicInfo(sEmpIDs)
|
||||||
|
.Tables[0]
|
||||||
|
.AsEnumerable()
|
||||||
|
.OrderBy(x => Convert.ToInt32(x["EmployeeID"].ToString()))
|
||||||
|
.CopyToDataTable();
|
||||||
|
|
||||||
|
List<EmpLeaveStatus> oCurrYearBalance = null;
|
||||||
|
List<EmpLeaveStatus> oAllEmpsCurrYearBalance = new List<EmpLeaveStatus>();
|
||||||
|
DateTime operationDate = GlobalFunctionDA.GetOperationDate();
|
||||||
|
if (operationDate.Date > lYear.EndDate.Date)
|
||||||
|
{
|
||||||
|
operationDate = lYear.EndDate.Date;
|
||||||
|
}
|
||||||
|
DateTime oEmpOperationDate;
|
||||||
|
DataTable oYearlyDailyAttnProcess = new DailyAttnProcessService().GetTypeWiseAttnCount(sEmpIDs, Global.DateFunctions.FirstDateOfYear(operationDate), Global.DateFunctions.LastDateOfYear(operationDate), EnumAttendanceType.Present, EnumAttendanceType.Early, EnumAttendanceType.Late, EnumAttendanceType.Delay, EnumAttendanceType.HalfDay, EnumAttendanceType.OutSideDuty)
|
||||||
|
.AsEnumerable()
|
||||||
|
.OrderBy(x => Convert.ToInt32(x["EmployeeID"].ToString()))
|
||||||
|
.CopyToDataTable();
|
||||||
|
|
||||||
|
|
||||||
|
LeaveYear oCurrYear = lYear;
|
||||||
|
LeaveYear oPrvYear = new LeaveYearService().LastLeaveYear(oCurrYear);
|
||||||
|
List<EnmSetupManagerTranType> setupTypes = new SetupDetailService().GetTypes(EnumParameterSetup.Leave);
|
||||||
|
List<SetupDetail> setupDetails = new SetupDetailService().GetParameters(EnumParameterSetup.Leave);
|
||||||
|
List<LeaveParameter> leaveParamss = new LeaveParameterService().Get();
|
||||||
|
List<LeaveParameterDetail> leaveParamDetails = new LeaveParameterService().GetDetails();
|
||||||
|
List<LeaveEntry> oLs = new LeaveEntryService().GetByLeaveYear(oCurrYear.ID);
|
||||||
|
List<EmpLeaveStatus> oPrevStatuses = new LeaveProcessService().GetByYear(oPrvYear.ID);
|
||||||
|
List<LeaveException> oExceptions = new LeaveExceptionService().Get(lYear.StartDate, lYear.EndDate);
|
||||||
|
Queue<Employee> oEmployees = new Queue<Employee>(new EmployeeService().GetByEmpIDs(sEmpIDs).OrderBy(x => x.ID));
|
||||||
|
List<AttnNationalHoliday> oNationalHolidays = new AttnNationalHolidayService().GetByMonth(oCurrYear.StartDate, oCurrYear.EndDate);
|
||||||
|
|
||||||
|
List<Leave> leaveTypes = new LeaveService().GetAll();
|
||||||
|
|
||||||
|
foreach (DataRow drBasic in dtEmpBasicInfo.Rows)
|
||||||
|
{
|
||||||
|
Employee oEmp = null;
|
||||||
|
int presentCount = 0;
|
||||||
|
|
||||||
|
if (oEmployees.Any() && oEmployees.Peek().ID == Convert.ToInt32(drBasic["EmployeeID"].ToString()))
|
||||||
|
{
|
||||||
|
oEmp = oEmployees.Dequeue();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
oEmpOperationDate = operationDate;
|
||||||
|
|
||||||
|
if (oEmp.EndOfContractDate != null)
|
||||||
|
{
|
||||||
|
if (oEmp.EndOfContractDate < lYear.StartDate)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (oEmp.EndOfContractDate.Value < operationDate)
|
||||||
|
{
|
||||||
|
oEmpOperationDate = oEmp.EndOfContractDate.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
DataRow dRow = oYearlyDailyAttnProcess.AsEnumerable().FirstOrDefault(x => Convert.ToInt32(x["EmployeeID"].ToString()) == Convert.ToInt32(drBasic["EmployeeID"].ToString()));
|
||||||
|
presentCount = dRow != null ? Convert.ToInt32(dRow["Count"].ToString()) : 0;
|
||||||
|
|
||||||
|
|
||||||
|
List<LeaveParameter> oAppLeaveParams = new LeaveParameterService().ApplicableParamsForReportOptimized(oEmp, setupTypes, setupDetails, leaveParamss, leaveTypes);
|
||||||
|
oCurrYearBalance = new EmpLeaveStatusService().CurrentYearStatusOptimized(oEmp, oEmpOperationDate, presentCount, oAppLeaveParams, oCurrYear, oLs, eStatus, oPrevStatuses, leaveParamDetails, oExceptions, oNationalHolidays, NextPayProcessDate);
|
||||||
|
|
||||||
|
DataRow oRow = null;
|
||||||
|
foreach (EmpLeaveStatus eSts in oCurrYearBalance)
|
||||||
|
{
|
||||||
|
eSts.Leave = leaveTypes.Find(l => l.ID == eSts.LeaveId);
|
||||||
|
oRow = dTEmpLeave.NewRow();
|
||||||
|
if (drBasic != null)
|
||||||
|
{
|
||||||
|
oRow["EmpNo"] = drBasic["EmployeeNo"];
|
||||||
|
oRow["Name"] = drBasic["Name"];
|
||||||
|
oRow["Designation"] = drBasic["Designation"];
|
||||||
|
oRow["Department"] = drBasic["Department"];
|
||||||
|
oRow["Floor"] = drBasic["Floor"];
|
||||||
|
oRow["Section"] = drBasic["Section"];
|
||||||
|
oRow["Line"] = drBasic["Line"];
|
||||||
|
oRow["Unit"] = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
oRow["Leave"] = eSts.Leave.Description;
|
||||||
|
oRow["Opening"] = eSts.OpeningBalance.ToString();
|
||||||
|
oRow["Availed"] = eSts.LeaveAvailed.ToString();
|
||||||
|
oRow["Balance"] = eSts.ClosingBalance.ToString();
|
||||||
|
|
||||||
|
dTEmpLeave.Rows.Add(oRow);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return dTEmpLeave;
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
return dTEmpLeave;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2558,18 +2558,18 @@ namespace HRM.DA
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lp.CalculationType == EnumLeaveCalculationType.Hourly_365Day)
|
//if (lp.CalculationType == EnumLeaveCalculationType.Hourly_365Day)
|
||||||
{
|
//{
|
||||||
nDays = (nDiff - nDays) > 0 ? (nDiff - nDays) * 8 : 0;
|
// nDays = (nDiff - nDays) > 0 ? (nDiff - nDays) * 8 : 0;
|
||||||
}
|
//}
|
||||||
else if (lp.CalculationType == EnumLeaveCalculationType.Days_365)
|
//else if (lp.CalculationType == EnumLeaveCalculationType.Days_365)
|
||||||
{
|
//{
|
||||||
|
// nDays = (nDiff - nDays) > 0 ? nDiff - nDays : 0;
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
nDays = (nDiff - nDays) > 0 ? nDiff - nDays : 0;
|
nDays = (nDiff - nDays) > 0 ? nDiff - nDays : 0;
|
||||||
}
|
//}
|
||||||
else
|
|
||||||
{
|
|
||||||
nDays = (nDiff - nDays) > 0 ? nDiff - nDays : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
nDays -= totalDayOff;
|
nDays -= totalDayOff;
|
||||||
ThrowMessageForMinimumDays(leaveType, IsHalfDay && nDays == 1 ? nDays - 0.5 : nDays);
|
ThrowMessageForMinimumDays(leaveType, IsHalfDay && nDays == 1 ? nDays - 0.5 : nDays);
|
||||||
|
|
|
@ -696,7 +696,7 @@ namespace HRM.DA
|
||||||
//List<EnmSetupManagerTranType> setupTypes = SetupDetail.GetTypes(setup);
|
//List<EnmSetupManagerTranType> setupTypes = SetupDetail.GetTypes(setup);
|
||||||
if (setupTypes == null) return parametersID;
|
if (setupTypes == null) return parametersID;
|
||||||
|
|
||||||
//ObjectsTemplate<SetupDetail> details = SetupDetail.GetParameters(setup);
|
//List<SetupDetail> details = SetupDetail.GetParameters(setup);
|
||||||
|
|
||||||
foreach (EnmSetupManagerTranType type in setupTypes)
|
foreach (EnmSetupManagerTranType type in setupTypes)
|
||||||
{
|
{
|
||||||
|
@ -766,7 +766,7 @@ namespace HRM.DA
|
||||||
public List<LeaveParameter> ApplicableParamsForReport(Employee oEmp, List<EnmSetupManagerTranType> setupTypes, List<SetupDetail> details, List<LeaveParameter> leaveParamss)
|
public List<LeaveParameter> ApplicableParamsForReport(Employee oEmp, List<EnmSetupManagerTranType> setupTypes, List<SetupDetail> details, List<LeaveParameter> leaveParamss)
|
||||||
{
|
{
|
||||||
List<int> leaveParamIds = ApplicableParametersForReport(oEmp, setupTypes, details);
|
List<int> leaveParamIds = ApplicableParametersForReport(oEmp, setupTypes, details);
|
||||||
//ObjectsTemplate<LeaveParameter> leaveParamss = LeaveParameter.Get();
|
//List<LeaveParameter> leaveParamss = LeaveParameter.Get();
|
||||||
List<LeaveParameter> leaveParams = new List<LeaveParameter>();
|
List<LeaveParameter> leaveParams = new List<LeaveParameter>();
|
||||||
foreach (LeaveParameter lparam in leaveParamss)
|
foreach (LeaveParameter lparam in leaveParamss)
|
||||||
{
|
{
|
||||||
|
@ -846,6 +846,48 @@ namespace HRM.DA
|
||||||
return dtl;
|
return dtl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public List<LeaveParameter> ApplicableParamsForReportOptimized(Employee oEmp, List<EnmSetupManagerTranType> setupTypes, List<SetupDetail> details, List<LeaveParameter> leaveParamss, List<Leave> leaveTypes)
|
||||||
|
{
|
||||||
|
List<int> leaveParamIds = SetupManager.ApplicableParametersForReportOptimized(oEmp, setupTypes, details);
|
||||||
|
//List<LeaveParameter> leaveParamss = LeaveParameter.Get();
|
||||||
|
List<LeaveParameter> leaveParams = new List<LeaveParameter>();
|
||||||
|
foreach (LeaveParameter lparam in leaveParamss)
|
||||||
|
{
|
||||||
|
lparam.Leave = leaveTypes.Find(l => l.ID == lparam.LeaveId);
|
||||||
|
if (lparam.Leave.ApplicableFor != (EnumGender)oEmp.Gender &&
|
||||||
|
lparam.Leave.ApplicableFor != EnumGender.Other &&
|
||||||
|
lparam.Leave.ApplicableFor != EnumGender.None)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (leaveParamIds.Contains(lparam.ID))
|
||||||
|
{
|
||||||
|
switch (lparam.ApplicableFor)
|
||||||
|
{
|
||||||
|
case LeaveApplicableType.Probetionary:
|
||||||
|
if (!oEmp.IsConfirmed)
|
||||||
|
{
|
||||||
|
leaveParams.Add(lparam);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case LeaveApplicableType.Confirmed:
|
||||||
|
if (oEmp.IsConfirmed)
|
||||||
|
{
|
||||||
|
leaveParams.Add(lparam);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case LeaveApplicableType.Regardless:
|
||||||
|
leaveParams.Add(lparam);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return leaveParams;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -288,7 +288,7 @@ namespace HRM.DA
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
if (oItem.LeaveParameter.CalculationType == EnumLeaveCalculationType.Monthly_Earn
|
if (oItem.LeaveParameter.CalculationType == EnumLeaveCalculationType.Monthly//EnumLeaveCalculationType.Monthly_Earn
|
||||||
&& oItem.EligibleParamDetail == null) // considering joining current year and will eligible next year.
|
&& oItem.EligibleParamDetail == null) // considering joining current year and will eligible next year.
|
||||||
{
|
{
|
||||||
Employee emp = new EmployeeService().Get(oItem.EmpId);
|
Employee emp = new EmployeeService().Get(oItem.EmpId);
|
||||||
|
@ -1444,7 +1444,7 @@ namespace HRM.DA
|
||||||
// + current month (0, because current month not yet completed)= 19, but as per policy he will get 20 days from one year completion.
|
// + current month (0, because current month not yet completed)= 19, but as per policy he will get 20 days from one year completion.
|
||||||
// so folloiwng loic is needed to that
|
// so folloiwng loic is needed to that
|
||||||
|
|
||||||
if (oItem.CalculationType == EnumLeaveCalculationType.Monthly_Earn)
|
if (oItem.CalculationType == EnumLeaveCalculationType.Monthly)//EnumLeaveCalculationType.Monthly_Earn)
|
||||||
{
|
{
|
||||||
double months = Global.DateFunctions.DateDiff("M", oEmployee.JoiningDate, dCurrentDate);
|
double months = Global.DateFunctions.DateDiff("M", oEmployee.JoiningDate, dCurrentDate);
|
||||||
if (oDetail.Year == 1 && months == 12)
|
if (oDetail.Year == 1 && months == 12)
|
||||||
|
@ -1900,7 +1900,7 @@ namespace HRM.DA
|
||||||
|
|
||||||
nTotalDays = Math.Floor(nTotalDays);
|
nTotalDays = Math.Floor(nTotalDays);
|
||||||
}
|
}
|
||||||
else if (eType == EnumLeaveCalculationType.Monthly_Earn)
|
else if (eType == EnumLeaveCalculationType.Monthly)/*EnumLeaveCalculationType.Monthly_Earn)*/
|
||||||
{
|
{
|
||||||
if (emp.ID == 1807)
|
if (emp.ID == 1807)
|
||||||
{
|
{
|
||||||
|
@ -2095,7 +2095,7 @@ namespace HRM.DA
|
||||||
// + current month (0, because current month not yet completed)= 19, but as per policy he will get 20 days from one year completion.
|
// + current month (0, because current month not yet completed)= 19, but as per policy he will get 20 days from one year completion.
|
||||||
// so folloiwng loic is needed to that
|
// so folloiwng loic is needed to that
|
||||||
|
|
||||||
if (oItem.CalculationType == EnumLeaveCalculationType.Monthly_Earn)
|
if (oItem.CalculationType == EnumLeaveCalculationType.Monthly)/*EnumLeaveCalculationType.Monthly_Earn)*/
|
||||||
{
|
{
|
||||||
double months = Global.DateFunctions.DateDiff("M", oEmployee.JoiningDate, dCurrentDate);
|
double months = Global.DateFunctions.DateDiff("M", oEmployee.JoiningDate, dCurrentDate);
|
||||||
if (oDetail.Year == 1 && months == 12)
|
if (oDetail.Year == 1 && months == 12)
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
using HRM.BO;
|
using Ease.Core.DataAccess;
|
||||||
using Ease.Core.DataAccess;
|
|
||||||
using Ease.Core.Model;
|
using Ease.Core.Model;
|
||||||
using Ease.Core.Utility;
|
using Ease.Core.Utility;
|
||||||
|
using HRM.BO;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace HRM.DA
|
namespace HRM.DA
|
||||||
|
@ -427,6 +428,31 @@ namespace HRM.DA
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
public DataTable GetELInfo(int empID, DateTime JoinDate, DateTime toDate, DateTime availedTo)
|
||||||
|
{
|
||||||
|
|
||||||
|
TransactionContext tc = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tc = TransactionContext.Begin();
|
||||||
|
DataSet dSet = LeaveDA.GetELInfo(tc, empID, JoinDate, toDate, availedTo);
|
||||||
|
return dSet.Tables[0];
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
#region Handle Exception
|
||||||
|
if (tc != null)
|
||||||
|
tc.HandleError();
|
||||||
|
ExceptionLog.Write(e);
|
||||||
|
throw new ServiceException(e.Message, e);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
if (tc != null)
|
||||||
|
tc.End();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -1,22 +1,24 @@
|
||||||
using System;
|
using DocumentFormat.OpenXml.Office2010.Excel;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Data;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Ease.Core.Model;
|
using Ease.Core.Model;
|
||||||
using Ease.Core.Utility;
|
using Ease.Core.Utility;
|
||||||
using HRM.BO;
|
using HRM.BO;
|
||||||
using HRM.BO.Configuration;
|
using HRM.BO.Configuration;
|
||||||
using HRM.DA;
|
using HRM.DA;
|
||||||
using HRM.Report.Attendence.AttendenceDataSet;
|
using HRM.Report.Attendence.AttendenceDataSet;
|
||||||
|
using Microsoft.AspNetCore.JsonPatch.Operations;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Reporting.NETCore;
|
using Microsoft.Reporting.NETCore;
|
||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
using NPOI.XSSF.Streaming.Values;
|
using NPOI.XSSF.Streaming.Values;
|
||||||
using Org.BouncyCastle.Ocsp;
|
using Org.BouncyCastle.Ocsp;
|
||||||
using Org.BouncyCastle.Utilities.Collections;
|
using Org.BouncyCastle.Utilities.Collections;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace HRM.Report
|
namespace HRM.Report
|
||||||
{
|
{
|
||||||
|
@ -3221,5 +3223,164 @@ namespace HRM.Report
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Leave Reports
|
||||||
|
|
||||||
|
public byte[] ShowEmployeeIndvLeaveBalance(string sEmpID, DateTime fromDate, DateTime toDate, int leaveType, int payrollTypeID, DateTime nextPayProcessDate, string reportType)
|
||||||
|
{
|
||||||
|
ReportProcessor form = new ReportProcessor();
|
||||||
|
|
||||||
|
DataRow oRow = null;
|
||||||
|
LeaveYear ly = new LeaveYear();
|
||||||
|
List<Leave> leaveTypes = new LeaveService().Get();
|
||||||
|
List<LeaveYear> _leaveYear = new LeaveYearService().Get();
|
||||||
|
DataSet dsEmpBasicInfo = new EmployeeService().GetAllEmpBasicInfo(sEmpID);
|
||||||
|
DataRow drBasic = null;
|
||||||
|
|
||||||
|
if (dsEmpBasicInfo.Tables[0].Rows.Count > 0)
|
||||||
|
{
|
||||||
|
drBasic = dsEmpBasicInfo.Tables[0].Rows[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (drBasic == null) throw new Exception("Employee Information not found");
|
||||||
|
|
||||||
|
List<LeaveEntry> oLeaveEntrys = new List<LeaveEntry>();
|
||||||
|
DataTable oBody = new HRM.Report.PayrollDataSet.dsEmpLeaveLedger.EmpLeaveLedgerDataTable();
|
||||||
|
DataTable oBody2 = new HRM.Report.PayrollDataSet.dsEmpLeaveLedger.EmpInformationDataTable();
|
||||||
|
DataTable oBody3 = new HRM.Report.PayrollDataSet.dsEmpLeaveLedger.LeaveYearDataTable();
|
||||||
|
DataTable oBody4 = new HRM.Report.PayrollDataSet.dsEmpLeaveLedger.LeaveBalanceDataTable();
|
||||||
|
oLeaveEntrys = new LeaveEntryService().GetEmployeeWiseLeaveDetailReport(Convert.ToInt32(sEmpID), fromDate, toDate, leaveType);
|
||||||
|
List<Employee> oEmps = new List<Employee>();
|
||||||
|
Employee oEmp = new EmployeeService().Get(Convert.ToInt32(sEmpID));
|
||||||
|
oEmps.Add(oEmp);
|
||||||
|
|
||||||
|
|
||||||
|
LeaveYear lyy = new LeaveYearService().GetCurrentYear(payrollTypeID);
|
||||||
|
DateTime operationDate = new GlobalFunctionService().GetOperationDate();
|
||||||
|
if (operationDate.Date > lyy.EndDate.Date)
|
||||||
|
{
|
||||||
|
operationDate = lyy.EndDate.Date;
|
||||||
|
}
|
||||||
|
List<EmpLeaveStatus> oCurrYearStatus = new EmpLeaveStatusService().CurrentYearStatus(oEmps, lyy, operationDate, EnumLeaveStatus.Approved, nextPayProcessDate);
|
||||||
|
foreach (EmpLeaveStatus oItem in oCurrYearStatus)
|
||||||
|
{
|
||||||
|
ly = _leaveYear.Where(x => x.ID == oItem.LeaveYearID).FirstOrDefault();
|
||||||
|
oItem.Leave = leaveTypes.Find(lt => lt.ID == oItem.LeaveId);
|
||||||
|
oBody4.Rows.Add(oItem.Leave.Description, oItem.OpeningBalance.ToString(), oItem.LeaveAvailed.ToString(), oItem.ClosingBalance.ToString(), oItem.CFDays.ToString());
|
||||||
|
}
|
||||||
|
oRow = oBody2.NewRow();
|
||||||
|
oRow["EmpNo"] = drBasic["EmployeeNo"];
|
||||||
|
oRow["EmpName"] = drBasic["Name"];
|
||||||
|
oRow["Designation"] = drBasic["Designation"];
|
||||||
|
oRow["JoiningDate"] = Convert.ToDateTime(drBasic["JoiningDate"].ToString()).ToString("dd MMM yyyy");
|
||||||
|
oRow["LeaveNotifier"] = string.Empty;
|
||||||
|
oRow["Department"] = drBasic["Department"];
|
||||||
|
oRow["Floor"] = drBasic["Floor"];
|
||||||
|
oRow["Section"] = drBasic["Section"];
|
||||||
|
oRow["Line"] = drBasic["Line"];
|
||||||
|
|
||||||
|
DataSet LineManager = new EmployeeService().GetLineManagerFromOrg(Convert.ToInt32(drBasic["EmployeeID"]));
|
||||||
|
|
||||||
|
foreach (DataRow or in LineManager.Tables[0].Rows)
|
||||||
|
{
|
||||||
|
oRow["LeaveApprover"] = or["Name"];
|
||||||
|
}
|
||||||
|
|
||||||
|
oRow["LeavePeriod"] = ly.Name;
|
||||||
|
|
||||||
|
oBody2.Rows.Add(oRow);
|
||||||
|
|
||||||
|
if (oLeaveEntrys != null)
|
||||||
|
{
|
||||||
|
foreach (LeaveEntry le in oLeaveEntrys)
|
||||||
|
{
|
||||||
|
oRow = oBody.NewRow();
|
||||||
|
oRow["LeaveType"] = le.Leave.Description;
|
||||||
|
oRow["FromDate"] = le.ApprovedFromDate.ToString("dd MMM yyyy");
|
||||||
|
oRow["ToDate"] = le.ApprovedToDate.ToString("dd MMM yyyy");
|
||||||
|
oRow["TotalDays"] = le.ApprovedTotalDays;
|
||||||
|
oRow["LeaveReason"] = le.ErnLeaveRemarks;
|
||||||
|
oRow["ApplyDate"] = le.AppliedLeaveDate.ToString("dd MMM yyyy");
|
||||||
|
oRow["ApproveDate"] = le.ApprovedLeaveDate.ToString("dd MMM yyyy");
|
||||||
|
oRow["LeaveStatus"] = le.LeaveStatus.ToString();
|
||||||
|
oRow["Remarks"] = le.Remarks;
|
||||||
|
|
||||||
|
oBody.Rows.Add(oRow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DataSet dSet = new DataSet();
|
||||||
|
oBody.TableName = "dsEmpLeaveLedger_EmpLeaveLedger";
|
||||||
|
dSet.Tables.Add(oBody);
|
||||||
|
oBody4.TableName = "dsEmpLeaveLedger_LeaveBalance";
|
||||||
|
dSet.Tables.Add(oBody4);
|
||||||
|
oBody2.TableName = "dsEmpLeaveLedger_EmpInformation";
|
||||||
|
dSet.Tables.Add(oBody2);
|
||||||
|
|
||||||
|
|
||||||
|
string RDLC = "LeaveLedgerEcho.rdlc";
|
||||||
|
|
||||||
|
return form.CommonReportViewForReports(null, dSet, null, RDLC, null, true, payrollTypeID, reportType);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public byte[] ShowMultipleEmployeeLeaveReport(string sEmpIDs, int lyyid, int payrollTypeID, DateTime nextPayProcessDate, string reportType)
|
||||||
|
{
|
||||||
|
ReportProcessor form = new ReportProcessor();
|
||||||
|
DataTable dTEmpLeave = new HRM.Report.PayrollDataSet.dsEmpLeaveLedger.LeaveBalanceDataTable();
|
||||||
|
|
||||||
|
LeaveYear lyy = new LeaveYearService().Get(lyyid);
|
||||||
|
|
||||||
|
dTEmpLeave = new EmpLeaveStatusService().CurrentYearStatusOptimized(sEmpIDs, lyy, EnumLeaveStatus.Approved, nextPayProcessDate);
|
||||||
|
|
||||||
|
DataSet dSet = new DataSet();
|
||||||
|
dTEmpLeave.TableName = "dsEmpLeaveLedger_LeaveBalance";
|
||||||
|
|
||||||
|
if (dTEmpLeave.Rows.Count > 0)
|
||||||
|
{
|
||||||
|
dSet.Tables.Add(dTEmpLeave);
|
||||||
|
List<ReportParameter> oParameters = new List<ReportParameter>();
|
||||||
|
ReportParameter rParam = new ReportParameter("LeaveYear", string.Format("{0} - {1}", lyy.StartDate.ToString("dd MMM yyyy"), lyy.EndDate.ToString("dd MMM yyyy")));
|
||||||
|
oParameters.Add(rParam);
|
||||||
|
string RDLC = "MultipleEmpLeaveBalance.rdlc";
|
||||||
|
return form.CommonReportViewForReports(null, dSet, null, RDLC, oParameters, true, payrollTypeID, reportType);
|
||||||
|
//form.CommonReportViewForReports(null, ds, RDLC, oParameters);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new Exception("Leave balance not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] ShowLeaveReport(string sEmpIDs, int lyyid, int payrollTypeID, DateTime nextPayProcessDate, string reportType)
|
||||||
|
{
|
||||||
|
|
||||||
|
ReportProcessor form = new ReportProcessor();
|
||||||
|
DataTable dTEmpLeave = new HRM.Report.PayrollDataSet.dsEmpLeaveLedger.LeaveBalanceDataTable();
|
||||||
|
|
||||||
|
LeaveYear lyy = new LeaveYearService().Get(lyyid);
|
||||||
|
|
||||||
|
dTEmpLeave = new EmpLeaveStatusService().CurrentYearStatusOptimized(sEmpIDs, lyy, EnumLeaveStatus.Approved, nextPayProcessDate);
|
||||||
|
|
||||||
|
if (dTEmpLeave.Rows.Count > 0)
|
||||||
|
{
|
||||||
|
DataSet ds = new DataSet();
|
||||||
|
dTEmpLeave.TableName = "dsEmpLeaveLedger_LeaveBalance";
|
||||||
|
ds.Tables.Add(dTEmpLeave);
|
||||||
|
|
||||||
|
List<ReportParameter> oParameters = new List<ReportParameter>();
|
||||||
|
ReportParameter rParam = new ReportParameter("FromDate", lyy.StartDate.ToString("dd MMM yyyy"));
|
||||||
|
oParameters.Add(rParam);
|
||||||
|
rParam = new ReportParameter("ToDate", lyy.EndDate.ToString("dd MMM yyyy"));
|
||||||
|
oParameters.Add(rParam);
|
||||||
|
|
||||||
|
string RDLC = "LeaveReportEcho.rdlc";
|
||||||
|
return form.CommonReportViewForReports(null, ds, null, RDLC, oParameters, true, payrollTypeID, reportType);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new Exception("Leave balance not found");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,6 +146,7 @@
|
||||||
<None Remove="RDLC\LeaveApplication.rdlc" />
|
<None Remove="RDLC\LeaveApplication.rdlc" />
|
||||||
<None Remove="RDLC\LeaveCashAdvice.rdlc" />
|
<None Remove="RDLC\LeaveCashAdvice.rdlc" />
|
||||||
<None Remove="RDLC\LeaveLedger.rdlc" />
|
<None Remove="RDLC\LeaveLedger.rdlc" />
|
||||||
|
<None Remove="RDLC\LeaveLedgerEcho.rdlc" />
|
||||||
<None Remove="RDLC\LeaveLedgerForLateAttn.rdlc" />
|
<None Remove="RDLC\LeaveLedgerForLateAttn.rdlc" />
|
||||||
<None Remove="RDLC\LeaveLedgerNmgtDetails.rdlc" />
|
<None Remove="RDLC\LeaveLedgerNmgtDetails.rdlc" />
|
||||||
<None Remove="RDLC\LeaveLedgerNmgtLeaveType.rdlc" />
|
<None Remove="RDLC\LeaveLedgerNmgtLeaveType.rdlc" />
|
||||||
|
@ -157,6 +158,7 @@
|
||||||
<None Remove="RDLC\LeaveProcessData.rdlc" />
|
<None Remove="RDLC\LeaveProcessData.rdlc" />
|
||||||
<None Remove="RDLC\LeaveRegisterNew.rdlc" />
|
<None Remove="RDLC\LeaveRegisterNew.rdlc" />
|
||||||
<None Remove="RDLC\LeaveReport.rdlc" />
|
<None Remove="RDLC\LeaveReport.rdlc" />
|
||||||
|
<None Remove="RDLC\LeaveReportEcho.rdlc" />
|
||||||
<None Remove="RDLC\LoanApplication.rdlc" />
|
<None Remove="RDLC\LoanApplication.rdlc" />
|
||||||
<None Remove="RDLC\LoanIssue.rdlc" />
|
<None Remove="RDLC\LoanIssue.rdlc" />
|
||||||
<None Remove="RDLC\LoanIssue_prev.rdlc" />
|
<None Remove="RDLC\LoanIssue_prev.rdlc" />
|
||||||
|
@ -169,6 +171,7 @@
|
||||||
<None Remove="RDLC\MLSecondPayment.rdlc" />
|
<None Remove="RDLC\MLSecondPayment.rdlc" />
|
||||||
<None Remove="RDLC\MoneyReceipt.rdlc" />
|
<None Remove="RDLC\MoneyReceipt.rdlc" />
|
||||||
<None Remove="RDLC\MonthlyPFAmount.rdlc" />
|
<None Remove="RDLC\MonthlyPFAmount.rdlc" />
|
||||||
|
<None Remove="RDLC\MultipleEmpLeaveBalance.rdlc" />
|
||||||
<None Remove="RDLC\MultipleLeaveEmp.rdlc" />
|
<None Remove="RDLC\MultipleLeaveEmp.rdlc" />
|
||||||
<None Remove="RDLC\MultipleLeaveEmpSimple.rdlc" />
|
<None Remove="RDLC\MultipleLeaveEmpSimple.rdlc" />
|
||||||
<None Remove="RDLC\MultipleLeaveEmpSimpleNmgt.rdlc" />
|
<None Remove="RDLC\MultipleLeaveEmpSimpleNmgt.rdlc" />
|
||||||
|
@ -379,15 +382,20 @@
|
||||||
<EmbeddedResource Include="RDLC\EmployeeDetailWithOPIEcho.rdlc" />
|
<EmbeddedResource Include="RDLC\EmployeeDetailWithOPIEcho.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\EmployeeInfoBasicForExcel.rdlc" />
|
<EmbeddedResource Include="RDLC\EmployeeInfoBasicForExcel.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\EmployeeInfoBasic.rdlc" />
|
<EmbeddedResource Include="RDLC\EmployeeInfoBasic.rdlc" />
|
||||||
|
<EmbeddedResource Include="RDLC\LeaveLedgerEcho.rdlc">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="RDLC\LeaveLedgerNmgtDetails.rdlc" />
|
<EmbeddedResource Include="RDLC\LeaveLedgerNmgtDetails.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\LeaveLedgerNmgtLeaveType.rdlc">
|
<EmbeddedResource Include="RDLC\LeaveLedgerNmgtLeaveType.rdlc">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="RDLC\LeaveLedgerNmgtMultiple.rdlc" />
|
<EmbeddedResource Include="RDLC\LeaveLedgerNmgtMultiple.rdlc" />
|
||||||
|
<EmbeddedResource Include="RDLC\LeaveReportEcho.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\MaternityLeaveAfter.rdlc" />
|
<EmbeddedResource Include="RDLC\MaternityLeaveAfter.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\MonthlyPFAmount.rdlc">
|
<EmbeddedResource Include="RDLC\MonthlyPFAmount.rdlc">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="RDLC\MultipleEmpLeaveBalance.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\MultipleLeaveEmp.rdlc" />
|
<EmbeddedResource Include="RDLC\MultipleLeaveEmp.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\NewCCWiseSalarySheet.rdlc" />
|
<EmbeddedResource Include="RDLC\NewCCWiseSalarySheet.rdlc" />
|
||||||
<EmbeddedResource Include="RDLC\PFExceptionNew.rdlc" />
|
<EmbeddedResource Include="RDLC\PFExceptionNew.rdlc" />
|
||||||
|
|
663
HRM.Report/PayrollDataSet/dsEmpLeaveLedger.Designer.cs
generated
663
HRM.Report/PayrollDataSet/dsEmpLeaveLedger.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
|
@ -31,6 +31,9 @@
|
||||||
<xs:element name="WorkDayType" msprop:Generator_ColumnPropNameInTable="WorkDayTypeColumn" msprop:Generator_ColumnPropNameInRow="WorkDayType" msprop:Generator_UserColumnName="WorkDayType" msprop:Generator_ColumnVarNameInTable="columnWorkDayType" type="xs:string" minOccurs="0" />
|
<xs:element name="WorkDayType" msprop:Generator_ColumnPropNameInTable="WorkDayTypeColumn" msprop:Generator_ColumnPropNameInRow="WorkDayType" msprop:Generator_UserColumnName="WorkDayType" msprop:Generator_ColumnVarNameInTable="columnWorkDayType" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="AttnDate2" msprop:Generator_ColumnPropNameInTable="AttnDate2Column" msprop:Generator_ColumnPropNameInRow="AttnDate2" msprop:Generator_UserColumnName="AttnDate2" msprop:Generator_ColumnVarNameInTable="columnAttnDate2" type="xs:dateTime" minOccurs="0" />
|
<xs:element name="AttnDate2" msprop:Generator_ColumnPropNameInTable="AttnDate2Column" msprop:Generator_ColumnPropNameInRow="AttnDate2" msprop:Generator_UserColumnName="AttnDate2" msprop:Generator_ColumnVarNameInTable="columnAttnDate2" type="xs:dateTime" minOccurs="0" />
|
||||||
<xs:element name="Remarks" msprop:Generator_ColumnPropNameInTable="RemarksColumn" msprop:Generator_ColumnPropNameInRow="Remarks" msprop:Generator_UserColumnName="Remarks" msprop:Generator_ColumnVarNameInTable="columnRemarks" type="xs:string" minOccurs="0" />
|
<xs:element name="Remarks" msprop:Generator_ColumnPropNameInTable="RemarksColumn" msprop:Generator_ColumnPropNameInRow="Remarks" msprop:Generator_UserColumnName="Remarks" msprop:Generator_ColumnVarNameInTable="columnRemarks" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="ApplyDate" msprop:Generator_ColumnPropNameInRow="ApplyDate" msprop:Generator_ColumnPropNameInTable="ApplyDateColumn" msprop:Generator_ColumnVarNameInTable="columnApplyDate" msprop:Generator_UserColumnName="ApplyDate" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="ApproveDate" msprop:Generator_ColumnPropNameInRow="ApproveDate" msprop:Generator_ColumnPropNameInTable="ApproveDateColumn" msprop:Generator_ColumnVarNameInTable="columnApproveDate" msprop:Generator_UserColumnName="ApproveDate" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="LeaveStatus" msprop:Generator_ColumnPropNameInRow="LeaveStatus" msprop:Generator_ColumnPropNameInTable="LeaveStatusColumn" msprop:Generator_ColumnVarNameInTable="columnLeaveStatus" msprop:Generator_UserColumnName="LeaveStatus" type="xs:string" minOccurs="0" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
@ -58,7 +61,13 @@
|
||||||
<xs:element name="Department" msprop:Generator_ColumnPropNameInTable="DepartmentColumn" msprop:Generator_ColumnPropNameInRow="Department" msprop:Generator_UserColumnName="Department" msprop:Generator_ColumnVarNameInTable="columnDepartment" type="xs:string" minOccurs="0" />
|
<xs:element name="Department" msprop:Generator_ColumnPropNameInTable="DepartmentColumn" msprop:Generator_ColumnPropNameInRow="Department" msprop:Generator_UserColumnName="Department" msprop:Generator_ColumnVarNameInTable="columnDepartment" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_UserColumnName="Designation" msprop:Generator_ColumnVarNameInTable="columnDesignation" type="xs:string" minOccurs="0" />
|
<xs:element name="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_UserColumnName="Designation" msprop:Generator_ColumnVarNameInTable="columnDesignation" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="JoiningDate" msprop:Generator_ColumnPropNameInTable="JoiningDateColumn" msprop:Generator_ColumnPropNameInRow="JoiningDate" msprop:Generator_UserColumnName="JoiningDate" msprop:Generator_ColumnVarNameInTable="columnJoiningDate" type="xs:string" minOccurs="0" />
|
<xs:element name="JoiningDate" msprop:Generator_ColumnPropNameInTable="JoiningDateColumn" msprop:Generator_ColumnPropNameInRow="JoiningDate" msprop:Generator_UserColumnName="JoiningDate" msprop:Generator_ColumnVarNameInTable="columnJoiningDate" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Shift" msprop:Generator_ColumnPropNameInTable="ShiftColumn" msprop:Generator_ColumnPropNameInRow="Shift" msprop:Generator_UserColumnName="Shift" msprop:Generator_ColumnVarNameInTable="columnShift" type="xs:string" minOccurs="0" />
|
<xs:element name="Shift" msprop:Generator_ColumnPropNameInRow="Shift" msprop:Generator_ColumnPropNameInTable="ShiftColumn" msprop:Generator_ColumnVarNameInTable="columnShift" msprop:Generator_UserColumnName="Shift" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="LeavePeriod" msprop:Generator_ColumnPropNameInRow="LeavePeriod" msprop:Generator_ColumnPropNameInTable="LeavePeriodColumn" msprop:Generator_ColumnVarNameInTable="columnLeavePeriod" msprop:Generator_UserColumnName="LeavePeriod" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="LeaveApprover" msprop:Generator_ColumnPropNameInRow="LeaveApprover" msprop:Generator_ColumnPropNameInTable="LeaveApproverColumn" msprop:Generator_ColumnVarNameInTable="columnLeaveApprover" msprop:Generator_UserColumnName="LeaveApprover" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="LeaveNotifier" msprop:Generator_ColumnPropNameInRow="LeaveNotifier" msprop:Generator_ColumnPropNameInTable="LeaveNotifierColumn" msprop:Generator_ColumnVarNameInTable="columnLeaveNotifier" msprop:Generator_UserColumnName="LeaveNotifier" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="Floor" msprop:Generator_ColumnPropNameInRow="Floor" msprop:Generator_ColumnPropNameInTable="FloorColumn" msprop:Generator_ColumnVarNameInTable="columnFloor" msprop:Generator_UserColumnName="Floor" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="Section" msprop:Generator_ColumnPropNameInRow="Section" msprop:Generator_ColumnPropNameInTable="SectionColumn" msprop:Generator_ColumnVarNameInTable="columnSection" msprop:Generator_UserColumnName="Section" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="Line" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnVarNameInTable="columnLine" msprop:Generator_UserColumnName="Line" type="xs:string" minOccurs="0" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
@ -363,6 +372,7 @@
|
||||||
<xs:element name="Opening" msprop:Generator_ColumnPropNameInTable="OpeningColumn" msprop:Generator_ColumnPropNameInRow="Opening" msprop:Generator_UserColumnName="Opening" msprop:Generator_ColumnVarNameInTable="columnOpening" type="xs:string" minOccurs="0" />
|
<xs:element name="Opening" msprop:Generator_ColumnPropNameInTable="OpeningColumn" msprop:Generator_ColumnPropNameInRow="Opening" msprop:Generator_UserColumnName="Opening" msprop:Generator_ColumnVarNameInTable="columnOpening" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Availed" msprop:Generator_ColumnPropNameInTable="AvailedColumn" msprop:Generator_ColumnPropNameInRow="Availed" msprop:Generator_UserColumnName="Availed" msprop:Generator_ColumnVarNameInTable="columnAvailed" type="xs:string" minOccurs="0" />
|
<xs:element name="Availed" msprop:Generator_ColumnPropNameInTable="AvailedColumn" msprop:Generator_ColumnPropNameInRow="Availed" msprop:Generator_UserColumnName="Availed" msprop:Generator_ColumnVarNameInTable="columnAvailed" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Balance" msprop:Generator_ColumnPropNameInTable="BalanceColumn" msprop:Generator_ColumnPropNameInRow="Balance" msprop:Generator_UserColumnName="Balance" msprop:Generator_ColumnVarNameInTable="columnBalance" type="xs:string" minOccurs="0" />
|
<xs:element name="Balance" msprop:Generator_ColumnPropNameInTable="BalanceColumn" msprop:Generator_ColumnPropNameInRow="Balance" msprop:Generator_UserColumnName="Balance" msprop:Generator_ColumnVarNameInTable="columnBalance" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="CFDays" msprop:Generator_ColumnPropNameInRow="CFDays" msprop:Generator_ColumnPropNameInTable="CFDaysColumn" msprop:Generator_ColumnVarNameInTable="columnCFDays" msprop:Generator_UserColumnName="CFDays" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="EmpNo" msprop:Generator_ColumnPropNameInTable="EmpNoColumn" msprop:Generator_ColumnPropNameInRow="EmpNo" msprop:Generator_UserColumnName="EmpNo" msprop:Generator_ColumnVarNameInTable="columnEmpNo" type="xs:string" minOccurs="0" />
|
<xs:element name="EmpNo" msprop:Generator_ColumnPropNameInTable="EmpNoColumn" msprop:Generator_ColumnPropNameInRow="EmpNo" msprop:Generator_UserColumnName="EmpNo" msprop:Generator_ColumnVarNameInTable="columnEmpNo" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" type="xs:string" minOccurs="0" />
|
<xs:element name="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_UserColumnName="Designation" msprop:Generator_ColumnVarNameInTable="columnDesignation" type="xs:string" minOccurs="0" />
|
<xs:element name="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_UserColumnName="Designation" msprop:Generator_ColumnVarNameInTable="columnDesignation" type="xs:string" minOccurs="0" />
|
||||||
|
@ -375,6 +385,9 @@
|
||||||
<xs:element name="MaxAccumulatedDays" msprop:Generator_ColumnPropNameInTable="MaxAccumulatedDaysColumn" msprop:Generator_ColumnPropNameInRow="MaxAccumulatedDays" msprop:Generator_UserColumnName="MaxAccumulatedDays" msprop:Generator_ColumnVarNameInTable="columnMaxAccumulatedDays" type="xs:string" minOccurs="0" />
|
<xs:element name="MaxAccumulatedDays" msprop:Generator_ColumnPropNameInTable="MaxAccumulatedDaysColumn" msprop:Generator_ColumnPropNameInRow="MaxAccumulatedDays" msprop:Generator_UserColumnName="MaxAccumulatedDays" msprop:Generator_ColumnVarNameInTable="columnMaxAccumulatedDays" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="MaxAccumulatedDaysHr" msprop:Generator_ColumnPropNameInTable="MaxAccumulatedDaysHrColumn" msprop:Generator_ColumnPropNameInRow="MaxAccumulatedDaysHr" msprop:Generator_UserColumnName="MaxAccumulatedDaysHr" msprop:Generator_ColumnVarNameInTable="columnMaxAccumulatedDaysHr" type="xs:string" minOccurs="0" />
|
<xs:element name="MaxAccumulatedDaysHr" msprop:Generator_ColumnPropNameInTable="MaxAccumulatedDaysHrColumn" msprop:Generator_ColumnPropNameInRow="MaxAccumulatedDaysHr" msprop:Generator_UserColumnName="MaxAccumulatedDaysHr" msprop:Generator_ColumnVarNameInTable="columnMaxAccumulatedDaysHr" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="LateAttnAdjust" msprop:Generator_ColumnPropNameInTable="LateAttnAdjustColumn" msprop:Generator_ColumnPropNameInRow="LateAttnAdjust" msprop:Generator_UserColumnName="LateAttnAdjust" msprop:Generator_ColumnVarNameInTable="columnLateAttnAdjust" type="xs:string" minOccurs="0" />
|
<xs:element name="LateAttnAdjust" msprop:Generator_ColumnPropNameInTable="LateAttnAdjustColumn" msprop:Generator_ColumnPropNameInRow="LateAttnAdjust" msprop:Generator_UserColumnName="LateAttnAdjust" msprop:Generator_ColumnVarNameInTable="columnLateAttnAdjust" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="Floor" msprop:Generator_ColumnPropNameInRow="Floor" msprop:Generator_ColumnPropNameInTable="FloorColumn" msprop:Generator_ColumnVarNameInTable="columnFloor" msprop:Generator_UserColumnName="Floor" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="Section" msprop:Generator_ColumnPropNameInRow="Section" msprop:Generator_ColumnPropNameInTable="SectionColumn" msprop:Generator_ColumnVarNameInTable="columnSection" msprop:Generator_UserColumnName="Section" type="xs:string" minOccurs="0" />
|
||||||
|
<xs:element name="Line" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnVarNameInTable="columnLine" msprop:Generator_UserColumnName="Line" type="xs:string" minOccurs="0" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
@ -762,25 +775,25 @@
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="CCWiseSalarySummary" msprop:Generator_RowEvHandlerName="CCWiseSalarySummaryRowChangeEventHandler" msprop:Generator_RowDeletedName="CCWiseSalarySummaryRowDeleted" msprop:Generator_RowDeletingName="CCWiseSalarySummaryRowDeleting" msprop:Generator_RowEvArgName="CCWiseSalarySummaryRowChangeEvent" msprop:Generator_TablePropName="CCWiseSalarySummary" msprop:Generator_RowChangedName="CCWiseSalarySummaryRowChanged" msprop:Generator_RowChangingName="CCWiseSalarySummaryRowChanging" msprop:Generator_TableClassName="CCWiseSalarySummaryDataTable" msprop:Generator_RowClassName="CCWiseSalarySummaryRow" msprop:Generator_TableVarName="tableCCWiseSalarySummary" msprop:Generator_UserTableName="CCWiseSalarySummary">
|
<xs:element name="CCWiseSalarySummary" msprop:Generator_RowClassName="CCWiseSalarySummaryRow" msprop:Generator_RowEvHandlerName="CCWiseSalarySummaryRowChangeEventHandler" msprop:Generator_RowDeletedName="CCWiseSalarySummaryRowDeleted" msprop:Generator_RowDeletingName="CCWiseSalarySummaryRowDeleting" msprop:Generator_RowEvArgName="CCWiseSalarySummaryRowChangeEvent" msprop:Generator_TablePropName="CCWiseSalarySummary" msprop:Generator_RowChangedName="CCWiseSalarySummaryRowChanged" msprop:Generator_UserTableName="CCWiseSalarySummary" msprop:Generator_RowChangingName="CCWiseSalarySummaryRowChanging" msprop:Generator_TableClassName="CCWiseSalarySummaryDataTable" msprop:Generator_TableVarName="tableCCWiseSalarySummary">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_UserColumnName="Name" type="xs:string" minOccurs="0" />
|
<xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" type="xs:string" minOccurs="0" />
|
||||||
<xs:element name="Gross" msprop:Generator_ColumnPropNameInRow="Gross" msprop:Generator_ColumnPropNameInTable="GrossColumn" msprop:Generator_ColumnVarNameInTable="columnGross" msprop:Generator_UserColumnName="Gross" type="xs:double" minOccurs="0" />
|
<xs:element name="Gross" msprop:Generator_UserColumnName="Gross" msprop:Generator_ColumnPropNameInTable="GrossColumn" msprop:Generator_ColumnPropNameInRow="Gross" msprop:Generator_ColumnVarNameInTable="columnGross" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="PF" msprop:Generator_ColumnPropNameInRow="PF" msprop:Generator_ColumnPropNameInTable="PFColumn" msprop:Generator_ColumnVarNameInTable="columnPF" msprop:Generator_UserColumnName="PF" type="xs:double" minOccurs="0" />
|
<xs:element name="PF" msprop:Generator_UserColumnName="PF" msprop:Generator_ColumnPropNameInTable="PFColumn" msprop:Generator_ColumnPropNameInRow="PF" msprop:Generator_ColumnVarNameInTable="columnPF" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="PFLoan" msprop:Generator_ColumnPropNameInRow="PFLoan" msprop:Generator_ColumnPropNameInTable="PFLoanColumn" msprop:Generator_ColumnVarNameInTable="columnPFLoan" msprop:Generator_UserColumnName="PFLoan" type="xs:double" minOccurs="0" />
|
<xs:element name="PFLoan" msprop:Generator_UserColumnName="PFLoan" msprop:Generator_ColumnPropNameInTable="PFLoanColumn" msprop:Generator_ColumnPropNameInRow="PFLoan" msprop:Generator_ColumnVarNameInTable="columnPFLoan" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="Deduction" msprop:Generator_ColumnPropNameInRow="Deduction" msprop:Generator_ColumnPropNameInTable="DeductionColumn" msprop:Generator_ColumnVarNameInTable="columnDeduction" msprop:Generator_UserColumnName="Deduction" type="xs:double" minOccurs="0" />
|
<xs:element name="Deduction" msprop:Generator_UserColumnName="Deduction" msprop:Generator_ColumnPropNameInTable="DeductionColumn" msprop:Generator_ColumnPropNameInRow="Deduction" msprop:Generator_ColumnVarNameInTable="columnDeduction" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="NetPay" msprop:Generator_ColumnPropNameInRow="NetPay" msprop:Generator_ColumnPropNameInTable="NetPayColumn" msprop:Generator_ColumnVarNameInTable="columnNetPay" msprop:Generator_UserColumnName="NetPay" type="xs:double" minOccurs="0" />
|
<xs:element name="NetPay" msprop:Generator_UserColumnName="NetPay" msprop:Generator_ColumnPropNameInTable="NetPayColumn" msprop:Generator_ColumnPropNameInRow="NetPay" msprop:Generator_ColumnVarNameInTable="columnNetPay" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="Basic" msprop:Generator_ColumnPropNameInRow="Basic" msprop:Generator_ColumnPropNameInTable="BasicColumn" msprop:Generator_ColumnVarNameInTable="columnBasic" msprop:Generator_UserColumnName="Basic" type="xs:double" minOccurs="0" />
|
<xs:element name="Basic" msprop:Generator_UserColumnName="Basic" msprop:Generator_ColumnPropNameInTable="BasicColumn" msprop:Generator_ColumnPropNameInRow="Basic" msprop:Generator_ColumnVarNameInTable="columnBasic" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="HR" msprop:Generator_ColumnPropNameInRow="HR" msprop:Generator_ColumnPropNameInTable="HRColumn" msprop:Generator_ColumnVarNameInTable="columnHR" msprop:Generator_UserColumnName="HR" type="xs:double" minOccurs="0" />
|
<xs:element name="HR" msprop:Generator_UserColumnName="HR" msprop:Generator_ColumnPropNameInTable="HRColumn" msprop:Generator_ColumnPropNameInRow="HR" msprop:Generator_ColumnVarNameInTable="columnHR" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="Medical" msprop:Generator_ColumnPropNameInRow="Medical" msprop:Generator_ColumnPropNameInTable="MedicalColumn" msprop:Generator_ColumnVarNameInTable="columnMedical" msprop:Generator_UserColumnName="Medical" type="xs:double" minOccurs="0" />
|
<xs:element name="Medical" msprop:Generator_UserColumnName="Medical" msprop:Generator_ColumnPropNameInTable="MedicalColumn" msprop:Generator_ColumnPropNameInRow="Medical" msprop:Generator_ColumnVarNameInTable="columnMedical" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="Convence" msprop:Generator_ColumnPropNameInRow="Convence" msprop:Generator_ColumnPropNameInTable="ConvenceColumn" msprop:Generator_ColumnVarNameInTable="columnConvence" msprop:Generator_UserColumnName="Convence" type="xs:double" minOccurs="0" />
|
<xs:element name="Convence" msprop:Generator_UserColumnName="Convence" msprop:Generator_ColumnPropNameInTable="ConvenceColumn" msprop:Generator_ColumnPropNameInRow="Convence" msprop:Generator_ColumnVarNameInTable="columnConvence" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="MonthlyLocationAllowanceEURO" msprop:Generator_ColumnPropNameInRow="MonthlyLocationAllowanceEURO" msprop:Generator_ColumnPropNameInTable="MonthlyLocationAllowanceEUROColumn" msprop:Generator_ColumnVarNameInTable="columnMonthlyLocationAllowanceEURO" msprop:Generator_UserColumnName="MonthlyLocationAllowanceEURO" type="xs:double" minOccurs="0" />
|
<xs:element name="MonthlyLocationAllowanceEURO" msprop:Generator_UserColumnName="MonthlyLocationAllowanceEURO" msprop:Generator_ColumnPropNameInTable="MonthlyLocationAllowanceEUROColumn" msprop:Generator_ColumnPropNameInRow="MonthlyLocationAllowanceEURO" msprop:Generator_ColumnVarNameInTable="columnMonthlyLocationAllowanceEURO" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="ActualGross" msprop:Generator_ColumnPropNameInRow="ActualGross" msprop:Generator_ColumnPropNameInTable="ActualGrossColumn" msprop:Generator_ColumnVarNameInTable="columnActualGross" msprop:Generator_UserColumnName="ActualGross" type="xs:double" minOccurs="0" />
|
<xs:element name="ActualGross" msprop:Generator_UserColumnName="ActualGross" msprop:Generator_ColumnPropNameInTable="ActualGrossColumn" msprop:Generator_ColumnPropNameInRow="ActualGross" msprop:Generator_ColumnVarNameInTable="columnActualGross" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="ChildDeductionEURO" msprop:Generator_ColumnPropNameInRow="ChildDeductionEURO" msprop:Generator_ColumnPropNameInTable="ChildDeductionEUROColumn" msprop:Generator_ColumnVarNameInTable="columnChildDeductionEURO" msprop:Generator_UserColumnName="ChildDeductionEURO" type="xs:double" minOccurs="0" />
|
<xs:element name="ChildDeductionEURO" msprop:Generator_UserColumnName="ChildDeductionEURO" msprop:Generator_ColumnPropNameInTable="ChildDeductionEUROColumn" msprop:Generator_ColumnPropNameInRow="ChildDeductionEURO" msprop:Generator_ColumnVarNameInTable="columnChildDeductionEURO" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="TotalDeduction" msprop:Generator_ColumnPropNameInRow="TotalDeduction" msprop:Generator_ColumnPropNameInTable="TotalDeductionColumn" msprop:Generator_ColumnVarNameInTable="columnTotalDeduction" msprop:Generator_UserColumnName="TotalDeduction" type="xs:double" minOccurs="0" />
|
<xs:element name="TotalDeduction" msprop:Generator_UserColumnName="TotalDeduction" msprop:Generator_ColumnPropNameInTable="TotalDeductionColumn" msprop:Generator_ColumnPropNameInRow="TotalDeduction" msprop:Generator_ColumnVarNameInTable="columnTotalDeduction" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="HousingDeductionEURO" msprop:Generator_ColumnPropNameInRow="HousingDeductionEURO" msprop:Generator_ColumnPropNameInTable="HousingDeductionEUROColumn" msprop:Generator_ColumnVarNameInTable="columnHousingDeductionEURO" msprop:Generator_UserColumnName="HousingDeductionEURO" type="xs:double" minOccurs="0" />
|
<xs:element name="HousingDeductionEURO" msprop:Generator_UserColumnName="HousingDeductionEURO" msprop:Generator_ColumnPropNameInTable="HousingDeductionEUROColumn" msprop:Generator_ColumnPropNameInRow="HousingDeductionEURO" msprop:Generator_ColumnVarNameInTable="columnHousingDeductionEURO" type="xs:double" minOccurs="0" />
|
||||||
<xs:element name="PFLoaninterest" msprop:Generator_ColumnPropNameInRow="PFLoaninterest" msprop:Generator_ColumnPropNameInTable="PFLoaninterestColumn" msprop:Generator_ColumnVarNameInTable="columnPFLoaninterest" msprop:Generator_UserColumnName="PFLoaninterest" type="xs:double" minOccurs="0" />
|
<xs:element name="PFLoaninterest" msprop:Generator_UserColumnName="PFLoaninterest" msprop:Generator_ColumnPropNameInTable="PFLoaninterestColumn" msprop:Generator_ColumnPropNameInRow="PFLoaninterest" msprop:Generator_ColumnVarNameInTable="columnPFLoaninterest" type="xs:double" minOccurs="0" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
|
|
@ -4,56 +4,56 @@
|
||||||
Changes to this file may cause incorrect behavior and will be lost if
|
Changes to this file may cause incorrect behavior and will be lost if
|
||||||
the code is regenerated.
|
the code is regenerated.
|
||||||
</autogenerated>-->
|
</autogenerated>-->
|
||||||
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="94" ViewPortY="-2" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-15" ViewPortY="-13" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||||
<Shapes>
|
<Shapes>
|
||||||
<Shape ID="DesignTable:EmpLeaveLedger" ZOrder="25" X="443" Y="-3" Height="257" Width="164" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:EmpLeaveLedger" ZOrder="33" X="443" Y="-3" Height="28" Width="164" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:CCWiseLeaveEncash" ZOrder="9" X="0" Y="18" Height="49" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
|
<Shape ID="DesignTable:CCWiseLeaveEncash" ZOrder="41" X="183" Y="456" Height="28" Width="182" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="45" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveYear" ZOrder="15" X="664" Y="33" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="57" SplitterPosition="24" />
|
<Shape ID="DesignTable:LeaveYear" ZOrder="11" X="664" Y="33" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="57" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:EmpInformation" ZOrder="24" X="446" Y="29" Height="143" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
<Shape ID="DesignTable:EmpInformation" ZOrder="32" X="448" Y="29" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:OPIRegister" ZOrder="21" X="870" Y="102" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="126" SplitterPosition="24" />
|
<Shape ID="DesignTable:OPIRegister" ZOrder="43" X="870" Y="102" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="126" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:MaternityLeave" ZOrder="30" X="218" Y="32" Height="257" Width="193" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="329" SplitterPosition="24" />
|
<Shape ID="DesignTable:MaternityLeave" ZOrder="29" X="218" Y="32" Height="28" Width="193" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="329" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:MaternityStatusDetail" ZOrder="29" X="217" Y="-2" Height="105" Width="193" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="91" SplitterPosition="24" />
|
<Shape ID="DesignTable:MaternityStatusDetail" ZOrder="31" X="217" Y="-2" Height="28" Width="193" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="91" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSDeduct" ZOrder="36" X="8" Y="196" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSDeduct" ZOrder="20" X="8" Y="196" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSAdd" ZOrder="37" X="7" Y="3" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSAdd" ZOrder="24" X="7" Y="3" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:GratuityLedger" ZOrder="20" X="1053" Y="0" Height="143" Width="153" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="125" SplitterPosition="24" />
|
<Shape ID="DesignTable:GratuityLedger" ZOrder="3" X="1053" Y="0" Height="28" Width="153" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="125" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:GratuityRegister" ZOrder="19" X="1055" Y="34" Height="124" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="108" SplitterPosition="24" />
|
<Shape ID="DesignTable:GratuityRegister" ZOrder="4" X="1055" Y="34" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="108" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSEmpInformation" ZOrder="43" X="6" Y="101" Height="257" Width="181" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSEmpInformation" ZOrder="26" X="6" Y="101" Height="28" Width="181" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:Budget" ZOrder="18" X="869" Y="66" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
|
<Shape ID="DesignTable:Budget" ZOrder="5" X="869" Y="66" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:BudgetCC" ZOrder="17" X="866" Y="-2" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="142" SplitterPosition="24" />
|
<Shape ID="DesignTable:BudgetCC" ZOrder="7" X="866" Y="-2" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="142" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:BudgetComparison" ZOrder="3" X="868" Y="31" Height="238" Width="178" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="245" SplitterPosition="234" />
|
<Shape ID="DesignTable:BudgetComparison" ZOrder="6" X="868" Y="31" Height="28" Width="178" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="245" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSAddItem" ZOrder="47" X="7" Y="133" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="63" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSAddItem" ZOrder="22" X="7" Y="133" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="63" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSDeductItem" ZOrder="48" X="8" Y="165" Height="67" Width="154" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="63" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSDeductItem" ZOrder="21" X="8" Y="165" Height="28" Width="154" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="63" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSAddOtherItem" ZOrder="46" X="3" Y="361" Height="67" Width="170" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="63" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSAddOtherItem" ZOrder="15" X="3" Y="361" Height="28" Width="170" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="63" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FStkinwords" ZOrder="45" X="5" Y="328" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="44" SplitterPosition="24" />
|
<Shape ID="DesignTable:FStkinwords" ZOrder="48" X="5" Y="328" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="44" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSsalaryComponent" ZOrder="44" X="7" Y="69" Height="238" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSsalaryComponent" ZOrder="25" X="7" Y="69" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSEmp" ZOrder="38" X="7" Y="230" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSEmp" ZOrder="19" X="7" Y="230" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSSFracsalary" ZOrder="42" X="6" Y="296" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSSFracsalary" ZOrder="17" X="6" Y="296" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSPreLeave" ZOrder="41" X="6" Y="263" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSPreLeave" ZOrder="18" X="6" Y="263" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:fsdec" ZOrder="39" X="7" Y="38" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
<Shape ID="DesignTable:fsdec" ZOrder="23" X="197" Y="231" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:fstotal" ZOrder="40" X="5" Y="393" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" />
|
<Shape ID="DesignTable:fstotal" ZOrder="16" X="5" Y="393" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveBalance" ZOrder="14" X="662" Y="-1" Height="257" Width="160" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:LeaveBalance" ZOrder="1" X="662" Y="-1" Height="28" Width="177" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="140" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:EmployeesTaxDeduction" ZOrder="23" X="442" Y="62" Height="162" Width="209" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
|
<Shape ID="DesignTable:EmployeesTaxDeduction" ZOrder="13" X="442" Y="62" Height="28" Width="209" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:TaxInvestment" ZOrder="28" X="219" Y="99" Height="143" Width="152" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
<Shape ID="DesignTable:TaxInvestment" ZOrder="28" X="219" Y="99" Height="28" Width="152" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:TaxChallan" ZOrder="27" X="218" Y="132" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
<Shape ID="DesignTable:TaxChallan" ZOrder="27" X="218" Y="132" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveApplication" ZOrder="2" X="663" Y="68" Height="257" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
|
<Shape ID="DesignTable:LeaveApplication" ZOrder="35" X="663" Y="68" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:ShortLeave" ZOrder="16" X="1055" Y="68" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
|
<Shape ID="DesignTable:ShortLeave" ZOrder="42" X="1055" Y="68" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:MultipleEmployeeLeave" ZOrder="26" X="217" Y="64" Height="257" Width="204" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:MultipleEmployeeLeave" ZOrder="30" X="217" Y="64" Height="28" Width="204" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveInformation" ZOrder="13" X="662" Y="97" Height="257" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:LeaveInformation" ZOrder="10" X="662" Y="97" Height="28" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveLedger" ZOrder="12" X="663" Y="129" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="310" SplitterPosition="24" />
|
<Shape ID="DesignTable:LeaveLedger" ZOrder="9" X="663" Y="129" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="310" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LFAReport" ZOrder="11" X="662" Y="162" Height="238" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
|
<Shape ID="DesignTable:LFAReport" ZOrder="8" X="662" Y="162" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSTerminalBenefit" ZOrder="35" X="3" Y="427" Height="257" Width="172" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSTerminalBenefit" ZOrder="14" X="3" Y="427" Height="28" Width="172" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:FSLess" ZOrder="34" X="2" Y="458" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
|
<Shape ID="DesignTable:FSLess" ZOrder="47" X="2" Y="458" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:EmpDepartmentalLeave" ZOrder="22" X="439" Y="96" Height="257" Width="204" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:EmpDepartmentalLeave" ZOrder="12" X="439" Y="96" Height="28" Width="204" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:TeamLeaveEmpInfo" ZOrder="31" X="0" Y="0" Height="162" Width="180" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
<Shape ID="DesignTable:TeamLeaveEmpInfo" ZOrder="44" X="192" Y="491" Height="28" Width="180" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:TeamLeaveType" ZOrder="32" X="0" Y="0" Height="162" Width="159" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
<Shape ID="DesignTable:TeamLeaveType" ZOrder="45" X="195" Y="524" Height="28" Width="159" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:TeamLeaveDetails" ZOrder="33" X="0" Y="0" Height="200" Width="170" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
<Shape ID="DesignTable:TeamLeaveDetails" ZOrder="46" X="188" Y="311" Height="28" Width="170" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:BonusPaySlip" ZOrder="8" X="0" Y="18" Height="201" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
|
<Shape ID="DesignTable:BonusPaySlip" ZOrder="40" X="184" Y="423" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="197" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveCashAdvice" ZOrder="7" X="0" Y="18" Height="87" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
|
<Shape ID="DesignTable:LeaveCashAdvice" ZOrder="39" X="183" Y="385" Height="28" Width="165" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="83" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveEntrysForSchedular" ZOrder="10" X="660" Y="195" Height="257" Width="210" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
<Shape ID="DesignTable:LeaveEntrysForSchedular" ZOrder="2" X="660" Y="195" Height="28" Width="210" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:LeaveEncash" ZOrder="6" X="0" Y="18" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
|
<Shape ID="DesignTable:LeaveEncash" ZOrder="38" X="199" Y="347" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="178" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:MLPayment" ZOrder="5" X="399" Y="182" Height="239" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
<Shape ID="DesignTable:MLPayment" ZOrder="37" X="399" Y="182" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:MLBenefit" ZOrder="4" X="240" Y="185" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
<Shape ID="DesignTable:MLBenefit" ZOrder="36" X="240" Y="185" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
<Shape ID="DesignTable:CCWiseSalarySummary" ZOrder="1" X="943" Y="316" Height="257" Width="221" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
|
<Shape ID="DesignTable:CCWiseSalarySummary" ZOrder="34" X="378" Y="313" Height="28" Width="221" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||||
</Shapes>
|
</Shapes>
|
||||||
<Connectors />
|
<Connectors />
|
||||||
</DiagramLayout>
|
</DiagramLayout>
|
2958
HRM.Report/RDLC/LeaveLedgerEcho.rdlc
Normal file
2958
HRM.Report/RDLC/LeaveLedgerEcho.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
1313
HRM.Report/RDLC/LeaveReportEcho.rdlc
Normal file
1313
HRM.Report/RDLC/LeaveReportEcho.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
1242
HRM.Report/RDLC/MultipleEmpLeaveBalance.rdlc
Normal file
1242
HRM.Report/RDLC/MultipleEmpLeaveBalance.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -102,14 +102,32 @@ export enum EnumWFCvSortStatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum EnumLeaveCalculationType {
|
export enum EnumLeaveCalculationType {
|
||||||
Yearly = 1,
|
// Yearly = 1,
|
||||||
Monthly_Earn = 2,
|
// Monthly_Earn = 2,
|
||||||
Hourly_365Day = 3,
|
// Hourly_365Day = 3,
|
||||||
Hourly_Monthly = 4,
|
// Hourly_Monthly = 4,
|
||||||
OneDay_On_18Day_Present = 5,
|
// OneDay_On_18Day_Present = 5,
|
||||||
Hourly_Prorated = 6,
|
// Hourly_Prorated = 6,
|
||||||
Days_365 = 7,
|
// Days_365 = 7,
|
||||||
Yearly_Without_Prorated = 8,
|
// Yearly_Without_Prorated = 8,
|
||||||
|
|
||||||
|
Daily = 0,
|
||||||
|
Monthly = 1,
|
||||||
|
Yearly = 2,
|
||||||
|
//Prorated=3,
|
||||||
|
Not_Applicable = 4,
|
||||||
|
Not_Applicable_With_Prorated = 5,
|
||||||
|
|
||||||
|
|
||||||
|
Hourly = 6,
|
||||||
|
//Yearly = 7,
|
||||||
|
Monthly_Earn = 8,
|
||||||
|
Hourly_365Day = 9,
|
||||||
|
Hourly_Monthly = 10,
|
||||||
|
OneDay_On_18Day_Present = 11,
|
||||||
|
Hourly_Prorated = 12,
|
||||||
|
Days_365 = 13,
|
||||||
|
Yearly_without_Prorated = 14
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum EnumLeaveparamOn {
|
export enum EnumLeaveparamOn {
|
||||||
|
|
|
@ -9,6 +9,15 @@ export class GlobalfunctionExtension {
|
||||||
lastDate.setMonth(lastDate.getMonth() + 1, 0);
|
lastDate.setMonth(lastDate.getMonth() + 1, 0);
|
||||||
return lastDate;
|
return lastDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static getFirstDateofYear(inputDate: Date): Date {
|
||||||
|
inputDate = new Date(inputDate);
|
||||||
|
return new Date(inputDate.getFullYear(), 0, 1);
|
||||||
|
}
|
||||||
|
public static getLastDateOfYear(inputDate: Date): Date {
|
||||||
|
inputDate = new Date(inputDate);
|
||||||
|
return new Date(inputDate.getFullYear(), 11, 31);
|
||||||
|
}
|
||||||
public static capitalizeFirstLetter(inputString: string): string {
|
public static capitalizeFirstLetter(inputString: string): string {
|
||||||
debugger;
|
debugger;
|
||||||
if (inputString.length === 0) {
|
if (inputString.length === 0) {
|
||||||
|
|
|
@ -1,28 +1,50 @@
|
||||||
<app-loading-panel> </app-loading-panel>
|
<app-loading-panel> </app-loading-panel>
|
||||||
<div class="card card-w-card">
|
<div class="card card-w-card">
|
||||||
<div class="p-grid">
|
<div class="p-grid">
|
||||||
<div class="p-col-12 p-md-6 p-lg-2">
|
<!-- <div class="p-col-12 p-md-6 p-lg-2">
|
||||||
<label>Select Employee:</label>
|
<label>Select Employee:</label>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="p-col-12 p-md-6 p-lg-2">
|
<div class="p-col-12 p-md-6 p-lg-2">
|
||||||
<app-employee-picker (ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
|
<app-employee-picker (ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-2">
|
<div class="p-col-12 p-md-6 p-lg-3">
|
||||||
<label>Leave:</label>
|
<div class="p-grid">
|
||||||
|
<div class="p-col-4">
|
||||||
|
<label>From Date </label>
|
||||||
|
</div>
|
||||||
|
<div class="p-col-8">
|
||||||
|
<kendo-datepicker format="dd MMM yyyy" [(ngModel)]="fromDate" style="width:100%"></kendo-datepicker>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-2">
|
<div class="p-col-12 p-md-6 p-lg-3">
|
||||||
<kendo-dropdownlist [data]="leaveList"
|
<div class="p-grid">
|
||||||
[(ngModel)]="leaveId"
|
<div class="p-col-4">
|
||||||
[defaultItem]="{ description: 'Select Leave Year...', id: null }"
|
<label>To Date </label>
|
||||||
[textField]="'description'"
|
</div>
|
||||||
[valueField]="'id'"
|
<div class="p-col-8">
|
||||||
[valuePrimitive]="true"
|
<kendo-datepicker format="dd MMM yyyy" [(ngModel)]="toDate" style="width:100%"></kendo-datepicker>
|
||||||
style="width: 100%"
|
</div>
|
||||||
class="form-control form-control-sm input-sm"
|
</div>
|
||||||
>
|
|
||||||
</kendo-dropdownlist>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-2">
|
<div class="p-col-12 p-md-6 p-lg-3">
|
||||||
|
<div class="p-grid">
|
||||||
|
<div class="p-col-4">
|
||||||
|
<label>Leave Type </label>
|
||||||
|
</div>
|
||||||
|
<div class="p-col-8">
|
||||||
|
<kendo-dropdownlist [data]="leaveList" [(ngModel)]="leaveId"
|
||||||
|
[defaultItem]="{ description: 'All', id: null }" [textField]="'description'"
|
||||||
|
[valueField]="'id'" [valuePrimitive]="true" style="width: 100%"
|
||||||
|
class="form-control form-control-sm input-sm">
|
||||||
|
</kendo-dropdownlist>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="p-col-12 p-md-6 p-lg-1" align="right">
|
||||||
|
<button type="button" class="k-primary" (click)="preview()" icon="preview" kendoButton>Preview</button>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="p-col-12 p-md-6 p-lg-2">
|
||||||
<label>Leave Year:</label>
|
<label>Leave Year:</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-2">
|
<div class="p-col-12 p-md-6 p-lg-2">
|
||||||
|
@ -36,15 +58,10 @@
|
||||||
class="form-control form-control-sm input-sm"
|
class="form-control form-control-sm input-sm"
|
||||||
>
|
>
|
||||||
</kendo-dropdownlist>
|
</kendo-dropdownlist>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="p-col-12 p-md-12 p-lg-2" align="right">
|
|
||||||
<button type="button" class="k-primary" (click)="preview()" icon="preview" kendoButton>Preview</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<kendo-dialog *ngIf="showPopUp" (close)="closeForm()"
|
<kendo-dialog *ngIf="showPopUp" (close)="closeForm()" title="{{PDFTitle}}" [height]="500" [width]="800">
|
||||||
title="{{PDFTitle}}"
|
|
||||||
[height]="500" [width]="800">
|
|
||||||
|
|
||||||
|
|
||||||
<div class="p-grid">
|
<div class="p-grid">
|
||||||
|
@ -61,18 +78,11 @@
|
||||||
*ngIf="blocFilterOpened">
|
*ngIf="blocFilterOpened">
|
||||||
</ngx-extended-pdf-viewer>-->
|
</ngx-extended-pdf-viewer>-->
|
||||||
|
|
||||||
<ngx-extended-pdf-viewer [src]="src"
|
<ngx-extended-pdf-viewer [src]="src" [showBookmarkButton]="false" [showOpenFileButton]="false"
|
||||||
[showBookmarkButton]="false"
|
[showSidebarButton]="false" [textLayer]="false" [enableDragAndDrop]="false"
|
||||||
[showOpenFileButton]="false"
|
[showSecondaryToolbarButton]="false" [zoom]="'page-width'" [useBrowserLocale]="true" [height]="'70vh'"
|
||||||
[showSidebarButton]="false"
|
[handTool]="true">
|
||||||
[textLayer]="false"
|
|
||||||
[enableDragAndDrop]="false"
|
|
||||||
[showSecondaryToolbarButton]="false"
|
|
||||||
[zoom]="'page-width'"
|
|
||||||
[useBrowserLocale]="true"
|
|
||||||
[height]="'70vh'"
|
|
||||||
[handTool]="true">
|
|
||||||
</ngx-extended-pdf-viewer>
|
</ngx-extended-pdf-viewer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</kendo-dialog>
|
</kendo-dialog>
|
|
@ -9,6 +9,7 @@ import {ApiService} from '../../app.api.service';
|
||||||
import {EnumStatus} from '../../_models/enums';
|
import {EnumStatus} from '../../_models/enums';
|
||||||
import {saveAs} from 'file-saver';
|
import {saveAs} from 'file-saver';
|
||||||
import {ReportServices} from '../../_services/reports/report.service';
|
import {ReportServices} from '../../_services/reports/report.service';
|
||||||
|
import { GlobalfunctionExtension } from 'src/app/_models/globalFunctions';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-emp-leave-balance',
|
selector: 'app-emp-leave-balance',
|
||||||
|
@ -26,6 +27,8 @@ export class EmpLeaveBalanceComponent implements OnInit {
|
||||||
src: any;
|
src: any;
|
||||||
base64Data: any;
|
base64Data: any;
|
||||||
leaveId: number;
|
leaveId: number;
|
||||||
|
fromDate: Date = GlobalfunctionExtension.getFirstDateofYear(new Date());
|
||||||
|
toDate: Date = GlobalfunctionExtension.getLastDateOfYear(new Date());
|
||||||
|
|
||||||
|
|
||||||
constructor(public leaveService: LeaveService,
|
constructor(public leaveService: LeaveService,
|
||||||
|
@ -50,10 +53,11 @@ export class EmpLeaveBalanceComponent implements OnInit {
|
||||||
this.leaveYearList = resp;
|
this.leaveYearList = resp;
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
console.log(err);
|
this.notificationService.showError(err.error);
|
||||||
|
// console.log(err);
|
||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
console.log(this.leaveYearList);
|
// console.log(this.leaveYearList);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
this.leaveService.getAllLeave(EnumStatus.Active, '', '').subscribe(
|
this.leaveService.getAllLeave(EnumStatus.Active, '', '').subscribe(
|
||||||
|
@ -61,10 +65,11 @@ export class EmpLeaveBalanceComponent implements OnInit {
|
||||||
this.leaveList = resp;
|
this.leaveList = resp;
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
console.log(err);
|
this.notificationService.showError(err.error);
|
||||||
|
// console.log(err);
|
||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
console.log(this.leaveList);
|
// console.log(this.leaveList);
|
||||||
/*this.leaveList.forEach(x => {
|
/*this.leaveList.forEach(x => {
|
||||||
x.code = x.code.toLowerCase() + x.id;
|
x.code = x.code.toLowerCase() + x.id;
|
||||||
});*/
|
});*/
|
||||||
|
@ -73,19 +78,19 @@ export class EmpLeaveBalanceComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
preview() {
|
preview() {
|
||||||
const leave = this.leaveYearList.find(l => l.id === this.leaveYearId);
|
// const leave = this.leaveYearList.find(l => l.id === this.leaveYearId);
|
||||||
if (leave === null) {
|
// if (leave === null) {
|
||||||
this.notificationService.showError('Please select leave year!');
|
// this.notificationService.showError('Please select leave year!');
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
const data = {
|
const data = {
|
||||||
reportid: 97,
|
reportid: 724,
|
||||||
itemid: this.leaveId,
|
itemid: this.leaveId,
|
||||||
bankId: null,
|
bankId: null,
|
||||||
empIds: this.selectedEmployee.employeeID.toString(),
|
empIds: this.selectedEmployee.employeeID.toString(),
|
||||||
reportType: 'PDF',
|
reportType: 'PDF',
|
||||||
fromDate: leave.startDate,
|
fromDate: this.fromDate,
|
||||||
toDate: leave.endDate
|
toDate: this.toDate
|
||||||
};
|
};
|
||||||
|
|
||||||
this.loadingPanel.ShowLoadingPanel = true;
|
this.loadingPanel.ShowLoadingPanel = true;
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
.embed-responsive {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
/* height: 0; */
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
/* padding-bottom:68%; */
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.pdf-viewer {
|
||||||
|
width: 100%;
|
||||||
|
/* min-height: 700px; */
|
||||||
|
height: 100%;
|
||||||
|
/* min-width: 275px; */
|
||||||
|
/* max-height: 100%;
|
||||||
|
background-color: white !important; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.window-viewer {
|
||||||
|
/* position: relative;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
transform: translate(5%, 5%); */
|
||||||
|
width: 70%;
|
||||||
|
/* height: 90%; */
|
||||||
|
/* min-width: 300px; */
|
||||||
|
/* max-width: 100%;
|
||||||
|
min-height: 80%; */
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
|
@ -4,14 +4,14 @@
|
||||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||||
<label>Select Employee:</label>
|
<label>Select Employee:</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-3">
|
<div class="p-col-12 p-md-6 p-lg-2">
|
||||||
<app-employee-picker [MultiSelect]="true"
|
<app-employee-picker [MultiSelect]="true"
|
||||||
(ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
|
(ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||||
<label>Leave Year:</label>
|
<label>Leave Year:</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-6 p-lg-3">
|
<div class="p-col-12 p-md-6 p-lg-2">
|
||||||
<kendo-dropdownlist [data]="leaveYearList"
|
<kendo-dropdownlist [data]="leaveYearList"
|
||||||
[(ngModel)]="leaveYearId"
|
[(ngModel)]="leaveYearId"
|
||||||
[defaultItem]="{ name: 'Select a Leave Year', id: null }"
|
[defaultItem]="{ name: 'Select a Leave Year', id: null }"
|
||||||
|
@ -22,13 +22,14 @@
|
||||||
class="form-control form-control-sm input-sm">
|
class="form-control form-control-sm input-sm">
|
||||||
</kendo-dropdownlist>
|
</kendo-dropdownlist>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-col-12 p-md-12 p-lg-2" align="right">
|
<div class="p-col-12 p-md-12 p-lg-4" align="right">
|
||||||
<button type="button" class="k-primary" (click)="preview()" icon="preview" kendoButton>Preview</button>
|
<button type="button" kendoButton icon="file-pdf" [primary]="true" (click)="preview('PDF')" style="margin-right: 10px;">Preview</button>
|
||||||
|
<button type="button" kendoButton icon="file-excel" [primary]="true" (click)="preview('EXCEL')">Export</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card">
|
<!-- <div class="card">
|
||||||
<div class="p-grid">
|
<div class="p-grid">
|
||||||
<div class="p-col-12 p-md-12 p-lg-12">
|
<div class="p-col-12 p-md-12 p-lg-12">
|
||||||
<kendo-grid [data]="data" [resizable]="true" [height]="480">
|
<kendo-grid [data]="data" [resizable]="true" [height]="480">
|
||||||
|
@ -48,4 +49,14 @@
|
||||||
</kendo-grid>
|
</kendo-grid>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
|
<div class="card" *ngIf="showPopUp" class="blur-background">
|
||||||
|
<kendo-window [height]="600" class='window-viewer' title="{{PDFTitle}}" *ngIf="showPopUp" (close)="closeForm()">
|
||||||
|
<!-- [height]="600" [style]="{'min-width': '70%','max-width': '100%', 'max-height': '100%'}"> -->
|
||||||
|
<app-loading-panel> </app-loading-panel>
|
||||||
|
<div class='embed-responsive'>
|
||||||
|
<iframe class="pdf-viewer" id="pdf-viewer-report" type='application/pdf' [zoom]="zoomLevel"></iframe>
|
||||||
|
</div>
|
||||||
|
</kendo-window>
|
||||||
|
</div>
|
|
@ -1,13 +1,16 @@
|
||||||
import {Component, OnInit} from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import {SearchEmployee} from '../../_models/Employee/searchEmployee';
|
import { SearchEmployee } from '../../_models/Employee/searchEmployee';
|
||||||
import {LeaveYear} from '../../_models/Leave/leaveYear';
|
import { LeaveYear } from '../../_models/Leave/leaveYear';
|
||||||
import {LeaveService} from '../../_services/leave/leave.service';
|
import { LeaveService } from '../../_services/leave/leave.service';
|
||||||
import {MultipleEmployeeLeaveBalance} from '../../_models/report/multipleEmployeeLeaveBalance';
|
import { MultipleEmployeeLeaveBalance } from '../../_models/report/multipleEmployeeLeaveBalance';
|
||||||
import {Leave} from '../../_models/Leave/leave';
|
import { Leave } from '../../_models/Leave/leave';
|
||||||
import {EnumStatus} from '../../_models/enums';
|
import { EnumStatus } from '../../_models/enums';
|
||||||
import {HRMNotificationService} from '../../app.notification.service';
|
import { HRMNotificationService } from '../../app.notification.service';
|
||||||
import {loadingPanelService} from '../../hrm-loding panel/loding.panel.service';
|
import { loadingPanelService } from '../../hrm-loding panel/loding.panel.service';
|
||||||
import {ApiService} from '../../app.api.service';
|
import { ApiService } from '../../app.api.service';
|
||||||
|
import { ReportServices } from 'src/app/_services/reports/report.service';
|
||||||
|
import { saveAs } from 'file-saver';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-multiple-emp-leave-balance',
|
selector: 'app-multiple-emp-leave-balance',
|
||||||
|
@ -25,9 +28,22 @@ export class MultipleEmpLeaveBalanceComponent implements OnInit {
|
||||||
temp = 'Header boss';
|
temp = 'Header boss';
|
||||||
cols: { colfiled: string, colName: string, width: string, color: string }[];
|
cols: { colfiled: string, colName: string, width: string, color: string }[];
|
||||||
|
|
||||||
|
reportType: any;
|
||||||
|
PDFTitle = 'Employee Leave Balance';
|
||||||
|
showPopUp = false;
|
||||||
|
src: any;
|
||||||
|
base64Data: any;
|
||||||
|
|
||||||
constructor(public leaveService: LeaveService, public notificationService: HRMNotificationService,
|
constructor(public leaveService: LeaveService, public notificationService: HRMNotificationService,
|
||||||
public loadingPanel: loadingPanelService, public apiService: ApiService) {
|
public loadingPanel: loadingPanelService, public apiService: ApiService,
|
||||||
this.apiService.selectedMenuName = 'Employee Leave Balance';
|
public reportService: ReportServices,
|
||||||
|
public router: Router) {
|
||||||
|
this.reportType = this.router.url.split('/').pop();
|
||||||
|
debugger
|
||||||
|
if(this.reportType == 'multiple-emp-leave-balance')
|
||||||
|
this.apiService.selectedMenuName = 'Multiple Employee Leave Balance';
|
||||||
|
else if(this.reportType == 'multiple-emp-leave-report')
|
||||||
|
this.apiService.selectedMenuName = 'Employee Leave Report';
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
@ -65,63 +81,62 @@ export class MultipleEmpLeaveBalanceComponent implements OnInit {
|
||||||
this.selectedEmployees = childData;
|
this.selectedEmployees = childData;
|
||||||
}
|
}
|
||||||
|
|
||||||
preview() {
|
// preview() {
|
||||||
/*this.selectedEmployees.forEach(x => {
|
// /*this.selectedEmployees.forEach(x => {
|
||||||
if (this.empIds.length !== 0) {
|
// if (this.empIds.length !== 0) {
|
||||||
this.empIds += ',';
|
// this.empIds += ',';
|
||||||
}
|
// }
|
||||||
this.empIds += x.employeeID;
|
// this.empIds += x.employeeID;
|
||||||
});*/
|
// });*/
|
||||||
this.loadingPanel.ShowLoadingPanel = true;
|
// this.loadingPanel.ShowLoadingPanel = true;
|
||||||
if (this.selectedEmployees == undefined || this.selectedEmployees.length == 0) {
|
// if (this.selectedEmployees == undefined || this.selectedEmployees.length == 0) {
|
||||||
this.notificationService.showError('Select employees for the report');
|
// this.notificationService.showError('Select employees for the report');
|
||||||
this.loadingPanel.ShowLoadingPanel = false;
|
// this.loadingPanel.ShowLoadingPanel = false;
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
this.selectedEmployees[0].departmentID = this.leaveYearId;
|
// this.selectedEmployees[0].departmentID = this.leaveYearId;
|
||||||
// this.leaveService.getMultipleEmployeeLeaveBalance(this.selectedEmployees, ).subscribe(
|
// // this.leaveService.getMultipleEmployeeLeaveBalance(this.selectedEmployees, ).subscribe(
|
||||||
this.leaveService.getMultipleEmployeeLeaveBalance(this.leaveYearId, this.selectedEmployees).subscribe(
|
// this.leaveService.getMultipleEmployeeLeaveBalance(this.leaveYearId, this.selectedEmployees).subscribe(
|
||||||
(resp) => {
|
// (resp) => {
|
||||||
debugger;
|
// debugger;
|
||||||
this.data = resp;
|
// this.data = resp;
|
||||||
},
|
// },
|
||||||
(err) => {
|
// (err) => {
|
||||||
this.notificationService.showError(err.error);
|
// this.notificationService.showError(err.error);
|
||||||
this.loadingPanel.ShowLoadingPanel = false;
|
// this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
|
||||||
},
|
// },
|
||||||
() => {
|
// () => {
|
||||||
this.loadingPanel.ShowLoadingPanel = false;
|
// this.loadingPanel.ShowLoadingPanel = false;
|
||||||
if (this.data.length > 0) {
|
// if (this.data.length > 0) {
|
||||||
this.cols = [];
|
// this.cols = [];
|
||||||
for (var i = 0; i < Object.keys(this.data[0]).length; i++) {
|
// for (var i = 0; i < Object.keys(this.data[0]).length; i++) {
|
||||||
if (i == 0) {
|
// if (i == 0) {
|
||||||
this.cols.push({
|
// this.cols.push({
|
||||||
'colfiled': Object.keys(this.data[0])[i], 'colName': this.capitalizeFirstLetter(Object.keys(this.data[0])[i]) == 'EmpNo' ? 'Emp Id' :this.capitalizeFirstLetter(Object.keys(this.data[0])[i]) ,
|
// 'colfiled': Object.keys(this.data[0])[i], 'colName': this.capitalizeFirstLetter(Object.keys(this.data[0])[i]) == 'EmpNo' ? 'Emp Id' :this.capitalizeFirstLetter(Object.keys(this.data[0])[i]) ,
|
||||||
'width': '80', 'color': 'transparent'
|
// 'width': '80', 'color': 'transparent'
|
||||||
});
|
// });
|
||||||
} else if (i == 1) {
|
// } else if (i == 1) {
|
||||||
this.cols.push({
|
// this.cols.push({
|
||||||
'colfiled': Object.keys(this.data[0])[i], 'colName': this.capitalizeFirstLetter(Object.keys(this.data[0])[i]),
|
// 'colfiled': Object.keys(this.data[0])[i], 'colName': this.capitalizeFirstLetter(Object.keys(this.data[0])[i]),
|
||||||
'width': '100', 'color': 'transparent'
|
// 'width': '100', 'color': 'transparent'
|
||||||
});
|
// });
|
||||||
} else {
|
// } else {
|
||||||
this.cols.push({
|
// this.cols.push({
|
||||||
'colfiled': Object.keys(this.data[0])[i], 'colName': this.replaceUnderscoresWithSpaces(Object.keys(this.data[0])[i].toUpperCase()),
|
// 'colfiled': Object.keys(this.data[0])[i], 'colName': this.replaceUnderscoresWithSpaces(Object.keys(this.data[0])[i].toUpperCase()),
|
||||||
'width': '65', 'color': 'transparent'
|
// 'width': '65', 'color': 'transparent'
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
// );
|
||||||
|
// }
|
||||||
public capitalizeFirstLetter(inputString: string): string {
|
public capitalizeFirstLetter(inputString: string): string {
|
||||||
debugger;
|
debugger;
|
||||||
if (inputString.length === 0) {
|
if (inputString.length === 0) {
|
||||||
return inputString; // Return an empty string if input is empty
|
return inputString; // Return an empty string if input is empty
|
||||||
}
|
}
|
||||||
return inputString.charAt(0).toUpperCase() + inputString.slice(1);
|
return inputString.charAt(0).toUpperCase() + inputString.slice(1);
|
||||||
}
|
}
|
||||||
|
@ -129,4 +144,92 @@ export class MultipleEmpLeaveBalanceComponent implements OnInit {
|
||||||
if (!str) return str;
|
if (!str) return str;
|
||||||
return str.replace(/_/g, ' ');
|
return str.replace(/_/g, ' ');
|
||||||
}
|
}
|
||||||
|
preview(reportType: string) {
|
||||||
|
|
||||||
|
if (this.selectedEmployees == undefined || this.selectedEmployees.length == 0) {
|
||||||
|
this.notificationService.showWarning('Select employees for the report');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.leaveYearId == undefined || this.leaveYearId == null) {
|
||||||
|
this.notificationService.showWarning('Select Leave Year');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
debugger
|
||||||
|
|
||||||
|
this.selectedEmployees.forEach(x => {
|
||||||
|
if (this.empIds !== '') {
|
||||||
|
this.empIds += ',';
|
||||||
|
}
|
||||||
|
this.empIds += x.employeeID;
|
||||||
|
});
|
||||||
|
|
||||||
|
let reportid
|
||||||
|
if(this.reportType == 'multiple-emp-leave-balance')
|
||||||
|
reportid = 725;
|
||||||
|
else if(this.reportType == 'multiple-emp-leave-report')
|
||||||
|
reportid = 726;
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
reportid: reportid,
|
||||||
|
itemid: this.leaveYearId,
|
||||||
|
empIds: this.empIds,
|
||||||
|
reportType: reportType,
|
||||||
|
};
|
||||||
|
|
||||||
|
this.loadingPanel.ShowLoadingPanel = true;
|
||||||
|
if (reportType === 'PDF')
|
||||||
|
this.showPopUp = true;
|
||||||
|
this.reportService.getCommonReportData(data).subscribe(
|
||||||
|
(resp: any) => {
|
||||||
|
debugger;
|
||||||
|
if (reportType === 'PDF') {
|
||||||
|
this.src = URL.createObjectURL(this.b64toBlob(resp, 'application/pdf', 1024));
|
||||||
|
var element = <HTMLIFrameElement>(document.getElementById("pdf-viewer-report"));
|
||||||
|
element.src = this.src;
|
||||||
|
} else if (reportType === 'EXCEL') {
|
||||||
|
this.downloadFile(resp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
(err) => {
|
||||||
|
console.log(err);
|
||||||
|
this.notificationService.showError(err.error);
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
this.showPopUp = false;
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
|
||||||
|
this.loadingPanel.ShowLoadingPanel = false;
|
||||||
|
// this.loadGrid();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
downloadFile(blobContent) {
|
||||||
|
const blob = new Blob([this.b64toBlob(blobContent, 'application/data:application/vnd.ms-excel', 1024)], {});
|
||||||
|
saveAs(blob, this.PDFTitle + '.xls');
|
||||||
|
}
|
||||||
|
|
||||||
|
b64toBlob(b64Data, contentType, sliceSize) {
|
||||||
|
const byteCharacters = atob(b64Data);
|
||||||
|
const byteArrays = [];
|
||||||
|
|
||||||
|
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
||||||
|
const slice = byteCharacters.slice(offset, offset + sliceSize);
|
||||||
|
|
||||||
|
const byteNumbers = new Array(slice.length);
|
||||||
|
for (let i = 0; i < slice.length; i++) {
|
||||||
|
byteNumbers[i] = slice.charCodeAt(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
const byteArray = new Uint8Array(byteNumbers);
|
||||||
|
byteArrays.push(byteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
const blob = new Blob(byteArrays, { type: contentType });
|
||||||
|
return blob;
|
||||||
|
}
|
||||||
|
|
||||||
|
closeForm(): void {
|
||||||
|
this.showPopUp = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -261,7 +261,7 @@ export class ReportViewerComponent implements OnInit {
|
||||||
mode: 'multiple', // this.mode
|
mode: 'multiple', // this.mode
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
//#region setReportColumns
|
||||||
setReportColumns(reportType: any) {
|
setReportColumns(reportType: any) {
|
||||||
debugger
|
debugger
|
||||||
let reportName = '';
|
let reportName = '';
|
||||||
|
@ -1335,7 +1335,7 @@ export class ReportViewerComponent implements OnInit {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//#endregion
|
||||||
loadLeave() {
|
loadLeave() {
|
||||||
let leave = [];
|
let leave = [];
|
||||||
this.leaveYearService.getAllLeave(EnumStatus.Regardless).subscribe(
|
this.leaveYearService.getAllLeave(EnumStatus.Regardless).subscribe(
|
||||||
|
|
|
@ -73,6 +73,7 @@ const routes: Routes = [
|
||||||
{ path: 'report-viewer/dailyAbsentReport', component: ReportViewerComponent, canActivate: [AuthGuard] },
|
{ path: 'report-viewer/dailyAbsentReport', component: ReportViewerComponent, canActivate: [AuthGuard] },
|
||||||
{ path: 'report-viewer/dailyAttnReport', component: ReportViewerComponent, canActivate: [AuthGuard] },
|
{ path: 'report-viewer/dailyAttnReport', component: ReportViewerComponent, canActivate: [AuthGuard] },
|
||||||
{ path: 'multiple-emp-leave-balance', component: MultipleEmpLeaveBalanceComponent, canActivate: [AuthGuard] },
|
{ path: 'multiple-emp-leave-balance', component: MultipleEmpLeaveBalanceComponent, canActivate: [AuthGuard] },
|
||||||
|
{ path: 'multiple-emp-leave-report', component: MultipleEmpLeaveBalanceComponent, canActivate: [AuthGuard] },
|
||||||
{ path: 'emp-leave-balance', component: EmpLeaveBalanceComponent, canActivate: [AuthGuard] },
|
{ path: 'emp-leave-balance', component: EmpLeaveBalanceComponent, canActivate: [AuthGuard] },
|
||||||
{ path: 'month-wise-leave-register', component: MonthWiseLeaveRegisterComponent, canActivate: [AuthGuard] },
|
{ path: 'month-wise-leave-register', component: MonthWiseLeaveRegisterComponent, canActivate: [AuthGuard] },
|
||||||
{ path: 'leave-register', component: LeaveRegisterComponent, canActivate: [AuthGuard] },
|
{ path: 'leave-register', component: LeaveRegisterComponent, canActivate: [AuthGuard] },
|
||||||
|
|
|
@ -814,6 +814,15 @@ namespace HRM.UI.Controllers.Report
|
||||||
case EnumReportType.LifeCycleDeletedHistor:
|
case EnumReportType.LifeCycleDeletedHistor:
|
||||||
bytes = new rptEmployee().GetEmpLFDeletedHistory(sEmpIDs, (int)currentUser.PayrollTypeID, reportType);
|
bytes = new rptEmployee().GetEmpLFDeletedHistory(sEmpIDs, (int)currentUser.PayrollTypeID, reportType);
|
||||||
break;
|
break;
|
||||||
|
case EnumReportType.SingleEmpLeaveBalance:
|
||||||
|
bytes = new rptEcho().ShowEmployeeIndvLeaveBalance(sEmpIDs, fromDate, toDate, itemid, (int)currentUser.PayrollTypeID, nextPayProcessDate, reportType);
|
||||||
|
break;
|
||||||
|
case EnumReportType.MultipleEmpLeaveBalanceEcho:
|
||||||
|
bytes = new rptEcho().ShowMultipleEmployeeLeaveReport(sEmpIDs, itemid, (int)currentUser.PayrollTypeID, nextPayProcessDate, reportType);
|
||||||
|
break;
|
||||||
|
case EnumReportType.LeaveReportEcho:
|
||||||
|
bytes = new rptEcho().ShowLeaveReport(sEmpIDs, itemid, (int)currentUser.PayrollTypeID, nextPayProcessDate, reportType);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user