Add configurable ROA settings (IdPol, IdGestiune, IdSectie) to VFP integration

Implement global configuration for ROA system IDs via settings.ini:

VFP Changes:
- Add [ROA] section to settings.ini with IdPol, IdGestiune, IdSectie
- Update ApplicationSetup.LoadSettings to read ROA configuration
- Update ApplicationSetup.CreateDefaultIni with default values (0, 1, 2)
- Modify sync-comenzi-web.prg to pass ROA settings to Oracle package

Oracle Package Changes (06_pack_import_comenzi.pck):
- Add optional parameters to importa_comanda signature with defaults
  * p_id_pol (default: 0)
  * p_id_gestiune (default: 1)
  * p_id_sectie (default: 2)
- Remove hardcoded constants (c_id_pol, c_id_sectie, c_id_gestiune)
- Update PACK_COMENZI.adauga_comanda call to use p_id_sectie parameter
- Update PACK_COMENZI.adauga_articol_comanda to use p_id_pol and p_id_sectie

Benefits:
- Flexible configuration without code changes
- Maintains backward compatibility with default values
- Centralized ROA system configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-19 22:36:21 +02:00
parent 05bb0b1b01
commit ef6a318aed
3 changed files with 22 additions and 8 deletions

View File

@@ -64,6 +64,11 @@ DEFINE CLASS ApplicationSetup AS Custom
ADDPROPERTY(loSettings, "JsonFilePattern", ReadPini("SYNC", "JsonFilePattern", tcIniFile))
ADDPROPERTY(loSettings, "AutoRunAdapter", ReadPini("SYNC", "AutoRunAdapter", tcIniFile) = "1")
*-- Sectiunea ROA - pentru configurarea sistemului ROA
ADDPROPERTY(loSettings, "IdPol", VAL(ReadPini("ROA", "IdPol", tcIniFile)))
ADDPROPERTY(loSettings, "IdGestiune", VAL(ReadPini("ROA", "IdGestiune", tcIniFile)))
ADDPROPERTY(loSettings, "IdSectie", VAL(ReadPini("ROA", "IdSectie", tcIniFile)))
*-- Salvare in proprietatea clasei
THIS.oSettings = loSettings
@@ -109,7 +114,12 @@ DEFINE CLASS ApplicationSetup AS Custom
WritePini("SYNC", "AdapterProgram", "gomag-adapter.prg", tcIniFile)
WritePini("SYNC", "JsonFilePattern", "gomag_orders*.json", tcIniFile)
WritePini("SYNC", "AutoRunAdapter", "1", tcIniFile)
*-- Sectiunea ROA - configurare sistem ROA
WritePini("ROA", "IdPol", "0", tcIniFile)
WritePini("ROA", "IdGestiune", "1", tcIniFile)
WritePini("ROA", "IdSectie", "2", tcIniFile)
CATCH
llSuccess = .F.
ENDTRY

View File

@@ -283,7 +283,7 @@ Function ProcessWebOrder
*-- Apel package Oracle pentru import comanda
If m.llSucces
lcSQL = "BEGIN PACK_IMPORT_COMENZI.importa_comanda(?lcOrderNumber, ?ldOrderDate, ?lnPartnerID, ?lcArticlesJSON, ?lnIdAdresaLivrare, ?lnIdAdresaFacturare, ?@lnIdComanda); END;"
lcSQL = "BEGIN PACK_IMPORT_COMENZI.importa_comanda(?lcOrderNumber, ?ldOrderDate, ?lnPartnerID, ?lcArticlesJSON, ?lnIdAdresaLivrare, ?lnIdAdresaFacturare, ?goSettings.IdPol, ?goSettings.IdGestiune, ?goSettings.IdSectie, ?@lnIdComanda); END;"
lnResult = SQLExec(goConnectie, lcSQL)
If lnResult > 0 And Nvl(m.lnIdComanda,0) > 0