POPIS

Požiadavky

Program beží na jednom počítači, ktorý má úlohu servera. Server predstavuje počítač s OS Linux, kde musí byť nainštalovaný alebo inak sprístupnený databázový server. V súčastnosti používame databázový server MySQL 4.1. Na tento server sa pripája aplikácia programu, ktorá priamo komunikuje s užívatežom v textovom prostredí.
  • Minimálne: PC 386, 16MB RAM, 500MB HDD, klávesnica, monitor,(tlačiareň)
  • Odporúčané: PC 686, 128MB RAM, 2GB HDD, TCP-IP pripojenie

    Komunikácia

    Na komunikáciu sa zatial používa len klávesnica. To umožňuje pripojiť sa na server prostredníctvom "telnet" alebo bezpečnejšieho "ssh" protokolu. Klienti týchto protokolov sú dostupní pre všetky používané operačné systémy, takže na používanie programu z žubovožného počítača stačí TCP-IP pripojenie na server, teda aj prostredníctvom Internetu.

    Závislosti

    Na skompilovanie programu treba knižnice:
  • ncurses- ovládanie textového prostredia
  • glib- základ dynamických štruktúr programu
  • libmysqlclient- práca s databázou MySQL

    Štruktúra

    Program obsahuje knižnice (adresáre): Podrobnejší popis jednotlivých funkcií je zdokumentovaný priamo v hlavičkových súboroch. Ako textový editor odporúčame použiť VIM, ktorý dokáže skrývať bloky kódu. Na kompiláciu programu stačí zadať "make". Na databázovom serveri treba vytvoriť databázu prostredníctvom sql-scriptu "./db/data/tucniak.sql". Štandardne je program nastavený pre užívateža "tucniak" bez hesla (zmenu prístupových nastavení do databázy treba urobiť v kóde /api/t_main.c riadok 21)

    Sklad

            s_serial        
            pk_s_serial        
          fk_s_in        
        s_in fk_s_out s_out    
    s_inputs   pk_s_in number pk_s_out   s_outputs
    pk_s_inputs fk_s_inputs fk_s_outputspk_s_outputs
    fk_a_letters   fk_s_items s_items fk_s_in   fk_a_letters
    code   count   pk_s_items   count   code
    date   price   fk_s_codes price   date
          fk_s_messures      
        s_messures number s_codes    
        pk_s_messures name pk_s_codes    
        messure       code    
    Skladové karty reálne neexistujú. V tabuľke s_items sa evidujú len názvy jednotlivých položiek, ktoré sú na sklade. Reálny stav položiek na sklade je aktuálne vypočítavaný z rozdielu hodnôt v tabuľkách s_in a s_out viazaných na kontkrétnu položku v tabužke s_items.

    Väzba na ďalšie moduly databázy je zatiaľ prostredníctvom stĺpca fk_a_letters vo výdajoch aj príjmoch

    V prípade existencie sériových čísel sú tieto evidované v tabuľke s_serial, kde je možné uložiť väzbu na príjmy a výdaje. Tento údaj nie je nutný uvádzať pre všetky položky na sklade. Ak bol však zadaný, bude systém pracovať aj s touto položkou. V prípade, že je vyskladnený tovar evidovaný so SN je nutné do tejto tabužky vložiť väzbu na príslušný výdaj. To môže byť generované automaticky alebo manuálne.

    Užívateľ si bude môcť vybrať z niekoľkých možností vyskladnenia. V prípade, že si v konfigurácii programu zvolí jednu zo štandardných metód FIFO alebo MOSA bude automaticky vyskladnená položka systémom FIFO. V ostatných prípadoch bude možné zvoliť iný systém vyskladnenia a to výberom zo zoznamu rôznych dodávok tovaru do skladu (rôzne údaje v s_in) alebo výberom podla konkrétneho sériového čísla, zo zoznamu všetkých položiek daného typu na sklade.