98
Приложение А
Исходный код хранимой процедуры расчёта выплат по ЛН
«ALTER PROCEDURE [dbo].[CalcSeekPay]
@IDSeekPay int --Код ЛН
AS
BEGIN
DECLARE @sYear INT; --Год выписки ЛН
DECLARE @idEmpl INT; --Код сотрудника
DECLARE @cDay INT; --Количество дней
DECLARE @ExpAll INT; --Процент оплаты
DECLARE @Exper REAL; --Трудовой стаж
DECLARE @Total1 MONEY; --Сумма зароботка за год-1
DECLARE @Total2 MONEY; --Сумма зароботка за год-2
DECLARE @MaxTotal1 MONEY; --Максимальная возвращаемая
сумма ФСС в год-1
DECLARE @MaxTotal2 MONEY; --Максимальная возвращаемая
сумма ФСС в год-2
DECLARE @MinDay MONEY; --Минимальная оплата в день по
МРОТ в текущий год ЛН
DECLARE @kf REAL; --Коэффициент местности в текущий год ЛН
DECLARE @pr REAL; --Процент от опыта или типа заболевания
DECLARE @DayPay MONEY; --Дневная оплата по ЛН
--Узнаём данные из ЛН, данных о сотруднике и причине болезни
SELECT
@sYear=YEAR(sp.sDate)
, @idEmpl=sp.Employee
, @cDay=DATEDIFF(DAY,sp.sDate,sp.eDate)
, @ExpAll=ISNULL(rs.ExpAll,0)
, @Exper=ISNULL(e.Exper,0)
FROM SeekPay sp
INNER JOIN Employee e ON e.ID=sp.Employee