Poziție onestă: SGApps ERP nu este un IAS zootehnic dedicat (nu are module preconstruite pentru genealogie bovină, jurnal de furajare zilnic tipizat sau formulare S.M.A.R.T. pentru ANSA). Ce oferim este un set de primitive extensibile (folder-produs, folder-grup, invoice cu ciclu de viață, stock-logger inalterabil, BOM, references.json liber) care se pot configura la cerere pentru a acoperi majoritatea fluxurilor operaționale ale unei ferme de bovine, suine, ovine sau păsări. Rapoartele obligatorii către ANSA sau alte autorități rămân un GAP tratat individual pe proiect.
| Concept business | Entitate ERP | Câmpuri folosite |
|---|---|---|
| Animal individual (bovină, scroafă reproducătoare, oaie matcă) | folder-produs de tip product | name (poreclă/număr), SKU, MPN numeric permanent sau F:<prefix>:<uid> temporar (pentru animale fără crotal), photo_00..photo_N (foto identificare), params.* (data nașterii, rasa, sex, mama, tata) — toate în references.json |
| Turmă / grup animale (lot vaci lactație, lot îngrășare porci) | folder-grup | params.quantity_available — efectivul curent al grupului |
| Fermă / adăpost / stână | POS (punct operațional distinct) | Fiecare POS are IDNO propriu, casa de marcat proprie, stoc propriu, config propriu |
| Câmp per POS (per fermă) pe același animal | params_pos[<pos>] | Aceeași fișă de animal poate avea date diferite când e transferată între ferme (ex.: stare curentă, jurnal local) |
| Crotal, cod SNIIA, cod pașaport | references.json — chei libere | Ex.: references.animal:crotal, references.animal:sniia, references.animal:pasaport-nr |
| Tratament veterinar programat, ciclu de reproducere, campanie de vaccinare | invoice lifecycle (wip → validated → applied → done) | Fiecare procedură = un invoice cu stagii; log-ul rămâne inalterabil |
| Mulsul zilnic (kg lapte) / recolta de ouă | stock-logger cu unitate l sau buc pe un produs de tip "lapte-fermă-X" | Fiecare intrare = un log cu timestamp, cantitate, autor |
| Furaj consumat pe zi / pe lot | bomCycleGenerate — ciclu BOM cu intrări multiple (concentrat + fibros + apă) → ieșire virtuală "furaj-consumat-lot-X" | Vezi applications/horeca/api.js linia 319 |
| Rețetă de furajare | product:recipe pe produsul finit (kg lapte sau kg spor greutate) | Rețeta e versionată prin flow standard invoice |
| Multimedia veterinar (fișă tratament, poze răni, ecografii) | photo_00..photo_N pe folderul animal + fișiere atașate | Fiecare animal poate acumula istoric vizual |
Ce nu e un fit natural: genealogie multi-generațională (arbore descendență cu bunici, străbunici, colateralii) — sistemul nu are model dedicat de "pedigree tree" cu vizualizare grafică. Legăturile părinte-copil pot fi stocate careferences.animal:mama-mpn/animal:tata-mpn, dar navigarea vizuală în arbore este un GAP (customizare la cerere).
Toate elementele de mai jos sunt implementate în cod și pot fi folosite fără dev nou:
folder-produs cu foto multiple (photo_00..photo_N — vezi applications/erp/storage-groups/component/group.js), MPN unic (temp F: până la primirea crotalului oficial, apoi upgrade la MPN numeric permanent — vezi applications/storage-groups-folder-invoices/api.js linia 460 create + linia 507 update temp MPN).folder-grup cu params.quantity_available; sistemul recalculează la fiecare mișcare (achiziție, vânzare, transfer, moarte animal).stock-logger (vezi assets/scripts/modules/applications/erp/stock-logger/); log-ul înregistrează timestamp, cantitate (± 1 animal), autor, sursa (folderul invoice care a produs mișcarea).AndroidBridge (tabletă în muls) cu decrementare stoc virtual "lapte-crud" și incrementare stoc real când se recepționează la cisternă/frigider (fiecare eveniment log-at în stock-logger).wip (programat) → validated (executat) → applied (stoc medicament decrementat) → done (arhivă); execuția pe tabletă cu foto (photo_* atașat la invoice-ul-tratament).bomCycleGenerate cu rețetă multi-ingredient (kg concentrat + kg tărâțe + kg fân + l apă) pe grup animal — fiecare ciclu decrementează exact ingredientele din stoc, cu autor + timestamp.params_pos[<fermă>].stock_min; notificarea ajunge în Notifications Watcher (vezi applications/erp/notifications-watcher.js) — dashboard + audio cue + browser push. Nu e trimisă automat pe email/Telegram/SMS (integrarea multi-canal e ⚙️ ofertă individuală).sg.helpers.priceCalculate + rețete BOM din applications/horeca/api.js).mortalitate_natural, mortalitate_boală, sacrificat_forţat, pierdere_furt) + notă liberă; log rămâne inalterabil.docs-functionality/module-comune/fiscal-printers.md) + e-Factura B2B când e cerută (applications/e-factura/api.js).params_pos[<pos>] face ca aceeași fișă de animal transferată să aibă starea locală per fermă; stocuri, prețuri, evidențe se calculează per POS.applications/shared-refs/) permite stocarea de setări (praguri furaj, orare hrănire, delta greutate zilnic acceptabil) cu istoric complet audit-log per POS / per user / global.GAP-urile de mai jos nu sunt acoperite implicit; ele apar în cotația scrisă când clientul le confirmă în etapa de descoperire:
storage-groups) trebuie configurat separat. Estimare: 2-3 săptămâni.AndroidBridge are USB + Bluetooth + on-device HTTP server (vezi applications/android-bridge/), dar driver-ele specifice per model (cântar, cititor RFID, robot muls) trebuie configurate per hardware, la cerere.Onest — aceste zone rămân manuale / hibride cu formularistica autorității; nu le acoperim implicit:
references.transport:cert-nr, dar generarea PDF-ului tipizat nu e implementată.stock-logger per intrare, incrementând stocul "lapte-crud-Fermă-1" (unitate l, folder-produs cu SKU=LAPTE-CRUD-F1).Only Products + căutare "lapte" (applications/erp/storage-groups/component.js).wip (programat) → 3 rânduri (vițele × 1 doză vaccin X). Odată efectuat, avansează stagiul la applied — stocul de vaccin decrementează 3 doze din depozit, cu autor Veterinar Ion, timestamp la secundă, plus poză cu flaconul (photo_00).applications/e-factura/api.js).| Dimensiune | Pondere | Scor | Notă onestă |
|---|---|---|---|
| Model de date | 25% | 65% | Primitivele acoperă animal-individual, turmă, transfer, tratament. Genealogia multi-generațională necesită UI custom. |
| Fluxuri operaționale zilnice | 25% | 55% | Muls, hrănire, tratament, transfer — toate se pot rula cu primitivele existente. UI-ul tabletă e generic, nu adaptat gesturi specifice fermier (input rapid crotal, scan RFID, apăsare-pentru-vaccinat). |
| Rapoarte management | 15% | 45% | Storage-groups + shift close dau agregări generice. Curbe lactație / curbe creștere / KPI zootehnie specifici nu sunt built-in. |
| Rapoarte oficiale autoritate | 15% | 10% | Formulare ANSA / SNIIA / registru genealogic nu au template. Datele brute sunt exportabile prin API (JSON), dar formatarea oficială e nedocumentată. |
| Integrări specifice vertical | 10% | 20% | Bridge-ul Android oferă USB/BT/HTTP pentru orice hardware, dar driver-ele specifice (RFID crotal, cântar alee, robot muls) sunt configurări per proiect. |
| Documentație existentă | 10% | 5% | Această pagină e primul ghid zootehnie; nu există încă capturi vizuale sau scenarii pas-cu-pas dedicate. |