Uživatelské nástroje

Nástroje pro tento web


techdoc:gantt

Gantt(ův) graf

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.

Prametry formy

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.

  • GANTT - hodnota 1 - Zajistí zobrazení ganttova grafu místo Browse.
  • GANTTTYPE - hodnota 0 (prozatím základní gantův graf).
  • GANTTTASKID - Název pole ID pro identifikaci záznamu.
  • GANTTTASKIDP - Název pole ve kterém se nachází ID pro identifikaci předchůdce. (Určuje zobrazení stromové struktury tasků).
  • GANTTTASKDATESTART - Název pole určující počáteční datum tasku (DATETIME).
  • GANTTTASKDATEEND - Název pole určující konečné datum tasku (DATETIME).
  • GANTTTASKLABEL - Název pole určující zobrazenáý popis tásku.
  • GANTTTASKTYPE - Název pole určující typ tasku. Povolené hodnoty v datech jsou PROJECT/TASK/MILESTONE.
  • GANTTTASKPROGRESS - Název pole určující procento plnění tasku.
  • GANTTTASKCONN - Název pole určující definici napojení na ostatní tasky. Struktura „ID:TYP_VAZBY;ID:TYP_VAZBY“. př. „14587:1;14588:2“ Tapy vazby mohou nabývat hodnot 0=Start-to-Start, 1=End-to-start, 2=End-to-End a 3=Start-to-end.
  • GANTTCURRENTTIMEINDICATOR - zda zobrazovat zobrazit indikátor aktuálního dne.
  • GANTTCURRENTTIME - Název pole určující hodotou aktuálního dne, pokud je jiný než dnešní datum (DATETIME).
  • GANTTVIEW - Název pole určující zobrazení časové osy. Možné hodnoty DAY/WEEK/MONTH/QUARTER/YEAR.
  • GANTTTOOLTIP - hodnota=„1“ povolí zobrazení tooltipu.
  • GANTTTASKTOOLTIP - Název pole určující vlastní tooltip tasku.
  • GANTTHEIGHT - výška grafu v pixelech, pokud se neuvede vypočítává se automaticky.
  • GANTTTASKMFCONNUPDATE - Název MF pole do kterého gantt zapisuje aktuálně vytvořené/zrušené propojení tasků přes grafické rozhraní. struktura je IDP:IDN:TYP_VAZBY.
  • GANTTTASKSPCONNUPDATE h- Název SP procedury která je spuštěna po vyzvoření/zrušení propojení tasků. Procedura musí mít vstupní parametr, který se rovná názvu polem uvedeného v GANTTTASKSPCONNUPDATE. V proceduře se může zpracovat aktuální propojen tasků.

Příklad nastavení parametrů

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">

Příklad SP procedury na aktualizaci vazby

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

Výsledek

techdoc/gantt.txt · Poslední úprava: 15.12.2025 09:50 autor: jzaboril

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
DokuWiki Appliance - Powered by TurnKey Linux