Prvni verze

This commit is contained in:
2025-05-21 21:06:33 +02:00
parent a976e7392e
commit fedc940ac4
189 changed files with 72374 additions and 17 deletions

549
_sql/2UT/2UT.sql Normal file
View File

@ -0,0 +1,549 @@
SET NOCOUNT ON
DECLARE
@iTemp INT,
@sql NVARCHAR(3000),
@idTab INT,
@sysTabName NVARCHAR(128),
@hvwName NVARCHAR(128),
@idCol INT,
@trigger NVARCHAR(max)
SET @sysTabName = '_TabVyroba_Palety'
SET @hvwName = 'hvw_Vyroba_Palety'
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivTabulka), 1)
DBCC CHECKIDENT (TabDefTabUzivTabulka, RESEED, @iTemp)
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivAtributy), 1)
DBCC CHECKIDENT (TabDefTabUzivAtributy, RESEED, @iTemp)
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabDefTabUzivConstraint), 1)
DBCC CHECKIDENT (TabDefTabUzivConstraint, RESEED, @iTemp)
-- tabulka
SET @idTab = (SELECT ID FROM dbo.TabDefTabUzivTabulka WHERE NazevTabulky=@sysTabName)
IF (@idTab IS NULL)
BEGIN
INSERT dbo.TabDefTabUzivTabulka (Skupina, Popis, NazevTabulky, NazevPrehledu)
SELECT N'', 'Vyroben<EFBFBD> palety', @sysTabName, @hvwName
SET @idTab = SCOPE_IDENTITY()
END
-- sloupce
IF (@idTab IS NOT NULL)
BEGIN
/*
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUHeliosAttr, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrEditor, EdAtrPoradi, EdAtrHlidat, EdAtrSkrytyPrenos, EdAtrInfoAtr1, EdAtrInfoAtr2, EdAtrPrenosDPSN, EdAtrPrenosIDFiltr, EdAtrPodminka)
*/
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Typ')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 1, N'Typ', N'Typ', 2, 0, 0, N'''0''', 0,
NULL, NULL, N'0=nedefinovano
1=vyrobek pekarna (vlastni)
2=vyrobek pekarna (externi)
3=material
4=zbozi
5=nestandard', 20, N'', 1, 1, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Typ')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Typ TINYINT NOT NULL DEFAULT 0'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'CisloPalety')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 2, N'CisloPalety', N'Ozna<EFBFBD>en<EFBFBD>/<2F><>slo palety', 6, 50, 0, N'', 0,
NULL, NULL, NULL, 20, N'', 1, 1, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'CisloPalety')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD CisloPalety NVARCHAR(50) NOT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Sarze')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 3, N'Sarze', N'<EFBFBD>ar<EFBFBD>e', 6, 30, 1, N'', 0,
NULL, NULL, NULL, 30, N'', 1, 1, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Sarze')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Sarze NVARCHAR(30) NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'CisloOrg')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 4, N'CisloOrg', N'Organizace', 0, 0, 1, N'', 0,
NULL, NULL, NULL, 20, N'', 1, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'CisloOrg')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD CisloOrg INT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPrikaz')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 5, N'IDPrikaz', N'V<EFBFBD>robn<EFBFBD> p<><70>kaz', 0, 0, 1, N'', 0,
NULL, NULL, NULL, 20, N'', 0, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDPrikaz')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDPrikaz INT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDStroj')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 6, N'IDStroj', N'Stroj', 0, 0, 1, N'', 0,
NULL, NULL, NULL, 20, N'', 0, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDStroj')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDStroj INT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatZahajeni')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 7, N'DatZahajeni', N'Datum zah<61>jen<65> v<>roby', 9, 0, 1, N'', 0,
NULL, NULL, NULL, 70, N'', 1, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatZahajeni')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatZahajeni DATETIME NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatUkonceni')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 8, N'DatUkonceni', N'Datum ukon<6F>en<65> v<>roby', 9, 0, 1, N'', 0,
NULL, NULL, NULL, 70, N'', 1, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatUkonceni')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatUkonceni DATETIME NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Mnozstvi')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 9, N'Mnozstvi', N'Mno<EFBFBD>stv<EFBFBD> KA', 1, 0, 0, N'0', 0,
NULL, NULL, NULL, 60, N'', 1, 0, 1, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'Mnozstvi')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD Mnozstvi SMALLINT NOT NULL DEFAULT 0'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'MnozstviKA')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 10, N'MnozstviKA', N'Mno<EFBFBD>stv<EFBFBD> KA', 1, 0, 0, N'0', 0,
NULL, NULL, NULL, 60, N'', 1, 0, 1, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'MnozstviKA')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD MnozstviKA SMALLINT NOT NULL DEFAULT 0'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'MnozstviPlneKA')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 11, N'MnozstviPlneKA', N'Mno<EFBFBD>stv<EFBFBD> pln<6C>ch KA na ne<6E>pln<6C> palet<65>', 1, 0, 0, N'0', 0,
NULL, NULL, NULL, 60, N'', 1, 0, 1, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'MnozstviPlneKA')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD MnozstviPlneKA SMALLINT NOT NULL DEFAULT 0'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'MnozstviPosledniKA')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 12, N'MnozstviPosledniKA', N'Mno<EFBFBD>stv<EFBFBD> ks v posledn<64>m KA', 1, 0, 0, N'0', 0,
NULL, NULL, NULL, 60, N'', 1, 0, 1, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'MnozstviPosledniKA')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD MnozstviPosledniKA SMALLINT NOT NULL DEFAULT 0'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatPorizeni')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 13, N'DatPorizeni', N'Datum po<70><6F>zen<65>', 9, 0, 0, N'GETDATE()', 0,
NULL, NULL, NULL, 70, N'', 1, 1, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatPorizeni')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatPorizeni DATETIME NOT NULL DEFAULT GETDATE()'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'JeCislo')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 14, N'JeCislo', N'Ozna<EFBFBD>en<EFBFBD> palety je <20><>slo', 5, 0, 0, N'', 1,
N'CONVERT(bit, CASE WHEN ISNUMERIC(CisloPalety)=1 THEN 1 ELSE 0 END)', NULL, NULL, 20, N'', 1, 1, 0, 1, 0,
0, 0, N''
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDKmen')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 15, N'IDKmen', N'Kmenov<EFBFBD> karta', 0, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDKmen')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDKmen INT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDVyrCisPrikaz')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 16, N'IDVyrCisPrikaz', N'V<EFBFBD> z p<><70>kazu', 0, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDVyrCisPrikaz')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDVyrCisPrikaz INT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'KusuVKA')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 17, N'KusuVKA', N'Po<EFBFBD>et ks v KA', 1, 0, 0, N'0', 0,
NULL, NULL, NULL, 40, N'', 1, 1, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'KusuVKA')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD KusuVKA SMALLINT NOT NULL DEFAULT 0'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatExpirace')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 18, N'DatExpirace', N'Datum expirace', 9, 0, 1, N'', 0,
NULL, NULL, NULL, 70, N'', 1, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatExpirace')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatExpirace DATETIME NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPlanRozpis')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 19, N'IDPlanRozpis', N'ID kapac.pl<70>nu', 0, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'IDPlanRozpis')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD IDPlanRozpis INT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'DatPlan')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 20, N'DatPlan', N'Datum pl<70>novan<61> v<>roby', 9, 0, 1, N'', 0,
NULL, NULL, NULL, 70, N'', 1, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'DatPlan')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD DatPlan DATETIME NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'HodinaPlan')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 21, N'HodinaPlan', N'Hodina pl<70>novan<61> v<>roby', 2, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 1, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'HodinaPlan')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD HodinaPlan TINYINT NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'JSONDataStart')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 22, N'JSONDataStart', N'JSON odeslan<61> PH p<>i startu palety', 14, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 0, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'JSONDataStart')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD JSONDataStart NVARCHAR(max) NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'JSONDataKonec')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 23, N'JSONDataKonec', N'JSON odeslan<61> PH p<>i ukon<6F>en<65> palety', 14, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 0, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'JSONDataKonec')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD JSONDataKonec NVARCHAR(max) NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'JSONStartResp')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 24, N'JSONStartResp', N'JSON p<>ijat<61> od PH p<>i startu palety', 14, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 0, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'JSONStartResp')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD JSONStartResp NVARCHAR(max) NULL'
EXEC sp_executesql @sql
END
SET @idCol = (SELECT ID FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'JSONKonecResp')
IF (@idCol IS NULL)
INSERT dbo.TabDefTabUzivAtributy
(IDDefinice, Poradi, DTUAtrJmenoSys, DTUAtrJmenoVerejne, DTUAtrTyp, DTUAtrDelka, DTUAtrNull, DTUAtrServerDefault, DTUAtrDruh,
DTUAtrPocitany, DTUAtrErrTextStr, DTUAtrKonverze, DTUAtrSirkaSloupce, DTUAtrMaska, DTUAtrVerejny, DTUAtrVyzadovany, DTUAtrSumovat, DTUAtrTisk, DTUEditovatelny,
DTUReadOnly, DTUHromadneZmeny, EdAtrPrenosDPSN)
SELECT @idTab, 25, N'JSONKonecResp', N'JSON p<>ijat<61> od PH p<>i ukon<6F>en<65> palety', 14, 0, 1, N'', 0,
NULL, NULL, NULL, 40, N'', 0, 0, 0, 0, 0,
0, 0, N''
IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS where table_name=@sysTabName AND column_name=N'JSONKonecResp')
BEGIN
SET @sql = N'ALTER TABLE ' + @sysTabName + ' ADD JSONKonecResp NVARCHAR(max) NULL'
EXEC sp_executesql @sql
END
END
-- indexy
IF (@idTab IS NOT NULL)
IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=1 AND JmenoSys=N'PK__' + @sysTabName + N'__ID')
INSERT dbo.TabDefTabUzivConstraint
(IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
SELECT @idTab, N'PK__' + @sysTabName + N'__ID', 1, N'ID', N'', N'', N'', N'', N'', N'', N''
IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'Typ')
IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__Typ')
INSERT dbo.TabDefTabUzivConstraint
(IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
SELECT @idTab, N'IX__' + @sysTabName + N'__Typ', 0, N'Typ', N'', N'', N'', N'', N'', N'', N''
IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDPrikaz')
IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDPrikaz')
INSERT dbo.TabDefTabUzivConstraint
(IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
SELECT @idTab, N'IX__' + @sysTabName + N'__IDPrikaz', 0, N'IDPrikaz', N'', N'', N'', N'', N'', N'', N''
IF (@idTab IS NOT NULL) AND EXISTS (SELECT 1 FROM dbo.TabDefTabUzivAtributy WHERE IDDefinice=@idTab AND DTUAtrJmenoSys=N'IDStroj')
IF NOT EXISTS (SELECT 1 FROM dbo.TabDefTabUzivConstraint WHERE IDDefinice=@idTab AND Typ=0 AND JmenoSys=N'IX__' + @sysTabName + N'__IDStroj')
INSERT dbo.TabDefTabUzivConstraint
(IDDefinice, JmenoSys, Typ, MojeAtributy, CiziTabulka, CiziAtributy, IncludedAttr, VazbaNazevMoje, VazbaNazevMojeSys, VazbaNazevCizi, VazbaNazevCiziSys)
SELECT @idTab, N'IX__' + @sysTabName + N'__IDStroj', 0, N'IDStroj', N'', N'', N'', N'', N'', N'', N''
-- trigger I/U/D
IF (@idTab IS NOT NULL)
BEGIN
SET @trigger=N'CREATE TRIGGER ht_TabVyroba_Palety_DIU ON _TabVyroba_Palety
FOR DELETE,INSERT,UPDATE
AS
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
IF @@ROWCOUNT = 0 RETURN
SET NOCOUNT ON
-- 1..insert, -1..delete, 0..update
DECLARE @JakaAkce INT
SET @JakaAkce = 0
IF EXISTS(SELECT*FROM INSERTED) SET @JakaAkce = @JakaAkce + 1
IF EXISTS(SELECT*FROM DELETED) SET @JakaAkce = @JakaAkce - 1
DECLARE
@errMsg NVARCHAR(500),
@id INT
-- delete cast
IF (@JakaAkce=-1)
BEGIN
DECLARE c CURSOR LOCAL FOR
SELECT d.ID
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id
IF (@@FETCH_STATUS<>0) BREAK
IF OBJECT_ID(N''dbo._TabVyroba_PaletyUkonceni'', N''U'') IS NOT NULL
DELETE FROM dbo._TabVyroba_PaletyUkonceni WHERE IDPalety=@id
IF OBJECT_ID(N''dbo._TabVyroba_PaletyPohybOZ'', N''U'') IS NOT NULL
DELETE FROM dbo._TabVyroba_PaletyPohybOZ WHERE IDPalety=@id
END
CLOSE c
DEALLOCATE c
END
-- cisteni
BEGIN TRY
IF EXISTS(SELECT 1 FROM dbo._TabVyroba_Palety)
BEGIN
SELECT @id=MAX(ID) FROM dbo._TabVyroba_Palety
DBCC CHECKIDENT(_TabVyroba_Palety, RESEED, @id)
END
ELSE
TRUNCATE TABLE dbo._TabVyroba_Palety
END TRY
BEGIN CATCH
SET @errMsg = ERROR_MESSAGE()
END CATCH
'
UPDATE dbo.TabDefTabUzivTabulka SET DefiniceTriggeru=@trigger WHERE ID=@idTab
END

42
_sql/_temp Normal file
View File

@ -0,0 +1,42 @@
-- dopln z dokladu posledni sarzi na stav skladu
SET NOCOUNT ON
DECLARE
@idPZ INT,
@idSS INT,
@idKZ INT,
@sarze NVARCHAR(100),
@paletList NVARCHAR(100)
MERGE dbo._hdc_PZ_PuvodniVC AS T
USING dbo.TabPohybyZbozi AS S ON (S.ID=T.IDPohybZbozi)
WHEN MATCHED THEN UPDATE SET T.IDZboSklad=S.IDZboSklad;
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT IDPohybZbozi, IDZboSklad, Sarze, PaletovyList FROM dbo._hdc_PZ_PuvodniVC
WHERE IDPohybZbozi IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=29)
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @idPZ, @idSS, @sarze, @paletList
IF (@@FETCH_STATUS<>0) BREAK
IF (@idSS IS NULL)
SET @idSS = (SELECT IDZboSklad FROM dbo.TabPohybyZbozi WHERE ID=@idPZ)
IF (@idSS IS NOT NULL)
SET @idKZ = (SELECT IDKmenZbozi FROM dbo.TabStavSkladu WHERE ID=@idSS)
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=N'211')
IF NOT EXISTS (SELECT 1 FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS)
INSERT dbo.TabStavSkladu_EXT (ID) VALUES (@idSS)
UPDATE dbo.TabStavSkladu_EXT SET _Prevod_PosledniSarze=@sarze WHERE ID=@idSS
END
CLOSE c
DEALLOCATE c

View File

@ -0,0 +1,30 @@
DECLARE @currDat DATETIME=GETDATE()
IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_Vyroba_HmotTesta') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokladyZbozi', @NazevAtrSys=N'_Vyroba_HmotTesta', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'Hmotnost vyroben<65>ho t<>sta (kg)',
@NazevAtrVerZkr=N'Hm. t<>sta', @TypAtr=N'NUMERIC', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=8, @SumovatAtr=N'A', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_Vyroba_ZadatSarze') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokladyZbozi', @NazevAtrSys=N'_Vyroba_ZadatSarze', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'V<EFBFBD>dej z v<>roby - zadat <20>ar<61>e',
@NazevAtrVerZkr=N'', @TypAtr=N'SMALLINT', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'SMALLINT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'Identifikace zda na v<>dejce z v<>roby byly zad<61>ny <20>ar<61>e (1=polo<6C>ka s pot<6F>ebou <20>ar<61>e, 2=v<>e zad<61>no)', @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_Vyroba_DenSmena') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokladyZbozi', @NazevAtrSys=N'_Vyroba_DenSmena', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'V<EFBFBD>dej z v<>roby - den/sm<73>na',
@NazevAtrVerZkr=N'', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(10)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'ddmmyyyy/s', @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_Vyroba_IDPuvodniDoklad') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokladyZbozi', @NazevAtrSys=N'_Vyroba_IDPuvodniDoklad', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'ID p<>vodn<64>ho dokladu p<>evodu/v<>deje',
@NazevAtrVerZkr=N'', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabDokladyZbozi_EXT', N'_HDCAPI_PHident') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokladyZbozi', @NazevAtrSys=N'_HDCAPI_PHident', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'HDC API PH identifik<69>tor pro sync',
@NazevAtrVerZkr=N'', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=10, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL

View File

@ -0,0 +1,12 @@
DECLARE @currDat DATETIME=GETDATE()
IF (COL_LENGTH(N'dbo.TabEvidRozpracOperR_EXT', N'_Sarze') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabEvidRozpracOperR', @NazevAtrSys=N'_Sarze', @Skupina=NULL, @NazevAtrVer=N'<EFBFBD>ar<EFBFBD>e',
@NazevAtrVerZkr=N'', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=12, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(30)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabEvidRozpracOperR_EXT', N'_KoefMnoz') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabEvidRozpracOperR', @NazevAtrSys=N'_KoefMnoz', @Skupina=NULL, @NazevAtrVer=N'Koeficient mno<6E>stv<74>',
@NazevAtrVerZkr=N'', @TypAtr=N'NUMERIC', @MaskaAtr=N'0.####', @VerejnyAtr=N'A', @SirkaSloupceAtr=12, @SumovatAtr=N'A', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC(19,6)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL

View File

@ -0,0 +1,14 @@
DECLARE @currDat DATETIME=GETDATE()
IF (COL_LENGTH(N'dbo.TabKmenZbozi_EXT', N'_Vyroba_ZadavatSarzi') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabKmenZbozi', @NazevAtrSys=N'_Vyroba_ZadavatSarzi', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'V<EFBFBD>roba - vy<76>adovat <20>ar<61>i',
@NazevAtrVerZkr=N'V<EFBFBD>dej <20>ar<61>e', @TypAtr=N'BIT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'BIT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'P<EFBFBD>i v<>deji ve v<>rob<6F> vy<76>adovat zad<61>n<EFBFBD> <20>ar<61>e', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1
IF (COL_LENGTH(N'dbo.TabKmenZbozi_EXT', N'_Prevod_PosledniSarze') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabKmenZbozi', @NazevAtrSys=N'_Prevod_PosledniSarze', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'V<EFBFBD>roba - posledn<64> p<>eveden<65> <20>ar<61>e',
@NazevAtrVerZkr=N'Posledn<EFBFBD> <20>ar<61>e', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'<EFBFBD>ar<EFBFBD>e z posledn<64> p<>evodky-p<><70>jemky mezi sklady', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1

View File

@ -0,0 +1,51 @@
DECLARE @errMsg NVARCHAR(255), @currDat DATETIME=GETDATE()
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_HDCAPI_PHident') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_HDCAPI_PHident', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'HDC API PH identifik<69>tor pro sync',
@NazevAtrVerZkr=N'HDCAPIPHid', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=1,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_PrikazMnoz') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Vyroba_PrikazMnoz', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'Mno<EFBFBD>stv<EFBFBD> po<70>adavku z p<><70>kazu (norma)',
@NazevAtrVerZkr=N'P<EFBFBD><EFBFBD>kaz mno<6E>.', @TypAtr=N'NUMERIC', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=8, @SumovatAtr=N'A', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC(19,6)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_Sarze') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Vyroba_Sarze', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'<EFBFBD>ar<EFBFBD>e materi<72>lu',
@NazevAtrVerZkr=N'<EFBFBD>ar<EFBFBD>e', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=12, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_PaletList') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Vyroba_PaletList', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'Paletov<EFBFBD> list',
@NazevAtrVerZkr=N'Palet. list', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=16, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(30)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Mouka_Silo') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Mouka_Silo', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'Silo um<75>st<73>n<EFBFBD> mouky',
@NazevAtrVerZkr=N'Silo', @TypAtr=N'SMALLINT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=12, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'SMALLINT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Vyroba_MnozSouhrVydej') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPohybyZbozi', @NazevAtrSys=N'_Vyroba_MnozSouhrVydej', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'Mno<EFBFBD>stv<EFBFBD> zapsan<61> na souhrnnou v<>dejku',
@NazevAtrVerZkr=N'Mn.souhr.v<>dej', @TypAtr=N'NUMERIC', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=12, @SumovatAtr=N'A', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC(19,6)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
/*
BEGIN TRY
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Mouka_Silo') IS NOT NULL)
BEGIN
DELETE FROM dbo.TabUzivAtr WHERE NazevTabulkySys=N'TabPohybyZbozi' AND NazevAtrSys=N'_Mouka_Silo'
IF (COL_LENGTH(N'dbo.TabPohybyZbozi_EXT', N'_Mouka_Silo') IS NOT NULL)
ALTER TABLE dbo.TabPohybyZbozi_EXT DROP COLUMN _Mouka_Silo
END
END TRY
BEGIN CATCH
SET @errMsg = ERROR_MESSAGE()
END CATCH
*/

View File

@ -0,0 +1,21 @@
DECLARE @currDat DATETIME=GETDATE()
/*
IF (COL_LENGTH(N'dbo.TabStavSkladu_EXT', N'_HDCApi_PoslPrevedSarze') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabStavSkladu', @NazevAtrSys=N'_HDCApi_PoslPrevedSarze', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Posledn<64> p<>eveden<65> <20>ar<61>e',
@NazevAtrVerZkr=N'Posl. <20>ar<61>e', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=16, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1
*/
IF (COL_LENGTH(N'dbo.TabStavSkladu_EXT', N'_Prevod_PosledniSarze') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabStavSkladu', @NazevAtrSys=N'_Prevod_PosledniSarze', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'V<EFBFBD>roba - posledn<64> p<>eveden<65> <20>ar<61>e',
@NazevAtrVerZkr=N'Posledn<EFBFBD> <20>ar<61>e', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'<EFBFBD>ar<EFBFBD>e z posledn<64> p<>evodky-p<><70>jemky mezi sklady', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1
IF (COL_LENGTH(N'dbo.TabStavSkladu_EXT', N'_Prevod_PosledniPaletList') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabStavSkladu', @NazevAtrSys=N'_Prevod_PosledniPaletList', @Skupina=N'Plugin Pek<65>rna', @NazevAtrVer=N'V<EFBFBD>roba - posledn<64> p<>eveden<65> paletov<6F> list',
@NazevAtrVerZkr=N'Posledn<EFBFBD> PalList', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'Paletov<EFBFBD> list z posledn<64> p<>evodky-p<><70>jemky mezi sklady', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1

View File

@ -0,0 +1,6 @@
DECLARE @currDat DATETIME=GETDATE()
IF (COL_LENGTH(N'dbo.TabVazbyPrikazu_EXT', N'_MnozstviOdv') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabVazbyPrikazu', @NazevAtrSys=N'_MnozstviOdv', @Skupina=NULL, @NazevAtrVer=N'Mno<EFBFBD>stv<EFBFBD> odveden<65> na vy<76><79><EFBFBD> p<><70>kaz',
@NazevAtrVerZkr=N'Mno<EFBFBD>stv<EFBFBD> odv.', @TypAtr=N'NUMERIC', @MaskaAtr=N'#,##0.###', @VerejnyAtr=N'V', @SirkaSloupceAtr=14, @SumovatAtr=N'A', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC(19,6)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL

9
_sql/ef_Bit2Int.sql Normal file
View File

@ -0,0 +1,9 @@
-- dbo.ef_Bit2Int
CREATE FUNCTION dbo.ef_Bit2Int (@inBool BIT) RETURNS TINYINT
AS
BEGIN
-- !! funkci neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
RETURN CONVERT(tinyint, CASE WHEN @inBool=1 THEN 1 ELSE 0 END)
END

30
_sql/ef_DilecGetStroj.sql Normal file
View File

@ -0,0 +1,30 @@
-- dbo.ef_DilecGetStroj
CREATE FUNCTION dbo.ef_DilecGetStroj (@IDKmen INT=NULL, @NazevOp NVARCHAR(100)=NULL)
RETURNS INT
AS
BEGIN
-- !! funkci neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
DECLARE
@retVal INT=NULL
IF (@IDKmen IS NULL)
RETURN @retVal
SET @NazevOp = ISNULL(@NazevOp, N'')
IF (@NazevOp<>N'')
BEGIN
IF 1=(SELECT COUNT(ID) FROM dbo.TabPostup WHERE Dilec=@IDKmen AND ZmenaDo IS NULL AND IDStroje IS NOT NULL AND Nazev LIKE @NazevOp + N'%')
SELECT @retVal=IDStroje FROM dbo.TabPostup WHERE Dilec=@IDKmen AND ZmenaDo IS NULL AND IDStroje IS NOT NULL AND Nazev LIKE @NazevOp + N'%'
END
ELSE
BEGIN
IF 1=(SELECT COUNT(ID) FROM dbo.TabPostup WHERE Dilec=@IDKmen AND ZmenaDo IS NULL AND IDStroje IS NOT NULL)
SELECT @retVal=IDStroje FROM dbo.TabPostup WHERE Dilec=@IDKmen AND ZmenaDo IS NULL AND IDStroje IS NOT NULL
END
RETURN @retVal
END

View File

@ -0,0 +1,25 @@
-- dbo.ef_GetDatumASmenu
CREATE FUNCTION dbo.ef_GetDatumASmenu (@Datum DATETIME)
RETURNS @retTab TABLE (Datum DATE, Smena TINYINT)
AS
BEGIN
-- !! funkci neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
DECLARE
@hod TINYINT,
@lDatum DATE,
@smena SMALLINT
SET @lDatum = @Datum
SET @hod = DATEPART(hour, @Datum)
SET @smena = IIF(@hod BETWEEN 0 AND 5, -1, IIF(@hod BETWEEN 6 AND 13, 1, IIF(@hod BETWEEN 14 AND 21, 2, 3)))
IF (@smena=-1)
BEGIN
SET @smena = 3
SET @lDatum = DATEADD(day, -1, @Datum)
END
INSERT @retTab SELECT @lDatum, @smena
RETURN
END

View File

@ -0,0 +1,9 @@
-- dbo.ef_Kmen_VratPocetKsVKartonu
CREATE FUNCTION dbo.ef_Kmen_VratPocetKsVKartonu (@IDKmenZbozi INT)
RETURNS NUMERIC(19,6)
AS
BEGIN
DECLARE @retVal NUMERIC(19,6)
SET @retVal = ISNULL( (SELECT PocetOdvozene FROM dbo.TabMJZbozi WHERE IDKmenZbozi=@IDKmenZbozi AND KodMJ1=N'KA' AND KodMJ2=N'ks'), 0)
RETURN @retVal
END

View File

@ -0,0 +1,40 @@
-- ef_Vyroba_GenerujRozpadCasu
CREATE FUNCTION dbo.ef_Vyroba_GenerujRozpadCasu (
@datStart DATETIME=NULL,
@numOfDays SMALLINT=3,
@stepMinutes SMALLINT=60
)
/*
RETURNS TABLE
AS
RETURN
(
WITH Recursive_CTE AS
(
SELECT dbo.hf_TruncDate(ISNULL(@datStart, GETDATE())) AS TimestampUtc
UNION ALL
SELECT DATEADD(MINUTE, @stepMinutes, TimestampUtc)
FROM Recursive_CTE
WHERE TimestampUtc < DATEADD(ms, -3, dbo.hf_TruncDate(DATEADD(DAY, @numOfDays, DATEADD(DAY, 1, ISNULL(@datStart, GETDATE())))))
)
SELECT *
FROM Recursive_CTE
)
*/
RETURNS @Result TABLE (TimestampUtc DATETIME)
AS
BEGIN
DECLARE @currentTimestamp DATETIME = dbo.hf_TruncDate(ISNULL(@datStart, GETDATE()));
DECLARE @endTimestamp DATETIME = DATEADD(ms, -3, dbo.hf_TruncDate(DATEADD(DAY, @numOfDays, DATEADD(DAY, 1, ISNULL(@datStart, GETDATE())))));
WHILE @currentTimestamp <= @endTimestamp
BEGIN
INSERT INTO @Result (TimestampUtc)
VALUES (@currentTimestamp);
SET @currentTimestamp = DATEADD(MINUTE, @stepMinutes, @currentTimestamp);
END;
RETURN;
END

View File

@ -0,0 +1,43 @@
-- dbo.ef_Vyroba_VratCisloSarze
CREATE FUNCTION dbo.ef_Vyroba_VratCisloSarze (@Datum DATETIME=NULL, @Typ TINYINT=1, @iso BIT=1)
RETURNS NVARCHAR(5)
AS
BEGIN
DECLARE
@smena TINYINT=0,
@pracDen NCHAR(1)=N'',
@tyden NCHAR(2)=N'',
@retVal NVARCHAR(5),
@den TINYINT,
@NYden TINYINT
SET @Datum = ISNULL(@Datum, GETDATE())
SELECT @smena=Smena, @Datum=Datum FROM dbo.ef_GetDatumASmenu (@Datum)
SET @NYden = DATEPART(weekday, '20240101') -- pondeli
--SET @pracDen = CONVERT(nchar(1), (DATEPART(weekday, @Datum) + @@DATEFIRST - 2) % 7 + 1)
SET @den = DATEPART(weekday, @Datum)
IF (@NYden=1) -- system ma nastaveno pondeli=1, Rootvin potrebuje nedele=1
BEGIN
IF (@den=7) -- nedele=7 -> nedele=1
SET @den = 1
ELSE
SET @den = @den + 1
END
SET @pracDen = CONVERT(nchar(1), @den)
IF (@typ=1)
SET @tyden = IIF(@iso=0, FORMAT(DATEPART(week, @Datum), '00', 'cs-cz'), FORMAT(DATEPART(iso_week, @Datum), '00', 'cs-cz'))
IF (@typ=2)
SET @tyden = IIF(@iso=0, FORMAT(DATEPART(week, @Datum), '00', 'en-gb'), FORMAT(DATEPART(iso_week, @Datum), '00', 'en-gb'))
SET @retVal = RIGHT(FORMAT(@Datum, 'yy'), 1) + @tyden + @pracDen + FORMAT(@smena, '0')
RETURN @retVal
END

View File

@ -0,0 +1,108 @@
-- dbo.ef_Vyroba_VratNovyPaletovyList
CREATE FUNCTION dbo.ef_Vyroba_VratNovyPaletovyList (@typ TINYINT=1, @radaVPr NVARCHAR(10)=N'', @cisloOrg INT=NULL, @idKmenZbozi INT=NULL)
RETURNS NVARCHAR(50)
AS
BEGIN
-- funkci neupravujte, stejne bude prepsana pri spusteni pluginu pro Planovani nebo Windows sluzbou HDC API
DECLARE
@retVal NVARCHAR(15),
@bi BIGINT,
@maska NVARCHAR(100)=NULL,
@delka TINYINT,
@sz NVARCHAR(3)
DECLARE
@skladNestd NVARCHAR(30)=N'211',
@radaPrijemNestd NVARCHAR(3)='270' -- vyrobky PEK
SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(VyrCislo AS BIGINT)) FROM dbo.TabVyrCisPrikaz WHERE VyrCislo LIKE N'5%'), 0)
IF (@bi = 1)
SET @bi = 5200001
SET @retVal = CONVERT(nvarchar, @bi)
IF EXISTS(SELECT 1 FROM Information_schema.Routines WHERE Specific_schema=N'dbo' AND specific_name=N'ef_Vyroba_VratNovyPaletovyList1' AND Routine_Type=N'FUNCTION')
SET @retVal = dbo.ef_Vyroba_VratNovyPaletovyList1 (@typ, @radaVPr, @cisloOrg, @idKmenZbozi)
/*
IF (@typ=2)
BEGIN
SET @delka = 0
IF (@radaVPr<>N'')
BEGIN
SET @maska=(SELECT MaskaProGenVyrCis FROM dbo.TabRadyPrikazu WHERE Rada=@radaVPr)
IF (@maska IS NOT NULL)
IF (@maska LIKE N'#%C')
SET @delka = CONVERT(tinyint, LEFT(SUBSTRING(@maska, 2, 50), CHARINDEX(N'C', SUBSTRING(@maska, 2, 50))-1))
END
SELECT @bi = 1 + MAX(ISNULL(TRY_PARSE(VyrCislo AS BIGINT), 0)) FROM dbo.TabVyrCisPrikaz
SET @retVal = CONVERT(nvarchar, @bi)
IF (@maska IS NULL) AND (@typ=2)
BEGIN
SELECT @bi = 1 + MAX(ISNULL(TRY_PARSE(VyrCislo AS BIGINT), 23000000)) FROM dbo.TabVyrCisPrikaz
SET @retVal = CONVERT(nvarchar, @bi)
END
ELSE
IF (@delka>0)
SET @retVal = REPLICATE(N'0', @delka - LEN(@retVal)) + @retVal
END
IF (@typ=3)
BEGIN
SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=1), 23000000)
SET @retVal = CONVERT(nvarchar, @bi)
END
IF (@typ=1) -- prijem nestandard
BEGIN
SELECT @bi = 1 + ISNULL(MAX(x.num), 8200000)
FROM (SELECT TRY_PARSE(vcs.Nazev1 AS BIGINT) AS num FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad) INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID) INNER JOIN dbo.TabVyrCS vcs ON (vcs.IDStavSkladu=p.IDZboSklad)
WHERE k.Nazev1 LIKE N'%nestandart%' AND CONVERT(nvarchar, p.Poznamka)=N'P<><50>jem nestandard' AND d.DruhPohybuZbo=0
AND d.IDSklad=@skladNestd AND ISNUMERIC(vcs.Nazev1)=1 AND d.RadaDokladu=@radaPrijemNestd
) x
SET @retVal = CONVERT(nvarchar, @bi)
END
IF (@idKmenZbozi IS NOT NULL) AND (@typ<>1)
BEGIN
SELECT @sz=SkupZbo FROM dbo.TabKmenZbozi WHERE ID=@idKmenZbozi
IF (@sz LIKE N'7%' AND @sz NOT LIKE N'70%')
SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=1), 5200000)
IF (@sz LIKE N'6%')
SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=2), 6200000)
IF (@sz LIKE N'1%')
SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=3), 7200000)
IF (@sz LIKE N'60%')
SET @bi = 1 + ISNULL( (SELECT MAX(TRY_PARSE(CisloPalety AS BIGINT)) FROM dbo._TabVyroba_Palety WHERE Typ=4), 8200000)
SET @retVal = CONVERT(nvarchar, @bi)
END
*/
RETURN @retVal
END

View 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

68
_sql/ep_P01.sql Normal file
View File

@ -0,0 +1,68 @@
/* HELIOS iNuvio | NTB-T | 2024-06-04 11:20:15 */
SET NOCOUNT ON
DECLARE @GUID BINARY(16),@Id INT,@Popis NVARCHAR(255),@UP NVARCHAR(255),@Parametry NVARCHAR(255),@IdBrowse INT,@Poznamka NVARCHAR(MAX),@Autor NVARCHAR(255),@DatPorizeni DATETIME,@Zmenil NVARCHAR(255),@DatZmeny DATETIME,@ParamHe INT,@Typ INT,@BidNavBrowse INT,@TextNavBrowse INT,@ZobrUkonceni BIT,@VerejnaAkce BIT,@ObnovitPoUkonceni BIT,@eServer BIT, @ZobrazitEditorPar BIT, @ObsluznyPlugin NVARCHAR(255),
@BlokovaniEditoru SMALLINT,@TextBrowse INT,@CyklickyEditor BIT,@SelectoTvurceVlastnikId BIT,@VstupneID NVARCHAR(255),@PosunPoZaznamech INT,@TechnickyPopis NVARCHAR(MAX),@Napoveda NVARCHAR(255),@Hotkey INT,@NavaznaAkce INT,@NavaznaAkceGUID BINARY(16),@Skupina NVARCHAR(255),@NazevPodmenu NVARCHAR(255),@PoradiVPodmenu INT,@err NVARCHAR(2047),@IdExtKom INT,@GUIDFiltr BINARY(16),@IDFiltr INT,@ErrStr NVARCHAR(2047),@SkriptPredSpustenim NVARCHAR(MAX),@Automatizace BIT
SELECT @Id=9999, @Popis=N'Spec - realizace p<><70>jemky (po)', @UP=N'dbo.ep_P01', @Parametry=N'', @IdBrowse=990990
SELECT @Poznamka=N'CREATE PROCEDURE dbo.ep_P01
@IDDoklad INT
AS
-- dopln<6C>k realizace skladovych prijmu, vola se na konci procesu realizace prijmu.
-- Vstupni parametr ID dokladu, vystup neni
SET NOCOUNT ON
DECLARE
@rada NVARCHAR(3),
@idSklad NVARCHAR(30)
SELECT @rada=RadaDokladu, @idSklad=IDSklad
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury
IF OBJECT_ID(N''dbo.ep_P01_HDC1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_P01_HDC1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury pro API
IF OBJECT_ID(N''dbo.ep_P01_HDCDZApi1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_P01_HDCDZApi1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
'
SELECT @Autor=N'Import HDC',@DatPorizeni='20240604 11:20:15.450',@Zmenil=NULL,@DatZmeny=NULL,@ParamHe=0,@Typ=0,@BidNavBrowse=NULL,@TextNavBrowse=NULL,@ZobrUkonceni=0,@VerejnaAkce=0
SELECT @NavaznaAkceGUID=CAST(NULL AS UNIQUEIDENTIFIER),@BlokovaniEditoru=NULL,@TextBrowse=990990,@CyklickyEditor=0,@SelectoTvurceVlastnikId=0,@VstupneID=NULL,@TechnickyPopis=NULL
SELECT @Napoveda=NULL,@Hotkey=0,@GUID=CAST(N'D2A38F2E-BB3C-41CC-AFF2-B3F63D9A0720' AS UNIQUEIDENTIFIER),@Skupina=N'',@NazevPodmenu=N'',@PoradiVPodmenu=0,@GUIDFiltr=CAST(NULL AS UNIQUEIDENTIFIER)
SELECT @eServer=0,@ZobrazitEditorPar=1,@ObsluznyPlugin=N'',@PosunPoZaznamech=0,@ObnovitPoUkonceni=1,@SkriptPredSpustenim=NULL,@Automatizace=0
SET @NavaznaAkce = NULL
SET @IDFiltr = NULL
IF NOT EXISTS(SELECT * FROM dbo.TabExtKom WHERE [UP]=N'dbo.ep_P01')
INSERT dbo.TabExtKom ([GUID], Popis, [UP], Parametry, IdBrowse, Poznamka, Autor,
DatPorizeni, Zmenil, DatZmeny, ParamHe, Typ, BidNavBrowse, TextNavBrowse,
ZobrUkonceni, VerejnaAkce, BlokovaniEditoru, TextBrowse, CyklickyEditor,
SelectoTvurceVlastnikId, VstupneID, TechnickyPopis, Napoveda, Hotkey,
NavaznaAkce, Skupina, NazevPodmenu, PoradiVPodmenu, IDFiltr,
eServer, ZobrazitEditorPar, ObsluznyPlugin, PosunPoZaznamech,
ObnovitPoUkonceni, SkriptPredSpustenim, Automatizace)
VALUES (@GUID, @Popis, @UP, @Parametry, @IdBrowse, @Poznamka, @Autor, @DatPorizeni,
@Zmenil, @DatZmeny, @ParamHe, @Typ, @BidNavBrowse, @TextNavBrowse, @ZobrUkonceni,
@VerejnaAkce, @BlokovaniEditoru, @TextBrowse, @CyklickyEditor, @SelectoTvurceVlastnikId,
@VstupneID, @TechnickyPopis, @Napoveda, @Hotkey, @NavaznaAkce, @Skupina, @NazevPodmenu,
@PoradiVPodmenu, @IDFiltr, @eServer, @ZobrazitEditorPar, @ObsluznyPlugin, @PosunPoZaznamech,
@ObnovitPoUkonceni, @SkriptPredSpustenim, @Automatizace)
SET @IdExtKom=(SELECT Id FROM dbo.TabExtKom WHERE GUID=@GUID)
DELETE dbo.TabExtKomPar WHERE IdExtKom=@IdExtKom
IF OBJECT_ID(N'dbo.ep_P01', N'P') IS NULL

160
_sql/ep_P01_HDC1.sql Normal file
View File

@ -0,0 +1,160 @@
-- dbo.ep_P01_HDC1
CREATE PROCEDURE dbo.ep_P01_HDC1
@IDDoklad INT
AS
-- HD Consulting Strakonice, T. Buzin
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu pro pekarnu nebo Windows sluzby HDCDZApi !!
-- vola se na konci procesu realizace prijemky (po uskutecneni prijmu ale pred konecnym COMMIT TRAN)
-- nastaveni skladu lze ovlivnit pres #HDCTabDefiniceProP01 (HlavniSkladMat NVARCHAR(30), TechnologickySklad NVARCHAR(30), SkladVyrobaPekarna NVARCHAR(30) )
-- pred finalizaci prijemky smaz vyrobni cisla (sarze hlida aplikace ProHoldingu, ale zapis si sarze do ext.info skladove karty
-- puvodni prirazeni VC k polozkam dokladu zapis do pomocne tabulice _hdc_PZ_PuvodniVC
SET NOCOUNT ON
DECLARE
@errMsg NVARCHAR(500),
@bChyba BIT,
@iTemp INT
DECLARE
@radaTechPrijem NVARCHAR(30)=N'251',
@sklTechnolog NVARCHAR(30),
@sklMatHlavni NVARCHAR(30),
@sklPekarna NVARCHAR(30)
DECLARE
@idDZDst INT,
@cOrg INT,
@dpz TINYINT,
@dpzOld TINYINT,
@datReal DATETIME,
@dzDatum DATETIME,
@dzMena NVARCHAR(3),
@dzKurz NUMERIC(19,6),
@dzKurzE NUMERIC(19,6),
@jednM INT,
@vstC TINYINT,
@radaDokl NVARCHAR(3),
@idSklad NVARCHAR(30),
@idSkladOld NVARCHAR(30),
@strChyba NVARCHAR(max)=N''
DECLARE
@idPZ INT,
@idPZOld INT,
@idPZNew INT,
@idSS INT,
@idKZ INT,
@idVCP INT,
@vyrCis NVARCHAR(100),
@poslVyrCis NVARCHAR(100),
@popisVC NVARCHAR(100), -- paletovy list
@moukaSilo SMALLINT,
@mnoz NUMERIC(19,6),
@mnozVCP NUMERIC(19,6),
@sz NVARCHAR(3),
@nazev1 NVARCHAR(100)
IF OBJECT_ID(N'tempdb..#HDCTabDefiniceProP01', N'U') IS NOT NULL
SELECT TOP(1) @sklMatHlavni=HlavniSkladMat, @sklPekarna=SkladVyrobaPekarna, @sklTechnolog=TechnologickySklad FROM #HDCTabDefiniceProP01
IF (@sklMatHlavni IS NULL)
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
IF (@sklTechnolog IS NULL)
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' 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'
DROP TABLE IF EXISTS #HDCTabDefiniceProP01
SELECT @dpz=DruhPohybuZbo, @radaDokl=RadaDokladu, @idSklad=IDSklad, @vstC=VstupniCena, @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro,
@jednM=JednotkaMeny, @cOrg=CisloOrg, @dzDatum=DatPorizeni, @datReal=DatRealizace
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
MERGE dbo._hdc_PZ_PuvodniVC AS T
USING dbo.TabPohybyZbozi AS S ON (S.ID=T.IDPohybZbozi)
WHEN MATCHED AND T.IDDoklad IS NULL THEN UPDATE SET T.IDDoklad=S.IDDoklad;
-- na hlavnim sklade - prijemky a storna prijmu na hlavnim skladu - kopie puvodnich VC
IF (@radaDokl IN (N'251', N'259', N'261', N'269')) AND (@idSklad=@sklMatHlavni)
BEGIN
INSERT dbo._hdc_PZ_PuvodniVC (IDPohybZbozi, IDDoklad, IDZboSklad, VyrCis, IDVyrCis, Mnozstvi, Sarze, PaletovyList, IDUmisteni)
SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
ORDER BY p.Poradi, vcp.ID
-- smaz vyrobni cisla, jejich evidenci vede ProHolding
DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad)
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END
-- prevodka/prijemka na sklad Pekarna
-- zapis posledni prevedene sarze
IF (@dpz=0) AND (@radaDokl=N'281')
BEGIN
DECLARE p CURSOR LOCAL FOR
SELECT p.ID, p.IDZboSklad, s.IDKmenZbozi, p.IDOldPolozka
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=@IDDoklad
AND k.Sluzba=0
ORDER BY p.Poradi
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @idPZ, @idSS, @idKZ, @idPZOld
IF (@@FETCH_STATUS<>0) BREAK
SET @vyrCis = (SELECT ISNULL(peN._Vyroba_Sarze, peO._Vyroba_Sarze)
FROM dbo.TabPohybyZbozi_EXT peN, dbo.TabPohybyZbozi_EXT peO WHERE peN.ID=@idPZ AND peO.ID=@idPZOld)
IF (@vyrCis IS NOT NULL)
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=@vyrCis WHERE ID=@idPZ
END
-- zapis posledni prevedenou sarzi
IF NOT EXISTS(SELECT 1 FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS)
INSERT dbo.TabStavSkladu_EXT (ID) VALUES (@idSS)
UPDATE dbo.TabStavSkladu_EXT SET _Prevod_PosledniSarze=@vyrCis WHERE ID=@idSS
SET @popisVC = (SELECT ISNULL(peN._Vyroba_PaletList, peO._Vyroba_PaletList)
FROM dbo.TabPohybyZbozi_EXT peN, dbo.TabPohybyZbozi_EXT peO WHERE peN.ID=@idPZ AND peO.ID=@idPZOld)
IF (@popisVC IS NOT NULL)
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_PaletList=@popisVC WHERE ID=@idPZ
END
SET @moukaSilo = (SELECT ISNULL(peN._Mouka_Silo, peO._Mouka_Silo)
FROM dbo.TabPohybyZbozi_EXT peN, dbo.TabPohybyZbozi_EXT peO WHERE peN.ID=@idPZ AND peO.ID=@idPZOld)
IF (@moukaSilo IS NOT NULL)
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 _Mouka_Silo=@moukaSilo WHERE ID=@idPZ
END
END
CLOSE p
DEALLOCATE p
END -- @radaDokl 281

67
_sql/ep_P03.sql Normal file
View File

@ -0,0 +1,67 @@
/* HELIOS iNuvio | NTB-T | 2024-06-04 11:20:15 */
SET NOCOUNT ON
DECLARE @GUID BINARY(16),@Id INT,@Popis NVARCHAR(255),@UP NVARCHAR(255),@Parametry NVARCHAR(255),@IdBrowse INT,@Poznamka NVARCHAR(MAX),@Autor NVARCHAR(255),@DatPorizeni DATETIME,@Zmenil NVARCHAR(255),@DatZmeny DATETIME,@ParamHe INT,@Typ INT,@BidNavBrowse INT,@TextNavBrowse INT,@ZobrUkonceni BIT,@VerejnaAkce BIT,@ObnovitPoUkonceni BIT,@eServer BIT, @ZobrazitEditorPar BIT, @ObsluznyPlugin NVARCHAR(255),
@BlokovaniEditoru SMALLINT,@TextBrowse INT,@CyklickyEditor BIT,@SelectoTvurceVlastnikId BIT,@VstupneID NVARCHAR(255),@PosunPoZaznamech INT,@TechnickyPopis NVARCHAR(MAX),@Napoveda NVARCHAR(255),@Hotkey INT,@NavaznaAkce INT,@NavaznaAkceGUID BINARY(16),@Skupina NVARCHAR(255),@NazevPodmenu NVARCHAR(255),@PoradiVPodmenu INT,@err NVARCHAR(2047),@IdExtKom INT,@GUIDFiltr BINARY(16),@IDFiltr INT,@ErrStr NVARCHAR(2047),@SkriptPredSpustenim NVARCHAR(MAX),@Automatizace BIT
SELECT @Id=9998, @Popis=N'Spec - realizace p<><70>jemky (p<>ed)', @UP=N'dbo.ep_P03', @Parametry=N'', @IdBrowse=990990
SELECT @Poznamka=N'CREATE PROCEDURE dbo.ep_P03
@IDDoklad INT
AS
-- p<>ed realizaci prijemky, po standardnich kontrolach, bezi uz v triggeru
SET NOCOUNT ON
DECLARE
@rada NVARCHAR(3),
@idSklad NVARCHAR(30)
SELECT @rada=RadaDokladu, @idSklad=IDSklad
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury
IF OBJECT_ID(N''dbo.ep_P03_HDC1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_P03_HDC1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury pro API
IF OBJECT_ID(N''dbo.ep_P03_HDCDZApi1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_P03_HDCDZApi1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
'
SELECT @Autor=N'Import HDC',@DatPorizeni='20240604 11:20:15.450',@Zmenil=NULL,@DatZmeny=NULL,@ParamHe=0,@Typ=0,@BidNavBrowse=NULL,@TextNavBrowse=NULL,@ZobrUkonceni=0,@VerejnaAkce=0
SELECT @NavaznaAkceGUID=CAST(NULL AS UNIQUEIDENTIFIER),@BlokovaniEditoru=NULL,@TextBrowse=990990,@CyklickyEditor=0,@SelectoTvurceVlastnikId=0,@VstupneID=NULL,@TechnickyPopis=NULL
SELECT @Napoveda=NULL,@Hotkey=0,@GUID=CAST(N'36FB0DA8-4645-4853-9684-71E17897692A' AS UNIQUEIDENTIFIER),@Skupina=N'',@NazevPodmenu=N'',@PoradiVPodmenu=0,@GUIDFiltr=CAST(NULL AS UNIQUEIDENTIFIER)
SELECT @eServer=0,@ZobrazitEditorPar=1,@ObsluznyPlugin=N'',@PosunPoZaznamech=0,@ObnovitPoUkonceni=1,@SkriptPredSpustenim=NULL,@Automatizace=0
SET @NavaznaAkce = NULL
SET @IDFiltr = NULL
IF NOT EXISTS(SELECT * FROM dbo.TabExtKom WHERE [UP]=N'dbo.ep_P03')
INSERT dbo.TabExtKom ([GUID], Popis, [UP], Parametry, IdBrowse, Poznamka, Autor,
DatPorizeni, Zmenil, DatZmeny, ParamHe, Typ, BidNavBrowse, TextNavBrowse,
ZobrUkonceni, VerejnaAkce, BlokovaniEditoru, TextBrowse, CyklickyEditor,
SelectoTvurceVlastnikId, VstupneID, TechnickyPopis, Napoveda, Hotkey,
NavaznaAkce, Skupina, NazevPodmenu, PoradiVPodmenu, IDFiltr,
eServer, ZobrazitEditorPar, ObsluznyPlugin, PosunPoZaznamech,
ObnovitPoUkonceni, SkriptPredSpustenim, Automatizace)
VALUES (@GUID, @Popis, @UP, @Parametry, @IdBrowse, @Poznamka, @Autor, @DatPorizeni,
@Zmenil, @DatZmeny, @ParamHe, @Typ, @BidNavBrowse, @TextNavBrowse, @ZobrUkonceni,
@VerejnaAkce, @BlokovaniEditoru, @TextBrowse, @CyklickyEditor, @SelectoTvurceVlastnikId,
@VstupneID, @TechnickyPopis, @Napoveda, @Hotkey, @NavaznaAkce, @Skupina, @NazevPodmenu,
@PoradiVPodmenu, @IDFiltr, @eServer, @ZobrazitEditorPar, @ObsluznyPlugin, @PosunPoZaznamech,
@ObnovitPoUkonceni, @SkriptPredSpustenim, @Automatizace)
SET @IdExtKom=(SELECT Id FROM dbo.TabExtKom WHERE GUID=@GUID)
DELETE dbo.TabExtKomPar WHERE IdExtKom=@IdExtKom
IF OBJECT_ID(N'dbo.ep_P03', N'P') IS NULL
EXEC sp_executesql @Poznamka

170
_sql/ep_P03_HDC1.sql Normal file
View File

@ -0,0 +1,170 @@
-- dbo.ep_P03_HDC1
CREATE PROCEDURE dbo.ep_P03_HDC1
@IDDoklad INT
AS
-- HD Consulting Strakonice, T. Buzin
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu pro pekarnu nebo Windows sluzby HDCDZApi !!
-- vol<6F> se p<>ed realizac<61> p<><70>jemky, po standardn<64>ch kontrol<6F>ch, b<><62><EFBFBD> u<> v triggeru
SET NOCOUNT ON
DECLARE
@errMsg NVARCHAR(500),
@iTemp INT
DECLARE
@rada NVARCHAR(3),
@idSklad NVARCHAR(30),
@sklMatHlavni NVARCHAR(30)=N'311',
@sklPekarna NVARCHAR(30)=N'211',
@sklTechnolog NVARCHAR(30),
@idPZ INT,
@idSS INT,
@idKZ INT,
@poslVyrCis NVARCHAR(100),
@idVCP INT,
@vyrCis NVARCHAR(100),
@siloMouka SMALLINT
IF OBJECT_ID(N'tempdb..#TabExtKom', N'U') IS NULL
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) )
IF OBJECT_ID(N'tempdb..#TabDefiniceProP03', N'U') IS NOT NULL
SELECT TOP(1) @sklMatHlavni=HlavniSkladMat, @sklPekarna=SkladVyrobaPekarna, @sklTechnolog=TechnologickySklad FROM #TabDefiniceProP03
IF (@sklMatHlavni IS NULL)
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
IF (@sklTechnolog IS NULL)
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' 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'
DROP TABLE IF EXISTS #TabDefiniceProP03
SELECT @rada=RadaDokladu, @idSklad=IDSklad
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- prijemka/prevodka na sklad Pekarna, zkontroluj zda mouka ma umisteni (ext.info pohybu OZ)
IF (@rada IN (N'251', N'261', N'281')) AND (@idSklad=@sklPekarna)
BEGIN
IF EXISTS(SELECT 1 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=@IDDoklad AND k.SkupZbo=N'101' AND k.Nazev1 LIKE N'%mouka%' AND p.IDUmisteni IS NULL)
BEGIN
SET @errMsg = N'Mouka zadan<61> na p<><70>jemce mus<75> m<>t zad<61>no um<75>st<73>n<EFBFBD> (Silo) ! (ep_P03)'
INSERT #TabExtKom (Typ, Poznamka) SELECT 3, LEFT(@errMsg, 255)
RAISERROR (@errMsg, 16, 1)
END
-- zapis posledni prevedene sarze na skladovou kartu skladu Pekarna
DECLARE p CURSOR LOCAL FOR
SELECT p.ID, p.IDZboSklad, 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=@IDDoklad
AND k.Sluzba=0
ORDER BY p.Poradi
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @idPZ, @idSS, @idKZ
IF (@@FETCH_STATUS<>0) BREAK
SET @poslVyrCis = N''
DECLARE v CURSOR LOCAL FOR
SELECT ID, Nazev
FROM dbo.TabVyrCP
WHERE IDPolozkaDokladu=@idPZ
AND TRIM(ISNULL(Nazev,N''))<>N''
ORDER BY ID
OPEN v
WHILE (1=1)
BEGIN
FETCH NEXT FROM v INTO @idVCP, @vyrCis
IF (@@FETCH_STATUS<>0) BREAK
SET @poslVyrCis = @vyrCis
END
CLOSE v
DEALLOCATE v
IF (@poslVyrCis<>N'')
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS)
INSERT dbo.TabStavSkladu_EXT (ID) VALUES (@idSS)
UPDATE dbo.TabStavSkladu_EXT SET _Prevod_PosledniSarze=@poslVyrCis WHERE ID=@idSS
END
END
CLOSE p
DEALLOCATE p
DECLARE c CURSOR LOCAL FOR
SELECT p.ID, CONVERT(smallint, u.Kod)
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabUmisteni u ON (u.ID=p.IDUmisteni)
WHERE p.IDDoklad=@IDDoklad AND k.SkupZbo=N'101' AND k.Nazev1 LIKE N'%mouka%' AND p.IDUmisteni IS NOT NULL
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @idPZ, @siloMouka
IF (@@FETCH_STATUS<>0) BREAK
IF NOT EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
UPDATE dbo.TabPohybyZbozi_EXT SET _Mouka_Silo=@siloMouka WHERE ID=@idPZ
END
CLOSE c
DEALLOCATE c
-- pro info zapis informaci o prevadenych VC
INSERT dbo._hdc_PZ_PuvodniVC (IDPohybZbozi, IDDoklad, IDZboSklad, VyrCis, IDVyrCis, Mnozstvi, Sarze, PaletovyList, IDUmisteni)
SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
ORDER BY p.Poradi, vcp.ID
-- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad
-- smaz vyrobni cisla, jejich evidenci vede ProHolding
DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad)
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END
-- prijemky a storna na hlavni sklad
IF (@rada IN (N'251', N'259', N'261', N'269')) AND (@idSklad=@sklMatHlavni)
BEGIN
INSERT dbo._hdc_PZ_PuvodniVC (IDPohybZbozi, IDDoklad, IDZboSklad, VyrCis, IDVyrCis, Mnozstvi, Sarze, PaletovyList, IDUmisteni)
SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
ORDER BY p.Poradi, vcp.ID
-- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad
-- smaz vyrobni cisla, jejich evidenci vede ProHolding
DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad)
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END

68
_sql/ep_V01.sql Normal file
View File

@ -0,0 +1,68 @@
/* HELIOS iNuvio | NTB-T.Rootvin | 2024-09-18 09:28:15 */
DECLARE @GUID BINARY(16),@Id INT,@Popis NVARCHAR(255),@UP NVARCHAR(255),@Parametry NVARCHAR(255),@IdBrowse INT,@Poznamka NVARCHAR(MAX),@Autor NVARCHAR(255),@DatPorizeni DATETIME,@Zmenil NVARCHAR(255),@DatZmeny DATETIME,@ParamHe INT,@Typ INT,@BidNavBrowse INT,@TextNavBrowse INT,@ZobrUkonceni BIT,@VerejnaAkce BIT,@ObnovitPoUkonceni BIT,@eServer BIT, @ZobrazitEditorPar BIT, @ObsluznyPlugin NVARCHAR(255),
@BlokovaniEditoru SMALLINT,@TextBrowse INT,@CyklickyEditor BIT,@SelectoTvurceVlastnikId BIT,@VstupneID NVARCHAR(255),@PosunPoZaznamech INT,@TechnickyPopis NVARCHAR(MAX),@Napoveda NVARCHAR(255),@Hotkey INT,@NavaznaAkce INT,@NavaznaAkceGUID BINARY(16),@Skupina NVARCHAR(255),@NazevPodmenu NVARCHAR(255),@PoradiVPodmenu INT,@err NVARCHAR(2047),@IdExtKom INT,@GUIDFiltr BINARY(16),@IDFiltr INT,@ErrStr NVARCHAR(2047),@SkriptPredSpustenim NVARCHAR(MAX),@Automatizace BIT
SELECT @Id=6,@Popis=N'Spec - realizace v<>dejky (po)',@UP=N'dbo.ep_V01',@Parametry=N'',@IdBrowse=990990,@Poznamka=N'CREATE PROCEDURE dbo.ep_V01
@IDDoklad INT
AS
SET NOCOUNT ON
-- dopln<6C>k realizace skladov<6F>ch v<>dej<65>. Vol<6F> se na konci procesu realizace v<>dej<65>. Vstupn<70> parametr ID dokladu, v<>stup nen<65>.
DECLARE
@rada NVARCHAR(3),
@idSklad NVARCHAR(30)
SELECT @rada=RadaDokladu, @idSklad=IDSklad
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury
IF OBJECT_ID(N''dbo.ep_V01_HDC1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_V01_HDC1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
',@Autor=N'Import HDC',@DatPorizeni='20240918 09:23:37.193',@Zmenil=NULL,@DatZmeny=NULL,@ParamHe=0,@Typ=0,@BidNavBrowse=NULL,@TextNavBrowse=NULL,@ZobrUkonceni=0,@VerejnaAkce=0,@NavaznaAkceGUID=CAST(NULL AS UNIQUEIDENTIFIER),@BlokovaniEditoru=NULL,@TextBrowse=990990,@CyklickyEditor=0,@SelectoTvurceVlastnikId=0,@VstupneID=NULL,@TechnickyPopis=NULL,@Napoveda=NULL,@Hotkey=0,@GUID=CAST(N'5C642FF2-6E25-4FD8-AB32-F27EC5B249A3' AS UNIQUEIDENTIFIER),@Skupina=N'',@NazevPodmenu=N'',@PoradiVPodmenu=0,@GUIDFiltr=CAST(NULL AS UNIQUEIDENTIFIER),@eServer=0,@ZobrazitEditorPar=1,@ObsluznyPlugin=N'',@PosunPoZaznamech=0,@ObnovitPoUkonceni=0,@SkriptPredSpustenim=NULL,@Automatizace=0
IF @NavaznaAkceGUID IS NULL
SET @NavaznaAkce = NULL
ELSE
BEGIN
SET @NavaznaAkce=(SELECT Id FROM dbo.TabExtKom WHERE GUID=@NavaznaAkceGUID)
IF @NavaznaAkce IS NULL
BEGIN
SET @err=CAST(CAST(@NavaznaAkceGUID AS UNIQUEIDENTIFIER)AS NVARCHAR(36))
SET @ErrStr = dbo.hf_FormatError(75037, @err)
RAISERROR(@ErrStr, 16, 1)
RETURN
END
END
IF @GUIDFiltr IS NULL
SET @IDFiltr = NULL
ELSE
SELECT @IDFiltr = ID FROM TabFiltr WHERE GUID = @GUIDFiltr
IF NOT EXISTS(SELECT * FROM dbo.TabExtKom WHERE [UP]=N'dbo.ep_V01')
INSERT dbo.TabExtKom (GUID,Popis,UP,Parametry,IdBrowse,Poznamka,Autor,
DatPorizeni,Zmenil,DatZmeny,ParamHe,Typ,BidNavBrowse,TextNavBrowse,
ZobrUkonceni,VerejnaAkce,BlokovaniEditoru,TextBrowse,CyklickyEditor,
SelectoTvurceVlastnikId,VstupneID,TechnickyPopis,Napoveda,Hotkey,
NavaznaAkce,Skupina,NazevPodmenu,PoradiVPodmenu,IDFiltr,
eServer, ZobrazitEditorPar, ObsluznyPlugin, PosunPoZaznamech,
ObnovitPoUkonceni,SkriptPredSpustenim,Automatizace)
VALUES (@GUID,@Popis,@UP,@Parametry,@IdBrowse,@Poznamka,@Autor,@DatPorizeni,
@Zmenil,@DatZmeny,@ParamHe,@Typ,@BidNavBrowse,@TextNavBrowse,@ZobrUkonceni,
@VerejnaAkce,@BlokovaniEditoru,@TextBrowse,@CyklickyEditor,@SelectoTvurceVlastnikId,
@VstupneID,@TechnickyPopis,@Napoveda,@Hotkey,@NavaznaAkce,@Skupina,@NazevPodmenu,
@PoradiVPodmenu,@IDFiltr,@eServer,@ZobrazitEditorPar,@ObsluznyPlugin,@PosunPoZaznamech,
@ObnovitPoUkonceni,@SkriptPredSpustenim,@Automatizace)
SET @IdExtKom=(SELECT Id FROM dbo.TabExtKom WHERE GUID=@GUID)
DELETE dbo.TabExtKomPar WHERE IdExtKom=@IdExtKom
IF OBJECT_ID(N'dbo.ep_V01', N'P') IS NULL
EXEC sp_executesql @Poznamka

93
_sql/ep_V01_HDC1.sql Normal file
View File

@ -0,0 +1,93 @@
-- dbo.ep_V01_HDC1
CREATE PROCEDURE dbo.ep_V01_HDC1
@IDDoklad INT=NULL
AS
SET NOCOUNT ON
-- HD Consulting Strakonice, T. Buzin
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu pro pekarnu nebo Windows sluzby HDCDZApi !!
-- dopln<6C>k realizace skladov<6F>ch v<>dej<65>. Vol<6F> se na konci procesu realizace v<>dej<65>. Vstupn<70> parametr ID dokladu, v<>stup nen<65>.
IF (@IDDoklad IS NULL) -- jistota je jistota
RETURN
DECLARE
@errMsg NVARCHAR(500),
@iTemp INT,
@bChyba BIT,
@iChyba INT
DECLARE
@rada NVARCHAR(3),
@dpz TINYINT,
@idSklad NVARCHAR(30),
@radaPrev NVARCHAR(3),
@idSkladPrev NVARCHAR(30),
@sklMatHlavni NVARCHAR(30)=N'311',
@sklPekarna NVARCHAR(30)=N'211',
@sklTechnolog NVARCHAR(30),
@paletList NVARCHAR(100),
@sarze NVARCHAR(100),
@siloMouka SMALLINT,
@idPZ INT,
@idPZNew INT
IF OBJECT_ID(N'tempdb..#TabExtKom', N'U') IS NULL
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) )
IF OBJECT_ID(N'tempdb..#HDCTabDefiniceProV01', N'U') IS NOT NULL
SELECT TOP(1) @sklMatHlavni=HlavniSkladMat, @sklPekarna=SkladVyrobaPekarna, @sklTechnolog=TechnologickySklad FROM #HDCTabDefiniceProV01
IF (@sklMatHlavni IS NULL)
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
IF (@sklTechnolog IS NULL)
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' 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'
DROP TABLE IF EXISTS #HDCTabDefiniceProV01
SELECT @rada=RadaDokladu, @idSklad=IDSklad, @dpz=DruhPohybuZbo, @idSkladPrev=IdSkladPrevodu, @radaPrev=TypPrevodky
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- pri prevodce na polozky nasledujici prijemky zapis sarzi/paletovy list/cislo sila u mouky
IF (@rada=N'231') AND (@idSklad=@sklMatHlavni) AND (@radaPrev=N'281') AND (@idSkladPrev=@sklPekarna)
BEGIN
DECLARE c CURSOR LOCAL FOR
SELECT p.ID, pe._Vyroba_Sarze, pe._Vyroba_PaletList, pe._Mouka_Silo
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabPohybyZbozi_EXT pe ON (pe.ID=p.ID)
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
WHERE p.IDDoklad=@IDDoklad
AND d.RadaDokladu=N'231'
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @idPZ, @sarze, @paletList, @siloMouka
IF (@@FETCH_STATUS<>0) BREAK
-- dohledej polozku "protilehle" prijemky
SET @idPZNew = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
WHERE d.RadaDokladu=N'281' AND d.DruhPohybuZbo=0 AND p.IDOldPolozka=@idPZ)
IF (@idPZNew IS NOT NULL)
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZNew)
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZNew)
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_Sarze=@sarze, _Vyroba_PaletList=@paletList, _Mouka_Silo=@siloMouka WHERE ID=@idPZNew
END
END
CLOSE c
DEALLOCATE c
END -- vydejka/prevodka 231 z hlavniho skladu na pekarnu

67
_sql/ep_V03.sql Normal file
View File

@ -0,0 +1,67 @@
SET NOCOUNT ON
DECLARE @GUID BINARY(16),@Id INT,@Popis NVARCHAR(255),@UP NVARCHAR(255),@Parametry NVARCHAR(255),@IdBrowse INT,@Poznamka NVARCHAR(MAX),@Autor NVARCHAR(255),@DatPorizeni DATETIME,@Zmenil NVARCHAR(255),@DatZmeny DATETIME,@ParamHe INT,@Typ INT,@BidNavBrowse INT,@TextNavBrowse INT,@ZobrUkonceni BIT,@VerejnaAkce BIT,@ObnovitPoUkonceni BIT,@eServer BIT, @ZobrazitEditorPar BIT, @ObsluznyPlugin NVARCHAR(255),
@BlokovaniEditoru SMALLINT,@TextBrowse INT,@CyklickyEditor BIT,@SelectoTvurceVlastnikId BIT,@VstupneID NVARCHAR(255),@PosunPoZaznamech INT,@TechnickyPopis NVARCHAR(MAX),@Napoveda NVARCHAR(255),@Hotkey INT,@NavaznaAkce INT,@NavaznaAkceGUID BINARY(16),@Skupina NVARCHAR(255),@NazevPodmenu NVARCHAR(255),@PoradiVPodmenu INT,@err NVARCHAR(2047),@IdExtKom INT,@GUIDFiltr BINARY(16),@IDFiltr INT,@ErrStr NVARCHAR(2047),@SkriptPredSpustenim NVARCHAR(MAX),@Automatizace BIT
SELECT @Id=9998, @Popis=N'Spec - realizace v<>dejky (p<>ed)', @UP=N'dbo.ep_V03', @Parametry=N'', @IdBrowse=990990
SELECT @Poznamka=N'CREATE PROCEDURE dbo.ep_V03
@IDDoklad INT=NULL
AS
-- doplnek realizace skladovych vydeju, vola se na zacatku transakce v prubehu procesu realizace vydeju
-- vstupni parametr @ID INT -- ID hlavicky realizovaneho dokladu; vystup neni
-- Pozadovana funkcnost: napr. doplneni vazby do vyroby a napocet NV
SET NOCOUNT ON
DECLARE
@rada NVARCHAR(3),
@idSklad NVARCHAR(30)
SELECT @rada=RadaDokladu, @idSklad=IDSklad
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury
IF OBJECT_ID(N''dbo.ep_V03_HDC1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_V03_HDC1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
-- pro reseni HDC Strakonice, moznost dalsi slepe procedury pro API
IF OBJECT_ID(N''dbo.ep_V03_HDCDZApi1'', N''P'') IS NOT NULL
EXEC sp_executesql N''EXEC dbo.ep_V03_HDCDZApi1 @IDDoklad'', N''@IDDoklad INT'', @IDDoklad
'
SELECT @Autor=N'Import HDC',@DatPorizeni='20240822 11:20:15.450',@Zmenil=NULL,@DatZmeny=NULL,@ParamHe=0,@Typ=0,@BidNavBrowse=NULL,@TextNavBrowse=NULL,@ZobrUkonceni=0,@VerejnaAkce=0
SELECT @NavaznaAkceGUID=CAST(NULL AS UNIQUEIDENTIFIER),@BlokovaniEditoru=NULL,@TextBrowse=990990,@CyklickyEditor=0,@SelectoTvurceVlastnikId=0,@VstupneID=NULL,@TechnickyPopis=NULL
SELECT @Napoveda=NULL,@Hotkey=0,@GUID=CAST(N'CA4BC316-F9EB-4A68-B6D5-ED93911426E2' AS UNIQUEIDENTIFIER),@Skupina=N'',@NazevPodmenu=N'',@PoradiVPodmenu=0,@GUIDFiltr=CAST(NULL AS UNIQUEIDENTIFIER)
SELECT @eServer=0,@ZobrazitEditorPar=1,@ObsluznyPlugin=N'',@PosunPoZaznamech=0,@ObnovitPoUkonceni=1,@SkriptPredSpustenim=NULL,@Automatizace=0
SET @NavaznaAkce = NULL
SET @IDFiltr = NULL
IF NOT EXISTS(SELECT * FROM dbo.TabExtKom WHERE [UP]=N'dbo.ep_V03')
INSERT dbo.TabExtKom ([GUID], Popis, [UP], Parametry, IdBrowse, Poznamka, Autor,
DatPorizeni, Zmenil, DatZmeny, ParamHe, Typ, BidNavBrowse, TextNavBrowse,
ZobrUkonceni, VerejnaAkce, BlokovaniEditoru, TextBrowse, CyklickyEditor,
SelectoTvurceVlastnikId, VstupneID, TechnickyPopis, Napoveda, Hotkey,
NavaznaAkce, Skupina, NazevPodmenu, PoradiVPodmenu, IDFiltr,
eServer, ZobrazitEditorPar, ObsluznyPlugin, PosunPoZaznamech,
ObnovitPoUkonceni, SkriptPredSpustenim, Automatizace)
VALUES (@GUID, @Popis, @UP, @Parametry, @IdBrowse, @Poznamka, @Autor, @DatPorizeni,
@Zmenil, @DatZmeny, @ParamHe, @Typ, @BidNavBrowse, @TextNavBrowse, @ZobrUkonceni,
@VerejnaAkce, @BlokovaniEditoru, @TextBrowse, @CyklickyEditor, @SelectoTvurceVlastnikId,
@VstupneID, @TechnickyPopis, @Napoveda, @Hotkey, @NavaznaAkce, @Skupina, @NazevPodmenu,
@PoradiVPodmenu, @IDFiltr, @eServer, @ZobrazitEditorPar, @ObsluznyPlugin, @PosunPoZaznamech,
@ObnovitPoUkonceni, @SkriptPredSpustenim, @Automatizace)
SET @IdExtKom=(SELECT Id FROM dbo.TabExtKom WHERE GUID=@GUID)
DELETE dbo.TabExtKomPar WHERE IdExtKom=@IdExtKom
IF OBJECT_ID(N'dbo.ep_V03', N'P') IS NULL
EXEC sp_executesql @Poznamka

103
_sql/ep_V03_HDC1.sql Normal file
View File

@ -0,0 +1,103 @@
-- dbo.ep_V03_HDC1
CREATE PROCEDURE dbo.ep_V03_HDC1
@IDDoklad INT
AS
-- HD Consulting Strakonice, T. Buzin
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu pro pekarnu nebo Windows sluzby HDCDZApi !!
-- doplnek realizace skladov<6F>ch v<>deju, vola se na zacatku transakce v prubehu procesu realizace v<>deju
-- vstupni parametr @ID INT -- ID hlavicky realizovaneho dokladu; v<>stup neni
-- Pozadovana funkcnost: napr. doplneni vazby do vyroby a napocet NV.
SET NOCOUNT ON
DECLARE
@errMsg NVARCHAR(500),
@iTemp INT
DECLARE
@dpz TINYINT,
@rada NVARCHAR(3),
@idPZ INT,
@idSklad NVARCHAR(30),
@idSkladPrev NVARCHAR(30),
@radaPrev NVARCHAR(3),
@sklMatHlavni NVARCHAR(30)=N'311',
@sklPekarna NVARCHAR(30)=N'211',
@sklTechnolog NVARCHAR(30),
@paletList NVARCHAR(100),
@sarze NVARCHAR(100)
IF OBJECT_ID(N'tempdb..#TabExtKom', N'U') IS NULL
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) )
IF OBJECT_ID(N'tempdb..#HDCTabDefiniceProV03', N'U') IS NOT NULL
SELECT TOP(1) @sklMatHlavni=HlavniSkladMat, @sklPekarna=SkladVyrobaPekarna, @sklTechnolog=TechnologickySklad FROM #HDCTabDefiniceProV03
IF (@sklMatHlavni IS NULL)
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
IF (@sklTechnolog IS NULL)
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' 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'
DROP TABLE IF EXISTS #HDCTabDefiniceProV03
SELECT @rada=RadaDokladu, @idSklad=IDSklad, @dpz=DruhPohybuZbo, @idSkladPrev=IdSkladPrevodu, @radaPrev=TypPrevodky
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
-- vydejka/prevodka na sklad Pekarna
IF (@rada IN (N'231')) AND (@idSklad=@sklMatHlavni) AND (@idSkladPrev=@sklPekarna) AND (@radaPrev=N'281')
BEGIN
-- zapis VC na externi info
DECLARE p CURSOR LOCAL FOR
SELECT p.ID, vcs.Nazev1, vcp.Nazev
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
INNER JOIN dbo.TabVyrCP vcp ON (p.ID=vcp.IDPolozkaDokladu)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
AND k.Sluzba=0
ORDER BY p.Poradi
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @idPZ, @paletList, @sarze
IF (@@FETCH_STATUS<>0) BREAK
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=ISNULL(_Vyroba_Sarze, IIF(_Vyroba_Sarze IS NOT NULL, N',', N'') + @sarze) WHERE ID=@idPZ
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_PaletList=ISNULL(_Vyroba_PaletList, IIF(_Vyroba_PaletList IS NOT NULL, N',', N'') + @paletList) WHERE ID=@idPZ
END
CLOSE p
DEALLOCATE p
-- zapis do pomocne tabulky
INSERT dbo._hdc_PZ_PuvodniVC (IDPohybZbozi, IDDoklad, IDZboSklad, VyrCis, IDVyrCis, Mnozstvi, Sarze, PaletovyList, IDUmisteni)
SELECT p.ID, p.IDDoklad, p.IDZboSklad, vcp.Nazev, vcp.IDVyrCis, vcp.Mnozstvi, vcp.Nazev, vcs.Nazev1, p.IDUmisteni
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabVyrCP vcp ON (vcp.IDPolozkaDokladu=p.ID)
INNER JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
WHERE p.IDDoklad=@IDDoklad
ORDER BY p.Poradi, vcp.ID
-- odstran umisteni, delalo by problem pri vydeji
UPDATE dbo.TabPohybyZbozi SET IDUmisteni=NULL WHERE IDDoklad=@IDDoklad
-- smaz vyrobni cisla, jejich evidenci vede ProHolding
DELETE FROM dbo.TabVyrCP WHERE IDPolozkaDokladu IN (SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad)
SET @iTemp = ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
END

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,832 @@
-- dbo.ep_Vyroba_Doklady_Micharna
CREATE PROCEDURE dbo.ep_Vyroba_Doklady_Micharna
@idJson 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,
@aktDatum DATETIME,
@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,
@sklMat NVARCHAR(30),
@sklTechnicky NVARCHAR(30),
@sklPek NVARCHAR(30),
@radaTechVydej NVARCHAR(30)=N'222',
@radaDZVydejka NVARCHAR(3)=N'',
@radaDZPrevodV NVARCHAR(3)=N'',
@prevodka BIT=0,
@parZnak NVARCHAR(20)
DECLARE
@idPHIdent INT,
@idPHIdentBak INT,
@idPHIdent2 INT,
@idPHObj INT,
@idPHObjPol INT
DECLARE
@datPorizeni DATETIME,
@idVPr INT,
@radaVPr NVARCHAR(10),
@cisloPrikazu NVARCHAR(20),
@idVPrNizsi INT,
@radaVPrNizsi NVARCHAR(10),
@idVPrVyssi INT,
@radaVPrVyssi NVARCHAR(10),
@dilec INT,
@idZakazka INT,
@cisloZak NVARCHAR(30),
@casStart DATETIME,
@vyrobniDen DATETIME,
@smena TINYINT,
@casStartOld DATETIME,
@viskoz TINYINT,
@vodaLitry NUMERIC(12,3),
@moukaKgNorma NUMERIC(19,6),
@moukaKgFin NUMERIC(19,6),
@moukaSilo TINYINT,
@hmotTesta NUMERIC(19,6),
@idMzda INT,
@skCasSek INT,
@casKonec DATETIME,
@idSS INT,
@rDoklVyd NVARCHAR(3),
@idDZ INT,
@idDZDst INT,
@idPZ INT,
@datumDZ DATETIME,
@datReal DATETIME,
@menaDZ NVARCHAR(3),
@kurzDZ NUMERIC(19,6),
@kurzEDZ NUMERIC(19,6),
@dpz TINYINT,
@jednM INT,
@vstC TINYINT
DECLARE
@idPrKVazby INT,
@doklPrV INT,
@altPrV NCHAR(1),
@oper NVARCHAR(4),
@pozice NVARCHAR(100),
@idKZ INT,
@nazev1 NVARCHAR(100),
@idVCK INT,
@idVCS INT,
@idVCP INT,
@sz NVARCHAR(3),
@rc NVARCHAR(30),
@idUmist INT,
@sarze NVARCHAR(30),
@paletList NVARCHAR(30),
@mnozDilec NUMERIC(19,6),
@mnoz NUMERIC(19,6),
@mnoz2 NUMERIC(19,6),
@mnozVyd NUMERIC(19,6),
@mnozReq NUMERIC(19,6),
@mnozNew NUMERIC(19,6)
DECLARE
@idStartStopOp INT,
@idPracoviste INT,
@idPracovisteOld INT,
@idStroj INT,
@strojPec NVARCHAR(40),
@statusStroje NVARCHAR(50),
@idEvROp INT,
@idEvROpR INT,
@cisZam INT,
@idZam INT,
@doklPrP INT,
@altPrP NCHAR(1)
DECLARE @TabPHObj TABLE (ID INT NOT NULL, IDPHIdent INT )
DECLARE @PrKVazby TABLE (ID INT NOT NULL, Sklad NVARCHAR(30) )
-- vytvor pomocnou tabulku
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL
DROP TABLE #TabJSONData
CREATE TABLE #TabJSONData (ID INT IDENTITY(1,1) NOT NULL, doc NVARCHAR(max))
IF OBJECT_ID(N'tempdb..#TabDefiniceProMicharnu', N'U') IS NOT NULL
SELECT TOP(1) @sklMat=HlavniSkladMat, @sklPek=SkladVyrobaPekarna, @sklTechnicky=TechnologickySklad, @radaTechVydej=RadaTechnologickyVydej
FROM #TabDefiniceProMicharnu
IF (@sklMat IS NULL)
SELECT @sklMat=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
IF (@sklTechnicky IS NULL)
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%'
IF (@sklPek IS NULL)
SELECT @sklPek=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna'
IF (@sklTechnicky IS NULL) AND (@sklPek IS NOT NULL)
SET @sklTechnicky=@sklPek
DROP TABLE IF EXISTS #TabDefiniceProMicharnu
IF (@radaTechVydej IS NOT NULL)
SET @radaDZVydejka = @radaTechVydej
IF (@idJson IS NULL)
DECLARE j CURSOR LOCAL FOR
SELECT ID, JSONData, Akce
FROM dbo._hdc_ph_PrijataJsonData
WHERE DatZpracovani IS NULL
AND ISNULL(JSONData, N'')<>N''
ORDER BY DatPorizeni ASC
ELSE
DECLARE j CURSOR LOCAL FOR
SELECT ID, JSONData, Akce
FROM dbo._hdc_ph_PrijataJsonData
WHERE ID=@idJson
OPEN j
WHILE (1=1)
BEGIN
FETCH NEXT FROM j INTO @idJson, @jsonString, @akce
IF (@@FETCH_STATUS<>0) BREAK
IF (ISJSON(@jsonString)=0)
CONTINUE
IF ISNULL( (SELECT COUNT(ID) FROM dbo._hdc_ph_Log WHERE IdJsonData=@idJson), 0)>=3
BEGIN
IF EXISTS(SELECT 1 FROM dbo._hdc_ph_PrijataJsonData WHERE ID=@idJson AND ISNULL(PosledniChyba,N'')=N'')
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=(SELECT TOP(1) LogText FROM dbo._hdc_ph_Log WHERE IdJsonData=@idJson ORDER BY DatPorizeni DESC) WHERE ID=@idJson
CONTINUE
END
SET @logTyp = 0
SET @logInt = NULL
SET @logStr = N''
SET @log4Mail = 0
SET @logText = N''
BEGIN TRY
SET @tranPred = @@TRANCOUNT
IF (@tranPred=0)
BEGIN TRAN
-- BEGIN: SPOTREBA/ODPIS
IF (@akce=N'vyroba_spotreba')
BEGIN
DELETE FROM @PrKVazby
DELETE FROM #TabJSONData
INSERT #TabJSONData (doc) SELECT @jsonString
SELECT @typDokum=u2.typ, @subtypDokum=u2.subtyp
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ([data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH (typ NVARCHAR(50), subtyp NVARCHAR(50)) AS u2
-- SPOTREBA PLUS UKONCENI OPERACE MICHANI ----------------------------------------------------
IF (@typDokum='vyroba')
BEGIN
SET @vodaLitry = 0
SET @moukaKgNorma = 0
SET @moukaKgFin = 0
SET @moukaSilo = 0
SELECT @idStroj=u3.heliosId, @idPHIdent=u2.datazoneId
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ([data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH (datazoneId INT, stroj NVARCHAR(MAX) AS JSON) AS u2
CROSS APPLY OPENJSON (stroj)
WITH (heliosId INT) u3
SELECT @idVPr=u3.heliosId, @casStart=u3.zacatek, @casKonec=u3.konec, @viskoz=u3.viskozita, @moukaSilo=u3.silo
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ([data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH (typ NVARCHAR(50), prikaz NVARCHAR(MAX) AS JSON) AS u2
CROSS APPLY OPENJSON (prikaz)
WITH (heliosId INT, datazoneId INT, skupzbo NVARCHAR(3), regcis NVARCHAR(30), zacatek DATETIME, konec DATETIME, viskozita TINYINT, silo TINYINT) u3
SET @idPHIdentBak = @idPHIdent
SELECT @vyrobniDen=Datum, @smena=Smena FROM dbo.ef_GetDatumASmenu(@casStart)
SELECT @idStartStopOp=ID FROM dbo._TabVyroba_OperaceStartStop WHERE IDPrikaz=@idVPr AND IDPHIdent=@idPHIdent
SELECT @dilec=IdTabKmen, @radaVPr=Rada, @idZakazka=IDZakazka, @mnozDilec=kusy_zad FROM dbo.TabPrikaz WHERE ID=@idVPr
SELECT @cisloZak=CisloZakazky FROM dbo.TabZakazka WHERE ID=@idZakazka
IF (@radaDZVydejka IS NULL)
SET @radaDZVydejka = ISNULL( (SELECT RadaDokl_GenerRezVyd_Mat FROM dbo.TabRadyPrikazu WHERE Rada=@radaVPr), @radaDZVydejka)
-- SET @sklMat = ISNULL( (SELECT VydejMatPol_SkladProGenHlavDZ FROM dbo.TabRadyPrikazu WHERE Rada=@radaVPr), @sklMat)
-- povol evidenci a odvod vice ks nez je na prikazu
UPDATE dbo.TabRadyPrikazu SET NekontrolMnozEvidMezd=1 WHERE Rada=@radaVPr AND NekontrolMnozEvidMezd=0
UPDATE dbo.TabRadyPrikazu SET NekontrolMnozOdvedFinal=1 WHERE Rada=@radaVPr AND NekontrolMnozOdvedFinal=0
SET @idDZ = (SELECT IDDoklad FROM dbo._hdc_ph_PrijataJsonData WHERE ID=@idJson)
IF (@idDZ IS NULL) -- @idDZ uz existuje ? Ne, udelej vydejku na prikaz
BEGIN
SELECT @jsonString2=u2.vydej
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH (akce NVARCHAR(50), [data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH ( vydej NVARCHAR(MAX) AS JSON) AS u2
DELETE FROM #TabJSONData
INSERT #TabJSONData (doc) SELECT @jsonString2
DECLARE p CURSOR LOCAL FOR
SELECT u.nazev, u.skupzbo, u.regcis, u.sarze, u.paletovylist, u.mnozstvi, u.mnozstviVychozi, u.datazoneId
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ( nazev NVARCHAR(100), skupzbo NVARCHAR(3), regcis NVARCHAR(30), sarze NVARCHAR(30), paletovyList NVARCHAR(30), mnozstvi NUMERIC(19,6), mnozstviVychozi NUMERIC(19,6), datazoneId INT) AS u
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @nazev1, @sz, @rc, @sarze, @paletList, @mnoz, @mnoz2, @idPHIdent
IF (@@FETCH_STATUS<>0) BREAK
SET @paletList = ISNULL(@paletList, N'')
IF (@sz=N'101') AND (@rc=N'001000')
SET @vodaLitry = @mnoz
IF (@sz=N'101') AND (@nazev1 LIKE N'%mouka%')
BEGIN
SET @moukaKgFin = @mnoz
SET @moukaKgNorma = @mnoz2
END
IF (@idDZ IS NULL)
BEGIN
SET @dpz = 4
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@sklTechnicky, @DruhPohybu=@dpz, @RadaDokladu=@radaDZVydejka, @CisloOrg=0
IF (@idDZ IS NOT NULL)
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idDZ)
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDZ)
UPDATE dbo.TabDokladyZbozi_EXT SET _HDCAPI_PHident=@idJson WHERE ID=@idDZ
SELECT @datumDZ=DatPorizeni, @menaDZ=Mena, @kurzDZ=Kurz, @kurzEDZ=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena
FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
UPDATE dbo.TabDokladyZbozi SET IDPrikaz=@idVPr, BlokovaniEditoru=0 WHERE ID=@idDZ
IF (@cisloZak IS NOT NULL)
UPDATE dbo.TabDokladyZbozi SET CisloZakazky=@cisloZak WHERE ID=@idDZ
END
END
IF (@idDZ IS NOT NULL)
BEGIN
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE Nazev1 NOT LIKE N'%Voda%' AND SkupZbo=@sz AND RegCis=@rc AND (Material=1 OR Dilec=1) AND Sluzba=0)
IF (@idKZ IS NOT NULL)
BEGIN
-- najdi vazbu vc. kontroly jestli polozka neni rezijni material
SET @idPrKVazby = (SELECT ID FROM dbo.TabPrKVazby WHERE IDPrikaz=@idVPr AND vyssi=@dilec AND nizsi=@idKZ AND IDOdchylkyDo IS NULL AND RezijniMat=0)
-- pokud neni material v pozadavcich prikazu, pridej ho (neni v TPV)
IF (@idPrKVazby IS NULL) AND (@mnoz>0)
BEGIN
EXEC @idPrKVazby=dbo.hp_NewPozadavek_TabPrKVazby @IDPrikaz=@idVPr, @IDKmenZbozi=@idKZ, @Mnozstvi=@mnoz, @Mnoz_zad=@mnoz, @VychoziSklad=@sklMat
END
-- pridej do vydejky
IF (@idPrKVazby IS NOT NULL)
BEGIN
INSERT @PrKVazby (ID, Sklad) SELECT ID, Sklad FROM dbo.TabPrKVazby WHERE ID=@idPrKVazby
UPDATE dbo.TabPrKVazby SET Sklad=@sklTechnicky WHERE ID=@idPrKVazby
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklTechnicky)
IF (@idSS IS NULL)
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklTechnicky, @IDZboSklad=@idSS OUT
IF (@idSS IS NOT NULL)
BEGIN
-- mnoz = mnozstvi realne spotrebovane / mnoz2 = mnozstvi vychozi normovane
/*
UPDATE dbo.TabPrKVazby SET mnozstvi=@mnoz, mnoz_zad=@mnoz*@mnozDilec WHERE ID=@idPrKVazby AND mnozstvi<>@mnoz
*/
/*
SELECT @mnozReq=mnoz_zad, @doklPrV=Doklad FROM dbo.TabPrKVazby WHERE ID=@idPrKVazby
SET @mnozVyd = ISNULL( (SELECT SUM(pz.Mnozstvi) FROM dbo.TabPohybyZbozi pz INNER JOIN dbo.TabDokladyZbozi dz ON (dz.ID=pz.IDDoklad)
WHERE dz.DruhPohybuZbo=@dpz AND dz.RadaDokladu=@radaDZVydejka AND pz.IDPrikaz=@idVPr AND pz.TypVyrobnihoDokladu=0), 0)
SET @mnozNew = @mnozReq - @mnozVyd - @mnoz
IF (@mnozNew<=0)
BEGIN
SET @mnozNew = @mnozVyd + @mnoz
UPDATE dbo.TabPrKVazby SET mnoz_zad = @mnozNew WHERE ID=@idPrKVazby
END
*/
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idSS, @Mena=@menaDZ, @Kurz=@kurzDZ,
@JednotkaMeny=@jednM, @KurzEuro=@kurzEDZ, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0, @VstupniCena=@vstC, @Mnozstvi=@mnoz
IF (@idPZ IS NOT NULL)
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
IF (@sz=N'101') AND (@nazev1 LIKE N'%mouka%') AND (@moukaSilo IS NOT NULL)
BEGIN
UPDATE dbo.TabPohybyZbozi_EXT SET _Mouka_Silo=@moukaSilo WHERE ID=@idPZ
/*
SET @idUmist = (SELECT ID FROM dbo.TabUmisteni WHERE Kod=CONVERT(nvarchar,@moukaSilo) AND IDSklad=@sklTechnicky)
IF (@idUmist IS NOT NULL)
UPDATE dbo.TabPohybyZbozi SET IdUmisteni=@idUmist WHERE ID=@idPZ
*/
END
INSERT dbo._TabVyroba_OperaceStartStopVydej (IDHlava, IDKmenZbozi, Mnozstvi, MnozstviPuvodni, IDPohybZbozi)
SELECT @idStartStopOp, @idKZ, @mnoz, @mnoz2, @idPZ
UPDATE dbo.TabPohybyZbozi SET IDPrikaz=@idVPr, TypVyrobnihoDokladu=1, DokladPrikazu=@doklPrV WHERE ID=@idPZ
UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPHIdent WHERE ID=@idPZ
IF (ISNULL(@sarze,N'')=N'')
SET @sarze = (SELECT _Prevod_PosledniSarze FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS)
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_PrikazMnoz=@mnoz2, _Vyroba_Sarze=@sarze, _Vyroba_PaletList=@paletList WHERE ID=@idPZ
END -- @idPZ IS NOT NULL
END -- @idSS IS NOT NULL
END -- @idPrKVazby IS NOT NULL
END -- @idKZ IS NOT NULL
END -- @idDZ IS NOT NULL
END
CLOSE p
DEALLOCATE p
IF (@idDZ IS NOT NULL)
BEGIN
SET @hmotTesta = ISNULL( (SELECT SUM(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=@idDZ AND k.Sluzba=0), 0)
IF (@hmotTesta>0)
BEGIN
SET @hmotTesta = ROUND(@hmotTesta, 2)
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idDZ)
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDZ)
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_HmotTesta=@hmotTesta WHERE ID=@idDZ
END
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @idDZ, 0
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
END
END -- @idDZ uz existuje ?
-- konec operace
SET @idPHIdent = @idPHIdentBak
IF (@idStartStopOp IS NOT NULL)
BEGIN
IF (@idDZ IS NOT NULL)
UPDATE dbo._TabVyroba_OperaceStartStop SET IDDokladOZ=@idDZ WHERE ID=@idStartStopOp
SELECT @idEvROp=IDEvidRozpracOper FROM dbo._TabVyroba_OperaceStartStop WHERE ID=@idStartStopOp
IF (@idEvROp IS NOT NULL)
BEGIN
SELECT @idPracovisteOld=IDPracoviste, @idZam=IDZamestnance FROM dbo.TabEvidRozpracOper WHERE ID=@idEvROp
IF (@idZam IS NULL)
BEGIN
IF (ISNULL( (SELECT COUNT(ID) FROM dbo.TabCisZam), 0)=1)
SELECT TOP(1) @idZam=ID FROM dbo.TabCisZam
IF (@idZam IS NOT NULL)
UPDATE dbo.TabEvidRozpracOper SET IDZamestnance=@idZam WHERE ID=@idEvROp
END
UPDATE dbo._hdc_ph_PrijataJsonData SET CisloZam=(SELECT Cislo FROM dbo.TabCisZam WHERE ID=@idZam) WHERE ID=@idJson AND CisloZam IS NULL
SET @skCasSek = DATEDIFF(s, @casStart, @casKonec)
UPDATE dbo.TabEvidRozpracOperR SET Mnoz_odv=1,
Sk_cas=CASE Sk_Cas_T WHEN 0 THEN @skCasSek WHEN 1 THEN (@skCasSek/60.0) WHEN 2 THEN (@skCasSek/3600.0) END,
Sk_cas_Obsluhy=CASE Sk_Cas_Obsluhy_T WHEN 0 THEN @skCasSek WHEN 1 THEN (@skCasSek/60.0) WHEN 2 THEN (@skCasSek/3600.0) END
WHERE IDEvidRozpracOper=@idEvROp
UPDATE dbo.TabEvidRozpracOper SET CasUkonceni=@casKonec, CelkovyCas_T=0, CelkovyCas=DATEDIFF(s, @casStart, @casKonec) WHERE ID=@idEvROp
EXEC dbo.hp_EvidRozpracOper_AktualizaceCasuOper @IDEvidRozpracOper=@idEvROp, @CelkovyCas_S=@skCasSek, @KVO=1
IF (@idPracovisteOld IS NOT NULL)
EXEC dbo.hp_EvidRozpracOper_Uzavreni @IDEvidRozpracOper=@idEvROp, @GenerovatEvidenciOperaci=1
ELSE
EXEC dbo.hp_EvidRozpracOper_Uzavreni @IDEvidRozpracOper=@idEvROp, @GenerovatEvidenciOperaci=0
SET @idMzda=NULL
IF (1=(SELECT COUNT(ID) FROM dbo.TabEvidRozpracOperR WHERE IDEvidRozpracOper=@idEvROp))
SET @idMzda = (SELECT TOP(1) m.ID FROM dbo.TabPrikazMzdyAZmetky m INNER JOIN dbo.TabEvidRozpracOperR er ON (er.ID=m.IDEvidRozpracOperR)
WHERE er.IDEvidRozpracOper=@idEvROp)
UPDATE dbo._TabVyroba_OperaceStartStop SET CasKonec=@casKonec, Ukonceno=1, IDMzda=@idMzda WHERE ID=@idStartStopOp
UPDATE dbo._hdc_ph_PrijataJsonData SET IDMzda=@idMzda WHERE ID=@idJson
END
END
MERGE dbo.TabPrKVazby AS T
USING @PrKVazby AS S ON (T.ID=S.ID)
WHEN MATCHED THEN UPDATE SET T.Sklad=S.Sklad;
-- zapis pro pocitani spotreby testa
INSERT dbo._TabVyroba_TestoVyroba (IdPHIdent, IDPrikaz, IDDokladVydejMat, IDKmenZbozi, SkupZbo, RegCis, DatPriprava, VyrobniDen, Smena, DatVypousteni,
IDStrojPek, Viskozita, VodaLitry, MoukaHmot, MoukaSilo)
SELECT @idPHIdent, @idVPr, @idDZ, @dilec, SkupZbo, RegCis, @casStart, @vyrobniDen, @smena, @casKonec,
@idStroj, @viskoz, @vodaLitry, @moukaKgFin, @moukaSilo FROM dbo.TabKmenZbozi WHERE ID=@dilec
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), IDDoklad=@idDZ WHERE ID=@idJson
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL
DROP TABLE #TabJSONData
END -- typ spotreba
-- ODPIS -----------------------------------------------------------------
IF (@typDokum='odpis')
BEGIN
SET @sklMat = N'211' -- odpis ze skladu Pekarna nebo z 311 - sklad Material ???????
SET @radaDZVydejka = N'242'
SET @dpz=4
SELECT @jsonString2=u2.vydej
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH (akce NVARCHAR(50), [data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH ( vydej NVARCHAR(MAX) AS JSON) AS u2
DELETE FROM #TabJSONData
INSERT #TabJSONData (doc) SELECT @jsonString2
DECLARE p CURSOR LOCAL FOR
SELECT u.skupzbo, u.regcis, u.sarze, u.paletovylist, u.mnozstvi, u.datazoneId
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ( skupzbo NVARCHAR(3), regcis NVARCHAR(30), sarze NVARCHAR(30), paletovyList NVARCHAR(30), mnozstvi NUMERIC(19,6), datazoneId INT) AS u
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @sz, @rc, @sarze, @paletList, @mnoz, @idPHIdent
IF (@@FETCH_STATUS<>0) BREAK
SET @paletList = ISNULL(@paletList, N'')
SET @sarze = ISNULL(@sarze, N'')
IF (@idDZ IS NULL)
BEGIN
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@sklMat, @DruhPohybu=@dpz, @RadaDokladu=@radaDZVydejka, @CisloOrg=0
SELECT @datumDZ=DatPorizeni, @menaDZ=Mena, @kurzDZ=Kurz, @kurzEDZ=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena, @parZnak=ParovaciZnak
FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=0 WHERE ID=@idDZ
END
IF (@idDZ IS NOT NULL)
BEGIN
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
IF (@idKZ IS NOT NULL)
BEGIN
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklMat)
IF (@idSS IS NULL)
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklMat, @IDZboSklad=@idSS OUT
IF (@idSS IS NOT NULL)
BEGIN
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idSS, @Mena=@menaDZ, @Kurz=@kurzDZ,
@JednotkaMeny=@jednM, @KurzEuro=@kurzEDZ, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0, @VstupniCena=@vstC, @Mnozstvi=@mnoz
IF (@idPZ IS NOT NULL)
BEGIN
UPDATE dbo._hdc_ph_PrijataJsonData SET IdPHIdent=@idPHIdent WHERE ID=@idJson
IF NOT EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
IF (ISNULL(@sarze,N'')=N'')
SET @sarze = (SELECT _Prevod_PosledniSarze FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS)
UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPHIdent, _Vyroba_Sarze=@sarze WHERE ID=@idPZ
IF (@paletList<>N'')
BEGIN
SET @idVCK = (SELECT ID FROM dbo.TabVyrCK WHERE IDKmenZbozi=@idKZ AND Nazev1=@paletList)
IF (@idVCK IS NULL)
EXEC dbo.hp_OZInsertVyrCK @IDVyrCK=@idVCK OUT, @IDKmenZbozi=@idKZ, @Nazev1=@paletList, @Selectem=0
SET @idVCS = (SELECT ID FROM dbo.TabVyrCS WHERE IDVyrCK=@idVCK AND IDStavSkladu=@idSS AND Nazev1=@paletList)
IF (@idVCS IS NULL)
EXEC dbo.hp_OZInsertVyrCS @IDVyrCS=@idVCS OUT, @IDVyrCK=@idVCK, @IDZboSklad=@idSS
INSERT dbo.TabVyrCP (IDPolozkaDokladu, IDVyrCis, Nazev, Mnozstvi) SELECT @idPZ, @idVCS, @sarze, @mnoz
END
END -- @idPZ IS NOT NULL
END -- @idSS IS NOT NULL
END -- @idKZ IS NOT NULL
END -- @idDZ IS NOT NULL
END
CLOSE p
DEALLOCATE p
IF (@idDZ IS NOT NULL)
BEGIN
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @idDZ, 0
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
-- musim odepsat i z technologickeho skladu
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZDst OUT, @Sklad=@sklTechnicky, @DruhPohybu=@dpz, @RadaDokladu=@radaDZVydejka,
@Mena=@menaDZ, @CisloOrg=0, @DatumPorizeni=@datumDZ
IF (@idDZDst IS NOT NULL)
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idDZDst)
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDZDst)
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_IDPuvodniDoklad=@idDZ WHERE ID=@idDZDst
SELECT @datReal=DatRealizace FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idDZDst, @IDDokladSrc=@idDZ, @CisloOrgCil=0, @MUCil=NULL, @MenaCil=@menaDZ,
@KurzCil=NULL, @JednotkaMenyCil=NULL, @KurzEuroCil=NULL, @CisloZakCil=NULL, @NOkruhCil=NULL,
@StredNakladCil=NULL, @StredVynosCil=NULL, @FormaDopravyCil=NULL, @VozidloCil=NULL, @ObjednavkaCil=NULL,
@PopisDodavkyCil=NULL, @NavaznyDobropisCil=NULL, @ZamestnanecCil=NULL, @DodFakCil=NULL, @Nasobek=1,
@SlevaCil=NULL, @VytvaretDokladovouVazbu=0, @VytvaretPolozkovouVazbu=0, @ChybaSkladana=@errMsg OUT,
@KopirovaniDokladu=1
IF EXISTS(SELECT 1 FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZDst) AND EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi WHERE Realizovano=1 AND ID=@idDZ)
EXEC dbo.hp_Realizuj_Vydej @ID=@idDZDst, @DatumRealizace=@datReal, @Uzivatel=0, @Hlidat=0, @BylaChyba=@bChyba OUT, @RealMnoz=1, @RealFin=1
END
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), IDDoklad=@idDZ WHERE ID=@idJson
END
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL
DROP TABLE #TabJSONData
END -- typ odpis
END -- akce: vyroba_spotreba
-- END: SPOTREBA/ODPIS
-- BEGIN: OBJEDNAVKA
IF (@akce=N'objednavka')
BEGIN
-- smaz pomocnou tabulku
DELETE FROM #TabJSONData
INSERT #TabJSONData (doc) SELECT @jsonString
DELETE FROM @TabPHObj
DECLARE p CURSOR LOCAL FOR
SELECT u2.datazoneId, u3.datazoneId, u2.paletovyList, u2.created, u2.skupzbo, u2.regcis, u3.sarze, u3.mnozstvi, u2.typ, u2.subtyp
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ([data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH (typ NVARCHAR(50), subtyp NVARCHAR(50), datazoneId INT, skupzbo NVARCHAR(3), regcis NVARCHAR(30), paletovyList NVARCHAR(50), created DATETIME, items NVARCHAR(MAX) AS JSON) AS u2
CROSS APPLY OPENJSON (items)
WITH ( datazoneId INT, heliosId INT, sarze NVARCHAR(30), mnozstvi NUMERIC(19,6) ) AS u3
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @idPHIdent, @idPHIdent2, @paletList, @datPorizeni, @sz, @rc, @sarze, @mnoz, @typDokum, @subtypDokum
IF (@@FETCH_STATUS<>0) BREAK
INSERT dbo._TabVyroba_Objednavky (IDPrijataDataJson, IdPHIdent, IdPHIdent2, SkupZbo, RegCis, PaletovyList, Sarze, Mnozstvi, DatPorizeni)
SELECT @idJson, @idPHIdent, @idPHIdent2, @sz, @rc, @paletList, @sarze, @mnoz, @datPorizeni
SET @idPHObj = SCOPE_IDENTITY()
INSERT @TabPHObj (ID, IDPHIdent) VALUES (@idPHObj, @idPHIdent)
IF (@typDokum='micharna') AND (@subtypDokum='nocni')
UPDATE dbo._TabVyroba_Objednavky SET NocniObjednavka=1 WHERE ID=@idPHObj
END
CLOSE p
DEALLOCATE p
IF (@typDokum='micharna') AND (@subtypDokum='nocni') AND EXISTS (SELECT 1 FROM @TabPHObj)
BEGIN
SET @idDZ = NULL
SET @prevodka = 1
SET @radaDZPrevodV = N'231'
SET @dpz = 4
DECLARE p CURSOR LOCAL FOR
SELECT ID, IDPHIdent FROM @TabPHObj
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @idPHObj, @idPHIdent
IF (@@FETCH_STATUS<>0) BREAK
IF (@idDZ IS NULL)
BEGIN
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@sklMat, @DruhPohybu=@dpz, @RadaDokladu=@radaDZPrevodV, @CisloOrg=0
UPDATE dbo.TabDokladyZbozi SET DruhPohybuPrevod=0, TypPrevodky=N'281', IdSkladPrevodu=@sklPek, PrevodRealizovat=1 WHERE ID=@idDZ
SELECT @menaDZ=Mena, @kurzDZ=Kurz, @kurzEDZ=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena, @parZnak=ParovaciZnak FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=0 WHERE ID=@idDZ
END
IF (@idDZ IS NOT NULL)
BEGIN
SELECT @sz=SkupZbo, @rc=RegCis, @paletList=PaletovyList, @sarze=Sarze FROM dbo._TabVyroba_Objednavky WHERE ID=@idPHObj
SET @sarze = ISNULL(@sarze, N'')
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
IF (@idKZ IS NOT NULL)
BEGIN
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklMat)
IF (@idSS IS NULL)
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklMat, @IDZboSklad=@idSS OUT
IF (@idSS IS NOT NULL)
BEGIN
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idSS, @Mena=@menaDZ, @Kurz=@kurzDZ,
@JednotkaMeny=@jednM, @KurzEuro=@kurzEDZ, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0, @VstupniCena=@vstC, @Mnozstvi=@mnoz
IF (@idPZ IS NOT NULL)
BEGIN
UPDATE dbo.TabPohybyZbozi_EXT SET _HDCAPI_PHident=@idPHIdent WHERE ID=@idPZ
IF (@@ROWCOUNT=0)
INSERT dbo.TabPohybyZbozi_EXT (ID, _HDCAPI_PHident) SELECT @idPZ, @idPHIdent
IF (@sarze<>N'')
BEGIN
IF NOT EXISTS(SELECT 1 FROM dbo.TabKmenZbozi_EXT WHERE ID=@idKZ)
INSERT dbo.TabKmenZbozi_EXT (ID) SELECT @idKZ
UPDATE dbo.TabKmenZbozi_EXT SET _Prevod_PosledniSarze=@sarze WHERE ID=@idKZ
END
SET @idVCP = NULL
IF (@paletList<>N'')
BEGIN
SET @idVCK = (SELECT ID FROM dbo.TabVyrCK WHERE IDKmenZbozi=@idKZ AND Nazev1=@paletList)
IF (@idVCK IS NULL)
EXEC dbo.hp_OZInsertVyrCK @IDVyrCK=@idVCK OUT, @IDKmenZbozi=@idKZ, @Nazev1=@paletList, @Selectem=0
SET @idVCS = (SELECT ID FROM dbo.TabVyrCS WHERE IDVyrCK=@idVCK AND IDStavSkladu=@idSS AND Nazev1=@paletList)
IF (@idVCS IS NULL)
EXEC dbo.hp_OZInsertVyrCS @IDVyrCS=@idVCS OUT, @IDVyrCK=@idVCK, @IDZboSklad=@idSS
INSERT dbo.TabVyrCP (IDPolozkaDokladu, IDVyrCis, Nazev, Mnozstvi) SELECT @idPZ, @idVCS, @sarze, @mnoz
SET @idVCP = SCOPE_IDENTITY()
END
INSERT dbo._TabVyroba_Objednavky_Pol (IDHlava, IDDokladOZ, IDPohybOZ, IDVyrCP, Mnozstvi, Sarze)
SELECT @idPHObj, @idDZ, @idPZ, @idVCP, @mnoz, @paletList
SET @idPHObjPol = SCOPE_IDENTITY()
END -- @idPZ IS NOT NULL
END -- @idSS IS NOT NULL
END -- @idKZ IS NOT NULL
END -- @idDZ IS NOT NULL
END
CLOSE p
DEALLOCATE p
IF (@idDZ IS NOT NULL)
BEGIN
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
SET @logTyp=3
SET @logInt=@idDZ
SET @logStr = @parZnak
SET @log4Mail = 1
SET @logText = N'Nelze realizovat v<>dejka no<6E>n<EFBFBD> p<>evodky'
SET @aktDatum = GETDATE()
EXEC dbo.hp_Realizuj_Vydej @ID=@idDZ, @DatumRealizace=@aktDatum, @Uzivatel=0, @Hlidat=0, @BylaChyba=@bChyba OUT
IF (@bChyba=0)
BEGIN
SET @logTyp=0
SET @logInt=0
SET @logStr = N''
SET @log4Mail = 0
SET @logText = N''
END
END
END -- @subtypDokum='nocni'
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), Blokovano=0 WHERE ID=@idJson
END -- akce: objednavka
-- END: OBJEDNAVKA
-- BEGIN: ZAHAJENI OPERACE
IF (@akce=N'vyroba_zacatek')
BEGIN
-- smaz pomocnou tabulku
DELETE FROM #TabJSONData
INSERT #TabJSONData (doc) SELECT @jsonString
IF (1=ISNULL( (SELECT COUNT(ID) FROM dbo.TabCisZam), 0))
UPDATE dbo._hdc_ph_PrijataJsonData SET CisloZam=(SELECT TOP(1)Cislo FROM dbo.TabCisZam) WHERE ID=@idJson AND CisloZam IS NULL
ELSE
UPDATE dbo._hdc_ph_PrijataJsonData SET CisloZam=999999 WHERE ID=@idJson AND CisloZam IS NULL
SET @cisZam = NULL
SET @idZam = NULL
SELECT @typDokum=u2.typ, @idVPr=u3.heliosId, @idPHIdent=u2.datazoneId, @idPracoviste=u4.idprac, @idStroj=u4.heliosId, @statusStroje=u3.[status],
@casStart=u3.zacatek, @sz=u3.skupzbo, @rc=u3.regcis, @idPHIdent2=u4.datazoneId
FROM #TabJSONData d
CROSS APPLY OPENJSON (d.doc, '$')
WITH ([data] NVARCHAR(MAX) AS JSON) AS u
CROSS APPLY OPENJSON ([data])
WITH ( typ NVARCHAR(50), prikaz NVARCHAR(MAX) AS JSON, datazoneId INT, stroj NVARCHAR(MAX) AS JSON) AS u2
CROSS APPLY OPENJSON (prikaz)
WITH ( heliosId INT, datazoneId INT, skupzbo NVARCHAR(3), regcis NVARCHAR(30), [status] NVARCHAR(20), zacatek DATETIME, konec DATETIME ) AS u3
CROSS APPLY OPENJSON (stroj)
WITH ( heliosId INT, datazoneId INT, idprac INT, kod NVARCHAR(20) ) AS u4
IF (@cisZam IS NULL)
SELECT @cisZam=CisloZam FROM dbo._hdc_ph_PrijataJsonData WHERE ID=@idJson
IF (@cisZam IS NOT NULL)
SELECT @idZam=ID FROM dbo.TabCisZam WHERE Cislo=@cisZam
IF (@idVPr IS NOT NULL) AND (@idPracoviste IS NOT NULL)
BEGIN
-- INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 1, N'Zpracovavam PrijataJsonData jako Vyroba_zacatek', @idJson
SET @doklPrP = NULL
SET @altPrP = NULL
SELECT @cisloPrikazu = RadaPrikaz FROM dbo.TabPrikaz WHERE ID=@idVPr
SET @idStartStopOp = (SELECT ID FROM dbo._TabVyroba_OperaceStartStop WHERE IDPrijataDataJson=@idJson AND IdPHIdent=@idPHIdent)
IF (@idStartStopOp IS NULL)
BEGIN
INSERT dbo._TabVyroba_OperaceStartStop (IDPrijataDataJson, IdPHIdent, IdPHIdent2, IDPrikaz, SkupZbo, RegCis, IDStroj, IDPracoviste, CasStart)
SELECT @idJson, @idPHIdent, @idPHIdent2, @idVPr, @sz, @rc, @idStroj, @idPracoviste, @casStart
SET @idStartStopOp = SCOPE_IDENTITY()
END
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_OperaceStartStop WHERE IDPrijataDataJson=@idJson AND IDEvidRozpracOper IS NULL)
BEGIN
SELECT @strojPec = Nazev FROM dbo.TabCisStroju WHERE ID=@idStroj
SET @doklPrP = NULL
IF (@sz='701')
SELECT TOP(1) @doklPrP=Doklad, @altPrP=Alt, @idPracoviste=pracoviste FROM dbo.TabPrPostup
WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@idVPr AND nazev=N'M<EFBFBD>ch<EFBFBD>n<EFBFBD>'
IF (@doklPrP IS NOT NULL)
BEGIN
INSERT dbo.TabEvidRozpracOper (IDZamestnance, IDPracoviste, IDStroje, CasZahajeni, Poznamka)
SELECT @idZam, @idPracoviste, NULL, @casStart, N'M<EFBFBD>ch<EFBFBD>n<EFBFBD> pro stroj ' + ISNULL(@strojPec, N'') + N' *** p<><70>kaz ' + ISNULL(@cisloPrikazu, N'')
SET @idEvROp = SCOPE_IDENTITY()
INSERT dbo.TabEvidRozpracOperR (IDEvidRozpracOper, IDPrikaz, DokladPrPostup, AltPrPostup, Mnoz_odv) SELECT @idEvROp, @idVPr, @doklPrP, @altPrP, 1
UPDATE dbo._TabVyroba_OperaceStartStop SET IDEvidRozpracOper=@idEvROp, DokladPrP=@doklPrP, AltPrP=@altPrP WHERE ID=@idStartStopOp
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), Blokovano=0, IDEvidRozpOp=@idEvROp WHERE ID=@idJson
END
END
END
END -- akce: vyroba_zacatek
-- END: ZAHAJENI OPERACE
IF (@tranPred=0) AND (@@TRANCOUNT>0)
COMMIT TRAN
END TRY
BEGIN CATCH
IF (@tranPred=0) AND (@@TRANCOUNT>0)
ROLLBACK TRAN
SET @errMsg = ERROR_PROCEDURE() + N'/r.' + CONVERT(nvarchar, ERROR_LINE()) + N' >> ' + ERROR_MESSAGE()
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=@errMsg WHERE ID=@idJson
IF (@logTyp>0)
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue, StrValue, IdJsonData, ForMail)
SELECT @logTyp, ISNULL(@logText, N'') + NCHAR(13)+NCHAR(10) + @errMsg, @logInt, @logStr, @idJson, @log4Mail
ELSE
INSERT dbo._hdc_ph_Log (Typ, LogText, IdJsonData, ForMail) SELECT 1, N'Chyba zpracovani PrijataJsonData: ' + @errMsg, @idJson, 1
END CATCH
SET @logTyp=0
END
CLOSE j
DEALLOCATE j
-- pro jistotu
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL
DROP TABLE #TabJSONData

View File

@ -0,0 +1,162 @@
-- dbo.ep_Vyroba_GenSouhrnnyVydej
CREATE PROCEDURE dbo.ep_Vyroba_GenSouhrnnyVydej
@datum DATETIME=NULL,
@radaVydej NVARCHAR(3)=NULL,
@idSklad NVARCHAR(30)=NULL,
@errorMsg NVARCHAR(500)=N'' OUT
AS
-- HD Consulting Strakonice, T. Buzin
-- generuje souhrnnou vydejku (z vydejek prikazu, storna, rucnich korekci zaslanych z terminalu od PH) do jedne vydejky za dany den
-- data z technologickeho/pomocneho skladu, vydejka na sklad Pekarna 211 (lze ovlivnit parametrem idSklad)
-- pokud neni @datum zadane, bere se vcerejsek
SET NOCOUNT ON
DECLARE
@errMsg NVARCHAR(500),
@tranPred INT,
@debugXml XML,
@iTemp INT,
@bTemp BIT
DECLARE
@idObd INT,
@datumOd DATETIME,
@datumDo DATETIME,
@sklMatHlavni NVARCHAR(30)=N'311',
@sklPekarna NVARCHAR(30)=N'211',
@sklTechnolog NVARCHAR(30),
@idDZ INT,
@idPZ INT,
@idSS INT,
@idKZ INT,
@mnoz NUMERIC(19,6),
@cOrg INT=0,
@dzMena NUMERIC(19,6),
@dpz TINYINT=4, -- vydej v evid.cene
@vstC TINYINT,
@jednM INT,
@dzKurz NUMERIC(19,6),
@dzKurzE NUMERIC(19,6)
DECLARE @vydeje TABLE (SkupZbo NVARCHAR(3) NOT NULL, RegCis NVARCHAR(30) NOT NULL, IDKmenZbozi INT, IDPohybZbozi INT, IDPrikaz INT, Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0,
PRIMARY KEY (SkupZbo,RegCis) )
IF OBJECT_ID(N'tempdb..#TabExtKom', N'U') IS NULL
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) )
SET @sklTechnolog=(SELECT TOP(1) Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%' AND CisloStr LIKE N'2%')
IF (@sklTechnolog IS NULL)
SET @sklTechnolog = N'261'
SET @sklPekarna=(SELECT TOP(1) Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna')
IF (@sklPekarna IS NULL)
SET @sklPekarna = N'211'
IF (@idSklad IS NULL)
SET @idSklad = @sklPekarna
IF (@datum IS NULL)
SET @datum = DATEADD(second, -1, dbo.hf_TruncDate(GETDATE())) -- vcerejsi pulnoc
SET @datumOd = dbo.hf_TruncDate(@datum) -- 00:00:00 daneho dne
SET @datumDo = DATEADD(second, -1, DATEADD(day, 1, @datumOd)) -- 23:59:59 daneho dne
EXEC @idObd = dbo.hp_GetObdobiDleDatumu @Datum=@datumOd, @JakyDatum=0, @HlasitUzavreno=0
IF (@radaVydej IS NULL)
SET @radaVydej = (SELECT TOP(1) RadaDokladu FROM dbo.TabDruhDokZbo WHERE DruhPohybuZbo=4 AND Nazev LIKE N'%eba PEK'
AND ID NOT IN (SELECT d.IDDruhDZ FROM dbo.TabDruhDokZboDef d WHERE d.IdObdobi=@idObd AND d.Blokovano=1) )
IF (@radaVydej IS NULL)
SET @radaVydej = (SELECT TOP(1) RadaDokladu FROM dbo.TabDruhDokZbo WHERE DruhPohybuZbo=4 AND Nazev LIKE N'%eba PEK')
IF (@radaVydej IS NULL)
SET @radaVydej = N'223' -- vyrobni spotreba PEK
INSERT @vydeje (SkupZbo, RegCis, IDKmenZbozi, IDPohybZbozi, IDPrikaz, Mnozstvi)
SELECT p.SkupZbo, p.RegCis, k.ID, p.ID, ISNULL(p.IDPrikaz, d.IDPrikaz), p.MnozstviDruhove
FROM dbo.TabPohybyZbozi p
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
WHERE d.DatPorizeni BETWEEN @datumOd AND @datumDo
AND d.RadaDokladu IN (@radaVydej, N'229', N'292') -- standardne by melo byt: 223 vydej spotreba PEK, 229 Storno vydej spotreba, 292 Prijem vyrovnani do normy
AND d.DruhPohybuZbo IN (0,1,3,4)
AND s.IDSklad=@sklTechnolog
AND p.Mnozstvi>0
AND k.Sluzba=0
ORDER BY d.ParovaciZnak, p.Poradi
MERGE @vydeje AS T
USING dbo.TabKmenZbozi AS S ON (S.SkupZbo=T.SkupZbo AND S.RegCis=T.RegCis)
WHEN MATCHED AND T.IDKmenZbozi IS NULL THEN UPDATE SET T.IDKmenZbozi=S.ID;
SET @debugXml=(SELECT * FROM @vydeje FOR XML AUTO)
BEGIN TRY
SET @tranPred = @@TRANCOUNT
IF (@tranPred=0)
BEGIN TRAN
IF EXISTS (SELECT 1 FROM @vydeje WHERE Mnozstvi<>0 AND IDKmenZbozi IS NOT NULL)
BEGIN
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@idSklad, @DruhPohybuZbo=@dpz, @RadaDokladu=@radaVydej, @CisloOrg=@cOrg, @DatumPorizeni=@datumDo
IF (@idDZ IS NOT NULL)
BEGIN
SELECT @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro, @vstC=VstupniCena, @jednM=JednotkaMeny FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
DECLARE p CURSOR LOCAL FOR
SELECT DISTINCT(IDKmenZbozi), SUM(Mnozstvi)
FROM @vydeje
WHERE IDKmenZbozi IS NOT NULL
GROUP BY IDKmenZbozi
OPEN p
WHILE (1=1)
BEGIN
FETCH NEXT FROM p INTO @idKZ, @mnoz
IF (@@FETCH_STATUS<>0) BREAK
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklPekarna AND IDKmenZbozi=@idKZ)
IF (@idSS IS NULL)
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@sklPekarna, @IDZboSklad=@idSS OUT
IF (@idSS IS NOT NULL)
BEGIN
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=@cOrg, @IDZboSklad=@idSS, @Mena=@dzMena,
@Kurz=@dzKurz, @KurzEuro=@dzKurzE, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0,
@VstupniCena=@vstC, @PovolitDuplicitu=1, @PovolitBlokovane=1, @Mnozstvi=@mnoz
END -- @idSS IS NOT NULL
END
CLOSE p
DEALLOCATE p
END -- @idDZ IS NOT NULL
END -- mam neco v tabulici @vydeje
IF (@tranPred=0) AND (@@TRANCOUNT>0)
COMMIT TRAN
END TRY
BEGIN CATCH
IF (@tranPred=0) AND (@@TRANCOUNT>0)
ROLLBACK TRAN
SET @errMsg = ERROR_MESSAGE() + N' / ' + ERROR_PROCEDURE() + N' / r. ' + CONVERT(nvarchar, ERROR_LINE())
END CATCH

View File

@ -0,0 +1,10 @@
-- dbo.ep_Vyroba_GenerujPalety
CREATE PROCEDURE dbo.ep_Vyroba_GenerujPalety
@idPrikaz INT=NULL,
@pocetStitku INT=0,
@pocetPaletListu INT=0,
@paletaStart NVARCHAR(25)=NULL,
@sarze NVARCHAR(15)=NULL
AS
SET NOCOUNT ON

View File

@ -0,0 +1,101 @@
-- dbo.ep_Vyroba_PrijemNestandard
CREATE PROCEDURE dbo.ep_Vyroba_PrijemNestandard
AS
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
SET NOCOUNT ON
IF OBJECT_ID(N'tempdb..#TabPrijemNestandard', N'U') IS NULL
RETURN
DECLARE
@sklad NVARCHAR(30)=N'211',
@radaPrijem NVARCHAR(3)='270',
@vstC TINYINT,
@dpz TINYINT=0,
@jednM INT,
@dzMena NVARCHAR(3),
@dzKurz NUMERIC(19,6),
@dzKurzE NUMERIC(19,6),
@idDZ INT,
@idPZ INT,
@idStav INT,
@mjEvid NVARCHAR(10),
@mnoz NUMERIC(19,6),
@mnozKS NUMERIC(19,6),
@ksVKA NUMERIC(19,6),
@idVCK INT,
@idVCS INT,
@idVCP INT
DECLARE
@idKmen INT,
@pocetKA SMALLINT,
@paletList NVARCHAR(50),
@sarze NVARCHAR(50),
@datVyroby DATETIME,
@datExpirace DATETIME,
@smena TINYINT,
@idStroj INT
SELECT TOP(1) @idKmen=IDKmen,
@mnoz=MnozstviKg,
@paletList=PaletovyList,
@sarze=Sarze,
@datVyroby=DatumVyroby,
@datExpirace=DatumExpirace,
@smena=Smena,
@idStroj=IDStroje
FROM #TabPrijemNestandard
IF (@idKmen IS NULL) OR (@mnoz<=0)
RETURN
SET @paletList = ISNULL(@paletList, N'')
SET @sarze = ISNULL(@sarze, N'')
SELECT @mjEvid=MJEvidence FROM dbo.TabKmenZbozi WHERE ID=@idKmen
SET @ksVKA = 1
IF (@mjEvid=N'KA')
SET @ksVKA = ISNULL( (SELECT PocetOdvozene FROM dbo.TabMJZbozi WHERE KodMJ1=N'KA' AND KodMJ2=N'Ks' AND IDKmenZbozi=@idKmen), 0)
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_InsertHlavickyOZ @ident=@idDZ OUT, @Sklad=@sklad, @DruhPohybu=@dpz, @RadaDokladu=@radaPrijem, @CisloOrg=0
SELECT @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena FROM dbo.TabDokladyZbozi WHERE ID=@idDZ
IF (@idDZ IS NOT NULL)
BEGIN
-- SET @mnoz = @pocetKA
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZ OUT, @IDDoklad=@idDZ, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idStav, @Mena=@dzMena, @Kurz=@dzKurz,
@JednotkaMeny=@jednM, @KurzEuro=@dzKurzE, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0, @VstupniCena=@vstC, @Mnozstvi=@mnoz
IF (@idPZ IS NOT NULL) AND (@sarze<>N'')
BEGIN
UPDATE dbo.TabPohybyZbozi SET Poznamka=N'P<EFBFBD><EFBFBD>jem nestandard' 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, @Nazev1=@paletList, @Selectem=0, @DatVyroby=@datVyroby, @DatExpirace=@datExpirace, @Poznamka=N'Nestandard'
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
INSERT dbo.TabVyrCP (IDPolozkaDokladu, IDVyrCis, Nazev, Mnozstvi, DatExpirace) SELECT @idPZ, @idVCS, @sarze, @mnoz, @datExpirace
IF NOT EXISTS(SELECT 1 FROM dbo._TabVyroba_Palety WHERE Typ=5 AND CisloPalety=@paletList AND Sarze=@sarze)
INSERT dbo._TabVyroba_Palety (Typ, CisloPalety, Sarze, DatZahajeni, DatUkonceni, Mnozstvi, MnozstviKA, IDKmen)
SELECT 5, @paletList, @sarze, GETDATE(), GETDATE(), @pocetKA*@ksVKA, @pocetKA, @idKmen
END
END
END

View File

@ -0,0 +1,116 @@
-- dbo.ep_Vyroba_VyrobaMimoPlan
CREATE PROCEDURE dbo.ep_Vyroba_VyrobaMimoPlan
@IDKmen INT=NULL,
@IDStroj INT=NULL,
@IDZamest INT=NULL
AS
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
SET NOCOUNT ON
IF ((@IDKmen IS NULL) OR (@IDStroj IS NULL)) AND OBJECT_ID(N'tempdb..#TabVyrobaMimoPlan', N'U') IS NULL
RETURN
DECLARE
@errMsg NVARCHAR(500),
@tranPred INT
DECLARE
@idEvROp INT,
@uroven INT,
@maxUroven INT,
@iChyba INT,
@mamPolotovar BIT,
@idPlan INT,
@IDPracoviste INT,
@idVPr INT,
@prpD INT,
@szKmen NVARCHAR(3),
@prpA NCHAR(1)=N'A',
@mn NUMERIC(19,6),
@mj NVARCHAR(10),
@szVyr NVARCHAR(3),
@rcVyr NVARCHAR(30)
IF (@IDKmen IS NULL)
DECLARE v CURSOR LOCAL FOR
SELECT IDKmen, IDStroj, IDZamest FROM #TabVyrobaMimoPlan ORDER BY ID
ELSE
DECLARE v CURSOR LOCAL FOR
SELECT @IDKmen, @IDStroj, @IDZamest
OPEN v
WHILE (1=1)
BEGIN
FETCH NEXT FROM v INTO @IDKmen, @IDStroj, @IDZamest
IF (@@FETCH_STATUS<>0) BREAK
IF (@IDZamest IS NULL)
SELECT TOP(1) ID FROM dbo.TabCisZam
SELECT @szVyr=SkupZbo, @rcVyr=RegCis, @mj=MJEvidence FROM dbo.TabKmenZbozi WHERE ID=@IDKmen
SET @mn = ISNULL( (SELECT PocetHlavni FROM dbo.TabMJZbozi WHERE IDKmenZbozi=@IDKmen AND KodMJ1=N'KA' AND KodMJ2='Pal'), 1)
IF (@mn=0)
SET @mn = 1
SELECT @IDPracoviste=IDPrac FROM dbo.TabCisStroju WHERE ID=@IDStroj
EXEC @idPlan=dbo.hp_NewVyrobniPlan @IDDilce=@IDKmen, @mnozstvi=@mn, @Poznamka=N'V<EFBFBD>roba mimo pl<70>n', @ZdrojPozadavku=0
IF (@idPlan>0)
BEGIN
UPDATE dbo.TabPlan SET Datum=dbo.hf_TruncDate(GETDATE()) WHERE ID=@idPlan
IF OBJECT_ID(N'tempdb..#TabPomSeznamVyrPlanuProZaplanovani', N'U') IS NULL
CREATE TABLE #TabPomSeznamVyrPlanuProZaplanovani (ID INT NOT NULL)
IF OBJECT_ID(N'tempdb..#TabGenVyrPrikazy', N'U') IS NULL
CREATE TABLE #TabGenVyrPrikazy (ID INT NOT NULL, UrovenVnoreni INT NULL)
INSERT #TabPomSeznamVyrPlanuProZaplanovani (ID) SELECT @idPlan
EXEC dbo.hp_VyrPlan_ZaplanujSeznam @GenPlanovaneVyroby=0
IF EXISTS (SELECT 1 FROM #TabGenVyrPrikazy)
BEGIN
UPDATE t SET t.UrovenVnoreni=s.UrovenVnoreni FROM #TabGenVyrPrikazy t, dbo.TabPrikaz s WHERE s.ID=t.ID
SET @maxUroven=(SELECT MAX(UrovenVnoreni) FROM #TabGenVyrPrikazy)
DECLARE c CURSOR LOCAL FOR
SELECT ID, UrovenVnoreni FROM #TabGenVyrPrikazy
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @idVPr, @uroven
IF (@@FETCH_STATUS<>0) BREAK
SELECT @idKmen=p.IDTabKmen, @szKmen=k.SkupZbo FROM dbo.TabPrikaz p INNER JOIN dbo.TabKmenZbozi k ON (k.ID=p.IDTabKmen) WHERE p.ID=@idVPr
SET @mamPolotovar=0
IF EXISTS (SELECT 1 FROM dbo.TabPrKVazby v INNER JOIN dbo.TabKmenZbozi n ON (v.nizsi=n.ID)
WHERE v.IDOdchylkyDo IS NULL AND v.IDPrikaz=@idVPr AND n.SkupZbo LIKE N'7%' AND n.SkupZbo<>N'701')
SET @mamPolotovar=1
IF (@szKmen NOT IN (N'701')) AND (@mamPolotovar=0)
UPDATE dbo.TabPrPostup SET pracoviste=@IDPracoviste, IDStroje=@IDStroj WHERE IDOdchylkyDo IS NULL AND Nazev LIKE N'Pe<EFBFBD>e%' AND IDPrikaz=@idVPr
EXEC @iChyba=dbo.hp_ZadaniPrikazuDoVyroby @IDPrikaz=@idVPr, @OnlyPredzpracovani=0
/*
IF (@iChyba=0) AND (@szKmen NOT IN (N'701'))
BEGIN
EXEC @idEvROp=dbo.ep_Vyroba_InsertEvidRozpracOper @IDZamestnance=@idZamest, @IDPracoviste=@IDPracoviste, @IDStroje=@IDStroj
IF (@idEvROp>0)
BEGIN
SELECT TOP(1) @prpD=Doklad, @prpA=Alt FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@idVPr
EXEC dbo.ep_Vyroba_InsertEvidRozpracOperPol @IdEvidRozpOper=@idEvROp, @IdPrikaz=@idVPr, @doklPrPost=@prpD, @altPrPost=@prpA
END
END
*/
END
CLOSE c
DEALLOCATE c
END
END
END
CLOSE v
DEALLOCATE v

View File

@ -0,0 +1,49 @@
-- dbo.ep_Vyroba_ZapisCCP1
CREATE PROCEDURE dbo.ep_Vyroba_ZapisCCP1
AS
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
SET NOCOUNT ON
DECLARE
@id INT,
@idVPr INT,
@idKZ INT,
@idStroj INT,
@smena TINYINT,
@dat DATETIME=GETDATE(),
@teplota NUMERIC(15,2),
@rychlost NUMERIC(15,2),
@hmotnost NUMERIC(15,2),
@delka NUMERIC(15,2),
@prumer NUMERIC(15,2),
@naprava NVARCHAR(255)
IF OBJECT_ID(N'tempdb..#InsertCCP1Zaznamy', N'U') IS NULL
RETURN
DECLARE c CURSOR LOCAL FOR
SELECT IDStroj, IDPrikaz, Smena, Teplota, Rychlost, Hmotnost, Delka, Prumer, NapravneOpatreni
FROM #InsertCCP1Zaznamy
ORDER BY ID
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @idStroj, @idVPr, @smena, @teplota, @rychlost, @hmotnost, @delka, @prumer, @naprava
IF (@@FETCH_STATUS<>0) BREAK
SELECT @idKZ=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
INSERT dbo._TabVyroba_KontrolyCCP1 (IDStroj, Smena, Teplota, Rychlost, Hmotnost, Delka, Prumer, IDKmenZbozi, NapravneOpatreni)
SELECT @idStroj, @smena, @teplota, @rychlost, @hmotnost, @delka, @prumer, @idKZ, @naprava
END
CLOSE c
DEALLOCATE c

View File

@ -0,0 +1,36 @@
DROP TABLE IF EXISTS #tempPeceni
CREATE TABLE #tempPeceni
(
EventID VARCHAR(8) NOT NULL,
StartDateTime DATETIME NOT NULL,
EndDateTime DATETIME NOT NULL
)
INSERT INTO #tempPeceni
VALUES
('peceni', 'september 17, 2023 7:0:00', 'september 18, 2023 02:26:18');
select hr.ld AS CasDavky,
60 - case when e.startdatetime > hr.ld then datepart(minute, e.startdatetime) else 0 end
+ case when e.enddatetime < hr.ud then datepart(minute, e.enddatetime)-60 else 0 end as allocatedminutes
from #tempPeceni as e
cross apply
(
select
dateadd(hour, datepart(hour,e.startdatetime)+t.rn-1, cast(cast(e.startdatetime as date) as datetime)) as ld,
dateadd(hour, datepart(hour,e.startdatetime)+t.rn, cast(cast(e.startdatetime as date) as datetime)) as ud,
rn
from
(
-- a tally, max 100 rows .. max 100 hours duration
select top (1+datediff(hour,e.startdatetime,dateadd(minute, -1, e.enddatetime))) row_number() over(order by @@spid) as rn
from (values(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) as a(n)
cross join (values(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) as b(n)
) as t
) as hr;

10
_sql/spec_Clear.sql Normal file
View File

@ -0,0 +1,10 @@
DROP TRIGGER IF EXISTS dbo.ET_TabVyroba_Objednavky_IU
DROP TRIGGER IF EXISTS dbo.ET_TabVyroba_Objednavky_Pol_D
DROP TRIGGER IF EXISTS dbo.ET_TabPohybyZbozi_HDC_IU
DROP TRIGGER IF EXISTS dbo.ET_TabPohybyZbozi_HDC_D
DROP TRIGGER IF EXISTS dbo.ET_TabVyrCP_HDC_IU
DROP TRIGGER IF EXISTS dbo.ET_TabVyrCP_HDC_D
DROP TRIGGER IF EXISTS dbo.ET_TabVyroba_Palety_IU
DROP TRIGGER IF EXISTS dbo.ET_TabVyroba_Palety_D
DROP TRIGGER IF EXISTS dbo.ET_TabVyroba_PaletyUkonceni_D
DROP TRIGGER IF EXISTS dbo.ET_TabVyroba_VydejMatSarze_IU

View File

@ -0,0 +1,103 @@
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_Objednavky (
ID int IDENTITY(1, 1) NOT NULL,
IDPrijataDataJson int NULL,
IdPHIdent bigint NULL,
IdPHIdent2 bigint NULL,
PHOznaceni nvarchar(50) COLLATE Czech_CI_AS NULL,
IDDokladOZ INT,
Poznamka nvarchar(255) COLLATE Czech_CI_AS NULL,
SkupZbo nvarchar(3) COLLATE Czech_CI_AS NULL,
RegCis nvarchar(30) COLLATE Czech_CI_AS NULL,
IDKmenZbozi int NULL,
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
MnozKVydeji numeric(19, 6) DEFAULT 0.0 NOT NULL,
PaletovyList nvarchar(50) COLLATE Czech_CI_AS NULL,
Sarze nvarchar(30) COLLATE Czech_CI_AS NULL,
NocniObjednavka BIT NOT NULL DEFAULT 0,
Storno BIT NOT NULL DEFAULT 0,
Vratka BIT NOT NULL DEFAULT 0,
Splneno BIT NOT NULL DEFAULT 0,
PocetPohybuOZ SMALLINT NOT NULL DEFAULT 0,
Blokovano bit DEFAULT 0 NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME(),
DatZpracovani datetime NULL,
CONSTRAINT PK__TabVyroba_Objednavky PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
DROP INDEX IF EXISTS EI_TabVyroba_Objednavky_IdPrijataDataJson ON dbo._TabVyroba_Objednavky
CREATE NONCLUSTERED INDEX EI_TabVyroba_Objednavky_IdPrijataDataJson ON dbo._TabVyroba_Objednavky (IDPrijataDataJson)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_Objednavky_idPH ON dbo._TabVyroba_Objednavky
CREATE NONCLUSTERED INDEX EI_TabVyroba_Objednavky_idPH ON dbo._TabVyroba_Objednavky (IdPHIdent)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
/* 10.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'IDDokladOZ') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD IDDokladOZ INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'IDPohybOZ') IS NOT NULL ALTER TABLE dbo._TabVyroba_Objednavky DROP COLUMN IDPohybOZ
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'DatReportuPH') IS NOT NULL ALTER TABLE dbo._TabVyroba_Objednavky DROP COLUMN DatReportuPH
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'PocetPohybuOZ') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD PocetPohybuOZ SMALLINT NOT NULL DEFAULT 0
/* 12.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'Storno') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD Storno BIT NOT NULL DEFAULT 0
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'Vratka') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD Vratka BIT NOT NULL DEFAULT 0
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'Autor') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME()
/* 14.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'NocniObjednavka') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD NocniObjednavka BIT NOT NULL DEFAULT 0
/* 23.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'Splneno') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD Splneno BIT NOT NULL DEFAULT 0
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky', N'MnozKVydeji') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky ADD MnozKVydeji NUMERIC(19,6) NOT NULL DEFAULT 0.0
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_Objednavky_Pol (
ID INT IDENTITY(1, 1) NOT NULL,
IDHlava INT NULL,
IDDokladOZ INT NULL,
IDPohybOZ INT NULL,
IDVyrCP INT NULL,
SkupZbo NVARCHAR(3),
RegCis NVARCHAR(100),
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
Sarze NVARCHAR(100) NULL,
PaletovyList NVARCHAR(100) NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
CONSTRAINT PK__TabVyroba_Objednavky_Pol PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
DROP INDEX IF EXISTS EI_TabVyroba_Objednavky_Pol_idHlava ON dbo._TabVyroba_Objednavky_Pol
CREATE NONCLUSTERED INDEX EI_TabVyroba_Objednavky_Pol_idHlava ON dbo._TabVyroba_Objednavky_Pol (IDHlava)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_Objednavky_Pol_idPZ ON dbo._TabVyroba_Objednavky_Pol
CREATE NONCLUSTERED INDEX EI_TabVyroba_Objednavky_Pol_idPZ ON dbo._TabVyroba_Objednavky_Pol (IDPohybOZ)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_Objednavky_Pol_idDZ ON dbo._TabVyroba_Objednavky_Pol
CREATE NONCLUSTERED INDEX EI_TabVyroba_Objednavky_Pol_idDZ ON dbo._TabVyroba_Objednavky_Pol (IDDokladOZ)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
/* 13.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky_Pol', N'IDVyrCP') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky_Pol ADD IDVyrCP INT NULL
/* 9.9.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky_Pol', N'Sarze') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky_Pol ADD Sarze NVARCHAR(100) NULL
/* 17.9.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky_Pol', N'PaletovyList') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky_Pol ADD PaletovyList NVARCHAR(100) NULL
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky_Pol', N'SkupZbo') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky_Pol ADD SkupZbo NVARCHAR(3) NULL
IF COL_LENGTH(N'dbo._TabVyroba_Objednavky_Pol', N'RegCis') IS NULL ALTER TABLE dbo._TabVyroba_Objednavky_Pol ADD RegCis NVARCHAR(30) NULL

View File

@ -0,0 +1,52 @@
IF OBJECT_ID(N'dbo._TabVyroba_OperaceStartStop', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_OperaceStartStop (
ID int IDENTITY(1, 1) NOT NULL,
IDPrijataDataJson int NOT NULL,
IdPHIdent bigint NULL,
IdPHIdent2 bigint NULL,
IDPrikaz int NULL,
Nazev NVARCHAR(50) NULL,
DokladPrP int NULL,
AltPrP nchar(1) COLLATE Czech_CI_AS NULL,
SkupZbo nvarchar(3) COLLATE Czech_CI_AS NULL,
RegCis nvarchar(30) COLLATE Czech_CI_AS NULL,
IDKmenZbozi int NULL,
IDStroj int NULL,
IDPracoviste int NULL,
CasStart datetime NULL,
CasKonec datetime NULL,
IDDokladOZ INT NULL,
CONSTRAINT PK___TabVyrobaOperaceStartStop PRIMARY KEY CLUSTERED (ID DESC)
WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
DROP INDEX IF EXISTS EI_TabVyroba_OperaceStartStop_IdPrijataDataJson ON dbo._TabVyroba_OperaceStartStop
CREATE NONCLUSTERED INDEX EI_TabVyroba_OperaceStartStop_IdPrijataDataJson ON dbo._TabVyroba_OperaceStartStop (IDPrijataDataJson)
WITH (PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_OperaceStartStop_Prikaz ON dbo._TabVyroba_OperaceStartStop
CREATE NONCLUSTERED INDEX EI_TabVyroba_OperaceStartStop_Prikaz ON dbo._TabVyroba_OperaceStartStop (IDPrikaz)
WITH (PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_OperaceStartStop_Stroj ON dbo._TabVyroba_OperaceStartStop
CREATE NONCLUSTERED INDEX EI_TabVyroba_OperaceStartStop_Stroj ON dbo._TabVyroba_OperaceStartStop (IDStroj)
WITH (PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
/* 26.10.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_OperaceStartStop', N'PosledniChyba') IS NULL ALTER TABLE dbo._TabVyroba_OperaceStartStop ADD PosledniChyba NVARCHAR(255) NULL
/* 28.10.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_OperaceStartStop', N'IDMzda') IS NULL ALTER TABLE dbo._TabVyroba_OperaceStartStop ADD IDMzda INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_OperaceStartStop', N'IDEvidRozpracOper') IS NULL ALTER TABLE dbo._TabVyroba_OperaceStartStop ADD IDEvidRozpracOper INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_OperaceStartStop', N'Ukonceno') IS NULL ALTER TABLE dbo._TabVyroba_OperaceStartStop ADD Ukonceno BIT NOT NULL DEFAULT 0
/* 13.10.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_OperaceStartStop', N'IDDokladOZ') IS NULL ALTER TABLE dbo._TabVyroba_OperaceStartStop ADD IDDokladOZ INT NULL
/* 7.10.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_OperaceStartStop', N'Nazev') IS NULL ALTER TABLE dbo._TabVyroba_OperaceStartStop ADD Nazev NVARCHAR(50) NULL

View File

@ -0,0 +1,25 @@
IF OBJECT_ID(N'dbo._TabVyroba_OperaceStartStopVydej', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_OperaceStartStopVydej (
ID int IDENTITY(1, 1) NOT NULL,
IDHlava int NOT NULL,
IDKmenZbozi int NOT NULL,
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
MnozstviPuvodni numeric(19, 6) DEFAULT 0.0 NOT NULL,
IDPohybZbozi int NOT NULL,
CONSTRAINT PK__TabVyroba_OperaceStartStopVydej PRIMARY KEY CLUSTERED (ID DESC)
WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
DROP INDEX IF EXISTS EI__TabVyroba_OperaceStartStopVydej_IDHlava ON dbo._TabVyroba_OperaceStartStopVydej
CREATE NONCLUSTERED INDEX EI__TabVyroba_OperaceStartStopVydej_IDHlava ON dbo._TabVyroba_OperaceStartStopVydej (IDHlava)
WITH (PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_OperaceStartStopVydej_IDKmen ON dbo._TabVyroba_OperaceStartStopVydej
CREATE NONCLUSTERED INDEX EI__TabVyroba_OperaceStartStopVydej_IDKmen ON dbo._TabVyroba_OperaceStartStopVydej (IDKmenZbozi)
WITH (PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_OperaceStartStopVydej_PohybOZ ON dbo._TabVyroba_OperaceStartStopVydej
CREATE NONCLUSTERED INDEX EI__TabVyroba_OperaceStartStopVydej_PohybOZ ON dbo._TabVyroba_OperaceStartStopVydej (IDPohybZbozi)
WITH (PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,82 @@
IF OBJECT_ID(N'dbo._TabVyroba_Palety', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_Palety (
ID int IDENTITY(1, 1) NOT NULL,
Typ tinyint DEFAULT 0 NOT NULL,
CisloPalety nvarchar(50) NOT NULL,
Sarze nvarchar(30) NULL,
CisloOrg int NULL,
IDPrikaz int NULL,
IDKmen int NULL,
IDStroj int NULL,
IDVyrCisPrikaz int NULL,
IDPlanRozpis INT NULL,
DatPlan datetime NULL,
HodinaPlan smallint NULL,
DatZahajeni datetime NULL,
DatUkonceni datetime NULL,
Mnozstvi int DEFAULT 0 NOT NULL,
MnozstviKA smallint DEFAULT 0 NOT NULL,
MnozstviPlneKA smallint DEFAULT 0 NOT NULL,
MnoztviPosledniKA smallint DEFAULT 0 NOT NULL,
KusuVKA smallint DEFAULT 0 NOT NULL,
JSONDataStart nvarchar(max) NULL,
JSONStartResp nvarchar(max) NULL,
JSONDataKonec nvarchar(max) NULL,
JSONKonecResp nvarchar(max) NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
JeCislo AS CONVERT([bit],case when isnumeric([CisloPalety])=(1) then (1) else (0) end),
CONSTRAINT PK__TabVyroba_Palety PRIMARY KEY CLUSTERED (ID DESC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
/* 25.11.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'IDKmen') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD IDKmen INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'IDVyrCisPrikaz') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD IDVyrCisPrikaz INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'KusuVKA') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD KusuVKA SMALLINT DEFAULT 0 NOT NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'DatExpirace') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD DatExpirace DATETIME NULL
/* 29.10.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'IDPlanRozpis') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD IDPlanRozpis INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'DatPlan') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD DatPlan DATETIME NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'HodinaPlan') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD HodinaPlan TINYINT NULL
/* 7.12.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'JSONDataStart') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD JSONDataStart NVARCHAR(max) NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'JSONDataKonec') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD JSONDataKonec NVARCHAR(max) NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'JSONStartResp') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD JSONStartResp NVARCHAR(max) NULL
IF COL_LENGTH(N'dbo._TabVyroba_Palety', N'JSONKonecResp') IS NULL ALTER TABLE dbo._TabVyroba_Palety ADD JSONKonecResp NVARCHAR(max) NULL
IF EXISTS (SELECT 1 FROM sys.extended_properties WHERE [name]='MS_Description' AND major_id=OBJECT_ID(N'dbo._TabVyroba_Palety', N'U'))
EXEC sp_dropextendedproperty @name='MS_Description', @level0type='schema', @level0name='dbo', @level1type='table', @level1name='_TabVyroba_Palety', @level2type='column', @level2name='Typ'
EXEC sp_addextendedproperty @name='MS_Description', @value=N'0-nedefinovano
1-vyrobek pekarna (vlastni)
2-vyrobek pekarna (externi)
3-material
4-zbozi
5-nestandard', @level0type='schema', @level0name='dbo', @level1type='table', @level1name='_TabVyroba_Palety', @level2type='column', @level2name='Typ'
DROP INDEX IF EXISTS EI__TabVyroba_Palety_Typ ON dbo._TabVyroba_Palety
CREATE NONCLUSTERED INDEX EI__TabVyroba_Palety_Typ ON dbo._TabVyroba_Palety (Typ)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_Palety_IdPrikaz ON dbo._TabVyroba_Palety
CREATE NONCLUSTERED INDEX EI__TabVyroba_Palety_IdPrikaz ON dbo._TabVyroba_Palety (IDPrikaz)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_Palety_IdStroj ON dbo._TabVyroba_Palety
CREATE NONCLUSTERED INDEX EI__TabVyroba_Palety_IdStroj ON dbo._TabVyroba_Palety (IDStroj)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_Palety_CisloOrg ON dbo._TabVyroba_Palety
CREATE NONCLUSTERED INDEX EI__TabVyroba_Palety_CisloOrg ON dbo._TabVyroba_Palety (CisloOrg)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,22 @@
IF OBJECT_ID(N'dbo._TabVyroba_PaletyPohybOZ', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_PaletyPohybOZ (
ID int IDENTITY(1, 1) NOT NULL,
IDPalety int NOT NULL,
IDPohybOZ int NOT NULL,
Sarze nvarchar(30) COLLATE Czech_CI_AS NULL,
Mnozstvi int NULL,
MnozstviKA smallint NULL,
CONSTRAINT PK_TabVyroba_PaletyPohybOZ PRIMARY KEY CLUSTERED (ID DESC)
WITH (
PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
DROP INDEX IF EXISTS EI_TabVyroba_PaletyPohybOZ_Paleta ON dbo._TabVyroba_PaletyPohybOZ
CREATE NONCLUSTERED INDEX EI_TabVyroba_PaletyPohybOZ_Paleta ON dbo._TabVyroba_PaletyPohybOZ (IDPalety)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_PaletyPohybOZ_PohybZbozi ON dbo._TabVyroba_PaletyPohybOZ
CREATE NONCLUSTERED INDEX EI_TabVyroba_PaletyPohybOZ_PohybZbozi ON dbo._TabVyroba_PaletyPohybOZ (IDPohybOZ)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,37 @@
IF OBJECT_ID(N'dbo._TabVyroba_PaletyUkonceni', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_PaletyUkonceni (
ID int IDENTITY(1, 1) NOT NULL,
IDPalety INT,
IDPrikaz INT,
IDMzda INT,
IDMezd NVARCHAR(max) NULL,
PocetKs NUMERIC(19,6) DEFAULT 0.0 NOT NULL,
PocetKA NUMERIC(19,6) DEFAULT 0.0 NOT NULL,
NeuplnaPalPocetKA NUMERIC(19,6) DEFAULT 0.0 NOT NULL,
NeuplnaPalKsVPoslKA NUMERIC(19,6) DEFAULT 0.0 NOT NULL,
ErrMsg NVARCHAR(255) NULL,
Autor nvarchar(80) DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
PRIMARY KEY (ID DESC)
)
/* 20.3.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_PaletyUkonceni', N'IDPrikaz') IS NULL ALTER TABLE dbo._TabVyroba_PaletyUkonceni ADD IDPrikaz INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_PaletyUkonceni', N'IDMzda') IS NULL ALTER TABLE dbo._TabVyroba_PaletyUkonceni ADD IDMzda INT NULL
DROP INDEX IF EXISTS EI__TabVyroba_PaletyUkonceni_IDPalety ON dbo._TabVyroba_PaletyUkonceni
CREATE NONCLUSTERED INDEX EI__TabVyroba_PaletyUkonceni_IDPalety ON dbo._TabVyroba_PaletyUkonceni (IDPalety)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_PaletyUkonceni_IDPrikaz ON dbo._TabVyroba_PaletyUkonceni
CREATE NONCLUSTERED INDEX EI__TabVyroba_PaletyUkonceni_IDPrikaz ON dbo._TabVyroba_PaletyUkonceni (IDPrikaz)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
/* 8.10.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_PaletyUkonceni', N'IDMezd') IS NULL ALTER TABLE dbo._TabVyroba_PaletyUkonceni ADD IDMezd NVARCHAR(MAX) NULL
/* 10.12.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_PaletyUkonceni', N'ErrMsg') IS NULL ALTER TABLE dbo._TabVyroba_PaletyUkonceni ADD ErrMsg NVARCHAR(255) NULL

View File

@ -0,0 +1,32 @@
IF OBJECT_ID(N'dbo._TabVyroba_StrojCinnost', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_StrojCinnost
(ID INT IDENTITY(1,1) NOT NULL,
IDStroje INT NOT NULL,
Datum DATETIME NOT NULL DEFAULT CONVERT(datetime, CONVERT(int, CONVERT(float, GETDATE()))),
Smena TINYINT NOT NULL DEFAULT 1,
Cinnost NVARCHAR(50) NOT NULL,
IdCinnost INT, -- pro budouci pouziti
DatKonec DATETIME NULL,
DatPorizeni DATETIME NOT NULL DEFAULT GETDATE(),
PRIMARY KEY (ID DESC)
)
/* 12.12.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_StrojCinnost', N'DatKonec') IS NULL ALTER TABLE dbo._TabVyroba_StrojCinnost ADD DatKonec DATETIME NULL
DECLARE @currDat DATETIME=GETDATE()
IF (COL_LENGTH(N'dbo.TabPrikazMzdyAZmetky_EXT', N'_TestoViskozita') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrikazMzdyAZmetky', @NazevAtrSys=N'_TestoViskozita', @Skupina=NULL, @NazevAtrVer=N'Viskozita t<>sta',
@NazevAtrVerZkr=N'Viskozita', @TypAtr=N'NUMERIC', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=10, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=1,
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
IF (COL_LENGTH(N'dbo.TabPrikazMzdyAZmetky_EXT', N'_TestoViskozita2') IS NULL)
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrikazMzdyAZmetky', @NazevAtrSys=N'_TestoViskozita2', @Skupina=NULL, @NazevAtrVer=N'Viskozita t<>sta 2',
@NazevAtrVerZkr=N'Viskozita 2', @TypAtr=N'NUMERIC', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=10, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=1,
@KonverzeAtr=NULL, @ExtEd_Poradi=2, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
@TypAtrSQL=N'NUMERIC', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL

View File

@ -0,0 +1,26 @@
IF OBJECT_ID(N'dbo._TabVyroba_VydejMatSarze', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_VydejMatSarze (
ID INT IDENTITY(1,1) NOT NULL,
IDPohybZbozi INT,
Sarze NVARCHAR(100) NOT NULL,
Mnozstvi NUMERIC(19,6) DEFAULT 0.0 NOT NULL,
Autor nvarchar(80) DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
PRIMARY KEY (ID DESC)
)
/* 14.5.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_VydejMatSarze', N'IDKmenZbozi') IS NULL ALTER TABLE dbo._TabVyroba_VydejMatSarze ADD IDKmenZbozi INT NULL
DROP INDEX IF EXISTS EI__TabVyroba_VydejMatSarze_IDPohybZbozi ON dbo._TabVyroba_VydejMatSarze
CREATE NONCLUSTERED INDEX EI__TabVyroba_VydejMatSarze_IDPohybZbozi ON dbo._TabVyroba_VydejMatSarze (IDPohybZbozi)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI__TabVyroba_VydejMatSarze_IDKmenZbozi ON dbo._TabVyroba_VydejMatSarze
CREATE NONCLUSTERED INDEX EI__TabVyroba_VydejMatSarze_IDKmenZbozi ON dbo._TabVyroba_VydejMatSarze (IDKmenZbozi)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,38 @@
IF OBJECT_ID(N'dbo._TabVyroba_KontrolyCCP1', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_KontrolyCCP1 (
ID int IDENTITY(1, 1) NOT NULL,
IDStroj int NULL,
Smena tinyint NULL,
Teplota numeric(8, 2) NULL,
Rychlost numeric(15, 2) NULL,
Hmotnost numeric(19, 6) NULL,
Delka numeric(19, 6) NULL,
Prumer numeric(19, 6) NULL,
OdpovidaPredpisu bit DEFAULT 0 NULL,
IDKmenZbozi int NOT NULL,
NapravneOpatreni nvarchar(255) COLLATE Czech_CI_AS NULL,
Uzavreno bit DEFAULT 0 NULL,
Autor nvarchar(100) COLLATE Czech_CI_AS DEFAULT suser_sname() NOT NULL,
Zmenil nvarchar(100) COLLATE Czech_CI_AS NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
DatPorizeni_X AS CONVERT([datetime],CONVERT([int],CONVERT([float],[DatPorizeni]))),
DatPorizeni_D AS datepart(day,[DatPorizeni]),
DatPorizeni_M AS datepart(month,[DatPorizeni]),
DatPorizeni_Y AS datepart(year,[DatPorizeni]),
DatPorizeni_W AS datepart(week,[DatPorizeni]),
DatZmeny datetime NULL,
VyrobniDen date NULL,
CONSTRAINT PK__TabVyroba_KontrolyCCP1 PRIMARY KEY CLUSTERED (ID DESC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._TabVyroba_KontrolyCCP1') AND name=N'EI__TabVyroba_KontrolyCCP1_Kmen')
CREATE NONCLUSTERED INDEX EI__TabVyroba_KontrolyCCP1_Kmen ON dbo._TabVyroba_KontrolyCCP1 (IDKmenZbozi)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._TabVyroba_KontrolyCCP1') AND name=N'EI__TabVyroba_KontrolyCCP1_Stroj')
CREATE NONCLUSTERED INDEX EI__TabVyroba_KontrolyCCP1_Stroj ON dbo._TabVyroba_KontrolyCCP1 (IDStroj)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,16 @@
IF OBJECT_ID(N'dbo._TabVyroba_OdpadPekarna', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_OdpadPekarna (
ID int IDENTITY(1, 1) NOT NULL, IDStroje int NOT NULL, Datum datetime NOT NULL, Smena tinyint NOT NULL, OdpadSuchy numeric(19, 6) DEFAULT 0 NOT NULL,
OdpadMokry numeric(19, 6) DEFAULT 0 NOT NULL, Poznamka nvarchar(500) COLLATE Czech_CI_AS NULL, Datum_X AS CONVERT([datetime],CONVERT([int],CONVERT([float],[Datum]))),
Datum_D AS datepart(day,[Datum]), Datum_W AS datepart(week,[Datum]), Datum_M AS datepart(month,[Datum]), Datum_Q AS datepart(quarter,[Datum]), Datum_Y AS datepart(year,[Datum]),
Autor nvarchar(80) COLLATE Czech_CI_AS DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
Zmenil nvarchar(80) COLLATE Czech_CI_AS NULL,
DatZmeny datetime NULL,
CONSTRAINT PK_TabVyroba_OdpadPekarna PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._TabVyroba_OdpadPekarna') AND name=N'EI_TabVyroba_OdpadPekarna_Stroj')
CREATE NONCLUSTERED INDEX EI_TabVyroba_OdpadPekarna_Stroj ON dbo._TabVyroba_OdpadPekarna (IDStroje)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,38 @@
IF OBJECT_ID(N'dbo._TabVyroba_TestoSpotreba', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_TestoSpotreba (
ID int IDENTITY(1, 1) NOT NULL,
IDHlava int NULL,
IDPrikaz int NULL,
IDPrPostup INT,
IDDoklad int NULL,
Mnozstvi numeric(19, 6) DEFAULT 0.0 NOT NULL,
DokladPrP int NULL,
AltPrP nchar(1) COLLATE Czech_CI_AS NULL,
PaletovyList nvarchar(50) NULL,
Sarze nvarchar(30) NULL,
DeviceID nvarchar(50) COLLATE Czech_CI_AS NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
CONSTRAINT PK__TabVyroba_TestoSpotreba PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
/* 20.3.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_TestoSpotreba', N'IDHlava') IS NOT NULL ALTER TABLE dbo._TabVyroba_TestoSpotreba ALTER COLUMN IDHlava INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoSpotreba', N'IDPrikaz') IS NOT NULL ALTER TABLE dbo._TabVyroba_TestoSpotreba ALTER COLUMN IDPrikaz INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoSpotreba', N'IDPrikaz') IS NULL ALTER TABLE dbo._TabVyroba_TestoSpotreba ADD IDPrikaz INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoSpotreba', N'IDPrPostup') IS NULL ALTER TABLE dbo._TabVyroba_TestoSpotreba ADD IDPrPostup INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoSpotreba', N'IDDoklad') IS NULL ALTER TABLE dbo._TabVyroba_TestoSpotreba ADD IDDoklad INT NULL
DROP INDEX IF EXISTS EI_TabVyroba_TestoSpotreba_IDHlava ON dbo._TabVyroba_TestoSpotreba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoSpotreba_IDHlava ON dbo._TabVyroba_TestoSpotreba (IDHlava)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_TestoSpotreba_IDPrikaz ON dbo._TabVyroba_TestoSpotreba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoSpotreba_IDPrikaz ON dbo._TabVyroba_TestoSpotreba (IDPrikaz)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_TestoSpotreba_IDPrPostup ON dbo._TabVyroba_TestoSpotreba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoSpotreba_IDPrPostup ON dbo._TabVyroba_TestoSpotreba (IDPrPostup)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,73 @@
IF OBJECT_ID(N'dbo._TabVyroba_TestoVyroba', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_TestoVyroba (
ID int IDENTITY(1, 1) NOT NULL,
IdPHIdent int NULL,
IDPrikaz int NULL,
IDDokladVydejMat int NULL,
IDStrojPek INT NULL,
IDKmenZbozi int NULL,
SkupZbo NVARCHAR(3) NULL,
RegCis NVARCHAR(30) NULL,
MoukaHmot NUMERIC(10,2) NOT NULL DEFAULT 0.0,
MoukaSilo TINYINT NULL,
VodaLitry NUMERIC(10,2) NOT NULL DEFAULT 0.0,
VodaPridavek NUMERIC(10,2) NOT NULL DEFAULT 0.0,
Viskozita TINYINT NOT NULL DEFAULT 0,
Viskozita2 TINYINT NOT NULL DEFAULT 0,
DatPriprava DATETIME NULL,
VyrobniDen DATETIME,
Smena TINYINT,
DatVypousteni DATETIME NULL,
Spotrebovano numeric(10, 6) DEFAULT 0.0 NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
DatPorizeni_H AS datepart(hour,[DatPorizeni]),
DatPorizeni_N AS datepart(minute,[DatPorizeni]),
DatPorizeni_D AS datepart(day,[DatPorizeni]),
DatPorizeni_T AS datepart(week,[DatPorizeni]),
DatPorizeni_M AS datepart(month,[DatPorizeni]),
DatPorizeni_Q AS datepart(quarter,[DatPorizeni]),
DatPorizeni_Y AS datepart(year,[DatPorizeni]),
DatPriprava_X AS CONVERT(datetime, CONVERT(int, CONVERT(float, DatPriprava))),
CONSTRAINT PK__TabVyroba_TestoVyroba PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
/* 10.12.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'IDStrojPek') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD IDStrojPek INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'MoukaHmot') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD MoukaHmot NUMERIC(10,2) NOT NULL DEFAULT 0.0
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'MoukaSilo') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD MoukaSilo TINYINT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'VodaLitry') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD VodaLitry NUMERIC(10,2) NOT NULL DEFAULT 0.0
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'VodaPridavek') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD VodaPridavek NUMERIC(10,2) NOT NULL DEFAULT 0.0
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'Viskozita') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD Viskozita TINYINT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'Viskozita2') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD Viskozita2 TINYINT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'DatPriprava') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD DatPriprava DATETIME NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'DatVypousteni') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD DatVypousteni DATETIME NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'DatPriprava_X') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD DatPriprava_X AS CONVERT(datetime, CONVERT(int, CONVERT(float, DatPriprava)))
/* 11.12.2023 */
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'VyrobniDen') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD VyrobniDen DATETIME
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'Smena') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD Smena TINYINT
/* 20.3.2024 */
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'IDPrikaz') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD IDPrikaz INT NULL
IF COL_LENGTH(N'dbo._TabVyroba_TestoVyroba', N'IDDokladVydejMat') IS NULL ALTER TABLE dbo._TabVyroba_TestoVyroba ADD IDDokladVydejMat INT NULL
DROP INDEX IF EXISTS EI_TabVyroba_TestoVyroba_IdPH ON dbo._TabVyroba_TestoVyroba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoVyroba_IdPH ON dbo._TabVyroba_TestoVyroba (IdPHIdent)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_TestoVyroba_IdKmen ON dbo._TabVyroba_TestoVyroba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoVyroba_IdKmen ON dbo._TabVyroba_TestoVyroba (IDKmenZbozi)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_TestoVyroba_IdStroj ON dbo._TabVyroba_TestoVyroba
DROP INDEX IF EXISTS EI_TabVyroba_TestoVyroba_IdStrojPek ON dbo._TabVyroba_TestoVyroba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoVyroba_IdStrojPek ON dbo._TabVyroba_TestoVyroba (IDStrojPek)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
DROP INDEX IF EXISTS EI_TabVyroba_TestoVyroba_MoukaSilo ON dbo._TabVyroba_TestoVyroba
CREATE NONCLUSTERED INDEX EI_TabVyroba_TestoVyroba_MoukaSilo ON dbo._TabVyroba_TestoVyroba (MoukaSilo)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

View File

@ -0,0 +1,53 @@
IF OBJECT_ID(N'dbo._TabVyroba_Vzorky', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_Vzorky (
ID int IDENTITY(1, 1) NOT NULL,
IDArchiv int NOT NULL,
IDStroj int NOT NULL,
IDKmenZbozi int NOT NULL,
CisloZamMistr int NULL,
KArchivaci bit DEFAULT 0 NULL,
Ukonceno bit DEFAULT 0 NULL,
Vyrazeno bit DEFAULT 0 NULL,
Autor nvarchar(128) COLLATE Czech_CI_AS DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
DatPorizeni_X AS CONVERT([datetime],CONVERT([int],CONVERT([float],[DatPorizeni]))),
DatPorizeni_D AS datepart(day,[DatPorizeni]),
DatPorizeni_M AS datepart(month,[DatPorizeni]),
DatPorizeni_Q AS datepart(quarter,[DatPorizeni]),
DatPorizeni_T AS datepart(week,[DatPorizeni]),
DatPorizeni_Y AS datepart(year,[DatPorizeni]),
CONSTRAINT PK__TabVyroba_Vzorky PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._TabVyroba_Vzorky') AND name=N'EI__TabVyroba_Vzorky_Archiv')
CREATE NONCLUSTERED INDEX EI__TabVyroba_Vzorky_Archiv ON dbo._TabVyroba_Vzorky (IDArchiv)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
IF OBJECT_ID(N'dbo._TabVyroba_VzorkyArchiv', N'U') IS NULL
CREATE TABLE dbo._TabVyroba_VzorkyArchiv (
ID int IDENTITY(1, 1) NOT NULL,
Archiv nvarchar(50) COLLATE Czech_CI_AS DEFAULT N'' NOT NULL,
Autor nvarchar(128) COLLATE Czech_CI_AS DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
DatPorizeni_X AS CONVERT([datetime],CONVERT([int],CONVERT([float],[DatPorizeni]))),
DatPorizeni_D AS datepart(day,[DatPorizeni]),
DatPorizeni_M AS datepart(month,[DatPorizeni]),
DatPorizeni_Q AS datepart(quarter,[DatPorizeni]),
DatPorizeni_T AS datepart(week,[DatPorizeni]),
DatPorizeni_Y AS datepart(year,[DatPorizeni]),
DatUkonceni datetime NULL,
DatUkonceni_X AS CONVERT([datetime],CONVERT([int],CONVERT([float],[DatUkonceni]))),
DatUkonceni_D AS datepart(day,[DatUkonceni]),
DatUkonceni_M AS datepart(month,[DatUkonceni]),
DatUkonceni_T AS datepart(week,[DatUkonceni]),
DatUkonceni_Y AS datepart(year,[DatUkonceni]),
DatUkonceni_Q AS datepart(quarter,[DatUkonceni]),
CONSTRAINT PK__TabVyroba_VzorkyArchiv PRIMARY KEY CLUSTERED (ID DESC) WITH ( PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)

View File

@ -0,0 +1,43 @@
IF OBJECT_ID(N'dbo._hdc_PZ_PuvodniVC', N'U') IS NULL
CREATE TABLE dbo._hdc_PZ_PuvodniVC (
ID int IDENTITY(1, 1) NOT NULL,
IDPohybZbozi int NOT NULL,
IDDoklad int NULL,
IDZboSklad int NULL,
VyrCis nvarchar(100) COLLATE Czech_CI_AS NOT NULL,
IDVyrCis int NOT NULL,
Mnozstvi numeric(19, 6) NOT NULL,
Sarze NVARCHAR(100) NULL,
PaletovyList NVARCHAR(100) NULL,
IDUmisteni INT NULL,
Autor nvarchar(128) COLLATE Czech_CI_AS CONSTRAINT DF___hdc_PZ_PuvodniVC__Autor DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime CONSTRAINT DF___hdc_PZ_PuvodniVC__DatPorizeni DEFAULT getdate() NOT NULL,
BlokovaniEditoru smallint NULL,
CONSTRAINT PK___hdc_PZ_PuvodniVC__ID PRIMARY KEY CLUSTERED (ID DESC) WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
/* 9.9.2024 */
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'Sarze') IS NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC ADD Sarze NVARCHAR(100) NULL
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'PaletovyList') IS NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC ADD PaletovyList NVARCHAR(100) NULL
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'IDUmisteni') IS NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC ADD IDUmisteni INT NULL
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'IDZboSklad') IS NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC ADD IDZboSklad INT NULL
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'IDDoklad') IS NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC ADD IDDoklad INT NULL
/* 13.11.2023 */
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'Zmenil') IS NOT NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC DROP COLUMN Zmenil
IF COL_LENGTH(N'dbo._hdc_PZ_PuvodniVC', N'DatZmeny') IS NOT NULL ALTER TABLE dbo._hdc_PZ_PuvodniVC DROP COLUMN DatZmeny
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._hdc_PZ_PuvodniVC') AND name=N'EI__hdc_PZ_PuvodniVC__IDPohybZbozi')
CREATE NONCLUSTERED INDEX EI__hdc_PZ_PuvodniVC__IDPohybZbozi ON dbo._hdc_PZ_PuvodniVC (IDPohybZbozi)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._hdc_PZ_PuvodniVC') AND name=N'EI__hdc_PZ_PuvodniVC__IDVyrCis')
CREATE NONCLUSTERED INDEX EI__hdc_PZ_PuvodniVC__IDVyrCis ON dbo._hdc_PZ_PuvodniVC (IDVyrCis)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('dbo._hdc_PZ_PuvodniVC') AND name=N'EI__hdc_PZ_PuvodniVC__IDDoklad')
CREATE NONCLUSTERED INDEX EI__hdc_PZ_PuvodniVC__IDDoklad ON dbo._hdc_PZ_PuvodniVC (IDDoklad)
WITH ( PAD_INDEX = OFF, DROP_EXISTING = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

24
_sql/tbl__hdc_ph_Log.sql Normal file
View File

@ -0,0 +1,24 @@
-- dbo._hdc_ph_Log
IF OBJECT_ID(N'dbo._hdc_ph_Log', N'U') IS NULL
CREATE TABLE dbo._hdc_ph_Log (
ID int IDENTITY(1, 1) NOT NULL,
LogText nvarchar(500) NULL,
Typ tinyint NULL,
IntValue int NULL,
NumValue numeric(19, 6) NULL,
StrValue nvarchar(255) NULL,
DatValue datetime NULL,
ForMail BIT NOT NULL DEFAULT 0,
MailSent DATETIME NULL,
IdJsonData INT NULL,
Autor nvarchar(80) DEFAULT suser_sname() NOT NULL,
DatPorizeni datetime DEFAULT getdate() NOT NULL,
PRIMARY KEY (ID DESC)
)
/* 14.11.2023 */
IF COL_LENGTH(N'dbo._hdc_ph_Log', N'ForMail') IS NULL ALTER TABLE dbo._hdc_ph_Log ADD ForMail BIT NOT NULL DEFAULT 0
IF COL_LENGTH(N'dbo._hdc_ph_Log', N'MailSent') IS NULL ALTER TABLE dbo._hdc_ph_Log ADD MailSent DATETIME NULL
IF COL_LENGTH(N'dbo._hdc_ph_Log', N'IdJsonData') IS NULL ALTER TABLE dbo._hdc_ph_Log ADD IdJsonData INT NULL

View File

@ -0,0 +1,51 @@
-- dbo.ET_TabDokladyZbozi_HDC_D
CREATE TRIGGER dbo.ET_TabDokladyZbozi_HDC_D ON dbo.TabDokladyZbozi
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN nebo Windows sluzby HDCDZApi !!
DECLARE
@id INT,
@dpz TINYINT,
@rada NVARCHAR(3),
@sklad NVARCHAR(30)
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT d.ID, d.DruhPohybuZbo, d.RadaDokladu, d.IDSklad
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @dpz, @rada, @sklad
IF (@@FETCH_STATUS<>0) BREAK
-- sync informace pro reseni ASol/ProHolding/HDC
-- vydejky
IF (@dpz=4)
BEGIN
IF OBJECT_ID(N'dbo._hdc_ph_PrijataJsonData', N'U') IS NOT NULL
UPDATE dbo._hdc_ph_PrijataJsonData SET IDDoklad=NULL WHERE IDDoklad=@id
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NOT NULL
BEGIN
DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDDokladOZ=@id
DELETE FROM dbo._TabVyroba_Objednavky WHERE IDDokladOZ=@id
END
END
IF OBJECT_ID(N'dbo._hdc_PZ_PuvodniVC', N'U') IS NOT NULL
DELETE FROM dbo._hdc_PZ_PuvodniVC WHERE IDDoklad=@id
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,71 @@
-- dbo.ET_TabPohybyZbozi_HDC_D
CREATE TRIGGER dbo.ET_TabPohybyZbozi_HDC_D ON dbo.TabPohybyZbozi
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN nebo sluzby HDCDZApi !!
DECLARE
@id INT,
@dpz TINYINT,
@idPHId INT,
@idPHIdent1 INT,
@idPHIdent2 INT,
@idObjHlav INT
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT d.ID, d.DruhPohybuZbo
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @dpz
IF (@@FETCH_STATUS<>0) BREAK
-- sync informace pro reseni ASol/ProHolding/HDC
IF (@dpz=4)
BEGIN
IF OBJECT_ID(N'dbo._TabVyroba_VydejMatSarze', N'U') IS NOT NULL
DELETE FROM dbo._TabVyroba_VydejMatSarze WHERE IDPohybZbozi=@id
IF OBJECT_ID(N'dbo.TabPohybyZbozi_EXT', N'U') IS NOT NULL
BEGIN
SET @idPHId=(SELECT _HDCAPI_PHident FROM dbo.TabPohybyZbozi_EXT WHERE ID=@id)
IF (@idPHId IS NOT NULL)
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL
SELECT @idPHIdent1=IdPHIdent, @idPHIdent2=IdPHIdent2 FROM dbo._TabVyroba_Objednavky WHERE ID=@idPHId
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NOT NULL
BEGIN
SELECT @idObjHlav=IDHlava FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL
UPDATE dbo._TabVyroba_Objednavky SET MnozKVydeji=Mnozstvi - ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0)
WHERE ID=@idObjHlav
END
END
END
IF (@dpz=0)
BEGIN
IF OBJECT_ID(N'dbo._TabVyroba_PaletyPohybOZ', N'U') IS NOT NULL
UPDATE dbo._TabVyroba_PaletyPohybOZ SET IDPohybOZ=NULL WHERE IDPohybOZ=@id
END
IF OBJECT_ID(N'dbo._hdc_PZ_PuvodniVC', N'U') IS NOT NULL
DELETE FROM dbo._hdc_PZ_PuvodniVC WHERE IDPohybZbozi=@id
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,51 @@
-- dbo.ET_TabPohybyZbozi_HDC_IU
CREATE TRIGGER dbo.ET_TabPohybyZbozi_HDC_IU ON dbo.TabPohybyZbozi
WITH EXECUTE AS CALLER
FOR INSERT,UPDATE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN nebo slozby HDCDZApi !!
DECLARE
@id INT,
@dpz TINYINT,
@mnoz NUMERIC(19,6),
@idObjHlav INT,
@idObjPol INT
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT i.ID, i.DruhPohybuZbo, i.Mnozstvi
FROM inserted i
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @dpz, @mnoz
IF (@@FETCH_STATUS<>0) BREAK
-- sync informace pro reseni ASol/ProHolding/HDC
IF (@dpz=4)
BEGIN
IF UPDATE(Mnozstvi)
BEGIN
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NOT NULL
BEGIN
SELECT @idObjHlav=IDHlava, @idObjPol=ID FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@id
UPDATE dbo._TabVyroba_Objednavky_Pol SET Mnozstvi=@mnoz WHERE ID=@idObjPol
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL
UPDATE dbo._TabVyroba_Objednavky SET MnozKVydeji=Mnozstvi - ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0)
WHERE ID=@idObjHlav
END
END
END
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,47 @@
-- dbo.ET_TabVyrCP_HDC_D
CREATE TRIGGER dbo.ET_TabVyrCP_HDC_D ON dbo.TabVyrCP
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT,
@idPZ INT,
@idObjHlav INT,
@idObjPol INT
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT d.ID, d.IDPolozkaDokladu
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @idPZ
IF (@@FETCH_STATUS<>0) BREAK
-- sync informace pro reseni ASol/ProHolding/HDC
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NOT NULL
BEGIN
SELECT @idObjHlav=IDHlava FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@idPZ AND IDVyrCP=@id
DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ=@idPZ AND IDVyrCP=@id
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky', N'U') IS NOT NULL
UPDATE dbo._TabVyroba_Objednavky SET MnozKVydeji=Mnozstvi - ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObjHlav), 0)
WHERE ID=@idObjHlav
END
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,39 @@
-- dbo.ET_TabVyrCP_HDC_IU
CREATE TRIGGER dbo.ET_TabVyrCP_HDC_IU ON dbo.TabVyrCP
WITH EXECUTE AS CALLER
FOR INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT,
@idPZ INT,
@mnoz NUMERIC(19,6)
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT i.ID, i.IDPolozkaDokladu, i.Mnozstvi
FROM inserted i
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @idPZ, @mnoz
IF (@@FETCH_STATUS<>0) BREAK
-- sync informace pro reseni ASol/ProHolding/HDC
IF OBJECT_ID(N'dbo._TabVyroba_Objednavky_Pol', N'U') IS NOT NULL
BEGIN
UPDATE dbo._TabVyroba_Objednavky_Pol SET Mnozstvi=@mnoz WHERE IDPohybOZ=@idPZ AND IDVyrCP=@id
END
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,43 @@
-- dbo.ET_TabVyrCisPrikaz_HDC_D
CREATE TRIGGER dbo.ET_TabVyrCisPrikaz_HDC_D ON dbo.TabVyrCisPrikaz
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
DECLARE
@id INT,
@idVPr INT,
@vyrCis NVARCHAR(100),
@popis NVARCHAR(100)
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT d.ID, d.IDPrikaz, d.VyrCislo, d.Popis
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @idVPr, @vyrCis, @popis
IF (@@FETCH_STATUS<>0) BREAK
-- begin: reseni HDC/DZ API
IF OBJECT_ID(N'dbo._TabVyroba_Palety', N'U') IS NOT NULL
DELETE FROM dbo._TabVyroba_Palety WHERE IDPrikaz=@idVPr AND CisloPalety=@vyrCis AND Sarze=@popis
-- end: reseni HDC/DZ API
END
CLOSE c
DEALLOCATE c
-- cisteni seedu
IF EXISTS(SELECT 1 FROM dbo.TabVyrCisPrikaz)
BEGIN
SELECT @id=ISNULL(MAX(ID),1) FROM dbo.TabVyrCisPrikaz
DBCC CHECKIDENT (TabVyrCisPrikaz, RESEED, @id)
END
END

View File

@ -0,0 +1,40 @@
-- dbo.ET__TabVyroba_Objednavky_D
CREATE TRIGGER dbo.ET__TabVyroba_Objednavky_D ON dbo._TabVyroba_Objednavky
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
DECLARE
@id INT
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT d.ID
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id
IF (@@FETCH_STATUS<>0) BREAK
DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@id
END
CLOSE c
DEALLOCATE c
-- cisteni seedu
IF NOT EXISTS(SELECT 1 FROM dbo._TabVyroba_Objednavky)
TRUNCATE TABLE dbo._TabVyroba_Objednavky
ELSE
BEGIN
SELECT @id=MAX(ID) FROM dbo._TabVyroba_Objednavky
DBCC CHECKIDENT(_TabVyroba_Objednavky, RESEED, @id)
END
END

View File

@ -0,0 +1,39 @@
-- dbo.ET_TabVyroba_Objednavky_IU
CREATE TRIGGER dbo.ET_TabVyroba_Objednavky_IU ON dbo._TabVyroba_Objednavky
WITH EXECUTE AS CALLER
FOR INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT,
@sz NVARCHAR(3),
@rc NVARCHAR(30),
@idKZ INT,
@sarze NVARCHAR(50)
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT i.ID, i.SkupZbo, i.RegCis, i.IDKmenZbozi
FROM inserted i
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @sz, @rc, @idKZ
IF (@@FETCH_STATUS<>0) BREAK
IF (@idKZ IS NULL)
BEGIN
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
IF (@idKZ IS NOT NULL)
UPDATE dbo._TabVyroba_Objednavky SET IDKmenZbozi=@idKZ WHERE ID=@id
END
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,26 @@
-- dbo.ET_TabVyroba_Objednavky_Pol_D
CREATE TRIGGER dbo.ET_TabVyroba_Objednavky_Pol_D ON dbo._TabVyroba_Objednavky_Pol
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT
-- cisteni
IF EXISTS(SELECT 1 FROM dbo._TabVyroba_Objednavky_Pol)
BEGIN
SELECT @id=MAX(ID) FROM dbo._TabVyroba_Objednavky_Pol
DBCC CHECKIDENT(_TabVyroba_Objednavky_Pol, RESEED, @id)
END
ELSE
TRUNCATE TABLE dbo._TabVyroba_Objednavky_Pol
END

View File

@ -0,0 +1,25 @@
-- dbo.ET_TabVyroba_OperaceStartStop_D
CREATE TRIGGER dbo.ET_TabVyroba_OperaceStartStop_D ON dbo._TabVyroba_OperaceStartStop
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT
-- cisteni seedu
IF EXISTS(SELECT 1 FROM dbo._TabVyroba_OperaceStartStop)
BEGIN
SELECT @id=MAX(ID) FROM dbo._TabVyroba_OperaceStartStop
DBCC CHECKIDENT(_TabVyroba_OperaceStartStop, RESEED, @id)
END
ELSE
TRUNCATE TABLE dbo._TabVyroba_OperaceStartStop
END

View File

@ -0,0 +1,37 @@
-- dbo.ET_TabVyroba_PaletyUkonceni_D
CREATE TRIGGER dbo.ET_TabVyroba_PaletyUkonceni_D ON dbo._TabVyroba_PaletyUkonceni
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT
DECLARE c CURSOR LOCAL FOR
SELECT d.ID
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id
IF (@@FETCH_STATUS<>0) BREAK
END
CLOSE c
DEALLOCATE c
-- cisteni
IF EXISTS(SELECT 1 FROM dbo._TabVyroba_PaletyUkonceni)
BEGIN
SELECT @id=MAX(ID) FROM dbo._TabVyroba_PaletyUkonceni
DBCC CHECKIDENT(_TabVyroba_PaletyUkonceni, RESEED, @id)
END
ELSE
TRUNCATE TABLE dbo._TabVyroba_PaletyUkonceni
END

View File

@ -0,0 +1,44 @@
-- dbo.ET_TabVyroba_Palety_D
CREATE TRIGGER dbo.ET_TabVyroba_Palety_D ON dbo._TabVyroba_Palety
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT
DECLARE c CURSOR LOCAL FOR
SELECT d.ID
FROM deleted d
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id
IF (@@FETCH_STATUS<>0) BREAK
IF OBJECT_ID(N'dbo._TabVyroba_PaletyUkonceni', N'U') IS NOT NULL
DELETE FROM dbo._TabVyroba_PaletyUkonceni WHERE IDPalety=@id
IF OBJECT_ID(N'dbo._TabVyroba_PaletyPohybOZ', N'U') IS NOT NULL
DELETE FROM dbo._TabVyroba_PaletyPohybOZ WHERE IDPalety=@id
END
CLOSE c
DEALLOCATE c
-- cisteni
IF EXISTS(SELECT 1 FROM dbo._TabVyroba_Palety)
BEGIN
SELECT @id=MAX(ID) FROM dbo._TabVyroba_Palety
DBCC CHECKIDENT(_TabVyroba_Palety, RESEED, @id)
END
ELSE
TRUNCATE TABLE dbo._TabVyroba_Palety
END

View File

@ -0,0 +1,38 @@
-- dbo.ET_TabVyroba_Palety_IU
CREATE TRIGGER dbo.ET_TabVyroba_Palety_IU ON dbo._TabVyroba_Palety
WITH EXECUTE AS CALLER
FOR INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT,
@idVPr INT,
@idKmen INT
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT i.ID, i.IDPrikaz, i.IDKmen
FROM inserted i
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @idVPr, @idKmen
IF (@@FETCH_STATUS<>0) BREAK
IF (@idKmen IS NULL)
BEGIN
SELECT @idKmen=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
UPDATE dbo._TabVyroba_Palety SET IDKmen=@idKmen WHERE ID=@id
END
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,38 @@
-- dbo.ET_TabVyroba_VydejMatSarze_IU
CREATE TRIGGER dbo.ET_TabVyroba_VydejMatSarze_IU ON dbo._TabVyroba_VydejMatSarze
WITH EXECUTE AS CALLER
FOR INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON
-- !! trigger neupravujte, bude stejne pregenerovan pri startu pluginu PluginHDCRTN !!
DECLARE
@id INT,
@idPZ INT,
@idKmen INT
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
SELECT i.ID, i.IDPohybZbozi, i.IDKmenZbozi
FROM inserted i
OPEN c
WHILE (1=1)
BEGIN
FETCH NEXT FROM c INTO @id, @idPZ, @idKmen
IF (@@FETCH_STATUS<>0) BREAK
IF (@idKmen IS NULL)
BEGIN
SELECT @idKmen=s.IDKmenZbozi FROM dbo.TabPoybyZbozi p INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad) WHERE p.ID=@idPZ
UPDATE dbo._TabVyroba_VydejMatSarze SET IDKmenZbozi=@idKmen WHERE ID=@id
END
END
CLOSE c
DEALLOCATE c
END

View File

@ -0,0 +1,25 @@
-- dbo.ET__hdc_PZ_PuvodniVC_D
CREATE TRIGGER dbo.ET__hdc_PZ_PuvodniVC_D ON dbo._hdc_PZ_PuvodniVC
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN
SET NOCOUNT ON
DECLARE
@id INT
-- cisteni
IF EXISTS (SELECT 1 FROM dbo._hdc_PZ_PuvodniVC)
BEGIN
SELECT @id=MAX(ID) FROM dbo._hdc_PZ_PuvodniVC
DBCC CHECKIDENT (_hdc_PZ_PuvodniVC, RESEED, @id)
END
ELSE
TRUNCATE TABLE dbo._hdc_PZ_PuvodniVC
END