408 lines
14 KiB
Plaintext
408 lines
14 KiB
Plaintext
-- dbo.ep_Vyroba_GenVydejZeMzdy
|
|
CREATE PROCEDURE dbo.ep_Vyroba_GenVydejZeMzdy
|
|
@IDMzdy INT=NULL,
|
|
@IDDoklad INT=NULL,
|
|
@spotrebaTesto BIT=0,
|
|
@spotreba702 BIT=0,
|
|
@smazVydejTesto BIT=0,
|
|
@errMsg NVARCHAR(500)=N'' OUT,
|
|
@extTab NVARCHAR(50)=NULL,
|
|
@vydejAll BIT=0,
|
|
@realizujVydej BIT=0,
|
|
@denSmena NVARCHAR(15)=NULL,
|
|
@sklVydej NVARCHAR(30)=N'321',
|
|
@radaVydej NVARCHAR(3)=N'223'
|
|
AS
|
|
|
|
-- HD Consulting Strakonice, T. Buzin
|
|
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
|
|
|
-- @extTab - tabulka, do ktere budou vraceny pohyby vydejky @extTab (ID INT NOT NULL, IDPohZbo INT NOT NULL)
|
|
-- @vydejAll - bude vydano vse, nejen kde jde splnena podminka TabPrKVazby - dbo.hf_GetPrPDokladForPrKV(PrKV.ID)=@PrP_Doklad
|
|
-- pokud existuje objekt #HDCTabPrKVazbyGenPredna, jedu vydej podle nej
|
|
|
|
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE
|
|
@bChyba BIT,
|
|
@retVal INT=0,
|
|
@errID int,
|
|
@sql NVARCHAR(1000),
|
|
@idUziv INT=0,
|
|
@idZam INT,
|
|
@sklTechnolog NVARCHAR(30),
|
|
@sklMatHlavni NVARCHAR(30),
|
|
@sklPekarna NVARCHAR(30),
|
|
@szDilec NVARCHAR(3)
|
|
|
|
|
|
|
|
IF OBJECT_ID(N'dbo.TabUserCfg', N'U') IS NOT NULL
|
|
SET @idUziv = (SELECT ID FROM dbo.TabUserCfg WHERE LoginName=SUSER_SNAME())
|
|
SET @idUziv = ISNULL(@idUziv, 0)
|
|
|
|
|
|
SET @denSmena = ISNULL(@denSmena, N'')
|
|
IF (@sklMatHlavni IS NULL)
|
|
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavní sklad - Materiál'
|
|
IF (@sklTechnolog IS NULL)
|
|
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technologický sklad%výdej%'
|
|
IF (@sklPekarna IS NULL)
|
|
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Výroba - Pekárna'
|
|
|
|
|
|
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky)
|
|
BEGIN
|
|
SELECT @retVal=MAX(ID) FROM dbo.TabPrikazMzdyAZmetky
|
|
DBCC CHECKIDENT(TabPrikazMzdyAZmetky, RESEED, @retVal)
|
|
END
|
|
ELSE
|
|
DBCC CHECKIDENT(TabPrikazMzdyAZmetky, RESEED, 1)
|
|
|
|
|
|
DROP TABLE IF EXISTS #TabPrKVazbyGen
|
|
CREATE TABLE #TabPrKVazbyGen (
|
|
ID INT IDENTITY NOT NULL,
|
|
Generuj BIT NOT NULL DEFAULT 1,
|
|
PoKorekciDat BIT NOT NULL DEFAULT 0,
|
|
IDPrKV INT NOT NULL,
|
|
Doklad INT NOT NULL,
|
|
IDPrikaz INT NOT NULL,
|
|
Prednastaveno BIT NOT NULL DEFAULT 1,
|
|
Sklad NVARCHAR(30) NULL,
|
|
VyrStredisko NVARCHAR(30) NULL,
|
|
IDPracoviste INT NULL,
|
|
mnoz_zad NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
Mnoz_nepotrebne NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
Mnoz_skut_realizovane NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
Cena_real NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
Mnoz_odv NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
Cena_odv NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
MnozstviMax NUMERIC(19,6) NULL,
|
|
PuvodniMnozstviPoz NUMERIC(19,6) NULL,
|
|
MnozstviPoz NUMERIC(19,6) NOT NULL,
|
|
PomMnozPoz NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
IDPohZbo INT NULL,
|
|
PoznamkaNaDoklad NVARCHAR(max) NULL,
|
|
priorita INT NOT NULL DEFAULT 0,
|
|
vyssi INT NOT NULL,
|
|
nizsi INT NOT NULL,
|
|
DavkaTPV NUMERIC(19,6) NOT NULL DEFAULT 1,
|
|
pozice NVARCHAR(100) NULL DEFAULT N'',
|
|
Operace NCHAR(4) NULL,
|
|
FixniMnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 1,
|
|
ProcZtrat NUMERIC(5,2) NOT NULL DEFAULT 0,
|
|
mnozstviSeZtratou NUMERIC(19,6) NOT NULL DEFAULT 0,
|
|
Prirez NUMERIC(19,6) NOT NULL DEFAULT 1,
|
|
Poznamka NTEXT NULL,
|
|
pom_pomer_A NUMERIC(19,6) NULL,
|
|
pom_pomer_B NUMERIC(19,6) NULL,
|
|
Dodavatel INT NULL,
|
|
MJ NVARCHAR(10) NULL,
|
|
mnoz_pozadovane AS (CONVERT(numeric(19,6),(CASE WHEN [mnoz_nepotrebne]>[mnoz_zad] THEN 0.0 ELSE [mnoz_zad] - [mnoz_nepotrebne] END))),
|
|
PRIMARY KEY (ID)
|
|
)
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS #TabPrKVazbyGen_IDMzdy
|
|
CREATE TABLE #TabPrKVazbyGen_IDMzdy (IDPrikaz int, Doklad int, IDMzdy int)
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS #TabPrKVazbyGenVC
|
|
CREATE TABLE #TabPrKVazbyGenVC (
|
|
ID INT IDENTITY NOT NULL,
|
|
IDPolozky INT NOT NULL,
|
|
VyrCislo NVARCHAR(100) NOT NULL,
|
|
Mnozstvi NUMERIC(19,6) NOT NULL,
|
|
Sklad NVARCHAR(30) NULL,
|
|
IDKmenZbozi INT NULL,
|
|
IDVyrCP INT NULL,
|
|
PRIMARY KEY(ID)
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DECLARE
|
|
@RespektovatExistEvid bit=0,
|
|
@idDilec INT,
|
|
@IDPrikaz int=NULL,
|
|
@IDPrPostup INT=NULL,
|
|
@mnozstviPomer_A numeric(19,6),
|
|
@mnozstviPomer_B numeric(19,6),
|
|
@IDPrKV int,
|
|
@mnoz_zad numeric(19,6),
|
|
@PrKVDoklad int,
|
|
@PocetVazeb int,
|
|
@PrP_Doklad int
|
|
|
|
|
|
|
|
|
|
|
|
SELECT @errID=NULL, @errMsg='', @PocetVazeb=0
|
|
SELECT @IDPrikaz=MZ.IDPrikaz, @mnozstviPomer_A=(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr), @mnozstviPomer_B=PrP.kusy_zad, @PrP_Doklad=PrP.Doklad,
|
|
@IDPrPostup=PrP.ID, @szDilec=k.SkupZbo
|
|
FROM dbo.TabPrikazMzdyAZmetky MZ
|
|
INNER JOIN dbo.TabPrPostup PrP ON (PrP.IDPrikaz=MZ.IDPrikaz AND PrP.Doklad=MZ.DokladPrPostup AND PrP.Alt=MZ.AltPrPostup AND PrP.IDOdchylkyDo IS NULL)
|
|
INNER JOIN dbo.TabPrikaz vp ON (vp.ID=MZ.IDPrikaz)
|
|
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=vp.IDTabKmen)
|
|
WHERE MZ.ID=@IDMzdy
|
|
|
|
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanaMatVydejka=1 WHERE ID=@IDMzdy
|
|
-- pokud uz byla generovana vydejka, skonci
|
|
IF (@@ROWCOUNT=0)
|
|
RETURN 0
|
|
|
|
|
|
SELECT @idZam=Zamestnanec FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
|
SELECT @idDilec = IDTabKmen FROM dbo.TabPrikaz WHERE ID=@IDPrikaz
|
|
|
|
|
|
|
|
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGenPredna', N'U') IS NULL
|
|
BEGIN
|
|
IF (@mnozstviPomer_A<=0.0)
|
|
RETURN -1
|
|
|
|
IF (@vydejAll=1)
|
|
DECLARE crPom1334 CURSOR FAST_FORWARD LOCAL FOR
|
|
SELECT PrKV.ID, PrKV.Mnoz_zad, PrKV.Doklad
|
|
FROM dbo.TabPrKVazby PrKV
|
|
INNER JOIN dbo.TabPrikaz P ON (P.ID=PrKV.IDPrikaz)
|
|
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
|
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
|
WHERE P.StavPrikazu IN (30,50) AND (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0) AND PrKV.predzpracovano=0 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND
|
|
PrKV.IDPrikaz=@IDPrikaz AND PrKV.prednastaveno=1 AND PrKV.IDOdchylkyDo IS NULL
|
|
ELSE
|
|
DECLARE crPom1334 CURSOR FAST_FORWARD LOCAL FOR
|
|
SELECT PrKV.ID, PrKV.Mnoz_zad, PrKV.Doklad
|
|
FROM dbo.TabPrKVazby PrKV
|
|
INNER JOIN dbo.TabPrikaz P ON (P.ID=PrKV.IDPrikaz)
|
|
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
|
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
|
WHERE P.StavPrikazu IN (30,50) AND (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0) AND PrKV.predzpracovano=0 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND
|
|
PrKV.IDPrikaz=@IDPrikaz AND dbo.hf_GetPrPDokladForPrKV(PrKV.ID)=@PrP_Doklad AND PrKV.prednastaveno=1 AND PrKV.IDOdchylkyDo IS NULL
|
|
OPEN crPom1334
|
|
FETCH NEXT FROM crPom1334 INTO @IDPrKV, @Mnoz_zad, @PrKVDoklad
|
|
WHILE @@fetch_status=0
|
|
BEGIN
|
|
UPDATE #TabPrKVazbyGen SET MnozstviPoz=@mnoz_zad * (pom_pomer_A+@mnozstviPomer_A)/pom_pomer_B, pom_pomer_A=pom_pomer_A+@mnozstviPomer_A
|
|
WHERE IDPrKV=@IDPrKV
|
|
IF (@@ROWCOUNT=0)
|
|
BEGIN
|
|
IF @RespektovatExistEvid=1
|
|
SELECT @mnozstviPomer_A=SUM(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr)
|
|
FROM dbo.TabPrikazMzdyAZmetky MZ WHERE MZ.IDPrikaz=@IDPrikaz AND MZ.DokladPrPostup=@PrP_Doklad AND MZ.GenerovanaMatVydejka=1
|
|
INSERT INTO #TabPrKVazbyGen (IDPrKV, MnozstviPoz, pom_pomer_A, pom_pomer_B, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad,
|
|
Mnoz_nepotrebne, Mnoz_skut_realizovane, Cena_real, Mnoz_odv, Cena_odv, priorita, vyssi, nizsi, DavkaTPV, pozice, Operace, FixniMnozstvi,
|
|
mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka)
|
|
SELECT PrKV.ID,
|
|
PrKV.mnoz_zad * @mnozstviPomer_A/@mnozstviPomer_B,
|
|
@mnozstviPomer_A, @mnozstviPomer_B,
|
|
PrKV.Doklad, PrKV.IDPrikaz, PrKV.Prednastaveno, PrKV.Sklad, PrKV.VyrStredisko, PrKV.IDPracoviste, PrKV.mnoz_zad, PrKV.Mnoz_nepotrebne,
|
|
PrKV.Mnoz_skut_realizovane, PrKV.Cena_real, PrKV.Mnoz_odv, PrKV.Cena_odv, PrKV.priorita, PrKV.vyssi, PrKV.nizsi, PrKV.DavkaTPV, PrKV.pozice, PrKV.Operace, PrKV.FixniMnozstvi,
|
|
PrKV.mnozstvi, PrKV.ProcZtrat, PrKV.mnozstviSeZtratou, PrKV.Prirez, PrKV.Poznamka
|
|
FROM dbo.TabPrKVazby PrKV
|
|
WHERE PrKV.ID=@IDPrKV AND PrKV.uzavreno=0
|
|
END
|
|
INSERT INTO #TabPrKVazbyGen_IDMzdy (IDPrikaz, Doklad, IDMzdy) VALUES (@IDPrikaz, @PrKVDoklad, @IDMzdy)
|
|
SET @PocetVazeb=@PocetVazeb + 1
|
|
FETCH NEXT FROM crPom1334 INTO @IDPrKV, @Mnoz_zad, @PrKVDoklad
|
|
END
|
|
CLOSE crPom1334
|
|
DEALLOCATE crPom1334
|
|
|
|
IF (@PocetVazeb<=0)
|
|
RETURN -2
|
|
|
|
END
|
|
ELSE
|
|
BEGIN -- pokud mam seznam na co vygenerovat vydejku, jedu podle nej
|
|
DELETE FROM #TabPrKVazbyGen
|
|
INSERT INTO #TabPrKVazbyGen
|
|
SELECT Generuj, PoKorekciDat, IDPrKV, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad, Mnoz_nepotrebne, Mnoz_skut_realizovane,
|
|
Cena_real, Mnoz_odv, Cena_odv, MnozstviMax, PuvodniMnozstviPoz, MnozstviPoz, PomMnozPoz, IDPohZbo, PoznamkaNaDoklad, priorita, vyssi, nizsi, DavkaTPV,
|
|
pozice, Operace, FixniMnozstvi, mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka, pom_pomer_A, pom_pomer_B, Dodavatel
|
|
FROM #HDCTabPrKVazbyGenPredna
|
|
DROP TABLE #HDCTabPrKVazbyGenPredna
|
|
END
|
|
|
|
-- preddefinovana mzda pro provazani
|
|
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGen_IDMzdyPredna', N'U') IS NOT NULL
|
|
BEGIN
|
|
DELETE FROM #TabPrKVazbyGen_IDMzdy
|
|
INSERT INTO #TabPrKVazbyGen_IDMzdy
|
|
SELECT IDPrikaz, Doklad, IDMzdy FROM #HDCTabPrKVazbyGen_IDMzdyPredna
|
|
DROP TABLE #HDCTabPrKVazbyGen_IDMzdyPredna
|
|
END
|
|
|
|
|
|
|
|
EXEC dbo.hp_AktualizaceTabPrKVazbyGenVC @Vratka=0
|
|
UPDATE #TabPrKVazbyGen SET Generuj=1, Sklad=@sklVydej
|
|
|
|
|
|
IF (@smazVydejTesto=1)
|
|
IF (@szDilec<>N'701') AND EXISTS (SELECT 1 FROM dbo.TabPrikaz p INNER JOIN dbo.TabKmenZbozi k ON (k.ID=p.IDTabKmen) WHERE p.IDPrikazVyssi=@IDPrikaz AND k.SkupZbo=N'701')
|
|
DELETE FROM #TabPrKVazbyGen WHERE vyssi=@idDilec AND nizsi IN (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701')
|
|
|
|
|
|
DROP TABLE IF EXISTS #TabGenRezVyd
|
|
CREATE TABLE #TabGenRezVyd (ID int NOT NULL, PRIMARY KEY (ID))
|
|
|
|
|
|
BEGIN TRY
|
|
EXEC @retVal=dbo.hp_generujRezVyd @RadaDokladu=@radaVydej, @DruhPohybuZbo=NULL, @IDObdobi=0, @DatPorizeni=NULL, @SekejZakazky=0, @SekejPrikazy=0,
|
|
@IDExistDoklad=@IDDoklad, @SekejOperace=0
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @errMsg = 'Chyba generovani vydeje: ' + ERROR_MESSAGE()
|
|
END CATCH
|
|
|
|
|
|
|
|
|
|
|
|
DECLARE
|
|
@idVyd INT,
|
|
@idKZ INT,
|
|
@idPZ INT,
|
|
@idSS INT,
|
|
@poslSarze NVARCHAR(100),
|
|
@errMsg702 NVARCHAR(500),
|
|
@idKZ702 INT,
|
|
@idPrikaz702 INT,
|
|
@doklKV702 INT,
|
|
@doklOp702 INT,
|
|
@alt702 NCHAR(1),
|
|
@mnoz702 NUMERIC(19,6),
|
|
@idMzda702 INT,
|
|
@aktDat DATETIME
|
|
|
|
SET @aktDat = GETDATE()
|
|
|
|
|
|
-- potrebuju si vyrobit tisicikus ? musim pred realizaci vydejky na vyssi prikaz, udelam odvedenim prikazu na vyssi
|
|
/*
|
|
IF (@spotreba702=1)
|
|
BEGIN
|
|
DECLARE t CURSOR LOCAL FOR
|
|
SELECT k.ID, p.Mnozstvi
|
|
FROM dbo.TabPohybyZbozi p
|
|
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
|
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
|
|
WHERE k.SkupZbo=N'702' AND k.Blokovano=0
|
|
OPEN t
|
|
WHILE (1=1)
|
|
BEGIN
|
|
FETCH NEXT FROM t INTO @idKZ702, @mnoz702
|
|
IF (@@FETCH_STATUS<>0) BREAK
|
|
|
|
SET @idPrikaz702 = (SELECT ID FROM dbo.TabPrikaz WHERE IDPrikazVyssi=@IDPrikaz AND IDTabKmen=@idKZ702 AND StavPrikazu=30)
|
|
IF (@idPrikaz702 IS NOT NULL)
|
|
BEGIN
|
|
-- evidence operace peceni
|
|
SELECT TOP(1) @doklOp702=Doklad, @alt702=Alt FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@idPrikaz702
|
|
EXEC @idMzda702=dbo.hp_ZaevidujOperaci @IDPrikaz=@idPrikaz702, @Doklad=@doklOp702, @Alt=@alt702, @Datum=NULL, @Stav=1, @IDZam=@idZam, @Kusy_odv=@mnoz702
|
|
SET @idMzda702 = ISNULL(@idMzda702, 0)
|
|
IF (@idMzda702>0)
|
|
BEGIN
|
|
-- vydejku materialu nedelej, testo bylo uz odepsano svym prevedenim na vyssi
|
|
-- EXEC dbo.ep_Vyroba_GenVydejZeMzdy @IDMzdy=@idMzda702, @spotrebaTesto=1, @realizujVydej=1, @errMsg=@errMsg702 OUT
|
|
|
|
EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda702, @realizujPrijem=1, @errMsg=@errMsg702 OUT
|
|
END
|
|
-- odvedeni na vyssi prikaz
|
|
SELECT TOP(1) @doklKV702=Doklad FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDPrikaz AND nizsi=@idKZ702
|
|
EXEC dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDat, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idPrikaz702, @IDPrikazCil=@IDPrikaz,
|
|
@Doklad=@doklKV702, @IDDilec=@idKZ702, @mnozstvi=@mnoz702, @IDOdvedeniVC=0
|
|
END
|
|
END
|
|
CLOSE t
|
|
DEALLOCATE t
|
|
END
|
|
*/
|
|
|
|
|
|
DECLARE vyd CURSOR LOCAL FOR
|
|
SELECT ID FROM #TabGenRezVyd
|
|
OPEN vyd
|
|
WHILE (1=1)
|
|
BEGIN
|
|
FETCH NEXT FROM vyd INTO @idVyd
|
|
IF (@@FETCH_STATUS<>0) BREAK
|
|
|
|
IF (@denSmena<>N'')
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idVyd)
|
|
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idVyd)
|
|
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_DenSmena=@denSmena WHERE ID=@idVyd
|
|
END
|
|
|
|
DECLARE pV CURSOR LOCAL FOR
|
|
SELECT p.ID, k.ID
|
|
FROM dbo.TabPohybyZbozi p
|
|
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
|
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
|
|
WHERE p.IDDoklad=@idVyd AND k.Sluzba=0
|
|
OPEN pV
|
|
WHILE (1=1)
|
|
BEGIN
|
|
FETCH NEXT FROM pV INTO @idPZ, @idKZ
|
|
IF (@@FETCH_STATUS<>0) BREAK
|
|
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklPekarna)
|
|
SET @poslSarze = ISNULL( (SELECT _Prevod_PosledniSarze FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS), N'')
|
|
IF (@poslSarze<>N'')
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
|
|
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
|
|
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_Sarze=@poslSarze WHERE ID=@idPZ
|
|
END
|
|
END
|
|
CLOSE pV
|
|
DEALLOCATE pV
|
|
|
|
IF (@realizujVydej=1)
|
|
BEGIN
|
|
BEGIN TRY
|
|
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @errMsg = ERROR_MESSAGE()
|
|
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace výdejky pøíkazu', @idVyd
|
|
END CATCH
|
|
END
|
|
|
|
END
|
|
CLOSE vyd
|
|
DEALLOCATE vyd
|
|
|
|
|
|
|
|
|
|
IF (@extTab IS NOT NULL) AND EXISTS(SELECT 1 FROM #TabPrKVazbyGen WHERE IDPohZbo IS NOT NULL)
|
|
IF OBJECT_ID(@extTab, N'U') IS NOT NULL
|
|
BEGIN
|
|
SET @sql = N'DELETE FROM ' + @extTab
|
|
EXECUTE sp_executesql @sql
|
|
SET @sql = N'INSERT ' + @extTab + N' (ID, IDPohZbo) SELECT ID, IDPohZbo FROM #TabPrKVazbyGen WHERE IDPohZbo IS NOT NULL'
|
|
EXECUTE sp_executesql @sql
|
|
END
|
|
|
|
|
|
-- uklid
|
|
DROP TABLE IF EXISTS #TabPrKVazbyGen
|
|
DROP TABLE IF EXISTS #TabGenRezVyd
|
|
DROP TABLE IF EXISTS #TabPrKVazbyGen_IDMzdy
|
|
DROP TABLE IF EXISTS #TabPrKVazbyGenVC
|
|
|
|
|