1300 lines
101 KiB
C#
1300 lines
101 KiB
C#
using HRM.BO;
|
|
using Ease.Core.DataAccess;
|
|
using System;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using Microsoft.Data.SqlClient;
|
|
using static iTextSharp.text.pdf.AcroFields;
|
|
using NPOI.SS.Formula.Functions;
|
|
using static NPOI.HSSF.Util.HSSFColor;
|
|
using iTextSharp.text.pdf.parser.clipper;
|
|
|
|
namespace HRM.DA.Fund
|
|
{
|
|
#region class MembersTransactionDetailsDA
|
|
|
|
internal class MembersTransactionDetailsDA
|
|
{
|
|
#region Constructor
|
|
|
|
public MembersTransactionDetailsDA()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Insert function
|
|
|
|
internal static void Insert(TransactionContext tc, MembersTransactionDetails oItem)
|
|
{
|
|
string sql = string.Empty;
|
|
sql = SQLParser.MakeSQL(
|
|
"INSERT INTO MembersTransactionDetails(TranID,MemberID,TranTypeID,TranDate,ProjectID,FundTypeID,Amount,Effect,ActivityID,VoucherNo,CreatedBy,CreatedDate)" +
|
|
" VALUES(%n,%n,%n,%d,%n,%n,%n,%n,%n,%s,%n,%D)", oItem.ID, oItem.MemberID, oItem.TranTypeID,
|
|
oItem.TranDate, oItem.ID,
|
|
oItem.FundTypeID, oItem.Amount, oItem.Effect, DataReader.GetNullValue(oItem.ActivityID),
|
|
DataReader.GetNullValue(oItem.VoucherNo),
|
|
oItem.CreatedBy, oItem.CreatedDate);
|
|
tc.ExecuteNonQuery(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Update function
|
|
|
|
internal static void Update(TransactionContext tc, MembersTransactionDetails oItem)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"UPDATE MembersTransactionDetails SET MemberID=%n, TranTypeID=%n, TranDate=%d, ProjectID=%n, FundTypeID = %n, Amount=%n, Effect=%n, ActivityID=%n, VoucherNo=%s, ModifiedBy = %n, ModifiedDate = %D" +
|
|
"where TranID=%n", oItem.MemberID, oItem.TranTypeID, oItem.TranDate, oItem.ID, oItem.FundTypeID,
|
|
oItem.Amount,
|
|
oItem.Effect, oItem.ActivityID, oItem.VoucherNo, oItem.ModifiedBy, oItem.ModifiedDate, oItem.ID);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region int Generation function
|
|
|
|
internal static int GetNewID(TransactionContext tc)
|
|
{
|
|
return tc.GenerateID("MembersTransactionDetails", "TranID");
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Get Function
|
|
|
|
internal static IDataReader Get(TransactionContext tc, EnumMemberTranType type, int fundtypeid)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM MembersTransactionDetails Where ProjectID=%n and TranTypeID=%n",
|
|
fundtypeid, type);
|
|
}
|
|
|
|
internal static IDataReader GetbyFundType(TransactionContext tc, int fundtypeid)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM MembersTransactionDetails Where ProjectID=%n ", fundtypeid);
|
|
}
|
|
|
|
internal static IDataReader Get(TransactionContext tc, int TranID)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM MembersTransactionDetails WHERE TranID=%n", TranID);
|
|
}
|
|
|
|
internal static IDataReader GetMemberContribution(TransactionContext tc, int memberID, DateTime beforeConOfDate,
|
|
int fundtypeid)
|
|
{
|
|
string sqlString = string.Empty;
|
|
sqlString = SQLParser.MakeSQL(
|
|
"SELECT * FROM MembersTransactionDetails WHERE MemberID = %n AND TranDate < %d AND ProjectID=%n",
|
|
memberID, beforeConOfDate, fundtypeid);
|
|
return tc.ExecuteReader(sqlString);
|
|
}
|
|
|
|
internal static IDataReader GetMemberContribution(TransactionContext tc, int memberID, string searchCondition,
|
|
int fundtypeid)
|
|
{
|
|
string sqlString = string.Empty;
|
|
sqlString = SQLParser.MakeSQL(
|
|
"SELECT * FROM MembersTransactionDetails WHERE MemberID = %n AND ProjectID=%n %q order by TranDate,TranTypeID asc",
|
|
memberID, fundtypeid, searchCondition);
|
|
//sqlString = sqlString + searchCondition;
|
|
return tc.ExecuteReader(sqlString);
|
|
}
|
|
|
|
internal static IDataReader GetMemberContribution(TransactionContext tc, int memberID, string searchCondition)
|
|
{
|
|
string sqlString = string.Empty;
|
|
|
|
sqlString = SQLParser.MakeSQL(
|
|
"SELECT * FROM MembersTransactionDetails WHERE MemberID = %n %q order by TranDate,TranTypeID asc",
|
|
memberID, searchCondition);
|
|
//sqlString = sqlString + searchCondition;
|
|
return tc.ExecuteReader(sqlString);
|
|
}
|
|
|
|
internal static IDataReader GetMemberContribution( int memberID, string searchCondition, string FMConn)
|
|
{
|
|
string sqlString = string.Empty;
|
|
|
|
sqlString = SQLParser.MakeSQL(
|
|
"SELECT * FROM MembersTransactionDetails WHERE MemberID = %n %q order by TranDate,TranTypeID asc",
|
|
memberID, searchCondition);
|
|
|
|
try
|
|
{
|
|
SqlConnection connection = new SqlConnection(FMConn);
|
|
connection.Open();
|
|
SqlCommand cmd = new SqlCommand(sqlString, connection);
|
|
|
|
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("An error occurred while fetching the member contribution: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//internal static DataSet GetTransactionMembers(TransactionContext tc, DateTime uploadMonth)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// string sql = string.Empty;
|
|
// sql = SQLParser.MakeSQL("SELECT * from %q WHERE TranDate = %d", ConfigurationSettings.AppSettings["vwMembersContribution"], PayrollGlobalFunctions.PayrollLastDateOfMonth(uploadMonth));
|
|
// ds = tc.ExecuteDataSet(sql);
|
|
// ds.Tables[0].TableName = "MembersTransactions";
|
|
// return ds;
|
|
//}
|
|
|
|
//internal static DataSet GetTransactionIAMembers(TransactionContext tc)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// string sql = string.Empty;
|
|
// sql = SQLParser.MakeSQL("SELECT * from %q", ConfigurationSettings.AppSettings["vwIAMemberPFTransaction"]);
|
|
// ds = tc.ExecuteDataSet(sql);
|
|
// ds.Tables[0].TableName = "MembersTransactions";
|
|
// return ds;
|
|
//}
|
|
|
|
//internal static DataSet GetTransactionMembers(TransactionContext tc, string queryString)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// string sql = string.Empty;
|
|
// sql = SQLParser.MakeSQL("SELECT * from %q WHERE %q", ConfigurationSettings.AppSettings["vwMembersContribution"], queryString);
|
|
// ds = tc.ExecuteDataSet(sql);
|
|
// ds.Tables[0].TableName = "MembersTransactions";
|
|
// return ds;
|
|
//}
|
|
|
|
internal static void DeleteYearEndInterestTran(TransactionContext tc, DateTime yearEndDate)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"DELETE FROM MembersTransactionDetails WHERE TranDate BETWEEN %d AND %d AND TranTypeID in (%n,%n) ",
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(yearEndDate),
|
|
yearEndDate, EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest,
|
|
EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest);
|
|
}
|
|
|
|
internal static DataSet GetGFProvissionMember(TransactionContext tc, DateTime month)
|
|
{
|
|
DataSet ds = new DataSet();
|
|
string sql = string.Empty;
|
|
sql = SQLParser.MakeSQL("SELECT * from vw_MonthlyGFProvision WHERE MonthYearDate = %d", month);
|
|
ds = tc.ExecuteDataSet(sql);
|
|
//ds.Tables[0].TableName = "MembersMonthlyGFProvision";
|
|
return ds;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Delete function
|
|
|
|
internal static void Delete(TransactionContext tc, int TranID)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM MembersTransactionDetails WHERE TranID=%n", TranID);
|
|
}
|
|
|
|
internal static void DeleteMemberSettlement(TransactionContext tc, int TranID, int memberID)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM MembersTransactionDetails WHERE TranID=%n and MemberID =%n", TranID,
|
|
memberID);
|
|
}
|
|
|
|
internal static void DeleteGFMemberSettlement(TransactionContext tc, int memberID, DateTime tranDate,
|
|
decimal amount, int projectID)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"DELETE FROM MembersTransactionDetails WHERE MemberID =%n AND TranDate=%d AND Amount=%n and ProjectID=%n",
|
|
memberID, tranDate, amount, projectID);
|
|
}
|
|
|
|
#endregion
|
|
|
|
internal static bool ISExistMonth(TransactionContext tc, DateTime month, int fundID, int tranID, int fundtypeid)
|
|
{
|
|
string sSQL = SQLParser.MakeSQL(@"SELECT COUNT(*) FROM MembersTransactionDetails WHERE TranDate = %d
|
|
and FundTypeID = %n AND TranTypeID = %n AND ProjectID=%n", month, fundID, tranID, fundtypeid);
|
|
object ob = tc.ExecuteScalar(sSQL);
|
|
return Convert.ToInt32(ob) > 0;
|
|
}
|
|
|
|
internal static bool IsExistMemberContribution(TransactionContext tc, int memberID, DateTime month, int fundID,
|
|
int tranID, int fundtypeid)
|
|
{
|
|
object ob = tc.ExecuteScalar(@"SELECT COUNT(*) FROM MembersTransactionDetails WHERE MemberID =%n AND
|
|
TranDate = %d and FundTypeID = %n AND TranTypeID = %n AND ProjectID=%n", memberID, month, fundID, tranID,
|
|
fundtypeid);
|
|
return Convert.ToInt32(ob) > 0;
|
|
}
|
|
|
|
internal static bool ISExist(TransactionContext tc, string tableName, int fundtypeid)
|
|
{
|
|
string sql = string.Empty;
|
|
sql = SQLParser.MakeSQL("SELECT COUNT(*) FROM %q WHERE ProjectID=%n", tableName, fundtypeid);
|
|
object ob = tc.ExecuteScalar(sql);
|
|
return Convert.ToInt32(ob) > 0;
|
|
}
|
|
|
|
internal static bool IsExist(TransactionContext tc, int projectID)
|
|
{
|
|
string sql = string.Empty;
|
|
//DateTime dt = Convert.ToDateTime("28 Feb 2007"); //("2/28/2007");
|
|
//sql = SQLParser.MakeSQL("SELECT Count(*) FROM MembersTransactionDetails WHERE ProjectID = %n AND TranTypeID = %n and TranDate = %d ", projectID, 3, Convert.ToDateTime("28 Feb 2007"));
|
|
sql = SQLParser.MakeSQL(
|
|
"SELECT Count(*) FROM MembersTransactionDetails WHERE ProjectID = %n AND TranTypeID = %n and TranDate = %d ",
|
|
projectID, 3,
|
|
Convert.ToDateTime("31 Dec 2011"));
|
|
object ob = tc.ExecuteScalar(sql);
|
|
return Convert.ToInt32(ob) > 0;
|
|
}
|
|
|
|
|
|
internal static DataSet GetTranAmount(TransactionContext tc, int EmpID, DateTime dtYearEnd)
|
|
{
|
|
DataSet oBonusPaySlip = new DataSet();
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string trantypeOpeC = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string opeInterestEPF = Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest);
|
|
string opeInterestCPF = Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest);
|
|
|
|
|
|
string sSQL = SQLParser.MakeSQL(
|
|
@"Select (aa.EPF - aa.EPFWithdrawal) EPF,(aa.CPF - aa.CPFWithdrawal) CPF,EPFINTEREST,CPFINTEREST,(aa.CUREPF - aa.CUREPFWithdrawal) CUREPF,
|
|
(aa.CURCPF - aa.CURCPFWithdrawal) CURCPF,CUREPFInterest,CURCPFInterest From
|
|
(SELECT
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) and TranDate <= %d THEN Amount ELSE 0 END) EPF,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) and TranDate <= %d THEN Amount ELSE 0 END) CPF,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId = %n and TranDate <= %d THEN Amount ELSE 0 END) EPFWithdrawal,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId = %n and TranDate <= %d THEN Amount ELSE 0 END) CPFWithdrawal,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) and TranDate <= %d THEN Amount ELSE 0 END) EPFINTEREST,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) and TranDate <= %d THEN Amount ELSE 0 END) CPFINTEREST,
|
|
SUM(CASE WHEN FundTypeID =%n AND TranTypeID in (%q) AND TranDate > %d THEN Amount ELSE 0 END) CUREPF,
|
|
SUM(CASE WHEN FundTypeID =%n AND TranTypeID in (%q) AND TranDate > %d THEN Amount ELSE 0 END) CURCPF,
|
|
SUM(CASE WHEN FundTypeID =%n AND TranTypeID =%n AND TranDate > %d THEN Amount ELSE 0 END) CUREPFWithdrawal,
|
|
SUM(CASE WHEN FundTypeID =%n AND TranTypeID =%n AND TranDate > %d THEN Amount ELSE 0 END) CURCPFWithdrawal,
|
|
SUM(CASE WHEN FundTypeID =%n AND TranTypeID in (%q) AND TranDate > %d THEN Amount ELSE 0 END) CUREPFInterest,
|
|
SUM(CASE WHEN FundTypeID =%n AND TranTypeID in (%q) AND TranDate > %d THEN Amount ELSE 0 END) CURCPFInterest
|
|
from MembersTransactionDetails where MemberID=%n) aa",
|
|
(int)EnumFundType.PF_EPF, tranTypeOpeE,
|
|
dtYearEnd, (int)EnumFundType.PF_CPF, trantypeOpeC, dtYearEnd, (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
dtYearEnd, (int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund, dtYearEnd,
|
|
(int)EnumFundType.PF_EPF,
|
|
opeInterestEPF, dtYearEnd, (int)EnumFundType.PF_CPF, opeInterestCPF, dtYearEnd,
|
|
(int)EnumFundType.PF_EPF,
|
|
tranTypeOpeE, dtYearEnd, (int)EnumFundType.PF_CPF,
|
|
trantypeOpeC, dtYearEnd, (int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
dtYearEnd, (int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund, dtYearEnd,
|
|
(int)EnumFundType.PF_EPF, opeInterestEPF, dtYearEnd,
|
|
(int)EnumFundType.PF_CPF, opeInterestCPF, dtYearEnd, EmpID);
|
|
oBonusPaySlip = tc.ExecuteDataSet(sSQL);
|
|
return oBonusPaySlip;
|
|
}
|
|
|
|
internal static DataSet GetTranAmount(TransactionContext tc, string memberID, DateTime dtFirst, DateTime dtLast)
|
|
{
|
|
DataSet rootDataset = new DataSet();
|
|
DataSet tempdataset = new DataSet();
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string trantypeOpeC = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string sSQLLive = SQLParser.MakeSQL(@"
|
|
Select * from
|
|
(SELECT mem.EmpCode,mem.Name,memTran.memberID ,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS EPFINTERESTMon,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CPFINTERESTMon,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CUREPF,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CURCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CUREPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CURCPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLEPF,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLCPF
|
|
from MemberDetail mem
|
|
inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
where memTran.MemberID in(%q)
|
|
group by memTran.MemberID,mem.EmpCode,mem.Name)A
|
|
", (int)EnumFundType.PF_EPF, tranTypeOpeE, dtFirst, (int)EnumFundType.PF_CPF, trantypeOpeC,
|
|
dtFirst, (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest, dtFirst, (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
dtFirst, (int)EnumFundType.PF_EPF, EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest, dtFirst,
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest,
|
|
dtFirst, (int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund, dtFirst,
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund,
|
|
dtFirst, (int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest, dtFirst,
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
dtFirst, (int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund, dtFirst,
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund,
|
|
dtFirst, memberID);
|
|
tempdataset = tc.ExecuteDataSet(sSQLLive);
|
|
tempdataset.Tables[0].TableName = "Member";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
#region Old Code
|
|
|
|
// memberID = "";
|
|
// var Resigningmember = (from mem in members
|
|
// where mem.Status == EnumEmpStatus.Setteled
|
|
// select mem);
|
|
|
|
// foreach (var mem in Resigningmember)
|
|
// {
|
|
// if (memberID == "")
|
|
// {
|
|
// memberID = mem.ID.ToString();
|
|
// }
|
|
// else if (memberID != "")
|
|
// {
|
|
// memberID = memberID + "," + mem.ID.ToString();
|
|
// }
|
|
// }
|
|
// if (memberID != "")
|
|
// {
|
|
// string sSQLResigning = SQLParser.MakeSQL(@"
|
|
// SELECT FS.EmpCode,mem.Name,memTran.memberID ,
|
|
// SUM(CASE WHEN memTran.FundTypeId= 1 and memTran.TranTypeId in (3,1) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
// SUM(CASE WHEN memTran.FundTypeId= 2 and memTran.TranTypeId in (4,2) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
// SUM(CASE WHEN memTran.FundTypeId= 1 and memTran.TranTypeId =5 and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
// SUM(CASE WHEN memTran.FundTypeId= 2 and memTran.TranTypeId =6 and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
// SUM(CASE WHEN memTran.FundTypeID =1 AND memTran.TranTypeID =1 AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CUREPF,
|
|
// SUM(CASE WHEN memTran.FundTypeID =2 AND memTran.TranTypeID =2 AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CURCPF,
|
|
// SUM(CASE WHEN memTran.FundTypeID =1 AND memTran.TranTypeID =5 AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CUREPFINTEREST,
|
|
// SUM(CASE WHEN memTran.FundTypeID =2 AND memTran.TranTypeID =6 AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS CURCPFINTEREST,
|
|
// SUM(CASE WHEN memTran.FundTypeID =1 AND memTran.TranTypeID =22 AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLEPF,
|
|
// SUM(CASE WHEN memTran.FundTypeID =2 AND memTran.TranTypeID =23 AND memTran.TranDate > %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLCPF
|
|
// from MemberDetail mem
|
|
// inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
// inner join FinalSettlement FS on mem.MemberID = FS.MemberID
|
|
// where FS.MemberID in(%q) and FS.SettlementDate between %d and %d group by memTran.MemberID,mem.EmpCode,mem.Name",
|
|
// dtFirst, dtFirst, dtFirst, dtFirst, dtFirst, dtFirst, dtFirst, dtFirst, dtFirst,
|
|
// dtFirst, memberID,dtFirst,dtLast);
|
|
// tempdataset = tc.ExecuteDataSet(sSQLResigning);
|
|
// tempdataset.Tables[0].TableName = "ResigningMember";
|
|
// rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
// }
|
|
|
|
#endregion
|
|
|
|
return rootDataset;
|
|
}
|
|
|
|
internal static IDataReader GetMembersAccount(TransactionContext tc, string smemberId, DateTime fromMonth,
|
|
DateTime toMonth, EnumMemberDvdntDuration divDuration)
|
|
{
|
|
int firstMonth = fromMonth.Month;
|
|
string sSQL = string.Empty;
|
|
int ntoMonth = 0;
|
|
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string trantypeOpeC = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string fundtype =
|
|
Convert.ToString((int)EnumMemberTranType
|
|
.Contribution_Of_Employee_Provident_Fund); // +"," + Convert.ToString((int)EnumMemberTranType.Contribution_Of_CPF);
|
|
string withdrawal = Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund);
|
|
string opeWithdrawalInterest = Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest);
|
|
|
|
if (divDuration == EnumMemberDvdntDuration.Half_Yearly)
|
|
{
|
|
ntoMonth = firstMonth + 5;
|
|
|
|
sSQL = SQLParser.MakeSQL(@"SELECT mem.EmpCode,mem.Name,memTran.memberID ,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS firstCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SecondCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS thiredCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FourthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FifthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SixthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%q)AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLPrin,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate = %d THEN memTran.Amount ELSE 0 END )AS EPFYearEndInterest,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate = %d THEN memTran.Amount ELSE 0 END )AS CPFYearEndInterest
|
|
from MemberDetail mem
|
|
inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
where memTran.MemberID in(%q) group by memTran.MemberID,mem.EmpCode,mem.Name
|
|
order by memTran.MemberID", (int)EnumFundType.PF_EPF, tranTypeOpeE,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth), (int)EnumFundType.PF_CPF, trantypeOpeC,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(1)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(1)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(2)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(2)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(3)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(3)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(4)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(4)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(toMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), fundtype, withdrawal,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), smemberId);
|
|
}
|
|
else if (divDuration == EnumMemberDvdntDuration.Yearly)
|
|
{
|
|
sSQL = SQLParser.MakeSQL(@"SELECT mem.EmpCode,mem.Name,memTran.memberID ,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate <%d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS firstCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SecondCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS thiredCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FourthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FifthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SixthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SeventhCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS EigthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS NinthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS TenthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS EleventhCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS TwelvthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%q)AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLPrin,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate = %d THEN memTran.Amount ELSE 0 END )AS EPFYearEndInterest,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate = %d THEN memTran.Amount ELSE 0 END )AS CPFYearEndInterest
|
|
from MemberDetail mem
|
|
inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
where memTran.MemberID in(%q) group by memTran.MemberID,mem.EmpCode,mem.Name
|
|
order by memTran.MemberID", (int)EnumFundType.PF_EPF, tranTypeOpeE,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth), (int)EnumFundType.PF_CPF, trantypeOpeC,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(1)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(1)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(2)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(2)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(3)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(3)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(4)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(4)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(5)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(5)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(6)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(6)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(7)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(7)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(8)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(8)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(9)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(9)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth.AddMonths(10)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(fromMonth.AddMonths(10)),
|
|
fundtype, (int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(toMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), fundtype, withdrawal,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(fromMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(toMonth), smemberId);
|
|
}
|
|
|
|
return tc.ExecuteReader(sSQL);
|
|
}
|
|
|
|
internal static IDataReader GetMembersEPFCPF(TransactionContext tc, int EmpID, DateTime dateTime)
|
|
{
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string trantypeOpeC = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string EPFInterest = Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest);
|
|
string CPFInterest = Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest);
|
|
|
|
string sSQL = SQLParser.MakeSQL(
|
|
@" Select (a.EPF - IsNUll(a.EPFWithdrawal,0))as EPF,(a.CPF - IsNull(a.CPFWithdrawal,0)) as CPF,
|
|
(a.EPFInterest - a.EPFInterestWithdrawal)as EPFInterest,(a.CPFInterest - a.CPFInterestWithdrawal)as CPFInterest
|
|
From (SELECT
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%n) and memTran.TranDate <= %d THEN memTran.Amount ELSE 0 END) AS EPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%n) and memTran.TranDate <= %d THEN memTran.Amount ELSE 0 END) AS CPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFInterest,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFInterest,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%n) and memTran.TranDate <= %d THEN memTran.Amount ELSE 0 END) AS EPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%n) and memTran.TranDate <= %d THEN memTran.Amount ELSE 0 END) AS CPFInterestWithdrawal
|
|
from MembersTransactionDetails memTran where memTran.MemberID in(%q)) a",
|
|
(int)EnumFundType.PF_EPF, tranTypeOpeE, PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime),
|
|
(int)EnumFundType.PF_CPF, trantypeOpeC, PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime),
|
|
(int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund, PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime),
|
|
(int)EnumFundType.PF_EPF, EPFInterest, PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime),
|
|
(int)EnumFundType.PF_CPF, CPFInterest,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest, PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime),
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(dateTime), EmpID);
|
|
|
|
return tc.ExecuteReader(sSQL);
|
|
}
|
|
|
|
internal static IDataReader GetMembersAccountBeforeAfterAudit(TransactionContext tc, string smemberId,
|
|
DateTime Fromdate, DateTime Todate, EnumMemberDvdntDuration divDuration)
|
|
{
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string trantypeOpeC = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string fundtype = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string withdrawal = Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund);
|
|
string sSQL = string.Empty;
|
|
|
|
if (divDuration == EnumMemberDvdntDuration.Yearly)
|
|
{
|
|
sSQL = SQLParser.MakeSQL(
|
|
@"Select FS.EmpCode,mem.Name,memTran.memberID ,FS.SettlementDate as ResignationDate,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS firstCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SecondCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS thiredCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FourthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FifthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SixthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SeventhCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS EigthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS NinthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS TenthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS EleventhCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS TwelvthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLEPFPrin,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLCPFPrin,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLEPFInterestPrin,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLCPFInterestPrin
|
|
from MemberDetail mem
|
|
inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
inner join FinalSettlement FS on mem.MemberID = FS.MemberID
|
|
where FS.MemberID in(%q) AND FS.SettlementDate between %d and %d
|
|
group by memTran.MemberID,FS.EmpCode,mem.Name,FS.SettlementDate
|
|
order by memTran.MemberID", (int)EnumFundType.PF_EPF, tranTypeOpeE,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate), (int)EnumFundType.PF_CPF, trantypeOpeC,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(1)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(1)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(2)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(2)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(3)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(3)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(4)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(4)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(5)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(5)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(6)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(6)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(7)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(7)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(8)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(8)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(9)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(9)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(10)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(10)),
|
|
fundtype, (int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Todate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), smemberId,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate));
|
|
}
|
|
else if (divDuration == EnumMemberDvdntDuration.Half_Yearly)
|
|
{
|
|
sSQL = SQLParser.MakeSQL(
|
|
@"Select FS.EmpCode,mem.Name,memTran.memberID ,FS.SettlementDate as ResignationDate,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS firstCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SecondCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS thiredCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FourthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS FifthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeID in(%q) AND memTran.TranTypeID in(%n) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS SixthCUREPFCPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLEPFPrin,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLCPFPrin,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLEPFInterestPrin,
|
|
SUM(CASE WHEN memTran.FundTypeID =%n AND memTran.TranTypeID =%n AND memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS WITHDRAWLCPFInterestPrin
|
|
from MemberDetail mem
|
|
inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
inner join FinalSettlement FS on mem.MemberID = FS.MemberID
|
|
where FS.MemberID in(%q) AND FS.SettlementDate between %d and %d
|
|
group by memTran.MemberID,FS.EmpCode,mem.Name,FS.SettlementDate
|
|
order by memTran.MemberID", (int)EnumFundType.PF_EPF, tranTypeOpeE,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate), (int)EnumFundType.PF_CPF, trantypeOpeC,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
(int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(1)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(1)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(2)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(2)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(3)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(3)), fundtype,
|
|
(int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate.AddMonths(4)),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Fromdate.AddMonths(4)),
|
|
fundtype, (int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Todate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate), smemberId,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(Todate));
|
|
}
|
|
|
|
return tc.ExecuteReader(sSQL);
|
|
}
|
|
|
|
internal static double GetOpeningBalance(TransactionContext tc, int memberID, int fundType, DateTime FromDate)
|
|
{
|
|
string sql = string.Empty;
|
|
sql = SQLParser.MakeSQL(@"SELECT SUM(Amount) AS OpeningBalance
|
|
FROM MembersTransactionDetails
|
|
WHERE MemberID = %n AND FundTypeID = %n AND TranDate< %d;", memberID, fundType,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(FromDate));
|
|
|
|
|
|
|
|
object ob = tc.ExecuteScalar(sql);
|
|
|
|
double amount = 0;
|
|
if (ob != DBNull.Value)
|
|
{
|
|
amount = Convert.ToDouble(ob);
|
|
}
|
|
|
|
return amount;
|
|
}
|
|
|
|
internal static double GetOpeningBalance(int memberID, int fundType, DateTime FromDate, string FMConn)
|
|
{
|
|
object ob = new object();
|
|
double amount = 0;
|
|
|
|
try
|
|
{
|
|
using (SqlConnection connection = new SqlConnection(FMConn))
|
|
{
|
|
connection.Open();
|
|
string commandText = @"SELECT SUM(Amount) AS OpeningBalance
|
|
FROM MembersTransactionDetails
|
|
WHERE MemberID = @memberid AND FundTypeID = @fundtype AND TranDate< @trandate; ";
|
|
|
|
SqlCommand cmd = new SqlCommand();
|
|
cmd.CommandText = commandText;
|
|
cmd.Connection = connection;
|
|
|
|
|
|
//cmd.Parameters.Add("memberid", SqlDbType.Int);
|
|
//cmd.Parameters["memberid"].Value = memberID;
|
|
|
|
//cmd.Parameters.Add("fundtype", SqlDbType.Int);
|
|
//cmd.Parameters["fundtype"].Value = fundType;
|
|
|
|
//cmd.Parameters.Add("trandate", SqlDbType.DateTime);
|
|
//cmd.Parameters["trandate"].Value = PayrollGlobalFunctions.PayrollFirstDateOfMonth(FromDate);
|
|
|
|
cmd.Parameters.AddWithValue("@memberid", memberID);
|
|
cmd.Parameters.AddWithValue("@fundtype", fundType);
|
|
cmd.Parameters.AddWithValue("@trandate", PayrollGlobalFunctions.PayrollFirstDateOfMonth(FromDate));
|
|
|
|
|
|
cmd.Connection = connection;
|
|
|
|
ob = cmd.ExecuteScalar();
|
|
cmd.Dispose();
|
|
connection.Close();
|
|
|
|
if (ob != DBNull.Value && ob != null)
|
|
{
|
|
amount = Convert.ToDouble(ob);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return amount;
|
|
}
|
|
|
|
internal static double GetSettledInterest(TransactionContext tc, int memberID)
|
|
{
|
|
string sql = string.Empty;
|
|
sql = SQLParser.MakeSQL(@"select SUM(Amount)as OpeningBalance from dbo.MembersTransactionDetails
|
|
where MemberID = %n and TranTypeID (%n, %n)", memberID,
|
|
EnumMemberTranType.Settlement_Interest_Employee_Provident_Fund, EnumMemberTranType.Settlement_Interest_Company_Provident_Fund);
|
|
object ob = tc.ExecuteScalar(sql);
|
|
|
|
double amount = 0;
|
|
if (ob != DBNull.Value)
|
|
{
|
|
amount = Convert.ToDouble(ob);
|
|
}
|
|
|
|
return amount;
|
|
}
|
|
|
|
internal static DataSet GetOpeningBalance(TransactionContext tc, string memberID, int fundType,
|
|
DateTime FromDate)
|
|
{
|
|
DataSet oOpeningBalance = new DataSet();
|
|
string sSQL = SQLParser.MakeSQL(
|
|
@"select memD.MemberID,mem.EmpCode,mem.Name,SUM(memD.Amount)as OpeningBalance from dbo.MemberDetail mem
|
|
inner join dbo.MembersTransactionDetails memD on mem.MemberID = memD.MemberID
|
|
where mem.MemberID in(%q) and memD.FundTypeID = %n And memD.TranDate < %d
|
|
Group by memD.MemberID,mem.EmpCode,mem.Name order by memD.MemberID",
|
|
memberID, fundType, PayrollGlobalFunctions.PayrollFirstDateOfMonth(FromDate));
|
|
|
|
oOpeningBalance = tc.ExecuteDataSet(sSQL);
|
|
return oOpeningBalance;
|
|
}
|
|
|
|
internal static DataSet GetMembersYearlyBalance(TransactionContext tc, DateTime FromDate, DateTime ToDate)
|
|
{
|
|
DataSet rootDataset = new DataSet();
|
|
DataSet tempdataset = new DataSet();
|
|
try
|
|
{
|
|
string opeEPFInterest = Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest)
|
|
+ "," + Convert.ToString((int)EnumMemberTranType.Settlement_Interest_Employee_Provident_Fund);
|
|
string opeCPFInterest = Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest)
|
|
+ "," + Convert.ToString((int)EnumMemberTranType.Settlement_Interest_Company_Provident_Fund);
|
|
string opeEPFQuery = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string OpeCPFQuery = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
string sSQLOpe = SQLParser.MakeSQL(
|
|
@"Select aa.MemberID,(aa.EPF - aa.EPFWithdrawal) EPF,(aa.CPF - aa.CPFWithdrawal) CPF From
|
|
(Select memTran.MemberID,
|
|
SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId in (%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFWithdrawal
|
|
from MembersTransactionDetails memTran
|
|
inner join MemberDetail md on memTran.MemberID = md.MemberID
|
|
WHERE memTran.TranDate < %d
|
|
group by memTran.MemberID,md.EmpCode)aa order by aa.MemberID",
|
|
(int)EnumFundType.PF_EPF, opeEPFQuery, FromDate, (int)EnumFundType.PF_CPF, OpeCPFQuery, FromDate,
|
|
(int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund, FromDate,
|
|
(int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund, FromDate, FromDate);
|
|
|
|
tempdataset = tc.ExecuteDataSet(sSQLOpe);
|
|
tempdataset.Tables[0].TableName = "OpeningBalance";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
string OpeEPFInterestQuery = SQLParser.MakeSQL(
|
|
@"Select aa.MemberID,(aa.EPFINTEREST - aa.EPFInterestWithdrawal) EPFINTEREST,(aa.CPFINTEREST - aa.CPFInterestWithdrawal) CPFINTEREST From
|
|
(Select memTran.MemberID,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in(%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in(%q) and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFInterestWithdrawal
|
|
from MembersTransactionDetails memTran
|
|
inner join MemberDetail md on memTran.MemberID = md.MemberID
|
|
WHERE memTran.TranDate < %d
|
|
group by memTran.MemberID,md.EmpCode )aa order by aa.MemberID",
|
|
(int)EnumFundType.PF_EPF, opeEPFInterest, FromDate, (int)EnumFundType.PF_CPF, opeCPFInterest,
|
|
FromDate, (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest, FromDate, (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest, FromDate, FromDate);
|
|
|
|
tempdataset = tc.ExecuteDataSet(OpeEPFInterestQuery);
|
|
tempdataset.Tables[0].TableName = "OpeningBalanceInterest";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
string sqlCurEPF = SQLParser.MakeSQL(@"Select memTran.MemberID,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID in (%q) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPF,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID in (%q) AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurCPF
|
|
from MembersTransactionDetails memTran
|
|
inner join MemberDetail md on memTran.MemberID = md.MemberID
|
|
WHERE memTran.TranDate between %d and %d
|
|
group by memTran.MemberID,md.EmpCode order by md.EmpCode",
|
|
(int)EnumFundType.PF_EPF, opeEPFQuery, FromDate, ToDate, (int)EnumFundType.PF_CPF, OpeCPFQuery,
|
|
FromDate, ToDate, FromDate, ToDate);
|
|
|
|
tempdataset = tc.ExecuteDataSet(sqlCurEPF);
|
|
tempdataset.Tables[0].TableName = "CurBalanceEPF";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
string sqlCurInterest = SQLParser.MakeSQL(@"Select memTran.MemberID,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in(%q) and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in(%q) and memTran.TranDate between %d And %d THEN memTran.Amount ELSE 0 END) AS CurCPFINTEREST
|
|
from MembersTransactionDetails memTran
|
|
inner join MemberDetail md on memTran.MemberID = md.MemberID
|
|
WHERE memTran.TranDate between %d and %d
|
|
group by memTran.MemberID,md.EmpCode order by md.EmpCode",
|
|
(int)EnumFundType.PF_EPF, opeEPFInterest, FromDate, ToDate, (int)EnumFundType.PF_CPF,
|
|
opeCPFInterest, FromDate, ToDate
|
|
, FromDate, ToDate);
|
|
|
|
tempdataset = tc.ExecuteDataSet(sqlCurInterest);
|
|
tempdataset.Tables[0].TableName = "CurBalanceInterest";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
// string sqlOpeningWithdrawal = SQLParser.MakeSQL(@"Select memTran.MemberID,
|
|
// SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFWithdrawal,
|
|
// SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFWithdrawal
|
|
// from MembersTransactionDetails memTran
|
|
// inner join dbo.MemberDetail md on memTran.MemberID = md.MemberID
|
|
// group by memTran.MemberID,md.EmpCode order by md.EmpCode",
|
|
// (int)EnumFundType.PF_EPF, (int)EnumMemberTranType.WithdrawlOfEPF, FromDate, (int)EnumFundType.PF_CPF, (int)EnumMemberTranType.WithdrawlOfCPF, FromDate);
|
|
|
|
// tempdataset = tc.ExecuteDataSet(sqlOpeningWithdrawal);
|
|
// tempdataset.Tables[0].TableName = "BalancePFWithdrawal";
|
|
// rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
string sqlCurPFWithdrawal = SQLParser.MakeSQL(@"Select memTran.MemberID,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurCPFWithdrawal
|
|
from MembersTransactionDetails memTran
|
|
inner join MemberDetail md on memTran.MemberID = md.MemberID
|
|
WHERE memTran.TranDate between %d and %d
|
|
group by memTran.MemberID,md.EmpCode order by md.EmpCode",
|
|
(int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund, FromDate, ToDate,
|
|
(int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund, FromDate, ToDate, FromDate, ToDate);
|
|
|
|
tempdataset = tc.ExecuteDataSet(sqlCurPFWithdrawal);
|
|
tempdataset.Tables[0].TableName = "CurBalanceWithdrawal";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
// string sqlOpeningInterestWithdrawal = SQLParser.MakeSQL(@"Select memTran.MemberID,
|
|
// SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS EPFInterestWithdrawal,
|
|
// SUM(CASE WHEN memTran.FundTypeId = %n and memTran.TranTypeId = %n and memTran.TranDate < %d THEN memTran.Amount ELSE 0 END) AS CPFInterestWithdrawal
|
|
// from MembersTransactionDetails memTran
|
|
// inner join dbo.MemberDetail md on memTran.MemberID = md.MemberID
|
|
// group by memTran.MemberID,md.EmpCode order by md.EmpCode",(int)EnumFundType.PF_EPF,
|
|
// (int)EnumMemberTranType.WithdrawlOfEPFInterest, FromDate, (int)EnumFundType.PF_CPF,
|
|
// (int)EnumMemberTranType.WithdrawlOfCPFInterest, FromDate);
|
|
|
|
// tempdataset = tc.ExecuteDataSet(sqlOpeningInterestWithdrawal);
|
|
// tempdataset.Tables[0].TableName = "OpeningInterestBalanceWithdrawal";
|
|
// rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
|
|
string sqlcurpfInterestWithdrawal = SQLParser.MakeSQL(@"Select memTran.MemberID,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurEPFInterestWithdrawal,
|
|
SUM(CASE WHEN memTran.FundTypeID = %n AND memTran.TranTypeID = %n AND memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) AS CurCPFInterestWithdrawal
|
|
from MembersTransactionDetails memTran
|
|
inner join MemberDetail md on memTran.MemberID = md.MemberID
|
|
WHERE memTran.TranDate between %d and %d
|
|
group by memTran.MemberID,md.EmpCode order by md.EmpCode", (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest,
|
|
FromDate, ToDate, (int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest,
|
|
FromDate, ToDate
|
|
, FromDate, ToDate);
|
|
|
|
tempdataset = tc.ExecuteDataSet(sqlcurpfInterestWithdrawal);
|
|
tempdataset.Tables[0].TableName = "curpfInterestBalanceWithdrawal";
|
|
rootDataset.Tables.Add(tempdataset.Tables[0].Copy());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return rootDataset;
|
|
}
|
|
|
|
internal static DataSet GetTranAmountForCalculate(TransactionContext tc, int memberID, DateTime dtYearEnd)
|
|
{
|
|
DataSet oBonusPaySlip = new DataSet();
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
|
|
string sSQL = SQLParser.MakeSQL(@"Select sum(Amount) TranAmount,TranDate from MembersTransactionDetails
|
|
where TranDate > %d And MemberID = %n And TranTypeID in(%q)
|
|
group by TranDate ", dtYearEnd, memberID, tranTypeOpeE);
|
|
|
|
oBonusPaySlip = tc.ExecuteDataSet(sSQL);
|
|
return oBonusPaySlip;
|
|
}
|
|
|
|
internal static DataSet GetTranAmountForCalculate(TransactionContext tc, int memberID, DateTime dtYearEnd,
|
|
DateTime dtMonthEnd)
|
|
{
|
|
DataSet oBonusPaySlip = new DataSet();
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
|
|
string sSQL = SQLParser.MakeSQL(@"Select sum(Amount) TranAmount,TranDate from MembersTransactionDetails
|
|
where TranDate Between %d And %d And MemberID = %n And TranTypeID in(%q)
|
|
group by TranDate ", dtYearEnd, dtMonthEnd, memberID, tranTypeOpeE);
|
|
|
|
oBonusPaySlip = tc.ExecuteDataSet(sSQL);
|
|
return oBonusPaySlip;
|
|
}
|
|
|
|
internal static IDataReader GetSettledInterest(TransactionContext tc, DateTime Trandate, string tranType,
|
|
int memberID)
|
|
{
|
|
string sqlString = string.Empty;
|
|
sqlString = SQLParser.MakeSQL(
|
|
"SELECT * FROM MembersTransactionDetails WHERE TranDate = %d AND TranTypeID in(%q) AND MemberID = %n ",
|
|
Trandate, tranType, memberID);
|
|
return tc.ExecuteReader(sqlString);
|
|
}
|
|
|
|
internal static DataSet GetIndividualPFBalance(TransactionContext tc, DateTime Fromdate, DateTime dtYearEnd,
|
|
DateTime tillDate, string sEmpID)
|
|
{
|
|
DateTime dtFrom = PayrollGlobalFunctions.PayrollFirstDateOfMonth(dtYearEnd.AddMonths(1));
|
|
DataSet oIndividualPFBalance = new DataSet();
|
|
string tranTypeOpeE = Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund);
|
|
string trantypeOpeC = Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund);
|
|
Fromdate = PayrollGlobalFunctions.PayrollFirstDateOfMonth(Fromdate);
|
|
string sSQL = SQLParser.MakeSQL(
|
|
@"SELECT mem.EmpCode,mem.Name,memTran.memberID ,mem.CurrentDesig,mem.DOJ,Max(memTran.TranDate)as Trandate,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) EPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId in (%q) and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) CPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) EPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) CPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) CurEPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) CurCPF,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) CurEPFINTEREST,
|
|
SUM(CASE WHEN memTran.FundTypeId= %n and memTran.TranTypeId =%n and memTran.TranDate between %d and %d THEN memTran.Amount ELSE 0 END) CurCPFINTEREST
|
|
from MemberDetail mem
|
|
inner join MembersTransactionDetails memTran on mem.MemberID = memTran.MemberID
|
|
where memTran.MemberID in(%q)
|
|
group by memTran.MemberID,mem.EmpCode,mem.Name,mem.CurrentDesig,mem.DOJ
|
|
order by memTran.MemberID", (int)EnumFundType.PF_EPF, tranTypeOpeE, Fromdate, dtYearEnd,
|
|
(int)EnumFundType.PF_CPF, trantypeOpeC, Fromdate, dtYearEnd, (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest, Fromdate, dtYearEnd, (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest,
|
|
Fromdate, dtYearEnd, (int)EnumFundType.PF_EPF, (int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund, dtFrom,
|
|
tillDate, (int)EnumFundType.PF_CPF,
|
|
(int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund, dtFrom, tillDate, (int)EnumFundType.PF_EPF,
|
|
(int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest,
|
|
dtFrom, tillDate, (int)EnumFundType.PF_CPF, (int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest, dtFrom,
|
|
tillDate, sEmpID);
|
|
|
|
oIndividualPFBalance = tc.ExecuteDataSet(sSQL);
|
|
return oIndividualPFBalance;
|
|
}
|
|
|
|
internal static DataSet GetFunds(TransactionContext tc, int MembersID)
|
|
{
|
|
string ssql = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest);
|
|
string sSQL =
|
|
SQLParser.MakeSQL("SELECT * FROM MembersTransactionDetails WHERE MemberID=%n And TranTypeID in(%q)",
|
|
MembersID, ssql);
|
|
DataSet ds = tc.ExecuteDataSet(sSQL);
|
|
return ds;
|
|
}
|
|
|
|
internal static DataSet GetMemberContribution2(TransactionContext tc, int memberID, string Date)
|
|
{
|
|
DataSet oIndividualPFBalance = new DataSet();
|
|
|
|
string sEpf = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund);
|
|
string sCpf = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund);
|
|
string sEpfInterest = Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest)
|
|
+ "," + Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest + "," +
|
|
Convert.ToString((int)EnumMemberTranType
|
|
.Settlement_Interest_Employee_Provident_Fund));
|
|
string sCpfInterest = Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest)
|
|
+ "," + Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest + "," +
|
|
Convert.ToString((int)EnumMemberTranType
|
|
.Settlement_Interest_Company_Provident_Fund));
|
|
|
|
string sSQL = SQLParser.MakeSQL(@"SELECT
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) %q THEN Amount ELSE 0 END) AS EPF,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) %q THEN Amount ELSE 0 END) AS CPF,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) %q THEN Amount ELSE 0 END) AS EPFINTEREST,
|
|
SUM(CASE WHEN FundTypeId= %n and TranTypeId in (%q) %q THEN Amount ELSE 0 END) AS CPFINTEREST
|
|
from MembersTransactionDetails where MemberID=%n",
|
|
(int)EnumFundType.PF_EPF, sEpf, Date, (int)EnumFundType.PF_CPF, sCpf, Date, (int)EnumFundType.PF_EPF,
|
|
sEpfInterest,
|
|
Date, (int)EnumFundType.PF_CPF, sCpfInterest, Date, memberID);
|
|
|
|
oIndividualPFBalance = tc.ExecuteDataSet(sSQL);
|
|
return oIndividualPFBalance;
|
|
}
|
|
|
|
internal static DateTime GetMonth(TransactionContext tc, int memberID)
|
|
{
|
|
string sql = string.Empty;
|
|
sql = SQLParser.MakeSQL(@"Select Max(TranDate)as TranDate from MembersTransactionDetails where MemberID=%n",
|
|
memberID);
|
|
|
|
object ob = tc.ExecuteScalar(sql);
|
|
DateTime dt = DateTime.MinValue;
|
|
if (ob != DBNull.Value)
|
|
{
|
|
dt = Convert.ToDateTime(ob);
|
|
}
|
|
|
|
return dt;
|
|
}
|
|
|
|
internal static double GetCurBalance(TransactionContext tc, int memberID, DateTime balanceMonth)
|
|
{
|
|
string sql = string.Empty;
|
|
string sBalance = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest);
|
|
//+"," + Convert.ToString((int)EnumMemberTranType.Yearly_Actual_EPF_Interest) + "," + Convert.ToString((int)EnumMemberTranType.Yearly_Actual_CPF_Interest);
|
|
|
|
string sDeductBalance = Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Settlement_Interest_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Settlement_Interest_Company_Provident_Fund);
|
|
|
|
sql = SQLParser.MakeSQL(@"SELECT (Balance - DeductBalance)AS OpeningBalance from
|
|
(select
|
|
SUM(Case when TranTypeID in(%q) AND TranDate between %d And %d THEN Amount ELSE 0 End)as Balance ,
|
|
SUM(CASE WHEN TranTypeID IN(%q) AND TranDate between %d And %d THEN Amount ELSE 0 End)AS DeductBalance
|
|
from dbo.MembersTransactionDetails
|
|
where MemberID = %n)AS tab1", sBalance,
|
|
PayrollGlobalFunctions.PayrollFirstDateOfMonth(balanceMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(balanceMonth),
|
|
sDeductBalance, PayrollGlobalFunctions.PayrollFirstDateOfMonth(balanceMonth),
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(balanceMonth),
|
|
memberID);
|
|
object ob = tc.ExecuteScalar(sql);
|
|
|
|
double amount = 0;
|
|
if (ob != DBNull.Value)
|
|
{
|
|
amount = Convert.ToDouble(ob);
|
|
}
|
|
|
|
return amount;
|
|
}
|
|
|
|
internal static double GetOpeningBalance(TransactionContext tc, int memberID, DateTime balanceMonth)
|
|
{
|
|
string sql = string.Empty;
|
|
string sBalance = Convert.ToString((int)EnumMemberTranType.Contribution_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Contribution_Of_Company_Provident_Fund) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Opening_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Company_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Monthly_Actual_Company_Provident_Fund_Interest) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Opening_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Opening_Actual_Company_Provident_Fund_Interest) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Yearly_Actual_Company_Provident_Fund_Interest);
|
|
|
|
string sDeductBalance = Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Employee_Provident_Fund_Interest) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Withdrawl_Of_Company_Provident_Fund_Interest) +
|
|
"," + Convert.ToString((int)EnumMemberTranType.Settlement_Interest_Employee_Provident_Fund) + "," +
|
|
Convert.ToString((int)EnumMemberTranType.Settlement_Interest_Company_Provident_Fund);
|
|
|
|
sql = SQLParser.MakeSQL(@"SELECT (Balance - DeductBalance)AS OpeningBalance from
|
|
(select
|
|
SUM(Case when TranTypeID in(%q) AND TranDate <=%d THEN Amount ELSE 0 End)as Balance ,
|
|
SUM(CASE WHEN TranTypeID IN(%q) AND TranDate <=%d THEN Amount ELSE 0 End)AS DeductBalance
|
|
from dbo.MembersTransactionDetails
|
|
where MemberID = %n)AS tab1", sBalance,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(balanceMonth), sDeductBalance,
|
|
PayrollGlobalFunctions.PayrollLastDateOfMonth(balanceMonth),
|
|
memberID);
|
|
object ob = tc.ExecuteScalar(sql);
|
|
|
|
double amount = 0;
|
|
if (ob != DBNull.Value)
|
|
{
|
|
amount = Convert.ToDouble(ob);
|
|
}
|
|
|
|
return amount;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
} |