Dalsi zmeny
This commit is contained in:
BIN
_custom/Rootvin/hdcDZAPIcfg.dat
Normal file
BIN
_custom/Rootvin/hdcDZAPIcfg.dat
Normal file
Binary file not shown.
47
_custom/Rootvin/sql/bp_Gatema_SDDecodeBarCode.sql
Normal file
47
_custom/Rootvin/sql/bp_Gatema_SDDecodeBarCode.sql
Normal file
@ -0,0 +1,47 @@
|
||||
-- dbo.BP_Gatema_SDDecodeBarCode
|
||||
CREATE PROCEDURE dbo.BP_Gatema_SDDecodeBarCode
|
||||
@TypBC NVARCHAR(50), -- '', 'CODABAR', 'EAN 13', 'EAN 128', 'CODE 128', 'CODE 39', 'DATAMATRIX', 'QRCODE', 'I2OF5', 'EAN 8', 'PDF417'
|
||||
@BarCode NVARCHAR(2000),
|
||||
@Pozadavek INT, -- -1=um<75>st<73>n<EFBFBD>, 0=SSCC, 1=BC zbo<62><6F>, 10=<3D>ar<61>e, 15=dat.exp., 30=mno<6E>stv<74>, 90=ID p<><70>kaz
|
||||
@IDOrg INT=NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- Vol<6F> se p<>i pokusu z<>skat z <20><>rov<6F>ho k<>du konkr<6B>tn<74> informaci. Pokud procedura nechce prov<6F>d<EFBFBD>t dek<65>dov<6F>n<EFBFBD>, tak se jen ukon<6F><6E>,
|
||||
-- v opa<70>n<EFBFBD>m p<><70>pad<61> vrac<61> jeden z<>znam s jedn<64>m po<70>adovan<61>m <20>dajem (typ text/datum/<2F><>slo)
|
||||
-- Pokud vr<76>t<EFBFBD> z<>znam (text/<2F><>slo/datum), tak standardn<64> dek<65>dov<6F>n<EFBFBD> se ji<6A> nebude prov<6F>d<EFBFBD>t
|
||||
|
||||
-- IF (@Pozadavek=1) AND (@TypBC=N'PDF417')
|
||||
-- SELECT LEFT(@BarCode,4)
|
||||
|
||||
DECLARE
|
||||
@fncCode INT,
|
||||
@typ NVARCHAR(50)=N'???',
|
||||
@vraceno NVARCHAR(50)=N'',
|
||||
@l SMALLINT
|
||||
|
||||
|
||||
|
||||
IF (@Pozadavek=-1)
|
||||
SET @typ=N'um<EFBFBD>st<EFBFBD>n<EFBFBD>'
|
||||
IF (@Pozadavek=1)
|
||||
SET @typ=N'barcode'
|
||||
IF (@Pozadavek=10)
|
||||
SET @typ=N'<EFBFBD>ar<EFBFBD>e'
|
||||
IF (@Pozadavek=15)
|
||||
SET @typ=N'dat.exp.'
|
||||
IF (@Pozadavek=30)
|
||||
SET @typ=N'mno<EFBFBD>stv<EFBFBD>'
|
||||
IF (@Pozadavek=90)
|
||||
SET @typ=N'ID p<><70>kaz'
|
||||
IF (@typ=N'???')
|
||||
SET @typ=CONVERT(nvarchar, @Pozadavek)
|
||||
|
||||
|
||||
SET @l = LEN(@BarCode)
|
||||
|
||||
|
||||
INSERT dbo._hdc_ph_Log (LogText) SELECT @typ + N' >> ' + @Barcode
|
||||
|
||||
|
||||
END
|
||||
19
_custom/Rootvin/sql/col_TabPostup_EXT.sql
Normal file
19
_custom/Rootvin/sql/col_TabPostup_EXT.sql
Normal file
@ -0,0 +1,19 @@
|
||||
DECLARE @currDat DATETIME=GETDATE()
|
||||
IF (COL_LENGTH(N'dbo.TabPostup_EXT', N'_PlanovanaOperace') IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPostup', @NazevAtrSys=N'_PlanovanaOperace', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Operace pro KapacPl',
|
||||
@NazevAtrVerZkr=N'Pl<EFBFBD>novan<EFBFBD> operace', @TypAtr=N'BIT', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=16, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=1,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'BIT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'Operace pro kapacitn<74> pl<70>n', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @VazbaTypMoje=2
|
||||
EXEC dbo.hp_ExterniTabulka @Tab=N'TabPostup', @Atr=N'_PlanovanaOperace', @Typ=N'BIT'
|
||||
END
|
||||
|
||||
IF (COL_LENGTH(N'dbo.TabPostup_EXT', N'_RychlostOperKsHod') IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPostup', @NazevAtrSys=N'_RychlostOperKsHod', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Rychlost operace (ks/hod)',
|
||||
@NazevAtrVerZkr=N'Rychlost ks/hod', @TypAtr=N'NUMERIC', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=16, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=1,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'NUMERIC(19,6)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'Rychlost operace v ks/hod pro kapacitn<74> pl<70>n', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @VazbaTypMoje=2
|
||||
EXEC dbo.hp_ExterniTabulka @Tab=N'TabPostup', @Atr=N'_RychlostOperKsHod', @Typ=N'NUMERIC(19,6)'
|
||||
END
|
||||
|
||||
@ -1,12 +1,36 @@
|
||||
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',
|
||||
BEGIN
|
||||
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
|
||||
@TypAtrSQL=N'NVARCHAR(100)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @VazbaTypMoje=1
|
||||
EXEC dbo.hp_ExterniTabulka @Tab=N'TabPrPostup', @Atr=N'_PaletListProVydej', @Typ=N'NVARCHAR(100)'
|
||||
END
|
||||
|
||||
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',
|
||||
IF (COL_LENGTH(N'dbo.TabPrPostup_EXT', N'_SarzeProVydej') IS NULL)
|
||||
BEGIN
|
||||
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
|
||||
@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, @VazbaTypMoje=1
|
||||
EXEC dbo.hp_ExterniTabulka @Tab=N'TabPrPostup', @Atr=N'_SarzeProVydej', @Typ=N'NVARCHAR(100)'
|
||||
END
|
||||
|
||||
IF (COL_LENGTH(N'dbo.TabPrPostup_EXT', N'_PlanovanaOperace') IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrPostup', @NazevAtrSys=N'_PlanovanaOperace', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Pl<EFBFBD>novan<EFBFBD> operace (do KapacPl)',
|
||||
@NazevAtrVerZkr=N'Pl<EFBFBD>n.oper.', @TypAtr=N'BIT', @MaskaAtr=NULL, @VerejnyAtr=N'V', @SirkaSloupceAtr=8, @SumovatAtr=N'N', @TiskAtr=N'A', @ProcPruhAtr=0, @Kopirovat=0,
|
||||
@KonverzeAtr=NULL, @ExtEd_Poradi=1, @ExtEd_Zalozka=NULL, @ExtEd_BrowseID=NULL, @ExtEd_Atr=NULL, @ExtEd_PrimaEditace=1, @DatPorizeni=@currDat, @DatZmeny=NULL,
|
||||
@TypAtrSQL=N'BIT', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'Operace pro kapacitn<74> pl<70>n', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @VazbaTypMoje=2
|
||||
EXEC dbo.hp_ExterniTabulka @Tab=N'TabPrPostup', @Atr=N'_PlanovanaOperace', @Typ=N'BIT'
|
||||
END
|
||||
|
||||
IF (COL_LENGTH(N'dbo.TabPrPostup_EXT', N'_RychlostOperKsHod') IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_ImportUzivAtr @Externi=1, @NazevTabulkySys=N'TabPrPostup', @NazevAtrSys=N'_RychlostOperKsHod', @Skupina=N'HDCDZApi', @NazevAtrVer=N'Rychlost operace (ks/hod)',
|
||||
@NazevAtrVerZkr=N'Rychlost ks/hod', @TypAtr=N'NUMERIC', @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'NUMERIC(19,6)', @ExtEd_BrowseID_DPSN=NULL, @Poznamka=N'Rychlost operace v ks/hod pro kapacitn<74> pl<70>n', @Definice=NULL, @Podminka=NULL, @HromadneZmenyAtr=1, @VazbaTypMoje=2
|
||||
EXEC dbo.hp_ExterniTabulka @Tab=N'TabPrPostup', @Atr=N'_RychlostOperKsHod', @Typ=N'NUMERIC(19,6)'
|
||||
END
|
||||
|
||||
67
_custom/Rootvin/sql/ep_GenerovaniDokladuOZ_HDC.sql
Normal file
67
_custom/Rootvin/sql/ep_GenerovaniDokladuOZ_HDC.sql
Normal file
@ -0,0 +1,67 @@
|
||||
-- dbo.ep_GenerovaniDokladuOZ_HDC
|
||||
CREATE PROCEDURE dbo.ep_GenerovaniDokladuOZ_HDC
|
||||
@IDDoklad INT
|
||||
AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DECLARE
|
||||
@cnt INT,
|
||||
@errMsg NVARCHAR(500)
|
||||
|
||||
DECLARE
|
||||
@idDZOld INT,
|
||||
@dpz TINYINT,
|
||||
@radaDokl NVARCHAR(3),
|
||||
@skl NVARCHAR(30),
|
||||
@cOrg INT,
|
||||
@idOrg INT,
|
||||
@dzDatPorizeni DATETIME,
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzE NUMERIC(19,6),
|
||||
@vstC TINYINT,
|
||||
@jednM INT
|
||||
DECLARE
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30), -- "technologicky" sklad, prijmy/vydeje z prikazu
|
||||
@sklPekarna NVARCHAR(30)
|
||||
|
||||
|
||||
SELECT @dpz=DruhPohybuZbo, @skl=IDSklad, @radaDokl=RadaDokladu, @cOrg=CisloOrg, @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro,
|
||||
@dzDatPorizeni=DatPorizeni, @vstC=VstupniCena, @jednM=JednotkaMeny
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad
|
||||
|
||||
|
||||
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' AND CisloStr LIKE N'2%'
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@dpz=4) -- vydej v evid.cene
|
||||
BEGIN
|
||||
IF (@radaDokl=N'231') -- prevodka
|
||||
BEGIN
|
||||
IF (@skl=@sklMatHlavni) -- na hlavnim skladu materialu
|
||||
BEGIN
|
||||
-- mam nejakeho predka ?
|
||||
SET @idDZOld = (SELECT TOP(1) IDOldDoklad FROM dbo.TabPohybyZbozi WHERE IDDoklad=@IDDoklad AND IdOldDoklad IS NOT NULL)
|
||||
|
||||
-- jsem vydejka ze skladu materialu, puvodem z expedaku pozadavku na material ? (rada 550)
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE ID=@idDZOld AND DruhPohybuZbo=9 AND RadaDokladu=N'550' AND IDSklad=@sklMatHlavni)
|
||||
BEGIN
|
||||
UPDATE dbo.TabDokladyZbozi SET DruhPohybuPrevod=0, TypPrevodky=N'281', IdSkladPrevodu=@sklPekarna, PrevodRealizovat=0 WHERE ID=@IDDoklad
|
||||
END
|
||||
END -- @skl=@sklMatHlavni
|
||||
END
|
||||
END
|
||||
|
||||
@ -6,7 +6,8 @@ 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) )
|
||||
-- nastaveni skladu lze ovlivnit pres #TabDefiniceProP01 (HlavniSkladMat NVARCHAR(30), TechnologickySklad NVARCHAR(30),
|
||||
-- TechnologickySkladPolo NVARCHAR(30), SkladVyrobaPekarna NVARCHAR(30) )
|
||||
|
||||
|
||||
SET NOCOUNT ON
|
||||
@ -22,6 +23,7 @@ DECLARE
|
||||
DECLARE
|
||||
@sklHlavni NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklTechnologPolo NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@sklPrijem NVARCHAR(30)
|
||||
|
||||
@ -105,19 +107,23 @@ IF (@radaDokl=N'281') AND (@sklDokl=@sklPekarna) // prijemka/prevodka na pekarnu
|
||||
-- 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
|
||||
SELECT TOP(1) @sklHlavni=HlavniSkladMat, @sklPekarna=SkladVyrobaPekarna, @sklTechnolog=TechnologickySklad, @sklTechnologPolo=TechnologickySkladPolo
|
||||
FROM #TabDefiniceProP01
|
||||
IF (@sklHlavni IS NULL)
|
||||
SELECT @sklHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
|
||||
SELECT @sklHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technologick<EFBFBD> sklad%v<>dej%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technologick<EFBFBD> sklad%v<>dej%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologPolo IS NULL)
|
||||
SELECT @sklTechnologPolo=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%pol%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna'
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' AND CisloStr LIKE N'2%'
|
||||
|
||||
|
||||
-- jen prijemka/prevodka na sklad Pekarna (211)
|
||||
IF (@dpz=0) AND (@radaDokl IN (N'281')) AND (@sklDokl=@sklPekarna) AND (@sklTechnolog IS NOT NULL)
|
||||
-- vypnuto - prijemka pro odpis z prikazu se dela pred vydejkou (viz dbo.ep_Vyroba_GenVydejZeMzdy:prijemka materialu pro vydejku )
|
||||
IF (1=0) AND (@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
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
-- dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu
|
||||
@IDDoklad INT,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
@errMsg NVARCHAR(500)=N'' OUT,
|
||||
@IDDokladPrijem INT=NULL OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
@ -10,7 +11,7 @@ AS
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi WHERE Realizovano=1)
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabDokladyZbozi WHERE ID=@IDDoklad AND Realizovano=1)
|
||||
RETURN
|
||||
|
||||
|
||||
@ -37,6 +38,7 @@ DECLARE
|
||||
DECLARE
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklTechnologPolo NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@poslSarze NVARCHAR(100),
|
||||
@poslPalList NVARCHAR(100)
|
||||
@ -61,13 +63,15 @@ DELETE FROM @pol
|
||||
SET @uziv = 0
|
||||
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavní sklad - Materiál'
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<EFBFBD>l' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NOVÝ% sklad%výdej%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<EFBFBD><EFBFBD>%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%výdej%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<EFBFBD>dej%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologPolo IS NULL)
|
||||
SELECT @sklTechnologPolo=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%pol%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Výroba - Pekárna'
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<EFBFBD>rna' AND CisloStr LIKE N'2%'
|
||||
|
||||
|
||||
|
||||
@ -92,10 +96,10 @@ WHILE (1=1)
|
||||
AND p.Mnozstvi>0
|
||||
AND d.DruhPohybuZbo IN (2,4)
|
||||
AND d.Realizovano=0
|
||||
AND d.DatPorizeni<@datPorizeni)
|
||||
AND DATEDIFF(day, d.DatPorizeni, @datPorizeni)<2)
|
||||
, 0)
|
||||
SET @mnozSkl = ISNULL( (SELECT Mnozstvi FROM dbo.TabStavSkladu WHERE ID=@idSS), 0)
|
||||
SET @mnozChybi = @mnozSkl - @mnozPZ - @mnozNevyd
|
||||
SET @mnozChybi = -1.0 * (@mnozSkl - @mnozPZ - @mnozNevyd)
|
||||
IF (@mnozChybi>0)
|
||||
BEGIN
|
||||
SET @idSSPek = NULL
|
||||
@ -159,7 +163,7 @@ IF EXISTS(SELECT 1 FROM @pol)
|
||||
DEALLOCATE c
|
||||
|
||||
UPDATE dbo.TabDokladyZbozi SET BlokovaniEditoru=NULL WHERE ID=@idDZNew
|
||||
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=@idDZ, @AktualizaceSlev=0
|
||||
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=@idDZNew, @AktualizaceSlev=0
|
||||
-- realizace
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZNew, @DatumRealizace=@datNasklad, @Uzivatel=@uziv, @BylaChyba=@bChyba OUT
|
||||
|
||||
@ -171,8 +175,12 @@ IF EXISTS(SELECT 1 FROM @pol)
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
IF (@tranPred=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (3) p<><70>jemky korekce (ID ' + CONVERT(nvarchar, @idDZNew) + N') naskladn<64>n<EFBFBD> pro v<>dejku: ' + @errMsg, @IDDoklad
|
||||
|
||||
END CATCH
|
||||
END
|
||||
|
||||
|
||||
SET @IDDokladPrijem=@idDZNew
|
||||
|
||||
|
||||
|
||||
140
_custom/Rootvin/sql/ep_Vyroba_GenDenniVydejka.sql
Normal file
140
_custom/Rootvin/sql/ep_Vyroba_GenDenniVydejka.sql
Normal file
@ -0,0 +1,140 @@
|
||||
-- dbo.ep_Vyroba_GenDenniVydejka
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenDenniVydejka
|
||||
@proDen DATETIME=NULL
|
||||
AS
|
||||
|
||||
|
||||
DECLARE
|
||||
@errMsg NVARCHAR(500),
|
||||
@cnt INT
|
||||
|
||||
DECLARE
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklTechnologHV NVARCHAR(30),
|
||||
@radaDoklVydej NVARCHAR(3),
|
||||
@radaStorno NVARCHAR(3),
|
||||
@idDZVydej INT,
|
||||
@idPZOld INT,
|
||||
@idZboSkladOld INT,
|
||||
@idZboSkladNew INT,
|
||||
@idKmen INT,
|
||||
@idPZNew INT,
|
||||
@idVCK INT,
|
||||
@idVCS INT,
|
||||
@paletList NVARCHAR(50),
|
||||
@sarze NVARCHAR(50),
|
||||
@mnoz NUMERIC(19,6)
|
||||
DECLARE
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzE NUMERIC(19,6),
|
||||
@vstC TINYINT,
|
||||
@jednM INT
|
||||
|
||||
|
||||
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT TOP(1) @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE%' AND Nazev NOT LIKE N'%polotov%' AND Nazev NOT LIKE N'%HV%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SET @sklTechnolog = N'261'
|
||||
IF (@sklTechnologHV IS NULL)
|
||||
SELECT @sklTechnologHV=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE%' AND Nazev LIKE N'%HV%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologHV IS NULL)
|
||||
SET @sklTechnologHV = N'262'
|
||||
|
||||
|
||||
SET @radaDoklVydej=N'223'
|
||||
SET @radaStorno = N'229'
|
||||
|
||||
|
||||
IF (@proDen IS NULL)
|
||||
SET @proDen=GETDATE()
|
||||
SET @proDen = dbo.hf_TruncDate(@proDen)
|
||||
SET @proDen = DATEADD(second, -1, @proDen)
|
||||
|
||||
|
||||
-- ma vubec smysl to delat ?
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
WHERE d.IDSklad IN (@sklTechnolog) AND d.RadaDokladu IN (@radaDoklVydej, @radaStorno) AND d.Realizovano=1
|
||||
AND dbo.hf_TruncDate(d.DatPorizeni)=dbo.hf_TruncDate(@proDen) AND d.CisloOrg=0
|
||||
)
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
SET @cnt=ISNULL( (SELECT COUNT(ID) FROM dbo.TabDokladyZbozi WHERE IDSklad=@sklPekarna AND RadaDokladu=@radaDoklVydej AND DruhPohybuZbo=4
|
||||
AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@proDen) AND CisloOrg=0 AND Realizovano=0), 0)
|
||||
IF (@cnt=0)
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZVydej OUT, @Sklad=@sklPekarna, @DruhPohybu=4, @RadaDokladu=@radaDoklVydej, @CisloOrg=0, @DatumPorizeni=@proDen
|
||||
ELSE
|
||||
IF (@cnt=1)
|
||||
SET @idDZVydej=(SELECT ID FROM dbo.TabDokladyZbozi WHERE IDSklad=@sklPekarna AND RadaDokladu=@radaDoklVydej AND DruhPohybuZbo=4
|
||||
AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@proDen) AND CisloOrg=0 AND Realizovano=0)
|
||||
ELSE
|
||||
SET @idDZVydej=(SELECT TOP(1) ID FROM dbo.TabDokladyZbozi WHERE IDSklad=@sklPekarna AND RadaDokladu=@radaDoklVydej AND DruhPohybuZbo=4
|
||||
AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@proDen) AND CisloOrg=0 AND Realizovano=0 ORDER BY DatPorizeni DESC)
|
||||
|
||||
|
||||
IF (@idDZVydej IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena FROM dbo.TabDokladyZbozi WHERE ID=@idDZVydej
|
||||
|
||||
|
||||
-- begin: polozky materialu, tj. ze skladu 261
|
||||
DECLARE p CURSOR LOCAL FOR
|
||||
SELECT -1.0*SUM(p.MnozstviDruhove), p.IDZboSklad
|
||||
FROM dbo.TabPohybyZbozi p WITH(NOLOCK)
|
||||
JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad)
|
||||
JOIN dbo.TabKmenZbozi k WITH(NOLOCK) ON (k.ID=s.IDKmenZbozi)
|
||||
WHERE d.IDSklad=@sklTechnolog
|
||||
AND d.RadaDokladu IN (@radaDoklVydej, @radaStorno)
|
||||
AND d.DruhPohybuZbo IN (3,4)
|
||||
AND d.Realizovano=1
|
||||
AND p.Mnozstvi>0
|
||||
AND k.Sluzba=0
|
||||
AND dbo.hf_TruncDate(d.DatPorizeni)=dbo.hf_TruncDate(@proDen)
|
||||
GROUP BY p.IDZboSklad, k.Nazev1
|
||||
ORDER BY k.Nazev1
|
||||
OPEN p
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM p INTO @mnoz, @idZboSkladOld
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SELECT @idKmen=IDKmenZbozi FROM dbo.TabStavSkladu WHERE ID=@idZboSkladOld
|
||||
SELECT @idZboSkladNew=ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKmen AND IDSklad=@sklPekarna
|
||||
|
||||
SET @idPZNew=(SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idDZVydej AND IDZboSklad=@idZboSkladNew)
|
||||
IF (@idPZNew IS NULL)
|
||||
EXEC dbo.hp_InsertPolozkyOZ @ident=@idPZNew OUT, @IDDoklad=@idDZVydej, @DruhPohybu=4, @CisloOrg=0, @IDZboSklad=@idZboSkladNew, @Mena=@dzMena,
|
||||
@Kurz=@dzKurz, @KurzEuro=@dzKurzE, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL, @ZakazanoDPH=0,
|
||||
@VstupniCena=@vstC, @PovolitDuplicitu=0, @PovolitBlokovane=1, @Mnozstvi=@mnoz
|
||||
IF (@idPZNew IS NOT NULL)
|
||||
INSERT dbo._TabVyroba_VydejMatSarze (IDPohybZbozi, IDPohybZboziNew, PaletovyList, Sarze, IDKmenZbozi, Mnozstvi)
|
||||
SELECT p.ID, @idPZNew, ISNULL(pe._Vyroba_PaletList, N''), ISNULL(_Vyroba_Sarze, N''), s.IDKmenZbozi, -1.0*p.Mnozstvi
|
||||
FROM dbo.TabPohybyZbozi p WITH(NOLOCK)
|
||||
LEFT JOIN dbo.TabPohybyZbozi_EXT pe WITH(NOLOCK) ON (pe.ID=p.ID)
|
||||
JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad)
|
||||
JOIN dbo.TabKmenZbozi k WITH(NOLOCK) ON (k.ID=s.IDKmenZbozi)
|
||||
WHERE d.IDSklad=@sklTechnolog
|
||||
AND d.RadaDokladu IN (@radaDoklVydej, @radaStorno)
|
||||
AND d.DruhPohybuZbo IN (3,4)
|
||||
AND d.Realizovano=1
|
||||
AND p.Mnozstvi>0
|
||||
AND k.Sluzba=0
|
||||
AND p.IDZboSklad=@idZboSkladOld
|
||||
AND dbo.hf_TruncDate(d.DatPorizeni)=dbo.hf_TruncDate(@proDen)
|
||||
ORDER BY k.Nazev1
|
||||
END
|
||||
CLOSE p
|
||||
DEALLOCATE p
|
||||
-- end: polozky materialu, tj. ze skladu 261
|
||||
|
||||
|
||||
END
|
||||
283
_custom/Rootvin/sql/ep_Vyroba_GenObjednavkuMatDoVyroby.sql
Normal file
283
_custom/Rootvin/sql/ep_Vyroba_GenObjednavkuMatDoVyroby.sql
Normal file
@ -0,0 +1,283 @@
|
||||
-- dbo.ep_Vyroba_GenObjednavkuMatDoVyroby
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenObjednavkuMatDoVyroby
|
||||
@cilovySklad NVARCHAR(30)=N'',
|
||||
@radaDokl NVARCHAR(3)=N'',
|
||||
@druhPohybuZbo TINYINT=4,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri spusteni pluginu Pekarna nebo pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@cnt INT
|
||||
|
||||
DECLARE
|
||||
@idObj INT,
|
||||
@radaPrijem NVARCHAR(3),
|
||||
@druhPohybuZboPrijem TINYINT,
|
||||
@idDoklad INT,
|
||||
@datumDokladuMat DATETIME,
|
||||
@datumDokladuFin DATETIME,
|
||||
@genDokladMat BIT=0,
|
||||
@idDokladMat INT,
|
||||
@genDokladFin BIT=0,
|
||||
@idDokladFin INT,
|
||||
@cOrg INT=0,
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzEur NUMERIC(19,6),
|
||||
@jednM INT,
|
||||
@vstC TINYINT,
|
||||
@idPohyb INT,
|
||||
@idPZ INT,
|
||||
@idZboSklad INT,
|
||||
@idKmen INT,
|
||||
@idKZ INT,
|
||||
@sz NVARCHAR(3),
|
||||
@rc NVARCHAR(30),
|
||||
@sarze NVARCHAR(100),
|
||||
@paletList NVARCHAR(100),
|
||||
@skladMat NVARCHAR(30),
|
||||
@skladFin NVARCHAR(30),
|
||||
@mnoz NUMERIC(19,6),
|
||||
@mnozVydano NUMERIC(19,6),
|
||||
@material BIT
|
||||
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#VyrobaGenObjednavkuMatDoVyroby', N'U') IS NOT NULL
|
||||
SELECT TOP(1) @skladMat=SkladMaterial, @skladFin=SkladVyrobky
|
||||
FROM #VyrobaGenObjednavkuMatDoVyroby
|
||||
|
||||
|
||||
SET @radaDokl = ISNULL(@radaDokl, N'231')
|
||||
SET @druhPohybuZbo = ISNULL(@druhPohybuZbo, 4)
|
||||
IF NOT EXISTS(SELECT 1 FROM dbo.TabDruhDokZbo WHERE RadaDokladu=@radaDokl AND DruhPohybuZbo=@druhPohybuZbo)
|
||||
RETURN
|
||||
|
||||
|
||||
SELECT @cilovySklad=IDSkladPrevodu, @radaPrijem=TypPrevodky, @druhPohybuZboPrijem=TabDruhDZ_DruhPohybuZboPre
|
||||
FROM dbo.TabDruhDokZbo WHERE RadaDokladu=@radaDokl AND DruhPohybuZbo=@druhPohybuZbo
|
||||
SET @radaPrijem = ISNULL(@radaPrijem, N'281')
|
||||
SET @druhPohybuZboPrijem = ISNULL(@druhPohybuZboPrijem, 0)
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabDruhDokZbo WHERE RadaDokladu=@radaPrijem AND DruhPohybuZbo=@druhPohybuZboPrijem)
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
SET @cilovySklad = ISNULL(@cilovySklad, N'')
|
||||
IF (@cilovySklad=N'')
|
||||
SET @cilovySklad = N'211'
|
||||
|
||||
SET @skladMat = ISNULL(@skladMat, N'')
|
||||
IF (@skladMat=N'')
|
||||
SET @skladMat = N'311'
|
||||
|
||||
SET @skladFin = ISNULL(@skladFin, N'')
|
||||
IF (@skladFin=N'')
|
||||
SET @skladFin = N'312'
|
||||
|
||||
|
||||
|
||||
SET @genDokladMat=0
|
||||
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=1 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
BEGIN
|
||||
SET @genDokladMat=1
|
||||
SET @datumDokladuMat = (SELECT MIN(o.DatPorizeni) FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=1 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
END
|
||||
SET @datumDokladuMat = ISNULL(@datumDokladuMat, GETDATE())
|
||||
|
||||
|
||||
|
||||
SET @genDokladFin=0
|
||||
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=0 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
BEGIN
|
||||
SET @genDokladFin=1
|
||||
SET @datumDokladuFin = (SELECT MIN(o.DatPorizeni) FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=0 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
END
|
||||
SET @datumDokladuFin = ISNULL(@datumDokladuFin, GETDATE())
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@genDokladMat=1) OR (@genDokladFin=1)
|
||||
BEGIN
|
||||
|
||||
DECLARE m CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT DISTINCT(JeMaterial)
|
||||
FROM dbo._TabVyroba_Objednavky
|
||||
WHERE Splneno=0
|
||||
AND OdmitnutoSkladem=0
|
||||
AND NocniObjednavka=0
|
||||
AND Storno=0
|
||||
AND Vratka=0
|
||||
AND Blokovano=0
|
||||
GROUP BY JeMaterial
|
||||
OPEN m
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM m INTO @material
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @cnt = (SELECT COUNT(d.ID) FROM dbo.TabDokladyZbozi d JOIN dbo.TabDokladyZbozi_EXT de ON (de.ID=d.ID) WHERE d.IDSklad=@cilovySklad AND d.RadaDokladu=@radaDokl
|
||||
AND CAST(d.DatPorizeni AS DATE)=IIF(@material=0, CAST(@datumDokladuMat AS DATE), CAST(@datumDokladuFin AS DATE)) AND s.BlokovaniEditoru IS NULL
|
||||
AND d.DruhPohybuZbo=@druhPohybuZbo AND d.Realizovano=0 AND de._Vyroba_ObjednavkaMat_Typ=(@material+1)
|
||||
)
|
||||
IF (@cnt<=1)
|
||||
BEGIN
|
||||
|
||||
IF (@material=0)
|
||||
IF (@idDokladFin IS NULL)
|
||||
SET @idDoklad = (SELECT d.ID FROM dbo.TabDokladyZbozi d JOIN dbo.TabDokladyZbozi_EXT de ON (de.ID=d.ID) WHERE d.IDSklad=@cilovySklad AND d.RadaDokladu=@radaDokl
|
||||
AND CAST(d.DatPorizeni AS DATE)=CAST(@datumDokladuFin AS DATE) AND d.DruhPohybuZbo=@druhPohybuZbo AND d.Realizovano=0 AND de._Vyroba_ObjednavkaMat_Typ=2
|
||||
AND d.BlokovaniEditoru IS NULL AND de._Vydej_ObjednavkaMat=1
|
||||
)
|
||||
ELSE
|
||||
SET @idDoklad = @idDokladFin
|
||||
|
||||
IF (@material=1)
|
||||
IF (@idDokladMat IS NULL)
|
||||
SET @idDoklad = (SELECT d.ID FROM dbo.TabDokladyZbozi d JOIN dbo.TabDokladyZbozi_EXT de ON (de.ID=d.ID) WHERE d.IDSklad=@cilovySklad AND d.RadaDokladu=@radaDokl
|
||||
AND CAST(d.DatPorizeni AS DATE)=CAST(@datumDokladuMat AS DATE) AND d.DruhPohybuZbo=@druhPohybuZbo AND d.Realizovano=0 AND de._Vyroba_ObjednavkaMat_Typ=1
|
||||
AND d.BlokovaniEditoru IS NULL AND de._Vydej_ObjednavkaMat=1
|
||||
)
|
||||
ELSE
|
||||
SET @idDoklad = @idDokladMat
|
||||
|
||||
|
||||
IF (@idDoklad IS NULL)
|
||||
BEGIN
|
||||
IF (@material=0) AND (@genDokladFin=1)
|
||||
EXEC dbo.hp_InsertHlavickyOZ @Ident=@idDoklad OUT, @Sklad=@skladFin, @DruhPohybu=@druhPohybuZbo, @RadaDokladu=@radaDokl, @CisloOrg=@cOrg, @DatumPorizeni=@datumDokladuFin
|
||||
IF (@material=1) AND (@genDokladMat=1)
|
||||
EXEC dbo.hp_InsertHlavickyOZ @Ident=@idDoklad OUT, @Sklad=@skladMat, @DruhPohybu=@druhPohybuZbo, @RadaDokladu=@radaDokl, @CisloOrg=@cOrg, @DatumPorizeni=@datumDokladuMat
|
||||
IF (@idDoklad IS NOT NULL)
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabDOkladyZbozi_EXT WHERE ID=@idDoklad)
|
||||
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idDoklad)
|
||||
UPDATE dbo.TabDokladyZbozi_EXT SET _Vydej_ObjednavkaMat=1 WHERE ID=@idDoklad
|
||||
IF (@material=0)
|
||||
SET @idDokladFin = @idDoklad
|
||||
ELSE
|
||||
SET @idDokladMat = @idDoklad
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
SELECT @dzMena=Mena, @dzKurz=Kurz, @dzKurzEur=KurzEuro, @vstC=VstupniCena, @jednM=JednotkaMeny
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@idDoklad
|
||||
|
||||
IF (@idDoklad IS NOT NULL)
|
||||
BEGIN
|
||||
DECLARE c CURSOR LOCAL FOR
|
||||
SELECT ID, SkupZbo, RegCis, IDKmenZbozi, Mnozstvi, PaletovyList, Sarze
|
||||
FROM dbo._TabVyroba_Objednavky
|
||||
WHERE Splneno=0
|
||||
AND OdmitnutoSkladem=0
|
||||
AND NocniObjednavka=0
|
||||
AND Storno=0
|
||||
AND Vratka=0
|
||||
AND Blokovano=0
|
||||
AND JeMaterial=@material
|
||||
ORDER BY DatPorizeni
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idObj, @sz, @rc, @idKmen, @mnoz, @paletList, @sarze
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozVydano = ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObj), 0)
|
||||
SET @mnoz = @mnoz - @mnozVydano
|
||||
IF (@mnoz>0)
|
||||
BEGIN
|
||||
SET @idZboSklad = NULL
|
||||
IF (@material=0)
|
||||
SET @idZboSklad = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@skladFin)
|
||||
ELSE
|
||||
SET @idZboSklad = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKZ AND IDSklad=@skladMat)
|
||||
IF (@idZboSklad IS NULL)
|
||||
IF (@material=0)
|
||||
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@skladFin, @IDZboSklad=@idZboSklad OUT
|
||||
ELSE
|
||||
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKZ, @IDSklad=@skladMat, @IDZboSklad=@idZboSklad OUT
|
||||
IF (@idZboSklad IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDoklad, @DruhPohybu=@druhPohybuZbo, @CisloOrg=@cOrg, @IDZboSklad=@idZboSklad,
|
||||
@Mena=@dzMena, @Kurz=@dzKurz, @KurzEuro=@dzKurzEur, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL,
|
||||
@ZakazanoDPH=0, @VstupniCena=@vstC, @PovolitDuplicitu=1, @Mnozstvi@=mnoz
|
||||
IF (@idPZ IS NOT NULL)
|
||||
BEGIN
|
||||
INSERT dbo._TabVyroba_Objednavky_Pol (IDHlava, IDDokladOZ, IDPohybOZ, Mnozstvi, Sarze, PaletovyList, SkupZbo, RegCis)
|
||||
SELECT @idObj, @idDoklad, @idPZ, @mnoz, @sarze, @paletList, @sz, @rc
|
||||
|
||||
SET @paletList = ISNULL(@paletList, N'')
|
||||
SET @sarze = ISNULL(@sarze, N'')
|
||||
IF (@paletList<>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_PaletList=@paletList, _Vyroba_Sarze=@sarze WHERE ID=@idPZ
|
||||
END
|
||||
END -- @idPZ IS NOT NULL
|
||||
|
||||
END -- @idSS IS NOT NULL
|
||||
|
||||
END -- @mnoz>0
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
END -- @idDoklad IS NOT NULL
|
||||
END -- @cnt<=1
|
||||
|
||||
END
|
||||
CLOSE m
|
||||
DEALLOCATE m
|
||||
|
||||
END -- mam neco k zapsani ?
|
||||
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'dbo.ep_Vyroba_GenObjednavkuMatDoVyroby2', 'P') IS NOT NULL
|
||||
EXEC dbo.ep_Vyroba_GenObjednavkuMatDoVyroby2 @idDoklad
|
||||
|
||||
|
||||
|
||||
-- oznac splnene polozky
|
||||
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT ID, Mnozstvi
|
||||
FROM dbo._TabVyroba_Objednavky
|
||||
WHERE Splneno=0
|
||||
AND Vratka=0
|
||||
AND Storno=0
|
||||
AND OdmitnutoSkladem=0
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idObj, @mnoz
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozVydano = ISNULL( (SELECT SUM(op.Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol op JOIN dbo.TabPohybyZbozi p ON (p.ID=op.IDPohybOZ)
|
||||
WHERE op.IDHlava=@idObj AND p.SkutecneDatReal IS NOT NULL), 0)
|
||||
IF (@mnoz=@mnozVydano)
|
||||
UPDATE dbo._TabVyroba_Objednavky SET Splneno=1 WHERE ID=@idObj
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
340
_custom/Rootvin/sql/ep_Vyroba_GenObjednavkuMatDoVyrobyNew.sql
Normal file
340
_custom/Rootvin/sql/ep_Vyroba_GenObjednavkuMatDoVyrobyNew.sql
Normal file
@ -0,0 +1,340 @@
|
||||
-- dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew
|
||||
CREATE PROCEDURE dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
-- !! proceduru neupravujte, bude stejne pregenerovana pri spusteni pluginu Pekarna nebo pri startu Windows sluzby HDCDZApi !!
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
|
||||
DECLARE
|
||||
@tranPred INT,
|
||||
@cnt INT,
|
||||
@iTemp INT
|
||||
|
||||
DECLARE
|
||||
@idObj INT,
|
||||
@druhPohybuZbo TINYINT=9,
|
||||
@radaExpPr NVARCHAR(3)=N'550',
|
||||
@doklVydPrevod NVARCHAR(3)=N'281',
|
||||
@idExpPrMat INT,
|
||||
@idExpPrPolo INT,
|
||||
|
||||
@radaDokl NVARCHAR(3),
|
||||
@cilovySklad NVARCHAR(30),
|
||||
@radaPrijem NVARCHAR(3),
|
||||
@druhPohybuZboPrijem TINYINT,
|
||||
@idDoklad INT,
|
||||
@datumDokladuMat DATETIME,
|
||||
@datumDokladuFin DATETIME,
|
||||
@genDokladMat BIT=0,
|
||||
@idDokladMat INT,
|
||||
@genDokladFin BIT=0,
|
||||
@idDokladFin INT,
|
||||
@cOrg INT=0,
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzEur NUMERIC(19,6),
|
||||
@jednM INT,
|
||||
@vstC TINYINT,
|
||||
@idPohyb INT,
|
||||
@idPZ INT,
|
||||
@idVCS INT,
|
||||
@idVCP INT,
|
||||
@idZboSklad INT,
|
||||
@idKmen INT,
|
||||
@sz NVARCHAR(3),
|
||||
@rc NVARCHAR(30),
|
||||
@sarze NVARCHAR(100),
|
||||
@paletList NVARCHAR(100),
|
||||
@sklMatHlavni NVARCHAR(30), -- 311
|
||||
@sklPekarna NVARCHAR(30), -- 211
|
||||
@sklTechnolog NVARCHAR(30), -- 261
|
||||
@skladFin NVARCHAR(30), -- 312
|
||||
@mnoz NUMERIC(19,6),
|
||||
@mnozVydano NUMERIC(19,6),
|
||||
@material BIT,
|
||||
@idPHIdent BIGINT,
|
||||
@idPHIdent2 BIGINT,
|
||||
@textDoPoznamky NVARCHAR(max)=NULL
|
||||
|
||||
|
||||
IF OBJECT_ID(N'tempdb..#VyrobaGenObjednavkuMatDoVyrobyNew', N'U') IS NOT NULL
|
||||
SELECT TOP(1) @sklMatHlavni=SkladMaterial, @skladFin=SkladVyrobky
|
||||
FROM #VyrobaGenObjednavkuMatDoVyrobyNew
|
||||
|
||||
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT TOP(1) @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT TOP(1) @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT TOP(1) @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' AND CisloStr LIKE N'2%'
|
||||
|
||||
SET @sklPekarna = ISNULL(@sklPekarna, N'')
|
||||
IF (@sklPekarna=N'')
|
||||
SET @sklPekarna = N'211'
|
||||
|
||||
SET @sklMatHlavni = ISNULL(@sklMatHlavni, N'')
|
||||
IF (@sklMatHlavni=N'')
|
||||
SET @sklMatHlavni = N'311'
|
||||
|
||||
SET @skladFin = ISNULL(@skladFin, N'')
|
||||
IF (@skladFin=N'')
|
||||
SET @skladFin = N'312'
|
||||
|
||||
|
||||
|
||||
MERGE dbo._TabVyroba_Objednavky AS T
|
||||
USING dbo.TabKmenZbozi AS S ON (S.ID=T.IDKmenZbozi)
|
||||
WHEN MATCHED AND T.JeMaterial IS NULL THEN UPDATE SET T.JeMaterial=S.Material;
|
||||
DELETE FROM dbo._TabVyroba_Objednavky_Pol WHERE IDPohybOZ NOT IN (SELECT ID FROM dbo.TabPohybyZbozi WITH(NOLOCK))
|
||||
|
||||
|
||||
|
||||
|
||||
SET @genDokladMat=0
|
||||
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=1 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
BEGIN
|
||||
SET @genDokladMat=1
|
||||
SET @datumDokladuMat = (SELECT MIN(o.DatPorizeni) FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=1 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
END
|
||||
SET @datumDokladuMat = ISNULL(@datumDokladuMat, GETDATE())
|
||||
|
||||
|
||||
|
||||
SET @genDokladFin=0
|
||||
IF EXISTS (SELECT 1 FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=0 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
BEGIN
|
||||
SET @genDokladFin=1
|
||||
SET @datumDokladuFin = (SELECT MIN(o.DatPorizeni) FROM dbo._TabVyroba_Objednavky o WHERE o.Splneno=0 AND o.OdmitnutoSkladem=0 AND o.NocniObjednavka=0 AND o.Storno=0 AND o.Vratka=0
|
||||
AND o.JeMaterial=0 AND o.Blokovano=0 AND (o.Mnozstvi-ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=o.ID), 0))>0
|
||||
)
|
||||
END
|
||||
SET @datumDokladuFin = ISNULL(@datumDokladuFin, GETDATE())
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@genDokladMat=1) OR (@genDokladFin=1)
|
||||
BEGIN
|
||||
|
||||
DECLARE m CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT DISTINCT(JeMaterial)
|
||||
FROM dbo._TabVyroba_Objednavky
|
||||
WHERE Splneno=0
|
||||
AND OdmitnutoSkladem=0
|
||||
AND NocniObjednavka=0
|
||||
AND Storno=0
|
||||
AND Vratka=0
|
||||
AND Blokovano=0
|
||||
AND IDPhIdent2 IS NOT NULL
|
||||
GROUP BY JeMaterial
|
||||
OPEN m
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM m INTO @material
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
IF (@material=0)
|
||||
BEGIN
|
||||
SET @cilovySklad=@skladFin
|
||||
SET @cnt = ISNULL( (SELECT COUNT(d.ID) FROM dbo.TabDokladyZbozi d WITH(NOLOCK) WHERE d.PoradoveCislo>0 AND d.DruhPohybuZbo=@druhPohybuZbo AND d.IDSklad=@cilovySklad
|
||||
AND d.BlokovaniEditoru IS NULL AND d.RadaDokladu=@radaExpPr AND d.Splneno=0 AND d.StavRezervace<>N'X'
|
||||
AND CAST(d.DatPorizeni AS DATE)=CAST(@datumDokladuFin AS DATE)
|
||||
), 0)
|
||||
IF (@cnt=0)
|
||||
EXEC dbo.hp_InsertHlavickyOZ @Ident=@idExpPrPolo OUT, @Sklad=@cilovySklad, @DruhPohybu=@druhPohybuZbo, @RadaDokladu=@radaExpPr, @CisloOrg=@cOrg, @DatumPorizeni=@datumDokladuFin
|
||||
IF (@cnt=1)
|
||||
SET @idExpPrPolo = (SELECT d.ID FROM dbo.TabDokladyZbozi d WHERE d.PoradoveCislo>0 AND d.DruhPohybuZbo=@druhPohybuZbo AND d.IDSklad=@cilovySklad
|
||||
AND d.BlokovaniEditoru IS NULL AND d.RadaDokladu=@radaExpPr AND d.Splneno=0 AND d.StavRezervace<>N'X'
|
||||
AND CAST(d.DatPorizeni AS DATE)=CAST(@datumDokladuFin AS DATE)
|
||||
)
|
||||
IF (@cnt>1)
|
||||
SET @idExpPrPolo = (SELECT TOP(1) d.ID FROM dbo.TabDokladyZbozi d WHERE d.PoradoveCislo>0 AND d.DruhPohybuZbo=@druhPohybuZbo AND d.IDSklad=@cilovySklad
|
||||
AND d.BlokovaniEditoru IS NULL AND d.RadaDokladu=@radaExpPr AND d.Splneno=0 AND d.StavRezervace<>N'X' ORDER BY d.DatPorizeni DESC)
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idExpPrPolo)
|
||||
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idExpPrPolo)
|
||||
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_ObjednavkaMat_Typ=2, _Vydej_ObjednavkaMat=1 WHERE ID=@idExpPrPolo
|
||||
SET @idDoklad = @idExpPrPolo
|
||||
END
|
||||
|
||||
IF (@material=1)
|
||||
BEGIN
|
||||
SET @cilovySklad=@sklMatHlavni
|
||||
SET @cnt = ISNULL( (SELECT COUNT(d.ID) FROM dbo.TabDokladyZbozi d WHERE d.PoradoveCislo>0 AND d.DruhPohybuZbo=@druhPohybuZbo AND d.IDSklad=@cilovySklad
|
||||
AND d.BlokovaniEditoru IS NULL AND d.RadaDokladu=@radaExpPr AND d.Splneno=0 AND d.StavRezervace<>N'X'
|
||||
AND CAST(d.DatPorizeni AS DATE)=CAST(@datumDokladuMat AS DATE)
|
||||
), 0)
|
||||
IF (@cnt=0)
|
||||
EXEC dbo.hp_InsertHlavickyOZ @Ident=@idExpPrMat OUT, @Sklad=@cilovySklad, @DruhPohybu=@druhPohybuZbo, @RadaDokladu=@radaExpPr, @CisloOrg=@cOrg, @DatumPorizeni=@datumDokladuMat
|
||||
IF (@cnt=1)
|
||||
SET @idExpPrMat = (SELECT d.ID FROM dbo.TabDokladyZbozi d WHERE d.PoradoveCislo>0 AND d.DruhPohybuZbo=@druhPohybuZbo AND d.IDSklad=@cilovySklad
|
||||
AND d.BlokovaniEditoru IS NULL AND d.RadaDokladu=@radaExpPr AND d.Splneno=0 AND d.StavRezervace<>N'X'
|
||||
AND CAST(d.DatPorizeni AS DATE)=CAST(@datumDokladuMat AS DATE)
|
||||
)
|
||||
IF (@cnt>1)
|
||||
SET @idExpPrMat = (SELECT TOP(1) d.ID FROM dbo.TabDokladyZbozi d WHERE d.PoradoveCislo>0 AND d.DruhPohybuZbo=@druhPohybuZbo AND d.IDSklad=@cilovySklad
|
||||
AND d.BlokovaniEditoru IS NULL AND d.RadaDokladu=@radaExpPr AND d.Splneno=0 AND d.StavRezervace<>N'X' ORDER BY d.DatPorizeni DESC)
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi_EXT WHERE ID=@idExpPrMat)
|
||||
INSERT dbo.TabDokladyZbozi_EXT (ID) VALUES (@idExpPrMat)
|
||||
UPDATE dbo.TabDokladyZbozi_EXT SET _Vyroba_ObjednavkaMat_Typ=1, _Vydej_ObjednavkaMat=1 WHERE ID=@idExpPrMat
|
||||
SET @idDoklad = @idExpPrMat
|
||||
END
|
||||
|
||||
IF (@idDoklad IS NOT NULL)
|
||||
BEGIN
|
||||
UPDATE dbo.TabDokladyZbozi SET IDSkladPrevodu=@sklPekarna WHERE ID=@idDoklad AND IDSkladPrevodu IS NULL
|
||||
UPDATE dbo.TabDokladyZbozi SET TypPrevodky=@doklVydPrevod WHERE ID=@idDoklad AND TypPrevodky IS NULL
|
||||
|
||||
SELECT @dzMena=Mena, @dzKurz=Kurz, @dzKurzEur=KurzEuro, @vstC=VstupniCena, @jednM=JednotkaMeny
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@idDoklad
|
||||
|
||||
DECLARE c CURSOR LOCAL FOR
|
||||
SELECT ID, SkupZbo, RegCis, IDKmenZbozi, Mnozstvi, PaletovyList, Sarze, IdPHIdent, IdPHIdent2
|
||||
FROM dbo._TabVyroba_Objednavky
|
||||
WHERE Splneno=0
|
||||
AND OdmitnutoSkladem=0
|
||||
AND NocniObjednavka=0
|
||||
AND Storno=0
|
||||
AND Vratka=0
|
||||
AND Blokovano=0
|
||||
AND IDPhIdent2 IS NOT NULL
|
||||
AND JeMaterial=@material
|
||||
ORDER BY DatPorizeni
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idObj, @sz, @rc, @idKmen, @mnoz, @paletList, @sarze, @idPHIdent, @idPHIdent2
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
IF (@idKmen IS NULL)
|
||||
SET @idKmen = (SELECT ID FROM dbo.TabKmenZbozi WHERE SkupZbo=@sz AND RegCis=@rc)
|
||||
|
||||
SET @mnozVydano = ISNULL( (SELECT SUM(Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol WHERE IDHlava=@idObj), 0)
|
||||
SET @mnoz = @mnoz - @mnozVydano
|
||||
|
||||
IF (@mnoz>0)
|
||||
BEGIN
|
||||
SET @idZboSklad = NULL
|
||||
IF (@material=0)
|
||||
SET @idZboSklad = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKmen AND IDSklad=@skladFin)
|
||||
ELSE
|
||||
SET @idZboSklad = (SELECT ID FROM dbo.TabStavSkladu WHERE IDKmenZbozi=@idKmen AND IDSklad=@sklMatHlavni)
|
||||
IF (@idZboSklad IS NULL)
|
||||
BEGIN
|
||||
IF (@material=0)
|
||||
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKmen, @IDSklad=@skladFin, @IDZboSklad=@idZboSklad OUT
|
||||
ELSE
|
||||
EXEC dbo.hp_InsertStavSkladu @IDKmen=@idKmen, @IDSklad=@sklMatHlavni, @IDZboSklad=@idZboSklad OUT
|
||||
END -- @idZboSklad IS NULL
|
||||
IF (@idZboSklad IS NOT NULL)
|
||||
AND NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabPohybyZbozi_EXT pe WITH(NOLOCK) ON (pe.ID=p.ID)
|
||||
WHERE p.IDDoklad=@idDoklad AND p.IDZboSklad=@idZboSklad AND pe._Vyroba_Sarze=@sarze AND pe._Vyroba_PaletList=@paletList AND pe._HDCAPI_PHident=@idPHIdent2)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZ OUT, @IDDoklad=@idDoklad, @DruhPohybu=@druhPohybuZbo, @CisloOrg=@cOrg, @IDZboSklad=@idZboSklad,
|
||||
@Mena=@dzMena, @Kurz=@dzKurz, @KurzEuro=@dzKurzEur, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL,
|
||||
@ZakazanoDPH=0, @VstupniCena=@vstC, @PovolitDuplicitu=1, @Mnozstvi=@mnoz
|
||||
IF (@idPZ IS NOT NULL)
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZ)
|
||||
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZ)
|
||||
|
||||
SET @paletList = ISNULL(@paletList, N'')
|
||||
SET @sarze = ISNULL(@sarze, N'')
|
||||
UPDATE dbo.TabPohybyZbozi_EXT SET _Vyroba_PaletList=@paletList, _Vyroba_Sarze=@sarze, _Vyroba_IDObjednavkaMat=@idObj, _HDCAPI_PHident=@idPHIdent2
|
||||
WHERE ID=@idPZ
|
||||
|
||||
SET @idVCS = NULL
|
||||
IF (@material=0) -- prevadej realna VC jen u dilcu (finaly+polotovary)
|
||||
BEGIN
|
||||
SET @idVCS = (SELECT ID FROM dbo.TabVyrCS WHERE IDStavSkladu=@idZboSklad AND Nazev1=@paletList)
|
||||
IF (@idVCS IS NULL)
|
||||
BEGIN
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCS), 0)
|
||||
DBCC CHECKIDENT (TabVyrCS, RESEED, @iTemp)
|
||||
EXEC dbo.hp_OZInsertVyrCS @IDVyrCS=@idVCS OUT, @IDZboSklad=@idZboSklad, @Nazev1=@paletList
|
||||
END
|
||||
|
||||
SET @idVCP = NULL
|
||||
IF (@idVCS IS NOT NULL)
|
||||
BEGIN
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
|
||||
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
|
||||
INSERT dbo.TabVyrCP (IDPolozkaDokladu, IDVyrCis, Nazev, Mnozstvi) SELECT @idPZ, @idVCS, @sarze, @mnoz
|
||||
SET @idVCP = SCOPE_IDENTITY()
|
||||
END
|
||||
END -- @material=0
|
||||
|
||||
INSERT dbo._TabVyroba_Objednavky_Pol (IDHlava, IDDokladOZ, IDPohybOZ, Mnozstvi, Sarze, PaletovyList, SkupZbo, RegCis, IDVyrCP)
|
||||
SELECT @idObj, @idDoklad, @idPZ, @mnoz, @sarze, @paletList, @sz, @rc, @idVCP
|
||||
|
||||
IF (@paletList<>'')
|
||||
SET @textDoPoznamky = N'PL: ' + @paletList
|
||||
IF (@sarze<>N'')
|
||||
IF (ISNULL(@textDoPoznamky,N'')=N'')
|
||||
SET @textDoPoznamky = N'<EFBFBD>arze: ' + @sarze
|
||||
ELSE
|
||||
SET @textDoPoznamky = @textDoPoznamky + N' / <20>arze: ' + @sarze
|
||||
SET @textDoPoznamky = TRIM(@textDoPoznamky)
|
||||
IF (@textDoPoznamky=N'')
|
||||
SET @textDoPoznamky = NULL
|
||||
UPDATE dbo.TabPohybyZbozi SET Poznamka=@textDoPoznamky WHERE ID=@idPZ
|
||||
END -- @idPZ IS NOT NULL
|
||||
END -- @idZboSklad IS NOT NULL
|
||||
END -- @mnoz>0
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
END -- @idDoklad IS NOT NULL
|
||||
|
||||
END
|
||||
CLOSE m
|
||||
DEALLOCATE m
|
||||
|
||||
END -- mam neco k zapsani ?
|
||||
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew2', 'P') IS NOT NULL
|
||||
EXEC dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew2 @idDoklad
|
||||
|
||||
|
||||
|
||||
-- oznac splnene polozky
|
||||
DECLARE c CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT ID, Mnozstvi
|
||||
FROM dbo._TabVyroba_Objednavky
|
||||
WHERE Splneno=0
|
||||
AND Vratka=0
|
||||
AND Storno=0
|
||||
AND OdmitnutoSkladem=0
|
||||
AND ID IN (SELECT 1 FROM dbo._TabVyroba_Objednavky_Pol p WITH(NOLOCK) WHERE p.IDHlava=ID)
|
||||
OPEN c
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM c INTO @idObj, @mnoz
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozVydano = ISNULL( (SELECT SUM(op.Mnozstvi) FROM dbo._TabVyroba_Objednavky_Pol op WITH(NOLOCK) JOIN dbo.TabPohybyZbozi p WITH(NOLOCK) ON (p.ID=op.IDPohybOZ)
|
||||
WHERE op.IDHlava=@idObj AND p.SkutecneDatReal IS NOT NULL), 0)
|
||||
IF (@mnoz=@mnozVydano)
|
||||
UPDATE dbo._TabVyroba_Objednavky SET Splneno=1 WHERE ID=@idObj
|
||||
|
||||
END
|
||||
CLOSE c
|
||||
DEALLOCATE c
|
||||
|
||||
@ -6,7 +6,7 @@ CREATE PROCEDURE dbo.ep_Vyroba_GenOdvodZeMzdy
|
||||
@skladOdvod NVARCHAR(30)=NULL,
|
||||
@realizujPrijem BIT=0,
|
||||
@prevodDoVyssiho BIT=0,
|
||||
@kopiiNaTechSklad BIT=0,
|
||||
@kopiiNaTechSklad BIT=1,
|
||||
@errMsg NVARCHAR(500)=N'' OUT
|
||||
AS
|
||||
|
||||
@ -18,37 +18,83 @@ AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky WHERE GenerovanoOdvadeni=1 AND ID=@IDMzdy)
|
||||
RETURN
|
||||
|
||||
|
||||
DECLARE
|
||||
@iTemp INT,
|
||||
@aktDatum DATETIME=GETDATE(),
|
||||
@datPrijem DATETIME,
|
||||
@bChyba BIT,
|
||||
@ret INT,
|
||||
@cnt INT,
|
||||
@jeOdvOper BIT=0,
|
||||
@idUziv INT,
|
||||
@IDPrikaz INT,
|
||||
@IDZakazModif INT,
|
||||
@IDPrikazVyssi INT,
|
||||
@doklPrPostup INT,
|
||||
@altPrPostup NCHAR(1),
|
||||
@doklKV INT,
|
||||
@IDKmen INT,
|
||||
@mjEvid NVARCHAR(10),
|
||||
@jeFinal BIT=0,
|
||||
@idPZ INT,
|
||||
@idPZOld INT,
|
||||
@idPZOld2 INT,
|
||||
@idPZSberna INT,
|
||||
@idSS INT,
|
||||
@idVCS INT,
|
||||
@idVCP INT,
|
||||
@idVPrVC INT,
|
||||
@vc NVARCHAR(100),
|
||||
@NekontrolMnozOdvedFinal BIT=0,
|
||||
@mnozstvi NUMERIC(19,6)=0,
|
||||
@mnozstviKA NUMERIC(19,6)=0,
|
||||
@radaOdvNaSklad NVARCHAR(3)=N'273',
|
||||
@sklProOdvod NVARCHAR(30)=N'261',
|
||||
@sklProOdvodHV NVARCHAR(30)=N'262',
|
||||
@sklProPolo NVARCHAR(30)=N'311',
|
||||
@sklProFinal NVARCHAR(30)=N'312',
|
||||
@sklPrijem NVARCHAR(30),
|
||||
@radaVPr NVARCHAR(10),
|
||||
@idPrij INT,
|
||||
@idPrijOld INT,
|
||||
@idPrijSberna INT,
|
||||
@uklidPomocTab BIT,
|
||||
@idPrijKopie INT,
|
||||
@sklTechnicky NVARCHAR(30),
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklTechnologHV NVARCHAR(30),
|
||||
@dpz TINYINT,
|
||||
@cOrg INT,
|
||||
@dzDatum DATETIME,
|
||||
@dzMena NVARCHAR(3)
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzE NUMERIC(19,6),
|
||||
@vstC TINYINT,
|
||||
@jednM INT
|
||||
DECLARE
|
||||
@idDZPomocPrijem INT,
|
||||
@idPZPomocPrijem INT,
|
||||
@idSSPomocPrijem INT,
|
||||
@mnozPrijem NUMERIC(19,6)
|
||||
@mnozPrijem NUMERIC(19,6),
|
||||
@idPalety INT,
|
||||
@paletList NVARCHAR(100),
|
||||
@sarze NVARCHAR(30)
|
||||
DECLARE
|
||||
@ksOdv NUMERIC(19,6),
|
||||
@ksOdv_ks NUMERIC(19,6),
|
||||
@idDavkaPomoc INT,
|
||||
@mnozDavkaPomoc NUMERIC(19,6)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SET @uklidPomocTab = 0
|
||||
|
||||
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)
|
||||
@ -59,24 +105,37 @@ IF (@jeOdvOper=0)
|
||||
|
||||
|
||||
|
||||
IF OBJECT_ID(N'dbo.TabUserCfg', N'U') IS NOT NULL
|
||||
IF OBJECT_ID(N'dbo.TabUserCfg', '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
|
||||
IF OBJECT_ID(N'tempdb..#HDCTabGenOdvodZeMzdyKonfig', '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<EFBFBD><EFBFBD>%'
|
||||
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE%' AND Nazev NOT LIKE N'%polotov%' AND Nazev NOT LIKE N'%HV%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnicky IS NULL)
|
||||
SELECT @sklTechnicky=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%'
|
||||
|
||||
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE%' AND Nazev NOT LIKE N'%polotov%' AND Nazev NOT LIKE N'%HV%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SET @sklTechnolog = N'261'
|
||||
IF (@sklTechnologHV IS NULL)
|
||||
SELECT @sklTechnologHV=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE%' AND Nazev LIKE N'%HV%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologHV IS NULL)
|
||||
SET @sklTechnologHV = N'262'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS #TabOdved
|
||||
CREATE TABLE #TabOdved (
|
||||
@ -138,11 +197,9 @@ 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
|
||||
SELECT @mnozstvi=kusy_odv, @doklPrPostup=DokladPrPostup, @altPrPostup=AltPrPostup FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
SET @mnozstviKA = 0
|
||||
|
||||
UPDATE dbo.TabPrikazMzdyAZmetky SET GenerovanoOdvadeni=1 WHERE ID=@IDMzdy
|
||||
IF (@@ROWCOUNT=0) RETURN
|
||||
@ -155,6 +212,19 @@ SELECT @IDPrikaz=IDPrikaz FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy
|
||||
SELECT @radaVPr=Rada, @IDKmen=IDTabKmen, @IDZakazModif=IDZakazModif, @IDPrikazVyssi=IDPrikazVyssi
|
||||
FROM dbo.TabPrikaz WHERE ID=@IDPrikaz
|
||||
|
||||
|
||||
SELECT @mjEvid=MJEvidence FROM dbo.TabKmenZbozi WHERE ID=@IDKmen
|
||||
IF (@mjEvid=N'KA')
|
||||
SET @mnozstviKA = @mnozstvi
|
||||
|
||||
|
||||
SET @jeFinal = 0
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabParKmZ WHERE IDKmenZbozi=@IDKmen AND TypDilce=0)
|
||||
SET @jeFinal = 1
|
||||
|
||||
|
||||
|
||||
|
||||
-- nastav sklad pro odvod podle karty
|
||||
IF (@sklProOdvod IS NULL)
|
||||
SELECT @sklProOdvod=VychoziSklad FROM dbo.TabParKmZ WHERE IDKmenZbozi=@IDKmen
|
||||
@ -167,8 +237,24 @@ SELECT @radaOdvNaSklad=CASE WHEN RadaDokl_OdvedeniPrikazu IS NULL THEN @radaOdvN
|
||||
|
||||
IF (@radaOdvod IS NOT NULL)
|
||||
SET @radaOdvNaSklad=@radaOdvod
|
||||
IF (@skladOdvod IS NOT NULL)
|
||||
SET @sklProOdvod = @skladOdvod
|
||||
|
||||
/*
|
||||
IF (@skladOdvod IS NULL)
|
||||
BEGIN
|
||||
SET @sklProOdvod = @sklProPolo
|
||||
IF (@jeFinal=1)
|
||||
SET @sklProOdvod = @sklProFinal
|
||||
END
|
||||
ELSE
|
||||
SET @sklProOdvod = @skladOdvod
|
||||
*/
|
||||
|
||||
IF (@jeFinal=1)
|
||||
SET @sklProOdvod = @sklTechnologHV
|
||||
ELSE
|
||||
SET @sklProOdvod = @sklTechnolog
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE #tabOdved SET mnozstvi=CASE WHEN @NekontrolMnozOdvedFinal=0 AND mnozstvi+@mnozstvi>maxMnozstvi THEN maxMnozstvi ELSE mnozstvi+@mnozstvi END WHERE IDPrikaz=@IDPrikaz
|
||||
@ -203,6 +289,8 @@ DELETE #TabVyrCisProGenOdv WHERE IDOdvedeni IN (SELECT O2.ID FROM #tabOdved O2
|
||||
DELETE #TabPolotovProGenOdv WHERE IDOdvedeni IN (SELECT O2.ID FROM #tabOdved O2 WHERE O2.Mnozstvi<=0.0)
|
||||
DELETE #tabOdved WHERE Mnozstvi<=0.0
|
||||
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
|
||||
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
|
||||
|
||||
IF (@sklProOdvod IS NOT NULL)
|
||||
UPDATE #tabOdved SET Sklad=@sklProOdvod
|
||||
@ -217,6 +305,7 @@ IF (@bezVyrCis=1)
|
||||
IF (@prevodDoVyssiho=0)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
-- pozor, nelze predem zadat do jake prijemky polozky odvodu generovat, vzdy se generuje nova, o prevedeni polozek se postarame nize
|
||||
EXEC @ret=dbo.hp_OdvedeniPrikazu @RadaDokladu=@radaOdvNaSklad, @IDObdobi=NULL, @KonecneOdvedeni=0, @DatPorizeni=NULL, @SekejZakazky=1, @SekejPrikazy=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
@ -227,15 +316,16 @@ IF (@prevodDoVyssiho=0)
|
||||
BEGIN
|
||||
IF (@IDPrikazVyssi IS NOT NULL)
|
||||
BEGIN
|
||||
IF OBJECT_ID(N'tempdb..#TabOdved_IDMzdy', N'U') IS NOT NULL
|
||||
IF OBJECT_ID(N'tempdb..#TabOdved_IDMzdy', '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)
|
||||
|
||||
-- @idPZ je TabPrikazPrevodPolotov.ID
|
||||
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
|
||||
IF OBJECT_ID(N'tempdb..#TabGenPrijem', 'U') IS NOT NULL
|
||||
DELETE FROM #TabGenPrijem
|
||||
END -- @IDPrikazVyssi IS NOT NULL
|
||||
END
|
||||
@ -244,49 +334,189 @@ IF (@prevodDoVyssiho=0)
|
||||
|
||||
|
||||
|
||||
DECLARE prij CURSOR LOCAL FOR
|
||||
SELECT ID FROM #TabGenPrijem
|
||||
OPEN prij
|
||||
WHILE (1=1)
|
||||
IF (@jeFinal=0)
|
||||
SET @sklPrijem=@sklProPolo
|
||||
ELSE
|
||||
SET @sklPrijem=@sklProFinal
|
||||
|
||||
|
||||
IF (@sklPrijem<>N'')
|
||||
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)
|
||||
DECLARE prij CURSOR LOCAL FOR
|
||||
SELECT ID FROM #TabGenPrijem
|
||||
OPEN prij
|
||||
WHILE (1=1)
|
||||
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
|
||||
FETCH NEXT FROM prij INTO @idPrij
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SELECT @datPrijem=DatPorizeni FROM dbo.TabDokladyZbozi WHERE ID=@idPrij
|
||||
|
||||
|
||||
|
||||
|
||||
IF (@realizujPrijem=1)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
IF (@bChyba=1)
|
||||
INSERT dbo.Tabx_Vyroba_Log (Kategorie, Typ, LogText, iHodnota) SELECT 1, 1, 'Chyba realizace neidentifikovan<61>', @idPrij
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @idPrijOld = NULL
|
||||
SET @idPrijSberna = NULL
|
||||
|
||||
-- zjisti jestli na cilovem skladu mame nejakou otevrenou prijemku z dnesniho dne
|
||||
SET @cnt = ISNULL( (SELECT COUNT(ID) FROM dbo.TabDokladyZbozi WHERE ID<>@idPrij AND PoradoveCislo>0 AND DruhPohybuZbo=0 AND RadaDokladu=@radaOdvNaSklad
|
||||
AND CisloOrg=0 AND IDSklad=@sklPrijem AND Realizovano=0 AND BlokovaniEditoru IS NULL AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@datPrijem))
|
||||
, 0)
|
||||
IF (@cnt=0) -- nemame, vygeneruj ji
|
||||
BEGIN
|
||||
SELECT @dpz=DruhPohybuZbo, @dzDatum=DatPorizeni, @dzMena=Mena FROM dbo.TabDokladyZbozi WHERE ID=@idPrij
|
||||
SET @datPrijem = @dzDatum
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idPrijSberna OUT, @Sklad=@sklPrijem, @DruhPohybu=@dpz, @RadaDokladu=@radaOdvNaSklad,
|
||||
@Mena=@dzMena, @CisloOrg=0, @DatumPorizeni=@datPrijem
|
||||
END
|
||||
IF (@cnt=1) -- ma jen jednu
|
||||
BEGIN
|
||||
SELECT TOP(1) @idPrijSberna=ID FROM dbo.TabDokladyZbozi WHERE ID<>@idPrij AND PoradoveCislo>0 AND DruhPohybuZbo=0 AND RadaDokladu=@radaOdvNaSklad
|
||||
AND CisloOrg=0 AND IDSklad=@sklPrijem AND Realizovano=0 AND BlokovaniEditoru IS NULL AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@datPrijem)
|
||||
END
|
||||
IF (@cnt>1) -- mam jich vic, vezmi tu posledni (nejnovejsi)
|
||||
BEGIN
|
||||
SET @idPrijSberna = (SELECT TOP(1) ID FROM dbo.TabDokladyZbozi WHERE ID<>@idPrij AND PoradoveCislo>0 AND DruhPohybuZbo=0 AND RadaDokladu=@radaOdvNaSklad
|
||||
AND CisloOrg=0 AND IDSklad=@sklPrijem AND Realizovano=0 AND BlokovaniEditoru IS NULL
|
||||
AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@datPrijem)
|
||||
ORDER BY DatPorizeni DESC)
|
||||
END
|
||||
|
||||
-- pokud ji mam, nakopiruj do ni novou polozku
|
||||
IF (@idPrijSberna IS NOT NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idPrijSberna, @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
|
||||
|
||||
SET @vc = NULL
|
||||
SET @idVPrVC = (SELECT IDVyrCis FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy)
|
||||
IF (@idVPrVC IS NOT NULL)
|
||||
SET @vc = (SELECT VyrCislo FROM dbo.TabVyrCisPrikaz WHERE ID=@idVPrVC)
|
||||
IF (@vc IS NULL)
|
||||
SELECT TOP(1) @idPalety=ID, @vc=CisloPalety FROM dbo._TabVyroba_Palety WHERE IDMzda=@IDMzdy AND IDPrikaz=@idPrikaz
|
||||
|
||||
SET @paletList = N''
|
||||
IF (@vc IS NOT NULL)
|
||||
SET @paletList = @vc
|
||||
|
||||
SET @idPZSberna = NULL
|
||||
SET @idVCP = (SELECT TOP(1) vcp.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad) JOIN dbo.TabVyrCP vcp WITH(NOLOCK) ON (vcp.IDPolozkaDokladu=p.ID)
|
||||
JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
|
||||
WHERE d.ID=@idPrij AND d.DruhPohybuZbo=0 AND p.TypVyrobnihoDokladu IN (0) AND s.IDKmenZbozi=@IDKmen AND vcs.Nazev1=@vc)
|
||||
IF (@vc IS NOT NULL)
|
||||
SET @idPZSberna = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad) JOIN dbo.TabVyrCP vcp WITH(NOLOCK) ON (vcp.IDPolozkaDokladu=p.ID)
|
||||
JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
|
||||
WHERE p.IDDoklad=@idPrijSberna AND d.DruhPohybuZbo=0 AND p.TypVyrobnihoDokladu IN (0) AND s.IDKmenZbozi=@IDKmen AND vcs.Nazev1=@vc)
|
||||
/*
|
||||
ELSE -- tato situace nesmi nastat, na sklad se vzdy prijima polotovar nebo final vcetne VC/paletovelo listu
|
||||
SET @idPZSberna = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad)
|
||||
WHERE p.IDDoklad=@idPrijOld AND s.IDKmenZbozi=@IDKmen ORDER BY p.ID DESC)
|
||||
*/
|
||||
IF (@idPZSberna IS NOT NULL)
|
||||
BEGIN
|
||||
SET @idPalety = (SELECT ID FROM dbo._TabVyroba_Palety WHERE CisloPalety=@paletList AND IDPrikaz=@idPrikaz)
|
||||
UPDATE dbo._TabVyroba_Palety SET IDPohybPrijem=@idPZSberna WHERE ID=@idPalety
|
||||
SELECT @sarze=Sarze FROM dbo._TabVyroba_Palety WHERE ID=@idPalety
|
||||
|
||||
-- udelej pomocnou vazbu polozky prijmu na skladu 311/312 na polozku prijmu na technologickem sklade 261/262
|
||||
SET @idPZOld = NULL -- id pohybu zbozi na prijemce 261/262
|
||||
IF (@vc IS NOT NULL)
|
||||
SET @idPZOld = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad) JOIN dbo.TabVyrCP vcp WITH(NOLOCK) ON (vcp.IDPolozkaDokladu=p.ID)
|
||||
JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
|
||||
WHERE p.IDDoklad=@idPrij AND d.DruhPohybuZbo=0 AND p.TypVyrobnihoDokladu IN (0) AND s.IDKmenZbozi=@IDKmen AND vcs.Nazev1=@vc)
|
||||
ELSE
|
||||
SET @idPZOld = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad)
|
||||
WHERE p.IDDoklad=@idPrij AND s.IDKmenZbozi=@IDKmen ORDER BY p.ID DESC)
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.TabPohybyZbozi_EXT WHERE ID=@idPZSberna) AND (@idPZSberna IS NOT NULL)
|
||||
INSERT dbo.TabPohybyZbozi_EXT (ID) VALUES (@idPZSberna)
|
||||
IF (@idPZOld IS NULL)
|
||||
SET @idPZOld = (SELECT TOP(1) IDPohybOZPuvodni FROM dbo._TabVyroba_PaletyPohybOZ WHERE IDPalety=@idPalety)
|
||||
IF (@idPZOld IS NULL)
|
||||
SET @idPZOld = (SELECT TOP(1) ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idPrij) -- id pohybu zbozi na prijemce 261/262
|
||||
IF (@idPZOld IS NOT NULL)
|
||||
UPDATE dbo.TabPohybyZbozi_EXT SET _Prijem_IDPZPuvodni=@idPZOld WHERE ID=@idPZSberna
|
||||
|
||||
IF (@idPalety IS NOT NULL)
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo._TabVyroba_PaletyPohybOZ WHERE IDPalety=@idPalety)
|
||||
INSERT dbo._TabVyroba_PaletyPohybOZ (IDPalety, IDPohybOZ, Sarze, Mnozstvi, MnozstviKA, IDPohybOZPuvodni)
|
||||
SELECT @idPalety, @idPZSberna, @sarze, @mnozstvi, @mnozstviKA, @idPZOld
|
||||
|
||||
|
||||
-- smaz vazbu nove polozky (prijem na sklade 311/312) na vyrobni prikaz
|
||||
UPDATE dbo.TabPohybyZbozi SET IDPrikaz=NULL, TypVyrobnihoDokladu=NULL, DokladPrikazu=NULL WHERE ID=@idPZSberna
|
||||
DELETE FROM dbo.TabPrikazMzdyAZmetkyGenPZ WHERE IDMzdy=@IDMzdy AND TypGen=2 AND IDPohybu=@idPZSberna
|
||||
|
||||
END -- @idPZSberna IS NOT NULL
|
||||
|
||||
END -- @idPrijOld IS NOT NULL
|
||||
END -- else @bChyba=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo.Tabx_Vyroba_Log (Kategorie, Typ, LogText, iHodnota) SELECT 1, 1, 'Chyba realizace neidentifikovan<61>', @idPrij
|
||||
END CATCH
|
||||
END
|
||||
|
||||
|
||||
-- vycisti seed
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabDokladyZbozi), 0)
|
||||
DBCC CHECKIDENT (TabDokladyZbozi, RESEED, @iTemp)
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabPohybyZbozi), 0)
|
||||
DBCC CHECKIDENT (TabPohybyZbozi, RESEED, @iTemp)
|
||||
|
||||
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
|
||||
|
||||
CLOSE prij
|
||||
DEALLOCATE prij
|
||||
END
|
||||
CLOSE prij
|
||||
DEALLOCATE prij
|
||||
|
||||
|
||||
|
||||
|
||||
-- napocti odvedeni davek Kapacitniho planu vedenych v pomocne Tabx_Vyroba_DavkyPlanu
|
||||
IF OBJECT_ID(N'Tabx_Vyroba_DavkyPlanu', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
SET @ksOdv = ISNULL( (SELECT SUM(kusy_odv) FROM dbo.TabPrikazMzdyAZmetky WHERE IDPrikaz=@IDPrikaz AND DokladPrPostup=@doklPrPostup), 0)
|
||||
IF (@ksOdv>0)
|
||||
BEGIN
|
||||
SET @ksOdv_ks = @ksOdv
|
||||
IF (@mjEvid=N'KA')
|
||||
SET @ksOdv_ks = @ksOdv_ks * dbo.ef_Kmen_VratPocetKsVKartonu (@IDKmen)
|
||||
|
||||
DECLARE d CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT ID, Mnozstvi
|
||||
FROM Tabx_Vyroba_DavkyPlanu
|
||||
WHERE IDPrikaz=@IDPrikaz
|
||||
AND DokladPrPostup=@doklPrPostup
|
||||
AND Dilec=@IDKmen
|
||||
OPEN d
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM d INTO @idDavkaPomoc, @mnozDavkaPomoc
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
END
|
||||
CLOSE d
|
||||
DEALLOCATE d
|
||||
END -- @ksOdv_ks
|
||||
END -- Tabx_Vyroba_DavkyPlanu IS NOT NULL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- cisteni
|
||||
|
||||
463
_custom/Rootvin/sql/ep_Vyroba_GenOdvodZeMzdyOld.sql
Normal file
463
_custom/Rootvin/sql/ep_Vyroba_GenOdvodZeMzdyOld.sql
Normal file
@ -0,0 +1,463 @@
|
||||
-- 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,
|
||||
@aktualizujPolozkyExistPrij BIT=0
|
||||
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
|
||||
@iTemp INT,
|
||||
@aktDatum DATETIME=GETDATE(),
|
||||
@datPrijem DATETIME,
|
||||
@bChyba BIT,
|
||||
@ret INT,
|
||||
@cnt INT,
|
||||
@jeOdvOper BIT=0,
|
||||
@idUziv INT,
|
||||
@IDPrikaz INT,
|
||||
@IDZakazModif INT,
|
||||
@IDPrikazVyssi INT,
|
||||
@doklKV INT,
|
||||
@IDKmen INT,
|
||||
@jeFinal BIT=0,
|
||||
@idPZ INT,
|
||||
@idPZNew INT,
|
||||
@idPZOld INT,
|
||||
@idSS INT,
|
||||
@idVCS INT,
|
||||
@idVCP INT,
|
||||
@idVPrVC INT,
|
||||
@vc NVARCHAR(100),
|
||||
@NekontrolMnozOdvedFinal BIT=0,
|
||||
@mnozstvi NUMERIC(19,6)=0,
|
||||
@radaOdvNaSklad NVARCHAR(3)=N'273',
|
||||
@sklProOdvod NVARCHAR(30)=N'261',
|
||||
@sklProFinal NVARCHAR(30)=N'312',
|
||||
@sklProPolo NVARCHAR(30)=N'311',
|
||||
@radaVPr NVARCHAR(10),
|
||||
@idPrij INT,
|
||||
@idPrijOld INT,
|
||||
@uklidPomocTab BIT,
|
||||
@idPrijKopie INT,
|
||||
@sklTechnicky NVARCHAR(30),
|
||||
@dpz TINYINT,
|
||||
@cOrg INT,
|
||||
@dzDatum DATETIME,
|
||||
@dzMena NVARCHAR(3),
|
||||
@dzKurz NUMERIC(19,6),
|
||||
@dzKurzE NUMERIC(19,6),
|
||||
@vstC TINYINT,
|
||||
@jednM INT
|
||||
DECLARE
|
||||
@idDZPomocPrijem INT,
|
||||
@idPZPomocPrijem INT,
|
||||
@idSSPomocPrijem INT,
|
||||
@mnozPrijem NUMERIC(19,6)
|
||||
|
||||
DECLARE @idPZsOld TABLE (ID INT NOT NULL)
|
||||
|
||||
|
||||
SET @uklidPomocTab = 0
|
||||
|
||||
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', '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', '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%NEZH%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
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
|
||||
|
||||
SET @jeFinal=0
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabParKmZ WHERE IDKmenZbozi=@IDKmen AND TypDilce=0)
|
||||
SET @jeFinal=1
|
||||
|
||||
|
||||
-- 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 NULL)
|
||||
BEGIN
|
||||
SET @sklProOdvod = @sklProPolo
|
||||
IF (@jeFinal=1)
|
||||
SET @sklProOdvod = @sklProFinal
|
||||
END
|
||||
ELSE
|
||||
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
|
||||
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabVyrCP), 0)
|
||||
DBCC CHECKIDENT (TabVyrCP, RESEED, @iTemp)
|
||||
|
||||
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
|
||||
-- pozor, nelze predem zadat do jake prijemky polozky odvodu generovat, vzdy se generuje nova, o prevedeni polozek se postarame nize
|
||||
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', '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', 'U') IS NOT NULL
|
||||
DELETE FROM #TabGenPrijem
|
||||
END -- @IDPrikazVyssi IS NOT NULL
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ID polozek puvodnich dokladu
|
||||
DELETE FROM @idPZsOld
|
||||
|
||||
|
||||
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
|
||||
|
||||
INSERT @idPZsOld (ID) SELECT ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idPrij
|
||||
|
||||
SELECT @datPrijem=DatPorizeni FROM dbo.TabDokladyZbozi WHERE ID=@idPrij
|
||||
|
||||
SET @idPrijOld = NULL
|
||||
|
||||
-- zjisti jestli na cilovem skladu mame nejakou otevrenou prijemku z dnesniho dne
|
||||
SET @cnt = ISNULL( (SELECT COUNT(ID) FROM dbo.TabDokladyZbozi WHERE ID<>@idPrij AND PoradoveCislo>0 AND DruhPohybuZbo=0 AND RadaDokladu=@radaOdvNaSklad
|
||||
AND CisloOrg=0 AND IDSklad=@sklProOdvod AND Realizovano=0 AND BlokovaniEditoru IS NULL AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@datPrijem))
|
||||
, 0)
|
||||
IF (@cnt=0) -- nemame, vygeneruj ji
|
||||
BEGIN
|
||||
SELECT @dpz=DruhPohybuZbo, @dzDatum=DatPorizeni, @dzMena=Mena FROM dbo.TabDokladyZbozi WHERE ID=@idPrij
|
||||
SET @datPrijem = @dzDatum
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idPrijOld OUT, @Sklad=@sklProOdvod, @DruhPohybu=@dpz, @RadaDokladu=@radaOdvNaSklad,
|
||||
@Mena=@dzMena, @CisloOrg=0, @DatumPorizeni=@datPrijem
|
||||
END
|
||||
IF (@cnt=1) -- ma jen jednu
|
||||
BEGIN
|
||||
SELECT TOP(1) @idPrijOld=ID FROM dbo.TabDokladyZbozi WHERE ID<>@idPrij AND PoradoveCislo>0 AND DruhPohybuZbo=0 AND RadaDokladu=@radaOdvNaSklad
|
||||
AND CisloOrg=0 AND IDSklad=@sklProOdvod AND Realizovano=0 AND BlokovaniEditoru IS NULL AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@datPrijem)
|
||||
END
|
||||
IF (@cnt>1) -- mam jich vic, vezmi tu posledni (nejnovejsi)
|
||||
BEGIN
|
||||
SET @idPrijOld = (SELECT TOP(1) ID FROM dbo.TabDokladyZbozi WHERE ID<>@idPrij AND PoradoveCislo>0 AND DruhPohybuZbo=0 AND RadaDokladu=@radaOdvNaSklad
|
||||
AND CisloOrg=0 AND IDSklad=@sklProOdvod AND Realizovano=0 AND BlokovaniEditoru IS NULL
|
||||
AND dbo.hf_TruncDate(DatPorizeni)=dbo.hf_TruncDate(@datPrijem)
|
||||
ORDER BY DatPorizeni DESC)
|
||||
END
|
||||
IF (@idPrijOld IS NOT NULL) -- nakopiruj do ni polozky nove prijemky
|
||||
BEGIN
|
||||
IF (@aktualizujPolozkyExistPrij=0) AND (@idPrijOld IS NOT NULL) -- nechci existujici prijemku aktualizovat, novou polozku pridam
|
||||
BEGIN
|
||||
EXEC dbo.hp_generuj_navazny_doklad @IDDokladDst=@idPrijOld, @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
|
||||
SET @idVPrVC = (SELECT IDVyrCis FROM dbo.TabPrikazMzdyAZmetky WHERE ID=@IDMzdy)
|
||||
SET @vc = NULL
|
||||
IF (@idVPrVC IS NOT NULL)
|
||||
SET @vc = (SELECT VyrCislo FROM dbo.TabVyrCisPrikaz WHERE ID=@idVPrVC)
|
||||
SET @idPZNew = NULL
|
||||
SET @idVCP = (SELECT TOP(1) vcp.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad) JOIN dbo.TabVyrCP vcp WITH(NOLOCK) ON (vcp.IDPolozkaDokladu=p.ID)
|
||||
JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
|
||||
WHERE d.ID=@idPrij AND d.DruhPohybuZbo=0 AND p.TypVyrobnihoDokladu IN (0) AND s.IDKmenZbozi=@IDKmen AND vcs.Nazev1=@vc)
|
||||
IF (@vc IS NOT NULL)
|
||||
SET @idPZNew = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabDokladyZbozi d WITH(NOLOCK) ON (d.ID=p.IDDoklad)
|
||||
JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad) JOIN dbo.TabVyrCP vcp WITH(NOLOCK) ON (vcp.IDPolozkaDokladu=p.ID)
|
||||
JOIN dbo.TabVyrCS vcs ON (vcs.ID=vcp.IDVyrCis)
|
||||
WHERE p.IDDoklad=@idPrijOld AND d.DruhPohybuZbo=0 AND p.TypVyrobnihoDokladu IN (0) AND s.IDKmenZbozi=@IDKmen AND vcs.Nazev1=@vc)
|
||||
ELSE
|
||||
SET @idPZNew = (SELECT TOP(1) p.ID FROM dbo.TabPohybyZbozi p WITH(NOLOCK) JOIN dbo.TabStavSkladu s WITH(NOLOCK) ON (s.ID=p.IDZboSklad)
|
||||
WHERE p.IDDoklad=@idPrijOld AND s.IDKmenZbozi=@IDKmen ORDER BY p.ID DESC)
|
||||
IF (@idPZNew IS NOT NULL)
|
||||
INSERT dbo.TabPrikazMzdyAZmetkyGenPZ (IDMzdy, TypGen, IDPohybu) SELECT @IDMzdy, 2, @idPZNew
|
||||
END
|
||||
|
||||
|
||||
IF (@aktualizujPolozkyExistPrij=1) AND (@idPrijOld IS NOT NULL) -- chci existujici prijemku aktualizovat (udaji nove polozky)
|
||||
BEGIN
|
||||
SELECT @dzMena=Mena, @dzKurz=Kurz, @dzKurzE=KurzEuro, @jednM=JednotkaMeny, @vstC=VstupniCena, @cOrg=CisloOrg
|
||||
FROM dbo.TabDokladyZbozi WHERE ID=@idPrijOld
|
||||
|
||||
DECLARE cPol CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT ID, IDZboSklad FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idPrij
|
||||
OPEN cPol
|
||||
WHILE (1=1)
|
||||
BEGIN
|
||||
FETCH NEXT FROM cPol INTO @idPZNew, @idSS
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @cnt = ISNULL( (SELECT COUNT(ID) FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idPrijOld AND IDZboSklad=@idSS), 0)
|
||||
IF (@cnt=0) -- nemam na starem dokladu polozku, zalozim
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZOld OUT, @IDDoklad=@idPrijOld, @DruhPohybu=0, @CisloOrg=@cOrg, @IDZboSklad=@idSS,
|
||||
@Mena=@dzMena, @Kurz=@dzKurz, @KurzEuro=@dzKurzE, @JednotkaMeny=@jednM, @SazbaSD=NULL, @SazbaDPH=NULL,
|
||||
@ZakazanoDPH=0, @VstupniCena=@vstC
|
||||
SET @cnt = ISNULL( (SELECT COUNT(ID) FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idPrijOld AND IDZboSklad=@idSS), 0)
|
||||
END
|
||||
IF (@cnt=1) -- polozka dohledana, aktualizuju
|
||||
BEGIN
|
||||
SELECT @idPZOld=ID FROM dbo.TabPohybyZbozi WHERE IDDoklad=@idPrijOld AND IDZboSklad=@idSS
|
||||
UPDATE o SET o.Mnozstvi=o.Mnozstvi + n.Mnozstvi
|
||||
FROM dbo.TabPohybyZbozi n, dbo.TabPohybyZbozi o WHERE n.ID=@idPZNew AND o.ID=@idPZOld
|
||||
-- pokud mam VC, prepis je
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabVyrCP WHERE IDPolozkaDokladu=@idPZNew)
|
||||
INSERT dbo.TabVyrCP (IDPolozkaDokladu, IDVyrCis, Nazev, Mnozstvi, CCEvid, DatVstup, Autor, DatExpirace)
|
||||
SELECT @idPZOld, IDVyrCis, Nazev, Mnozstvi, CCEvid, DatVstup, Autor, DatExpirace FROM dbo.TabVyrCP WHERE ID=@idPZNew
|
||||
END
|
||||
|
||||
END
|
||||
CLOSE cPol
|
||||
DEALLOCATE cPol
|
||||
END -- @idPrijOld IS NOT NULL
|
||||
|
||||
END -- @cnt=1, mam existujici prijemku
|
||||
|
||||
|
||||
|
||||
|
||||
-- kopie na technologicky sklad, aby se mohly delat provozni 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
|
||||
-- vypnuto, polozky se davaji do jedne denni prijemky, vygenerovana bude zrusena o krok dal
|
||||
-- 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
|
||||
|
||||
|
||||
-- smaz vygenerovanou prijemku, davame to na sbernou s ID = @idPrijOld, viz kopie polozek vyse pres hp_generuj_navazny_doklad nebo kurzor
|
||||
IF OBJECT_ID(N'tempdb..#TabPomSeznamDZProDel', 'U') IS NULL
|
||||
CREATE TABLE #TabPomSeznamDZProDel (ID INT NOT NULL)
|
||||
INSERT #TabPomSeznamDZProDel (ID) VALUES (@idPrij)
|
||||
EXEC dbo.hp_SmazSeznamDokZbozi -- postara se i o smazani #TabPomSeznamDZProDel
|
||||
DELETE FROM dbo.TabPrikazMzdyAZmetkyGenPZ WHERE IDMzdy=@IDMzdy AND TypGen IN (2,3) AND IDPohybu IN (SELECT ID FROM @idPZsOld)
|
||||
|
||||
-- vycisti seed
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabDokladyZbozi), 0)
|
||||
DBCC CHECKIDENT (TabDokladyZbozi, RESEED, @iTemp)
|
||||
SELECT @iTemp = 1 + ISNULL( (SELECT MAX(ID) FROM dbo.TabPohybyZbozi), 0)
|
||||
DBCC CHECKIDENT (TabPohybyZbozi, RESEED, @iTemp)
|
||||
|
||||
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
|
||||
@ -12,7 +12,8 @@ CREATE PROCEDURE dbo.ep_Vyroba_GenVydejZeMzdy
|
||||
@denSmena NVARCHAR(15)=NULL,
|
||||
@sklVydej NVARCHAR(30)=N'261',
|
||||
@radaVydej NVARCHAR(3)=N'223',
|
||||
@respExistDokl BIT=1
|
||||
@respExistDokl BIT=1,
|
||||
@genPrijemNaNeskladMnoz BIT=0
|
||||
AS
|
||||
|
||||
-- HD Consulting Strakonice, T. Buzin
|
||||
@ -26,6 +27,7 @@ AS
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@tranCount INT,
|
||||
@bChyba BIT,
|
||||
@opakReal BIT,
|
||||
@retVal INT=0,
|
||||
@ -34,10 +36,12 @@ DECLARE
|
||||
@idUziv INT=0,
|
||||
@idZam INT,
|
||||
@sklTechnolog NVARCHAR(30),
|
||||
@sklTechnologPolo NVARCHAR(30),
|
||||
@sklMatHlavni NVARCHAR(30),
|
||||
@sklPekarna NVARCHAR(30),
|
||||
@szDilec NVARCHAR(3)
|
||||
DECLARE
|
||||
@idDZOut INT,
|
||||
@idDZPomocPrij INT,
|
||||
@radaPrijem NVARCHAR(3)='292',
|
||||
@menaPrij NVARCHAR(3),
|
||||
@ -47,9 +51,11 @@ DECLARE
|
||||
@jednMPrij INT,
|
||||
@idPZPomocPrij INT,
|
||||
@idSSPomocPrij INT,
|
||||
@idSSPomocPek INT,
|
||||
@mnozSklad NUMERIC(19,6),
|
||||
@mnozVydej NUMERIC(19,6),
|
||||
@mnozPrij NUMERIC(19,6)
|
||||
@mnozPrij NUMERIC(19,6),
|
||||
@genDodatecnyPrijem BIT=0
|
||||
|
||||
|
||||
|
||||
@ -62,13 +68,15 @@ SET @idUziv = ISNULL(@idUziv, 0)
|
||||
|
||||
SET @denSmena = ISNULL(@denSmena, N'')
|
||||
IF (@sklMatHlavni IS NULL)
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l'
|
||||
SELECT @sklMatHlavni=Cislo FROM dbo.TabStrom WHERE Nazev=N'Hlavn<EFBFBD> sklad - Materi<72>l' AND CisloStr LIKE N'3%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%' AND Nazev NOT LIKE N'%polotov%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologPolo IS NULL)
|
||||
SELECT @sklTechnologPolo=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%NE<4E><45>%pol%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnolog IS NULL)
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%'
|
||||
SELECT @sklTechnolog=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%sklad%v<>dej%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklPekarna IS NULL)
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna'
|
||||
SELECT @sklPekarna=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'V<EFBFBD>roba - Pek<65>rna' AND CisloStr LIKE N'2%'
|
||||
|
||||
|
||||
IF EXISTS(SELECT 1 FROM dbo.TabPrikazMzdyAZmetky)
|
||||
@ -311,7 +319,9 @@ DECLARE
|
||||
@alt702 NCHAR(1),
|
||||
@mnoz702 NUMERIC(19,6),
|
||||
@idMzda702 INT,
|
||||
@aktDat DATETIME
|
||||
@aktDat DATETIME,
|
||||
@idKZPomoc INT,
|
||||
@jc NUMERIC(19,6)
|
||||
|
||||
SET @aktDat = GETDATE()
|
||||
|
||||
@ -398,25 +408,25 @@ WHILE (1=1)
|
||||
|
||||
|
||||
|
||||
-- begin: prijemka nedostatecneho materialu
|
||||
|
||||
-- begin: prijemka materialu pro vydejku (1:1)
|
||||
SET @idDZPomocPrij=NULL
|
||||
DECLARE pomPrij CURSOR LOCAL FOR
|
||||
SELECT p.IDZboSklad, p.Mnozstvi
|
||||
SELECT p.IDZboSklad, p.Mnozstvi, s.IDKmenZbozi
|
||||
FROM dbo.TabPohybyZbozi p
|
||||
INNER JOIN dbo.TabStavSkladu s ON (s.ID=p.IDZboSklad)
|
||||
INNER JOIN dbo.TabKmenZbozi k ON (k.ID=s.IDKmenZbozi)
|
||||
WHERE p.IDDoklad=@idVyd
|
||||
AND k.Material=1 AND k.Sluzba=0
|
||||
OPEN pomPrij
|
||||
WHILE (1=1)
|
||||
WHILE (1=1) AND (1=0)
|
||||
BEGIN
|
||||
FETCH NEXT FROM pomPrij INTO @idSSPomocPrij, @mnozVydej
|
||||
FETCH NEXT FROM pomPrij INTO @idSSPomocPrij, @mnozVydej, @idKZPomoc
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @mnozSklad = ISNULL( (SELECT Mnozstvi+MnozstviKPrijmu-MnozstviKVydeji FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPrij), 0)
|
||||
IF (@mnozVydej>@mnozSklad)
|
||||
IF (@mnozVydej>0)
|
||||
BEGIN
|
||||
SET @mnozPrij = @mnozVydej - @mnozSklad
|
||||
SET @mnozPrij = @mnozVydej
|
||||
IF (@idDZPomocPrij IS NULL)
|
||||
BEGIN
|
||||
EXEC dbo.hp_InsertHlavickyOZ @ident=@idDZPomocPrij OUT, @Sklad=@sklTechnolog, @DruhPohybu=0, @RadaDokladu=@radaPrijem, @CisloOrg=0
|
||||
@ -428,50 +438,90 @@ WHILE (1=1)
|
||||
EXEC dbo.hp_InsertPolozkyOZ @Ident=@idPZPomocPrij OUT, @IDDoklad=@idDZPomocPrij, @DruhPohybu=0, @CisloOrg=0, @IDZboSklad=@idSSPomocPrij,
|
||||
@Mena=@menaPrij, @Kurz=@kurzPrij, @KurzEuro=@kurzPrijE, @JednotkaMeny=@jednMPrij, @SazbaSD=NULL, @SazbaDPH=NULL,
|
||||
@ZakazanoDPH=NULL, @VstupniCena=@vstCPrij, @Mnozstvi=@mnozPrij, @PovolitDuplicitu=1
|
||||
END
|
||||
END
|
||||
IF (@idPZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
SET @jc = 0
|
||||
SET @idSSPomocPek = (SELECT ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklPekarna AND IDKmenZbozi=@idKZPomoc)
|
||||
IF (@idSSPomocPek IS NULL)
|
||||
SET @idSSPomocPek = (SELECT ID FROM dbo.TabStavSkladu WHERE IDSklad=@sklMatHlavni AND IDKmenZbozi=@idKZPomoc)
|
||||
IF (@idSSPomocPek IS NOT NULL)
|
||||
SET @jc = ISNULL( (SELECT CASE MnozFinReal WHEN 0 THEN 0 ELSE StavSkladuSouvis/MnozFinReal END FROM dbo.TabStavSkladu WHERE ID=@idSSPomocPek), 0)
|
||||
UPDATE dbo.TabPohybyZbozi SET JCbezDaniKc=ISNULL(@jc, 1) WHERE Id=@idPZPomocPrij
|
||||
END -- @idPZPomocPrij
|
||||
END -- @idDZPomocPrij
|
||||
END -- @mnozVydej>0
|
||||
END
|
||||
CLOSE pomPrij
|
||||
DEALLOCATE pomPrij
|
||||
IF (@idDZPomocPrij IS NOT NULL)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_VypCenOZPolozek_IDDokladu @IDDoklad=@idDZPomocPrij, @AktualizaceSlev=0
|
||||
EXEC dbo.hp_Realizuj_Prijem @ID=@idDZPomocPrij, @DatumRealizace=NULL, @Uzivatel=@idUziv, @BylaChyba=@bChyba OUT, @VypnoutUpozorneniPriZajistovani=1
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (1) p<><70>jemky korekce (ID prijemky ' + CONVERT(nvarchar, @idDZPomocPrij) + N') naskladn<64>n<EFBFBD> pro v<>dejku: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
-- end: prijemka nedostatecneho materialu
|
||||
END -- @idDZPomocPrij IS NOT NULL
|
||||
-- end: prijemka materialu pro vydejku (1:1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- realizace vydejky
|
||||
IF (@realizujVydej=1)
|
||||
BEGIN
|
||||
SET @tranCount=@@TRANCOUNT
|
||||
BEGIN TRY
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF (@tranCount=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK
|
||||
SET @opakReal=0
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
IF (CHARINDEX(N'71553', @errMsg)>0)
|
||||
SET @opakReal=1
|
||||
IF (@opakReal=0)
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace v<>dejky p<><70>kazu: ' + @errMsg, @idVyd
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba realizace v<>dejky: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
|
||||
IF (@opakReal=1)
|
||||
BEGIN
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT
|
||||
SET @tranCount=@@TRANCOUNT
|
||||
SET @errMsg = N''
|
||||
SET @genDodatecnyPrijem=1
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT, @IDDokladPrijem=@idDZOut OUT
|
||||
IF (@errMsg=N'')
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
ELSE
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba korekce naskladneni pro vydejku: ' + @errMsg, @idVyd
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (2) p<><70>jemky korekce (ID ' + CONVERT(nvarchar, @idDZOut) + N') naskladn<EFBFBD>n<EFBFBD> pro v<EFBFBD>dejku: ' + @errMsg, @idVyd
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF (@tranCount=0) AND (@@TRANCOUNT>0)
|
||||
ROLLBACK TRAN
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (2) opakovan<61> realizace v<>dejky: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
|
||||
-- znovu otestuj
|
||||
IF EXISTS (SELECT 1 FROM dbo.TabDokladyZbozi WHERE ID=@idVyd AND Realizovano=0) AND (@genDodatecnyPrijem=0)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SET @genDodatecnyPrijem=1
|
||||
EXEC dbo.ep_Vyroba_DoplnSkladProVydejDleDokladu @IDDoklad=@idVyd, @errMsg=@errMsg OUT, @IDDokladPrijem=@idDZOut OUT
|
||||
IF (@errMsg=N'')
|
||||
EXEC dbo.hp_Realizuj_Vydej @ID=@idVyd, @DatumRealizace=NULL, @Uzivatel=@idUziv, @Hlidat=0, @BylaChyba=@bChyba OUT
|
||||
ELSE
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (3) p<><70>jemky korekce (ID ' + CONVERT(nvarchar, @idDZOut) + N') naskladn<64>n<EFBFBD> pro v<>dejku: ' + @errMsg, @idVyd
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
SET @errMsg = ERROR_MESSAGE()
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba opakovane realizace v<>dejky p<><70>kazu: ' + @errMsg, @idVyd
|
||||
INSERT dbo._hdc_ph_Log (Typ, LogText, IntValue) SELECT 10, N'Chyba (3) opakovan<EFBFBD> realizace v<>dejky: ' + @errMsg, @idVyd
|
||||
END CATCH
|
||||
END
|
||||
|
||||
|
||||
506
_custom/Rootvin/sql/old/ep_Vyroba_GenVydejZeMzdy.sql
Normal file
506
_custom/Rootvin/sql/old/ep_Vyroba_GenVydejZeMzdy.sql
Normal file
@ -0,0 +1,506 @@
|
||||
-- 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),
|
||||
@sklTechnologPolo 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<6E><65>%' AND CisloStr LIKE N'2%'
|
||||
IF (@sklTechnologPolo IS NULL)
|
||||
SELECT @sklTechnologPolo=Cislo FROM dbo.TabStrom WHERE Nazev LIKE N'Technolog%ne<6E><65>%pol%' AND CisloStr LIKE N'2%'
|
||||
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
|
||||
|
||||
|
||||
25
_custom/Rootvin/sql/trg__hdc_PZ_PuvodniVC_D.sql
Normal file
25
_custom/Rootvin/sql/trg__hdc_PZ_PuvodniVC_D.sql
Normal file
@ -0,0 +1,25 @@
|
||||
-- dbo.ET__hdc_PZ_PuvodniVC_D
|
||||
CREATE TRIGGER dbo.ET__hdc_PZ_PuvodniVC_D ON dbo._hdc_PZ_PuvodniVC
|
||||
WITH EXECUTE AS CALLER
|
||||
FOR DELETE
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@id INT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- cisteni
|
||||
IF EXISTS (SELECT 1 FROM dbo._hdc_PZ_PuvodniVC)
|
||||
BEGIN
|
||||
SELECT @id=MAX(ID) FROM dbo._hdc_PZ_PuvodniVC
|
||||
DBCC CHECKIDENT (_hdc_PZ_PuvodniVC, RESEED, @id)
|
||||
END
|
||||
ELSE
|
||||
TRUNCATE TABLE dbo._hdc_PZ_PuvodniVC
|
||||
|
||||
END
|
||||
@ -340,7 +340,7 @@ uses
|
||||
|
||||
{ TSDGPolozkaOZService }
|
||||
|
||||
function TSDGPolozkaOZService.GetByID(const AID: Integer): TPohybOZ;
|
||||
function TSDGPolozkaOZService.GetByID (const AID: Integer): TPohybOZ;
|
||||
var lSQL: string;
|
||||
p: TDictionary<string, string>;
|
||||
pds: TSDGSerioveCisloPohybOZService;
|
||||
@ -377,7 +377,7 @@ uses
|
||||
|
||||
|
||||
|
||||
function TSDGPolozkaOZService.GetByParams(params: TDictionary<string, string>): TObjectList<TPohybOZ>;
|
||||
function TSDGPolozkaOZService.GetByParams (params: TDictionary<string, string>): TObjectList<TPohybOZ>;
|
||||
var lSQL, where, podmSDGPolozka: string;
|
||||
id,idPZ, cnt, rNo: integer;
|
||||
lQry: TFDQuery;
|
||||
@ -1056,6 +1056,8 @@ uses
|
||||
|
||||
// pro micharnu nejsou prikazy pozastavovany
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.StavPrikazu IN (30' + IfThen(typPrikazu<>1, ',40', '') + ')';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada<>N''009''';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada LIKE N''0%''';
|
||||
|
||||
|
||||
if (where<>'') then
|
||||
|
||||
0
_custom/Rootvin/winSvc/consts.inc
Normal file
0
_custom/Rootvin/winSvc/consts.inc
Normal file
2
_custom/Rootvin/winSvc/hdcDZApiCfg.xml
Normal file
2
_custom/Rootvin/winSvc/hdcDZApiCfg.xml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<config zapisObjMatExpPrIntMins="3"/>
|
||||
234
_custom/Rootvin/winSvc/impl.inc
Normal file
234
_custom/Rootvin/winSvc/impl.inc
Normal file
@ -0,0 +1,234 @@
|
||||
constructor THeoRTNZapisObjMatThread.Create (AOnTerminate: TNotifyEvent; AService: TService);
|
||||
begin
|
||||
inherited Create (false); // Create thread in NOT suspended mode
|
||||
FMainService:= AService;
|
||||
FLock:= TCriticalSection.Create;
|
||||
FRunning:= false;
|
||||
FTermEvent:= TEvent.Create (nil, False, False, '');
|
||||
|
||||
|
||||
// OnTerminate:= AOnTerminate;
|
||||
// FreeOnTerminate:= true;
|
||||
FreeOnTerminate:= false; // Ensure manual freeing of thread resources
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
destructor THeoRTNZapisObjMatThread.Destroy;
|
||||
begin
|
||||
{$IFDEF DEBUG}
|
||||
Write('Ukoncuji thread RTN Zapis objednavka materialu do ExpPr...');
|
||||
{$ENDIF}
|
||||
if (FTimer<>0) then
|
||||
CloseHandle (FTimer);
|
||||
FTermEvent.Free;
|
||||
FRunning:= false;
|
||||
FMainService:= nil;
|
||||
Terminate;
|
||||
FLock.Free;
|
||||
inherited;
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('OK');
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure THeoRTNZapisObjMatThread.TerminatedSet;
|
||||
begin
|
||||
FTermEvent.SetEvent;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure THeoRTNZapisObjMatThread.ThreadTerminate;
|
||||
begin
|
||||
Terminate;
|
||||
WaitFor;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure THeoRTNZapisObjMatThread.Execute;
|
||||
const _Second = 10_000_000;
|
||||
var lSQL, errMsg, url, outData, fName, loopCasTyp: string;
|
||||
lLoop, idDigiFile, cnt, idx: Integer;
|
||||
lLoopMax, koefProCas: integer;
|
||||
logRunCnt: integer;
|
||||
Msg: TMsg;
|
||||
firstRun, inProg, inDL: boolean;
|
||||
lQry: TFDQuery;
|
||||
sqlConnX: TFDConnection;
|
||||
|
||||
lBusy: LongInt;
|
||||
liDueTime: LARGE_INTEGER;
|
||||
|
||||
cfgFile: string;
|
||||
specCfgXML: XML.XmlIntf.IXMLDocument;
|
||||
n1: XML.XmlIntf.IXMLNode;
|
||||
attribs: IXMLNodeList;
|
||||
attrIdx: integer;
|
||||
begin
|
||||
lLoop:= 0;
|
||||
idDigiFile:= 0;
|
||||
logRunCnt:= 1;
|
||||
|
||||
lLoopMax:= 3; // v minutach !!!!
|
||||
try
|
||||
try
|
||||
CoInitialize(nil);
|
||||
cfgFile:= ExtractFilePath(ParamStr(0)) + 'hdcDZApiCfg.xml';
|
||||
if (FileExists(cfgFile)) then
|
||||
begin
|
||||
specCfgXML:= Xml.XMLDoc.TXMLDocument.Create(nil);
|
||||
specCfgXML.LoadFromFile (cfgFile);
|
||||
specCfgXML.Active:= true;
|
||||
if not(specCfgXML.IsEmptyDoc) then
|
||||
begin
|
||||
if (specCfgXML.DocumentElement<>nil) then
|
||||
begin
|
||||
n1:= specCfgXML.DocumentElement;
|
||||
if (n1.NodeName='config') then
|
||||
begin
|
||||
attribs:= n1.AttributeNodes;
|
||||
|
||||
attrIdx:= attribs.IndexOf('zapisObjMatExpPrIntMins');
|
||||
if (attrIdx>-1) then
|
||||
if (attribs.Get(attrIdx).NodeValue<>null) then
|
||||
lLoopMax:= attribs.Get(attrIdx).NodeValue;
|
||||
end; // n1 = config
|
||||
end; // specCfgXML.DocumentElement<>nil
|
||||
end; // not specCfgXML.IsEmptyDoc
|
||||
end; // FileExists(cfgFile)
|
||||
except
|
||||
end;
|
||||
finally
|
||||
begin
|
||||
if (specCfgXML<>nil) then
|
||||
specCfgXML:= nil;
|
||||
CoUninitialize;
|
||||
end;
|
||||
end;
|
||||
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Zapis Objednavek materialu do ExpPr - interval: ' + lLoopMax.ToString + ' min.');
|
||||
lLoopMax:= lLoopMax * 60; // minuty na vteriny
|
||||
|
||||
|
||||
firstRun:= true;
|
||||
inProg:= false;
|
||||
FRunning:= true;
|
||||
|
||||
if (1=1) then // pro rychle vypnuti
|
||||
begin
|
||||
FTimer:= CreateWaitableTimer (nil, true, 'RTNZapisObjMatExpPrWaitableTimer');
|
||||
liDueTime.QuadPart:= -1*_Second;
|
||||
|
||||
|
||||
sqlConnX:= TFDConnection.Create (nil);
|
||||
sqlConnX.Params.SetStrings (datMod.sqlConnParams);
|
||||
lSQL:= 'DECLARE @errMsg NVARCHAR(500)=N''''' + CRLF +'IF OBJECT_ID(N''dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew'', N''P'') IS NOT NULL' + CRLF
|
||||
+ ' EXEC dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew @errMsg OUT' + CRLF + 'SELECT @errMsg AS ErrMsg';
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
|
||||
try
|
||||
lQry.Connection:= sqlConnX;
|
||||
|
||||
while not(Terminated) or not(FRunning) do
|
||||
begin
|
||||
if (HDCDZApiService<>nil) then
|
||||
if (HDCDZApiService.Terminated) then
|
||||
begin
|
||||
Terminate;
|
||||
FRunning:= false;
|
||||
end;
|
||||
|
||||
PeekMessage (&Msg, 0, 0, 0, PM_NOREMOVE); { Create message queue }
|
||||
|
||||
if (lLoop=lLoopMax) or (firstRun) then // pri startu a pak kazdou minutu
|
||||
begin
|
||||
idDigiFile:= 0;
|
||||
firstRun:= false;
|
||||
|
||||
if (logRunCnt<4) then
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Spoustim zapis Objednavky materialu do ExpPr c.' + logRunCnt.toString + '...');
|
||||
if (logRunCnt=4) then
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Spoustim zapis Objednavky - bezi, ale dal neloguju');
|
||||
|
||||
try
|
||||
if not(inProg) then // nebezi uz ?
|
||||
begin
|
||||
|
||||
if (1=1) then // pro rychle vypnuti
|
||||
begin
|
||||
sqlConnX.Open;
|
||||
if (sqlConnX.Connected) then
|
||||
begin
|
||||
inProg:= true;
|
||||
lQry.Open(lSQL);
|
||||
if (lQry.RecordCount>0) then
|
||||
begin
|
||||
lQry.First;
|
||||
errMsg:= lQry.FieldByName('ErrMsg').AsString;
|
||||
if (errMsg<>'') then
|
||||
begin
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
lQry.Close;
|
||||
inProg:= false;
|
||||
end; // sql Connected
|
||||
end;
|
||||
end;
|
||||
|
||||
except on E:Exception do
|
||||
begin
|
||||
inProg:= false;
|
||||
errMsg:= E.Message; // datMod.sqlQry11.FieldByName('ErrMsg').AsString;
|
||||
if (mamTabPrijataData) then
|
||||
begin
|
||||
datMod.LogInfo (Quick.Logger.etError, 'Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
lLoop:= 0;
|
||||
if (logRunCnt<5) then
|
||||
Inc (logRunCnt);
|
||||
end;
|
||||
Inc (lLoop);
|
||||
|
||||
if (FTimer<>0) then
|
||||
SetWaitableTimer (FTimer, TLargeInteger(liDueTime), 0, nil, nil, false);
|
||||
repeat
|
||||
lBusy:= MsgWaitForMultipleObjects (1, FTimer, false, INFINITE, QS_ALLINPUT);
|
||||
until lBusy = WAIT_OBJECT_0;
|
||||
// Sleep (998);
|
||||
|
||||
end;
|
||||
finally
|
||||
end;
|
||||
|
||||
if (lQry<>nil) then
|
||||
begin
|
||||
lQry.Close;
|
||||
FreeAndNil (lQry);
|
||||
end;
|
||||
if (sqlConnX<>nil) then
|
||||
begin
|
||||
sqlConnX.Close;
|
||||
FreeAndNil (sqlConnX);
|
||||
end;
|
||||
|
||||
end; // 1=1
|
||||
|
||||
end;
|
||||
|
||||
|
||||
1
_custom/Rootvin/winSvc/mainPrivs.inc
Normal file
1
_custom/Rootvin/winSvc/mainPrivs.inc
Normal file
@ -0,0 +1 @@
|
||||
rtnZapisObjMatThr: THeoRTNZapisObjMatThread;
|
||||
3
_custom/Rootvin/winSvc/mainSvcCont.inc
Normal file
3
_custom/Rootvin/winSvc/mainSvcCont.inc
Normal file
@ -0,0 +1,3 @@
|
||||
if (rtnZapisObjMatThr<>nil) then
|
||||
if (rtnZapisObjMatThr.Suspended) then
|
||||
rtnZapisObjMatThr.Resume;
|
||||
6
_custom/Rootvin/winSvc/mainSvcExec.inc
Normal file
6
_custom/Rootvin/winSvc/mainSvcExec.inc
Normal file
@ -0,0 +1,6 @@
|
||||
if (rtnZapisObjMatThr<>nil) then
|
||||
if not(rtnZapisObjMatThr.Started) then
|
||||
begin
|
||||
rtnZapisObjMatThr.Start;
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Start sluzby RTN Zapis objednavky materialu do ExpPr');
|
||||
end;
|
||||
3
_custom/Rootvin/winSvc/mainSvcPause.inc
Normal file
3
_custom/Rootvin/winSvc/mainSvcPause.inc
Normal file
@ -0,0 +1,3 @@
|
||||
if (rtnZapisObjMatThr<>nil) then
|
||||
if not(rtnZapisObjMatThr.Suspended) then
|
||||
rtnZapisObjMatThr.Suspend;
|
||||
12
_custom/Rootvin/winSvc/mainSvcStart.inc
Normal file
12
_custom/Rootvin/winSvc/mainSvcStart.inc
Normal file
@ -0,0 +1,12 @@
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Start sluzby Zapis objednavek materialu do ExpPr...');
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn ('Start sluzby Zapis objednavek materialu do ExpPr - inverval 10 minut...');
|
||||
{$ENDIF}
|
||||
rtnZapisObjMatThr:= THeoRTNZapisObjMatThread.Create (ThreadTerminated, self);
|
||||
if (rtnZapisObjMatThr.Started) then
|
||||
begin
|
||||
datMod.LogInfo (Quick.Logger.etInfo, ' OK');
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn (' OK');
|
||||
{$ENDIF}
|
||||
end;
|
||||
18
_custom/Rootvin/winSvc/mainSvcStop.inc
Normal file
18
_custom/Rootvin/winSvc/mainSvcStop.inc
Normal file
@ -0,0 +1,18 @@
|
||||
if Assigned(rtnZapisObjMatThr) then
|
||||
begin
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn ('Ukoncuji sluzbu RTN Zapis objednavky materialu do ExpPr...');
|
||||
{$ENDIF}
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Ukoncuji sluzbu RTN Zapis objednavky materialu do ExpPr...');
|
||||
try
|
||||
rtnZapisObjMatThr.ThreadTerminate;
|
||||
FreeAndNil(rtnZapisObjMatThr);
|
||||
except on E:Exception do
|
||||
// add event in eventlog with reason why the service couldn't stop
|
||||
LogMessage('Cannot stop service: ' + E.Message, EVENTLOG_ERROR_TYPE, 0, 1);
|
||||
end;
|
||||
datMod.LogInfo (Quick.Logger.etInfo, ' OK');
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn (' OK');
|
||||
{$ENDIF}
|
||||
end;
|
||||
3
_custom/Rootvin/winSvc/readCfg.inc
Normal file
3
_custom/Rootvin/winSvc/readCfg.inc
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
|
||||
intervalRTNZapisObjMat
|
||||
15
_custom/Rootvin/winSvc/types.inc
Normal file
15
_custom/Rootvin/winSvc/types.inc
Normal file
@ -0,0 +1,15 @@
|
||||
THeoRTNZapisObjMatThread = class(TThread)
|
||||
private
|
||||
FMainService: TService;
|
||||
FLock: TCriticalSection;
|
||||
FTermEvent: TEvent;
|
||||
FRunning: boolean;
|
||||
FTimer: THandle;
|
||||
protected
|
||||
procedure Execute; override;
|
||||
procedure TerminatedSet; override; // XE2+ only *
|
||||
public
|
||||
constructor Create (AOnTerminate: TNotifyEvent; AService: TService);
|
||||
destructor Destroy; override;
|
||||
procedure ThreadTerminate;
|
||||
end;
|
||||
0
_custom/Rootvin/winSvc/uses.inc
Normal file
0
_custom/Rootvin/winSvc/uses.inc
Normal file
1
_custom/Rootvin/winSvc/usesTop.inc
Normal file
1
_custom/Rootvin/winSvc/usesTop.inc
Normal file
@ -0,0 +1 @@
|
||||
System.Threading,
|
||||
1
_custom/Rootvin/winSvc/vars.inc
Normal file
1
_custom/Rootvin/winSvc/vars.inc
Normal file
@ -0,0 +1 @@
|
||||
intervalRTNZapisObjMat: integer;
|
||||
62
_custom/Rootvin/winSvc_zdroje.inc
Normal file
62
_custom/Rootvin/winSvc_zdroje.inc
Normal file
@ -0,0 +1,62 @@
|
||||
// arrDefs.Add('tbl_hdc_ph_Log');
|
||||
|
||||
arrDefs.Add('ep_hdcdzapi_GetKusovnik');
|
||||
arrDefs.Add('col_TabDokladyZbozi_EXT');
|
||||
arrDefs.Add('col_TabStavSkladu_EXT');
|
||||
arrDefs.Add('col_TabVazbyPrikazu_EXT');
|
||||
arrDefs.Add('col_TabPostup_EXT');
|
||||
arrDefs.Add('col_TabPrPostup_EXT');
|
||||
arrDefs.Add('col_TabPohybyZbozi_EXT');
|
||||
arrDefs.Add('col_TabEvidRozpracOperR_EXT');
|
||||
arrDefs.Add('col_TabKmenZbozi_EXT');
|
||||
arrDefs.Add('ef_GetDatumASmenu');
|
||||
arrDefs.Add('tbl_hdc_PZ_PuvodniVC');
|
||||
arrDefs.Add('tbl_TabVyrobaTestoVyroba');
|
||||
|
||||
// tabulka objednavek je Uzivatelska tabulka v Heliosu
|
||||
// arrDefs.Add('tbl_TabVyrobaObjednavky');
|
||||
|
||||
arrDefs.Add('tbl_TabVyrobaOperaceStartStop');
|
||||
arrDefs.Add('tbl_TabVyrobaOperaceStartStopVydej');
|
||||
arrDefs.Add('ep_Vyroba_InsertEvidRozpracOper');
|
||||
arrDefs.Add('ep_Vyroba_InsertEvidRozpracOperPol');
|
||||
arrDefs.Add('ep_Vyroba_DoplnSkladProVydejDleDokladu');
|
||||
arrDefs.Add('ep_Vyroba_GenOdvodZeMzdy');
|
||||
arrDefs.Add('ep_Vyroba_GenVydejZeMzdy');
|
||||
arrDefs.Add('ep_Vyroba_Doklady_Micharna');
|
||||
arrDefs.Add('ep_Vyroba_Doklady_PomocPrijemka');
|
||||
|
||||
arrDefs.Add('ep_Vyroba_GenDenniVydejka');
|
||||
|
||||
// arrDefs.Add('ep_Vyroba_GenObjednavkuMatDoVyroby');
|
||||
arrDefs.Add('ep_Vyroba_GenObjednavkuMatDoVyrobyNew');
|
||||
arrDefs.Add('ep_GenerovaniDokladuOZ_HDC');
|
||||
|
||||
arrDefs.Add('ef_Kmen_VratPocetKsVKartonu');
|
||||
arrDefs.Add('ef_Kmen_VratPocetKANaPalete');
|
||||
|
||||
arrDefs.Add('ep_P03_HDC1');
|
||||
arrDefs.Add('ep_P03');
|
||||
arrDefs.Add('ep_P01_HDC1');
|
||||
// arrDefs.Add('ep_P01_HDCDZApi1');
|
||||
arrDefs.Add('ep_P01');
|
||||
arrDefs.Add('ep_V03_HDC1');
|
||||
arrDefs.Add('ep_V03');
|
||||
// arrDefs.Add('');
|
||||
|
||||
|
||||
// objednavky pres Gatema SDServer
|
||||
// arrDefs.Add('bp_Gatema_SDGenDokZbo1');
|
||||
arrDefs.Add('bp_Gatema_SDGenDokZbo1_HDC');
|
||||
// arrDefs.Add('bp_Gatema_SDDecodeBarCode');
|
||||
arrDefs.Add('bp_Gatema_SDDecodeBarCode_HDC');
|
||||
|
||||
|
||||
arrDefs.Add('trg__TabPohybyZbozi_HDC_D');
|
||||
arrDefs.Add('trg__TabPohybyZbozi_HDC_IU');
|
||||
arrDefs.Add('trg__hdc_PZ_PuvodniVC_D');
|
||||
arrDefs.Add('trg__TabVyrCisPrikaz_HDC_D');
|
||||
arrDefs.Add('trg__TabVyrobaOperaceStartStop_D');
|
||||
arrDefs.Add('trg__TabPrikazMzdyAZmetky_HDC_D');
|
||||
arrDefs.Add('trg__TabPrikaz_HDC_D');
|
||||
|
||||
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
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_TabPostup_EXT RCDATA C:\_zakaznici\pluginy_obecne\HDCApi2\_custom\Rootvin\sql\col_TabPostup_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
|
||||
@ -16,6 +17,14 @@ ep_Vyroba_DoplnSkladProVydejDleDokladu RCDATA C:\_zakaznici\pluginy_obecne\HDCAp
|
||||
ep_Vyroba_InsertEvidRozpracOper RCDATA .\sql\ep_Vyroba_InsertEvidRozpracOper.sql
|
||||
ep_Vyroba_InsertEvidRozpracOperPol RCDATA .\sql\ep_Vyroba_InsertEvidRozpracOperPol.sql
|
||||
|
||||
ep_Vyroba_GenDenniVydejka RCDATA .\sql\ep_Vyroba_GenDenniVydejka.sql
|
||||
|
||||
ep_Vyroba_GenObjednavkuMatDoVyroby RCDATA .\sql\ep_Vyroba_GenObjednavkuMatDoVyroby.sql
|
||||
ep_Vyroba_GenObjednavkuMatDoVyrobyNew RCDATA .\sql\ep_Vyroba_GenObjednavkuMatDoVyrobyNew.sql
|
||||
|
||||
ep_GenerovaniDokladuOZ_HDC RCDATA .\sql\ep_GenerovaniDokladuOZ_HDC.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
|
||||
@ -29,12 +38,19 @@ trg__TabPohybyZbozi_HDC_IU RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabPo
|
||||
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
|
||||
ep_Vyroba_Doklady_PomocPrijemka RCDATA C:\_zakaznici\Rootvin\_sql\ep_Vyroba_Doklady_PomocPrijemka.sql
|
||||
|
||||
bp_Gatema_SDGenDokZbo1 RCDATA C:\_zakaznici\Rootvin\_sql\BP_Gatema_SDGenDokZbo1.sql
|
||||
bp_Gatema_SDGenDokZbo1_HDC RCDATA C:\_zakaznici\Rootvin\_sql\BP_Gatema_SDGenDokZbo1_HDC.sql
|
||||
bp_Gatema_SDDecodeBarCode RCDATA C:\_zakaznici\Rootvin\_sql\BP_Gatema_SDDecodeBarCode.sql
|
||||
bp_Gatema_SDDecodeBarCode_HDC RCDATA C:\_zakaznici\Rootvin\_sql\BP_Gatema_SDDecodeBarCode_HDC.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
|
||||
ef_Kmen_VratPocetKANaPalete RCDATA C:\_zakaznici\Rootvin\_sql\ef_Kmen_VratPocetKANaPalete.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
|
||||
@ -42,3 +58,6 @@ trg__TabDokladyZbozi_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabDo
|
||||
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
|
||||
trg__TabPrikazMzdyAZmetky_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabPrikazMzdyAZmetky_HDC_D.sql
|
||||
trg__TabPrikaz_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabPrikaz_HDC_D.sql
|
||||
|
||||
|
||||
46
_custom/Rootvin/zdroje.rc.bak
Normal file
46
_custom/Rootvin/zdroje.rc.bak
Normal file
@ -0,0 +1,46 @@
|
||||
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
|
||||
ep_Vyroba_Doklady_PomocPrijemka RCDATA C:\_zakaznici\Rootvin\_sql\ep_Vyroba_Doklady_PomocPrijemka.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
|
||||
trg__TabPrikazMzdyAZmetky_HDC_D RCDATA C:\_zakaznici\Rootvin\_sql\trg__TabPrikazMzdyAZmetky_HDC_D.sql
|
||||
Reference in New Issue
Block a user