Zacatek uprav Ramcovy plan
This commit is contained in:
128
_sql/ep_Vyroba_Doklady_PomocPrijemka.sql
Normal file
128
_sql/ep_Vyroba_Doklady_PomocPrijemka.sql
Normal file
@ -0,0 +1,128 @@
|
||||
-- dbo.ep_Vyroba_Doklady_PomocPrijemka
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_Doklady_PomocPrijemka
|
||||
@idVydej INT=NULL
|
||||
AS
|
||||
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@cnt INT,
|
||||
@errMsg NVARCHAR(500),
|
||||
@bChyba BIT,
|
||||
@iChyba INT,
|
||||
@debugXml XML,
|
||||
@gKV XML,
|
||||
@kv XML,
|
||||
@odv XML,
|
||||
@aktDatum DATETIME=GETDATE(),
|
||||
@logTyp TINYINT,
|
||||
@logText NVARCHAR(500),
|
||||
@logInt INT,
|
||||
@logStr NVARCHAR(255),
|
||||
@log4Mail BIT=0
|
||||
|
||||
DECLARE
|
||||
@jsonString NVARCHAR(MAX),
|
||||
@jsonString2 NVARCHAR(MAX),
|
||||
@typDokum NVARCHAR(50),
|
||||
@subtypDokum NVARCHAR(50),
|
||||
@akce NVARCHAR(50)
|
||||
|
||||
DECLARE
|
||||
@cOrg INT,
|
||||
@sklTechnicky NVARCHAR(30),
|
||||
@idKZ INT,
|
||||
@idSS INT
|
||||
|
||||
DECLARE
|
||||
@retVal INT,
|
||||
@RespekExistDoklady BIT=0,
|
||||
@NekontrolMnozOdvedFinal BIT,
|
||||
@idUziv INT
|
||||
|
||||
DECLARE
|
||||
@idDZPomocPrij INT,
|
||||
@radaPrijem NVARCHAR(3)='292',
|
||||
@menaPrij NVARCHAR(3),
|
||||
@kurzPrij NUMERIC(19,6),
|
||||
@kurzPrijE NUMERIC(19,6),
|
||||
@vstCPrij TINYINT,
|
||||
@jednMPrij INT,
|
||||
@idPZPomocPrij INT,
|
||||
@idSSPomocPrij INT,
|
||||
@mnozSklad NUMERIC(19,6),
|
||||
@mnozVydej NUMERIC(19,6),
|
||||
@mnozPrij NUMERIC(19,6)
|
||||
|
||||
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
IF (@sklTechnicky IS NULL)
|
||||
SET @sklTechnicky=(SELECT TOP(1) Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' AND CisloStr LIKE N'2%')
|
||||
IF (@sklTechnicky IS NULL)
|
||||
SET @sklTechnicky=N'261'
|
||||
|
||||
|
||||
-- begin: pomocna prijemka nedostatecneho materialu (jen materialu !!!)
|
||||
SET @idDZPomocPrij=NULL
|
||||
DECLARE pomPrij CURSOR LOCAL FOR
|
||||
SELECT p.IDZboSklad, 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 p.IDDoklad=@idVydej -- doklad vydejky
|
||||
-- AND k.Material=1
|
||||
AND k.Sluzba=0
|
||||
OPEN pomPrij
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM pomPrij INTO @idSS, @mnozVydej
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SELECT @idKZ=IDKmenZbozi FROM dbo.TabStavSkladu WHERE ID=@idSS
|
||||
SET @idSSPomocPrij=(SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklTechnicky)
|
||||
IF (@idSSPomocPrij IS NULL)
|
||||
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklTechnicky, @IDZboSklad=@idSSPomocPrij OUT
|
||||
|
||||
-- spocitej jestli mam skladem mnozstvi na realizaci vydejky
|
||||
-- SET @mnozSklad = ISNULL( (SELECT Mnozstvi+MnozstviKPrijmu-MnozstviKVydeji FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
|
||||
SET @mnozSklad = ISNULL( (SELECT Mnozstvi FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
|
||||
IF (@mnozVydej>@mnozSklad)
|
||||
BEGIN
|
||||
SET @mnozPrij = @mnozVydej - @mnozSklad
|
||||
IF (@idDZPomocPrij IS NULL) -- uz existuje doklad pomocne prijemky na sklade 261 (technologicky) ?
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZPomocPrij OUT, @Sklad=@sklTechnicky, @DruhPohybu=0, @RadaDokladu=@radaPrijem, @CisloOrg=0
|
||||
SELECT @menaPrij=Mena, @kurzPrij=Kurz, @kurzPrijE=KurzEuro, @jednMPrij=JednotkaMeny, @vstCPrij=VstupniCena
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@idDZPomocPrij
|
||||
END
|
||||
IF (@idDZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZPomocPrij OUT, @IDDoklad=@idDZPomocPrij, @DruhPohybu=0, @CisloOrg=0, @IDZboSklad=@idSSPomocPrij,
|
||||
@Mena=@menaPrij, @Kurz=@kurzPrij, @KurzEuro=@kurzPrijE, @JednotkaMeny=@jednMPrij, @SazbaSD=NULL, @SazbaDPH=NULL,
|
||||
@ZakazanoDPH=NULL, @VstupniCena=@vstCPrij, @Mnozstvi=@mnozPrij, @PovolitDuplicitu=1
|
||||
END
|
||||
END
|
||||
END
|
||||
CLOSE pomPrij
|
||||
DEALLOCATE pomPrij
|
||||
IF (@idDZPomocPrij IS NOT NULL) -- pokud mam pomocnou prijemku, zkus ji realizovat nez budes realizovat vydejku
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZPomocPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
END CATCH
|
||||
END
|
||||
-- end: pomocna prijemka nedostatecneho materialu
|
||||
Reference in New Issue
Block a user