Dalsi zmeny
This commit is contained in:
@ -12,7 +12,8 @@ CREATE PROCEDURE dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
@denSmena NVARCHAR(15)=NULL,
|
||||
@sklVydej NVARCHAR(30)=N'261',
|
||||
@radaVydej NVARCHAR(3)=N'223',
|
||||
@respExistDokl BIT=1
|
||||
@respExistDokl BIT=1,
|
||||
@genPrijemNaNeskladMnoz BIT=0
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
@ -26,6 +27,7 @@ AS
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@tranCount INT,
|
||||
@bChyba BIT,
|
||||
@opakReal BIT,
|
||||
@retVal INT=0,
|
||||
@ -34,10 +36,12 @@ DECLARE
|
||||
@idUziv INT=0,
|
||||
@idZam INT,
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklTechnologPolo NVARCHAR(30),
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@szDilec NVARCHAR(3)
|
||||
DECLARE
|
||||
@idDZOut INT,
|
||||
@idDZPomocPrij INT,
|
||||
@radaPrijem NVARCHAR(3)='292',
|
||||
@menaPrij NVARCHAR(3),
|
||||
@ -47,9 +51,11 @@ DECLARE
|
||||
@jednMPrij INT,
|
||||
@idPZPomocPrij INT,
|
||||
@idSSPomocPrij INT,
|
||||
@idSSPomocPek INT,
|
||||
@mnozSklad NUMERIC(19,6),
|
||||
@mnozVydej NUMERIC(19,6),
|
||||
@mnozPrij NUMERIC(19,6)
|
||||
@mnozPrij NUMERIC(19,6),
|
||||
@genDodatecnyPrijem BIT=0
|
||||
|
||||
|
||||
|
||||
@ -62,13 +68,15 @@ SET @idUziv = ISNULL(@idUziv, 0)
|
||||
|
||||
SET @denSmena = ISNULL(@denSmena, N'')
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologPolo IS NULL)
|
||||
SELECT @sklTechnologPolo=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%pol%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna'
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' AND CisloStr LIKE N'2%'
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky)
|
||||
@ -311,7 +319,9 @@ DECLARE
|
||||
@alt702 NCHAR(1),
|
||||
@mnoz702 NUMERIC(19,6),
|
||||
@idMzda702 INT,
|
||||
@aktDat DATETIME
|
||||
@aktDat DATETIME,
|
||||
@idKZPomoc INT,
|
||||
@jc NUMERIC(19,6)
|
||||
|
||||
SET @aktDat = GETDATE()
|
||||
|
||||
@ -398,25 +408,25 @@ WHILE (1=1)
|
||||
|
||||
|
||||
|
||||
-- begin: prijemka nedostatecneho materialu
|
||||
|
||||
-- begin: prijemka materialu pro vydejku (1:1)
|
||||
SET @idDZPomocPrij=NULL
|
||||
DECLARE pomPrij CURSOR LOCAL FOR
|
||||
SELECT p.IDZboSklad, p.Mnozstvi
|
||||
SELECT p.IDZboSklad, p.Mnozstvi, s.IDKmenZbozi
|
||||
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.Material=1 AND k.Sluzba=0
|
||||
OPEN pomPrij
|
||||
WHILE (1=1)
|
||||
WHILE (1=1) AND (1=0)
|
||||
BEGIN
|
||||
FETCH NEXT FROM pomPrij INTO @idSSPomocPrij, @mnozVydej
|
||||
FETCH NEXT FROM pomPrij INTO @idSSPomocPrij, @mnozVydej, @idKZPomoc
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozSklad = ISNULL( (SELECT Mnozstvi+MnozstviKPrijmu-MnozstviKVydeji FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
|
||||
IF (@mnozVydej>@mnozSklad)
|
||||
IF (@mnozVydej>0)
|
||||
BEGIN
|
||||
SET @mnozPrij = @mnozVydej - @mnozSklad
|
||||
SET @mnozPrij = @mnozVydej
|
||||
IF (@idDZPomocPrij IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZPomocPrij OUT, @Sklad=@sklTechnolog, @DruhPohybu=0, @RadaDokladu=@radaPrijem, @CisloOrg=0
|
||||
@ -428,50 +438,90 @@ WHILE (1=1)
|
||||
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
|
||||
IF (@idPZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
SET @jc = 0
|
||||
SET @idSSPomocPek = (SELECT ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklPekarna AND IDKmenZbozi=@idKZPomoc)
|
||||
IF (@idSSPomocPek IS NULL)
|
||||
SET @idSSPomocPek = (SELECT ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklMatHlavni AND IDKmenZbozi=@idKZPomoc)
|
||||
IF (@idSSPomocPek IS NOT NULL)
|
||||
SET @jc = ISNULL( (SELECT CASE MnozFinReal WHEN 0 THEN 0 ELSE StavSkladuSouvis/MnozFinReal END FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPek), 0)
|
||||
UPDATE dbo.TabPohybyZbozi SET JCbezDaniKc=ISNULL(@jc, 1) WHERE Id=@idPZPomocPrij
|
||||
END -- @idPZPomocPrij
|
||||
END -- @idDZPomocPrij
|
||||
END -- @mnozVydej>0
|
||||
END
|
||||
CLOSE pomPrij
|
||||
DEALLOCATE pomPrij
|
||||
IF (@idDZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=@idDZPomocPrij, @AktualizaceSlev=0
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZPomocPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (1) p<><70>jemky korekce (ID prijemky ' + CONVERT(nvarchar, @idDZPomocPrij) + N') naskladn<64>n<EFBFBD> pro v<>dejku: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
-- end: prijemka nedostatecneho materialu
|
||||
END -- @idDZPomocPrij IS NOT NULL
|
||||
-- end: prijemka materialu pro vydejku (1:1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- realizace vydejky
|
||||
IF (@realizujVydej=1)
|
||||
BEGIN
|
||||
SET @tranCount=@@TRANCOUNT
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF (@tranCount=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK
|
||||
SET @opakReal=0
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
IF (CHARINDEX(N'71553', @errMsg)>0)
|
||||
SET @opakReal=1
|
||||
IF (@opakReal=0)
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace v<>dejky p<><70>kazu: ' + @errMsg, @idVyd
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace v<>dejky: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
|
||||
IF (@opakReal=1)
|
||||
BEGIN
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT
|
||||
SET @tranCount=@@TRANCOUNT
|
||||
SET @errMsg = N''
|
||||
SET @genDodatecnyPrijem=1
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT, @IDDokladPrijem=@idDZOut OUT
|
||||
IF (@errMsg=N'')
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
ELSE
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba korekce naskladneni pro vydejku: ' + @errMsg, @idVyd
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (2) p<><70>jemky korekce (ID ' + CONVERT(nvarchar, @idDZOut) + N') naskladn<EFBFBD>n<EFBFBD> pro v<EFBFBD>dejku: ' + @errMsg, @idVyd
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF (@tranCount=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (2) opakovan<61> realizace v<>dejky: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
|
||||
-- znovu otestuj
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE ID=@idVyd AND Realizovano=0) AND (@genDodatecnyPrijem=0)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SET @genDodatecnyPrijem=1
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT, @IDDokladPrijem=@idDZOut OUT
|
||||
IF (@errMsg=N'')
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
ELSE
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (3) p<><70>jemky korekce (ID ' + CONVERT(nvarchar, @idDZOut) + N') naskladn<64>n<EFBFBD> pro v<>dejku: ' + @errMsg, @idVyd
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba opakovane realizace v<>dejky p<><70>kazu: ' + @errMsg, @idVyd
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (3) opakovan<EFBFBD> realizace v<>dejky: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
|
||||
|
||||
Reference in New Issue
Block a user