Uprava CreateWaitableTimer pri uzavreni timeru (Rootvin)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
-- dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew
|
||||
@zaPocetDnu SMALLINT=5,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
@@ -52,6 +53,7 @@ DECLARE
|
||||
@sklMatHlavni NVARCHAR(30), -- 311
|
||||
@sklPekarna NVARCHAR(30), -- 211
|
||||
@sklTechnolog NVARCHAR(30), -- 261
|
||||
@sklTechnologHV NVARCHAR(30), -- 262
|
||||
@skladFin NVARCHAR(30), -- 312
|
||||
@mnoz NUMERIC(19,6),
|
||||
@mnozVydano NUMERIC(19,6),
|
||||
@@ -69,7 +71,9 @@ IF OBJECT_ID(N'tempdb..#VyrobaGenObjednavkuMatDoVyrobyNew', N'U') IS NOT NULL
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT TOP(1) @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavní sklad - Materiál' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT TOP(1) @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NEÚÈ%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
SELECT TOP(1) @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NEÚÈ%' AND Nazev NOT LIKE N'%polotov%' AND Nazev NOT LIKE N'%HV%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologHV IS NULL)
|
||||
SELECT TOP(1) @sklTechnologHV=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NEÚÈ%' AND (Nazev LIKE N'%polotov%' OR Nazev LIKE N'%HV%') AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT TOP(1) @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Výroba - Pekárna' AND CisloStr LIKE N'2%'
|
||||
|
||||
@@ -98,13 +102,13 @@ DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ NOT IN (SELECT ID FROM
|
||||
SET @genDokladMat=0
|
||||
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=1 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<6
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<=@zaPocetDnu
|
||||
)
|
||||
BEGIN
|
||||
SET @genDokladMat=1
|
||||
SET @datumDokladuMat = (SELECT MIN(o.DatPorizeni) FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=1 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<6
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<=@zaPocetDnu
|
||||
)
|
||||
END
|
||||
SET @datumDokladuMat = ISNULL(@datumDokladuMat, GETDATE())
|
||||
@@ -114,13 +118,13 @@ SET @datumDokladuMat = ISNULL(@datumDokladuMat, GETDATE())
|
||||
SET @genDokladFin=0
|
||||
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=0 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<6
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<=@zaPocetDnu
|
||||
)
|
||||
BEGIN
|
||||
SET @genDokladFin=1
|
||||
SET @datumDokladuFin = (SELECT MIN(o.DatPorizeni) FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=0 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<6
|
||||
AND DATEDIFF(day, o.DatPorizeni, GETDATE())<=@zaPocetDnu
|
||||
)
|
||||
END
|
||||
SET @datumDokladuFin = ISNULL(@datumDokladuFin, GETDATE())
|
||||
@@ -142,7 +146,7 @@ IF (@genDokladMat=1) OR (@genDokladFin=1)
|
||||
AND Vratka=0
|
||||
AND Blokovano=0
|
||||
AND IDPhIdent2 IS NOT NULL
|
||||
AND DATEDIFF(day, DatPorizeni, GETDATE())<6
|
||||
AND DATEDIFF(day, DatPorizeni, GETDATE())<=@zaPocetDnu
|
||||
GROUP BY JeMaterial
|
||||
OPEN m
|
||||
WHILE (1=1)
|
||||
@@ -216,7 +220,7 @@ IF (@genDokladMat=1) OR (@genDokladFin=1)
|
||||
AND Blokovano=0
|
||||
AND IDPhIdent2 IS NOT NULL
|
||||
AND JeMaterial=@material
|
||||
AND DATEDIFF(day, DatPorizeni, GETDATE())<6
|
||||
AND DATEDIFF(day, DatPorizeni, GETDATE())<=@zaPocetDnu
|
||||
ORDER BY DatPorizeni
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
@@ -300,6 +304,10 @@ IF (@genDokladMat=1) OR (@genDokladFin=1)
|
||||
END -- @idZboSklad IS NOT NULL
|
||||
END -- @mnoz>0
|
||||
|
||||
UPDATE dbo._TabVyroba_Objednavky SET DatZpracovani=GETDATE() WHERE ID=@idObj
|
||||
UPDATE dbo._TabVyroba_Objednavky SET PocetPohybuOZ=ISNULL( (SELECT COUNT(ID) FROM dbo.TabPohybyZbozi_EXT WHERE _Vyroba_IDObjednavkaMat=@idObj), 0)
|
||||
WHERE ID=@idObj
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
@@ -339,7 +347,7 @@ WHILE (1=1)
|
||||
SET @mnozVydano = ISNULL( (SELECT SUM(op.Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol op WITH(NOLOCK) JOIN dbo.TabPohybyZbozi p WITH(NOLOCK) ON (p.ID=op.IDPohybOZ)
|
||||
WHERE op.IDHlava=@idObj AND p.SkutecneDatReal IS NOT NULL), 0)
|
||||
IF (@mnoz=@mnozVydano)
|
||||
UPDATE dbo._TabVyroba_Objednavky SET Splneno=1 WHERE ID=@idObj
|
||||
UPDATE dbo._TabVyroba_Objednavky SET Splneno=1, DatZpracovani=GETDATE() WHERE ID=@idObj
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
|
||||
Reference in New Issue
Block a user