Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
sa39-00 [2015/08/07 17:02] – Justin Willey | sa39-00 [2015/08/07 17:30] – Justin Willey | ||
---|---|---|---|
Line 41: | Line 41: | ||
select(select UserID from Staff where StaffID = UserStaffID), | select(select UserID from Staff where StaffID = UserStaffID), | ||
(select Division.Name from Division key join TempDesk key join Vacancy where VacancyID = vacid), | (select Division.Name from Division key join TempDesk key join Vacancy where VacancyID = vacid), | ||
- | (select first value from tagvalue where TagLocation = ' | + | (select first value from tagvalue where TagLocation = ' |
- | (select first value from tagvalue where TagLocation = ' | + | (select first value from tagvalue where TagLocation = ' |
- | (select first value from tagvalue where TagLocation = ' | + | (select first value from tagvalue where TagLocation = ' |
- | (select first tagchoiceid from tagvalue where TagLocation = ' | + | (select first tagchoiceid from tagvalue where TagLocation = ' |
@DivisionName, | @DivisionName, | ||
@UseTempBaseRate from Dummy; | @UseTempBaseRate from Dummy; | ||
Line 50: | Line 50: | ||
@TempBaseRate is null | @TempBaseRate is null | ||
or @UseTempBaseRate = ' | or @UseTempBaseRate = ' | ||
- | or @DivisionName not in( 'Geneva Care',' | + | or @DivisionName not in( 'Division1',' |
- | or @USERID not in( 'user',' | + | or @USERID not in( 'TestUser1',' |
- | -- if any of the above true then employee | + | -- if any of the above true then Temp base rate does not apply |
+ | then | ||
return BaseRate | return BaseRate | ||
else | else | ||
- | | + | |
set @PayrollFlag=(select PayrollFlag from TempPayBand where TempPayBandID = bandid); | set @PayrollFlag=(select PayrollFlag from TempPayBand where TempPayBandID = bandid); | ||
case | case | ||
- | when @PayrollFlag = '02' then return round(@TempBaseRate*1.5, | + | when @PayrollFlag = 'THLF' then return round(@TempBaseRate*1.5, |
- | when @PayrollFlag = '16' then return round(@TempBaseRate*1.25, | + | when @PayrollFlag = 'TQTR' then return round(@TempBaseRate*1.25, |
- | when @PayrollFlag = '75' then return round(@TempBaseRate+isnull(@TempEveningRate, | + | when @PayrollFlag = 'EVE' then return round(@TempBaseRate+isnull(@TempEveningRate, |
- | when @PayrollFlag = '76' then return round(@TempBaseRate+isnull(@TempWeekEndRate, | + | when @PayrollFlag = 'NIGHT' then return round(@TempBaseRate+isnull(@TempWeekEndRate, |
- | when @PayrollFlag in( '45',' | + | when @PayrollFlag in( 'EXP1',' |
else | else | ||
- | return round(@TempBaseRate, | + | return round(@TempBaseRate, |
end case | end case | ||
end if | end if | ||
Line 70: | Line 71: | ||
</ | </ | ||
+ | Note the way the function exits immediately for **charge** rates to minimise processing, as the scheme does not effect charge rates. Also note how in this example the calculations are only made for certain test users to facilitate testing of the scheme. This clause < |