Katalog Modułów

Integracja KAMSOFT / KDPN

Synchronizacja maszyna-maszyna eVAN ↔ KAMSOFT (SPX) przez kolejki Oracle AQ — pobrania, płatności, sprawdzacz, proces wsadowy.
Opis modułu w toku — do uzupełnienia do poziomu szczegółowości modułów pogłębionych (Wyniki, Obsługa Zlecenia, Faktury).

Integracja backendowa (brak UI) synchronizująca dane między KAMSOFT (SPX) a eVAN/VAN_DATA przez kolejki Oracle AQ. Kod: model/kamsoft/KDPN/ (kolejki, triggery, subskrybenci) + pakiety KAMSOFT_POBRANIA_PKG, KAMSOFT_ZAPLATY_PKG, KAMSOFT_SPRAWDZACZ_PKG, KAMSOFT_SYNC_BATCH_PKG.

Przepływ (event-driven, AQ)

flowchart TD
  classDef src fill:#eef1f5,stroke:#5b6b82,color:#16232f;
  classDef q fill:#eaf1f9,stroke:#1f5fa6,color:#16232f;
  classDef proc fill:#eef7f0,stroke:#2c7350,color:#16232f;
  classDef out fill:#fdf4e3,stroke:#9a6b12,color:#16232f;

  KP["KAM_POB (KAMSOFT)"]:::src --> T1["trigger → POBRANIA_QUEUE"]:::q
  KZ["KAM_ZAP (KAMSOFT)"]:::src --> T2["trigger → ZAPLATY_QUEUE (prio 3, NLOT/LOTOS)"]:::q
  SP["paczka W1/W2"]:::src --> T3["SPRAWDZACZ_QUEUE"]:::q

  T1 --> AQ1["AQ: KAM_POB_ZAPL_QUEUE"]:::q
  T2 --> AQ1
  T3 --> AQ2["AQ: KAM_SPRAWDZACZ_QUEUE"]:::q

  AQ1 --> S1["subskrybent → dequeue"]:::proc
  S1 --> P1["KAMSOFT_POBRANIA_PKG.p_set_status"]:::proc
  S1 --> P2["KAMSOFT_ZAPLATY_PKG.p_execute_data_processing"]:::proc
  AQ2 --> P3["KAMSOFT_SPRAWDZACZ_PKG.p_execute_process → W1/W2"]:::proc

  P1 --> D["statusy dokumentów:<br/>PROCESSED_ / SYNCHRONIZED_KAMSOFT"]:::out
  P2 --> D

Główne przepływy

  • Pobrania (US1) — zmiana w KAM_POB → trigger → POBRANIA_QUEUE → enqueue do AQ KAM_POB_ZAPL_QUEUE → subskrybent (KAMSOFT_POBRANIA_AQ_PKG.p_kam_pob_zapl_queue_subscriber/_dequeue) → KAMSOFT_POBRANIA_PKG.p_set_status zmienia status dokumentów (FAKTURA, FAKTURA_TRA, KARTY_FLOTOWE_FAKTURY, NOTA_KSIEGOWA, WPLATY_WLASNE) na PROCESSED_/SYNCHRONIZED_KAMSOFT.
  • Płatności (US2)KAM_ZAPZAPLATY_QUEUE (priorytet 3, obsługa NLOT/LOTOS) → AQ → KAMSOFT_ZAPLATY_PKG.p_execute_data_processing.
  • Sprawdzacz (US3)SPRAWDZACZ_QUEUE → AQ KAM_SPRAWDZACZ_QUEUEKAMSOFT_SPRAWDZACZ_PKG.p_execute_process → weryfikacje W1/W2 (KAMSOFT_SYNC_PKG.p_check_W1/W2).
  • Ponawianie i proces wsadowy (US4) — pozycje błędne (-1) / nieprzetworzone (0) ponawiane przez p_queue_worker_unload; pełny cykl orkiestruje KAMSOFT_SYNC_BATCH_PKG (p_create_proc → p_add_data → p_check_data → p_modify_data → p_save_reports → p_delete_data → p_finish_proc), z czyszczeniem historii (30 dni). Łańcuchy DBMS_SCHEDULER: KAMSOFT_POBRANIA/ZAPLATY/SYNCHRONIZACJA_INSTALL. Monitor: KAMSOFT_AQ_MONITOR (RUNNING/WAITING).

Kluczowe obiekty

ObiektRola
POBRANIA_QUEUE / ZAPLATY_QUEUE / SPRAWDZACZ_QUEUEtabele kolejkowe (status 0/1/-1, log błędu)
KAM_POB / KAM_ZAP / SPRAWDZACZinterfejsy danych z KAMSOFT
FAKTURA / FAKTURA_TRA / NOTA_KSIEGOWA / WPLATY_WLASNEdokumenty aktualizowane
KAMSOFT_*_PROC/_DET/_SUBPROC/_CNFstruktury procesu wsadowego
KAMSOFT_AQ_MONITORstan kolejek
Pakiety KAMSOFT_POBRANIA_PKG/ZAPLATY_PKG w latest/ bywają zakomentowane — aktywna logika żyje w subskrybentach AQ w model/kamsoft/KDPN/. Komunikacja przez dblinki @SPX (DEV/PROD), sekrety pominięte. Do weryfikacji: failover przy niedostępności @SPX, ryzyko blokady KAMSOFT_AQ_MONITOR (FOR UPDATE bez timeoutu), uruchomienie poza instancją evantest (hardkod nazwy w łańcuchach). Źródło: specs/integracja-kamsoft-kdpn/spec.md.
Copyright © 2026