Files
acn-documentatie-roris/CLAUDE.md
Marius Mutu a19651c029 Documentatie date facturare pentru modernizare RoRIS
Specificatie minima cu datele de care depinde facturarea ROA, pentru
caietul de sarcini al modernizarii RoRIS. Include:
- DOCUMENTATIE_DATE_FACTURARE_RORIS.md/.docx (livrabil)
- dictionar_date_facturare.csv (anexa tehnica)
- PACK_ACN_IMPORT.pck (sursa analizata)
- CLAUDE.md (context)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:19:07 +03:00

5.2 KiB
Raw Permalink Blame History

CLAUDE.md

Context pentru asistarea pe acest folder. Citește înainte de a relua lucrul.

Ce este acest folder

Folder de lucru pentru o documentație de modernizare RoRIS cerută de ACN. Autorul/clientul este Marius Mutu (ROMFAST SRL) — firma care a dezvoltat ERP-ul de facturare ROA (aplicația ROAACNPRO). ACN a depus cerere de finanțare pentru modernizarea sistemului RoRIS și are nevoie de o specificație cu datele de care depinde facturarea, ca să o impună în caietul de sarcini către firma care va face modernizarea.

Arhitectura sistemelor (de reținut)

  • RoRIS = sistemul sursă (date operaționale tranzit barje/nave, ecluzări, acostări). Bază de date SQL Server.
  • ROA (ROAACNPRO, dezvoltat de ROMFAST) = ERP-ul de facturare. Bază de date Oracle, aplicație Visual FoxPro 9.
  • ROA (Oracle) preia datele din RoRIS (SQL Server) printr-un database link (gateway heterogen Oracle → SQL Server, RORISSQL). Importul e o copiere (merge) în tabele Oracle ips_*. Nu există API/REST — clientul vrea explicit să păstreze acest model, nu să-l înlocuiască.

Fișierele din acest folder

  • PACK_ACN_IMPORT.pck — pachetul Oracle care importă din RoRIS în ROA (sursa analizei).
  • DOCUMENTATIE_DATE_FACTURARE_RORIS.mdlivrabilul principal (specificație minimă, în română, ton impersonal). Structură: 1) Principiu integrare; 2) Entități + nomenclatoare (2.1); 3) Câmpuri esențiale; 4) Impact asupra facturării (tabel de riscuri).
  • DOCUMENTATIE_DATE_FACTURARE_RORIS.docx — versiunea Word, generată din .md (vezi mai jos).
  • dictionar_date_facturare.csv — anexă tehnică, dicționar complet de câmpuri (delimitator ;, se deschide nativ în Excel România).

Sursa de adevăr (codul ROA real)

Programul de facturare e în D:\ROA\ROAACNPRO. Pentru detalii de cod, relevante:

  • D:\ROA\ROAACNPRO\PACK_ACN_IMPORT.pck (copie și aici) — ce entități se importă.
  • D:\ROA\ROAACNPRO\Programe\proceduri_acnpro.prg — calcul/salvare facturare; rapoarte de indicatori vizualizare_tranzit_nave (~linia 228) și vizualizare_cheiaj_nave (~383); distribuția pe ecluze (completeaza_regdoc_tranzit, ~22592606); tarife ips_tarife_tranzit (vizualizare_tarife_tranzit, ~4820).
  • D:\ROA\ROAACNPRO\database.txt — sinonime/granturi RoRIS.
  • D:\ROA\ROAACNPRO\docs\fluxuri_calcul_facturare.md și docs\facturare.md — fluxuri de calcul.
  • D:\ROA\ROAACNPRO\CLAUDE.md — ghidul aplicației ROA.

Constatări cheie (deja încorporate în documentație)

  1. Ecluzele se potrivesc pe DENUMIRE, nu pe id_lock. Codul filtrează lock_name LIKE '%AGIGEA%'/'%CERNAVODA%'/'%OVIDIU%'/'%NAVODARI%' și chamber_name exact SAS1/SAS2 (canal principal CDMN) sau C1/C2 (canal PAMN, Năvodari). id_lock poate fi orice. Camera trebuie obligatoriu completată (există verificare_roris_ecluze.exe care semnalează lipsurile).
  2. ID-urile entităților din RoRIS trebuie stabile în timp. Sunt folosite ca FK în tarife, contracte și vânzările deja facturate → relistarea facturilor istorice depinde de ele.
  3. Nomenclatoarele de grupare/tarifare NU există în RoRIS — sunt create în ROA și referă prin ID entitățile RoRIS: grupe tip navă (ips_grup_tip_nave), grupe marfă (ips_goods_groups), UM (ips_vas_um), echivalențe (ips_vas_echivalent), dane (ips_dane), tarifele (ips_tarife_tranzit). Tariful de tranzit se alege pe combinația grupă tip navă + grupă/tip marfă + rută + capacitate, totul pe ID-uri RoRIS. Dacă RoRIS schimbă ID-urile de bază, configurarea din ROA se desincronizează.
  4. Entități importate din RoRIS (12): contacts, countries, goods (RISGOODS), vessels, vessel_types (RIS_VES_TYPES), route_points, voyages, voyage_members, cargoes, voyage_locks (VOYAGE_LOCK), berthings; ips_routes e generat în ROA din voyage_members + route_points.

Cum se regenerează DOCX din MD

Nu există pandoc; există Word 2010 (COM). Workflow: MD → HTML curat → Word salvează ca .docx. Scriptul convertor (_md2docx.ps1) se creează ad-hoc, se rulează și se șterge după (e temporar, nu se păstrează în folder). Pași:

  1. Scrie _md2docx.ps1 (convertor MD→HTML cu suport pentru titluri, tabele, bold, cod, blockquote, liste; apoi Word COM SaveAs format 16 = .docx).
  2. Salvează întâi într-un _doc_new.docx, apoi Move-Item peste cel final (dacă fișierul final e deschis în Word, e blocat — anunță utilizatorul să închidă Word).
  3. Șterge fișierele temporare _md2docx.ps1, _doc_new.docx, _doc_tmp.html.

Verificare: documentul Word este uneori deschis în IDE/Word și blochează suprascrierea.

Preferințe ale utilizatorului (din interacțiuni)

  • Documentație minimă, lizibilă pentru oameni, nu restrictivă/verbose.
  • Ton impersonal — fără adresare cu „tu".
  • Folosește terminologia din sistem (ex. TRN, nu „NRT").
  • Accent pe afectarea cât mai mică a facturării și pe păstrarea modelului actual (import din vederi RoRIS, fără API/REST); dacă e nevoie de strat de compatibilitate, de menționat că trebuie prevăzut în buget.
  • Limba documentelor: română.