207 lines
10 KiB
C#
207 lines
10 KiB
C#
|
using System;
|
|||
|
using Payroll.BO;
|
|||
|
using System.Data;
|
|||
|
using System.Linq;
|
|||
|
using Ease.CoreV35.Model;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using Ease.CoreV35.DataAccess;
|
|||
|
using System.Collections.Generic;
|
|||
|
using Ease.CoreV35.DataAccess.SQL;
|
|||
|
|
|||
|
namespace Payroll.Service
|
|||
|
{
|
|||
|
#region OTProcessDA
|
|||
|
|
|||
|
internal class OTProcessDA
|
|||
|
{
|
|||
|
#region Constructor
|
|||
|
|
|||
|
private OTProcessDA() { }
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Insert function
|
|||
|
|
|||
|
internal static void Insert(TransactionContext tc, OTProcess item)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("INSERT INTO OTProcess(ProcessId, ProcessMonth, empID, Amount, TermID, Hours, CreatedBy, CreationDate,TermParameterID,EmpOverTimeID,ArrearAmount,OTMonth,PayrollTypeID)" +
|
|||
|
" VALUES(%n, %d, %n, %n, %n, %n, %n, %d,%n,%n,%n,%d,%n)", item.ID.Integer, item.MonthDate, item.EmployeeID.Integer, item.Amount, item.TermID.Integer, item.TotalHour, item.CreatedBy.Integer, item.CreatedDate,item.TermParameterID.Integer,item.EmpOverTimeID.Integer,item.ArrearAmount,item.OTMonth,item.PayrollTypeID.Integer);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Update function
|
|||
|
|
|||
|
internal static void Update(TransactionContext tc, OTProcess item)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("UPDATE OTProcess SET month=%d, empID=%n, amount=%n, termID=%n, Hour=%n, ModifiedBy=%n, ModifiedDate=%d,TermParameterID=%n,EmpOverTimeID=%n,ArrearAmount=%n,OTMonth=%d,PayrollTypeID=%n" +
|
|||
|
" WHERE ProcessId=%n", item.MonthDate, item.EmployeeID, item.Amount, item.TermID, item.TotalHour, item.ModifiedBy.Integer, item.ModifiedDate, item.TermParameterID.Integer,item.EmpOverTimeID.Integer,item.ArrearAmount,item.OTMonth,item.PayrollTypeID.Integer,item.ID.Integer);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Get Function
|
|||
|
|
|||
|
internal static IDataReader Get(TransactionContext tc)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM OTProcess");
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetOTProcessData(TransactionContext tc,DateTime Month,string sEmpID)
|
|||
|
{
|
|||
|
DataSet oOTMonthlySheets = new DataSet();
|
|||
|
try
|
|||
|
{
|
|||
|
string sSQL = SQLParser.MakeSQL(@"SELECT E.EMPLOYEENO,E.Employeeid,E.NAME AS EmpName,isnull((select thismonthbasic from salarymonthly where
|
|||
|
employeeid=E.employeeid and salarymonth=OTP.OTMonth),E.basicsalary)BasicSalary,T.Name AS TermName,OTP.ProcessMonth,OTP.OTmonth,sum(OTP.Hours)Hours,sum(OTP.Amount)Amount
|
|||
|
FROM EMPLOYEE E,OTProcess OTP,Term T
|
|||
|
WHERE E.EMPLOYEEID=OTP.EmpID
|
|||
|
AND OTP.EmpID IN(%q)
|
|||
|
AND T.TermID=OTP.TermID And OTP.ProcessMonth=%d
|
|||
|
GROUP BY E.EMPLOYEENO,E.Employeeid,E.NAME,E.BasicSalary,T.Name,OTP.ProcessMonth,OTP.OTmonth
|
|||
|
order by E.EmployeeNo,OTP.OTmonth
|
|||
|
", sEmpID, Month);
|
|||
|
oOTMonthlySheets = tc.ExecuteDataSet(sSQL);
|
|||
|
|
|||
|
}
|
|||
|
catch(Exception ex)
|
|||
|
{
|
|||
|
throw new Exception(ex.Message);
|
|||
|
}
|
|||
|
return oOTMonthlySheets;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetOTMonthRangeData(TransactionContext tc,DateTime FDate,DateTime TDate)
|
|||
|
{
|
|||
|
DataSet oOTMonthlySheets = new DataSet();
|
|||
|
try
|
|||
|
{
|
|||
|
oOTMonthlySheets = tc.ExecuteDataSet("SELECT Loc.DESCRIPTION AS Location,Dep.DESCRIPTION, Emp.EMPLOYEENO,Emp.NAME,RTrim(LTrim(DateName(MM,Pro.ProcessMonth))) OTMonth,Pro.Hours"
|
|||
|
+ " FROM EMPLOYEE AS Emp,OTProcess AS Pro,LOCATION as Loc,Department AS Dep"
|
|||
|
+ " WHERE Emp.EMPLOYEEID=Pro.EmpID"
|
|||
|
+ " AND Emp.DEPARTMENTID=Dep.DEPARTMENTID"
|
|||
|
+ " and Emp.LOCATIONID=Loc.LOCATIONID"
|
|||
|
+ " AND Pro.ProcessMonth BETWEEN %d AND %d"
|
|||
|
+ " GROUP BY Loc.DESCRIPTION,Dep.DESCRIPTION, Emp.EMPLOYEENO,Emp.NAME,Pro.ProcessMonth,Pro.Hours order by Month(Pro.ProcessMonth)", FDate, TDate);
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw new Exception(ex.Message);
|
|||
|
}
|
|||
|
return oOTMonthlySheets;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetBranchWiseOT(TransactionContext tc, DateTime Month)
|
|||
|
{
|
|||
|
DataSet oOTMonthlySheets = new DataSet();
|
|||
|
try
|
|||
|
{
|
|||
|
oOTMonthlySheets = tc.ExecuteDataSet("Select Loc.DESCRIPTION AS Location,Dep.DESCRIPTION AS Department,RTrim(LTrim(DateName(MM,Pro.ProcessMonth))) + ' ' + RTrim(LTrim(Year(Pro.ProcessMonth))) as Month,Sum(Pro.Hours ) as OTHours"
|
|||
|
+ " from EMPLOYEE as Emp,LOCATION as Loc,DEPARTMENT as Dep,OTProcess as Pro"
|
|||
|
+ " where Emp.EMPLOYEEID=Pro.EmpID"
|
|||
|
+ " and Emp.LOCATIONID=Loc.LOCATIONID"
|
|||
|
+ " and Emp.DEPARTMENTID=Dep.DEPARTMENTID"
|
|||
|
+ " and Pro.ProcessMonth=%d"
|
|||
|
+ " GROUP BY Loc.DESCRIPTION,Dep.DESCRIPTION,RTrim(LTrim(DateName(MM,Pro.ProcessMonth))) + ' ' + RTrim(LTrim(Year(Pro.ProcessMonth)))", Month);
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw new Exception(ex.Message);
|
|||
|
}
|
|||
|
return oOTMonthlySheets;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetLocationWiseOT(TransactionContext tc, DateTime FDate, DateTime TDate)
|
|||
|
{
|
|||
|
DataSet oOTMonthlySheets = new DataSet();
|
|||
|
try
|
|||
|
{
|
|||
|
oOTMonthlySheets = tc.ExecuteDataSet("Select Loc.DESCRIPTION AS Location,Dep.DESCRIPTION AS Department,DateName(MM,Pro.ProcessMonth) as Month,Year(Pro.ProcessMonth) AS Year,Month(Pro.ProcessMonth),SUM(Pro.Hours) as OTHours"
|
|||
|
+ " from EMPLOYEE as Emp,LOCATION as Loc,DEPARTMENT as Dep,OTProcess as Pro"
|
|||
|
+ " where Emp.EMPLOYEEID=Pro.EmpID"
|
|||
|
+ " and Emp.LOCATIONID=Loc.LOCATIONID"
|
|||
|
+ " and Emp.DEPARTMENTID=Dep.DEPARTMENTID"
|
|||
|
+ " and Pro.ProcessMonth between %d and %d"
|
|||
|
+ " group by Loc.DESCRIPTION,Dep.DESCRIPTION,DateName(MM,Pro.ProcessMonth),Year(Pro.ProcessMonth),Month(Pro.ProcessMonth)"
|
|||
|
+ " order By Loc.DESCRIPTION,Dep.DESCRIPTION,Month(Pro.ProcessMonth)", FDate, TDate);
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw new Exception(ex.Message);
|
|||
|
}
|
|||
|
return oOTMonthlySheets;
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader Get(TransactionContext tc, ID nID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM OTProcess WHERE ProcessId=%n", nID.Integer);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader IsProcessed(TransactionContext tc, DateTime dMonthDate, ID payrollTypeID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT Count(*) FROM OTProcess WHERE ProcessMonth=%d AND PayrollTypeID=%n",dMonthDate, payrollTypeID.Integer);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader Get(TransactionContext tc, DateTime dMonthDate)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM OTProcess WHERE ProcessMonth=%d", dMonthDate);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetbyOtMonth(TransactionContext tc, string sEmpID, string sDates)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("Select * from OTProcess Where EmpID in (%q) AND OTMonth in (%q) " +
|
|||
|
"AND TermparameterID in (Select TermParameterID from TermParameter TP Where Type in (3,4)) Order By EmpID, OTMonth",
|
|||
|
sEmpID,sDates);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetCostCenterWiseOT(TransactionContext tc, DateTime dateTime, string sEmpID)
|
|||
|
{
|
|||
|
DataSet oOTMonthlySheets = new DataSet();
|
|||
|
try
|
|||
|
{
|
|||
|
string sSQL = SQLParser.MakeSQL(@"SELECT e.EmployeeNo, e.Name as EmpName,e.ACCOUNTNO,D.NAME AS Designation,
|
|||
|
Sum(ot.Amount) as Amount ,CC.DESCRIPTION AS CostCenter
|
|||
|
FROM Employee e, OTProcess ot,CRG CC,EMPCOSTCENTER empcc,Designation D
|
|||
|
WHERE ot.ProcessMonth =%d
|
|||
|
AND e.EmployeeId IN(%q)
|
|||
|
AND e.EmployeeId = ot.EmpID
|
|||
|
AND e.EMPLOYEEID = empcc.EMPLOYEEID
|
|||
|
AND CC.CRGID = empcc.COSTCENTERID
|
|||
|
AND empcc.CurrentCC=1
|
|||
|
AND e.DESIGNATIONID = D.DESIGNATIONID
|
|||
|
GROUP BY e.EmployeeNo, e.Name,e.ACCOUNTNO,CC.DESCRIPTION,D.[NAME]
|
|||
|
ORDER BY e.EmployeeNo", dateTime, sEmpID);
|
|||
|
oOTMonthlySheets = tc.ExecuteDataSet(sSQL);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw new Exception(ex.Message);
|
|||
|
}
|
|||
|
return oOTMonthlySheets;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Delete function
|
|||
|
|
|||
|
internal static void Delete(TransactionContext tc, ID nID)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("DELETE FROM [OTProcess] WHERE ProcessId=%n", nID.Integer);
|
|||
|
}
|
|||
|
|
|||
|
internal static void Delete(TransactionContext tc, DateTime dMonthDate, ID nPayrollTypeID)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("DELETE FROM [OTProcess] WHERE ProcessMonth=%d AND PayrollTypeID=%n", dMonthDate, nPayrollTypeID.Integer);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|