Расчет заработной платы - PullRequest
0 голосов
/ 26 июня 2018

Мне нужна твоя помощь. Мне нужно сделать программу, которая рассчитывает заработную плату в Management Sql Server 2014. Программа должна быть примерно такой: Заработная плата - это сумма брутто-зарплаты и оплачиваемых отпусков: Sal = Gross_ Salary + Paid_Holiday

Для расчета праздника Paid_ нам нужно: Заработная плата за предыдущие 6 месяцев:

Sal_6 + Sal_5 + Sal_4 + Sal_3 + Sal_2 + Sal_1 = База

С Sal_6 = GrossSal_6 + Paid_Holiday_6 (как я уже говорил выше) ... Количество рабочих или праздничных дней за предыдущие 6 месяцев:

NOdays_6 + NOdays_5 + NOdays_4 + NOdays_3 + NOdays_2 + NOdays_1 = SumOfDays

Оплачиваемый отпуск: Paid_Holiday = BASE / SumOfDays * NOdays.

Из базы данных у меня есть следующие таблицы:

Вступление (Identry, Gross_Salary, NOdayworked, Date, IDEmplyee)

Сотрудник (IDEmplyee, Имя, Дата трудоустройства)

Праздник (IDHoliday, StartDate, FinalDate, IDEmployee)

Работник имеет свидетельство о старшинстве с 6 последними зарплатами от предыдущего работодателя.

Сертификат (IdCertificate, дата, Gross_Salary, NOdayworked, Paid_Holiday, NOdays, IDEmployee)

Поскольку мне нужны последние оплачиваемые отпуска и зарплата для формирования валовой зарплаты, я подумал, что мне следует использовать временную таблицу. В этой таблице будут храниться данные из сертификата и данные из записи

До сих пор я пробовал следующую хранимую процедуру:

create proc payroll
 @idemployee int
as
create table #tmp(  id int identity(1,1) primary key, date1 date, grosssalary money,  idemployee int, nodaysworked int, paidholiday money, noofdays int)
insert into #tmp ( date1 , grosssalary ,  idemployee , nodaysworked , paidholiday , noofdays )
Select Top 6  Date,
Gross_Salary,
IDEmployee,
NOdayworked,
Paid_Holiday,
IDEmployee
 from Certificate 
 WHERE IDEmployee = @idemployee
ORDER BY Date asc

И после этого я должен брать за каждый оплачиваемый отпуск последние 6 зарплат Paid_Holiday = BASE / SumOfDays * NOdays, но я точно не знаю, как мне поступить. Я думал о курсоре или что-то. PS: Если вы не поняли, пожалуйста, дайте мне знать. Мой родной язык не английский (также эта программа доступна не для всех стран). Программа действует в Румынии)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...