Prvni verze
This commit is contained in:
3
_custom/Rootvin/customDefs.inc
Normal file
3
_custom/Rootvin/customDefs.inc
Normal file
@ -0,0 +1,3 @@
|
||||
,uHeOObj_Custom in 'uHeOObj_Custom.pas'
|
||||
,uCtrlCustom in 'uCtrlCustom.pas'
|
||||
,uSvcCustom in 'uSvcCustom.pas'
|
||||
594
_custom/Rootvin/hdcDZAPIdefs.def
Normal file
594
_custom/Rootvin/hdcDZAPIdefs.def
Normal file
@ -0,0 +1,594 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<defs>
|
||||
|
||||
|
||||
<def typ="TAB" nazev="_hdc_DataZone_konfig" verze="20230209">
|
||||
<sql_text><![CDATA[
|
||||
IF OBJECT_ID(N'dbo._hdc_DataZone_konfig', N'U') IS NULL~
|
||||
CREATE TABLE dbo._hdc_DataZone_konfig (~
|
||||
ID int IDENTITY(1, 1) NOT NULL,~
|
||||
Typ NCHAR(3) NOT NULL,~
|
||||
Nazev NVARCHAR(100) NOT NULL,~
|
||||
Verze NCHAR(8) NOT NULL,~
|
||||
Obsah nvarchar(max) COLLATE Czech_CI_AS NULL,~
|
||||
DatPorizeni DATETIME NOT NULL DEFAULT GETDATE(),~
|
||||
DatZmeny DATETIME,~
|
||||
CONSTRAINT PK_hdc_DataZone_konfig PRIMARY KEY CLUSTERED (ID)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)~
|
||||
)
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
|
||||
<def typ="PRO" nazev="ep_hdcdzapi_GetKusovnik" verze="20230601">
|
||||
<sql_text><![CDATA[
|
||||
CREATE PROCEDURE dbo.ep_hdcdzapi_GetKusovnik AS~
|
||||
BEGIN~
|
||||
SET NOCOUNT ON~
|
||||
DECLARE @RespekExistDoklady bit=0~
|
||||
~
|
||||
IF OBJECT_ID(N'tempdb..#apiKusovnik', N'U') IS NULL~
|
||||
CREATE TABLE #apiKusovnik (ID INT IDENTITY(1,1) NOT NULL, IDPrKV INT, MnozstviPoz NUMERIC(19,6), pom_pomer_A NUMERIC(19,6), pom_pomer_B NUMERIC(19,6), Doklad INT, IDPrikaz INT,~
|
||||
Prednastaveno BIT, Sklad NVARCHAR(30), VyrStredisko NVARCHAR(30), IDPracoviste INT, mnoz_zad NUMERIC(19,6), Mnoz_nepotrebne NUMERIC(19,6), Mnoz_skut_realizovane NUMERIC(19,6),~
|
||||
Cena_real NUMERIC(19,6), Mnoz_odv NUMERIC(19,6), Cena_odv NUMERIC(19,6), priorita INT, vyssi INT, nizsi INT, DavkaTPV NUMERIC(19,6), pozice INT, Operace NVARCHAR(4),~
|
||||
FixniMnozstvi NUMERIC(19,6), mnozstvi NUMERIC(19,6), ProcZtrat NUMERIC(19,6), mnozstviSeZtratou NUMERIC(19,6), Prirez NUMERIC(19,6), Poznamka NVARCHAR(500), SZVyssi NVARCHAR(3),~
|
||||
RCVyssi NVARCHAR(30), Nazev1Vyssi NVARCHAR(100), SZNizsi NVARCHAR(3), RCNizsi NVARCHAR(30), Nazev1Nizsi NVARCHAR(100))~
|
||||
IF OBJECT_ID(N'tempdb..#apiOdved', N'U') IS NULL~
|
||||
CREATE TABLE #apiOdved (ID INT, IDPrikaz INT, Mnozstvi NUMERIC(19,6) DEFAULT 0.0)~
|
||||
~
|
||||
INSERT #apiKusovnik (IDPrKV, MnozstviPoz, pom_pomer_A, pom_pomer_B, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad, Mnoz_nepotrebne, Mnoz_skut_realizovane, Cena_real, Mnoz_odv, Cena_odv, priorita, vyssi, nizsi, DavkaTPV,~
|
||||
pozice, Operace, FixniMnozstvi, mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka, SZVyssi, RCVyssi, Nazev1Vyssi, SZNizsi, RCNizsi, Nazev1Nizsi)~
|
||||
SELECT PrKV.ID, PrKV.mnoz_zad*O.mnozstvi/P.kusy_zad - CASE WHEN @RespekExistDoklady=1 THEN PrKV.VydanoRefMnoz + (SELECT ISNULL(SUM(PZ2.prepmnozstvi*(PZ2.mnozstvi-PZ2.MnOdebrane) * PrKV2.RefMnoz / PrKV2.mnoz_zad), 0.0) FROM [dbo].[TabPohybyZbozi] PZ2~
|
||||
INNER JOIN [dbo].[TabDokladyZbozi] DZ2 ON (DZ2.ID=PZ2.IDDoklad AND DZ2.splneno=0)~
|
||||
INNER JOIN [dbo].[TabStavSkladu] SS2 ON (SS2.ID=PZ2.IDZboSklad)~
|
||||
INNER JOIN [dbo].[TabPrKVazby] PrKV2 ON (PrKV2.IDPrikaz=PZ2.IDPrikaz AND PrKV2.Doklad=PZ2.DokladPrikazu AND PrKV2.nizsi=SS2.IDKmenZbozi AND PrKV2.IDOdchylkyDo IS NULL)~
|
||||
WHERE PZ2.TypVyrobnihoDokladu=1 AND PZ2.IDPrikaz=PrKV.IDPrikaz AND PZ2.DokladPrikazu=PrKV.Doklad AND PZ2.Splneno=0 AND PZ2.druhPohybuZbo IN (2,4,9,10) AND PZ2.SkutecneDatReal IS NULL) ELSE 0.0 END, CASE WHEN @RespekExistDoklady=0 THEN O.mnozstvi END, CASE WHEN @RespekExistDoklady=0 THEN P.kusy_zad END,~
|
||||
PrKV.Doklad, PrKV.IDPrikaz, PrKV.Prednastaveno, PrKV.Sklad, PrKV.VyrStredisko, PrKV.IDPracoviste, PrKV.mnoz_zad, PrKV.Mnoz_nepotrebne, PrKV.Mnoz_skut_realizovane , PrKV.Cena_real, PrKV.Mnoz_odv, PrKV.Cena_odv, PrKV.priorita, PrKV.vyssi, PrKV.nizsi, PrKV.DavkaTPV, PrKV.pozice, PrKV.Operace, PrKV.FixniMnozstvi,~
|
||||
PrKV.mnozstvi , PrKV.ProcZtrat, PrKV.mnozstviSeZtratou, PrKV.Prirez, PrKV.Poznamka, KZV.SkupZbo, KZV.RegCis, KZV.Nazev1, KZ.SkupZbo, KZ.RegCis, KZ.Nazev1~
|
||||
FROM (SELECT IDPrikaz=O1.IDPrikaz, Mnozstvi=SUM(O1.mnozstvi) + CASE WHEN @RespekExistDoklady=1 THEN MAX(P1.kusy_odved+P1.kusy_ztrac+P1.kusy_zmet) + (SELECT ISNULL(SUM(PZ1.prepmnozstvi*PZ1.mnozstvi), 0.0)~
|
||||
FROM [dbo].[TabPohybyZbozi] PZ1 WHERE PZ1.TypVyrobnihoDokladu=0 AND PZ1.IDPrikaz=O1.IDPrikaz AND PZ1.druhPohybuZbo=0 AND PZ1.SkutecneDatReal IS NULL) ELSE 0.0 END~
|
||||
FROM #apiOdved O1~
|
||||
INNER JOIN [dbo].[TabPrikaz] P1 ON (P1.ID=O1.IDPrikaz)~
|
||||
GROUP BY O1.IDPrikaz) O~
|
||||
INNER JOIN [dbo].[TabPrikaz] P ON (P.ID=O.IDPrikaz AND P.StavPrikazu IN (20,30,50))~
|
||||
INNER JOIN TabRadyPrikazu RP ON (RP.rada=P.rada)~
|
||||
INNER JOIN [dbo].[TabPrKVazby] PrKV ON (PrKV.IDPrikaz=O.IDPrikaz AND /*PrKV.predzpracovano=0 AND*/ PrKV.prednastaveno=1 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND PrKV.IDOdchylkyDo IS NULL)~
|
||||
INNER JOIN [dbo].[TabKmenZbozi] KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)~
|
||||
LEFT JOIN [dbo].[TabKmenZbozi] KZV ON (KZV.ID=PrKV.vyssi AND KZV.sluzba=0)~
|
||||
WHERE (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0)~
|
||||
~
|
||||
SELECT * FROM #apiKusovnik~
|
||||
END~
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
|
||||
<def typ="TAB" nazev="_hdc_DataZone_Tasky" verze="20230209">
|
||||
<sql_text><![CDATA[
|
||||
IF OBJECT_ID(N'dbo._hdc_DataZone_Tasky', N'U') IS NULL~
|
||||
CREATE TABLE dbo._hdc_DataZone_Tasky (~
|
||||
ID int IDENTITY(1, 1) NOT NULL,~
|
||||
NovyZaznam bit DEFAULT 1 NOT NULL,~
|
||||
DeviceID nvarchar(30) COLLATE Czech_CI_AS NULL,~
|
||||
Stredisko nvarchar(30) COLLATE Czech_CI_AS NULL,~
|
||||
IdDataZoneTaskID int NOT NULL,~
|
||||
Obsah varchar(max) COLLATE Czech_CI_AS NULL,~
|
||||
Typ tinyint NULL,~
|
||||
DatZpracovani datetime NULL,~
|
||||
IDDoklad int NULL,~
|
||||
IDKoopObj int NULL,~
|
||||
CisloKoopObj nvarchar(30) COLLATE Czech_CI_AS NULL,~
|
||||
Kooperace bit DEFAULT 0 NOT NULL,~
|
||||
StatusText nvarchar(30) COLLATE Czech_CI_AS NULL,~
|
||||
DatumStart datetime NULL,~
|
||||
DatumKonec datetime NULL,~
|
||||
KodPracoviste nvarchar(5) COLLATE Czech_CI_AS NULL,~
|
||||
ZamestnanecID int NULL,~
|
||||
Zamestnanec int NULL,~
|
||||
Nezpracovavat bit DEFAULT 0 NOT NULL,~
|
||||
DatPorizeni datetime DEFAULT getdate() NOT NULL,~
|
||||
PosledniChyba nvarchar(255) COLLATE Czech_CI_AS DEFAULT N'' NOT NULL,~
|
||||
Autor nvarchar(80) COLLATE Czech_CI_AS DEFAULT suser_sname() NULL,~
|
||||
Blokovano bit DEFAULT 0 NOT NULL,~
|
||||
Barcode nvarchar(30) COLLATE Czech_CI_AS NULL,~
|
||||
CONSTRAINT PK_hdc_DataZone_Tasky PRIMARY KEY CLUSTERED (ID DESC)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)~
|
||||
)~
|
||||
ON [PRIMARY]~
|
||||
~
|
||||
IF EXISTS(SELECT 1 FROM sys.extended_properties WHERE [name]=N'MS_Description' AND major_id=OBJECT_ID(N'_hdc_DataZone_Tasky') AND CONVERT(nvarchar, [value]) LIKE N'1=%')~
|
||||
EXEC sp_dropextendedproperty @name='MS_Description', @level0type='schema', @level0name='dbo', @level1type='table', @level1name='_hdc_DataZone_Tasky', @level2type='column', @level2name='Typ'~
|
||||
EXEC sp_addextendedproperty @name='MS_Description', @value='1=Kooperace, 2=Potvrzeni polKoopObj', @level0type='schema', @level0name='dbo', @level1type='table', @level1name='_hdc_DataZone_Tasky',~
|
||||
@level2type='column', @level2name='Typ'~
|
||||
~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE OBJECT_ID=OBJECT_ID(N'dbo._hdc_DataZone_Tasky') AND [name]=N'ei_hdc_DataZone_Tasky_KoopObj')~
|
||||
CREATE NONCLUSTERED INDEX ei_hdc_DataZone_Tasky_KoopObj ON dbo._hdc_DataZone_Tasky (IDKoopObj)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF,~
|
||||
DROP_EXISTING = OFF,~
|
||||
STATISTICS_NORECOMPUTE = OFF,~
|
||||
SORT_IN_TEMPDB = OFF,~
|
||||
ONLINE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON,~
|
||||
ALLOW_PAGE_LOCKS = ON)~
|
||||
ON [PRIMARY]~
|
||||
~
|
||||
~
|
||||
~
|
||||
DECLARE @sql NVARCHAR(max)~
|
||||
SET @sql=N'~
|
||||
CREATE TRIGGER dbo.et_hdc_DataZone_Tasky_IU ON dbo._hdc_DataZone_Tasky~
|
||||
WITH EXECUTE AS CALLER~
|
||||
FOR INSERT, UPDATE~
|
||||
AS~
|
||||
BEGIN~
|
||||
SET NOCOUNT ON~
|
||||
~
|
||||
DECLARE~
|
||||
@id INT,~
|
||||
@cZam INT,~
|
||||
@idZam INT~
|
||||
~
|
||||
DECLARE c CURSOR LOCAL FAST_FORWARD FOR~
|
||||
SELECT i.ID, i.Zamestnanec, i.ZamestnanecID FROM inserted i~
|
||||
OPEN c~
|
||||
WHILE (1=1)~
|
||||
BEGIN~
|
||||
FETCH NEXT FROM c INTO @id, @cZam, @idZam~
|
||||
IF (@@FETCH_STATUS<>0) BREAK~
|
||||
~
|
||||
IF (@cZam IS NOT NULL) AND (@idZam IS NULL)~
|
||||
UPDATE dbo._hdc_DataZone_Tasky SET ZamestnanecID=(SELECT ID FROM dbo.TabCisZam WHERE Cislo=@cZam) WHERE ID=@id~
|
||||
~
|
||||
END~
|
||||
CLOSE c~
|
||||
DEALLOCATE c~
|
||||
~
|
||||
END~
|
||||
'~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.triggers WHERE [name]=N'et_hdc_DataZone_Tasky_IU')~
|
||||
EXEC sp_executesql @sql~
|
||||
~
|
||||
~
|
||||
~
|
||||
~
|
||||
--DECLARE @sql NVARCHAR(max)~
|
||||
SET @sql=N'~
|
||||
CREATE TRIGGER dbo.et_hdc_DataZone_Tasky_D ON dbo._hdc_DataZone_Tasky~
|
||||
WITH EXECUTE AS CALLER~
|
||||
FOR DELETE~
|
||||
AS~
|
||||
BEGIN~
|
||||
SET NOCOUNT ON~
|
||||
~
|
||||
DECLARE~
|
||||
@iTemp INT,~
|
||||
@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._hdc_DataZone_Subtasky WHERE IdTask=@id~
|
||||
IF NOT EXISTS(SELECT ID FROM dbo._hdc_DataZone_Subtasky)~
|
||||
TRUNCATE TABLE dbo._hdc_DataZone_Subtasky~
|
||||
ELSE~
|
||||
BEGIN~
|
||||
SELECT @iTemp=MAX(ID) FROM dbo._hdc_DataZone_Subtasky~
|
||||
DBCC CHECKIDENT(_hdc_DataZone_Subtasky, RESEED, @iTemp)~
|
||||
END~
|
||||
~
|
||||
END~
|
||||
CLOSE c~
|
||||
DEALLOCATE c~
|
||||
~
|
||||
~
|
||||
IF NOT EXISTS(SELECT ID FROM dbo._hdc_DataZone_Tasky)~
|
||||
TRUNCATE TABLE dbo._hdc_DataZone_Tasky~
|
||||
ELSE~
|
||||
BEGIN~
|
||||
SELECT @iTemp=MAX(ID) FROM dbo._hdc_DataZone_Tasky~
|
||||
DBCC CHECKIDENT(_hdc_DataZone_Tasky, RESEED, @iTemp)~
|
||||
END~
|
||||
~
|
||||
END'~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.triggers WHERE [name]=N'et_hdc_DataZone_Tasky_D')~
|
||||
EXEC sp_executesql @sql~
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
|
||||
<def typ="TAB" nazev="_hdc_DataZone_Subtasky" verze="20230209">
|
||||
<sql_text><![CDATA[
|
||||
IF OBJECT_ID(N'dbo._hdc_DataZone_Subtasky', N'U') IS NULL~
|
||||
CREATE TABLE dbo._hdc_DataZone_Subtasky (~
|
||||
ID int IDENTITY(1, 1) NOT NULL,~
|
||||
IDTask int NOT NULL,~
|
||||
IdDataZoneTaskID int NULL,~
|
||||
Pozice tinyint DEFAULT 1 NOT NULL,~
|
||||
DatumStart datetime NULL,~
|
||||
DatumKonec datetime NULL,~
|
||||
Kusy_odv numeric(15, 2) DEFAULT 0.0 NULL,~
|
||||
BarcodeOperace nvarchar(20) COLLATE Czech_CI_AS NULL,~
|
||||
IDPrPostup int NULL,~
|
||||
StatusText nvarchar(30) COLLATE Czech_CI_AS NULL,~
|
||||
IDPolKoopObj int NULL,~
|
||||
IDPrikaz int NULL,~
|
||||
Doklad int NULL,~
|
||||
Alt nchar(1) COLLATE Czech_CI_AS NULL,~
|
||||
PosledniChyba nvarchar(255) COLLATE Czech_CI_AS DEFAULT N'' NULL,~
|
||||
CONSTRAINT PK_hdc_DataZone_Subtasky PRIMARY KEY CLUSTERED (ID DESC)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)~
|
||||
)~
|
||||
ON [PRIMARY]~
|
||||
~
|
||||
~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE OBJECT_ID=OBJECT_ID(N'dbo._hdc_DataZone_Subtasky') AND [name]=N'ei_hdc_DataZone_Subtasky_Task')~
|
||||
CREATE NONCLUSTERED INDEX ei_hdc_DataZone_Subtasky_Task ON dbo._hdc_DataZone_Subtasky (IDTask)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF,~
|
||||
DROP_EXISTING = OFF,~
|
||||
STATISTICS_NORECOMPUTE = OFF,~
|
||||
SORT_IN_TEMPDB = OFF,~
|
||||
ONLINE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON,~
|
||||
ALLOW_PAGE_LOCKS = ON)~
|
||||
ON [PRIMARY]~
|
||||
~
|
||||
~
|
||||
~
|
||||
~
|
||||
DECLARE @sql NVARCHAR(max)~
|
||||
SET @sql=N'~
|
||||
CREATE TRIGGER dbo.et_hdc_DataZone_Subtasky_IU ON dbo._hdc_DataZone_Subtasky~
|
||||
WITH EXECUTE AS CALLER~
|
||||
FOR INSERT, UPDATE~
|
||||
AS~
|
||||
BEGIN~
|
||||
SET NOCOUNT ON~
|
||||
~
|
||||
DECLARE~
|
||||
@id INT,~
|
||||
@idTask INT,~
|
||||
@idDZTask INT,~
|
||||
@bc NVARCHAR(20),~
|
||||
@idPrPost INT,~
|
||||
@idVPr INT,~
|
||||
@dokl INT,~
|
||||
@alt NCHAR(1)~
|
||||
~
|
||||
~
|
||||
DECLARE c CURSOR LOCAL FAST_FORWARD FOR~
|
||||
SELECT i.ID, i.IdDataZoneTaskID, i.BarcodeOperace, i.IDPrPostup FROM inserted i~
|
||||
OPEN c~
|
||||
WHILE (1=1)~
|
||||
BEGIN~
|
||||
FETCH NEXT FROM c INTO @id, @idDZTask, @bc, @idPrPost~
|
||||
IF (@@FETCH_STATUS<>0) BREAK~
|
||||
~
|
||||
IF (@idPrPost IS NULL) AND (@bc<>N'''')~
|
||||
BEGIN~
|
||||
SET @idPrPost=(SELECT ID FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND BarCode=@bc)~
|
||||
IF (@idPrPost IS NOT NULL)~
|
||||
BEGIN~
|
||||
SELECT @idVPr=IDPrikaz, @dokl=Doklad, @alt=Alt FROM dbo.TabPrPostup WHERE ID=@idPrPost~
|
||||
UPDATE dbo._hdc_DataZone_Subtasky SET IdPrPostup=@idPrPost, IDPrikaz=@idVPr, Doklad=@dokl, Alt=@alt WHERE ID=@id AND IDPrPostup IS NULL~
|
||||
END~
|
||||
END~
|
||||
~
|
||||
SET @idTask=(SELECT ID FROM dbo._hdc_DataZone_Tasky WHERE IdDataZoneTaskID=@idDZTask)~
|
||||
UPDATE dbo._hdc_DataZone_Subtasky SET IDTask=@idTask WHERE ID=@id AND IDTask<>@idTask~
|
||||
~
|
||||
END~
|
||||
CLOSE c~
|
||||
DEALLOCATE c~
|
||||
~
|
||||
END~
|
||||
'~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.triggers WHERE [name]=N'et_hdc_DataZone_Subtasky_IU')~
|
||||
EXEC sp_executesql @sql~
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
<def typ="TAB" nazev="_hdc_DataZone_MicharnaPozadavek" verze="20230516">
|
||||
<sql_text><![CDATA[
|
||||
IF OBJECT_ID(N'dbo._hdc_DataZone_MicharnaPozadavek', N'U') IS NULL~
|
||||
CREATE TABLE dbo._hdc_DataZone_MicharnaPozadavek (~
|
||||
ID int IDENTITY(1, 1) NOT NULL,~
|
||||
IDDZReq INT NOT NULL,~
|
||||
DeviceID NVARCHAR(40) NULL,~
|
||||
DatPorizeni DATETIME NOT NULL DEFAULT GETDATE(),~
|
||||
DatPotvrzeni DATETIME NULL,~
|
||||
DatZpracovani DATETIME NULL,~
|
||||
IDDoklad INT,~
|
||||
Pozadavek nvarchar(max) NOT NULL,~
|
||||
JeJSON AS (CONVERT(bit, IIF(IsJson(Pozadavek)=1, 1, 0))),~
|
||||
CONSTRAINT PK_hdc_DataZone_MicharnaPozadavek PRIMARY KEY CLUSTERED (ID)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)~
|
||||
)~
|
||||
ON [PRIMARY]~
|
||||
~
|
||||
~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE OBJECT_ID=OBJECT_ID(N'dbo._hdc_DataZone_MicharnaPozadavek') AND [name]=N'ei_hdc_DataZone_MicharnaPozadavek_DZReq')~
|
||||
CREATE NONCLUSTERED INDEX ei_hdc_DataZone_MicharnaPozadavek_DZReq ON dbo._hdc_DataZone_MicharnaPozadavek~
|
||||
(IDDZReq)~
|
||||
WITH (~
|
||||
PAD_INDEX = OFF,~
|
||||
DROP_EXISTING = OFF,~
|
||||
STATISTICS_NORECOMPUTE = OFF,~
|
||||
SORT_IN_TEMPDB = OFF,~
|
||||
ONLINE = OFF,~
|
||||
ALLOW_ROW_LOCKS = ON,~
|
||||
ALLOW_PAGE_LOCKS = ON)~
|
||||
ON [PRIMARY]~
|
||||
~
|
||||
~
|
||||
IF NOT EXISTS(SELECT 1 FROM sys.indexes WHERE OBJECT_ID=OBJECT_ID(N'dbo._hdc_DataZone_MicharnaPozadavek') AND [name]=N'ei_hdc_DataZone_MicharnaPozadavek_Doklad')~
|
||||
CREATE NONCLUSTERED INDEX ei_hdc_DataZone_MicharnaPozadavek_Doklad ON dbo._hdc_DataZone_MicharnaPozadavek~
|
||||
(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)~
|
||||
ON [PRIMARY]
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
<def typ="PRO" nazev="ep_HDC_DataZone_Vyroba_VytvorKoopObjednavku" verze="20230525">
|
||||
<sql_text><![CDATA[
|
||||
CREATE PROCEDURE dbo.ep_HDC_DataZone_Vyroba_VytvorKoopObjednavku~
|
||||
@idTask INT=NULL,~
|
||||
@opakovane BIT=0,~
|
||||
@radaKObj NVARCHAR(10)=NULL~
|
||||
AS~
|
||||
~
|
||||
SET NOCOUNT ON~
|
||||
~
|
||||
DECLARE~
|
||||
@aktDate DATETIME=GETDATE(),~
|
||||
@errMsg NVARCHAR(500),~
|
||||
@iTemp INT,~
|
||||
@idSubtask INT,~
|
||||
@idDZTask INT,~
|
||||
@idKoopObj INT,~
|
||||
@cisKoopObj NVARCHAR(20),~
|
||||
@bc NVARCHAR(20),~
|
||||
@idOrgKoop INT,~
|
||||
@idPolKoopObj INT,~
|
||||
@idTypKoop INT,~
|
||||
@idKoop INT,~
|
||||
@idVPr INT,~
|
||||
@dokl INT,~
|
||||
@alt NCHAR(1),~
|
||||
@idPrPost INT,~
|
||||
@mnoz NUMERIC(19,6),~
|
||||
@idZam INT,~
|
||||
@cZam INT,~
|
||||
@loginName NVARCHAR(50),~
|
||||
@tranPred INT,~
|
||||
@idOrg INT,~
|
||||
@dicOrg NVARCHAR(15),~
|
||||
@jsonStr NVARCHAR(MAX)~
|
||||
~
|
||||
~
|
||||
DECLARE @idKooperace TABLE (ID INT NOT NULL)~
|
||||
~
|
||||
~
|
||||
~
|
||||
SET @iTemp=ISNULL( (SELECT MAX(ID) FROM dbo.TabKoopObj), 1)~
|
||||
DBCC CHECKIDENT(TabKoopObj, RESEED, @iTemp)~
|
||||
~
|
||||
SET @iTemp=ISNULL( (SELECT MAX(ID) FROM dbo.TabPolKoopObj), 1)~
|
||||
DBCC CHECKIDENT(TabPolKoopObj, RESEED, @iTemp)~
|
||||
~
|
||||
~
|
||||
IF (@idTask IS NULL)~
|
||||
DECLARE d CURSOR LOCAL FOR~
|
||||
SELECT ID, IdDataZoneTaskID, ZamestnanecID, Zamestnanec FROM dbo._hdc_DataZone_Tasky~
|
||||
WHERE Kooperace=1 AND DatZpracovani IS NULL AND IDKoopObj IS NULL AND Nezpracovavat=0 -- AND Blokovano=0~
|
||||
AND DATEDIFF(d, DatPorizeni, GETDATE())<2~
|
||||
ELSE~
|
||||
IF (@opakovane=0)~
|
||||
DECLARE d CURSOR LOCAL FOR~
|
||||
SELECT ID, IdDataZoneTaskID, ZamestnanecID, Zamestnanec FROM dbo._hdc_DataZone_Tasky~
|
||||
WHERE Kooperace=1 AND DatZpracovani IS NULL AND IDKoopObj IS NULL AND Nezpracovavat=0 AND ID=@idTask -- AND Blokovano=0~
|
||||
ELSE~
|
||||
DECLARE d CURSOR LOCAL FOR~
|
||||
SELECT ID, IdDataZoneTaskID, ZamestnanecID, Zamestnanec FROM dbo._hdc_DataZone_Tasky~
|
||||
WHERE Kooperace=1 AND ID=@idTask -- AND Blokovano=0~
|
||||
OPEN d~
|
||||
WHILE (1=1)~
|
||||
BEGIN~
|
||||
FETCH NEXT FROM d INTO @idTask, @idDZTask, @idZam, @cZam~
|
||||
IF (@@FETCH_STATUS<>0) BREAK~
|
||||
~
|
||||
UPDATE dbo._hdc_DataZone_Tasky SET Blokovano=1 WHERE ID=@idTask~
|
||||
~
|
||||
SET @loginName=(SELECT LoginId FROM dbo.TabCisZam WHERE Cislo=@cZam)~
|
||||
IF (ISNULL(@loginName,N'')=N'')~
|
||||
SET @loginName=(SELECT PrijmeniJmeno FROM dbo.TabCisZam WHERE ID=@idZam)~
|
||||
IF (ISNULL(@loginName,N'')=N'')~
|
||||
SET @loginName=ISNULL( (SELECT PrijmeniJmeno FROM dbo.TabCisZam WHERE Cislo=@cZam), SUSER_SNAME())~
|
||||
~
|
||||
~
|
||||
-- mam zapsane subtasky ?~
|
||||
IF NOT EXISTS(SELECT 1 FROM dbo._hdc_DataZone_Subtasky WHERE IDTask=@idTask)~
|
||||
BEGIN~
|
||||
SET @jsonStr=(SELECT Obsah FROM dbo._hdc_DataZone_Tasky WHERE ID=@idTask)~
|
||||
IF (@jsonStr IS NOT NULL)~
|
||||
IF (CHARINDEX(N'subtask', @jsonStr)>0) AND (ISJSON(@jsonStr)=1)~
|
||||
BEGIN~
|
||||
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))~
|
||||
INSERT #TabJSONData (doc) SELECT @jsonStr~
|
||||
~
|
||||
INSERT dbo._hdc_DataZone_Subtasky (IDTask, IdDataZoneTaskID, Pozice, DatumStart, DatumKonec, Kusy_odv, BarcodeOperace, StatusText)~
|
||||
SELECT @idTask, @idDZTask, ROW_NUMBER() OVER (ORDER BY(SELECT NULL)), CONVERT(datetime2(0), startedAt), CONVERT(datetime2(0), finishedAt),~
|
||||
CONVERT(NUMERIC(19,6), v.kusy_odv), code, [status] -- JSON_VALUE(d.doc, '$.worker.code') AS CisloZam~
|
||||
FROM #TabJSONData d~
|
||||
CROSS APPLY OPENJSON(d.doc, '$.subtask')~
|
||||
WITH(code nvarchar(20), [status] NVARCHAR(30), startedAt NVARCHAR(25), finishedAt NVARCHAR(25), [values] nvarchar(max) AS JSON)~
|
||||
CROSS APPLY OPENJSON([values])~
|
||||
WITH (kusy_odv nvarchar(100)) as v~
|
||||
~
|
||||
UPDATE st SET st.IDPrikaz=pp.IDPrikaz, st.Doklad=pp.Doklad, st.Alt=pp.Alt, st.IdPrPostup=pp.ID~
|
||||
FROM dbo._hdc_DataZone_Subtasky st~
|
||||
INNER JOIN dbo.TabPrPostup pp ON (pp.Barcode=st.BarcodeOperace AND pp.IDOdchylkyDo IS NULL)~
|
||||
WHERE st.IDTask=@idTask~
|
||||
~
|
||||
IF OBJECT_ID(N'tempdb..#TabJSONData', N'U') IS NOT NULL~
|
||||
DROP TABLE #TabJSONData~
|
||||
END~
|
||||
END~
|
||||
~
|
||||
~
|
||||
-- zapis nezpracovane subtasky~
|
||||
IF EXISTS(SELECT ID FROM dbo._hdc_DataZone_Subtasky WHERE IDTask=@idTask AND IDPolKoopObj IS NULL)~
|
||||
BEGIN~
|
||||
IF (@radaKObj IS NULL)~
|
||||
SET @radaKObj = (SELECT TOP(1) Rada FROM dbo.TabRadyKoopObj ORDER BY ID)~
|
||||
INSERT @idKooperace (ID) SELECT DISTINCT(IDkooperace) FROM dbo.TabPrPostup~
|
||||
WHERE BarCode IN (SELECT BarcodeOperace FROM dbo._hdc_DataZone_Subtasky WHERE IDTask=@idTask)~
|
||||
AND IDOdchylkyDo IS NULL AND Typ=2 GROUP BY IDkooperace~
|
||||
IF (1=(SELECT COUNT(*) FROM (SELECT DISTINCT(ID) FROM @idKooperace GROUP BY ID) x))~
|
||||
BEGIN~
|
||||
SET @idTypKoop=(SELECT TOP(1) ID FROM @idKooperace)~
|
||||
SELECT @radaKObj=cke._RadaKoopObj FROM dbo.TabCKoop ck INNER JOIN dbo.TabRadyCKoop rck ON (rck.Rada=ck.Rada)~
|
||||
INNER JOIN dbo.TabRadyCKoop_EXT cke ON (cke.ID=ck.ID) WHERE ck.ID=@idTypKoop~
|
||||
~
|
||||
IF (@radaKObj IS NOT NULL)~
|
||||
BEGIN~
|
||||
BEGIN TRY~
|
||||
SET @tranPred=@@TRANCOUNT~
|
||||
IF (@tranPred=0)~
|
||||
BEGIN TRAN~
|
||||
SET @aktDate = CONVERT(datetime, CONVERT(int, CONVERT(float, @aktDate)))~
|
||||
EXEC dbo.hp_InsertHlavickyKoopObj @IDObjednavky=@idKoopObj OUT, @Rada=@radaKObj, @TerminOdeslani=@aktDate~
|
||||
IF (@idKoopObj IS NOT NULL)~
|
||||
BEGIN~
|
||||
UPDATE dbo.TabKoopObj SET Autor=@loginName WHERE ID=@idKoopObj~
|
||||
SELECT @cisKoopObj=Objednavka FROM dbo.TabKoopObj WHERE ID=@idKoopObj~
|
||||
~
|
||||
DECLARE p CURSOR LOCAL FOR~
|
||||
SELECT ID, IDPrikaz, Doklad, Alt, Kusy_odv, BarcodeOperace, IDPrPostup FROM dbo._hdc_DataZone_Subtasky~
|
||||
WHERE IDTask=@idTask AND IDPolKoopObj IS NULL~
|
||||
OPEN p~
|
||||
WHILE (1=1)~
|
||||
BEGIN~
|
||||
FETCH NEXT FROM p INTO @idSubtask, @idVPr, @dokl, @alt, @mnoz, @bc, @idPrPost~
|
||||
IF (@@FETCH_STATUS<>0) BREAK~
|
||||
~
|
||||
IF (@idPrPost IS NULL)~
|
||||
SET @idPrPost=(SELECT ID FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND BarCode=@bc)~
|
||||
IF NOT EXISTS(SELECT ID FROM dbo.TabPrPostup WHERE ID=@idPrPost)~
|
||||
SET @idPrPost = (SELECT ID FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND BarCode=@bc)~
|
||||
SELECT @idVPr=IDPrikaz, @dokl=Doklad, @alt=Alt, @idKoop=IDKooperace FROM dbo.TabPrPostup WHERE ID=@idPrPost~
|
||||
IF EXISTS(SELECT pp.ID FROM dbo.TabPrPostup pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz) WHERE pp.ID=@idPrPost AND pp.predzpracovano=1 AND p.StavPrikazu=30)~
|
||||
UPDATE dbo.TabPrPostup SET predzpracovano=0 WHERE ID=@idPrPost~
|
||||
~
|
||||
EXEC dbo.hp_InsertPolozkyKoopObj @IDPolozky=@idPolKoopObj OUT, @IDObjednavky=@idKoopObj, @IDPrikaz=@idVPr, @Doklad=@dokl, @Alt=@alt, @Kusy=@mnoz, @IDKooperace=@idKoop~
|
||||
IF (@idPolKoopObj IS NOT NULL)~
|
||||
BEGIN~
|
||||
UPDATE dbo._hdc_DataZone_Subtasky SET IDPolKoopObj=@idPolKoopObj WHERE ID=@idSubtask~
|
||||
UPDATE dbo.TabPolKoopObj SET Autor=@loginName WHERE ID=@idPolKoopObj~
|
||||
END~
|
||||
~
|
||||
END~
|
||||
CLOSE p~
|
||||
DEALLOCATE p~
|
||||
~
|
||||
SET @idOrg=(SELECT dodavatel FROM dbo.TabCKoop WHERE ID=@idKoop)~
|
||||
SET @dicOrg=(SELECT DIC FROM dbo.TabCisOrg WHERE ID=@idOrg)~
|
||||
UPDATE dbo.TabKoopObj SET IDOrganizace=@idOrg, DIC=@dicOrg WHERE ID=@idKoopObj~
|
||||
~
|
||||
UPDATE dbo._hdc_DataZone_Tasky SET IDKoopObj=@idKoopObj, DatZpracovani=GETDATE(), Nezpracovavat=0, CisloKoopObj=@cisKoopObj, Blokovano=0~
|
||||
WHERE ID=@idTask~
|
||||
~
|
||||
END -- @IDObjednavky IS NOT NULL~
|
||||
IF (@@TRANCOUNT>0) AND (@tranPred=0)~
|
||||
COMMIT TRAN~
|
||||
END TRY~
|
||||
BEGIN CATCH~
|
||||
IF (@@TRANCOUNT>0) AND (@tranPred=0)~
|
||||
ROLLBACK TRAN~
|
||||
SET @errMsg = ERROR_MESSAGE()~
|
||||
~
|
||||
IF (CHARINDEX(N'2001434', @errMsg)>0) -- vyrobni operace jiz neexistuje~
|
||||
UPDATE dbo._hdc_DataZone_Tasky SET DatZpracovani=GETDATE(), Nezpracovavat=1, PosledniChyba=N'V<>robn<62> operace ji<6A> neexistuje' WHERE ID=@idTask~
|
||||
ELSE~
|
||||
INSERT dbo._hdc_Log (Typ, LogText, intVal) SELECT 11, N'Import kooperace - chyba: ' + @errMsg, @idTask~
|
||||
~
|
||||
END CATCH~
|
||||
END -- @radaKObj IS NOT NULL~
|
||||
~
|
||||
END -- jen jeden druh kooperace~
|
||||
ELSE~
|
||||
BEGIN~
|
||||
UPDATE dbo._hdc_DataZone_Tasky SET PosledniChyba=N'Naskenov<6F>no v<>c typ<79> kooperace', Blokovano=0 WHERE ID=@idTask~
|
||||
END~
|
||||
~
|
||||
END -- existuji subtasky ? ano, vytvor kooperacni objednavku~
|
||||
~
|
||||
END~
|
||||
CLOSE d~
|
||||
DEALLOCATE d
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
<def typ="COL">
|
||||
<sql_text><![CDATA[
|
||||
DECLARE @currDat DATETIME=GETDATE()~
|
||||
IF (COL_LENGTH(N'dbo.TabRadyCKoop_EXT', N'_RadaKoopObj') IS NULL)~
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabRadyCKoop_EXT', @NazevAtrSys=N'_RadaKoopObj', @Skupina=N'HDC API', @NazevAtrVer=N'<27>ada koopera<72>n<EFBFBD>ch objedn<64>vek',~
|
||||
@NazevAtrVerZkr=N'<27>ada koopObj', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0,~
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=11142, @ExtEd_Atr=N'Rada', @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,~
|
||||
@TypAtrSQL=N'NVARCHAR', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
<def typ="COL">
|
||||
<sql_text><![CDATA[
|
||||
DECLARE @currDat DATETIME=GETDATE()~
|
||||
IF (COL_LENGTH(N'dbo.TabDokumenty_EXT', N'_DokladProAPI') IS NULL)~
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokumenty', @NazevAtrSys=N'_DokladProAPI', @Skupina=N'HDC API', @NazevAtrVer=N'P<>ednastaveno pro HDC API',~
|
||||
@NazevAtrVerZkr=N'Pro HDCAPI', @TypAtr=N'BIT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=12, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=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=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1~
|
||||
EXEC dbo.hp_ExterniTabulka N'TabDokumenty',N'_DokladProAPI',N'BIT'
|
||||
]]>
|
||||
</sql_text>
|
||||
</def>
|
||||
|
||||
|
||||
</defs>
|
||||
15
_custom/Rootvin/info.txt
Normal file
15
_custom/Rootvin/info.txt
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
|
||||
|
||||
Gatema_SDDoklady
|
||||
***********************
|
||||
TypDokladu - 510 - kontrola prijmu / 540 - prijem
|
||||
IDDokZbo - zdrojovy doklad (napr. pri kontrole prijmu)
|
||||
|
||||
|
||||
|
||||
|
||||
Gatema_SDScanData
|
||||
***********************
|
||||
IDPohZbo - ID zdrojoveho pohybu OZ (napr. pri kontrole prijmu)
|
||||
|
||||
6
_custom/Rootvin/sql/col_CisZam_EXT.sql
Normal file
6
_custom/Rootvin/sql/col_CisZam_EXT.sql
Normal file
@ -0,0 +1,6 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabCisZam_EXT', N'_DataZone_KodCipu') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabCisZam', @NazevAtrSys=N'_DataZone_KodCipu', @Skupina=N'HDCDZApi', @NazevAtrVer=N'K<EFBFBD>d zam<61>stnaneck<63>ho <20>ipu',
|
||||
@NazevAtrVerZkr=N'K<EFBFBD>d <20>ipu', @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(36)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1
|
||||
6
_custom/Rootvin/sql/col_TabDokumenty_DokladProAPI.sql
Normal file
6
_custom/Rootvin/sql/col_TabDokumenty_DokladProAPI.sql
Normal file
@ -0,0 +1,6 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabDokumenty_EXT', N'_DokladProAPI') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabDokumenty_EXT', @NazevAtrSys=N'_DokladProAPI', @Skupina=NULL, @NazevAtrVer=N'Přednastaveno pro zobrazení přes HDC API',
|
||||
@NazevAtrVerZkr=N'Pro HDCAPI', @TypAtr=N'BIT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=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=NULL, @Definice=NULL, @Podminka=NULL
|
||||
12
_custom/Rootvin/sql/col_TabPrPostup_EXT.sql
Normal file
12
_custom/Rootvin/sql/col_TabPrPostup_EXT.sql
Normal file
@ -0,0 +1,12 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabPrPostup_EXT', N'_PaletListProVydej') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrPostup', @NazevAtrSys=N'_PaletListProVydej', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Paletov<EFBFBD> list pro v<>dej',
|
||||
@NazevAtrVerZkr=N'Pal.list.v<>dej', @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.TabPrPostup_EXT', N'_SarzeProVydej') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrPostup', @NazevAtrSys=N'_SarzeProVydej', @Skupina=N'HDCDZApi', @NazevAtrVer=N'<EFBFBD>arze pro v<>dej',
|
||||
@NazevAtrVerZkr=N'<EFBFBD>ar<EFBFBD>e v<>dej', @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'<EFBFBD>ar<EFBFBD>e pl<70>novan<61> pro v<>dej (naskenovan<61>)', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1
|
||||
34
_custom/Rootvin/sql/ep_HDCDZApi_GetKusovnik.sql
Normal file
34
_custom/Rootvin/sql/ep_HDCDZApi_GetKusovnik.sql
Normal file
@ -0,0 +1,34 @@
|
||||
-- dbo.ep_hdcdzapi_GetKusovnik
|
||||
CREATE PROCEDURE dbo.ep_hdcdzapi_GetKusovnik
|
||||
@idDilce INT,
|
||||
@mnf NUMERIC(19,6)=0,
|
||||
@datum DATETIME=NULL,
|
||||
@IDZakazModif int=NULL,
|
||||
@MnozstviSeZtratou bit=1,
|
||||
@VcetneNulovychKV bit=0,
|
||||
@RespekDodatecneProcZtratKV bit=0,
|
||||
@ErrMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #apiKusovnik
|
||||
CREATE TABLE #apiKusovnik (ID int IDENTITY (1, 1) NOT NULL, IDRodic int NULL, vyssi integer NULL, IDKmenZbozi integer NOT NULL, uroven integer NOT NULL, poradi integer NOT NULL,
|
||||
IDKVazby integer NULL, mnozstvi numeric(20,6) NOT NULL, prirez numeric(20,6) NULL,
|
||||
Prime bit NOT NULL, RezijniMat bit NOT NULL, VyraditZKalkulace bit NOT NULL, Strom nvarchar(400) COLLATE database_default NULL,
|
||||
Davka numeric(19,6) NULL)
|
||||
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_generujKusovnik @IDFinal=@idDilce, @MNF=@mnf, @datum=@datum, @Can_raise=0, @getStrom=1, @GetRodic=1, @IDZakazModif=@IDZakazModif, @VcetneNulovychKV=@VcetneNulovychKV,
|
||||
@MnozstviSeZtratou=@MnozstviSeZtratou, @RespekDodatecneProcZtratKV=@RespekDodatecneProcZtratKV
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @ErrMsg = ERROR_MESSAGE()
|
||||
END CATCH
|
||||
|
||||
SELECT * FROM #apiKusovnik
|
||||
|
||||
38
_custom/Rootvin/sql/ep_HDCDZApi_GetKusovnik_2.sql
Normal file
38
_custom/Rootvin/sql/ep_HDCDZApi_GetKusovnik_2.sql
Normal file
@ -0,0 +1,38 @@
|
||||
-- dbo.ep_hdcdzapi_GetKusovnik
|
||||
CREATE PROCEDURE dbo.ep_hdcdzapi_GetKusovnik
|
||||
AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
DECLARE @RespekExistDoklady bit=0
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#apiKusovnik', N'U') IS NULL
|
||||
CREATE TABLE #apiKusovnik (ID INT IDENTITY(1,1) NOT NULL, IDPrKV INT, MnozstviPoz NUMERIC(19,6), pom_pomer_A NUMERIC(19,6), pom_pomer_B NUMERIC(19,6), Doklad INT, IDPrikaz INT,
|
||||
Prednastaveno BIT, Sklad NVARCHAR(30), VyrStredisko NVARCHAR(30), IDPracoviste INT, mnoz_zad NUMERIC(19,6), Mnoz_nepotrebne NUMERIC(19,6), Mnoz_skut_realizovane NUMERIC(19,6),
|
||||
Cena_real NUMERIC(19,6), Mnoz_odv NUMERIC(19,6), Cena_odv NUMERIC(19,6), priorita INT, vyssi INT, nizsi INT, DavkaTPV NUMERIC(19,6), pozice INT, Operace NVARCHAR(4),
|
||||
FixniMnozstvi NUMERIC(19,6), mnozstvi NUMERIC(19,6), ProcZtrat NUMERIC(19,6), mnozstviSeZtratou NUMERIC(19,6), Prirez NUMERIC(19,6), Poznamka NVARCHAR(500), SZVyssi NVARCHAR(3),
|
||||
RCVyssi NVARCHAR(30), Nazev1Vyssi NVARCHAR(100), SZNizsi NVARCHAR(3), RCNizsi NVARCHAR(30), Nazev1Nizsi NVARCHAR(100))
|
||||
IF OBJECT_ID(N'tempdb..#apiOdved', N'U') IS NULL
|
||||
CREATE TABLE #apiOdved (ID INT, IDPrikaz INT, Mnozstvi NUMERIC(19,6) DEFAULT 0.0)
|
||||
|
||||
INSERT #apiKusovnik (IDPrKV, MnozstviPoz, pom_pomer_A, pom_pomer_B, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad, Mnoz_nepotrebne, Mnoz_skut_realizovane, Cena_real, Mnoz_odv, Cena_odv, priorita, vyssi, nizsi, DavkaTPV,
|
||||
pozice, Operace, FixniMnozstvi, mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka, SZVyssi, RCVyssi, Nazev1Vyssi, SZNizsi, RCNizsi, Nazev1Nizsi)
|
||||
SELECT PrKV.ID, PrKV.mnoz_zad*O.mnozstvi/P.kusy_zad - CASE WHEN @RespekExistDoklady=1 THEN PrKV.VydanoRefMnoz + (SELECT ISNULL(SUM(PZ2.prepmnozstvi*(PZ2.mnozstvi-PZ2.MnOdebrane) * PrKV2.RefMnoz / PrKV2.mnoz_zad), 0.0) FROM [dbo].[TabPohybyZbozi] PZ2
|
||||
INNER JOIN [dbo].[TabDokladyZbozi] DZ2 ON (DZ2.ID=PZ2.IDDoklad AND DZ2.splneno=0)
|
||||
INNER JOIN [dbo].[TabStavSkladu] SS2 ON (SS2.ID=PZ2.IDZboSklad)
|
||||
INNER JOIN [dbo].[TabPrKVazby] PrKV2 ON (PrKV2.IDPrikaz=PZ2.IDPrikaz AND PrKV2.Doklad=PZ2.DokladPrikazu AND PrKV2.nizsi=SS2.IDKmenZbozi AND PrKV2.IDOdchylkyDo IS NULL)
|
||||
WHERE PZ2.TypVyrobnihoDokladu=1 AND PZ2.IDPrikaz=PrKV.IDPrikaz AND PZ2.DokladPrikazu=PrKV.Doklad AND PZ2.Splneno=0 AND PZ2.druhPohybuZbo IN (2,4,9,10) AND PZ2.SkutecneDatReal IS NULL) ELSE 0.0 END, CASE WHEN @RespekExistDoklady=0 THEN O.mnozstvi END, CASE WHEN @RespekExistDoklady=0 THEN P.kusy_zad END,
|
||||
PrKV.Doklad, PrKV.IDPrikaz, PrKV.Prednastaveno, PrKV.Sklad, PrKV.VyrStredisko, PrKV.IDPracoviste, PrKV.mnoz_zad, PrKV.Mnoz_nepotrebne, PrKV.Mnoz_skut_realizovane , PrKV.Cena_real, PrKV.Mnoz_odv, PrKV.Cena_odv, PrKV.priorita, PrKV.vyssi, PrKV.nizsi, PrKV.DavkaTPV, PrKV.pozice, PrKV.Operace, PrKV.FixniMnozstvi,
|
||||
PrKV.mnozstvi , PrKV.ProcZtrat, PrKV.mnozstviSeZtratou, PrKV.Prirez, PrKV.Poznamka, KZV.SkupZbo, KZV.RegCis, KZV.Nazev1, KZ.SkupZbo, KZ.RegCis, KZ.Nazev1
|
||||
FROM (SELECT IDPrikaz=O1.IDPrikaz, Mnozstvi=SUM(O1.mnozstvi) + CASE WHEN @RespekExistDoklady=1 THEN MAX(P1.kusy_odved+P1.kusy_ztrac+P1.kusy_zmet) + (SELECT ISNULL(SUM(PZ1.prepmnozstvi*PZ1.mnozstvi), 0.0)
|
||||
FROM [dbo].[TabPohybyZbozi] PZ1 WHERE PZ1.TypVyrobnihoDokladu=0 AND PZ1.IDPrikaz=O1.IDPrikaz AND PZ1.druhPohybuZbo=0 AND PZ1.SkutecneDatReal IS NULL) ELSE 0.0 END
|
||||
FROM #apiOdved O1
|
||||
INNER JOIN [dbo].[TabPrikaz] P1 ON (P1.ID=O1.IDPrikaz)
|
||||
GROUP BY O1.IDPrikaz) O
|
||||
INNER JOIN [dbo].[TabPrikaz] P ON (P.ID=O.IDPrikaz AND P.StavPrikazu IN (20,30,50))
|
||||
INNER JOIN TabRadyPrikazu RP ON (RP.rada=P.rada)
|
||||
INNER JOIN [dbo].[TabPrKVazby] PrKV ON (PrKV.IDPrikaz=O.IDPrikaz AND /*PrKV.predzpracovano=0 AND*/ PrKV.prednastaveno=1 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND PrKV.IDOdchylkyDo IS NULL)
|
||||
INNER JOIN [dbo].[TabKmenZbozi] KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
||||
LEFT JOIN [dbo].[TabKmenZbozi] KZV ON (KZV.ID=PrKV.vyssi AND KZV.sluzba=0)
|
||||
WHERE (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0)
|
||||
|
||||
SELECT * FROM #apiKusovnik
|
||||
153
_custom/Rootvin/sql/ep_HDCDZApi_ZpracujPrijataData.sql
Normal file
153
_custom/Rootvin/sql/ep_HDCDZApi_ZpracujPrijataData.sql
Normal file
@ -0,0 +1,153 @@
|
||||
-- dbo.ep_HDCDZApi_ZpracujPrijataData
|
||||
CREATE PROCEDURE dbo.ep_HDCDZApi_ZpracujPrijataData
|
||||
@idJson INT=NULL
|
||||
AS
|
||||
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@cnt INT,
|
||||
@datPorizeni DATETIME,
|
||||
@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),
|
||||
@akceSource NVARCHAR(50),
|
||||
@datumText NVARCHAR(25)
|
||||
|
||||
DECLARE @TabPHObj TABLE (ID INT NOT NULL, IDPHIdent INT)
|
||||
|
||||
|
||||
-- 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))
|
||||
*/
|
||||
DROP TABLE IF EXISTS #TabJSONData
|
||||
CREATE TABLE #TabJSONData (ID INT IDENTITY(1,1) NOT NULL, doc NVARCHAR(max))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@idJson IS NULL)
|
||||
DECLARE j CURSOR LOCAL FOR
|
||||
SELECT ID, JSONData, DatPorizeni
|
||||
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, DatPorizeni
|
||||
FROM dbo._hdc_ph_PrijataJsonData
|
||||
WHERE ID=@idJson
|
||||
OPEN j
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM j INTO @idJson, @jsonString, @datPorizeni
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
IF (ISJSON(@jsonString)=0)
|
||||
CONTINUE
|
||||
|
||||
|
||||
BEGIN TRY
|
||||
SET @tranPred = @@TRANCOUNT
|
||||
IF (@tranPred=0)
|
||||
BEGIN TRAN
|
||||
|
||||
|
||||
SET @datumText = NULL
|
||||
-- smaz pomocnou tabulku
|
||||
DELETE FROM #TabJSONData
|
||||
INSERT #TabJSONData (doc) SELECT @jsonString
|
||||
SELECT TOP(1) @akce = JSON_VALUE(doc, '$.action'), @akceSource = JSON_VALUE(doc, '$.source'), @datumText = JSON_VALUE(doc, '$.actionAt') FROM #TabJSONData
|
||||
|
||||
SET @akce = ISNULL(@akce, N'')
|
||||
SET @akceSource = ISNULL(@akceSource, N'')
|
||||
SET @datumText = ISNULL(@datumText, N'')
|
||||
IF (@datumText<>N'')
|
||||
SET @datPorizeni = CONVERT(datetime, @datumText, 120)
|
||||
|
||||
IF (@akce<>N'')
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET Akce=@akce WHERE ID=@idJson AND Akce IS NULL
|
||||
|
||||
|
||||
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: TLACITKO
|
||||
IF (@akce=N'click' AND @akceSource='button')
|
||||
BEGIN
|
||||
SET @akce = N''
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE() WHERE ID=@idJson
|
||||
END -- akce: vyroba_zacatek
|
||||
-- END: TLACITKO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
SET @errMsg = 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
|
||||
137
_custom/Rootvin/sql/ep_P01_HDCDZApi1.sql
Normal file
137
_custom/Rootvin/sql/ep_P01_HDCDZApi1.sql
Normal file
@ -0,0 +1,137 @@
|
||||
-- dbo.ep_P01_HDCDZApi1
|
||||
CREATE PROCEDURE dbo.ep_P01_HDCDZApi1
|
||||
@IDDoklad INT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
-- vola se na konci procesu realizace prijemky (po uskutecneni prijmu ale pred konecnym COMMIT TRAN)
|
||||
-- nastaveni skladu lze ovlivnit pres #TabDefiniceProP01 (HlavniSkladMat NVARCHAR(30), TechnologickySklad NVARCHAR(30), SkladVyrobaPekarna NVARCHAR(30) )
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@cnt INT,
|
||||
@errMsg NVARCHAR(500),
|
||||
@bChyba BIT,
|
||||
@iChyba INT
|
||||
|
||||
DECLARE
|
||||
@sklHlavni NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@sklPrijem NVARCHAR(30)
|
||||
|
||||
DECLARE
|
||||
@sklDokl NVARCHAR(30),
|
||||
@radaDokl NVARCHAR(3),
|
||||
@cOrg INT,
|
||||
@idDZDst INT,
|
||||
@dpz TINYINT,
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzDatum DATETIME,
|
||||
@datReal DATETIME,
|
||||
@vyrCis NVARCHAR(100),
|
||||
@nazevVyrCis NVARCHAR(100),
|
||||
@poslVyrCis NVARCHAR(100),
|
||||
@idVCK INT,
|
||||
@idVCS INT,
|
||||
@idVCP INT,
|
||||
@idPZ INT,
|
||||
@idZboSklad INT,
|
||||
@idKZ INT
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT @radaDokl=RadaDokladu, @cOrg=CisloOrg, @sklDokl=IDSklad, @dpz=DruhPohybuZbo, @dzMena=Mena, @dzDatum=DatPorizeni
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
|
||||
|
||||
|
||||
|
||||
-- zapis posledni prevedene sarze
|
||||
IF (@radaDokl=N'281') AND (@sklDokl=@sklPekarna) // prijemka/prevodka na pekarnu
|
||||
BEGIN
|
||||
DECLARE p CURSOR LOCAL FOR
|
||||
SELECT p.ID, p.IDZboSklad
|
||||
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, @idZboSklad
|
||||
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=@idZboSklad)
|
||||
INSERT dbo.TabStavSkladu_EXT (ID) VALUES (@idZboSklad)
|
||||
UPDATE dbo.TabStavSkladu_EXT SET _Prevod_PosledniSarze=@poslVyrCis WHERE ID=@idZboSklad
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE p
|
||||
DEALLOCATE p
|
||||
END -- @radaDokl 281
|
||||
|
||||
|
||||
|
||||
|
||||
-- kopie prevodkove prijemky ze skladu materialu na sklad Vyroba/Pekarna
|
||||
-- na "zrcadlovy" technologicky sklad (neni uctovany), ktery slouzi jen pro vydejky z Vyrobnich prikazu
|
||||
-- z tech se denne generuje sumacni na hlavnim sklade
|
||||
IF OBJECT_ID(N'tempdb..#TabDefiniceProP01', N'U') IS NOT NULL
|
||||
SELECT TOP(1) @sklHlavni=HlavniSkladMat, @sklPekarna=SkladVyrobaPekarna, @sklTechnolog=TechnologickySklad FROM #TabDefiniceProP01
|
||||
IF (@sklHlavni IS NULL)
|
||||
SELECT @sklHlavni=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<4E><45>%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technologick<EFBFBD> sklad%v<>dej%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna'
|
||||
|
||||
|
||||
-- jen prijemka/prevodka na sklad Pekarna (211)
|
||||
IF (@dpz=0) AND (@radaDokl IN (N'281')) AND (@sklDokl=@sklPekarna) AND (@sklTechnolog IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZDst OUT, @Sklad=@sklTechnolog, @DruhPohybu=@dpz, @RadaDokladu=@radaDokl,
|
||||
@Mena=@dzMena, @CisloOrg=@cOrg, @DatumPorizeni=@dzDatum
|
||||
IF (@idDZDst IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @datReal=DatRealizace FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
|
||||
EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idDZDst, @IDDokladSrc=@IDDoklad, @CisloOrgCil=@cOrg, @MUCil=NULL, @MenaCil=@dzMena,
|
||||
@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)
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZDst, @DatumRealizace=@datReal, @Uzivatel=0, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END
|
||||
|
||||
END -- prijmka radaDokl 281, prijemkovy sklad Vyroba pekarna ci podobny, technologicky sklad vyplneny
|
||||
178
_custom/Rootvin/sql/ep_Vyroba_DoplnSkladProVydejDleDokladu.sql
Normal file
178
_custom/Rootvin/sql/ep_Vyroba_DoplnSkladProVydejDleDokladu.sql
Normal file
@ -0,0 +1,178 @@
|
||||
-- dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu
|
||||
@IDDoklad INT,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi nebo pluginu Pekerna !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi WHERE Realizovano=1)
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@uziv INT,
|
||||
@bChyba BIT
|
||||
|
||||
DECLARE
|
||||
@sklad NVARCHAR(30),
|
||||
@datPorizeni DATETIME,
|
||||
@datNasklad DATETIME,
|
||||
@idDZ INT,
|
||||
@idPZ INT,
|
||||
@idKZ INT,
|
||||
@idSS INT,
|
||||
@idSSPek INT,
|
||||
@prepKoef NUMERIC(19,6),
|
||||
@mnozPZ NUMERIC(19,6),
|
||||
@mnozSkl NUMERIC(19,6),
|
||||
@mnozNevyd NUMERIC(19,6),
|
||||
@mnozChybi NUMERIC(19,6)
|
||||
DECLARE
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@poslSarze NVARCHAR(100),
|
||||
@poslPalList NVARCHAR(100)
|
||||
|
||||
DECLARE
|
||||
@idDZNew INT,
|
||||
@idPZNew INT,
|
||||
@rDokl NVARCHAR(3)=N'292', -- rada dokladu pro prijem "nedostatecneho materialu" -> "Příjemka - vyrovnání do normy"
|
||||
@dpz TINYINT,
|
||||
@mnoz NUMERIC(19,6),
|
||||
@vstC TINYINT,
|
||||
@menaDZ NVARCHAR(3),
|
||||
@kurzDZ NUMERIC(19,6),
|
||||
@kurzE NUMERIC(19,6),
|
||||
@jednM INT
|
||||
|
||||
|
||||
DECLARE @pol TABLE (IDZboSklad INT NOT NULL, Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0, Sarze NVARCHAR(100), PaletList NVARCHAR(100) )
|
||||
DELETE FROM @pol
|
||||
|
||||
|
||||
SET @uziv = 0
|
||||
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavní sklad - Materiál'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NOVÝ% sklad%výdej%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%výdej%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Výroba - Pekárna'
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE c CURSOR LOCAL FOR
|
||||
SELECT p.ID, p.IDDoklad, p.IDZboSklad, p.Mnozstvi, p.PrepMnozstvi, s.IDKmenZbozi, d.IDSklad, d.DatPorizeni
|
||||
FROM dbo.TabPohybyZbozi p
|
||||
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
|
||||
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
||||
WHERE d.ID=@IDDoklad
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idPZ, @idDZ, @idSS, @mnozPZ, @prepKoef, @idKZ, @sklad, @datPorizeni
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozPZ = @mnozPZ * @prepKoef
|
||||
SET @mnozNevyd = ISNULL( (SELECT SUM(p.Mnozstvi*p.PrepMnozstvi) FROM dbo.TabPohybyZbozi p
|
||||
INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
|
||||
WHERE p.IDZboSklad=@idSS
|
||||
AND p.IDDoklad<>@idDZ
|
||||
AND p.Mnozstvi>0
|
||||
AND d.DruhPohybuZbo IN (2,4)
|
||||
AND d.Realizovano=0
|
||||
AND d.DatPorizeni<@datPorizeni)
|
||||
, 0)
|
||||
SET @mnozSkl = ISNULL( (SELECT Mnozstvi FROM dbo.TabStavSkladu WHERE ID=@idSS), 0)
|
||||
SET @mnozChybi = @mnozSkl - @mnozPZ - @mnozNevyd
|
||||
IF (@mnozChybi>0)
|
||||
BEGIN
|
||||
SET @idSSPek = NULL
|
||||
IF (@sklPekarna IS NOT NULL)
|
||||
SELECT @idSSPek=ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklPekarna AND IDKmenZbozi=@idKZ
|
||||
SELECT @poslSarze=_Prevod_PosledniSarze, @poslPalList=_Prevod_PosledniPaletList
|
||||
FROM dbo.TabStavSkladu_EXT WHERE ID=@idSSPek
|
||||
|
||||
UPDATE @pol SET Mnozstvi = Mnozstvi + @mnozChybi WHERE IDZboSklad=@idSS
|
||||
IF (@@ROWCOUNT=0)
|
||||
INSERT @pol (IDZboSklad, Mnozstvi, Sarze, PaletList) SELECT @idSS, @mnozChybi, @poslSarze, @poslPalList
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
|
||||
-- pokud mam polozky na doplneni, udelej doklad a realizuj ho
|
||||
IF EXISTS(SELECT 1 FROM @pol)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SET @tranPred=@@TRANCOUNT
|
||||
IF (@tranPred=0)
|
||||
BEGIN TRAN
|
||||
|
||||
SET @datNasklad = (SELECT MIN(d.DatPorizeni) FROM dbo.TabPohybyZbozi p INNER JOIN dbo.TabDokladyZbozi d ON (d.ID=p.IDDoklad)
|
||||
WHERE p.Mnozstvi>0 AND d.DruhPohybuZbo IN (2,4) AND d.Realizovano=0 AND p.IDZboSklad IN (SELECT IDZboSklad FROM @pol))
|
||||
IF (@datNasklad IS NULL)
|
||||
SET @datNasklad = DATEADD(second, -5, @datPorizeni)
|
||||
|
||||
SET @dpz=0
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZNew OUT, @Sklad=@sklad, @DruhPohybu=@dpz, @RadaDokladu=@rDokl, @CisloOrg=0, @DatumPorizeni=@datNasklad
|
||||
IF (@idDZNew IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @menaDZ=Mena, @vstC=VstupniCena, @kurzDZ=Kurz, @kurzE=KurzEuro, @jednM=JednotkaMeny FROM dbo.TabDokladyZbozi WHERE ID=@idDZNew
|
||||
|
||||
DECLARE c CURSOR LOCAL FOR
|
||||
SELECT IDZboSklad, Mnozstvi, ISNULL(Sarze,N''), ISNULL(PaletList,N'') FROM @pol
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idSS, @mnoz, @poslSarze, @poslPalList
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZNew OUT, @IDDoklad=@idDZNew, @DruhPohybu=@dpz, @CisloOrg=0, @IDZboSklad=@idSS, @Mena=@menaDZ,
|
||||
@Kurz=@kurzDZ, @KurzEuro=@kurzE, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0,
|
||||
@VstupniCena=@vstC, @Mnozstvi=@mnoz
|
||||
IF (@idPZNew IS NOT NULL)
|
||||
BEGIN
|
||||
IF (@poslSarze<>N'') OR (@poslPalList<>N'')
|
||||
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=@poslSarze, _Vyroba_PaletList=@poslPalList WHERE ID=@idPZNew
|
||||
END
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZNew
|
||||
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=@idDZ, @AktualizaceSlev=0
|
||||
-- realizace
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZNew, @DatumRealizace=@datNasklad, @Uzivatel=@uziv, @BylaChyba=@bChyba OUT
|
||||
|
||||
END
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
END CATCH
|
||||
END
|
||||
|
||||
|
||||
|
||||
299
_custom/Rootvin/sql/ep_Vyroba_GenOdvodZeMzdy.sql
Normal file
299
_custom/Rootvin/sql/ep_Vyroba_GenOdvodZeMzdy.sql
Normal file
@ -0,0 +1,299 @@
|
||||
-- dbo.ep_Vyroba_GenOdvodZeMzdy
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenOdvodZeMzdy
|
||||
@IDMzdy INT=NULL,
|
||||
@bezVyrCis BIT=1,
|
||||
@radaOdvod NVARCHAR(3)=NULL,
|
||||
@skladOdvod NVARCHAR(30)=NULL,
|
||||
@realizujPrijem BIT=0,
|
||||
@prevodDoVyssiho BIT=0,
|
||||
@kopiiNaTechSklad BIT=0,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
-- konfiguraci lze ovlivnit pres tabulku #HDCTabGenOdvodZeMzdyKonfig
|
||||
-- pozor, v tom pripade musi byt na rade prikazu sklad pro generovani odvodu roven NULL
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@aktDatum DATETIME=GETDATE(),
|
||||
@bChyba BIT,
|
||||
@ret INT,
|
||||
@jeOdvOper BIT=0,
|
||||
@idUziv INT,
|
||||
@IDPrikaz INT,
|
||||
@IDZakazModif INT,
|
||||
@IDPrikazVyssi INT,
|
||||
@doklKV INT,
|
||||
@IDKmen INT,
|
||||
@idPZ INT,
|
||||
@NekontrolMnozOdvedFinal BIT=0,
|
||||
@mnozstvi NUMERIC(19,6)=0,
|
||||
@radaOdvNaSklad NVARCHAR(3)=N'273',
|
||||
@sklProOdvod NVARCHAR(30)=N'261',
|
||||
@radaVPr NVARCHAR(10),
|
||||
@idPrij INT,
|
||||
@idPrijKopie INT,
|
||||
@sklTechnicky NVARCHAR(30),
|
||||
@dpz TINYINT,
|
||||
@dzDatum DATETIME,
|
||||
@dzMena NVARCHAR(3)
|
||||
DECLARE
|
||||
@idDZPomocPrijem INT,
|
||||
@idPZPomocPrijem INT,
|
||||
@idSSPomocPrijem INT,
|
||||
@mnozPrijem NUMERIC(19,6)
|
||||
|
||||
|
||||
|
||||
SELECT @jeOdvOper=pp.Odvadeci
|
||||
FROM dbo.TabPrikazMzdyAZmetky pmz
|
||||
INNER JOIN dbo.TabPrPostup pp ON (pp.IDPrikaz=pmz.IDPrikaz AND pp.Doklad=pmz.DokladPrPostup AND pp.Alt=pmz.AltPrPostup AND pp.IDOdchylkyDo IS NULL)
|
||||
WHERE pmz.ID=@IDMzdy
|
||||
IF (@jeOdvOper=0)
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'dbo.TabUserCfg', N'U') IS NOT NULL
|
||||
SET @idUziv = (SELECT ID FROM dbo.TabUserCfg WHERE LoginName=SUSER_SNAME())
|
||||
SET @idUziv = ISNULL(@idUziv, 0)
|
||||
|
||||
|
||||
-- CREATE TABLE #HDCTabGenOdvodZeMzdyKonfig (RadaOdvodNaSklad NVARCHAR(3), SkladProOdvod NVARCHAR(30), BezVyrobnichCisel BIT=0, IDUziv INT)
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabGenOdvodZeMzdyKonfig', N'U') IS NOT NULL
|
||||
SELECT TOP(1) @radaOdvNaSklad=ISNULL(RadaOdvodNaSklad, @radaOdvNaSklad), @sklProOdvod=ISNULL(SkladProOdvod, @sklProOdvod),
|
||||
@bezVyrCis=ISNULL(BezVyrobnichCisel, @bezVyrCis), @idUziv=ISNULL(IDUziv, @idUziv)
|
||||
FROM #HDCTabGenOdvodZeMzdyKonfig
|
||||
|
||||
|
||||
IF (@sklTechnicky IS NULL)
|
||||
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%'
|
||||
IF (@sklTechnicky IS NULL)
|
||||
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%'
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabOdved
|
||||
CREATE TABLE #TabOdved (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
IDPrikaz INT NOT NULL,
|
||||
IDDilec INT NOT NULL,
|
||||
IDZakazModif INT NULL,
|
||||
IDZakazka INT NULL,
|
||||
maxMnozstvi NUMERIC(19,6) NULL,
|
||||
mnozstvi NUMERIC(19,6) NOT NULL,
|
||||
EvidJednotka NUMERIC(19,6) NOT NULL,
|
||||
Sklad NVARCHAR(30) NULL,
|
||||
KodUmisteni NVARCHAR(15) NULL,
|
||||
IDPohZbo INT NULL,
|
||||
PomVnoreni INT NULL,
|
||||
StavPrikazu TINYINT NULL,
|
||||
PRIMARY KEY(ID)
|
||||
)
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabOdved_IDMzdy
|
||||
CREATE TABLE #TabOdved_IDMzdy (IDPrikaz int, IDMzdy int)
|
||||
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabVyrCisProGenOdv
|
||||
CREATE TABLE #TabVyrCisProGenOdv (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
IDOdvedeni INT NOT NULL,
|
||||
IDPrikaz INT NOT NULL,
|
||||
VyrCislo NVARCHAR(100) NOT NULL,
|
||||
Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
MaxMnozstvi NUMERIC(19,6) NULL,
|
||||
IDVyrCP INT NULL,
|
||||
PRIMARY KEY(ID)
|
||||
)
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPolotovProGenOdv
|
||||
CREATE TABLE #TabPolotovProGenOdv (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
IDOdvedeni INT NOT NULL,
|
||||
IDPrikaz INT NOT NULL,
|
||||
Doklad INT NOT NULL,
|
||||
IDDilec INT NOT NULL,
|
||||
Mnozstvi NUMERIC(19,6) NOT NULL,
|
||||
MaxMnozstvi NUMERIC(19,6) NULL,
|
||||
PRIMARY KEY(ID)
|
||||
)
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabGenPrijem
|
||||
CREATE TABLE #TabGenPrijem (ID INT NOT NULL, PRIMARY KEY(ID))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky WHERE GenerovanoOdvadeni=1 AND ID=@IDMzdy)
|
||||
RETURN
|
||||
|
||||
|
||||
SELECT @mnozstvi=kusy_odv FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanoOdvadeni=1 WHERE ID=@IDMzdy
|
||||
IF (@@ROWCOUNT=0) RETURN
|
||||
IF @mnozstvi<=0.0 RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT @IDPrikaz=IDPrikaz FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
SELECT @radaVPr=Rada, @IDKmen=IDTabKmen, @IDZakazModif=IDZakazModif, @IDPrikazVyssi=IDPrikazVyssi
|
||||
FROM dbo.TabPrikaz WHERE ID=@IDPrikaz
|
||||
|
||||
-- nastav sklad pro odvod podle karty
|
||||
IF (@sklProOdvod IS NULL)
|
||||
SELECT @sklProOdvod=VychoziSklad FROM dbo.TabParKmZ WHERE IDKmenZbozi=@IDKmen
|
||||
|
||||
-- pripadne zkus podle rady prikazu
|
||||
SELECT @radaOdvNaSklad=CASE WHEN RadaDokl_OdvedeniPrikazu IS NULL THEN @radaOdvNaSklad ELSE RadaDokl_OdvedeniPrikazu END,
|
||||
@sklProOdvod=CASE WHEN PrijemVyrDil_SkladProGenHlavDZ IS NULL THEN @sklProOdvod ELSE PrijemVyrDil_SkladProGenHlavDZ END
|
||||
FROM dbo.TabRadyPrikazu WHERE Rada=@radaVPr
|
||||
|
||||
|
||||
IF (@radaOdvod IS NOT NULL)
|
||||
SET @radaOdvNaSklad=@radaOdvod
|
||||
IF (@skladOdvod IS NOT NULL)
|
||||
SET @sklProOdvod = @skladOdvod
|
||||
|
||||
|
||||
UPDATE #tabOdved SET mnozstvi=CASE WHEN @NekontrolMnozOdvedFinal=0 AND mnozstvi+@mnozstvi>maxMnozstvi THEN maxMnozstvi ELSE mnozstvi+@mnozstvi END WHERE IDPrikaz=@IDPrikaz
|
||||
IF (@@ROWCOUNT=0)
|
||||
INSERT INTO #tabOdved (IDPrikaz, IDDilec, IDZakazModif, IDZakazka, maxMnozstvi, EvidJednotka, mnozstvi, sklad, StavPrikazu)
|
||||
SELECT P.ID,
|
||||
CASE WHEN ISNULL(ParKZ.OdvadetNaZaklVari,0)=0 THEN P.IDTabKmen ELSE KZ.IDKusovnik END,
|
||||
ZMD.IDZakazModif,
|
||||
P.IDZakazka,
|
||||
CASE WHEN @NekontrolMnozOdvedFinal=1 THEN NULL ELSE P.kusy_zive END,
|
||||
P.EvidJednotka,
|
||||
CASE WHEN @NekontrolMnozOdvedFinal=0 AND @mnozstvi>P.kusy_zive THEN P.kusy_zive ELSE @mnozstvi END,
|
||||
P.sklad,
|
||||
P.StavPrikazu
|
||||
FROM dbo.TabPrikaz P
|
||||
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=P.IDTabKmen)
|
||||
LEFT OUTER JOIN dbo.TabZakazModifDilce ZMD ON (ZMD.IDZakazModif=P.IDZakazModif AND ZMD.IDKmenZbozi=KZ.ID)
|
||||
LEFT OUTER JOIN dbo.TabParKmZ ParKZ ON (ParKZ.IDKmenZbozi=P.IDTabKmen)
|
||||
WHERE P.ID=@IDPrikaz AND
|
||||
(CASE WHEN @NekontrolMnozOdvedFinal=0 AND @mnozstvi>P.kusy_zive THEN P.kusy_zive ELSE @mnozstvi END)>0
|
||||
INSERT INTO #TabOdved_IDMzdy (IDPrikaz, IDMzdy) VALUES (@IDPrikaz, @IDMzdy)
|
||||
|
||||
|
||||
|
||||
UPDATE O SET maxMnozstvi=CASE WHEN RP.NekontrolMnozOdvedFinal=1 THEN NULL ELSE P.kusy_zive END
|
||||
FROM #tabOdved O
|
||||
INNER JOIN dbo.TabPrikaz P ON (P.ID=O.IDPrikaz)
|
||||
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
||||
|
||||
UPDATE #tabOdved SET mnozstvi=maxMnozstvi WHERE maxMnozstvi IS NOT NULL AND mnozstvi>maxMnozstvi
|
||||
DELETE #TabVyrCisProGenOdv WHERE IDOdvedeni IN (SELECT O2.ID FROM #tabOdved O2 WHERE O2.Mnozstvi<=0.0)
|
||||
DELETE #TabPolotovProGenOdv WHERE IDOdvedeni IN (SELECT O2.ID FROM #tabOdved O2 WHERE O2.Mnozstvi<=0.0)
|
||||
DELETE #tabOdved WHERE Mnozstvi<=0.0
|
||||
|
||||
|
||||
IF (@sklProOdvod IS NOT NULL)
|
||||
UPDATE #tabOdved SET Sklad=@sklProOdvod
|
||||
|
||||
|
||||
|
||||
EXEC dbo.hp_PrednabidniTabVyrCisProGenOdv @ProIDPrikaz=NULL
|
||||
IF (@bezVyrCis=1)
|
||||
DELETE #TabVyrCisProGenOdv
|
||||
|
||||
|
||||
IF (@prevodDoVyssiho=0)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC @ret=dbo.hp_OdvedeniPrikazu @RadaDokladu=@radaOdvNaSklad, @IDObdobi=NULL, @KonecneOdvedeni=0, @DatPorizeni=NULL, @SekejZakazky=1, @SekejPrikazy=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = 'Chyba pri odvadeni: ' + ERROR_MESSAGE()
|
||||
END CATCH
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF (@IDPrikazVyssi IS NOT NULL)
|
||||
BEGIN
|
||||
IF OBJECT_ID(N'tempdb..#TabOdved_IDMzdy', N'U') IS NOT NULL
|
||||
DELETE FROM #TabOdved_IDMzdy
|
||||
INSERT #TabOdved_IDMzdy (IDPrikaz, IDMzdy) SELECT @idPrikaz, @idMzdy
|
||||
|
||||
SET @doklKV = (SELECT ID FROM dbo.TabPrKVazby WHERE IDPrikaz=@IDPrikazVyssi AND nizsi=@IDKmen AND IDOdchylkyDo IS NULL)
|
||||
|
||||
EXEC @idPZ=dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDatum, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idPrikaz, @IDPrikazCil=@IDPrikazVyssi,
|
||||
@Doklad=@doklKV, @IDDilec=@IDKmen, @mnozstvi=@mnozstvi, @IDOdvedeniVC=0, @IDZakazModif=@IDZakazModif
|
||||
IF OBJECT_ID(N'tempdb..#TabGenPrijem', N'U') IS NOT NULL
|
||||
DELETE FROM #TabGenPrijem
|
||||
END -- @IDPrikazVyssi IS NOT NULL
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE prij CURSOR LOCAL FOR
|
||||
SELECT ID FROM #TabGenPrijem
|
||||
OPEN prij
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM prij INTO @idPrij
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
-- kopie na technologicky sklad, aby se mohly delat vydejky
|
||||
SET @idPrijKopie = NULL
|
||||
IF (@kopiiNaTechSklad=1) AND (@sklTechnicky IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @dpz=DruhPohybuZbo, @dzDatum=DatPorizeni, @dzMena=Mena FROM dbo.TabPohybyZbozi WHERE ID=@idPrij
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idPrijKopie OUT, @Sklad=@sklTechnicky, @DruhPohybu=@dpz, @RadaDokladu=@radaOdvNaSklad,
|
||||
@Mena=@dzMena, @CisloOrg=0, @DatumPorizeni=@dzDatum
|
||||
IF (@idPrijKopie IS NOT NULL)
|
||||
EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idPrijKopie, @IDDokladSrc=@idPrij, @CisloOrgCil=0, @MUCil=NULL, @MenaCil=NULL,
|
||||
@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=0
|
||||
END -- kopii na TechSklad
|
||||
|
||||
IF (@realizujPrijem=1)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
IF (@idPrijKopie IS NOT NULL)
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idPrijKopie, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
END CATCH
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE prij
|
||||
DEALLOCATE prij
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- cisteni
|
||||
DROP TABLE IF EXISTS #TabGenPrijem
|
||||
DROP TABLE IF EXISTS #TabPolotovProGenOdv
|
||||
DROP TABLE IF EXISTS #TabVyrCisProGenOdv
|
||||
DROP TABLE IF EXISTS #TabOdved_IDMzdy
|
||||
DROP TABLE IF EXISTS #TabOdved
|
||||
|
||||
DROP TABLE IF EXISTS #HDCTabGenOdvodZeMzdyKonfig
|
||||
503
_custom/Rootvin/sql/ep_Vyroba_GenVydejZeMzdy.sql
Normal file
503
_custom/Rootvin/sql/ep_Vyroba_GenVydejZeMzdy.sql
Normal file
@ -0,0 +1,503 @@
|
||||
-- dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
@IDMzdy INT=NULL,
|
||||
@IDDoklad INT=NULL,
|
||||
@spotrebaTesto BIT=0,
|
||||
@spotreba702 BIT=0,
|
||||
@smazVydejTesto BIT=0,
|
||||
@errMsg NVARCHAR(500)=N'' OUT,
|
||||
@extTab NVARCHAR(50)=NULL,
|
||||
@vydejAll BIT=0,
|
||||
@realizujVydej BIT=0,
|
||||
@denSmena NVARCHAR(15)=NULL,
|
||||
@sklVydej NVARCHAR(30)=N'261',
|
||||
@radaVydej NVARCHAR(3)=N'223',
|
||||
@respExistDokl BIT=1
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
-- @extTab - tabulka, do ktere budou vraceny pohyby vydejky @extTab (ID INT NOT NULL, IDPohZbo INT NOT NULL)
|
||||
-- @vydejAll - bude vydano vse, nejen kde jde splnena podminka TabPrKVazby - dbo.hf_GetPrPDokladForPrKV(PrKV.ID)=@PrP_Doklad
|
||||
-- pokud existuje objekt #HDCTabPrKVazbyGenPredna, jedu vydej podle nej
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@bChyba BIT,
|
||||
@opakReal BIT,
|
||||
@retVal INT=0,
|
||||
@errID int,
|
||||
@sql NVARCHAR(1000),
|
||||
@idUziv INT=0,
|
||||
@idZam INT,
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@szDilec NVARCHAR(3)
|
||||
DECLARE
|
||||
@idDZPomocPrij INT,
|
||||
@radaPrijem NVARCHAR(3)='292',
|
||||
@menaPrij NVARCHAR(3),
|
||||
@kurzPrij NUMERIC(19,6),
|
||||
@kurzPrijE NUMERIC(19,6),
|
||||
@vstCPrij TINYINT,
|
||||
@jednMPrij INT,
|
||||
@idPZPomocPrij INT,
|
||||
@idSSPomocPrij INT,
|
||||
@mnozSklad NUMERIC(19,6),
|
||||
@mnozVydej NUMERIC(19,6),
|
||||
@mnozPrij NUMERIC(19,6)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'dbo.TabUserCfg', N'U') IS NOT NULL
|
||||
SET @idUziv = (SELECT ID FROM dbo.TabUserCfg WHERE LoginName=SUSER_SNAME())
|
||||
SET @idUziv = ISNULL(@idUziv, 0)
|
||||
|
||||
|
||||
SET @denSmena = ISNULL(@denSmena, N'')
|
||||
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<4E><45>%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna'
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky)
|
||||
BEGIN
|
||||
SELECT @retVal=MAX(ID) FROM dbo.TabPrikazMzdyAZmetky
|
||||
DBCC CHECKIDENT(TabPrikazMzdyAZmetky, RESEED, @retVal)
|
||||
END
|
||||
ELSE
|
||||
DBCC CHECKIDENT(TabPrikazMzdyAZmetky, RESEED, 1)
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen
|
||||
CREATE TABLE #TabPrKVazbyGen (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
Generuj BIT NOT NULL DEFAULT 1,
|
||||
PoKorekciDat BIT NOT NULL DEFAULT 0,
|
||||
IDPrKV INT NOT NULL,
|
||||
Doklad INT NOT NULL,
|
||||
IDPrikaz INT NOT NULL,
|
||||
Prednastaveno BIT NOT NULL DEFAULT 1,
|
||||
Sklad NVARCHAR(30) NULL,
|
||||
VyrStredisko NVARCHAR(30) NULL,
|
||||
IDPracoviste INT NULL,
|
||||
mnoz_zad NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Mnoz_nepotrebne NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Mnoz_skut_realizovane NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Cena_real NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Mnoz_odv NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Cena_odv NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
MnozstviMax NUMERIC(19,6) NULL,
|
||||
PuvodniMnozstviPoz NUMERIC(19,6) NULL,
|
||||
MnozstviPoz NUMERIC(19,6) NOT NULL,
|
||||
PomMnozPoz NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
IDPohZbo INT NULL,
|
||||
PoznamkaNaDoklad NVARCHAR(max) NULL,
|
||||
priorita INT NOT NULL DEFAULT 0,
|
||||
vyssi INT NOT NULL,
|
||||
nizsi INT NOT NULL,
|
||||
DavkaTPV NUMERIC(19,6) NOT NULL DEFAULT 1,
|
||||
pozice NVARCHAR(100) NULL DEFAULT N'',
|
||||
Operace NCHAR(4) NULL,
|
||||
FixniMnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 1,
|
||||
ProcZtrat NUMERIC(5,2) NOT NULL DEFAULT 0,
|
||||
mnozstviSeZtratou NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Prirez NUMERIC(19,6) NOT NULL DEFAULT 1,
|
||||
Poznamka NTEXT NULL,
|
||||
pom_pomer_A NUMERIC(19,6) NULL,
|
||||
pom_pomer_B NUMERIC(19,6) NULL,
|
||||
Dodavatel INT NULL,
|
||||
MJ NVARCHAR(10) NULL,
|
||||
mnoz_pozadovane AS (CONVERT(numeric(19,6),(CASE WHEN [mnoz_nepotrebne]>[mnoz_zad] THEN 0.0 ELSE [mnoz_zad] - [mnoz_nepotrebne] END))),
|
||||
PRIMARY KEY (ID)
|
||||
)
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen_IDMzdy
|
||||
CREATE TABLE #TabPrKVazbyGen_IDMzdy (IDPrikaz int, Doklad int, IDMzdy int)
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGenVC
|
||||
CREATE TABLE #TabPrKVazbyGenVC (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
IDPolozky INT NOT NULL,
|
||||
VyrCislo NVARCHAR(100) NOT NULL,
|
||||
Mnozstvi NUMERIC(19,6) NOT NULL,
|
||||
Sklad NVARCHAR(30) NULL,
|
||||
IDKmenZbozi INT NULL,
|
||||
IDVyrCP INT NULL,
|
||||
PRIMARY KEY(ID)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE
|
||||
@RespektovatExistEvid bit,
|
||||
@idDilec INT,
|
||||
@IDPrikaz int=NULL,
|
||||
@IDPrPostup INT=NULL,
|
||||
@mnozstviPomer_A numeric(19,6),
|
||||
@mnozstviPomer_B numeric(19,6),
|
||||
@IDPrKV int,
|
||||
@mnoz_zad numeric(19,6),
|
||||
@PrKVDoklad int,
|
||||
@PocetVazeb int,
|
||||
@PrP_Doklad int
|
||||
|
||||
|
||||
SET @RespektovatExistEvid = @respExistDokl
|
||||
|
||||
|
||||
SELECT @errID=NULL, @errMsg='', @PocetVazeb=0
|
||||
SELECT @IDPrikaz=MZ.IDPrikaz, @mnozstviPomer_A=(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr), @mnozstviPomer_B=PrP.kusy_zad, @PrP_Doklad=PrP.Doklad,
|
||||
@IDPrPostup=PrP.ID, @szDilec=k.SkupZbo
|
||||
FROM dbo.TabPrikazMzdyAZmetky MZ
|
||||
INNER JOIN dbo.TabPrPostup PrP ON (PrP.IDPrikaz=MZ.IDPrikaz AND PrP.Doklad=MZ.DokladPrPostup AND PrP.Alt=MZ.AltPrPostup AND PrP.IDOdchylkyDo IS NULL)
|
||||
INNER JOIN dbo.TabPrikaz vp ON (vp.ID=MZ.IDPrikaz)
|
||||
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=vp.IDTabKmen)
|
||||
WHERE MZ.ID=@IDMzdy
|
||||
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanaMatVydejka=1 WHERE ID=@IDMzdy
|
||||
-- pokud uz byla generovana vydejka, skonci
|
||||
IF (@@ROWCOUNT=0)
|
||||
RETURN 0
|
||||
|
||||
|
||||
SELECT @idZam=Zamestnanec FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
SELECT @idDilec = IDTabKmen FROM dbo.TabPrikaz WHERE ID=@IDPrikaz
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGenPredna', N'U') IS NULL
|
||||
BEGIN
|
||||
IF (@mnozstviPomer_A<=0.0)
|
||||
RETURN -1
|
||||
|
||||
IF (@vydejAll=1)
|
||||
DECLARE crPom1334 CURSOR FAST_FORWARD LOCAL FOR
|
||||
SELECT PrKV.ID, PrKV.Mnoz_zad, PrKV.Doklad
|
||||
FROM dbo.TabPrKVazby PrKV
|
||||
INNER JOIN dbo.TabPrikaz P ON (P.ID=PrKV.IDPrikaz)
|
||||
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
||||
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
||||
WHERE P.StavPrikazu IN (30,50) AND (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0) AND PrKV.predzpracovano=0 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND
|
||||
PrKV.IDPrikaz=@IDPrikaz AND PrKV.prednastaveno=1 AND PrKV.IDOdchylkyDo IS NULL
|
||||
ELSE
|
||||
DECLARE crPom1334 CURSOR FAST_FORWARD LOCAL FOR
|
||||
SELECT PrKV.ID, PrKV.Mnoz_zad, PrKV.Doklad
|
||||
FROM dbo.TabPrKVazby PrKV
|
||||
INNER JOIN dbo.TabPrikaz P ON (P.ID=PrKV.IDPrikaz)
|
||||
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
||||
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
||||
WHERE P.StavPrikazu IN (30,50) AND (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0) AND PrKV.predzpracovano=0 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND
|
||||
PrKV.IDPrikaz=@IDPrikaz AND dbo.hf_GetPrPDokladForPrKV(PrKV.ID)=@PrP_Doklad AND PrKV.prednastaveno=1 AND PrKV.IDOdchylkyDo IS NULL
|
||||
OPEN crPom1334
|
||||
FETCH NEXT FROM crPom1334 INTO @IDPrKV, @Mnoz_zad, @PrKVDoklad
|
||||
WHILE @@fetch_status=0
|
||||
BEGIN
|
||||
UPDATE #TabPrKVazbyGen SET MnozstviPoz=@mnoz_zad * (pom_pomer_A+@mnozstviPomer_A)/pom_pomer_B, pom_pomer_A=pom_pomer_A+@mnozstviPomer_A
|
||||
WHERE IDPrKV=@IDPrKV
|
||||
IF (@@ROWCOUNT=0)
|
||||
BEGIN
|
||||
IF @RespektovatExistEvid=1
|
||||
SELECT @mnozstviPomer_A=SUM(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr)
|
||||
FROM dbo.TabPrikazMzdyAZmetky MZ WHERE MZ.IDPrikaz=@IDPrikaz AND MZ.DokladPrPostup=@PrP_Doklad AND MZ.GenerovanaMatVydejka=1
|
||||
INSERT INTO #TabPrKVazbyGen (IDPrKV, MnozstviPoz, pom_pomer_A, pom_pomer_B, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad,
|
||||
Mnoz_nepotrebne, Mnoz_skut_realizovane, Cena_real, Mnoz_odv, Cena_odv, priorita, vyssi, nizsi, DavkaTPV, pozice, Operace, FixniMnozstvi,
|
||||
mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka)
|
||||
SELECT PrKV.ID,
|
||||
PrKV.mnoz_zad * @mnozstviPomer_A/@mnozstviPomer_B,
|
||||
@mnozstviPomer_A, @mnozstviPomer_B,
|
||||
PrKV.Doklad, PrKV.IDPrikaz, PrKV.Prednastaveno, PrKV.Sklad, PrKV.VyrStredisko, PrKV.IDPracoviste, PrKV.mnoz_zad, PrKV.Mnoz_nepotrebne,
|
||||
PrKV.Mnoz_skut_realizovane, PrKV.Cena_real, PrKV.Mnoz_odv, PrKV.Cena_odv, PrKV.priorita, PrKV.vyssi, PrKV.nizsi, PrKV.DavkaTPV, PrKV.pozice, PrKV.Operace, PrKV.FixniMnozstvi,
|
||||
PrKV.mnozstvi, PrKV.ProcZtrat, PrKV.mnozstviSeZtratou, PrKV.Prirez, PrKV.Poznamka
|
||||
FROM dbo.TabPrKVazby PrKV
|
||||
WHERE PrKV.ID=@IDPrKV AND PrKV.uzavreno=0
|
||||
END
|
||||
INSERT INTO #TabPrKVazbyGen_IDMzdy (IDPrikaz, Doklad, IDMzdy) VALUES (@IDPrikaz, @PrKVDoklad, @IDMzdy)
|
||||
SET @PocetVazeb=@PocetVazeb + 1
|
||||
FETCH NEXT FROM crPom1334 INTO @IDPrKV, @Mnoz_zad, @PrKVDoklad
|
||||
END
|
||||
CLOSE crPom1334
|
||||
DEALLOCATE crPom1334
|
||||
|
||||
IF (@PocetVazeb<=0)
|
||||
RETURN -2
|
||||
|
||||
END
|
||||
ELSE
|
||||
BEGIN -- pokud mam seznam na co vygenerovat vydejku, jedu podle nej
|
||||
DELETE FROM #TabPrKVazbyGen
|
||||
INSERT INTO #TabPrKVazbyGen
|
||||
SELECT Generuj, PoKorekciDat, IDPrKV, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad, Mnoz_nepotrebne, Mnoz_skut_realizovane,
|
||||
Cena_real, Mnoz_odv, Cena_odv, MnozstviMax, PuvodniMnozstviPoz, MnozstviPoz, PomMnozPoz, IDPohZbo, PoznamkaNaDoklad, priorita, vyssi, nizsi, DavkaTPV,
|
||||
pozice, Operace, FixniMnozstvi, mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka, pom_pomer_A, pom_pomer_B, Dodavatel
|
||||
FROM #HDCTabPrKVazbyGenPredna
|
||||
DROP TABLE #HDCTabPrKVazbyGenPredna
|
||||
END
|
||||
|
||||
-- preddefinovana mzda pro provazani
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGen_IDMzdyPredna', N'U') IS NOT NULL
|
||||
BEGIN
|
||||
DELETE FROM #TabPrKVazbyGen_IDMzdy
|
||||
INSERT INTO #TabPrKVazbyGen_IDMzdy
|
||||
SELECT IDPrikaz, Doklad, IDMzdy FROM #HDCTabPrKVazbyGen_IDMzdyPredna
|
||||
DROP TABLE #HDCTabPrKVazbyGen_IDMzdyPredna
|
||||
END
|
||||
|
||||
|
||||
|
||||
EXEC dbo.hp_AktualizaceTabPrKVazbyGenVC @Vratka=0
|
||||
UPDATE #TabPrKVazbyGen SET Generuj=1, Sklad=@sklVydej
|
||||
|
||||
|
||||
IF (@smazVydejTesto=1)
|
||||
BEGIN
|
||||
-- vazba je primo na kartu testa
|
||||
IF (@szDilec<>N'701') AND EXISTS (SELECT 1 FROM #TabPrKVazbyGen WHERE IDPrikaz=@IDPrikaz AND nizsi IN (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701'))
|
||||
DELETE FROM #TabPrKVazbyGen WHERE IDPrikaz=@IDPrikaz AND nizsi IN (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701')
|
||||
|
||||
-- vazba je pres montaz SK702
|
||||
IF (@szDilec<>N'701') AND EXISTS (SELECT 1 FROM #TabPrKVazbyGen WHERE IDPrikaz=@IDPrikaz AND nizsi IN (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'702'))
|
||||
DELETE FROM #TabPrKVazbyGen WHERE IDPrikaz=@IDPrikaz AND nizsi IN (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701')
|
||||
END
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabGenRezVyd
|
||||
CREATE TABLE #TabGenRezVyd (ID int NOT NULL, PRIMARY KEY (ID))
|
||||
|
||||
|
||||
BEGIN TRY
|
||||
EXEC @retVal=dbo.hp_generujRezVyd @RadaDokladu=@radaVydej, @DruhPohybuZbo=NULL, @IDObdobi=0, @DatPorizeni=NULL, @SekejZakazky=0, @SekejPrikazy=0,
|
||||
@IDExistDoklad=@IDDoklad, @SekejOperace=0
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = 'Chyba generovani vydeje: ' + ERROR_MESSAGE()
|
||||
END CATCH
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE
|
||||
@idVyd INT,
|
||||
@idKZ INT,
|
||||
@idPZ INT,
|
||||
@idSS INT,
|
||||
@poslSarze NVARCHAR(100),
|
||||
@errMsg702 NVARCHAR(500),
|
||||
@idKZ702 INT,
|
||||
@idPrikaz702 INT,
|
||||
@doklKV702 INT,
|
||||
@doklOp702 INT,
|
||||
@alt702 NCHAR(1),
|
||||
@mnoz702 NUMERIC(19,6),
|
||||
@idMzda702 INT,
|
||||
@aktDat DATETIME
|
||||
|
||||
SET @aktDat = GETDATE()
|
||||
|
||||
|
||||
-- potrebuju si vyrobit tisicikus ? musim pred realizaci vydejky na vyssi prikaz, udelam odvedenim prikazu na vyssi
|
||||
/*
|
||||
IF (@spotreba702=1)
|
||||
BEGIN
|
||||
DECLARE t CURSOR LOCAL FOR
|
||||
SELECT k.ID, 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 k.SkupZbo=N'702' AND k.Blokovano=0
|
||||
OPEN t
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM t INTO @idKZ702, @mnoz702
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @idPrikaz702 = (SELECT ID FROM dbo.TabPrikaz WHERE IDPrikazVyssi=@IDPrikaz AND IDTabKmen=@idKZ702 AND StavPrikazu=30)
|
||||
IF (@idPrikaz702 IS NOT NULL)
|
||||
BEGIN
|
||||
-- evidence operace peceni
|
||||
SELECT TOP(1) @doklOp702=Doklad, @alt702=Alt FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@idPrikaz702
|
||||
EXEC @idMzda702=dbo.hp_ZaevidujOperaci @IDPrikaz=@idPrikaz702, @Doklad=@doklOp702, @Alt=@alt702, @Datum=NULL, @Stav=1, @IDZam=@idZam, @Kusy_odv=@mnoz702
|
||||
SET @idMzda702 = ISNULL(@idMzda702, 0)
|
||||
IF (@idMzda702>0)
|
||||
BEGIN
|
||||
-- vydejku materialu nedelej, testo bylo uz odepsano svym prevedenim na vyssi
|
||||
-- EXEC dbo.ep_Vyroba_GenVydejZeMzdy @IDMzdy=@idMzda702, @spotrebaTesto=1, @realizujVydej=1, @errMsg=@errMsg702 OUT
|
||||
|
||||
EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda702, @realizujPrijem=1, @errMsg=@errMsg702 OUT
|
||||
END
|
||||
-- odvedeni na vyssi prikaz
|
||||
SELECT TOP(1) @doklKV702=Doklad FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDPrikaz AND nizsi=@idKZ702
|
||||
EXEC dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDat, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idPrikaz702, @IDPrikazCil=@IDPrikaz,
|
||||
@Doklad=@doklKV702, @IDDilec=@idKZ702, @mnozstvi=@mnoz702, @IDOdvedeniVC=0
|
||||
END
|
||||
END
|
||||
CLOSE t
|
||||
DEALLOCATE t
|
||||
END
|
||||
*/
|
||||
|
||||
|
||||
DECLARE vyd CURSOR LOCAL FOR
|
||||
SELECT ID FROM #TabGenRezVyd
|
||||
OPEN vyd
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM vyd INTO @idVyd
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
IF (@denSmena<>N'')
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idVyd)
|
||||
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idVyd)
|
||||
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_DenSmena=@denSmena WHERE ID=@idVyd
|
||||
END
|
||||
|
||||
DECLARE pV CURSOR LOCAL FOR
|
||||
SELECT p.ID, k.ID
|
||||
FROM dbo.TabPohybyZbozi p
|
||||
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
||||
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
|
||||
WHERE p.IDDoklad=@idVyd AND k.Sluzba=0
|
||||
OPEN pV
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM pV INTO @idPZ, @idKZ
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklPekarna)
|
||||
SET @poslSarze = ISNULL( (SELECT _Prevod_PosledniSarze FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS), N'')
|
||||
IF (@poslSarze<>N'')
|
||||
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=@poslSarze WHERE ID=@idPZ
|
||||
END
|
||||
END
|
||||
CLOSE pV
|
||||
DEALLOCATE pV
|
||||
|
||||
|
||||
|
||||
-- begin: prijemka nedostatecneho materialu
|
||||
SET @idDZPomocPrij=NULL
|
||||
DECLARE pomPrij CURSOR LOCAL FOR
|
||||
SELECT p.IDZboSklad, p.Mnozstvi
|
||||
FROM dbo.TabPohybyZbozi p
|
||||
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
||||
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
|
||||
WHERE p.IDDoklad=@idVyd
|
||||
AND k.Material=1 AND k.Sluzba=0
|
||||
OPEN pomPrij
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM pomPrij INTO @idSSPomocPrij, @mnozVydej
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozSklad = ISNULL( (SELECT Mnozstvi+MnozstviKPrijmu-MnozstviKVydeji FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
|
||||
IF (@mnozVydej>@mnozSklad)
|
||||
BEGIN
|
||||
SET @mnozPrij = @mnozVydej - @mnozSklad
|
||||
IF (@idDZPomocPrij IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZPomocPrij OUT, @Sklad=@sklTechnolog, @DruhPohybu=0, @RadaDokladu=@radaPrijem, @CisloOrg=0
|
||||
SELECT @menaPrij=Mena, @kurzPrij=Kurz, @kurzPrijE=KurzEuro, @jednMPrij=JednotkaMeny, @vstCPrij=VstupniCena
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@idDZPomocPrij
|
||||
END
|
||||
IF (@idDZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZPomocPrij OUT, @IDDoklad=@idDZPomocPrij, @DruhPohybu=0, @CisloOrg=0, @IDZboSklad=@idSSPomocPrij,
|
||||
@Mena=@menaPrij, @Kurz=@kurzPrij, @KurzEuro=@kurzPrijE, @JednotkaMeny=@jednMPrij, @SazbaSD=NULL, @SazbaDPH=NULL,
|
||||
@ZakazanoDPH=NULL, @VstupniCena=@vstCPrij, @Mnozstvi=@mnozPrij, @PovolitDuplicitu=1
|
||||
END
|
||||
END
|
||||
END
|
||||
CLOSE pomPrij
|
||||
DEALLOCATE pomPrij
|
||||
IF (@idDZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZPomocPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
END CATCH
|
||||
END
|
||||
-- end: prijemka nedostatecneho materialu
|
||||
|
||||
|
||||
-- realizace vydejky
|
||||
IF (@realizujVydej=1)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @opakReal=0
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
IF (CHARINDEX(N'71553', @errMsg)>0)
|
||||
SET @opakReal=1
|
||||
IF (@opakReal=0)
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace v<>dejky p<><70>kazu: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
|
||||
IF (@opakReal=1)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT
|
||||
IF (@errMsg=N'')
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
ELSE
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba korekce naskladneni pro vydejku: ' + @errMsg, @idVyd
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba opakovane realizace v<>dejky p<><70>kazu: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE vyd
|
||||
DEALLOCATE vyd
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@extTab IS NOT NULL) AND EXISTS(SELECT 1 FROM #TabPrKVazbyGen WHERE IDPohZbo IS NOT NULL)
|
||||
IF OBJECT_ID(@extTab, N'U') IS NOT NULL
|
||||
BEGIN
|
||||
SET @sql = N'DELETE FROM ' + @extTab
|
||||
EXECUTE sp_executesql @sql
|
||||
SET @sql = N'INSERT ' + @extTab + N' (ID, IDPohZbo) SELECT ID, IDPohZbo FROM #TabPrKVazbyGen WHERE IDPohZbo IS NOT NULL'
|
||||
EXECUTE sp_executesql @sql
|
||||
END
|
||||
|
||||
|
||||
-- uklid
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen
|
||||
DROP TABLE IF EXISTS #TabGenRezVyd
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen_IDMzdy
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGenVC
|
||||
|
||||
|
||||
75
_custom/Rootvin/sql/ep_Vyroba_InsertEvidRozpracOper.sql
Normal file
75
_custom/Rootvin/sql/ep_Vyroba_InsertEvidRozpracOper.sql
Normal file
@ -0,0 +1,75 @@
|
||||
-- dbo.ep_Vyroba_InsertEvidRozpracOper
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_InsertEvidRozpracOper
|
||||
@IDZamestnance INT=NULL,
|
||||
@IDPracoviste INT=NULL,
|
||||
@IDStroje INT=NULL,
|
||||
@CasZahajeni DATETIME=NULL,
|
||||
@ErrMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@tranPred INT
|
||||
|
||||
DECLARE
|
||||
@idEROp INT=NULL
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabEvidRozpracOper)
|
||||
BEGIN
|
||||
SELECT @idEROp=MAX(ID) FROM dbo.TabEvidRozpracOper
|
||||
DBCC CHECKIDENT(TabEvidRozpracOper, RESEED, @idEROp)
|
||||
END
|
||||
ELSE
|
||||
DBCC CHECKIDENT(TabEvidRozpracOper, RESEED, 1)
|
||||
SET @idEROp=NULL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@IDPracoviste IS NULL) AND (@IDStroje IS NOT NULL)
|
||||
SELECT @IDPracoviste=IDPrac FROM dbo.TabCisStroju WHERE ID=@IDStroje
|
||||
|
||||
IF (@IDZamestnance IS NULL) OR (@IDPracoviste IS NULL)
|
||||
BEGIN
|
||||
SET @ErrMsg = N'Neni zadan zamestnanec nebo pracoviste'
|
||||
RETURN NULL
|
||||
END
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#TabExtKom', N'U') IS NULL
|
||||
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) NOT NULL DEFAULT N'')
|
||||
|
||||
|
||||
|
||||
SET @CasZahajeni = ISNULL(@CasZahajeni, GETDATE())
|
||||
|
||||
|
||||
BEGIN TRY
|
||||
SET @tranPred = @@TRANCOUNT
|
||||
IF (@tranPred=0) BEGIN TRAN
|
||||
|
||||
INSERT dbo.TabEvidRozpracOper (IDZamestnance, CasZahajeni, IDPracoviste, IDStroje)
|
||||
SELECT @IDZamestnance, @CasZahajeni, @IDPracoviste, @IDStroje
|
||||
SET @idEROp = SCOPE_IDENTITY()
|
||||
|
||||
-- slepice
|
||||
IF OBJECT_ID(N'dbo.ep_Vyroba_InsertEvidRozpracOper_Po', N'P') IS NOT NULL
|
||||
EXEC dbo.ep_Vyroba_InsertEvidRozpracOper_Po @idEROp
|
||||
|
||||
|
||||
IF (@tranPred=0) ANd (@@TRANCOUNT>0)
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF (@tranPred=0) ANd (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
SET @ErrMsg = ERROR_MESSAGE()
|
||||
INSERT #TabExtKom (Typ, Poznamka) SELECT 3, @ErrMsg
|
||||
SET @idEROp = NULL
|
||||
END CATCH
|
||||
|
||||
RETURN @idEROp
|
||||
108
_custom/Rootvin/sql/ep_Vyroba_InsertEvidRozpracOperPol.sql
Normal file
108
_custom/Rootvin/sql/ep_Vyroba_InsertEvidRozpracOperPol.sql
Normal file
@ -0,0 +1,108 @@
|
||||
-- dbo.ep_Vyroba_InsertEvidRozpracOperPol
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_InsertEvidRozpracOperPol
|
||||
@IdEvidRozpOper INT,
|
||||
@IdPrikaz INT,
|
||||
@doklPrPost INT,
|
||||
@altPrPost NCHAR(1),
|
||||
@IDPaleta INT=NULL,
|
||||
@IdVyrCis INT=NULL,
|
||||
@cisloPL NVARCHAR(50),
|
||||
@sarze NVARCHAR(30),
|
||||
@mnozOdv NUMERIC(19,6)=0,
|
||||
@skCas NUMERIC(19,6)=0,
|
||||
@skCasT TINYINT=1,
|
||||
@skCasObsl NUMERIC(19,6)=0,
|
||||
@skCasObslT TINYINT=1
|
||||
AS
|
||||
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu pluginu PluginHDCRTN !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@errMsg NVARCHAR(500),
|
||||
@tranPred INT
|
||||
|
||||
DECLARE
|
||||
@idEROpPol INT=NULL,
|
||||
@idTemp INT=NULL,
|
||||
@mnEROp NUMERIC(19,6),
|
||||
@sumMnEROp NUMERIC(19,6)
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'#TabExtKom', N'U') IS NULL
|
||||
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) NOT NULL DEFAULT N'')
|
||||
|
||||
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabEvidRozpracOperR)
|
||||
BEGIN
|
||||
SELECT @idEROpPol=MAX(ID) FROM dbo.TabEvidRozpracOperR
|
||||
DBCC CHECKIDENT(TabEvidRozpracOperR, RESEED, @idEROpPol)
|
||||
END
|
||||
ELSE
|
||||
DBCC CHECKIDENT(TabEvidRozpracOperR, RESEED, 1)
|
||||
SET @idEROpPol=NULL
|
||||
|
||||
|
||||
|
||||
|
||||
SET @sarze = TRIM(ISNULL(@sarze, N''))
|
||||
SET @cisloPL = TRIM(ISNULL(@cisloPL, N''))
|
||||
|
||||
IF (@IDPaleta IS NOT NULL) AND (@IDVyrCis IS NULL)
|
||||
SELECT @idVyrCis=IDVyrCisPrikaz FROM dbo._TabVyroba_Palety WHERE ID=@IDPaleta
|
||||
IF (@IDVyrCis IS NULL) AND (@cisloPL<>N'') AND (@IdPrikaz IS NOT NULL) AND (@sarze<>N'')
|
||||
SET @IDVyrCis = (SELECT ID FROM dbo.TabVyrCisPrikaz WHERE IDPrikaz=@IdPrikaz AND VyrCislo=@cisloPL AND Popis=@sarze)
|
||||
IF (@IDVyrCis IS NULL) AND (@cisloPL<>N'') AND (@IdPrikaz IS NOT NULL)
|
||||
SET @IDVyrCis = (SELECT ID FROM dbo.TabVyrCisPrikaz WHERE IDPrikaz=@IdPrikaz AND VyrCislo=@cisloPL)
|
||||
|
||||
|
||||
|
||||
BEGIN TRY
|
||||
SET @tranPred = @@TRANCOUNT
|
||||
IF (@tranPred=0) BEGIN TRAN
|
||||
|
||||
INSERT dbo.TabEvidRozpracOperR (IDEvidRozpracOper, IDPrikaz, DokladPrPostup, AltPrPostup, IDVyrCis, Mnoz_odv, Sk_cas, Sk_cas_T, Sk_cas_Obsluhy, Sk_cas_Obsluhy_T)
|
||||
SELECT @IdEvidRozpOper, @IdPrikaz, @doklPrPost, @altPrPost, @IdVyrCis, @mnozOdv, @skCas, @skCasT, @skCasObsl, @skCasObslT
|
||||
SET @idEROpPol = SCOPE_IDENTITY()
|
||||
|
||||
IF (@idEROpPol IS NOT NULL)
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabEvidRozpracOperR_EXT WHERE ID=@idEROpPol)
|
||||
INSERT dbo.TabEvidRozpracOperR_EXT (ID) VALUES (@idEROpPol)
|
||||
UPDATE dbo.TabEvidRozpracOperR_EXT SET _Sarze=@sarze WHERE ID=@idEROpPol
|
||||
|
||||
|
||||
-- zapis koeficient
|
||||
SET @sumMnEROp = ISNULL( (SELECT SUM(Mnoz_odv) FROM dbo.TabEvidRozpracOperR WHERE IDEvidRozpracOper=@IdEvidRozpOper), 0)
|
||||
DECLARE crLoc CURSOR LOCAL FOR
|
||||
SELECT ID, Mnoz_odv FROM dbo.TabEvidRozpracOperR WHERE IDEvidRozpracOper=@IdEvidRozpOper
|
||||
OPEN crLoc
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM crLoc INTO @idTemp, @mnEROp
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
UPDATE dbo.TabEvidRozpracOperR_EXT SET _KoefMnoz=ROUND(@mnEROp/@sumMnEROp, 5) WHERE ID=@idTemp
|
||||
END
|
||||
CLOSE crLoc
|
||||
DEALLOCATE crLoc
|
||||
|
||||
|
||||
IF (@tranPred=0) ANd (@@TRANCOUNT>0)
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF CURSOR_STATUS('local','crLoc')>=-1
|
||||
BEGIN
|
||||
CLOSE crLoc;
|
||||
DEALLOCATE crLoc
|
||||
END
|
||||
IF (@tranPred=0) ANd (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
INSERT #TabExtKom (Typ, Poznamka) SELECT 3, ERROR_MESSAGE()
|
||||
SET @idEROpPol = NULL
|
||||
END CATCH
|
||||
|
||||
RETURN @idEROpPol
|
||||
407
_custom/Rootvin/sql/szDilce
Normal file
407
_custom/Rootvin/sql/szDilce
Normal file
@ -0,0 +1,407 @@
|
||||
-- dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
@IDMzdy INT=NULL,
|
||||
@IDDoklad INT=NULL,
|
||||
@spotrebaTesto BIT=0,
|
||||
@spotreba702 BIT=0,
|
||||
@smazVydejTesto BIT=0,
|
||||
@errMsg NVARCHAR(500)=N'' OUT,
|
||||
@extTab NVARCHAR(50)=NULL,
|
||||
@vydejAll BIT=0,
|
||||
@realizujVydej BIT=0,
|
||||
@denSmena NVARCHAR(15)=NULL,
|
||||
@sklVydej NVARCHAR(30)=N'321',
|
||||
@radaVydej NVARCHAR(3)=N'223'
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
-- @extTab - tabulka, do ktere budou vraceny pohyby vydejky @extTab (ID INT NOT NULL, IDPohZbo INT NOT NULL)
|
||||
-- @vydejAll - bude vydano vse, nejen kde jde splnena podminka TabPrKVazby - dbo.hf_GetPrPDokladForPrKV(PrKV.ID)=@PrP_Doklad
|
||||
-- pokud existuje objekt #HDCTabPrKVazbyGenPredna, jedu vydej podle nej
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@bChyba BIT,
|
||||
@retVal INT=0,
|
||||
@errID int,
|
||||
@sql NVARCHAR(1000),
|
||||
@idUziv INT=0,
|
||||
@idZam INT,
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@szDilec NVARCHAR(3)
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'dbo.TabUserCfg', N'U') IS NOT NULL
|
||||
SET @idUziv = (SELECT ID FROM dbo.TabUserCfg WHERE LoginName=SUSER_SNAME())
|
||||
SET @idUziv = ISNULL(@idUziv, 0)
|
||||
|
||||
|
||||
SET @denSmena = ISNULL(@denSmena, N'')
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<76> sklad - Materi<72>l'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technologick<63> sklad%v<>dej%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<>roba - Pek<65>rna'
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky)
|
||||
BEGIN
|
||||
SELECT @retVal=MAX(ID) FROM dbo.TabPrikazMzdyAZmetky
|
||||
DBCC CHECKIDENT(TabPrikazMzdyAZmetky, RESEED, @retVal)
|
||||
END
|
||||
ELSE
|
||||
DBCC CHECKIDENT(TabPrikazMzdyAZmetky, RESEED, 1)
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen
|
||||
CREATE TABLE #TabPrKVazbyGen (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
Generuj BIT NOT NULL DEFAULT 1,
|
||||
PoKorekciDat BIT NOT NULL DEFAULT 0,
|
||||
IDPrKV INT NOT NULL,
|
||||
Doklad INT NOT NULL,
|
||||
IDPrikaz INT NOT NULL,
|
||||
Prednastaveno BIT NOT NULL DEFAULT 1,
|
||||
Sklad NVARCHAR(30) NULL,
|
||||
VyrStredisko NVARCHAR(30) NULL,
|
||||
IDPracoviste INT NULL,
|
||||
mnoz_zad NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Mnoz_nepotrebne NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Mnoz_skut_realizovane NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Cena_real NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Mnoz_odv NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Cena_odv NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
MnozstviMax NUMERIC(19,6) NULL,
|
||||
PuvodniMnozstviPoz NUMERIC(19,6) NULL,
|
||||
MnozstviPoz NUMERIC(19,6) NOT NULL,
|
||||
PomMnozPoz NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
IDPohZbo INT NULL,
|
||||
PoznamkaNaDoklad NVARCHAR(max) NULL,
|
||||
priorita INT NOT NULL DEFAULT 0,
|
||||
vyssi INT NOT NULL,
|
||||
nizsi INT NOT NULL,
|
||||
DavkaTPV NUMERIC(19,6) NOT NULL DEFAULT 1,
|
||||
pozice NVARCHAR(100) NULL DEFAULT N'',
|
||||
Operace NCHAR(4) NULL,
|
||||
FixniMnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 1,
|
||||
ProcZtrat NUMERIC(5,2) NOT NULL DEFAULT 0,
|
||||
mnozstviSeZtratou NUMERIC(19,6) NOT NULL DEFAULT 0,
|
||||
Prirez NUMERIC(19,6) NOT NULL DEFAULT 1,
|
||||
Poznamka NTEXT NULL,
|
||||
pom_pomer_A NUMERIC(19,6) NULL,
|
||||
pom_pomer_B NUMERIC(19,6) NULL,
|
||||
Dodavatel INT NULL,
|
||||
MJ NVARCHAR(10) NULL,
|
||||
mnoz_pozadovane AS (CONVERT(numeric(19,6),(CASE WHEN [mnoz_nepotrebne]>[mnoz_zad] THEN 0.0 ELSE [mnoz_zad] - [mnoz_nepotrebne] END))),
|
||||
PRIMARY KEY (ID)
|
||||
)
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen_IDMzdy
|
||||
CREATE TABLE #TabPrKVazbyGen_IDMzdy (IDPrikaz int, Doklad int, IDMzdy int)
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGenVC
|
||||
CREATE TABLE #TabPrKVazbyGenVC (
|
||||
ID INT IDENTITY NOT NULL,
|
||||
IDPolozky INT NOT NULL,
|
||||
VyrCislo NVARCHAR(100) NOT NULL,
|
||||
Mnozstvi NUMERIC(19,6) NOT NULL,
|
||||
Sklad NVARCHAR(30) NULL,
|
||||
IDKmenZbozi INT NULL,
|
||||
IDVyrCP INT NULL,
|
||||
PRIMARY KEY(ID)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE
|
||||
@RespektovatExistEvid bit=0,
|
||||
@idDilec INT,
|
||||
@IDPrikaz int=NULL,
|
||||
@IDPrPostup INT=NULL,
|
||||
@mnozstviPomer_A numeric(19,6),
|
||||
@mnozstviPomer_B numeric(19,6),
|
||||
@IDPrKV int,
|
||||
@mnoz_zad numeric(19,6),
|
||||
@PrKVDoklad int,
|
||||
@PocetVazeb int,
|
||||
@PrP_Doklad int
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT @errID=NULL, @errMsg='', @PocetVazeb=0
|
||||
SELECT @IDPrikaz=MZ.IDPrikaz, @mnozstviPomer_A=(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr), @mnozstviPomer_B=PrP.kusy_zad, @PrP_Doklad=PrP.Doklad,
|
||||
@IDPrPostup=PrP.ID, @szDilec=k.SkupZbo
|
||||
FROM dbo.TabPrikazMzdyAZmetky MZ
|
||||
INNER JOIN dbo.TabPrPostup PrP ON (PrP.IDPrikaz=MZ.IDPrikaz AND PrP.Doklad=MZ.DokladPrPostup AND PrP.Alt=MZ.AltPrPostup AND PrP.IDOdchylkyDo IS NULL)
|
||||
INNER JOIN dbo.TabPrikaz vp ON (vp.ID=MZ.IDPrikaz)
|
||||
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=vp.IDTabKmen)
|
||||
WHERE MZ.ID=@IDMzdy
|
||||
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanaMatVydejka=1 WHERE ID=@IDMzdy
|
||||
-- pokud uz byla generovana vydejka, skonci
|
||||
IF (@@ROWCOUNT=0)
|
||||
RETURN 0
|
||||
|
||||
|
||||
SELECT @idZam=Zamestnanec FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
SELECT @idDilec = IDTabKmen FROM dbo.TabPrikaz WHERE ID=@IDPrikaz
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGenPredna', N'U') IS NULL
|
||||
BEGIN
|
||||
IF (@mnozstviPomer_A<=0.0)
|
||||
RETURN -1
|
||||
|
||||
IF (@vydejAll=1)
|
||||
DECLARE crPom1334 CURSOR FAST_FORWARD LOCAL FOR
|
||||
SELECT PrKV.ID, PrKV.Mnoz_zad, PrKV.Doklad
|
||||
FROM dbo.TabPrKVazby PrKV
|
||||
INNER JOIN dbo.TabPrikaz P ON (P.ID=PrKV.IDPrikaz)
|
||||
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
||||
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
||||
WHERE P.StavPrikazu IN (30,50) AND (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0) AND PrKV.predzpracovano=0 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND
|
||||
PrKV.IDPrikaz=@IDPrikaz AND PrKV.prednastaveno=1 AND PrKV.IDOdchylkyDo IS NULL
|
||||
ELSE
|
||||
DECLARE crPom1334 CURSOR FAST_FORWARD LOCAL FOR
|
||||
SELECT PrKV.ID, PrKV.Mnoz_zad, PrKV.Doklad
|
||||
FROM dbo.TabPrKVazby PrKV
|
||||
INNER JOIN dbo.TabPrikaz P ON (P.ID=PrKV.IDPrikaz)
|
||||
INNER JOIN dbo.TabRadyPrikazu RP ON (RP.rada=P.rada)
|
||||
INNER JOIN dbo.TabKmenZbozi KZ ON (KZ.ID=PrKV.nizsi AND KZ.sluzba=0)
|
||||
WHERE P.StavPrikazu IN (30,50) AND (P.kusy_zive>0.0 OR RP.KontrolovatRozpracPriUzav=0) AND PrKV.predzpracovano=0 AND PrKV.uzavreno=0 AND PrKV.RezijniMat=0 AND
|
||||
PrKV.IDPrikaz=@IDPrikaz AND dbo.hf_GetPrPDokladForPrKV(PrKV.ID)=@PrP_Doklad AND PrKV.prednastaveno=1 AND PrKV.IDOdchylkyDo IS NULL
|
||||
OPEN crPom1334
|
||||
FETCH NEXT FROM crPom1334 INTO @IDPrKV, @Mnoz_zad, @PrKVDoklad
|
||||
WHILE @@fetch_status=0
|
||||
BEGIN
|
||||
UPDATE #TabPrKVazbyGen SET MnozstviPoz=@mnoz_zad * (pom_pomer_A+@mnozstviPomer_A)/pom_pomer_B, pom_pomer_A=pom_pomer_A+@mnozstviPomer_A
|
||||
WHERE IDPrKV=@IDPrKV
|
||||
IF (@@ROWCOUNT=0)
|
||||
BEGIN
|
||||
IF @RespektovatExistEvid=1
|
||||
SELECT @mnozstviPomer_A=SUM(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr)
|
||||
FROM dbo.TabPrikazMzdyAZmetky MZ WHERE MZ.IDPrikaz=@IDPrikaz AND MZ.DokladPrPostup=@PrP_Doklad AND MZ.GenerovanaMatVydejka=1
|
||||
INSERT INTO #TabPrKVazbyGen (IDPrKV, MnozstviPoz, pom_pomer_A, pom_pomer_B, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad,
|
||||
Mnoz_nepotrebne, Mnoz_skut_realizovane, Cena_real, Mnoz_odv, Cena_odv, priorita, vyssi, nizsi, DavkaTPV, pozice, Operace, FixniMnozstvi,
|
||||
mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka)
|
||||
SELECT PrKV.ID,
|
||||
PrKV.mnoz_zad * @mnozstviPomer_A/@mnozstviPomer_B,
|
||||
@mnozstviPomer_A, @mnozstviPomer_B,
|
||||
PrKV.Doklad, PrKV.IDPrikaz, PrKV.Prednastaveno, PrKV.Sklad, PrKV.VyrStredisko, PrKV.IDPracoviste, PrKV.mnoz_zad, PrKV.Mnoz_nepotrebne,
|
||||
PrKV.Mnoz_skut_realizovane, PrKV.Cena_real, PrKV.Mnoz_odv, PrKV.Cena_odv, PrKV.priorita, PrKV.vyssi, PrKV.nizsi, PrKV.DavkaTPV, PrKV.pozice, PrKV.Operace, PrKV.FixniMnozstvi,
|
||||
PrKV.mnozstvi, PrKV.ProcZtrat, PrKV.mnozstviSeZtratou, PrKV.Prirez, PrKV.Poznamka
|
||||
FROM dbo.TabPrKVazby PrKV
|
||||
WHERE PrKV.ID=@IDPrKV AND PrKV.uzavreno=0
|
||||
END
|
||||
INSERT INTO #TabPrKVazbyGen_IDMzdy (IDPrikaz, Doklad, IDMzdy) VALUES (@IDPrikaz, @PrKVDoklad, @IDMzdy)
|
||||
SET @PocetVazeb=@PocetVazeb + 1
|
||||
FETCH NEXT FROM crPom1334 INTO @IDPrKV, @Mnoz_zad, @PrKVDoklad
|
||||
END
|
||||
CLOSE crPom1334
|
||||
DEALLOCATE crPom1334
|
||||
|
||||
IF (@PocetVazeb<=0)
|
||||
RETURN -2
|
||||
|
||||
END
|
||||
ELSE
|
||||
BEGIN -- pokud mam seznam na co vygenerovat vydejku, jedu podle nej
|
||||
DELETE FROM #TabPrKVazbyGen
|
||||
INSERT INTO #TabPrKVazbyGen
|
||||
SELECT Generuj, PoKorekciDat, IDPrKV, Doklad, IDPrikaz, Prednastaveno, Sklad, VyrStredisko, IDPracoviste, mnoz_zad, Mnoz_nepotrebne, Mnoz_skut_realizovane,
|
||||
Cena_real, Mnoz_odv, Cena_odv, MnozstviMax, PuvodniMnozstviPoz, MnozstviPoz, PomMnozPoz, IDPohZbo, PoznamkaNaDoklad, priorita, vyssi, nizsi, DavkaTPV,
|
||||
pozice, Operace, FixniMnozstvi, mnozstvi, ProcZtrat, mnozstviSeZtratou, Prirez, Poznamka, pom_pomer_A, pom_pomer_B, Dodavatel
|
||||
FROM #HDCTabPrKVazbyGenPredna
|
||||
DROP TABLE #HDCTabPrKVazbyGenPredna
|
||||
END
|
||||
|
||||
-- preddefinovana mzda pro provazani
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGen_IDMzdyPredna', N'U') IS NOT NULL
|
||||
BEGIN
|
||||
DELETE FROM #TabPrKVazbyGen_IDMzdy
|
||||
INSERT INTO #TabPrKVazbyGen_IDMzdy
|
||||
SELECT IDPrikaz, Doklad, IDMzdy FROM #HDCTabPrKVazbyGen_IDMzdyPredna
|
||||
DROP TABLE #HDCTabPrKVazbyGen_IDMzdyPredna
|
||||
END
|
||||
|
||||
|
||||
|
||||
EXEC dbo.hp_AktualizaceTabPrKVazbyGenVC @Vratka=0
|
||||
UPDATE #TabPrKVazbyGen SET Generuj=1, Sklad=@sklVydej
|
||||
|
||||
|
||||
IF (@smazVydejTesto=1)
|
||||
IF (@szDilec<>N'701') AND EXISTS (SELECT 1 FROM dbo.TabPrikaz p INNER JOIN dbo.TabKmenZbozi k ON (k.ID=p.IDTabKmen) WHERE p.IDPrikazVyssi=@IDPrikaz AND k.SkupZbo=N'701')
|
||||
DELETE FROM #TabPrKVazbyGen WHERE vyssi=@idDilec AND nizsi IN (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=N'701')
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabGenRezVyd
|
||||
CREATE TABLE #TabGenRezVyd (ID int NOT NULL, PRIMARY KEY (ID))
|
||||
|
||||
|
||||
BEGIN TRY
|
||||
EXEC @retVal=dbo.hp_generujRezVyd @RadaDokladu=@radaVydej, @DruhPohybuZbo=NULL, @IDObdobi=0, @DatPorizeni=NULL, @SekejZakazky=0, @SekejPrikazy=0,
|
||||
@IDExistDoklad=@IDDoklad, @SekejOperace=0
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = 'Chyba generovani vydeje: ' + ERROR_MESSAGE()
|
||||
END CATCH
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE
|
||||
@idVyd INT,
|
||||
@idKZ INT,
|
||||
@idPZ INT,
|
||||
@idSS INT,
|
||||
@poslSarze NVARCHAR(100),
|
||||
@errMsg702 NVARCHAR(500),
|
||||
@idKZ702 INT,
|
||||
@idPrikaz702 INT,
|
||||
@doklKV702 INT,
|
||||
@doklOp702 INT,
|
||||
@alt702 NCHAR(1),
|
||||
@mnoz702 NUMERIC(19,6),
|
||||
@idMzda702 INT,
|
||||
@aktDat DATETIME
|
||||
|
||||
SET @aktDat = GETDATE()
|
||||
|
||||
|
||||
-- potrebuju si vyrobit tisicikus ? musim pred realizaci vydejky na vyssi prikaz, udelam odvedenim prikazu na vyssi
|
||||
/*
|
||||
IF (@spotreba702=1)
|
||||
BEGIN
|
||||
DECLARE t CURSOR LOCAL FOR
|
||||
SELECT k.ID, 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 k.SkupZbo=N'702' AND k.Blokovano=0
|
||||
OPEN t
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM t INTO @idKZ702, @mnoz702
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @idPrikaz702 = (SELECT ID FROM dbo.TabPrikaz WHERE IDPrikazVyssi=@IDPrikaz AND IDTabKmen=@idKZ702 AND StavPrikazu=30)
|
||||
IF (@idPrikaz702 IS NOT NULL)
|
||||
BEGIN
|
||||
-- evidence operace peceni
|
||||
SELECT TOP(1) @doklOp702=Doklad, @alt702=Alt FROM dbo.TabPrPostup WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@idPrikaz702
|
||||
EXEC @idMzda702=dbo.hp_ZaevidujOperaci @IDPrikaz=@idPrikaz702, @Doklad=@doklOp702, @Alt=@alt702, @Datum=NULL, @Stav=1, @IDZam=@idZam, @Kusy_odv=@mnoz702
|
||||
SET @idMzda702 = ISNULL(@idMzda702, 0)
|
||||
IF (@idMzda702>0)
|
||||
BEGIN
|
||||
-- vydejku materialu nedelej, testo bylo uz odepsano svym prevedenim na vyssi
|
||||
-- EXEC dbo.ep_Vyroba_GenVydejZeMzdy @IDMzdy=@idMzda702, @spotrebaTesto=1, @realizujVydej=1, @errMsg=@errMsg702 OUT
|
||||
|
||||
EXEC dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzda702, @realizujPrijem=1, @errMsg=@errMsg702 OUT
|
||||
END
|
||||
-- odvedeni na vyssi prikaz
|
||||
SELECT TOP(1) @doklKV702=Doklad FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@IDPrikaz AND nizsi=@idKZ702
|
||||
EXEC dbo.hp_OdvedeniPrikazuPrevodem @DatPripadu=@aktDat, @KonecneOdvedeniNatvrdo=0, @IDPrikazZdroj=@idPrikaz702, @IDPrikazCil=@IDPrikaz,
|
||||
@Doklad=@doklKV702, @IDDilec=@idKZ702, @mnozstvi=@mnoz702, @IDOdvedeniVC=0
|
||||
END
|
||||
END
|
||||
CLOSE t
|
||||
DEALLOCATE t
|
||||
END
|
||||
*/
|
||||
|
||||
|
||||
DECLARE vyd CURSOR LOCAL FOR
|
||||
SELECT ID FROM #TabGenRezVyd
|
||||
OPEN vyd
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM vyd INTO @idVyd
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
IF (@denSmena<>N'')
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idVyd)
|
||||
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idVyd)
|
||||
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_DenSmena=@denSmena WHERE ID=@idVyd
|
||||
END
|
||||
|
||||
DECLARE pV CURSOR LOCAL FOR
|
||||
SELECT p.ID, k.ID
|
||||
FROM dbo.TabPohybyZbozi p
|
||||
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
||||
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
|
||||
WHERE p.IDDoklad=@idVyd AND k.Sluzba=0
|
||||
OPEN pV
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM pV INTO @idPZ, @idKZ
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
SET @idSS = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@sklPekarna)
|
||||
SET @poslSarze = ISNULL( (SELECT _Prevod_PosledniSarze FROM dbo.TabStavSkladu_EXT WHERE ID=@idSS), N'')
|
||||
IF (@poslSarze<>N'')
|
||||
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=@poslSarze WHERE ID=@idPZ
|
||||
END
|
||||
END
|
||||
CLOSE pV
|
||||
DEALLOCATE pV
|
||||
|
||||
IF (@realizujVydej=1)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace v<>dejky p<><70>kazu', @idVyd
|
||||
END CATCH
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE vyd
|
||||
DEALLOCATE vyd
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@extTab IS NOT NULL) AND EXISTS(SELECT 1 FROM #TabPrKVazbyGen WHERE IDPohZbo IS NOT NULL)
|
||||
IF OBJECT_ID(@extTab, N'U') IS NOT NULL
|
||||
BEGIN
|
||||
SET @sql = N'DELETE FROM ' + @extTab
|
||||
EXECUTE sp_executesql @sql
|
||||
SET @sql = N'INSERT ' + @extTab + N' (ID, IDPohZbo) SELECT ID, IDPohZbo FROM #TabPrKVazbyGen WHERE IDPohZbo IS NOT NULL'
|
||||
EXECUTE sp_executesql @sql
|
||||
END
|
||||
|
||||
|
||||
-- uklid
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen
|
||||
DROP TABLE IF EXISTS #TabGenRezVyd
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGen_IDMzdy
|
||||
DROP TABLE IF EXISTS #TabPrKVazbyGenVC
|
||||
|
||||
|
||||
12
_custom/Rootvin/sql/tbl_hdc_DataZone_konfig.sql
Normal file
12
_custom/Rootvin/sql/tbl_hdc_DataZone_konfig.sql
Normal file
@ -0,0 +1,12 @@
|
||||
IF OBJECT_ID(N'dbo._hdc_DataZone_konfig', N'U') IS NULL
|
||||
CREATE TABLE dbo._hdc_DataZone_konfig (
|
||||
ID int IDENTITY(1, 1) NOT NULL,
|
||||
Typ NCHAR(3) NOT NULL,
|
||||
Nazev NVARCHAR(100) NOT NULL,
|
||||
Verze NCHAR(8) NOT NULL,
|
||||
Obsah nvarchar(max) COLLATE Czech_CI_AS NULL,
|
||||
DatPorizeni DATETIME NOT NULL DEFAULT GETDATE(),
|
||||
DatZmeny DATETIME,
|
||||
CONSTRAINT PK_hdc_DataZone_konfig PRIMARY KEY CLUSTERED (ID)
|
||||
WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
||||
)
|
||||
1088
_custom/Rootvin/uCtrlCustom.pas
Normal file
1088
_custom/Rootvin/uCtrlCustom.pas
Normal file
File diff suppressed because it is too large
Load Diff
319
_custom/Rootvin/uHeOObj_Custom.pas
Normal file
319
_custom/Rootvin/uHeOObj_Custom.pas
Normal file
@ -0,0 +1,319 @@
|
||||
unit uHeOObj_Custom;
|
||||
{$RTTI EXPLICIT METHODS([vcPublic, vcPublished]) FIELDS([vcPrivate, vcProtected, vcPublic, vcPublished]) PROPERTIES([vcPublic, vcPublished])}
|
||||
|
||||
|
||||
interface
|
||||
{$I 'GlobalDefs.inc'}
|
||||
|
||||
uses
|
||||
System.Generics.Collections,
|
||||
MVCFramework.Serializer.Commons,
|
||||
MVCFramework.ActiveRecord,
|
||||
MVCFramework.Nullables,
|
||||
{$IFDEF SWAGGER}
|
||||
MVCFramework.Swagger.Commons,
|
||||
{$ENDIF}
|
||||
helTabsBIDs,
|
||||
uHeoObj_Base;
|
||||
|
||||
|
||||
const
|
||||
{$I C:\_zakaznici\pluginy_obecne\HDCApi2\globalConsts.inc}
|
||||
|
||||
tblGSDDoklady = '[dbo].[Gatema_SDDoklady]';
|
||||
tblGSDScanData = '[dbo].[Gatema_SDScanData]';
|
||||
|
||||
|
||||
type
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TRTNMicharnaPozadavekPotvrzeni = class(THeliosObjekty)
|
||||
private
|
||||
FIDDataZoneTask: integer;
|
||||
FDatZpracovani: NullableTDateTime;
|
||||
FJSONData: string;
|
||||
public
|
||||
[MVCColumn('IDDataZoneTask', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDDataZoneTask', 'ID DataZone tasku', true, false)]
|
||||
property IDDataZoneTask: integer read FIDDataZoneTask write FIDDataZoneTask;
|
||||
|
||||
[MVCColumn('DatZpracovani', false)]
|
||||
[MVCSwagJsonSchemaField(stDateTime, 'DatZpracovani', 'ID požadavku u DataZone', false, true)]
|
||||
property DatZpracovani: NullableTDateTime read FDatZpracovani write FDatZpracovani;
|
||||
|
||||
[MVCColumn('JSONData', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'JSONData', 'JSONData', true, false)]
|
||||
property JSONData: string read FJSONData write FJSONData;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TRTNMicharnaSpotreba = class(THeliosObjekty)
|
||||
private
|
||||
FIDDataZoneTask: integer;
|
||||
FDatZpracovani: NullableTDateTime;
|
||||
FJSONText: string;
|
||||
public
|
||||
[MVCColumn('IDDataZoneTask', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDDataZoneTask', 'ID DataZone tasku', true, false)]
|
||||
property IDDataZoneTask: integer read FIDDataZoneTask write FIDDataZoneTask;
|
||||
|
||||
[MVCColumn('DatZpracovani', false)]
|
||||
[MVCSwagJsonSchemaField(stDateTime, 'DatZpracovani', 'ID požadavku u DataZone', false, true)]
|
||||
property DatZpracovani: NullableTDateTime read FDatZpracovani write FDatZpracovani;
|
||||
|
||||
[MVCColumn('JSONText', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'JSONText', 'ID požadavku u DataZone', true, false)]
|
||||
property JSONText: string read FJSONText write FJSONText;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TGatemaSDScanData = class(THeliosObjekty)
|
||||
private
|
||||
FIDDokladSD: integer;
|
||||
FIDZdrojSD: NullableInt32;
|
||||
FIDPolozky: NullableInt32;
|
||||
FIDPrikaz: NullableInt32;
|
||||
FDokladPrKV: NullableInt32;
|
||||
FDokladPrVPV: NullableInt32;
|
||||
FIDPohZbo: NullableInt32;
|
||||
FIDVyrCS_Obj: NullableInt32;
|
||||
FIDInvItem: NullableInt32;
|
||||
FIDPohZbo_New: NullableInt32;
|
||||
FIDKmenZbozi: NullableInt32;
|
||||
FIDStavSkladu: NullableInt32;
|
||||
FVyrCislo: NullableString;
|
||||
FPopisSarze: NullableString;
|
||||
FMnozstvi: Single;
|
||||
FMnozstviEvidence: Single;
|
||||
FMJ: NullableString;
|
||||
FMJEvidence: NullableString;
|
||||
FBarCode: NullableString;
|
||||
FDatumExpirace: NullableTDateTime;
|
||||
FKodBaleni: NullableString;
|
||||
FDatPorizeni: TDateTime;
|
||||
FGenerovat: NullableBoolean;
|
||||
FJedinecneCislo: NullableString;
|
||||
public
|
||||
{
|
||||
[MVCTableField('ID', [foPrimaryKey, foReadOnly])]
|
||||
[MVCColumn('ID')]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'ID', 'ID výrobní operace', true, false)] // typ, sysName, nazev, required, nullable, minLength, maxLength
|
||||
property ID: integer read FID write FID;
|
||||
}
|
||||
[MVCColumn('IDDokladSD', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDDokladSD', 'ID dokladu SD', true, false)]
|
||||
property IDDokladSD: integer read FIDDokladSD write FIDDokladSD;
|
||||
|
||||
[MVCColumn('IDZdrojSD', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDZdrojSD', 'ID zdorj SD', false, true)]
|
||||
property IDZdrojSD: NullableInt32 read FIDZdrojSD write FIDZdrojSD;
|
||||
|
||||
[MVCColumn('IDPolozky', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDPolozky', 'ID položky', false, true)]
|
||||
property IDPolozky: NullableInt32 read FIDPolozky write FIDPolozky;
|
||||
|
||||
[MVCColumn('IDPrikaz', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDPrikaz', 'ID výrobního příkazu', false, true)]
|
||||
property IDPrikaz: NullableInt32 read FIDPrikaz write FIDPrikaz;
|
||||
|
||||
[MVCColumn('VyrCislo', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'VyrCislo', 'Výrobní číslo', true, false, 1, 100)]
|
||||
property VyrCislo: NullableString read FVyrCislo write FVyrCislo;
|
||||
|
||||
[MVCColumn('PopisSarze', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'PopisSarze', 'Popis šarže', true, false, 1, 100)]
|
||||
property PopisSarze: NullableString read FPopisSarze write FPopisSarze;
|
||||
|
||||
[MVCColumn('Mnozstvi')]
|
||||
[MVCSwagJsonSchemaField('Mnozstvi', 'Množství', true, false)]
|
||||
property Mnozstvi: Single read FMnozstvi write FMnozstvi;
|
||||
|
||||
[MVCColumn('MnozstviEvidence')]
|
||||
[MVCSwagJsonSchemaField('MnozstviEvidence', 'Množství v evidenční jednotce', true, false)]
|
||||
property MnozstviEvidence: Single read FMnozstviEvidence write FMnozstviEvidence;
|
||||
|
||||
[MVCColumn('DatumExpirace')]
|
||||
[MVCSwagJsonSchemaField('DatumExpirace', 'Datum expirace', false, true)]
|
||||
property DatumExpirace: NullableTDatetime read FDatumExpirace write FDatumExpirace;
|
||||
|
||||
[MVCColumn('DatPorizeni')]
|
||||
[MVCSwagJsonSchemaField('DatPorizeni', 'Datum pořízení', true, false)]
|
||||
property DatPorizeni: TDatetime read FDatPorizeni write FDatPorizeni;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TGatemaSDZdrojData = class(THeliosObjekty)
|
||||
private
|
||||
FIDDokladSD: integer;
|
||||
FIDDokZbo: NullableInt32;
|
||||
FIDPrikaz: NullableInt32;
|
||||
FGUIDDokladu: NullableTGUID;
|
||||
public
|
||||
[MVCColumn('IDDokladSD', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDDokladSD', 'ID dokladu SD', true, false)]
|
||||
property IDDokladSD: integer read FIDDokladSD write FIDDokladSD;
|
||||
|
||||
[MVCColumn('IDDokZbo', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'FIDDokZbo', 'ID dokladu OZ', false, true)]
|
||||
property IDDokZbo: NullableInt32 read FIDDokZbo write FIDDokZbo;
|
||||
|
||||
[MVCColumn('IDPrikaz', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDPrikaz', 'ID výrobního příkazu', false, true)]
|
||||
property IDPrikaz: NullableInt32 read FIDPrikaz write FIDPrikaz;
|
||||
|
||||
[MVCColumn('GUIDDokladu', false)]
|
||||
[MVCSwagJsonSchemaField(stGuid, 'GUIDDokladu', 'GUID dokladu', false, true)]
|
||||
property GUIDDokladu: NullableTGUID read FGUIDDokladu write FGUIDDokladu;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TGatemaSDDoklad = class(THeliosObjekty)
|
||||
private
|
||||
FTypDokladu: integer;
|
||||
FPodtypDokladu: NullableInt32;
|
||||
FRadaDokladu: NullableString;
|
||||
FDruhPohybuZbo: NullableInt32;
|
||||
FSklad: NullableString;
|
||||
FSkladCil: NullableString;
|
||||
FIDPrikaz: NullableInt32;
|
||||
FIDDokZbo: NullableInt32;
|
||||
FIDDokZbo_New: NullableInt32;
|
||||
FGUIDDokZbo: NullableTGUID;
|
||||
FGUIDDokZbo_New: NullableTGUID;
|
||||
FIDInvHead: NullableInt32;
|
||||
FIDOrg: NullableInt32;
|
||||
FCisloOrg: NullableInt32;
|
||||
FDatumPripadu: NullableTDateTime;
|
||||
FDatPorizeni: TDateTime;
|
||||
FDatGenerovani: NullableTDateTime;
|
||||
FScanData: TObjectList<TGatemaSDScanData>;
|
||||
procedure SetSDScanData (const Value: TObjectList<TGatemaSDScanData>);
|
||||
public
|
||||
constructor Create; virtual;
|
||||
destructor Destroy; override;
|
||||
{
|
||||
[MVCTableField('ID', [foPrimaryKey, foReadOnly])]
|
||||
[MVCColumn('ID')]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'ID', 'ID výrobní operace', true, false)] // typ, sysName, nazev, required, nullable, minLength, maxLength
|
||||
property ID: integer read FID write FID;
|
||||
}
|
||||
[MVCColumn('TypDokladu', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'TypDokladu', 'Typ dokladu', true, false)]
|
||||
property TypDokladu: integer read FTypDokladu write FTypDokladu;
|
||||
|
||||
[MVCColumn('PodtypDokladu', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'PodtypDokladu', 'Podtyp dokladu', false, true)]
|
||||
property PodtypDokladu: NullableInt32 read FPodtypDokladu write FPodtypDokladu;
|
||||
|
||||
[MVCColumn('RadaDokladu', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'RadaDokladu', 'Řada dokladu', false, true)]
|
||||
property RadaDokladu: NullableString read FRadaDokladu write FRadaDokladu;
|
||||
|
||||
[MVCColumn('DruhPohybuZbo', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'DruhPohybuZbo', 'Druh pohybu zboží', false, true)]
|
||||
property DruhPohybuZbo: NullableInt32 read FDruhPohybuZbo write FDruhPohybuZbo;
|
||||
|
||||
[MVCColumn('Sklad', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'Sklad', 'Sklad', false, true)]
|
||||
property Sklad: NullableString read FSklad write FSklad;
|
||||
|
||||
[MVCColumn('SkladCil', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'SkladCil', 'Cílový sklad', false, true)]
|
||||
property SkladCil: NullableString read FSkladCil write FSkladCil;
|
||||
|
||||
[MVCColumn('IDPrikaz', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDPrikaz', 'ID výrobního příkazu', false, true)]
|
||||
property IDPrikaz: NullableInt32 read FIDPrikaz write FIDPrikaz;
|
||||
|
||||
[MVCColumn('IDDokZbo', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDDokZbo', 'ID dokladu OZ', false, true)]
|
||||
property IDDokZbo: NullableInt32 read FIDDokZbo write FIDDokZbo;
|
||||
|
||||
[MVCColumn('IDDokZbo_New', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDDokZbo_New', 'ID nového dokladu OZ', false, true)]
|
||||
property IDDokZbo_New: NullableInt32 read FIDDokZbo_New write FIDDokZbo_New;
|
||||
|
||||
[MVCColumn('IDInvHead', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDInvHead', 'ID dokladu inventury', false, true)]
|
||||
property IDInvHead: NullableInt32 read FIDInvHead write FIDInvHead;
|
||||
|
||||
[MVCColumn('IDOrg', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDOrg', 'ID organizace', false, true)]
|
||||
property IDOrg: NullableInt32 read FIDOrg write FIDOrg;
|
||||
|
||||
[MVCColumn('CisloOrg', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'CisloOrg', 'Číslo organizace', false, true)]
|
||||
property CisloOrg: NullableInt32 read FCisloOrg write FCisloOrg;
|
||||
|
||||
[MVCColumn('DatumPripadu')]
|
||||
[MVCSwagJsonSchemaField('DatumPripadu', 'Datum případu', false, true)]
|
||||
property DatumPripadu: NullableTDatetime read FDatumPripadu write FDatumPripadu;
|
||||
|
||||
[MVCColumn('DatPorizeni')]
|
||||
[MVCSwagJsonSchemaField('DatPorizeni', 'Datum pořízení', true, false)]
|
||||
property DatPorizeni: TDatetime read FDatPorizeni write FDatPorizeni;
|
||||
|
||||
[MVCColumn('DatGenerovani')]
|
||||
[MVCSwagJsonSchemaField('DatGenerovani', 'Datum generování dokladu OZ', false, true)]
|
||||
property DatGenerovani: NullableTDatetime read FDatGenerovani write FDatGenerovani;
|
||||
|
||||
[MapperListOf(TGatemaSDScanData)]
|
||||
property ScanData: TObjectList<TGatemaSDScanData> read FScanData write SetSDScanData;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
System.StrUtils,
|
||||
System.RegularExpressions;
|
||||
|
||||
|
||||
|
||||
{ TGatemaSDDoklad }
|
||||
|
||||
constructor TGatemaSDDoklad.Create;
|
||||
begin
|
||||
inherited;
|
||||
FScanData:= TObjectList<TGatemaSDScanData>.Create;
|
||||
end;
|
||||
|
||||
|
||||
destructor TGatemaSDDoklad.Destroy;
|
||||
begin
|
||||
// if (FPohybyOZ<>nil) then
|
||||
// FPohybyOZ.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGatemaSDDoklad.SetSDScanData(const Value: TObjectList<TGatemaSDScanData>);
|
||||
begin
|
||||
if (Value<>FScanData) then
|
||||
begin
|
||||
FScanData.Free;
|
||||
FScanData:= Value;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
1222
_custom/Rootvin/uSvcCustom.pas
Normal file
1222
_custom/Rootvin/uSvcCustom.pas
Normal file
File diff suppressed because it is too large
Load Diff
6
_custom/Rootvin/uTabs.inc
Normal file
6
_custom/Rootvin/uTabs.inc
Normal file
@ -0,0 +1,6 @@
|
||||
const
|
||||
tblMichPozadavek = '[dbo].[_hdc_DataZone_MicharnaPozadavek]';
|
||||
tblMichSpotreba = '[dbo].[_hdc_DataZone_MicharnaSpotreba]';
|
||||
tblPrijataJsonData = '[dbo].[_hdc_ph_PrijataJsonData]'; // data z Pro Holdingu
|
||||
tblVyrobaObjednavky = '[dbo].[_TabVyroba_Objednavky]'; // data objednavek z Pro Holdingu
|
||||
tblPuvodniVC = '[dbo].[_hdc_PZ_PuvodniVC]';
|
||||
8
_custom/Rootvin/uWebModCustom.inc
Normal file
8
_custom/Rootvin/uWebModCustom.inc
Normal file
@ -0,0 +1,8 @@
|
||||
{$IFDEF CUSTOM_CTRL_RootvinX}
|
||||
FEngine.AddController (TGatemaSDDokladController);
|
||||
FEngine.AddController (TGatemaSDDokladOZController);
|
||||
FEngine.AddController (TGatemaSDScanDataController);
|
||||
{$ENDIF}
|
||||
|
||||
FEngine.AddController (TRTNController);
|
||||
|
||||
BIN
_custom/Rootvin/zdroje.RES
Normal file
BIN
_custom/Rootvin/zdroje.RES
Normal file
Binary file not shown.
44
_custom/Rootvin/zdroje.rc
Normal file
44
_custom/Rootvin/zdroje.rc
Normal file
@ -0,0 +1,44 @@
|
||||
col_TabDokumenty_DokladProAPI RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\col_TabDokumenty_DokladProAPI.sql
|
||||
col_TabCisZam_EXT RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\col_CisZam_EXT.sql
|
||||
col_TabPrPostup_EXT RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\col_TabPrPostup_EXT.sql
|
||||
col_TabStavSkladu_EXT RCDATA C:\_zakaznici\Rootvin\_sql\col_TabStavSkladu_EXT.sql
|
||||
col_TabDokladyZbozi_EXT RCDATA C:\_zakaznici\Rootvin\_sql\col_DokladyZbozi_EXT.sql
|
||||
col_TabPohybyZbozi_EXT RCDATA C:\_zakaznici\Rootvin\_sql\col_PohybyZbozi_EXT.sql
|
||||
col_TabEvidRozpracOperR_EXT RCDATA C:\_zakaznici\Rootvin\_sql\col_EvidRozpracOperR_EXT.sql
|
||||
col_TabKmenZbozi_EXT RCDATA C:\_zakaznici\Rootvin\_sql\col_KmenZbozi_EXT.sql
|
||||
col_TabVazbyPrikazu_EXT RCDATA C:\_zakaznici\Rootvin\_sql\col_VazbyPrikazu_EXT.sql
|
||||
|
||||
ep_hdcdzapi_ZpracujPrijataData RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\ep_HDCDZApi_ZpracujPrijataData.sql
|
||||
ep_hdcdzapi_GetKusovnik RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\ep_HDCDZApi_GetKusovnik.sql
|
||||
ep_Vyroba_GenVydejZeMzdy RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\ep_Vyroba_GenVydejZeMzdy.sql
|
||||
ep_Vyroba_GenOdvodZeMzdy RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\ep_Vyroba_GenOdvodZeMzdy.sql
|
||||
ep_Vyroba_DoplnSkladProVydejDleDokladu RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\ep_Vyroba_DoplnSkladProVydejDleDokladu.sql
|
||||
ep_Vyroba_InsertEvidRozpracOper RCDATA .\sql\ep_Vyroba_InsertEvidRozpracOper.sql
|
||||
ep_Vyroba_InsertEvidRozpracOperPol RCDATA .\sql\ep_Vyroba_InsertEvidRozpracOperPol.sql
|
||||
|
||||
ep_P01_HDC1 RCDATA C:\_zakaznici\Rootvin\_sql\ep_P01_HDC1.sql
|
||||
ep_P01 RCDATA C:\_zakaznici\Rootvin\_sql\ep_P01.sql
|
||||
ep_P03_HDC1 RCDATA C:\_zakaznici\Rootvin\_sql\ep_P03_HDC1.sql
|
||||
ep_P03 RCDATA C:\_zakaznici\Rootvin\_sql\ep_P03.sql
|
||||
ep_V03_HDC1 RCDATA C:\_zakaznici\Rootvin\_sql\ep_V03_HDC1.sql
|
||||
ep_V03 RCDATA C:\_zakaznici\Rootvin\_sql\ep_V03.sql
|
||||
ep_V01_HDC1 RCDATA C:\_zakaznici\Rootvin\_sql\ep_V01_HDC1.sql
|
||||
ep_V01 RCDATA C:\_zakaznici\Rootvin\_sql\ep_V01.sql
|
||||
|
||||
trg__TabPohybyZbozi_HDC_IU RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabPohybyZbozi_HDC_IU.sql
|
||||
trg__TabPohybyZbozi_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabPohybyZbozi_HDC_D.sql
|
||||
tbl_hdc_PZ_PuvodniVC RCDATA C:\_zakaznici\Rootvin\_sql\tbl__hdc_PZ_PuvodniVC.sql
|
||||
ep_Vyroba_Doklady_Micharna RCDATA C:\_zakaznici\Rootvin\_sql\ep_Vyroba_Doklady_Micharna.sql
|
||||
ef_GetDatumASmenu RCDATA C:\_zakaznici\Rootvin\_sql\ef_GetDatumASmenu.sql
|
||||
ef_DilecGetStroj RCDATA C:\_zakaznici\Rootvin\_sql\ef_DilecGetStroj.sql
|
||||
ef_Kmen_VratPocetKsVKartonu RCDATA C:\_zakaznici\Rootvin\_sql\ef_Kmen_VratPocetKsVKartonu.sql
|
||||
tbl_TabVyrobaObjednavky RCDATA C:\_zakaznici\Rootvin\_sql\tbl__TabVyrobaObjednavky.sql
|
||||
trg__TabVyrobaObjednavky_IU RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabVyrobaObjednavky_IU.sql
|
||||
trg__TabVyrobaObjednavky_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabVyrobaObjednavky_D.sql
|
||||
tbl_TabVyrobaOperaceStartStop RCDATA C:\_zakaznici\Rootvin\_sql\tbl__TabVyrobaOperaceStartStop.sql
|
||||
tbl_TabVyrobaOperaceStartStopVydej RCDATA C:\_zakaznici\Rootvin\_sql\tbl__TabVyrobaOperaceStartStopVydej.sql
|
||||
tbl_TabVyrobaTestoVyroba RCDATA C:\_zakaznici\Rootvin\_sql\tbl__TabVyroba_TestoVyroba.sql
|
||||
trg__TabDokladyZbozi_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabDokladyZbozi_HDC_D.sql
|
||||
trg__hdc_PZ_PuvodniVC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__hdc_PZ_PuvodniVC_D.sql
|
||||
trg__TabVyrCisPrikaz_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabVyrCisPrikaz_HDC_D.sql
|
||||
trg__TabVyrobaOperaceStartStop_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabVyrobaOperaceStartStop_D.sql
|
||||
Reference in New Issue
Block a user