notebookvb

This commit is contained in:
Vladimir Buzalka
2026-04-26 08:32:14 +02:00
parent 0bfa9c48e4
commit 78ed84209c
2 changed files with 43 additions and 4 deletions
@@ -15,6 +15,7 @@ které hromadný dotaz nevrací.
| `09_VytvorTabulky.py` | Vytvoří tabulky `recept_doklad` a `recept_plp` v MySQL |
| `10_StahnoutXML.py` | **Stahování** — načte ERP kódy z Medicusu, přeskočí terminální, uloží XML |
| `11_ParseXML.py` | **Parsování** — naparsuje XML archiv a uloží data do MySQL |
| `12_DenníStaženíAZpracování.py` | **Denní kombinovaný skript** — stažení + parsování + emailový souhrn; spouští se každé 3 hodiny |
```
NačteníPředpisuWithClaude/
@@ -23,6 +24,7 @@ NačteníPředpisuWithClaude/
├── 09_VytvorTabulky.py ← DDL MySQL tabulek
├── 10_StahnoutXML.py ← hromadné stahování s přeskakováním
├── 11_ParseXML.py ← parsování XML do MySQL
├── 12_DenníStaženíAZpracování.py ← denní kombinovaný skript (stažení + parsování + email)
├── NacistPredpis_DOKUMENTACE.md ← tento soubor
├── xml_archive/ ← archiv XML odpovědí (YYYY-MM-DD/ERP_KOD.xml)
├── MedicusDebug/ ← zachycené SOAP požadavky z Medicusu
@@ -291,6 +293,41 @@ Bez spuštění `11` budou terminální recepty znovu stahovány.
---
## 12_DenníStaženíAZpracování.py — denní kombinovaný skript
### Parametry (příkazová řádka)
```
python 12_DenníStaženíAZpracování.py
python 12_DenníStaženíAZpracování.py --od 2025-01-01
python 12_DenníStaženíAZpracování.py --limit 50
```
### Co dělá
1. Načte terminální set z MySQL
2. Načte ERP kódy z Firebirdu (od `--od`, výchozí `2025-01-01`)
3. Stáhne XML pro neterminální recepty do `xml_archive/DNES/` (pauza 13 s mezi requesty)
4. Naparsuje XML z dnešního adresáře do MySQL
5. Odešle HTML emailový souhrn na `vladimir.buzalka@buzalka.cz`
### Chování při opakovaném spuštění (každé 3 hodiny)
Stahování přeskakuje pouze terminální recepty — neterminální se stahují každý běh.
Parsování přeskakuje soubory, jejichž cesta `xml_soubor` v DB se nezměnila:
- **První běh dne** (po půlnoci): nová složka `xml_archive/YYYY-MM-DD/` → cesta nová → parsuje vše
- **Další běhy téhož dne**: stejná složka, cesta beze změny → přeskočí → 0 zpracováno
Email vždy obsahuje počet přeskočených, takže "0 zpracováno | 29 přeskočeno" je normální stav.
### Statistika (duben 2026)
- Neterminálních receptů: ~29 (z 10 151 celkem)
- Doba stahování: ~1 minuta
---
## Ověřeno (16. 4. 2026)
- Hromadné stažení od 1. 1. 2025 dokončeno (`LIMIT = None`)