EXEC dbo.hp_AplikujZaplatu N'030020200605', N'Odstraněni chyby při zaúčtování sociálního pojištění na Pobočky, když na pobocku není žádná výplata', N'CREATE PROCEDURE dbo.hp_MzAntivirusCZ_C @IdObdobi INT, @Pobocka NVARCHAR(5), @VytvorTabulku BIT = 0, @Sum_VZ_SP_Puv NUMERIC(19,2) OUT, @Sum_VZ_SP_Upr NUMERIC(19,2) OUT, @Sum_SP_Firma_Upr NUMERIC(19,6) OUT AS SET @Sum_VZ_SP_Puv=0 SET @Sum_VZ_SP_Upr=0 SET @Sum_SP_Firma_Upr=0 IF @VytvorTabulku = 0 BEGIN IF OBJECT_ID(''tempdb..#TabMzAntivirusC'') IS NULL RETURN END ELSE CREATE TABLE dbo.#TabMzAntivirusC( ID INT IDENTITY NOT NULL, IdObdobi INT NOT NULL, ZamestnanecId INT NULL, SSN_RC_BezLomitka NVARCHAR(24) COLLATE database_default NOT NULL DEFAULT '', VZ_SP_Puv NUMERIC(19,2) NOT NULL DEFAULT (0), SP_Firma_Puv NUMERIC(19,2) NOT NULL DEFAULT (0), SP_Zam NUMERIC(19,2) NOT NULL DEFAULT (0), VZ_SP_Upr NUMERIC(19,2) NOT NULL DEFAULT (0), SP_Firma_Upr NUMERIC(19,6) NOT NULL DEFAULT (0.0) ) DELETE FROM #TabMzAntivirusC INSERT INTO #TabMzAntivirusC(ZamestnanecID, IdObdobi, SSN_RC_BezLomitka, VZ_SP_Puv, SP_Firma_Puv, SP_Zam, VZ_SP_Upr, SP_Firma_Upr) SELECT v.ZamestnanecID, v.IdObdobi, c.SSN_RC_BezLomitka, v.ZakladSocPoj, v.SocPojFirma, v.SocPojZam, v.ZakladSocPoj, v.SocPojFirma FROM TabZamVyp v JOIN TabCisZam c ON c.ID=v.ZamestnanecId JOIN TabZamMzd m ON v.ZamestnanecId=m.ZamestnanecId AND v.IdObdobi=m.IdObdobi WHERE v.IdObdobi=@IdObdobi AND m.PocitatSocPoj IN (0,2) AND ((@Pobocka=N'') OR ((m.Pobocka IS NOT NULL) AND (m.Pobocka=@Pobocka))) UPDATE t SET t.VZ_SP_Upr=CASE WHEN VZ_SP_Puv>52253 THEN VZ_SP_Puv-52253 ELSE 0 END, t.SP_Firma_Upr=CASE WHEN VZ_SP_Puv>52253 THEN ROUND((VZ_SP_Puv-52253)*24.8/100,2) ELSE 0 END FROM #TabMzAntivirusC t JOIN TabZamMzd m ON m.ZamestnanecId=t.ZamestnanecId AND m.IdObdobi=t.IdObdobi JOIN TabMzdObd o ON o.IdObdobi=m.IdObdobi WHERE m.DruhPP IN (0,1,2,3,4,5) AND m.StavES IN (0,1) AND (ISNULL(m.DatumUkonceniPP, o.MzdObd_DatumDo) >= o.MzdObd_DatumDo) AND NOT (ISNULL(m.DuvodVypovedi,N'') IN (N''52a'', N''52b'', N''52c'')) AND NOT (ISNULL(m.DuvodUkonceniPP,N'') IN (N''52a'', N''52b'', N''52c'')) SELECT @Sum_VZ_SP_Puv=SUM(VZ_SP_Puv), @Sum_VZ_SP_Upr=SUM(VZ_SP_Upr) FROM #TabMzAntivirusC SET @Sum_VZ_SP_Puv=ISNULL(@Sum_VZ_SP_Puv,0) SET @Sum_VZ_SP_Upr=ISNULL(@Sum_VZ_SP_Upr,0) IF @Sum_VZ_SP_Upr>0 BEGIN SET @Sum_SP_Firma_Upr=@Sum_VZ_SP_Upr*24.8/100 SET @Sum_SP_Firma_Upr=CEILING(@Sum_SP_Firma_Upr) END IF (@VytvorTabulku=1) AND OBJECT_ID(''tempdb..#TabMzAntivirusC'') IS NOT NULL DROP TABLE #TabMzAntivirusC'