PC Predpredaj

Automatická aktualizácia dát zo servera

V prvom rade musí byť zapnutá v PredpredajCfg.xml, atribút noveData (viď http://192.168.241.14/wiki/doku.php?id=dev_doc:configs#predpredajcfg.xml).

Spúšta sa hneď pri nábehu aplikácie. Prebieha v nasledovných krokoch:

  • Z databázy sa vyčíta, aké súbory sú vygenerované pre túto konkrétnu “kasu”:
   SELECT emt_Subory.Nazov, emt_Kasa.CKasy 
   FROM emt_Kasa  
   INNER JOIN emt_Skupiny_Strojceky ON emt_Kasa.KasaID = emt_Skupiny_Strojceky.KasaID
   INNER JOIN emt_Subory ON emt_Skupiny_Strojceky.SkupinaID = emt_Subory.SkupinaID 
   WHERE (emt_Kasa.CKasy = '",cisloKasy,"')
   AND (emt_Subory.PlatnostOd <= CONVERT(DATETIME,'",sqlActDate,"',102)) 
   AND (emt_Subory.PlatnostDo > CONVERT(DATETIME, '",sqlActDate,"',102)) 

kde:

cisloKasy je ID PC Predpredaja z PredpredajCfg.xml, atribút computerID

sqlActDate je aktuálny dátum a čas

Z toho vyplýva nutnosť mať priradené číslo kasy, mať ju v databáze, mať ju priradenú na správnu skupinu, mať vygenerované dáta pre ňu

  • Vyčítané súbory zo servera sa porovnajú s lokálnymi dátami. Porovnáva sa čas poslednej modifikácie súboru (struct stat::st_mtime). Ak je súbor na serveri novší, alebo lokálny súbor neexistuje, zaradí sa medzi súbory na aktualizáciu.
  • Prebehne kontrola, či je otvorený odpočet. Ak áno, tak sa zobrazí hláška o tom, že sú k dispozícii novšie dáta a pre ich aktualizáciu treba uzavrieť odpočet.
  • Ak nie je otvorený odpočet, novšie súbory zo servera sa po jednom prekopírujú na lokálne umiestnenie (t.j. nastavená cesta k dátam + podadresár zipdata)
  • Nakoniec sa súbory (ak majú príponu .zip (case insensitive)) po jednom rozbalia o úroveň vyššie t.j. na nastavenú cestu pre dáta
 
dev_doc/presalesystempc.txt · Last modified: 2018/04/04 13:34 by 192.168.242.35
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki