Prvni verze
This commit is contained in:
117
_sql/ep_HDC_PZ_ZapisPolozek.sql
Normal file
117
_sql/ep_HDC_PZ_ZapisPolozek.sql
Normal file
@ -0,0 +1,117 @@
|
||||
-- dbo.ep_HDC_PZ_ZapisPolozek
|
||||
CREATE PROCEDURE dbo.ep_HDC_PZ_ZapisPolozek
|
||||
@typ INT,
|
||||
@idDokladOZDst INT=NULL
|
||||
|
||||
AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
|
||||
DECLARE
|
||||
@idPol INT,
|
||||
@idPHIdent INT,
|
||||
@idPHIdent2 INT,
|
||||
@sz NVARCHAR(3),
|
||||
@rc NVARCHAR(30),
|
||||
@idKmen INT,
|
||||
@idStav INT,
|
||||
@idPZ INT,
|
||||
@idVCK INT,
|
||||
@idVCS INT,
|
||||
@idVCP INT,
|
||||
@sklad NVARCHAR(30),
|
||||
@mnoz NUMERIC(19,6),
|
||||
@paletList NVARCHAR(50),
|
||||
@sarze NVARCHAR(50)
|
||||
|
||||
DECLARE
|
||||
@dpz TINYINT,
|
||||
@cisOrg INT,
|
||||
@vstC TINYINT,
|
||||
@jednM INT,
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzE NUMERIC(19,6)
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#TabTempUziv', N'U') IS NULL
|
||||
CREATE TABLE #TabTempUziv (Tabulka NVARCHAR(255) NOT NULL, SCOPE_IDENTITY INT NULL, Datum DATETIME NULL)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@typ=1) -- zapis z dbo._TabVyroba_Objednavky do dokladu výdejky
|
||||
BEGIN
|
||||
IF (@idDokladOZDst IS NULL)
|
||||
RETURN
|
||||
IF OBJECT_ID(N'tempdb..#TabZapisPolozekOZ', N'U') IS NULL
|
||||
RETURN
|
||||
|
||||
SELECT @cisOrg=CisloOrg, @dpz=DruhPohybuZbo, @vstC=VstupniCena, @jednM=JednotkaMeny, @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro, @sklad=IDSklad
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@idDokladOZDst
|
||||
|
||||
DECLARE c CURSOR LOCAL FOR
|
||||
SELECT IDPolozky FROM #TabZapisPolozekOZ ORDER BY ID
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idPol
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SELECT @idPHIdent=IdPHIdent, @idPHIdent2=IdPHIdent2, @idKmen=IDKmenZbozi, @sz=SkupZbo, @rc=RegCis, @mnoz=Mnozstvi, @paletList=PaletovyList, @sarze=Sarze
|
||||
FROM dbo._TabVyroba_Objednavky WHERE ID=@idPol
|
||||
SET @paletList = ISNULL(@paletList, N'')
|
||||
|
||||
IF (@idKmen IS NOT NULL)
|
||||
BEGIN
|
||||
SET @idStav = (SELECT ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklad AND IDKmenZbozi=@idKmen)
|
||||
IF (@idStav IS NULL)
|
||||
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKmen, @IDSklad=@sklad, @IDZboSklad=@idStav OUT
|
||||
IF (@idStav IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDokladOZDst, @DruhPohybu=@dpz, @CisloOrg=@cisOrg, @IDZboSklad=@idStav, @Mena=@dzMena, @Kurz=@dzKurz, @KurzEuro=@dzKurzE,
|
||||
@JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=NULL, @VstupniCena=@vstC, @Mnozstvi=@mnoz, @PovolitDuplicitu=1
|
||||
IF (@idPZ IS NOT NULL)
|
||||
BEGIN
|
||||
UPDATE dbo._TabVyroba_Objednavky SET Blokovano=1 WHERE ID=@idPol
|
||||
|
||||
UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPol WHERE ID=@idPZ
|
||||
IF (@@ROWCOUNT=0)
|
||||
INSERT dbo.TabPohybyZbozi_EXT (ID, _HDCAPI_PHident) SELECT @idPZ, @idPol
|
||||
|
||||
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_Sarze=@sarze, _Vyroba_PaletList=@paletList WHERE ID=@idPZ
|
||||
|
||||
/*
|
||||
SET @idVCK=(SELECT ID FROM dbo.TabVyrCK WHERE IDKmenZbozi=@idKmen AND Nazev1=@paletList)
|
||||
IF (@idVCK IS NULL)
|
||||
EXEC dbo.hp_OZInsertVyrCK @IDVyrCK=@idVCK OUT, @IDKmenZbozi=@idKmen, @Selectem=0, @Nazev1=@paletList
|
||||
IF (@idVCK IS NOT NULL)
|
||||
BEGIN
|
||||
SET @idVCS = (SELECT ID FROM dbo.TabVyrCS WHERE IDVyrCK=@idVCK AND IDStavSkladu=@idStav AND Nazev1=@paletList)
|
||||
IF (@idVCS IS NULL)
|
||||
EXEC dbo.hp_OZInsertVyrCS @IDVyrCS=@idVCS OUT, @IDVyrCK=@idVCK, @IDZboSklad=@idStav, @Nazev1=@paletList
|
||||
IF (@idVCS IS NOT NULL)
|
||||
BEGIN
|
||||
INSERT dbo.TabVyrCP (IDPolozkaDokladu, IDVyrCis, Nazev, Mnozstvi) SELECT @idPZ, @idVCS, @sarze, @mnoz
|
||||
SET @idVCP = SCOPE_IDENTITY()
|
||||
END
|
||||
END -- @idVCK
|
||||
*/
|
||||
|
||||
INSERT dbo._TabVyroba_Objednavky_Pol (IDHlava, IDDokladOZ, IDPohybOZ, IDVyrCP, Mnozstvi, Sarze) VALUES (@idPol, @idDokladOZDst, @idPZ, @idVCP, @mnoz, @paletList)
|
||||
|
||||
END -- @idPZ
|
||||
END -- @idStav
|
||||
END -- @idKmen
|
||||
|
||||
UPDATE dbo._TabVyroba_Objednavky SET Blokovano=0,
|
||||
MnozKVydeji=Mnozstvi - ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idPol), 0)
|
||||
WHERE ID=@idPol
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user