
Spor ore suplimentare S/D pentru cazul în care se lucrează în zilele de sambătă sau duminică
Pentru exemplificare, considerăm că dorim să acordăm spor de S/D pentru zilele de sâmbătă sau duminică în cazul în care în pontaj există ore lucratoare.
Prin modificarea funcției nu mai este necesar introducerea în pontaj a evidenței pentru orele suplimentare S/D pentru zilele zilele de sâmbătă sau duminică în care există ore lucratoare (regie, acord..).
Formula completă pentru Spor ore S/D:
IF @pt_co = 0
SELECT @ret_val = (b.sal_neg*ISNULL(o.ore,0)*s.procent*8)/(@ore_lun*b.ore_norm*100),
@ret_ore = ISNULL(o.ore,0),
@ret_proc = s.procent
FROM blc_linii s
INNER JOIN blc b ON s.anluna=b.anluna AND s.pl_blc=b.pct_lcr AND s.id_blc=b.id
LEFT JOIN (
SELECT p.anluna, p.pl_blc, p.id_blc, SUM(p.ore) AS ore
FROM Sal_Pontaj p
INNER JOIN Sal_Pontaj_NomOre n ON p.tip = n.id
WHERE (n.camp = 'ore_sd' OR (n.tiplcr='LCR' AND ((DATEDIFF(day, 0, p.data) % 7) IN (5,6)))) AND p.anluna=@anluna AND p.pl_blc=@pl_blc AND p.id_blc=@id_blc
GROUP BY p.anluna, p.pl_blc, p.id_blc
) o ON s.anluna=o.anluna AND s.pl_blc=o.pl_blc AND s.id_blc=o.id_blc
WHERE s.anluna=@anluna AND s.pct_lcr=@pl_sp AND s.id=@id_sp
ELSE
SELECT @ret_val = 0,
@ret_ore = 0,
@ret_proc = 0