284 lines
20 KiB
C#
284 lines
20 KiB
C#
using HRM.BO;
|
|
using Ease.Core.DataAccess;
|
|
using System;
|
|
using System.Data;
|
|
|
|
namespace HRM.Service
|
|
{
|
|
class LeaveEncashmentDA
|
|
{
|
|
#region Constructor
|
|
public LeaveEncashmentDA() { }
|
|
#endregion
|
|
|
|
#region Insert function
|
|
public static void Insert(TransactionContext tc, LeaveEncashment oItem)
|
|
{
|
|
|
|
tc.ExecuteNonQuery("INSERT INTO LeaveEncashment(LeaveEncashmentID, LeaveYearID, LeaveID, EmployeeID, EncashmentDays, Amount,TaxAmount, "
|
|
+ " IsFromWeb, GrossSalary, LeaveBalance,TaxParamID,EncashmentFromDate,EncashmentToDate, EnjoyedLeave, PresentDays, AbsentDays, HoliDays, CreatedBy, CreatedDate, BasicSalary, ESSSubmittedDays)" +
|
|
" VALUES(%n, %n, %n, %n, %n,%n,%n,%b, %n, %n,%n, %d, %d, %n, %n, %n, %n, %n, %d, %n, %n)", oItem.ID, oItem.LeaveYearID, oItem.LeaveID, oItem.EmployeeID,
|
|
oItem.EncashmentDays, oItem.Amount,oItem.TaxAmount, oItem.IsFromWeb, oItem.GrossSalary, oItem.LeaveBalance, oItem.TaxParamID, DataReader.GetNullValue(oItem.encashmentFromDate), DataReader.GetNullValue(oItem.encashmentToDate),
|
|
oItem.enjoyedLeave, oItem.presentDays, oItem.absentDays,oItem.holiDays,
|
|
DataReader.GetNullValue(oItem.CreatedBy), DataReader.GetNullValue(oItem.CreatedDate), oItem.BasicSalary, oItem.ESSSubmittedDays);
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region Update function
|
|
public static void Update(TransactionContext tc, LeaveEncashment oItem)
|
|
{
|
|
tc.ExecuteNonQuery("UPDATE LeaveEncashment SET LeaveYearID=%n, LeaveID=%n, EmployeeID=%n, EncashmentDays=%n, Amount=%n,TaxAmount=%n,"
|
|
+ " IsFromWeb=%b, GrossSalary=%n, LeaveBalance=%n,TaxParamID=%n, ModifiedBy=%n, ModifiedDate=%d, BasicSalary=%n, ESSSubmittedDays=%n" +
|
|
" WHERE LeaveEncashmentID=%n", oItem.LeaveYearID, oItem.LeaveID, oItem.EmployeeID, oItem.EncashmentDays,
|
|
oItem.Amount, oItem.TaxAmount, oItem.IsFromWeb, oItem.GrossSalary, oItem.LeaveBalance, oItem.TaxParamID,
|
|
oItem.ModifiedBy, DataReader.GetNullValue(oItem.ModifiedDate), oItem.BasicSalary, oItem.ESSSubmittedDays, oItem.ID);
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region Get function
|
|
public static IDataReader Get(TransactionContext tc, int leaveYearID, int employeeID)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM LeaveEncashment where LeaveYearID=%n AND EmployeeID=%n", leaveYearID, employeeID);
|
|
}
|
|
|
|
public static IDataReader Get(TransactionContext tc, int leaveYearID)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM LeaveEncashment where LeaveYearID=%n", leaveYearID);
|
|
}
|
|
#endregion
|
|
|
|
#region Delete function
|
|
public static void Delete(TransactionContext tc, int nLeaveEnID)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM LeaveEncashment WHERE LeaveEncashmentID=%n", nLeaveEnID);
|
|
}
|
|
|
|
internal static IDataReader GetByEmpIDs(TransactionContext tc, string empIDs, DateTime FirstDateOfYear, DateTime LastDateOfYear)
|
|
{
|
|
//return tc.ExecuteReader("SELECT * FROM LEAVEEncashment WHERE EmployeeID IN (%q) AND Encashmentfromdate >= %d AND Encashmenttodate<=%d", empIDs, FirstDateOfYear, LastDateOfYear);
|
|
return tc.ExecuteReader("SELECT * FROM LEAVEEncashment WHERE EmployeeID IN (%q) AND Encashmentfromdate >= %d ", empIDs, FirstDateOfYear);
|
|
}
|
|
internal static DataSet GetData(TransactionContext tc, int nYearID)
|
|
{
|
|
DataSet rawData = new DataSet();
|
|
try
|
|
{
|
|
string sql = SQLParser.MakeSQL(@"SELECT cc.DESCRIPTION,sum(Amount)Amout FROM LeaveEncashment le,EMPCOSTCENTER ecc, CRG cc
|
|
WHERE le.EmployeeID=ecc.EMPLOYEEID
|
|
AND ecc.COSTCENTERID=cc.CRGID
|
|
AND ecc.CurrentCC=1
|
|
AND le.LeaveYearID=%n
|
|
GROUP BY cc.DESCRIPTION
|
|
ORDER BY cc.DESCRIPTION", nYearID);
|
|
rawData = tc.ExecuteDataSet(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
return rawData;
|
|
}
|
|
internal static DataSet GetSalaryData(TransactionContext tc, DateTime dt)
|
|
{
|
|
DataSet rawData = new DataSet();
|
|
try
|
|
{
|
|
string sql = SQLParser.MakeSQL(@"SELECT * FROM (
|
|
SELECT cc.CRGID, cc.DESCRIPTION CostCenter,isnull(tab1.TotalGross,0)TotalGross,isnull(tab2.PF,0)PF,isnull(tab3.PFLoan,0)PFLoan,isnull(tab4.TotalDeduction,0)TotalDeduction
|
|
,isnull(tab5.NetPay,0)NetPay
|
|
,isnull(tab6.HR,0)HR
|
|
,isnull(tab7.Convence,0)Convence
|
|
,isnull(tab8.Medical,0)Medical
|
|
,isnull(tab11.Basic,0)Basic
|
|
FROM CRG cc
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) TotalGross
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND ITEMGROUP IN(1,8)
|
|
GROUP BY scc.COSTCENTERID)tab1 ON cc.CRGID = tab1.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) HR
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND itemcode=-113 AND itemid=13
|
|
GROUP BY scc.COSTCENTERID)tab6 ON cc.CRGID = tab6.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) Basic
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND itemcode=-101 AND itemid=-101
|
|
GROUP BY scc.COSTCENTERID)tab11 ON cc.CRGID = tab11.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) Convence
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND itemcode=-113 AND itemid=15
|
|
GROUP BY scc.COSTCENTERID)tab7 ON cc.CRGID = tab7.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) Medical
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND itemcode=-113 AND itemid=14
|
|
GROUP BY scc.COSTCENTERID)tab8 ON cc.CRGID = tab8.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) PF
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND ITEMGROUP IN(3) AND itemcode=-128 AND itemid=-128
|
|
GROUP BY scc.COSTCENTERID)tab2 ON cc.CRGID = tab2.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) PFLoan
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND ITEMGROUP IN(3) AND itemcode=-118 AND itemid=1
|
|
GROUP BY scc.COSTCENTERID)tab3 ON cc.CRGID = tab3.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) TotalDeduction
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND ITEMGROUP IN(3) AND itemcode NOT IN(-118,-128)
|
|
GROUP BY scc.COSTCENTERID)tab4 ON cc.CRGID = tab4.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) NetPay
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID <> 7
|
|
AND itemcode=-132 AND itemid=-132
|
|
GROUP BY scc.COSTCENTERID)tab5 ON cc.CRGID = tab5.COSTCENTERID)tab
|
|
WHERE (TotalGross<>0 OR PF<>0 OR PFLoan<>0 OR TotalDeduction<>0 OR NetPay<>0)
|
|
ORDER BY CostCenter", dt, dt, dt, dt, dt, dt, dt, dt, dt);
|
|
rawData = tc.ExecuteDataSet(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
return rawData;
|
|
}
|
|
|
|
internal static DataSet GetSalaryDataExpat(TransactionContext tc, DateTime dt)
|
|
{
|
|
DataSet rawData = new DataSet();
|
|
try
|
|
{
|
|
string sql = SQLParser.MakeSQL(@"SELECT * FROM (
|
|
SELECT cc.CRGID, cc.DESCRIPTION CostCenter,
|
|
isnull(tab11.Basic,0)Basic ,
|
|
isnull(tab2.MonthlyLocationAllowanceEURO,0)MonthlyLocationAllowanceEURO,
|
|
isnull(tab1.TotalGross,0)ActualGross,
|
|
isnull(tab1.TotalGross,0)TotalGross,
|
|
isnull(tab3.ChildDeductionEURO,0)ChildDeductionEURO
|
|
,isnull(tab6.HousingDeductionEURO,0)HousingDeductionEURO ,
|
|
isnull(tab4.TotalDeduction,0)TotalDeduction
|
|
,isnull(tab5.NetPay,0)NetPay
|
|
FROM CRG cc
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) TotalGross
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND ITEMGROUP IN(1,8)
|
|
GROUP BY scc.COSTCENTERID)tab1 ON cc.CRGID = tab1.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) HousingDeductionEURO
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND ITEMGROUP IN(3) AND itemcode=-115 AND itemid=10
|
|
GROUP BY scc.COSTCENTERID)tab6 ON cc.CRGID = tab6.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) Basic
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND itemcode=-101 AND itemid=-101
|
|
GROUP BY scc.COSTCENTERID)tab11 ON cc.CRGID = tab11.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) MonthlyLocationAllowanceEURO
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND ITEMGROUP IN(1) AND smd.ItemCode not in(-133,-101)
|
|
GROUP BY scc.COSTCENTERID)tab2 ON cc.CRGID = tab2.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) ChildDeductionEURO
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND ITEMGROUP IN(3) AND itemcode=-115 AND itemid=24
|
|
GROUP BY scc.COSTCENTERID)tab3 ON cc.CRGID = tab3.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) TotalDeduction
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND ITEMGROUP IN(3) AND itemcode NOT IN(-118,-128)
|
|
GROUP BY scc.COSTCENTERID)tab4 ON cc.CRGID = tab4.COSTCENTERID
|
|
LEFT OUTER JOIN
|
|
(SELECT scc.COSTCENTERID,sum(smd.CHANGEDAMOUNT) NetPay
|
|
FROM SALARYMONTHLY sm,SALARYMONTHLYDETAIL smd, SALARYEMPCOSTCENTER scc
|
|
WHERE sm.SALARYMONTHLYID=smd.SALARYMONTHLYID
|
|
AND sm.SALARYMONTHLYID=scc.SALARYMONTHLYID
|
|
AND sm.SalaryMonth=%d
|
|
AND sm.CATEGORYID = 7
|
|
AND itemcode=-132 AND itemid=-132
|
|
GROUP BY scc.COSTCENTERID)tab5 ON cc.CRGID = tab5.COSTCENTERID)tab
|
|
WHERE (TotalGross<>0 OR MonthlyLocationAllowanceEURO<>0 OR ChildDeductionEURO<>0 OR TotalDeduction<>0 OR NetPay<>0)
|
|
ORDER BY CostCenter", dt, dt, dt, dt, dt, dt, dt);
|
|
rawData = tc.ExecuteDataSet(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
return rawData;
|
|
}
|
|
internal static IDataReader GetLeaves(TransactionContext tc)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM Leave");
|
|
}
|
|
#endregion
|
|
}
|
|
}
|