bc05d02319054c153e750d6dd9f5ea8f4d6e7d94
main.py: - Add PDF_EXPLANATIONS dict with Romanian explanations for all report sections - Add dynamic explanation generators: - generate_indicatori_generali_explanation() - financial ratios with values - generate_indicatori_lichiditate_explanation() - liquidity ratios - generate_ciclu_cash_explanation() - cash conversion cycle - generate_solduri_clienti/furnizori_explanation() - balance summaries report_generator.py: - Add diacritics removal for PDF compatibility (Helvetica font) - Add sanitize_for_pdf() helper function - Add explanation_fill and explanation_border styles for info boxes - Enhance add_consolidated_sheet() with explanation parameter - Add merged explanation boxes with light grey background These changes complement the FORMULA column additions, providing managers with contextual explanations throughout the reports. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Data Intelligence Report Generator
Generator automat de rapoarte de Business Intelligence pentru ERP ROA (Oracle Database).
📋 Funcționalități
Scriptul generează automat:
Excel (multiple sheet-uri):
- Sumar Executiv - KPIs principale
- 🚨 Vânzări sub Cost - Alertă critică pentru pierderi
- ⚠️ Clienți Marjă Mică - Clienți care necesită renegociere
- Marja per Client - Profitabilitate per client
- Concentrare Clienți - Analiza dependenței de clienți mari
- Trending Clienți - Evoluție YoY (creștere/scădere)
- Top Produse - Cele mai vândute produse
- Marja per Categorie - Profitabilitate per subgrupă
- Marja per Gestiune - Profitabilitate per depozit
- Producție vs Revânzare - Comparație marje
- Dispersie Prețuri - Produse cu variație mare de preț
- Clienți sub Medie - Cine cumpără prea ieftin
- Vânzări Lunare - Sezonalitate (24 luni)
- Stoc Curent - Valoare stoc per gestiune
- Stoc Lent - Produse fără mișcare >90 zile
- Rotație Stocuri - Viteza de rotație
- Analiză Prăjitorie - Fluxul producției
PDF (Sumar Executiv):
- Grafice interactive
- Tabele rezumat
- Alerte evidențiate vizual
- Perfect pentru prezentări
🚀 Instalare
Opțiunea 1: Virtual Environment (recomandat)
# 1. Clonează/copiază directorul
cd data_intelligence_report
# 2. Creează mediu virtual
python -m venv .venv
# 3. Activează mediul virtual
source .venv/bin/activate # Linux/WSL/Mac
# sau
.venv\Scripts\activate # Windows CMD
# sau
.venv\Scripts\Activate.ps1 # Windows PowerShell
# 4. Instalează dependențele
pip install -r requirements.txt
# 5. Configurează conexiunea
cp .env.example .env
nano .env # sau editează cu alt editor
Opțiunea 2: Docker
# 1. Configurează conexiunea
cp .env.example .env
nano .env
# 2. Rulează cu docker-compose
docker-compose run --rm report-generator
⚙️ Configurare
Copiază .env.example în .env și editează:
ORACLE_HOST=127.0.0.1
ORACLE_PORT=1521
ORACLE_SERVICE=XEPDB1
ORACLE_USER=FIRMA
ORACLE_PASSWORD=PAROLA
OUTPUT_DIR=./output
COMPANY_NAME=Numele Companiei
Conexiune Oracle din diferite medii
| Mediu | ORACLE_HOST |
|---|---|
| Windows nativ | 127.0.0.1 sau localhost |
| WSL | IP Windows (vezi mai jos) |
| Docker | host.docker.internal (automat în docker-compose) |
Pentru WSL, obține IP-ul Windows:
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
📊 Utilizare
Cu Virtual Environment
# Activează mediul (dacă nu e activ)
source .venv/bin/activate # Linux/WSL
# sau: .venv\Scripts\activate # Windows
# Raport standard (ultimele 12 luni)
python main.py
# Raport pentru ultimele 6 luni
python main.py --months 6
# Salvare în alt director
python main.py --output-dir /path/to/output
Cu Docker
# Raport standard
docker-compose run --rm report-generator
# Cu parametri custom
docker-compose run --rm report-generator python main.py --months 6
📁 Structura Output
output/
├── data_intelligence_report_20251126_143022.xlsx
└── data_intelligence_report_20251126_143022.pdf
🔧 Cerințe Sistem
- Python 3.8+
- Oracle Client (sau oracledb în thin mode)
- Acces la schema Oracle cu view-urile:
fact_vfacturi2fact_vfacturi_detaliivnom_articolevnom_partenerivstocvrul
📈 Query-uri Incluse
Toate query-urile sunt în queries.py și pot fi personalizate:
-
Praguri de alertă:
- Marjă mică: < 15%
- Variație preț: > 20%
- Stoc lent: > 90 zile
-
Parametri configurabili:
- Perioada de analiză (luni)
- Vânzări minime pentru analiză
- Număr maxim de rezultate
🤝 Personalizare
Pentru a adăuga query-uri noi:
- Adaugă SQL-ul în
queries.py - Adaugă entry în dicționarul
QUERIES - (Opțional) Adaugă în
sheet_orderdinmain.py
📝 Note
- Raportul folosește view-urile existente din ERP
- Datele șterse (sters=0) sunt excluse automat
- Retururile și credit note-urile sunt excluse din analiză
- Producția proprie e identificată după cont (341, 345)
Generator creat pentru ROMFAST SRL - ERP ROA
Description
Languages
Python
99.8%
Dockerfile
0.1%