898 lines
59 KiB
C#
898 lines
59 KiB
C#
|
using System;
|
|||
|
using System.Data;
|
|||
|
using Ease.Core.DataAccess;
|
|||
|
using HRM.BO;
|
|||
|
|
|||
|
|
|||
|
namespace HRM.DA
|
|||
|
{
|
|||
|
public class ArrearProcessDA
|
|||
|
{
|
|||
|
#region Constructor
|
|||
|
|
|||
|
private ArrearProcessDA()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Get
|
|||
|
|
|||
|
internal static IDataReader Get(TransactionContext tc, int id)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcess WHERE ArrearProcessID=%n", id);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetWithPayrollType(TransactionContext tc, int payrollTypeID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcess where payrolltypeid=%n", payrollTypeID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader Get(TransactionContext tc, DateTime processMonth, int payrollTypeID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcess Where ProcessMonth=%d AND payrolltypeid=%n",
|
|||
|
processMonth, payrollTypeID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetDetailItems(TransactionContext tc, int nEmpID, DateTime processMonth,
|
|||
|
int payrollTypeID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("select * from arrearprocessdetailitem where arrearprocessdetailid= " +
|
|||
|
"(select arrearprocessdetailid from arrearprocessdetail where employeeid=%n AND arrearprocessid=(select arrearprocessid from arrearprocess " +
|
|||
|
" where processmonth=%d and payrolltypeid=%n)) order by serialno", nEmpID,
|
|||
|
processMonth, payrollTypeID);
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetDetailItems(TransactionContext tc, string sEmpIDs, DateTime processMonth,
|
|||
|
int ItemType, int ItemID, int payrollTypeID)
|
|||
|
{
|
|||
|
return tc.ExecuteDataSet(@"
|
|||
|
SELECT ad.EMPLOYEEID, adi.* from arrearprocessdetailitem adi,arrearprocessdetail ad WHERE
|
|||
|
adi.ARREARPROCESSDETAILID=ad.ARREARPROCESSDETAILID AND employeeid IN (%q)
|
|||
|
AND ITEMTYPE=%n AND ItemID=%n
|
|||
|
AND ad.ARREARPROCESSID IN(SELECT MAX(arrearprocessid) from arrearprocess where payrolltypeid=%n)", sEmpIDs, ItemType,
|
|||
|
ItemID, payrollTypeID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetDetailItems(TransactionContext tc, int arrearProcessId, int nEmpID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("select * from arrearprocessdetailitem where arrearprocessdetailid= " +
|
|||
|
"(select arrearprocessdetailid from arrearprocessdetail where employeeid=%n AND arrearprocessid=%n" +
|
|||
|
" ) order by serialno", nEmpID, arrearProcessId);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetArrearProcessDetails(TransactionContext tc, int ArrearProcessID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcessDetail WHERE ArrearProcessID=%n", ArrearProcessID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetDetails(TransactionContext tc, int arrearProcessId, string nEmpID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcessDetail WHERE ArrearProcessID=%n AND EmployeeID in (%q)",
|
|||
|
arrearProcessId, nEmpID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetDetails(TransactionContext tc, int arrearProcessId, int EmpID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcessDetail WHERE ArrearProcessID=%n AND EmployeeID = %n",
|
|||
|
arrearProcessId, EmpID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetArrearProcessDetails(TransactionContext tc, string sEmpID, DateTime startDate,
|
|||
|
DateTime endDate, int payrolltypeID)
|
|||
|
{
|
|||
|
string sql = string.Empty;
|
|||
|
|
|||
|
sql = SQLParser.MakeSQL(@"SELECT * FROM ArrearProcessDetail
|
|||
|
WHERE EmployeeID IN(%q)
|
|||
|
AND ArrearProcessID IN
|
|||
|
(SELECT ArrearProcessID
|
|||
|
FROM ArrearProcess
|
|||
|
WHERE ProcessMonth BETWEEN %d AND %d
|
|||
|
AND PayrollTypeID=%n)", sEmpID, startDate, endDate, payrolltypeID);
|
|||
|
|
|||
|
return tc.ExecuteReader(sql);
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetArrearProcessDetailsByCCIDAndEmpID(TransactionContext tc, string sCCID,
|
|||
|
DateTime startDate, DateTime endDate, string sEmpIDs, int payrollTypeID)
|
|||
|
{
|
|||
|
DataSet rootDataset = new DataSet();
|
|||
|
DataSet tempdataset = new DataSet();
|
|||
|
string sQuery = string.Empty;
|
|||
|
if (sCCID == "")
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt
|
|||
|
,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid
|
|||
|
", startDate, endDate, payrollTypeID,
|
|||
|
(int)EnumArearProcessItemType.Gross, sEmpIDs, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalGross";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount,itemid from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage,tab1.itemid from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount,itemid
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt
|
|||
|
,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid,itemid", startDate,
|
|||
|
endDate, payrollTypeID, (int)EnumArearProcessItemType.OPI, sEmpIDs, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalOPI";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt
|
|||
|
,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid", startDate,
|
|||
|
endDate, payrollTypeID, (int)EnumArearProcessItemType.PF, sEmpIDs, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalPF";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount,itemid from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage,tab1.itemid from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount,itemid
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt ,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid,itemid", startDate,
|
|||
|
endDate, payrollTypeID, (int)EnumArearProcessItemType.Bonus, sEmpIDs, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalBonus";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid AND EMPCC.costcenterid in(%q) )ttttt
|
|||
|
,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid
|
|||
|
", startDate, endDate, payrollTypeID,
|
|||
|
(int)EnumArearProcessItemType.Gross, sEmpIDs, startDate, endDate, sEmpIDs, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalGross";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount,itemid from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage,tab1.itemid from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount,itemid
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid AND EMPCC.costcenterid in(%q) )ttttt
|
|||
|
,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid,itemid", startDate,
|
|||
|
endDate, payrollTypeID, (int)EnumArearProcessItemType.OPI, sEmpIDs, startDate, endDate, sEmpIDs,
|
|||
|
sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalOPI";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid AND EMPCC.costcenterid in(%q) )ttttt
|
|||
|
,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid", startDate,
|
|||
|
endDate, payrollTypeID, (int)EnumArearProcessItemType.PF, sEmpIDs, startDate, endDate, sEmpIDs,
|
|||
|
sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalPF";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select costcenterid,description,emp.departmentid,sum(calculatedamount) as calculatedamount,itemid from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid,tab1.description,tab1.calculatedamount*percentage/100 as calculatedamount,percentage,tab1.itemid from (
|
|||
|
select distinct b.employeeid,c.description,c.calculatedamount,itemid
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
b.employeeid in (%q)) tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid AND EMPCC.costcenterid in(%q) )ttttt ,employee emp
|
|||
|
where ttttt.employeeid=emp.employeeid
|
|||
|
group by costcenterid,description,emp.departmentid,itemid", startDate,
|
|||
|
endDate, payrollTypeID, (int)EnumArearProcessItemType.Bonus, sEmpIDs, startDate, endDate, sEmpIDs,
|
|||
|
sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalBonus";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return rootDataset;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetArrearProcessDetailsByCCIDAndEmpID2(TransactionContext tc, string sCCID,
|
|||
|
DateTime startDate, DateTime endDate, string sEmpIDs)
|
|||
|
{
|
|||
|
DataSet rootDataset = new DataSet();
|
|||
|
DataSet tempdataset = new DataSet();
|
|||
|
string sQuery = string.Empty;
|
|||
|
if (sCCID == "")
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(@"select ttttt.EmployeeID,itemtype,sum(Amount) as Amount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid, itemtype,tab1.calculatedamount*percentage/100 as amount from (
|
|||
|
select S.EmployeeID, DESCRIPTION,itemtype,CalculatedAmount from ArrearProcessDetail S,
|
|||
|
ArrearProcessDetailItem b where S.EMPLOYEEID in(%q) and
|
|||
|
S.ArrearEffectFromDate between %d and %d AND
|
|||
|
S.ArrearprocessDetailID=b.ArrearprocessDetailID AND b.itemtype in(2,3,5,6,8,11,13,12))tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt group by ttttt.EmployeeID,itemtype
|
|||
|
", sEmpIDs, startDate, endDate, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalArrear";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(@" select ttttt.EmployeeID,itemtype,sum(Amount) as Amount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid, itemtype,tab1.calculatedamount*percentage/100 as amount from (
|
|||
|
select S.EmployeeID, DESCRIPTION,itemtype,CalculatedAmount from ArrearProcessDetail S,
|
|||
|
ArrearProcessDetailItem b where S.EMPLOYEEID in(%q) and
|
|||
|
S.ArrearEffectFromDate between %d and %d AND
|
|||
|
S.ArrearprocessDetailID=b.ArrearprocessDetailID AND b.itemtype in(2,3,5,6,8,11,13,12))tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND empcc.costcenterid in(%q)
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt group by ttttt.EmployeeID,itemtype
|
|||
|
", sEmpIDs, startDate, endDate, startDate, endDate, sEmpIDs, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalArrear";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return rootDataset;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetArrearProcessDetailsByCCIDAndEmpID3(TransactionContext tc, string sCCID,
|
|||
|
DateTime startDate, DateTime endDate, string sEmpIDs)
|
|||
|
{
|
|||
|
DataSet rootDataset = new DataSet();
|
|||
|
DataSet tempdataset = new DataSet();
|
|||
|
string sQuery = string.Empty;
|
|||
|
if (sCCID == "")
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select ttttt.EmployeeID,Description,itemid,itemtype,sum(Amount) as Amount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid, Description,itemid,itemtype,tab1.calculatedamount*percentage/100 as amount from (
|
|||
|
select S.EmployeeID, DESCRIPTION,itemid,itemtype,CalculatedAmount from ArrearProcessDetail S,
|
|||
|
ArrearProcessDetailItem b where S.EMPLOYEEID in(%q) and
|
|||
|
S.ArrearEffectFromDate between %d and %d AND
|
|||
|
S.ArrearprocessDetailID=b.ArrearprocessDetailID )tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt group by ttttt.EmployeeID,Description,itemid,itemtype
|
|||
|
", sEmpIDs, startDate, endDate, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalArrear";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select ttttt.EmployeeID,Description,itemid,itemtype,sum(Amount) as Amount from(
|
|||
|
select distinct tab1.employeeid,EMPCC.costcenterid, Description,itemid,itemtype,tab1.calculatedamount*percentage/100 as amount from (
|
|||
|
select S.EmployeeID, DESCRIPTION,itemid,itemtype,CalculatedAmount from ArrearProcessDetail S,
|
|||
|
ArrearProcessDetailItem b where S.EMPLOYEEID in(%q) and
|
|||
|
S.ArrearEffectFromDate between %d and %d AND
|
|||
|
S.ArrearprocessDetailID=b.ArrearprocessDetailID )tab1,
|
|||
|
(
|
|||
|
select employeeid,salarymonthlyid from salarymonthly where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q)
|
|||
|
) tab2,SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid AND
|
|||
|
tab1.employeeid= tab2.employeeid
|
|||
|
AND empcc.costcenterid in(%q)
|
|||
|
AND tab2.employeeid= EMPCC.employeeid)ttttt group by ttttt.EmployeeID,Description,itemid,itemtype
|
|||
|
", sEmpIDs, startDate, endDate, startDate, endDate, sEmpIDs, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalArrear";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return rootDataset;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetArrPrssDetailsByCstIDEmpIDLocAndDeptWise(TransactionContext tc, string sCCID,
|
|||
|
DateTime startDate, DateTime endDate, string sEmpIDs)
|
|||
|
{
|
|||
|
DataSet rootDataset = new DataSet();
|
|||
|
DataSet tempdataset = new DataSet();
|
|||
|
string sQuery = string.Empty;
|
|||
|
if (sCCID == "")
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@"select ttttt.EmployeeID,ttttt.LocationID,ttttt.DepartmentID,ttttt.ItemID,itemtype,sum(Amount) as Amount
|
|||
|
FROM
|
|||
|
(select distinct tab1.employeeid,tab1.LocationID,tab1.DepartmentID
|
|||
|
,EMPCC.costcenterid,tab1.ItemID,itemtype,tab1.calculatedamount*percentage/100 as amount
|
|||
|
from
|
|||
|
(select S.EmployeeID,S.LocationID,S.DepartmentID,DESCRIPTION,b.ItemID,
|
|||
|
itemtype,CalculatedAmount
|
|||
|
from ArrearProcessDetail S,ArrearProcessDetailItem b
|
|||
|
where S.EMPLOYEEID in(%q)
|
|||
|
and S.ArrearEffectFromDate between %d and %d
|
|||
|
AND S.ArrearprocessDetailID=b.ArrearprocessDetailID
|
|||
|
)tab1,
|
|||
|
(select employeeid,salarymonthlyid
|
|||
|
from salarymonthly
|
|||
|
where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q))
|
|||
|
tab2,
|
|||
|
SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid
|
|||
|
AND tab1.employeeid= tab2.employeeid
|
|||
|
AND tab2.employeeid= EMPCC.employeeid
|
|||
|
)ttttt
|
|||
|
group by ttttt.EmployeeID,ttttt.LocationID,ttttt.DepartmentID,ttttt.ItemID,itemtype"
|
|||
|
, sEmpIDs, startDate, endDate, startDate, endDate, sEmpIDs);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalArrear";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@"select ttttt.EmployeeID,ttttt.LocationID,ttttt.DepartmentID,ttttt.ItemID,itemtype,sum(Amount) as Amount
|
|||
|
FROM
|
|||
|
(select distinct tab1.employeeid,tab1.LocationID,tab1.DepartmentID
|
|||
|
,EMPCC.costcenterid,tab1.ItemID,itemtype,tab1.calculatedamount*percentage/100 as amount
|
|||
|
from
|
|||
|
(select S.EmployeeID,S.LocationID,S.DepartmentID,DESCRIPTION,b.ItemID,
|
|||
|
itemtype,CalculatedAmount
|
|||
|
from ArrearProcessDetail S,ArrearProcessDetailItem b
|
|||
|
where S.EMPLOYEEID in(%q)
|
|||
|
and S.ArrearEffectFromDate between %d and %d
|
|||
|
AND S.ArrearprocessDetailID=b.ArrearprocessDetailID
|
|||
|
)tab1,
|
|||
|
(select employeeid,salarymonthlyid
|
|||
|
from salarymonthly
|
|||
|
where salarymonth between %d and %d
|
|||
|
AND employeeid in (%q))
|
|||
|
tab2,
|
|||
|
SALARYEMPCOSTCENTER EMPCC
|
|||
|
where tab2.salarymonthlyid=EMPCC.salarymonthlyid
|
|||
|
AND tab1.employeeid= tab2.employeeid
|
|||
|
AND empcc.costcenterid in(%q)
|
|||
|
AND tab2.employeeid= EMPCC.employeeid
|
|||
|
)ttttt
|
|||
|
group by ttttt.EmployeeID,ttttt.LocationID,ttttt.DepartmentID,ttttt.ItemID,itemtype
|
|||
|
", sEmpIDs, startDate, endDate, startDate, endDate, sEmpIDs, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalArrear";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return rootDataset;
|
|||
|
}
|
|||
|
|
|||
|
internal static DataSet GetArrearProcessDetailsByCCID(TransactionContext tc, string sCCID, DateTime startDate,
|
|||
|
DateTime endDate, int payrollTypeID)
|
|||
|
{
|
|||
|
DataSet rootDataset = new DataSet();
|
|||
|
DataSet tempdataset = new DataSet();
|
|||
|
string sQuery = string.Empty;
|
|||
|
if (sCCID == "")
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid
|
|||
|
group by d.costcenterid,c.description", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.Gross);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalGross";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid
|
|||
|
group by d.costcenterid,c.description", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.OPI);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalOPI";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid
|
|||
|
group by d.costcenterid,c.description", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.PF);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalPF";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select c.itemid,d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid
|
|||
|
group by d.costcenterid,c.description,c.itemid", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.Bonus);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalBonus";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid AND d.costcenterid in(%q)
|
|||
|
group by d.costcenterid,c.description", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.Gross, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalGross";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid AND d.costcenterid in(%q)
|
|||
|
group by d.costcenterid,c.description", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.OPI, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalOPI";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid AND d.costcenterid in(%q)
|
|||
|
group by d.costcenterid,c.description", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.PF, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalPF";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
|
|||
|
sQuery = SQLParser.MakeSQL(
|
|||
|
@" select c.itemid,d.costcenterid,c.description,sum(c.calculatedamount*d.percentage/100) as calculatedamount
|
|||
|
from arrearprocessdetailitem c,arrearprocessdetail b,arrearprocess a,Empcostcenter d
|
|||
|
where a.arrearprocessid=b.arrearprocessid AND
|
|||
|
b.arrearprocessdetailid=c.arrearprocessdetailid AND
|
|||
|
b.ProcessMonth between %d and %d AND
|
|||
|
a.payrollTypeid=%n AND
|
|||
|
c.Itemtype=%n AND
|
|||
|
d.employeeid=d.employeeid AND d.costcenterid in(%q)
|
|||
|
group by d.costcenterid,c.description,c.itemid", startDate, endDate,
|
|||
|
payrollTypeID, (int)EnumArearProcessItemType.Bonus, sCCID);
|
|||
|
tempdataset = tc.ExecuteDataSet(sQuery);
|
|||
|
|
|||
|
tempdataset.Tables[0].TableName = "TotalBonus";
|
|||
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return rootDataset;
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetArrearProcessDetailItems(TransactionContext tc, int ArrearProcessDetailID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcessDetailItem WHERE ArrearprocessDetailID=%n",
|
|||
|
ArrearProcessDetailID);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
internal static IDataReader GetArrearProcessDetailItemMonthlys(TransactionContext tc,
|
|||
|
int ArrearProcessDetailItemID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ARRPROSDETAILITEMMONTHLY WHERE ArrearProcessDetailItemID=%n",
|
|||
|
ArrearProcessDetailItemID);
|
|||
|
}
|
|||
|
|
|||
|
internal static IDataReader GetArrearProcessCostDists(TransactionContext tc, int ArrearProcessDetailID)
|
|||
|
{
|
|||
|
return tc.ExecuteReader("SELECT * FROM ArrearProcessCostDist WHERE ArrearprocessDetailID=%n",
|
|||
|
ArrearProcessDetailID);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region IsExist
|
|||
|
|
|||
|
internal static bool IsExist(TransactionContext tc, DateTime dt, int payrollTypeID)
|
|||
|
{
|
|||
|
bool isExist = false;
|
|||
|
object obj =
|
|||
|
tc.ExecuteScalar("SELECT Count(*) from ArrearProcess Where ProcessMonth=%d AND PayrollTypeID=%n",
|
|||
|
Ease.Core.Utility.Global.DateFunctions.LastDateOfMonth(dt), payrollTypeID);
|
|||
|
isExist = Convert.ToInt32(obj) > 0 ? true : false;
|
|||
|
return isExist;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Insert
|
|||
|
|
|||
|
internal static void Insert(TransactionContext tc, ArrearProcess oArrearProcess)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"INSERT INTO ArrearProcess(ArrearProcessID, ProcessDescription, ProcessMonth, ProcessDate," +
|
|||
|
" IsApproved, ApprovedBy, PayrollTypeID,CreatedBy,CreationDate)" +
|
|||
|
" VALUES(%n, %s, %d, %d, %b, %n, %n,%n,%d)",
|
|||
|
oArrearProcess.ID, oArrearProcess.ProcessDescription, oArrearProcess.ProcessMonth,
|
|||
|
oArrearProcess.ProcessDate, oArrearProcess.IsApproved,
|
|||
|
DataReader.GetNullValue(oArrearProcess.ApprovedBy, 0), oArrearProcess.PayrollTypeID,
|
|||
|
DataReader.GetNullValue(oArrearProcess.CreatedBy, 0),
|
|||
|
DataReader.GetNullValue(oArrearProcess.CreatedDate));
|
|||
|
}
|
|||
|
|
|||
|
internal static void Insert(TransactionContext tc, ArrearProcessDetail oArrearProcessDetail)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"INSERT INTO ArrearProcessDetail(ArrearProcessDetailID,ArrearProcessID, EmployeeID, ProcessMonth, DepartmentID," +
|
|||
|
" DesingnationID, LocationID, BranchID,AccountNo,GradeID,ScaleID,BasicSalary,GrossSalary,IncrementPercent,ArrearEffectFromDate)" +
|
|||
|
" VALUES(%n,%n,%n, %d,%n,%n,%n,%n,%s,%n,%n,%n,%n,%n,%d)",
|
|||
|
oArrearProcessDetail.ID, oArrearProcessDetail.ArrearProcessID, oArrearProcessDetail.EmployeeID,
|
|||
|
oArrearProcessDetail.ProcessMonth, oArrearProcessDetail.DepartmentID,
|
|||
|
oArrearProcessDetail.DesingnationID,
|
|||
|
oArrearProcessDetail.LocationID, oArrearProcessDetail.BranchID, oArrearProcessDetail.AccountNo,
|
|||
|
oArrearProcessDetail.GradeID, oArrearProcessDetail.ScaleID, oArrearProcessDetail.BasicSalary,
|
|||
|
oArrearProcessDetail.GrossSalary, oArrearProcessDetail.IncrementPercent,
|
|||
|
oArrearProcessDetail.ArrearEffectFromDate);
|
|||
|
}
|
|||
|
|
|||
|
internal static void Insert(TransactionContext tc, ArrearProcessDetailItem oArrearProcessDetailItem)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"INSERT INTO ArrearProcessDetailItem(ArrearProcessDetailItemID,ArrearProcessDetailID,ItemType,ItemID, Side, Description, CalculatedAmount," +
|
|||
|
" ChangedAmount, SerialNo, IsUploaded)" +
|
|||
|
" VALUES(%n,%n,%n, %n,%n,%s,%n,%n,%n, %n)",
|
|||
|
oArrearProcessDetailItem.ID, oArrearProcessDetailItem.ArrearProcessDetailID,
|
|||
|
(int)oArrearProcessDetailItem.ItemType, oArrearProcessDetailItem.ItemID,
|
|||
|
(int)oArrearProcessDetailItem.Side, oArrearProcessDetailItem.Description,
|
|||
|
oArrearProcessDetailItem.CalculatedAmount, oArrearProcessDetailItem.ChangedAmount,
|
|||
|
oArrearProcessDetailItem.SeriialNo, oArrearProcessDetailItem.IsUploaded);
|
|||
|
}
|
|||
|
|
|||
|
internal static void Insert(TransactionContext tc,
|
|||
|
ArrearProcessDetailItemMonthly oArrearProcessDetailItemMonthly)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"INSERT INTO ARRPROSDETAILITEMMONTHLY(ARRPROSDETAILITEMMONTHLYID,ArrearProcessDetailItemID,ItemType,ItemID, Side, Description, CalculatedAmount," +
|
|||
|
" ChangedAmount, SerialNo,SalaryMonth, IsUploaded)" +
|
|||
|
" VALUES(%n,%n,%n, %n,%n,%s,%n,%n,%n,%d, %n)",
|
|||
|
oArrearProcessDetailItemMonthly.ID, oArrearProcessDetailItemMonthly.ArrearProcessDetailItemID,
|
|||
|
(int)oArrearProcessDetailItemMonthly.ItemType, oArrearProcessDetailItemMonthly.ItemID,
|
|||
|
(int)oArrearProcessDetailItemMonthly.Side, oArrearProcessDetailItemMonthly.Description,
|
|||
|
oArrearProcessDetailItemMonthly.CalculatedAmount, oArrearProcessDetailItemMonthly.ChangedAmount,
|
|||
|
oArrearProcessDetailItemMonthly.SeriialNo, oArrearProcessDetailItemMonthly.SalaryMonth,
|
|||
|
oArrearProcessDetailItemMonthly.IsUploaded);
|
|||
|
}
|
|||
|
|
|||
|
internal static void UpdateDetailItem(TransactionContext tc, ArrearProcessDetailItem oArrearProcessDetailItem)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"Update ArrearProcessDetailItem SET CalculatedAmount=%n,ChangedAmount=%n Where ArrearProcessDetailItemID=%n",
|
|||
|
oArrearProcessDetailItem.CalculatedAmount, oArrearProcessDetailItem.ChangedAmount,
|
|||
|
oArrearProcessDetailItem.ID);
|
|||
|
}
|
|||
|
|
|||
|
internal static void Insert(TransactionContext tc, ArrearProcessCostDist oArrearProcessCostDist)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"INSERT INTO ArrearProcessCostDist(ArrearProcessCostDistID,ArrearProcessDetailID,CostcenterID,InvolvementPercent, Amount)" +
|
|||
|
" VALUES(%n,%n,%n, %n,%n)",
|
|||
|
oArrearProcessCostDist.ID, oArrearProcessCostDist.ArrearProcessDetailID,
|
|||
|
oArrearProcessCostDist.CostcenterID, oArrearProcessCostDist.InvolvementPercent,
|
|||
|
oArrearProcessCostDist.Amount);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Update
|
|||
|
|
|||
|
internal static void Update(TransactionContext tc, ArrearProcess oAsset)
|
|||
|
{
|
|||
|
//string sSQL = SQLParser.MakeSQL("UPDATE Asset SET [Code]=%s,[Name]=%s,[Description]=%s," +
|
|||
|
// " [BuyTime]=%d,[Remarks]=%s,[IsUsing]=%n,[BuyPrice]=%n," +
|
|||
|
// " [ModifiedBy]=%n,[ModifiedDate]=%d WHERE [AssetID]=%n",
|
|||
|
// oAsset.Code, oAsset.Name,oAsset.Description,oAsset.BuyTime,
|
|||
|
// oAsset.Remarks, oAsset.IsUsing, oAsset.BuyPrice,
|
|||
|
// DataReader.GetNullValue(oAsset.ModifiedBy),
|
|||
|
// DataReader.GetNullValue(oAsset.ModifiedDate),
|
|||
|
// oAsset.ID);
|
|||
|
//tc.ExecuteNonQuery(sSQL);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Delete
|
|||
|
|
|||
|
internal static void Approve(TransactionContext tc, ArrearProcess oAP, int payrollTypeID,
|
|||
|
DateTime nextPayProcessDate)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("DELETE FROM INCOMETAXTEMP WHERE INCOMETAXTEMP.EMPLOYEEID IN "
|
|||
|
+ " (SELECT AP.EMPLOYEEID FROM ArrearProcessDetail AP"
|
|||
|
+ " WHERE "
|
|||
|
+ " AP.ArrearProcessID= %n)", oAP.ID);
|
|||
|
|
|||
|
tc.ExecuteNonQuery("INSERT INTO INCOMETAXTEMP(EMPLOYEEID, ITEMCODE, ITEMID, DESCRIPTION,"
|
|||
|
+ " THISYEARTOTAL, PREVIOUSAMOUNT, THISMONTHAMOUNT, PROJECTEDAMOUNT,"
|
|||
|
+ " SIDE, POSITION)"
|
|||
|
+ " (SELECT SALARYTEMPIT.EMPLOYEEID, SALARYTEMPIT.ITEMCODE, SALARYTEMPIT.ITEMID,"
|
|||
|
+ " SALARYTEMPIT.DESCRIPTION, SALARYTEMPIT.THISYEARTOTAL, "
|
|||
|
+ " SALARYTEMPIT.PREVIOUSAMOUNT, SALARYTEMPIT.THISMONTHAMOUNT, "
|
|||
|
+ " SALARYTEMPIT.PROJECTEDAMOUNT, SALARYTEMPIT.SIDE, SALARYTEMPIT.POSITION "
|
|||
|
+ " "
|
|||
|
+ " FROM SALARYTEMPIT WHERE SALARYTEMPIT.EMPLOYEEID IN "
|
|||
|
+ " (SELECT DISTINCT AP.EMPLOYEEID FROM ArrearProcessDetail AP "
|
|||
|
+ " WHERE "
|
|||
|
+ " AP.ArrearProcessID= %n ))", oAP.ID);
|
|||
|
|
|||
|
tc.ExecuteNonQuery("DELETE FROM SALARYTEMPIT WHERE SALARYTEMPIT.EMPLOYEEID IN "
|
|||
|
+ " (SELECT AP.EMPLOYEEID FROM ArrearProcessDetail AP "
|
|||
|
+ " WHERE "
|
|||
|
+ " AP.ArrearProcessID= %n)", oAP.ID);
|
|||
|
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"Update GradeSalaryAssignment Set ArrearInfo = %n Where ArrearInfo = %n AND GradeSalaryAssignment.EmployeeID IN "
|
|||
|
+ " (SELECT Employee.EmployeeID FROM Employee WHERE PayrollTypeID=%n)",
|
|||
|
EnumArrearType.Paid, EnumArrearType.ToCalculate,
|
|||
|
payrollTypeID);
|
|||
|
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"Update ADParameterEmployee SET ArrearInfo=%n Where ARREARINFO=%n AND TillDate <= %d AND ADParameterEmployee.EmployeeID IN"
|
|||
|
+ " (SELECT Employee.EmployeeID FROM Employee WHERE Employee.PayrollTypeID=%n)", EnumArrearType.Paid,
|
|||
|
EnumArrearType.ToCalculate,
|
|||
|
nextPayProcessDate, payrollTypeID);
|
|||
|
|
|||
|
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"UPDATE ArrearProcess set IsApproved=%b, ApprovedBy=%n,ModifiedBy=%n,ModifiedDate=%d WHERE ArrearProcessID=%n",
|
|||
|
oAP.IsApproved, oAP.ApprovedBy, DataReader.GetNullValue(oAP.ModifiedBy),
|
|||
|
DataReader.GetNullValue(oAP.ModifiedDate), oAP.ID);
|
|||
|
}
|
|||
|
|
|||
|
internal static void Delete(TransactionContext tc, ArrearProcess oAP)
|
|||
|
{
|
|||
|
//tc.ExecuteNonQuery("DELETE FROM SalaryTempIT WHERE EmployeeID in (Select EmployeeID from ArrearProcessDetail Where ArrearProcessID=%n)", oAP.ID);
|
|||
|
//tc.ExecuteNonQuery("DELETE FROM ArrearProcessCostDist WHERE ArrearprocessDetailID IN (select ArrearProcessDetailID from ArrearProcessDetail WHERE ArrearProcessID=%n)", oAP.ID);
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"DELETE FROM ARRPROSDETAILITEMMONTHLY WHERE ArrearProcessDetailItemID IN(SELECT ArrearProcessDetailItemID from ArrearProcessDetailItem WHERE ArrearprocessDetailID IN (select ArrearProcessDetailID from ArrearProcessDetail WHERE ArrearProcessID=%n))",
|
|||
|
oAP.ID);
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"DELETE FROM ArrearProcessDetailItem WHERE ArrearprocessDetailID IN (select ArrearProcessDetailID from ArrearProcessDetail WHERE ArrearProcessID=%n)",
|
|||
|
oAP.ID);
|
|||
|
tc.ExecuteNonQuery("DELETE FROM ArrearProcessDetail WHERE ArrearProcessID=%n", oAP.ID);
|
|||
|
tc.ExecuteNonQuery("DELETE FROM ArrearProcess WHERE ArrearProcessID=%n", oAP.ID);
|
|||
|
}
|
|||
|
|
|||
|
internal static void DeleteDetailItem(TransactionContext tc, int nID)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("DELETE FROM ArrearProcessDetailItem WHERE ArrearprocessDetailID=%n", nID);
|
|||
|
}
|
|||
|
|
|||
|
internal static void DeleteDetailItemByDetailID(TransactionContext tc, int arrearProcessDetailID,
|
|||
|
enumPayrollComponentType itemtype, int itemid)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery(
|
|||
|
"DELETE FROM ArrearProcessDetailItem WHERE ArrearprocessDetailID=%n AND ItemType=%n AND itemID=%n",
|
|||
|
arrearProcessDetailID, itemtype, itemid);
|
|||
|
}
|
|||
|
|
|||
|
internal static void DeleteDetailItemMonthlyByDetailID(TransactionContext tc, int arrearProcessDetailID,
|
|||
|
enumPayrollComponentType itemtype, int itemid)
|
|||
|
{
|
|||
|
// tc.ExecuteNonQuery(@"WITH cte AS (
|
|||
|
// SELECT m.* FROM ARREARPROCESSDETAIL d
|
|||
|
// INNER JOIN ARREARPROCESSDETAILITEM a ON d.ARREARPROCESSDETAILID = a.ARREARPROCESSDETAILID
|
|||
|
// INNER JOIN ARRPROSDETAILITEMMONTHLY m ON a.ARREARPROCESSDETAILITEMID = m.ARREARPROCESSDETAILITEMID
|
|||
|
// WHERE d.ARREARPROCESSDETAILID = %n AND m.ITEMTYPE=%n AND m.ITEMID=%n
|
|||
|
// )
|
|||
|
// DELETE FROM cte
|
|||
|
// ", arrearProcessDetailID, itemtype, itemid);
|
|||
|
|
|||
|
tc.ExecuteNonQuery(@"DELETE FROM ARRPROSDETAILITEMMONTHLY WHERE ARRPROSDETAILITEMMONTHLYID IN(
|
|||
|
|
|||
|
SELECT m.ARRPROSDETAILITEMMONTHLYID FROM ARREARPROCESSDETAIL d
|
|||
|
INNER JOIN ARREARPROCESSDETAILITEM a ON d.ARREARPROCESSDETAILID = a.ARREARPROCESSDETAILID
|
|||
|
INNER JOIN ARRPROSDETAILITEMMONTHLY m ON a.ARREARPROCESSDETAILITEMID = m.ARREARPROCESSDETAILITEMID
|
|||
|
WHERE d.ARREARPROCESSDETAILID = %n AND m.ITEMTYPE=%n AND m.ITEMID=%n
|
|||
|
)", arrearProcessDetailID, itemtype, itemid);
|
|||
|
}
|
|||
|
|
|||
|
internal static void DeleteTaxDetailItem(TransactionContext tc, int nID, enumPayrollComponentType type)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("DELETE FROM ARREARPROCESSDETAILITEM WHERE ArrearprocessDetailID=%n AND ITEMTYPE", nID,
|
|||
|
type);
|
|||
|
}
|
|||
|
|
|||
|
internal static void DeleteDetailItemMonthly(TransactionContext tc, int nID)
|
|||
|
{
|
|||
|
tc.ExecuteNonQuery("DELETE FROM ARRPROSDETAILITEMMONTHLY WHERE ArrearprocessDetailItemID=%n", nID);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|