Prvni verze
This commit is contained in:
3
_custom/INCOSystems/customDefs.inc
Normal file
3
_custom/INCOSystems/customDefs.inc
Normal file
@ -0,0 +1,3 @@
|
||||
,uHeOObj_Custom in '_custom\INCOSystems\uHeOObj_Custom.pas'
|
||||
,uCtrlCustom in '_custom\INCOSystems\uCtrlCustom.pas'
|
||||
,uSvcCustom in 'uSvcCustom.pas'
|
||||
6
_custom/INCOSystems/sql/col_TabEvidRozpracOper_EXT.sql
Normal file
6
_custom/INCOSystems/sql/col_TabEvidRozpracOper_EXT.sql
Normal file
@ -0,0 +1,6 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabEvidRozpracOper_EXT', N'_PHIdent') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabEvidRozpracOper', @NazevAtrSys=N'_PHIdent', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Datazone ID',
|
||||
@NazevAtrVerZkr=N'', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'N', @SirkaSloupceAtr=12, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=0, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1
|
||||
8
_custom/INCOSystems/sql/col_TabKmenZbozi_EXT.sql
Normal file
8
_custom/INCOSystems/sql/col_TabKmenZbozi_EXT.sql
Normal file
@ -0,0 +1,8 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabKmenZbozi_EXT', N'_SkladProVydejMat') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabKmenZbozi', @NazevAtrSys=N'_SkladProVydejMat', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Sklad pro v<>dej pod<6F><64>zen<65>ho materi<72>lu',
|
||||
@NazevAtrVerZkr=N'Sklad mat.', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=4, @ExtEd_Atr=N'Cislo', @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'NVARCHAR(30)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1,
|
||||
@BublinaAtr=N'Sklad, ze kter<65>ho bude vyd<79>v<EFBFBD>n v<>echen materi<72>l v po<70>adavc<76>ch p<><70>kazu tohoto d<>lce'
|
||||
|
||||
6
_custom/INCOSystems/sql/col_TabPrPostup_EXT.sql
Normal file
6
_custom/INCOSystems/sql/col_TabPrPostup_EXT.sql
Normal file
@ -0,0 +1,6 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabPrPostup_EXT', N'_IDPrednaOper') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrPostup', @NazevAtrSys=N'_IDPrednaOper', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Vazba na P<>ednastaven<65> operac<61>',
|
||||
@NazevAtrVerZkr=N'', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @BublinaAtr=N''
|
||||
20
_custom/INCOSystems/sql/col_TabPredna_EXT.sql
Normal file
20
_custom/INCOSystems/sql/col_TabPredna_EXT.sql
Normal file
@ -0,0 +1,20 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_CisloOperace') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPredna', @NazevAtrSys=N'_CisloOperace', @Skupina=N'HDCDZApi', @NazevAtrVer=N'<EFBFBD><EFBFBD>slo operace',
|
||||
@NazevAtrVerZkr=N'Operace', @TypAtr=N'NVARCHAR', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'NVARCHAR(4)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @BublinaAtr=N'<EFBFBD><EFBFBD>slo operace jedine<6E>n<EFBFBD> p<>es v<>echny p<><70>kazy'
|
||||
|
||||
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_OdvadeciOperace') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPredna', @NazevAtrSys=N'_OdvadeciOperace', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Odv<EFBFBD>d<EFBFBD>c<EFBFBD> operace',
|
||||
@NazevAtrVerZkr=N'Odv.operace', @TypAtr=N'BIT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'BIT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @BublinaAtr=N'P<EFBFBD><EFBFBD>znak Odv<64>d<EFBFBD>c<EFBFBD> operace'
|
||||
|
||||
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_IDNasledujiciOperaceAutomat') IS NULL)
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPredna', @NazevAtrSys=N'_IDNasledujiciOperaceAutomat', @Skupina=N'HDCDZApi', @NazevAtrVer=N'N<EFBFBD>sledn<EFBFBD> operace',
|
||||
@NazevAtrVerZkr=N'N<EFBFBD>sledn<EFBFBD> operace', @TypAtr=N'INT', @MaskaAtr=NULL, @VerejnyAtr=N'A', @SirkaSloupceAtr=14, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'INT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=NULL, @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @BublinaAtr=N'N<EFBFBD>sledn<EFBFBD> operace'
|
||||
1076
_custom/INCOSystems/sql/ep_HDCDZApi_ZpracujPrijataData.sql
Normal file
1076
_custom/INCOSystems/sql/ep_HDCDZApi_ZpracujPrijataData.sql
Normal file
File diff suppressed because it is too large
Load Diff
611
_custom/INCOSystems/sql/ep_HDCDZApi_ZpracujPrijataData.sql.bak
Normal file
611
_custom/INCOSystems/sql/ep_HDCDZApi_ZpracujPrijataData.sql.bak
Normal file
@ -0,0 +1,611 @@
|
||||
-- dbo.ep_HDCDZApi_ZpracujPrijataData
|
||||
CREATE PROCEDURE dbo.ep_HDCDZApi_ZpracujPrijataData
|
||||
@idJson INT=NULL
|
||||
AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
-- ! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !
|
||||
|
||||
|
||||
DECLARE
|
||||
@errMsg NVARCHAR(500)=N'',
|
||||
@errProc NVARCHAR(100),
|
||||
@tranPred INT,
|
||||
@iChyba INT,
|
||||
@debugXML XML
|
||||
|
||||
DECLARE
|
||||
@operJson NVARCHAR(max),
|
||||
@prikJson NVARCHAR(max),
|
||||
@objekt NVARCHAR(50),
|
||||
@akce NVARCHAR(50),
|
||||
@trida NVARCHAR(50),
|
||||
@statusOp NVARCHAR(50),
|
||||
@typOperJson NVARCHAR(50),
|
||||
@jsonString NVARCHAR(max),
|
||||
@cisZam INT,
|
||||
@idZam INT,
|
||||
@idVPr INT,
|
||||
@idVCPrik INT,
|
||||
@vc NVARCHAR(100),
|
||||
@dokl INT,
|
||||
@alt NCHAR(1),
|
||||
@idPrP INT,
|
||||
@idPrPOdv INT,
|
||||
@doklOdv INT,
|
||||
@doklNew INT,
|
||||
@doklAutomat INT,
|
||||
@altAutomat NCHAR(1),
|
||||
@jeOdvadeci BIT=0,
|
||||
@datStart DATETIME,
|
||||
@datKonec DATETIME,
|
||||
@skCasSek INT,
|
||||
@mnoz NUMERIC(19,6),
|
||||
@idPrednaOp INT,
|
||||
@idPrednaOpOdv INT,
|
||||
@operPrednaOdv NVARCHAR(4),
|
||||
@operPrednaPrac INT,
|
||||
@typOper TINYINT,
|
||||
@idPrac INT,
|
||||
@idPracOld INT,
|
||||
@idStroj INT,
|
||||
@nazevOp NVARCHAR(100),
|
||||
@operPredna NVARCHAR(4),
|
||||
@odvadeciPredna BIT=0,
|
||||
@cisOper INT,
|
||||
@cisOperMax INT,
|
||||
@operMax NVARCHAR(4),
|
||||
@nazevOpMax NVARCHAR(100),
|
||||
@idKoop INT,
|
||||
@idEvidROp INT,
|
||||
@idEvidROpPol INT,
|
||||
@idMzdy INT,
|
||||
@idPrednaOpAutomat INT,
|
||||
@operPrednaOpAutomat NVARCHAR(4),
|
||||
@casSekOperPredaAutomat INT,
|
||||
@idMzdyAutomat INT,
|
||||
@datKonecOp DATETIME,
|
||||
@ksZive NUMERIC(19,6),
|
||||
@ksEvid NUMERIC(19,6)
|
||||
|
||||
DECLARE
|
||||
@idDZ INT,
|
||||
@sz NVARCHAR(3),
|
||||
@rc NVARCHAR(30),
|
||||
@idKZ INT,
|
||||
@idPrKVazby INT,
|
||||
@idDilec INT,
|
||||
@mnozstviPomer_A NUMERIC(19,6),
|
||||
@mnozstviPomer_B NUMERIC(19,6),
|
||||
@idGenVydejPrednaPol INT,
|
||||
@sklProVydej NVARCHAR(30)
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabJSONData
|
||||
CREATE TABLE #TabJSONData (ID INT IDENTITY(1,1) NOT NULL, doc NVARCHAR(max) )
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #HDCTabPrKVazbyGen_IDMzdyPredna
|
||||
CREATE TABLE #HDCTabPrKVazbyGen_IDMzdyPredna (IDPrikaz int, Doklad int, IDMzdy int)
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #HDCTabPrKVazbyGenPredna
|
||||
CREATE TABLE #HDCTabPrKVazbyGenPredna (
|
||||
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 NTEXT 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,
|
||||
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)
|
||||
)
|
||||
|
||||
|
||||
SET @operPrednaOdv = N''
|
||||
SET @idPrednaOpOdv = (SELECT TOP(1) ID FROM dbo.TabPredna_EXT WHERE _OdvadeciOperace=1)
|
||||
IF (@idPrednaOpOdv IS NOT NULL)
|
||||
SET @operPrednaOdv = (SELECT _CIsloOperace FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOpOdv)
|
||||
|
||||
|
||||
|
||||
IF (@idJson IS NOT NULL)
|
||||
DECLARE j CURSOR LOCAL FOR
|
||||
SELECT ID, JsonData, Objekt, Akce FROM dbo._hdc_ph_PrijataJsonData WHERE ID=@idJson
|
||||
ELSE
|
||||
DECLARE j CURSOR LOCAL FOR
|
||||
SELECT ID, JsonData, Objekt, Akce
|
||||
FROM dbo._hdc_ph_PrijataJsonData
|
||||
WHERE Blokovano=0
|
||||
AND DatZpracovani IS NULL
|
||||
AND ISNULL(JSONData,N'')<>N''
|
||||
ORDER BY DatPorizeni
|
||||
OPEN j
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM j INTO @idJson, @jsonString, @objekt, @akce
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
IF (ISJSON(@jsonString)=0)
|
||||
BEGIN
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), PosledniChyba=N'Neplatna JSON data' WHERE ID=@idJson
|
||||
END
|
||||
|
||||
SET @objekt = TRIM(ISNULL(@objekt, N''))
|
||||
SET @akce = TRIM(ISNULL(@akce, N''))
|
||||
|
||||
BEGIN TRY
|
||||
SET @tranPred=@@TRANCOUNT
|
||||
IF (@tranPred=0)
|
||||
BEGIN TRAN
|
||||
|
||||
|
||||
DELETE FROM #TabJSONData
|
||||
INSERT #TabJSONData (doc) VALUES (@jsonString)
|
||||
IF (@objekt=N'')
|
||||
SELECT TOP(1) @objekt = JSON_VALUE(doc, '$.object') FROM #TabJSONData
|
||||
IF (@akce=N'')
|
||||
SELECT TOP(1) @akce = JSON_VALUE(doc, '$.action') FROM #TabJSONData
|
||||
|
||||
SELECT TOP(1) @cisZam = JSON_VALUE(doc, '$.operace.worker.code') FROM #TabJSONData
|
||||
SET @idZam = (SELECT ID FROM dbo.TabCisZam WHERE Cislo=@cisZam)
|
||||
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=NULL, CisloZam=@cisZam WHERE ID=@idJson
|
||||
|
||||
|
||||
IF (@objekt=N'operace') AND (@idZam IS NOT NULL)
|
||||
BEGIN
|
||||
IF (@akce=N'start')
|
||||
BEGIN
|
||||
SET @idEvidROp = NULL
|
||||
SET @errMsg = N''
|
||||
SET @operPredna = N''
|
||||
SET @odvadeciPredna = 0
|
||||
SET @nazevOp = N''
|
||||
SET @operMax = N''
|
||||
|
||||
SELECT @idVPr = JSON_VALUE(d2.prikaz, '$.id'), @trida = JSON_VALUE(d2.prikaz, '$.class'),
|
||||
@idPrednaOp = JSON_VALUE(d3.operace, '$.id'), @datStart = JSON_VALUE(d3.operace, '$.startAt'),
|
||||
@statusOp = JSON_VALUE(d3.operace, '$.status'), @typOperJson=JSON_VALUE(d3.operace, '$.typ')
|
||||
FROM #TabJSONData d
|
||||
CROSS APPLY OPENJSON(d.doc, N'$')
|
||||
WITH ([prikaz] NVARCHAR(max) AS JSON) AS d2
|
||||
CROSS APPLY OPENJSON(d.doc, N'$')
|
||||
WITH ([operace] NVARCHAR(max) AS JSON) AS d3
|
||||
|
||||
IF (@idVPr IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @idDilec=p.IDTabKmen, @sklProVydej=rp.VydejMatPol_SkladProGenHlavDZ
|
||||
FROM dbo.TabPrikaz p INNER JOIN dbo.TabRadyPrikazu rp ON (rp.Rada=p.Rada) WHERE p.ID=@idVPr
|
||||
|
||||
SET @idPrP = NULL
|
||||
|
||||
IF (@typOperJson=N'prikaz')
|
||||
BEGIN
|
||||
SET @operPredna = CONVERT(nvarchar, @idPrednaOp)
|
||||
SET @idPrednaOp = (SELECT TOP(1) ID FROM dbo.TabPredna_EXT WHERE _CIsloOperace=@operPredna)
|
||||
SET @typOperJson=N'prednastavena'
|
||||
END
|
||||
|
||||
IF (@typOperJson=N'prednastavena')
|
||||
BEGIN
|
||||
IF (@idPrednaOp IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @operPrednaPrac=IDpracoviste FROM dbo.TabPredna WHERE ID=@idPrednaOp
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikaz WHERE ID=@idVPr AND StavPrikazu IN (20,30,40) AND BlokovaniEditoru IS NULL)
|
||||
AND EXISTS(SELECT 1 FROM dbo.TabPredna WHERE ID=@idPrednaOp AND BlokovaniEditoru IS NULL)
|
||||
SELECT @typOper=Typ, @nazevOp=nazev, @idPrac=IDpracoviste, @idStroj=IDStroje, @idKoop=IDkooperace
|
||||
FROM dbo.TabPredna WHERE ID=@idPrednaOp
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_CisloOperace') IS NOT NULL)
|
||||
SET @operPredna = (SELECT _CisloOperace FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOp)
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_OdvadeciOperace') IS NOT NULL)
|
||||
SET @odvadeciPredna = (SELECT _OdvadeciOperace FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOp)
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
SET @operPredna = ISNULL(@operPredna,N'')
|
||||
IF (@operPredna=N'')
|
||||
BEGIN
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=N'CHYBA: přednastavení ID ' + CONVERT(nvarchar, @idPrednaOp) + N' nemá zadané číslo operace.' WHERE ID=@idJson
|
||||
CONTINUE
|
||||
END
|
||||
-- SET @operPredna=dbo.hf_ZarovnejOperaciTechPos(@operPredna)
|
||||
|
||||
/*
|
||||
SET @idPrP = (SELECT TOP(1) ID FROM dbo.TabPrPostup WHERE IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND typ=@typOper AND nazev=@nazevOp
|
||||
AND ISNULL(pracoviste,0)=ISNULL(@idPrac,0) AND ISNULL(IDkooperace,0)=ISNULL(@idKoop,0) AND ISNULL(IDStroje,0)=ISNULL(@idStroj,0))
|
||||
*/
|
||||
SET @idPrP = (SELECT TOP(1) ID FROM dbo.TabPrPostup WHERE priorita=0 AND IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND typ=@typOper AND operace=@operPredna)
|
||||
|
||||
-- existuje odvadeci operace v Prednastaveni pro operace a v prikazu ? pokud neni v prikazu, pridej ji do prikazu
|
||||
SET @doklOdv = NULL
|
||||
SET @idPrPOdv = (SELECT ID FROM dbo.TabPrPostup WHERE priorita=0 AND IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND Operace=@operPrednaOdv)
|
||||
|
||||
-- pokud prednastavena Odvadeci jeste neni v prikazu, pridej ji tam
|
||||
IF (@idPrPOdv IS NULL) AND (@idPrednaOpOdv IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC @idPrPOdv = dbo.hp_NewPozadavek_TabPrPostup @IDPrikaz=@idVPr, @IDPrednastaveni=@idPrednaOpOdv, @Operace=@operPrednaOdv
|
||||
IF (@idPrPOdv IS NOT NULL)
|
||||
BEGIN
|
||||
-- korekce cisla dokladu odvadeci operace, posun na konec seznamu operaci
|
||||
SET @doklOdv=9990
|
||||
UPDATE dbo.TabPrPostup SET Odvadeci=0 WHERE ID<>@idPrPOdv AND IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL
|
||||
UPDATE dbo.TabPrPostup SET Doklad=@doklOdv, Odvadeci=1 WHERE ID=@idPrPOdv
|
||||
END
|
||||
END
|
||||
IF (@doklOdv IS NULL) AND (@idPrPOdv IS NOT NULL)
|
||||
SELECT @doklOdv=Doklad FROM dbo.TabPrPostup WHERE ID=@idPrPOdv
|
||||
|
||||
|
||||
-- prednastavena operace v prikazu jeste neni, pridej ji
|
||||
IF (@idPrP IS NULL)
|
||||
BEGIN
|
||||
EXEC @idPrP = dbo.hp_NewPozadavek_TabPrPostup @IDPrikaz=@idVPr, @IDPrednastaveni=@idPrednaOp, @Operace=@operPredna
|
||||
IF (@idPrP IS NOT NULL)
|
||||
BEGIN
|
||||
-- korekce cisla dokladu, pred odvadeci opeaci
|
||||
SELECT @dokl=ISNULL(MAX(Doklad),0)+1 FROM dbo.TabPrPostup WITH (TABLOCKX) WHERE IDPrikaz=@idVPr AND Doklad<9990
|
||||
UPDATE dbo.TabPrPostup SET Doklad=@dokl, Odvadeci=0, VyraditZKontrolyPosloupOper=1 WHERE ID=@idPrP
|
||||
END
|
||||
END
|
||||
|
||||
SET @idPrednaOpAutomat = NULL
|
||||
SET @operPrednaOpAutomat = N''
|
||||
|
||||
IF (@idPrP IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @dokl=Doklad, @alt=Alt FROM dbo.TabPrPostup WHERE ID=@idPrP
|
||||
UPDATE dbo.TabPrPostup SET VyraditZKontrolyPosloupOper=1 WHERE ID=@idPrP AND Odvadeci=0
|
||||
|
||||
-- korekce cisla dokladu aby bylo pred odvadeci operaci
|
||||
IF (@doklOdv IS NOT NULL)
|
||||
IF (@dokl>@doklOdv)
|
||||
BEGIN
|
||||
SET @doklNew = 1 + ISNULL( (SELECT MAX(Doklad) FROM dbo.TabPrPostup
|
||||
WHERE IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND Doklad<@doklOdv AND ID<>@idPrP), 0)
|
||||
IF (@doklNew IS NOT NULL)
|
||||
BEGIN
|
||||
UPDATE dbo.TabPrPostup SET Doklad=@doklNew WHERE ID=@idPrP
|
||||
SET @dokl = @doklNew
|
||||
END
|
||||
END
|
||||
|
||||
EXEC @idEvidROp = dbo.ep_Vyroba_InsertEvidRozpracOper @IDZamestnance=@idZam, @IDPracoviste=@idPrac, @IDStroje=@idStroj, @CasZahajeni=@datStart, @errMsg = @errMsg OUT
|
||||
IF (@idEvidROp IS NOT NULL)
|
||||
BEGIN
|
||||
SET @idVCPrik = NULL
|
||||
IF 1=ISNULL( (SELECT COUNT(ID) FROM dbo.TabVyrCisPrikaz WHERE IDPrikaz=@idVPr), 0)
|
||||
SET @idVCPrik = (SELECT TOP(1) ID FROM dbo.TabVyrCisPrikaz WHERE IDPrikaz=@idVPr)
|
||||
EXEC @idEvidROpPol = dbo.ep_Vyroba_InsertEvidRozpracOperPol @IDEvidRozpOper=@idEvidROp, @IdPrikaz=@idVPr, @doklPrPost=@dokl,
|
||||
@altPrPost=@alt, @IdVyrCis=@idVCPrik, @errMsg = @errMsg OUT
|
||||
END -- idEvidROp IS NOT NULL
|
||||
END -- idPrP IS NOT NULL
|
||||
|
||||
-- pokud mam naslednou automatickou operaci, zkontrolu a pripadne ji pridej na prikaz
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_IDNasledujiciOperaceAutomat') IS NOT NULL)
|
||||
SET @idPrednaOpAutomat = (SELECT _IDNasledujiciOperaceAutomat FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOp)
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_CisloOperace') IS NOT NULL) AND (@idPrednaOpAutomat IS NOT NULL)
|
||||
SELECT @operPrednaOpAutomat = _CisloOperace FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOpAutomat
|
||||
SET @operPrednaOpAutomat = ISNULL(@operPrednaOpAutomat, N'')
|
||||
IF (@operPrednaOpAutomat<>N'')
|
||||
BEGIN
|
||||
SET @idPrP = (SELECT ID FROM dbo.TabPrPostup WHERE IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND Operace=@operPrednaOpAutomat)
|
||||
IF (@idPrP IS NULL)
|
||||
EXEC @idPrP = dbo.hp_NewPozadavek_TabPrPostup @IDPrikaz=@idVPr, @IDPrednastaveni=@idPrednaOpAutomat, @Operace=@operPrednaOpAutomat
|
||||
|
||||
IF (@idPrP IS NOT NULL)
|
||||
BEGIN
|
||||
-- korekce cisla dokladu
|
||||
SELECT @dokl=Doklad FROM dbo.TabPrPostup WHERE ID=@idPrP
|
||||
IF (@dokl>@doklOdv)
|
||||
BEGIN
|
||||
SET @doklNew = 1 + ISNULL( (SELECT MAX(Doklad) FROM dbo.TabPrPostup
|
||||
WHERE IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND Doklad<@doklOdv AND ID<>@idPrP), 0)
|
||||
IF (@doklNew IS NOT NULL)
|
||||
BEGIN
|
||||
UPDATE dbo.TabPrPostup SET Doklad=@doklNew WHERE ID=@idPrP AND Operace=@operPrednaOpAutomat
|
||||
SET @dokl = @doklNew
|
||||
END
|
||||
END -- @dokl>@doklOdv
|
||||
END -- @idPrP IS NOT NULL
|
||||
END -- @operPrednaOpAutomat<>N''
|
||||
|
||||
|
||||
END -- idVPr IS NOT NULL
|
||||
|
||||
IF (@errMsg<>N'')
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=N'CHYBA: ' + @errMsg WHERE ID=@idJson
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), IDEvidRozpOp=@idEvidROp WHERE ID=@idJson
|
||||
END -- akce Start
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@akce=N'stop')
|
||||
BEGIN
|
||||
SET @errMsg = N''
|
||||
|
||||
SELECT @idVPr = JSON_VALUE(d2.prikaz, '$.id'), @trida = JSON_VALUE(d2.prikaz, '$.class'),
|
||||
@idPrednaOp = JSON_VALUE(d3.operace, '$.id'), @statusOp = JSON_VALUE(d3.operace, '$.status'),
|
||||
@datStart = JSON_VALUE(d3.operace, '$.startAt'), @datKonec = JSON_VALUE(d3.operace, '$.stopAt'),
|
||||
@operJson=d3.operace, @typOperJson=JSON_VALUE(d3.operace, '$.typ')
|
||||
FROM #TabJSONData d
|
||||
CROSS APPLY OPENJSON(d.doc, '$')
|
||||
WITH ([prikaz] NVARCHAR(max) AS JSON) AS d2
|
||||
CROSS APPLY OPENJSON(d.doc, '$')
|
||||
WITH ([operace] NVARCHAR(max) AS JSON) AS d3
|
||||
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabPrikaz WHERE ID=@idVPr AND StavPrikazu<>30)
|
||||
BEGIN
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), PosledniChyba=N'Vyrobni prikaz neni ve stavu Zadano' WHERE ID=@idJson
|
||||
CONTINUE
|
||||
END
|
||||
|
||||
SELECT @ksZive=p.kusy_zive, @sklProVydej=rp.VydejMatPol_SkladProGenHlavDZ
|
||||
FROM dbo.TabPrikaz p INNER JOIN dbo.TabRadyPrikazu rp ON (rp.Rada=p.Rada) WHERE p.ID=@idVPr
|
||||
|
||||
IF (@datKonec<=@datStart)
|
||||
SET @datKonec = DATEADD(s, 1, @datStart)
|
||||
|
||||
IF (@idVPr IS NOT NULL) AND (@operJson IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @idDilec = IDTabKmen FROM dbo.TabPrikaz WHERE ID=@idVPr
|
||||
SET @idPrP = NULL
|
||||
SET @operPredna = N''
|
||||
SET @idPrednaOpAutomat = NULL
|
||||
SET @operPrednaOpAutomat = N''
|
||||
|
||||
IF (@typOperJson=N'prikaz')
|
||||
BEGIN
|
||||
SET @operPredna = CONVERT(nvarchar, @idPrednaOp)
|
||||
SET @idPrednaOp = (SELECT TOP(1) ID FROM dbo.TabPredna_EXT WHERE _CIsloOperace=@operPredna)
|
||||
SET @typOperJson=N'prednastavena'
|
||||
END
|
||||
|
||||
IF (@idPrednaOp IS NOT NULL)
|
||||
BEGIN
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_CisloOperace') IS NOT NULL) AND (@idPrednaOp IS NOT NULL)
|
||||
SET @operPredna = (SELECT _CisloOperace FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOp)
|
||||
SET @operPredna = ISNULL(@operPredna, N'')
|
||||
IF (@operPredna=N'')
|
||||
BEGIN
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), PosledniChyba=N'Nebylo nalezeno cislo operace Prednastaveni' WHERE ID=@idJson
|
||||
CONTINUE
|
||||
END
|
||||
|
||||
-- zjisti vyrobni cislo
|
||||
SET @idVCPrik = NULL
|
||||
IF 1=ISNULL( (SELECT COUNT(ID) FROM dbo.TabVyrCisPrikaz WHERE IDPrikaz=@idVPr), 0)
|
||||
SET @idVCPrik = (SELECT TOP(1) ID FROM dbo.TabVyrCisPrikaz WHERE IDPrikaz=@idVPr)
|
||||
|
||||
-- zjisti operaci automatu
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_IDNasledujiciOperaceAutomat') IS NOT NULL)
|
||||
SET @idPrednaOpAutomat = (SELECT _IDNasledujiciOperaceAutomat FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOp)
|
||||
IF (COL_LENGTH(N'dbo.TabPredna_EXT', N'_CisloOperace') IS NOT NULL) AND (@idPrednaOpAutomat IS NOT NULL)
|
||||
SELECT @operPrednaOpAutomat = _CisloOperace FROM dbo.TabPredna_EXT WHERE ID=@idPrednaOpAutomat
|
||||
SET @operPrednaOpAutomat = ISNULL(@operPrednaOpAutomat, N'')
|
||||
SET @casSekOperPredaAutomat = ISNULL( (SELECT TAC_Obsluhy_J_S FROM dbo.TabPredna WHERE ID=@idPrednaOpAutomat), 0)
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikaz WHERE ID=@idVPr AND StavPrikazu IN (20,30,40) AND BlokovaniEditoru IS NULL)
|
||||
AND EXISTS(SELECT 1 FROM dbo.TabPredna WHERE ID=@idPrednaOp AND BlokovaniEditoru IS NULL)
|
||||
SELECT @typOper=Typ, @nazevOp=nazev, @idPrac=IDpracoviste, @idStroj=IDStroje, @idKoop=IDkooperace
|
||||
FROM dbo.TabPredna WHERE ID=@idPrednaOp
|
||||
END
|
||||
|
||||
SET @idPrP = (SELECT TOP(1) ID FROM dbo.TabPrPostup WHERE priorita=0 AND IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND typ=@typOper AND operace=@operPredna)
|
||||
/*
|
||||
SET @idPrP = (SELECT TOP(1) ID FROM dbo.TabPrPostup WHERE IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND typ=@typOper AND nazev=@nazevOp
|
||||
AND ISNULL(pracoviste,0)=ISNULL(@idPrac,0) AND ISNULL(IDkooperace,0)=ISNULL(@idKoop,0) AND ISNULL(IDStroje,0)=ISNULL(@idStroj,0))
|
||||
*/
|
||||
SELECT @jeOdvadeci=Odvadeci, @dokl=Doklad, @alt=Alt FROM dbo.TabPrPostup WHERE ID=@idPrP
|
||||
SET @ksEvid = ISNULL( (SELECT SUM(kusy_odv+kusy_zmet_opr+kusy_zmet_neopr) FROM dbo.TabPrikazMzdyAZmetky
|
||||
WHERE IDPrikaz=@idVPr AND DokladPrPostup=@dokl AND AltPrPostup=@alt), 0)
|
||||
-- muzu jeste odvest kusy ?
|
||||
IF (@jeOdvadeci=1) AND (@ksEvid>=@ksZive)
|
||||
BEGIN
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), PosledniChyba=N'Nelze evidovat, uz je vse odvedeno' WHERE ID=@idJson
|
||||
CONTINUE
|
||||
END
|
||||
|
||||
|
||||
SET @idMzdy = NULL
|
||||
SET @iChyba = -1
|
||||
SET @idEvidROp = (SELECT TOP(1) h.ID FROM dbo.TabEvidRozpracOperR r INNER JOIN dbo.TabEvidRozpracOper h ON (h.ID=r.IDEvidRozpracOper)
|
||||
WHERE h.IDZamestnance=@idZam AND h.CasUkonceni IS NULL AND r.DokladPrPostup=@dokl AND r.AltPrPostup=@alt AND r.IDPrikaz=@idVPr)
|
||||
IF (@idEvidROp IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @idPracOld=IDPracoviste FROM dbo.TabEvidRozpracOper WHERE ID=@idEvidROp
|
||||
SET @skCasSek = DATEDIFF(s, @datStart, @datKonec)
|
||||
UPDATE dbo.TabEvidRozpracOperR SET Mnoz_odv=CASE WHEN (@jeOdvadeci=1) THEN 1 ELSE 0 END,
|
||||
Sk_cas=CASE Sk_Cas_T WHEN 0 THEN @skCasSek WHEN 1 THEN (@skCasSek/60.0) WHEN 2 THEN (@skCasSek/3600.0) END,
|
||||
Sk_cas_Obsluhy=CASE Sk_Cas_Obsluhy_T WHEN 0 THEN @skCasSek WHEN 1 THEN (@skCasSek/60.0) WHEN 2 THEN (@skCasSek/3600.0) END
|
||||
WHERE IDEvidRozpracOper=@idEvidROp
|
||||
UPDATE dbo.TabEvidRozpracOper SET CasUkonceni=@datKonec, CelkovyCas_T=0, CelkovyCas=DATEDIFF(s, @datStart, @datKonec) WHERE ID=@idEvidROp
|
||||
EXEC dbo.hp_EvidRozpracOper_AktualizaceCasuOper @IDEvidRozpracOper=@idEvidROp, @CelkovyCas_S=@skCasSek, @KVO=1
|
||||
|
||||
SET @idEvidROpPol = (SELECT TOP(1) ID FROM dbo.TabEvidRozpracOperR WHERE IDEvidRozpracOper=@idEvidROp AND IDPrikaz=@idVPr AND DokladPrPostup=@dokl AND AltPrPostup=@alt)
|
||||
EXEC @idMzdy = dbo.hp_EvidenceOperace @IDEvidRozpracOperR=@idEvidROpPol, @Stav=0
|
||||
UPDATE dbo.TabEvidRozpracOper SET DatumUzavreni=GETDATE(), AutorUzavreni=SUSER_SNAME() WHERE ID=@idEvidROp
|
||||
|
||||
IF (@idMzdy IS NOT NULL) AND (@idPracOld IS NOT NULL)
|
||||
EXEC dbo.hp_ZmenaStavuMezdAZmetku @ID=@idMzdy, @Stav=1, @ZapisZmenu=0
|
||||
END -- @idEvidROp IS NOT NULL
|
||||
|
||||
|
||||
IF (@idMzdy IS NOT NULL)
|
||||
BEGIN
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET Datum=CONVERT(datetime, CONVERT(int, CONVERT(float, @datStart))) WHERE ID=@idMZdy
|
||||
|
||||
SELECT @datKonecOp = DatumUkonceniOp FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@idMzdy
|
||||
|
||||
-- zkus zaevidovat operaci automatu
|
||||
IF (@operPrednaOpAutomat<>N'')
|
||||
BEGIN
|
||||
-- pouzij cas ukonceni predchozi operace
|
||||
SET @datStart = DATEADD(second, 1, @datKonecOp)
|
||||
SET @datKonec = DATEADD(second, @casSekOperPredaAutomat, @datStart)
|
||||
|
||||
SELECT @doklAutomat=Doklad, @altAutomat=Alt FROM dbo.TabPrPostup WHERE IDPrikaz=@idVPr AND IDOdchylkyDo IS NULL AND Operace=@operPrednaOpAutomat
|
||||
IF (@doklAutomat IS NOT NULL)
|
||||
BEGIN
|
||||
SET @idMzdyAutomat = NULL
|
||||
EXEC @idMzdyAutomat = dbo.hp_EvidenceOperace @IDPrikaz=@idVPr, @Doklad=@doklAutomat, @Alt=@altAutomat, @Datum=@datStart, @IDVyrCis=@idVCPrik,
|
||||
@Sk_Cas_S=@casSekOperPredaAutomat, @Sk_Cas_Obsluhy_S=0, @IDZam=@idZam,
|
||||
@DatumZahajeniOp=@datStart, @DatumUkonceniOp=@datKonec
|
||||
END
|
||||
END
|
||||
|
||||
-- generuj vydejku materialu
|
||||
SET @sz = NULL
|
||||
DELETE FROM #TabJSONData
|
||||
INSERT #TabJSONData (doc) SELECT @operJson
|
||||
DECLARE m CURSOR LOCAL FOR
|
||||
SELECT m.skupina, m.regcis, m.quantity
|
||||
FROM #TabJSONData d
|
||||
CROSS APPLY OPENJSON(d.doc, N'$.material')
|
||||
WITH (skupina NVARCHAR(3), regcis NVARCHAR(30), quantity NUMERIC(19,6)) AS m
|
||||
OPEN m
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM m INTO @sz, @rc, @mnoz
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
SET @idKZ = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
|
||||
IF (@idKZ IS NOT NULL)
|
||||
BEGIN
|
||||
UPDATE dbo.TabKmenZbozi SET Material=1 WHERE ID=@idKZ AND Dilec=0 AND Material=0
|
||||
SET @idPrKVazby=(SELECT TOP(1) ID FROM dbo.TabPrKVazby WHERE IDOdchylkyDo IS NULL AND IDPrikaz=@idVPr
|
||||
AND vyssi=@idDilec AND nizsi=@idKZ ORDER BY Prednastaveno DESC)
|
||||
IF (@idPrKVazby IS NULL)
|
||||
EXEC @idPrKVazby = dbo.hp_NewPozadavek_TabPrKVazby @IDPrikaz=@idVPr, @IDKmenZbozi=@idKZ, @Mnozstvi=@mnoz
|
||||
SET @dokl = NULL
|
||||
IF (@idPrKVazby IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @dokl=Doklad FROM dbo.TabPrKVazby WHERE ID=@idPrKVazby
|
||||
SELECT @mnozstviPomer_A=(MZ.kusy_odv+MZ.kusy_zmet_opr+MZ.kusy_zmet_neopr), @mnozstviPomer_B=PrP.kusy_zad
|
||||
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)
|
||||
WHERE MZ.ID=@idMzdy
|
||||
INSERT INTO #HDCTabPrKVazbyGenPredna (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, @mnoz, @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=@idPrKVazby AND PrKV.uzavreno=0
|
||||
SET @idGenVydejPrednaPol = SCOPE_IDENTITY()
|
||||
|
||||
-- pokud neni prednastaveny sklad pro vydej, zkus to z rady prikazu
|
||||
UPDATE #HDCTabPrKVazbyGenPredna SET Sklad=@sklProVydej WHERE ID=@idGenVydejPrednaPol AND Sklad IS NULL AND @sklProVydej IS NOT NULL
|
||||
|
||||
IF (@dokl IS NOT NULL)
|
||||
INSERT INTO #HDCTabPrKVazbyGen_IDMzdyPredna (IDPrikaz, Doklad, IDMzdy) SELECT @idVPr, @dokl, @idMzdy
|
||||
END -- idPrKVazby IS NOT NULL
|
||||
END -- idKZ
|
||||
END
|
||||
CLOSE m
|
||||
DEALLOCATE m
|
||||
|
||||
SET @debugXML = (SELECT * FROM #HDCTabPrKVazbyGenPredna FOR XML AUTO)
|
||||
|
||||
|
||||
IF (@idMzdy IS NOT NULL) AND (@sz IS NOT NULL) -- pokud prosel loopem na materialy, sz nemuze byt null
|
||||
IF OBJECT_ID(N'dbo.ep_Vyroba_GenVydejZeMzdy', N'P') IS NOT NULL
|
||||
BEGIN
|
||||
SET @idDZ = NULL
|
||||
BEGIN TRY
|
||||
EXEC @iChyba = dbo.ep_Vyroba_GenVydejZeMzdy @IDMzdy=@idMzdy, @IDDoklad=@idDZ OUT, @errMsg=@errMsg OUT, @realizujVydej=1
|
||||
IF (@errMsg<>N'')
|
||||
UPDATE dbo.TabDokladyZbozi SET BLokovaniEditoru=NULL WHERE ID=@idDZ
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
|
||||
END CATCH
|
||||
END
|
||||
|
||||
|
||||
-- pokud je odvadeci, generuj odvod na sklad
|
||||
IF (@idMzdy IS NOT NULL) AND (@jeOdvadeci=1)
|
||||
BEGIN
|
||||
IF OBJECT_ID(N'dbo.ep_Vyroba_GenOdvodZeMzdy', N'P') IS NOT NULL
|
||||
BEGIN
|
||||
SET @idDZ = NULL
|
||||
BEGIN TRY
|
||||
EXEC @iChyba = dbo.ep_Vyroba_GenOdvodZeMzdy @IDMzdy=@idMzdy, @bezVyrCis=0, @errMsg=@errMsg OUT, @realizujPrijem=1, @IDDoklad=@idDZ OUT
|
||||
IF (@errMsg<>N'')
|
||||
UPDATE dbo.TabDokladyZbozi SET BLokovaniEditoru=NULL WHERE ID=@idDZ
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZ
|
||||
END CATCH
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
END -- idMzdy IS NOT NULL
|
||||
END -- idVPr IS NOT NULL AND operJson IS NOT NULL
|
||||
|
||||
SET @errMsg = ISNULL(@errMsg,N'')
|
||||
IF (@errMsg<>N'')
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET PosledniChyba=N'CHYBA: ' + @errMsg WHERE ID=@idJson
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), IDMzda=@idMzdy WHERE ID=@idJson
|
||||
END -- akce Stop
|
||||
|
||||
END -- objekt Operace AND idZam IS NOT NULL
|
||||
|
||||
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
SET @errProc = ERROR_PROCEDURE()
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
UPDATE dbo._hdc_ph_PrijataJsonData SET DatZpracovani=GETDATE(), PosledniChyba=N'CHYBA: ' + @errMsg WHERE ID=@idJson
|
||||
END CATCH
|
||||
|
||||
END
|
||||
CLOSE j
|
||||
DEALLOCATE j
|
||||
|
||||
|
||||
|
||||
-- cisteni
|
||||
DROP TABLE IF EXISTS #HDCTabPrKVazbyGenPredna
|
||||
DROP TABLE IF EXISTS #TabJSONData
|
||||
223
_custom/INCOSystems/sql/ep_Vyroba_GenOdvodZeMzdy.sql
Normal file
223
_custom/INCOSystems/sql/ep_Vyroba_GenOdvodZeMzdy.sql
Normal file
@ -0,0 +1,223 @@
|
||||
-- dbo.ep_Vyroba_GenOdvodZeMzdy
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenOdvodZeMzdy
|
||||
@IDMzdy INT,
|
||||
@bezVyrCis BIT=1,
|
||||
@errMsg NVARCHAR(500)=N'' OUT,
|
||||
@realizujPrijem BIT=0,
|
||||
@IDDoklad INT=NULL OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu sluzby HDCAPI !!
|
||||
-- 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
|
||||
@ret integer,
|
||||
@bChyba BIT,
|
||||
@idUziv INT,
|
||||
@idDZ INT,
|
||||
@IDPrikaz INT,
|
||||
@IDKmen INT,
|
||||
@NekontrolMnozOdvedFinal bit=0,
|
||||
@mnozstvi numeric(19,6)=0,
|
||||
@radaOdvNaSklad NVARCHAR(3)=NULL,
|
||||
@sklProOdvod NVARCHAR(30)=NULL,
|
||||
@radaVPr NVARCHAR(10)
|
||||
|
||||
|
||||
|
||||
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=RadaOdvodNaSklad, @sklProOdvod=SkladProOdvod, @bezVyrCis=ISNULL(BezVyrobnichCisel,@bezVyrCis),
|
||||
@idUziv=ISNULL(IDUziv, @idUziv)
|
||||
FROM #HDCTabGenOdvodZeMzdyKonfig
|
||||
|
||||
|
||||
|
||||
|
||||
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 0
|
||||
|
||||
|
||||
SELECT @mnozstvi=kusy_odv FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanoOdvadeni=1 WHERE ID=@IDMzdy
|
||||
IF (@@ROWCOUNT=0) RETURN 0
|
||||
IF @mnozstvi<=0.0 RETURN 0
|
||||
|
||||
|
||||
|
||||
SELECT @IDPrikaz=IDPrikaz FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
SELECT @radaVPr=Rada, @IDKmen=IDTabKmen 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
|
||||
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
EXEC dbo.hp_PrednabidniTabVyrCisProGenOdv @ProIDPrikaz=NULL
|
||||
IF (@bezVyrCis=1)
|
||||
DELETE #TabVyrCisProGenOdv
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@realizujPrijem=1)
|
||||
BEGIN
|
||||
DECLARE
|
||||
@idPrij INT
|
||||
|
||||
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
|
||||
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
END CATCH
|
||||
|
||||
END
|
||||
CLOSE prij
|
||||
DEALLOCATE prij
|
||||
END
|
||||
|
||||
|
||||
|
||||
SET @IDDoklad = NULL
|
||||
IF (1=(SELECT COUNT(*) FROM #TabGenPrijem))
|
||||
SET @IDDoklad=(SELECT TOP(1) ID FROM #TabGenPrijem)
|
||||
|
||||
|
||||
|
||||
-- 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
|
||||
309
_custom/INCOSystems/sql/ep_Vyroba_GenVydejZeMzdy.sql
Normal file
309
_custom/INCOSystems/sql/ep_Vyroba_GenVydejZeMzdy.sql
Normal file
@ -0,0 +1,309 @@
|
||||
-- dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
@IDMzdy INT,
|
||||
@IDDoklad INT=NULL OUT,
|
||||
@errMsg NVARCHAR(500)=N'' OUT,
|
||||
@extTab NVARCHAR(50)=NULL,
|
||||
@vydejAll BIT=0,
|
||||
@realizujVydej BIT=0
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri 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
|
||||
|
||||
DECLARE @vydejky TABLE (ID INT NOT NULL)
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
DELETE FROM @vydejky
|
||||
|
||||
|
||||
|
||||
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 NTEXT 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,
|
||||
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,
|
||||
@IDPrikaz int=NULL,
|
||||
@dilec INT,
|
||||
@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,
|
||||
@skladProVydejKZ NVARCHAR(30)
|
||||
|
||||
|
||||
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
|
||||
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)
|
||||
WHERE MZ.ID=@IDMzdy
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanaMatVydejka=1 WHERE ID=@IDMzdy
|
||||
IF (@@ROWCOUNT=0)
|
||||
RETURN 0
|
||||
|
||||
|
||||
SELECT @dilec=IDTabKmen FROM dbo.TabPrikaz WHERE ID=@IDPrikaz
|
||||
IF OBJECT_ID('dbo.TabKmenZbozi_EXT', 'U') IS NOT NULL
|
||||
IF COL_LENGTH('dbo.TabKmenZbozi_EXT', '_SkladProVydejMat') IS NOT NULL
|
||||
SET @skladProVydejKZ = (SELECT _SkladProVydejMat FROM dbo.TabKmenZbozi_EXT WHERE ID=@dilec)
|
||||
SET @skladProVydejKZ = ISNULL(@skladProVydejKZ, N'')
|
||||
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
END
|
||||
|
||||
-- preddefinvana tabulka vyrobnich cisel
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabPrKVazbyGenVCPredna', N'U') IS NOT NULL
|
||||
BEGIN
|
||||
DELETE FROM #TabPrKVazbyGenVC
|
||||
INSERT INTO #TabPrKVazbyGenVC
|
||||
SELECT IDPolozky, VyrCislo, Mnozstvi, Sklad, IDKmenZbozi, IDVyrCP FROM #HDCTabPrKVazbyGenVCPredna
|
||||
END
|
||||
|
||||
|
||||
-- ext info k dilci, sklad, ze kterho se ma vydavat material
|
||||
IF (@skladProVydejKZ<>N'')
|
||||
UPDATE #TabPrKVazbyGen SET Sklad=@skladProVydejKZ
|
||||
|
||||
|
||||
|
||||
|
||||
EXEC dbo.hp_AktualizaceTabPrKVazbyGenVC @Vratka=0
|
||||
UPDATE #TabPrKVazbyGen SET Generuj=1
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabGenRezVyd
|
||||
CREATE TABLE #TabGenRezVyd (ID int NOT NULL, PRIMARY KEY (ID))
|
||||
|
||||
|
||||
BEGIN TRY
|
||||
EXEC @retVal=dbo.hp_generujRezVyd @RadaDokladu=NULL, @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
|
||||
|
||||
|
||||
|
||||
INSERT @vydejky (ID) SELECT ID FROM #TabGenRezVyd
|
||||
|
||||
DECLARE
|
||||
@idVyd INT,
|
||||
@idKZ INT,
|
||||
@idPZ INT
|
||||
|
||||
IF (@realizujVydej=1)
|
||||
BEGIN
|
||||
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
|
||||
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()
|
||||
END CATCH
|
||||
END
|
||||
CLOSE vyd
|
||||
DEALLOCATE vyd
|
||||
END
|
||||
|
||||
|
||||
|
||||
IF (1=(SELECT COUNT(*) FROM @vydejky))
|
||||
SET @IDDoklad=(SELECT TOP(1) ID FROM @vydejky)
|
||||
|
||||
|
||||
|
||||
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/INCOSystems/sql/ep_Vyroba_InsertEvidRozpracOper.sql
Normal file
75
_custom/INCOSystems/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
|
||||
@ -0,0 +1,67 @@
|
||||
-- dbo.ep_Vyroba_InsertEvidRozpracOperPol
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_InsertEvidRozpracOperPol
|
||||
@IdEvidRozpOper INT,
|
||||
@IdPrikaz INT,
|
||||
@doklPrPost INT,
|
||||
@altPrPost NCHAR(1),
|
||||
@IdVyrCis INT=NULL,
|
||||
@mnozOdv NUMERIC(19,6)=0,
|
||||
@skCas NUMERIC(19,6)=0,
|
||||
@skCasT TINYINT=1,
|
||||
@skCasObsl NUMERIC(19,6)=0,
|
||||
@skCasObslT TINYINT=1,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@idEROpPol INT=NULL
|
||||
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#TabExtKom', N'U') IS NULL
|
||||
CREATE TABLE #TabExtKom (Typ TINYINT, Poznamka NVARCHAR(255) NOT NULL DEFAULT N'')
|
||||
|
||||
|
||||
|
||||
-- cisteni identity
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
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 OBJECT_ID(N'dbo.ep_Vyroba_InsertEvidRozpracOperPol_Po', N'P') IS NOT NULL
|
||||
EXEC dbo.ep_Vyroba_InsertEvidRozpracOperPol_Po @idEROpPol
|
||||
|
||||
|
||||
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, LEFT(@errMsg,255)
|
||||
SET @idEROpPol = NULL
|
||||
END CATCH
|
||||
|
||||
RETURN @idEROpPol
|
||||
160
_custom/INCOSystems/uCtrlCustom.pas
Normal file
160
_custom/INCOSystems/uCtrlCustom.pas
Normal file
@ -0,0 +1,160 @@
|
||||
unit uCtrlCustom;
|
||||
|
||||
interface
|
||||
{$I 'GlobalDefs.inc'}
|
||||
|
||||
uses
|
||||
MVCframework,
|
||||
MVCframework.Commons,
|
||||
MVCframework.Serializer.Commons,
|
||||
// MVCframework.Serializer.Intf,
|
||||
System.Generics.Collections, // kvuli TDictionary
|
||||
System.RegularExpressions,
|
||||
// JsonDataObjects,
|
||||
uCommons, // kvuli EServiceException
|
||||
uCtrlBase,
|
||||
// uSvc_Base,
|
||||
helTabsBIDs,
|
||||
uHeOObj_Base,
|
||||
uHeOObj_Custom,
|
||||
uSvcCustom,
|
||||
MVCFramework.Swagger.Commons; // kvuli dokumentaci
|
||||
|
||||
type
|
||||
|
||||
[MVCPath('/inco')]
|
||||
TINCOsysController = class(TBaseController)
|
||||
{
|
||||
strict private
|
||||
FSelfSvc: TINCOSysService;
|
||||
strict protected
|
||||
function GetINCOSysService: TINCOSysService;
|
||||
}
|
||||
public
|
||||
destructor Destroy; override;
|
||||
|
||||
[MVCPath('/zapisjson')] // zapis obecnych json data do Heliosu
|
||||
[MVCHTTPMethod([httpPOST])]
|
||||
[MVCSwagSummary('INCOSystems', 'Z<>pis JSON dat do db Heliosu', 'INCOZapisJSONDoHeliosu')]
|
||||
[MVCConsumes(TMVCMediaType.APPLICATION_JSON)]
|
||||
procedure ZapisJSONDoHeliosu (CTX: TWebContext);
|
||||
|
||||
[MVCPath('/poslednievidence')]
|
||||
[MVCHTTPMethod([httpGET])]
|
||||
[MVCSwagSummary('Skupina karet', 'Vrac<61> data skupiny karet dle jej<65>ho k<>du')]
|
||||
[MVCSwagParam(plQuery, 'idprikaz', 'ID vyrobniho prikazu', ptString, false, '1')]
|
||||
procedure PosledniEvidOperacePrikazu ([MVCFromQueryString('idprikaz', '')] sIdPrikaz: string=''
|
||||
);
|
||||
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
FireDAC.Stan.Option,
|
||||
FireDAC.Comp.Client,
|
||||
FireDAC.Stan.Param,
|
||||
MVCFramework.FireDAC.Utils,
|
||||
MVCFramework.DataSet.Utils,
|
||||
System.StrUtils,
|
||||
System.SysUtils,
|
||||
System.JSON,
|
||||
JsonDataObjects,
|
||||
Winapi.ActiveX,
|
||||
uDataMod,
|
||||
Quick.Logger;
|
||||
|
||||
const
|
||||
selSloupce = '';
|
||||
{$I globalConsts.inc}
|
||||
|
||||
|
||||
|
||||
|
||||
{ TINCOSysController }
|
||||
destructor TINCOSysController.Destroy;
|
||||
begin
|
||||
// FSelfSvc.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
|
||||
{
|
||||
function TINCOSysController.GetINCOSysService: TINCOSysService;
|
||||
begin
|
||||
inherited;
|
||||
if not Assigned(FSelfSvc) then
|
||||
FSelfSvc:= TINCOSysService.Create (datMod);
|
||||
result:= FSelfSvc;
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
|
||||
procedure TINCOSysController.ZapisJSONDoHeliosu (CTX: TWebContext);
|
||||
var respData, jsonData: string;
|
||||
// o: System.JSON.TJSONObject;
|
||||
begin
|
||||
respData:= '';
|
||||
try
|
||||
jsonData:= CTX.Request.Body.Trim;
|
||||
if (jsonData<>'') then
|
||||
GetINCOSysService.ZapisJsonDoHeliosu (jsonData, respData);
|
||||
ResponseStatus(HTTP_STATUS.OK, 'OK');
|
||||
Render(respData);
|
||||
except
|
||||
{$IFDEF NORENDER400}
|
||||
RenderStatusMessage (200);
|
||||
{$ELSE}
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end
|
||||
else
|
||||
raise;
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TINCOSysController.PosledniEvidOperacePrikazu (sIdPrikaz: string='');
|
||||
var idPrikaz: integer;
|
||||
params: TDictionary<string, string>;
|
||||
begin
|
||||
params:= TDictionary<string, string>.Create;
|
||||
|
||||
idPrikaz:= 0;
|
||||
sIdPrikaz:= sanitizeSQLString(sIdPrikaz);
|
||||
if not(TryStrToInt(sIdPrikaz, idPrikaz)) then
|
||||
idPrikaz:= 0;
|
||||
|
||||
if (idPrikaz>0) then
|
||||
params.Add('idPrikaz', idPrikaz.ToString);
|
||||
|
||||
params.Add('jenPosledni', '1');
|
||||
|
||||
|
||||
try
|
||||
Render(ObjectDict().Add('data', GetVyrobaEvidenceOperaciService.GetByParams (params)));
|
||||
except
|
||||
{$IFDEF NORENDER400}
|
||||
RenderStatusMessage (200);
|
||||
{$ELSE}
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end
|
||||
else
|
||||
raise;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
264
_custom/INCOSystems/uHeOObj_Custom.pas
Normal file
264
_custom/INCOSystems/uHeOObj_Custom.pas
Normal file
@ -0,0 +1,264 @@
|
||||
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;
|
||||
|
||||
|
||||
|
||||
type
|
||||
[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.
|
||||
140
_custom/INCOSystems/uSvcCustom.pas
Normal file
140
_custom/INCOSystems/uSvcCustom.pas
Normal file
@ -0,0 +1,140 @@
|
||||
unit uSvcCustom;
|
||||
|
||||
interface
|
||||
{$I 'GlobalDefs.inc'}
|
||||
|
||||
uses
|
||||
System.Classes,
|
||||
System.JSON,
|
||||
System.Generics.Collections,
|
||||
Winapi.ActiveX,
|
||||
System.DateUtils,
|
||||
System.SysUtils,
|
||||
JsonDataObjects,
|
||||
uSvc_Base,
|
||||
uCommons, // kvuli EServiceException
|
||||
helTabsBIDs,
|
||||
uHeoObj_Base,
|
||||
uHeOObj_Custom,
|
||||
uHeoObj_Vyroba,
|
||||
uSvc_ObehZbozi,
|
||||
uSvc_Vyroba;
|
||||
|
||||
|
||||
const
|
||||
{$I C:\_zakaznici\pluginy_obecne\HDCApi2\globalConsts.inc}
|
||||
|
||||
|
||||
type
|
||||
TINCOSysService = class(TServiceBase)
|
||||
public
|
||||
procedure ZapisJsonDoHeliosu (jsonData: string; var respString: string);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
System.StrUtils,
|
||||
FireDAC.Stan.Option,
|
||||
FireDAC.Comp.Client,
|
||||
FireDAC.Stan.Param,
|
||||
MVCFramework.FireDAC.Utils,
|
||||
MVCFramework.DataSet.Utils,
|
||||
MVCFramework.Serializer.Commons;
|
||||
|
||||
|
||||
|
||||
|
||||
{ TINCOSysService }
|
||||
|
||||
procedure TINCOSysService.ZapisJsonDoHeliosu (jsonData: string; var respString: string);
|
||||
var lSQL, taskStr, strTmp, strTmp2, code, rs, guidIdent: string;
|
||||
guid: TGuid;
|
||||
akce: string;
|
||||
j, t, a, v: JsonDataObjects.TJSONObject;
|
||||
i, ii, taskDZId, taskId, intTemp, idJSON: integer;
|
||||
jeOld: boolean;
|
||||
lQry: TFDQuery;
|
||||
w: TStreamWriter;
|
||||
jo: System.JSON.TJsonObject;
|
||||
begin
|
||||
idJSON:= 0;
|
||||
respString:= '[';
|
||||
|
||||
jo:= System.JSON.TJsonObject.Create;
|
||||
|
||||
jsonData:= jsonData.Trim;
|
||||
if (jsonData<>'') then
|
||||
begin
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.Connection:= FDM.sqlConn;
|
||||
try
|
||||
CoCreateGuid(guid);
|
||||
if (System.SysUtils.CreateGUID(guid)=S_OK) then
|
||||
guidIdent:= System.SysUtils.GUIDToString(guid)
|
||||
else
|
||||
guidIdent:= self.NewUUID32;
|
||||
lSQL:= 'INSERT ' + tblPrijataJsonData + ' (IdPHIdent, GUIDIdent, JSONData) SELECT 0, CONVERT(uniqueidentifier, N' + guidIdent.QuotedString + '), N' + jsonData.QuotedString;
|
||||
FDM.sqlConn.ExecSQL(lSQL);
|
||||
lSQL:= 'SELECT ID FROM ' + tblPrijataJsonData + ' WHERE GUIDIdent=CONVERT(uniqueidentifier, N' + guidIdent.QuotedString + ')';
|
||||
lQry.Open(lSQL);
|
||||
if (lQry.RecordCount=1) then
|
||||
begin
|
||||
idJSON:= lQry.FieldByName('ID').AsInteger;
|
||||
respString:= 'OK';
|
||||
jo.AddPair('heliosid', idJSON.ToString);
|
||||
end;
|
||||
except on E:Exception do
|
||||
begin
|
||||
respString:= 'NOT OK';
|
||||
raise EServiceException.Create('Chyba zápisu JSON dat: ' + E.Message);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
FreeAndNil(lQry);
|
||||
end;
|
||||
|
||||
|
||||
CoInitialize(nil);
|
||||
j:= TJsonObject.Parse(jsonData) as JsonDataObjects.TJsonObject;
|
||||
try
|
||||
if (j<>nil) then
|
||||
if (j.Contains('akce')) then
|
||||
begin
|
||||
akce:= j.S['akce'].Trim;
|
||||
if (idJSON>0) and (akce<>'') then
|
||||
FDM.sqlConn.ExecSQL('UPDATE ' + tblPrijataJsonData + ' SET Akce=N' + akce.QuotedString + ' WHERE ID=' + idJSON.ToString);
|
||||
{
|
||||
for i:=0 to j['tasks'].Count-1 do
|
||||
begin
|
||||
try
|
||||
t:= j['tasks'].Items[i];
|
||||
taskDZId:= t.I['id']; // j['tasks'].Items[i].I['id'];
|
||||
taskStr:= j['tasks'].Items[i].ObjectValue.ToString;
|
||||
except on E:Exception do
|
||||
end;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
finally
|
||||
j.Free;
|
||||
end;
|
||||
CoUninitialize;
|
||||
|
||||
end
|
||||
else
|
||||
respString:= 'NO input data';
|
||||
|
||||
jo.AddPair('status', respString);
|
||||
respString:= '[' +respString + ']';
|
||||
|
||||
respString:= jo.ToString;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
end.
|
||||
5
_custom/INCOSystems/uTabs.inc
Normal file
5
_custom/INCOSystems/uTabs.inc
Normal file
@ -0,0 +1,5 @@
|
||||
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
|
||||
2
_custom/INCOSystems/uWebModCustom.inc
Normal file
2
_custom/INCOSystems/uWebModCustom.inc
Normal file
@ -0,0 +1,2 @@
|
||||
FEngine.AddController (TINCOsysController);
|
||||
|
||||
BIN
_custom/INCOSystems/zdroje.RES
Normal file
BIN
_custom/INCOSystems/zdroje.RES
Normal file
Binary file not shown.
9
_custom/INCOSystems/zdroje.rc
Normal file
9
_custom/INCOSystems/zdroje.rc
Normal file
@ -0,0 +1,9 @@
|
||||
col_TabPredna_EXT RCDATA .\sql\col_TabPredna_EXT.sql
|
||||
col_TabKmenZbozi_EXT RCDATA .\sql\col_TabKmenZbozi_EXT.sql
|
||||
col_TabEvidRozpracOper_EXT RCDATA .\sql\col_TabEvidRozpracOper_EXT.sql
|
||||
col_TabPrPostup_EXT RCDATA .\sql\col_TabPrPostup_EXT.sql
|
||||
ep_Vyroba_GenVydejZeMzdy RCDATA .\sql\ep_Vyroba_GenVydejZeMzdy.sql
|
||||
ep_Vyroba_GenOdvodZeMzdy RCDATA .\sql\ep_Vyroba_GenOdvodZeMzdy.sql
|
||||
ep_Vyroba_InsertEvidRozpracOper RCDATA .\sql\ep_Vyroba_InsertEvidRozpracOper.sql
|
||||
ep_Vyroba_InsertEvidRozpracOperPol RCDATA .\sql\ep_Vyroba_InsertEvidRozpracOperPol.sql
|
||||
ep_HDCDZApi_ZpracujPrijataData RCDATA .\sql\ep_HDCDZApi_ZpracujPrijataData.sql
|
||||
Reference in New Issue
Block a user