Přímo integrovaný ganttův graf do frmuláře ESO9 nenahrazuje původní řešení Tvorba Ganttových grafů pro obecného klienta. Toto řešení zůstane prozatím funkční, jen nebude dále rozšiřováno. Nové řešení využívá komponentu z https://www.jqwidgets.com/ a je plně integrováno do editační formy ESO9. Nahrazuje zobrazení Browse formy a umožňuje grafický náhled a editaci dat přímou manipulací s prvky ganttova grau.
Nastavení formy pro zobrazení ganttova grafu probíhá za pomoci hidden parametrů. Pokud nejsou některá z polí uvedena v editoru je nezbytné je uvést v HiddenFields.
Pro formu obsahující data tabulky SDOK s potřebnými vazbami
<input type="hidden" name="GANTT" value="1"> <input type="hidden" name="GANTTTYPE" value="0"> <input type="hidden" name="GANTTTASKID" value="IDSDOK"> <input type="hidden" name="GANTTTASKIDP" value="PREDCHUDCCE"> <input type="hidden" name="GANTTTASKDATESTART" value="DTPLANTERM"> <input type="hidden" name="GANTTTASKDATEEND" value="DTSKUTTERM"> <input type="hidden" name="GANTTTASKLABEL" value="TEXT_SLOZ"> <input type="hidden" name="GANTTTASKTYPE" value="TASKTYPE"> <input type="hidden" name="GANTTTASKPROGRESS" value="MNPROCPRIRAZKA"> <input type="hidden" name="GANTTTASKCONN" value="CONNECTIONS"> <input type="hidden" name="GANTTCURRENTTIMEINDICATOR" value="1"> <input type="hidden" name="GANTTCURRENTTIME" value="CURRENTTIME"> <input type="hidden" name="GANTTVIEW" value="QUARTER"> <input type="hidden" name="GANTTTOOLTIP" value="1"> <input type="hidden" name="GANTTTASKTOOLTIP" value="TOOLTIP"> <input type="hidden" name="GANTTHEIGHT" value="300"> <input type="hidden" name="GANTTTASKMFCONNUPDATE" value="MF_CONNECTIONS"> <input type="hidden" name="GANTTTASKSPCONNUPDATE" value="spCONNECTIONS_Update">
CREATE OR ALTER procedure dbo.spCONNECTIONS_Update
@MF_CONNECTIONS varchar(255),
@RequeryState Smallint= null
AS
Set NoCount ON
declare @IDSDOKP INT,
@IDSDOKN INT,
@VLTYPVAZBY SMALLINT
--přečtu si vytvořenou vazbu "IDP:IDN:TYP_VAZBY"
select @IDSDOKP = RADEK from dbo.fnTABULKA_SEZNAM(@MF_CONNECTIONS,':') where poradi = 1
select @IDSDOKN = RADEK from dbo.fnTABULKA_SEZNAM(@MF_CONNECTIONS,':') where poradi = 2
select @VLTYPVAZBY = RADEK from dbo.fnTABULKA_SEZNAM(@MF_CONNECTIONS,':') where poradi = 3
--kontrola existence vazby
IF (@IDSDOKP IS NULL OR @IDSDOKN IS NULL OR @VLTYPVAZBY IS NULL)
BEGIN
raiserror('Chybná data v MF_CONNECTIONS', 16, 1)
END
IF NOT EXISTS (SELECT * FROM SDOK WHERE IDSDOK = @IDSDOKP)
BEGIN
raiserror('Neexistuje sdok IDSDOKP', 16, 1)
return
END
IF NOT EXISTS (SELECT * FROM SDOK WHERE IDSDOK = @IDSDOKN)
BEGIN
raiserror('Neexistuje sdok IDSDOKN', 16, 1)
return
END
--smazu obracenou vazbu a nasledne potvrdim novou Nesmi existovat kruhova
DELETE HISSDOK WHERE IDSDOKP = @IDSDOKN AND IDSDOKN = @IDSDOKP
--pokud existuje aktualizuji typ, jinak založím
IF EXISTS (SELECT * FROM HISSDOK WHERE IDSDOKP = @IDSDOKP AND IDSDOKN = @IDSDOKN)
BEGIN
UPDATE HISSDOK SET VLTYPVAZBY = @VLTYPVAZBY
WHERE IDSDOKP = @IDSDOKP
AND
IDSDOKN = @IDSDOKN
END ELSE
BEGIN
INSERT HISSDOK (IDSDOKP, IDSDOKN, VLTYPVAZBY) VALUES (@IDSDOKP, @IDSDOKN, @VLTYPVAZBY)
END