109 lines
3.9 KiB
C#
109 lines
3.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Ease.CoreV35.DataAccess;
|
|
using System.Data;
|
|
using HRM.BO;
|
|
using Ease.Core.DataAccess;
|
|
|
|
namespace HRM.DA
|
|
{
|
|
#region ShiftTermDA
|
|
|
|
internal class ShiftTermDA
|
|
{
|
|
#region Constructor
|
|
|
|
private ShiftTermDA()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Insert function
|
|
|
|
internal static void Insert(TransactionContext tc, ShiftTerm item)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"INSERT INTO ShiftTerm(ShiftTermID, ShiftID, WeekendTermID, HolidayTermID, CreatedBy, CreatedDate)" +
|
|
" VALUES(%n, %n, %n, %n, %n, %d)", item.ID, item.ShiftID, item.WeekendTermID, item.HolidayTermID,
|
|
item.CreatedBy, item.CreatedDate);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Update function
|
|
|
|
internal static void Update(TransactionContext tc, ShiftTerm item)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"UPDATE ShiftTerm SET ShiftID=%n, WeekendTermID=%n, HolidayTermID=%n, ModifiedBy=%n, ModifiedDate=%d" +
|
|
" WHERE ShiftTermID=%n", item.ShiftID, item.WeekendTermID, item.HolidayTermID, item.ModifiedBy,
|
|
item.ModifiedDate, item.ID);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Get Function
|
|
|
|
internal static IDataReader Get(TransactionContext tc)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM ShiftTerm");
|
|
}
|
|
|
|
internal static IDataReader Get(TransactionContext tc, int nID)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM ShiftTerm WHERE ShiftTermID=%n", nID);
|
|
}
|
|
|
|
internal static IDataReader GetByShiftID(TransactionContext tc, int shiftID)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM ShiftTerm WHERE ShiftID=%n", shiftID);
|
|
}
|
|
|
|
internal static DataSet GetEmpOT(TransactionContext tc, DateTime date, int termID)
|
|
{
|
|
DataSet empOT = new DataSet();
|
|
try
|
|
{
|
|
//string sql = SQLParser.MakeSQL("select d.EmployeeID, "
|
|
// + "((sum (floor(d.OTHour))+ floor(((sum (d.OTHour-floor(d.OTHour)))*100)/60)) + cast(((cast(((sum(d.OTHour-floor(d.OTHour)))*100) AS INT))*(60/100)) AS FLOAT)/100) TotalOT "
|
|
// + "from DailyAttnProcess d "
|
|
// + "where d.ShiftID in (select distinct shiftID from ShiftTerm st, ShiftTermDetail std, Term t "
|
|
// + "where st.ShiftTermID=std.ShiftTermID and std.TermID=t.TermID and t.TermID=%n) "
|
|
// + "and d.AttnDate between %d and %d "
|
|
// + "Group By d.EmployeeID", termID,
|
|
// GlobalFunctions.FirstDateOfMonth(date), GlobalFunctions.LastDateOfMonth(date));
|
|
|
|
string sql = SQLParser.MakeSQL(@"select d.EmployeeID, sum (ISNULL(d.OTHour,0)) AS TotalOT
|
|
from DailyAttnProcess d where d.ShiftID in(select distinct shiftID from ShiftTerm st, ShiftTermDetail std, Term t
|
|
where st.ShiftTermID=std.ShiftTermID and std.TermID=t.TermID and t.TermID=%n)
|
|
and d.AttnDate between %d and %d
|
|
Group By d.EmployeeID", termID, GlobalFunctions.FirstDateOfMonth(date), GlobalFunctions.LastDateOfMonth(date));
|
|
|
|
|
|
empOT = tc.ExecuteDataSet(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return empOT;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Delete function
|
|
|
|
internal static void Delete(TransactionContext tc, int nID)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM ShiftTerm WHERE ShiftTermID=%n", nID);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
#endregion
|
|
} |