20260806-2930 Need to change title "Bonus & Other Allowance" to "Bonus" at fIncometaxCertificate #8

Open
shahadat wants to merge 3 commits from dev_shahadat into devqc
5 changed files with 900 additions and 150 deletions

View File

@ -1437,6 +1437,11 @@ namespace Payroll.BO
item.BasicCurrentDeduct = nTotalUnAuthorizedLeave - item.BasicPaidDays;
item.BasicPaidDays += item.BasicCurrentDeduct;
item.BasicUnpaidDays = 0;
// Allowances set in the parameter are cut for the same days as Basic
item.OtherCurrentDeduct = nTotalUnAuthorizedLeave - item.OtherPaidDays;
item.OtherPaidDays += item.OtherCurrentDeduct;
item.OtherUnpaidDays = 0;
}
foreach (UnAuthorizeLeaveParamDetail detail in Param.Details)
@ -1497,13 +1502,51 @@ namespace Payroll.BO
detail.Type == EnumSalaryComponent.Basic ? (int)EnumSalaryItemCode.Basic_Salary : detail.AllowanceID.Integer,
salaryDetail.SupportID.Integer, salaryDetail.Description, GlobalFunctions.Round(nAmount));
this.AddDetail(salary, EnumSalaryGroup.Miscellaneous, EnumSalaryItemCode.Tot_UnauthLeave_Days, Param.UnAhuthorizeLeaveID.Integer, 0, "UnAuthorized Leave Days", nThisMonthUnAuthorizedLeave);
//if(nUnpaidDays>0)
//{
// }
}
// Days deducted this month, added once (not per parameter item); used by salary sheet, payslip and arrear
if (Param.Details.Count > 0)
this.AddDetail(salary, EnumSalaryGroup.Miscellaneous, EnumSalaryItemCode.Tot_UnauthLeave_Days, Param.UnAhuthorizeLeaveID.Integer, 0, "UnAuthorized Leave Days", item.BasicCurrentDeduct);
#region Deduct all allowances for unauthorized leave
// Same days and daily-rate formula as Basic; allowances already set in the parameter are skipped to avoid double deduction
if (item.BasicCurrentDeduct > 0)
{
List<SalaryMonthlyDetail> allowances = salary.Details.FindAll(delegate(SalaryMonthlyDetail dtl)
{
return dtl.itemGroupCode == EnumSalaryGroup.Gross && dtl.ItemCode == EnumSalaryItemCode.Allowance;
});
foreach (SalaryMonthlyDetail allowance in allowances)
{
bool isInParam = Param.Details.Exists(delegate(UnAuthorizeLeaveParamDetail pd)
{
return pd.Type == EnumSalaryComponent.Allowance && pd.AllowanceID.Integer == allowance.ItemID;
});
if (isInParam) continue;
nAmount = allowance.CalculatedAmount;
if (salary.Employee.JoiningDate > GlobalFunctions.FirstDateOfMonth(_processMonth))
{
double ndays = Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", salary.Employee.JoiningDate, _processMonth) + 1;
nAmount = nAmount / ndays;
nAmount = nAmount * _processMonth.Day;
}
nAmount = GlobalFunctions.ConevrtToDlyRateofMonth(nAmount, _processMonth) * item.BasicCurrentDeduct;
nAmount = GlobalFunctions.Round(nAmount);
if (nAmount <= 0) continue;
this.AddDetail(salary, EnumSalaryGroup.UnauthLeave, EnumSalaryItemCode.Allowance,
allowance.ItemID, allowance.SupportID.Integer, allowance.Description, nAmount);
}
}
#endregion
//}
//item.currentDeduct = nUnpaidDays;

File diff suppressed because it is too large Load Diff

View File

@ -385,6 +385,27 @@ namespace Payroll.Service
internal static DataSet GetTaxCertificate(TransactionContext tc, string empNo, int taxParamId)
{
//string sql = SQLParser.MakeSQL(@"SELECT * FROM(
// SELECT CASE it.DESCRIPTION
// WHEN 'Basic Salary' THEN 'Basic'
// WHEN 'House Rent Allowance' THEN 'House'
// WHEN 'Conveyance Allowance' THEN 'Conveyance'
// WHEN 'Medical Allowance' THEN 'Medical'
// END Description,it.TOTALAMOUNT Amount, position FROM INCOMETAXYEARLY it,employee e
// WHERE it.EMPLOYEEID=e.EMPLOYEEID
// AND e.EMPLOYEENO=%s
// AND it.TAXPARAMID=%n
// AND it.ItemCode IN(-201,-203,-205,-222)
// UNION
// SELECT 'Bonus & other allowance',SUM(it.TOTALAMOUNT) Amount, 200 position FROM INCOMETAXYEARLY it,employee e
// WHERE it.EMPLOYEEID=e.EMPLOYEEID
// AND e.EMPLOYEENO=%s
// AND it.TAXPARAMID=%n
// AND it.ItemCode IN(-213, -224)
// ) tab1
// ORDER BY position
// ", empNo, taxParamId, empNo, taxParamId);
//return tc.ExecuteDataSet(sql);
string sql = SQLParser.MakeSQL(@"SELECT * FROM(
SELECT CASE it.DESCRIPTION
WHEN 'Basic Salary' THEN 'Basic'
@ -397,7 +418,7 @@ namespace Payroll.Service
AND it.TAXPARAMID=%n
AND it.ItemCode IN(-201,-203,-205,-222)
UNION
SELECT 'Bonus & other allowance',SUM(it.TOTALAMOUNT) Amount, 200 position FROM INCOMETAXYEARLY it,employee e
SELECT 'Bonus',SUM(it.TOTALAMOUNT) Amount, 200 position FROM INCOMETAXYEARLY it,employee e
WHERE it.EMPLOYEEID=e.EMPLOYEEID
AND e.EMPLOYEENO=%s
AND it.TAXPARAMID=%n

View File

@ -7,10 +7,8 @@
<section name="InformationForReportTool" type="Ease.SearchTools.Objects.InformationForReportToolConfigHandler, Ease.SearchTools.Objects"/>
</configSections>
<dbSettings>
<connection name="conn" provider="sql" connectionString="server=cel80;Database=CELPayroll;User ID=CELPayroll;password=4B06094270245E4D5B63" sqlSyntax="SQL"/>
<!--<connection name="conn" provider="sql" connectionString="server=103.197.204.164,1718;Database=CELPayrol;User ID=Easeuser;Password=EaSeuSeR2025" sqlSyntax="SQL"/>-->
<!--<connection name="conn" provider="sql" connectionString="server=WIN-D48IJC70V70;Database=GPPayroll;integrated security=yes;" sqlSyntax="SQL"/>-->
<!--<connection name="conn" provider="sql" connectionString="server=cel80;Database=CELPayroll;User ID=CELPayroll;password=4B06094270245E4D5B63" sqlSyntax="SQL"/>-->
<connection name="conn" provider="sql" connectionString="server=103.197.204.164,1718;Database=CELPayrol;User ID=DBuser;Password=ceLEa&amp;e2025" sqlSyntax="SQL"/>
</dbSettings>
<appSettings>
<add key="serviceHandler" value="Payroll.Service.dll/conn"/>

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("21.6.26.0")]
[assembly: AssemblyFileVersion("21.6.26.0")]
[assembly: AssemblyVersion("26.10.26.0")]
[assembly: AssemblyFileVersion("26.10.26.0")]