229 lines
9.1 KiB
C#
229 lines
9.1 KiB
C#
using System;
|
|
using Ease.Core.Model;
|
|
using Ease.Core.DataAccess;
|
|
using HRM.BO;
|
|
using Ease.Core.Utility;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using NPOI.SS.Formula.Functions;
|
|
using static iTextSharp.text.pdf.PdfDocument;
|
|
|
|
|
|
namespace HRM.DA
|
|
{
|
|
internal class EmployeeTaxInvestmentDA
|
|
{
|
|
#region Constructor
|
|
|
|
private EmployeeTaxInvestmentDA()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Insert function
|
|
|
|
internal static void Insert(TransactionContext tc, EmployeeTaxInvestment item)
|
|
{
|
|
|
|
|
|
|
|
tc.ExecuteNonQuery(
|
|
"INSERT INTO ITINVESTMENT(InvestmentID, employeeID, amount, taxParamID, typeID, CreatedBy, CreationDate, SequenceNo, Status, EntryFrom, taxeffectDone)" +
|
|
" VALUES(%n, %n, %n, %n, %n, %n, %d, %n, %n, %n, %n)", item.ID, item.EmployeeID, item.Amount,
|
|
item.TaxparameterId, item.TypeID, item.CreatedBy, item.CreatedDate,
|
|
item.Sequence, item.Status, item.EntryFrom, item.submitStatus);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Update function
|
|
|
|
internal static void Update(TransactionContext tc, EmployeeTaxInvestment item)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"UPDATE ITINVESTMENT SET employeeID=%n, amount=%n, taxParamID=%n, typeID=%n, ModifiedBy=%n, ModifiedDate=%d, SequenceNo=%n, Status=%n" +
|
|
" , EntryFrom=%n, taxeffectDone=%n WHERE InvestmentID=%n", item.EmployeeID, item.Amount, item.TaxparameterId, item.TypeID,
|
|
item.ModifiedBy, item.ModifiedDate, item.Sequence, item.Status, item.EntryFrom, item.submitStatus, item.ID);
|
|
}
|
|
|
|
internal static void Approve(TransactionContext tc, EmployeeTaxInvestment item)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"UPDATE ITINVESTMENT SET ModifiedBy=%n, ModifiedDate=%d" +
|
|
" ,taxeffectDone=%n WHERE InvestmentID=%n", item.ModifiedBy, item.ModifiedDate,
|
|
item.submitStatus, item.ID);
|
|
}
|
|
|
|
internal static DataTable getSummaryView(TransactionContext tc, int taxparamid)
|
|
{
|
|
return tc.ExecuteDataTable(
|
|
@"select e.employeeNo employeeno, e.NAME name, d.NAME designation, ISNULL(a.ess, 0) fromess,
|
|
ISNULL(b.admin, 0) fromadmin,
|
|
ISNULL(a.ess, 0) + ISNULL(b.admin, 0) total , Round(ISNULL(c.investmentallowed , 0 ) -ISNULL(f.pfAmount , 0 ) *2,0) investmentallowed from
|
|
Employee e left outer join
|
|
(
|
|
select EMPLOYEEID, sum(Amount) ess from ITINVESTMENT where entryFrom = 1 and TAXPARAMID = %n
|
|
and taxeffectDone=%n group by EMPLOYEEID) a on e.EMPLOYEEID = a.EMPLOYEEID
|
|
left outer join
|
|
(
|
|
select EMPLOYEEID, sum(Amount) admin from ITINVESTMENT where entryFrom = 2 and TAXPARAMID = %n
|
|
and taxeffectDone=%n group by EMPLOYEEID) b on b.EMPLOYEEID = e.EMPLOYEEID
|
|
left outer join DESIGNATION d on e.DESIGNATIONID = d.DESIGNATIONID
|
|
left outer join
|
|
(
|
|
select EMPLOYEEID, ISNULL( sum(THISYEARTOTAL), 0 ) investmentallowed from INCOMETAXTEMP where ITEMCODE =-220
|
|
group by EMPLOYEEID ) c on c.EMPLOYEEID = e.EMPLOYEEID
|
|
left outer join
|
|
(
|
|
select EMPLOYEEID, ISNULL( sum(THISYEARTOTAL), 0 ) pfAmount from INCOMETAXTEMP where ITEMCODE =-207
|
|
group by EMPLOYEEID ) f on f.EMPLOYEEID = e.EMPLOYEEID
|
|
where e.STATUS = 1
|
|
", taxparamid, EnumTaxInvestmentStatus.Approve, taxparamid, EnumTaxInvestmentStatus.Approve);
|
|
}
|
|
|
|
|
|
|
|
internal static void Reject(TransactionContext tc, EmployeeTaxInvestment item)
|
|
{
|
|
tc.ExecuteNonQuery(
|
|
"UPDATE ITINVESTMENT SET rejectReason=%s, ModifiedBy=%n, ModifiedDate=%d" +
|
|
" ,taxeffectDone=%n WHERE InvestmentID=%n", item.rejectReason, item.ModifiedBy, item.ModifiedDate,
|
|
item.submitStatus, item.ID);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Get Function
|
|
|
|
internal static IDataReader Get(TransactionContext tc)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM ITINVESTMENT");
|
|
}
|
|
|
|
internal static IDataReader Get(TransactionContext tc, int nID)
|
|
{
|
|
return tc.ExecuteReader("SELECT * FROM ITINVESTMENT WHERE InvestmentID=%n", nID);
|
|
}
|
|
|
|
internal static double GetAmount(TransactionContext tc, int nTaxParamID, int nEmployeeID)
|
|
{
|
|
object InvestAmount =
|
|
tc.ExecuteScalar("SELECT Sum(amount) Amount FROM ITINVESTMENT WHERE taxParamID=%n AND employeeID=%n"
|
|
+ " AND taxeffectDone=%n ", nTaxParamID, nEmployeeID, EnumTaxInvestmentStatus.Approve);
|
|
if (InvestAmount == DBNull.Value)
|
|
return 0.0;
|
|
return Convert.ToDouble(InvestAmount);
|
|
}
|
|
|
|
public static IDataReader GetFile(TransactionContext tc, int referenceId, EnumTaxAttachment type)
|
|
{
|
|
string sql =
|
|
SQLParser.MakeSQL(
|
|
"select * from TaxAttachment where referenceId = %n and fileType = %n",
|
|
referenceId, (int)type);
|
|
return tc.ExecuteReader(sql);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Delete function
|
|
|
|
internal static void Delete(TransactionContext tc, int nID)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM ITINVESTMENT WHERE InvestmentID=%n", nID);
|
|
}
|
|
|
|
internal static void DeleteAttachment(TransactionContext tc, int referenceId, EnumTaxAttachment type)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM TaxAttachment WHERE referenceId=%n and fileType = %n", referenceId, (int)type);
|
|
}
|
|
|
|
internal static void DeleteAdmin(TransactionContext tc, int taxparamId, int emplioyeeid, int typeID)
|
|
{
|
|
tc.ExecuteNonQuery("DELETE FROM ITINVESTMENT WHERE taxParamID=%n AND employeeID=%n AND typeID=%n " +
|
|
"AND EntryFrom =%n",
|
|
taxparamId, emplioyeeid, typeID, EnumTaxInvestment.Admin);
|
|
}
|
|
|
|
#endregion
|
|
|
|
internal static IDataReader GetAllUsersInfo(TransactionContext tc, int taxparid)
|
|
{
|
|
return tc.ExecuteReader(
|
|
@"select employeeid ,MAX(INVESTMENTID) INVESTMENTID, SUM(AMOUNT) AMOUNT ,MAX(TYPEID) TYPEID , MAX(INVDATE) INVDATE ,
|
|
MAX(USERID) USERID,
|
|
MAX(TAXPARAMID) TAXPARAMID,
|
|
MAX(SequenceNO) SequenceNO,
|
|
MAX(Status) Status,
|
|
MAX(CreatedBy) CreatedBy,
|
|
MAX(CreationDate) CreationDate,
|
|
MAX(ModifiedBy) ModifiedBy,
|
|
MAX(ModifiedDate) ModifiedDate
|
|
from ITINVESTMENT where TAXPARAMID = %n and
|
|
TYPEID in (select TYPEID from ITINVESTMENT) group by EMPLOYEEID", taxparid);
|
|
}
|
|
|
|
internal static IDataReader GetAllUsersInfoNew(TransactionContext tc, int taxparid)
|
|
{
|
|
return tc.ExecuteReader(
|
|
@"SELECT
|
|
employeeid,
|
|
INVESTMENTID,
|
|
AMOUNT,
|
|
TYPEID,
|
|
INVDATE,
|
|
USERID,
|
|
TAXPARAMID,
|
|
SequenceNO,
|
|
Status,
|
|
CreatedBy,
|
|
CreationDate,
|
|
ModifiedBy,
|
|
ModifiedDate
|
|
FROM
|
|
ITINVESTMENT
|
|
WHERE
|
|
TAXPARAMID = %n
|
|
AND TYPEID IN (SELECT TYPEID FROM ITINVESTMENT)", taxparid);
|
|
}
|
|
internal static IDataReader GetEmpByTaxparam(TransactionContext tc, int taxparid)
|
|
{
|
|
return tc.ExecuteReader(
|
|
@"select e.EmployeeNo, e.Name as EmployeeName, ITINVESTMENT.*
|
|
from ITINVESTMENT, Employee e
|
|
where ITINVESTMENT.TAXPARAMID = %n and e.Employeeid =ITINVESTMENT.Employeeid
|
|
", taxparid);
|
|
}
|
|
|
|
|
|
|
|
internal static IDataReader GetSingleEmpsInfo(TransactionContext tc, int id, int taxparamid)
|
|
{
|
|
return tc.ExecuteReader(
|
|
"Select * from ITINVESTMENT where EMPLOYEEID = %n and TAXPARAMID=%n",
|
|
id, taxparamid);
|
|
}
|
|
internal static IDataReader GetbyTaxParamID(TransactionContext tc, int taxparamid)
|
|
{
|
|
return tc.ExecuteReader(
|
|
"Select * from ITINVESTMENT where TAXPARAMID=%n",
|
|
taxparamid);
|
|
}
|
|
|
|
#region Other function
|
|
|
|
public static bool IsExist(TransactionContext tc, int empId, int taxParamId, int typeId)
|
|
{
|
|
bool Exist = false;
|
|
Object obj =
|
|
tc.ExecuteScalar(
|
|
"Select COUNT (*) FROM ITINVESTMENT WHERE employeeID=%n AND taxParamID=%n AND typeID=%n", empId,
|
|
taxParamId, typeId);
|
|
Exist = Convert.ToInt32(obj) > 0 ? true : false;
|
|
return Exist;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |