Change ROA settings defaults to NULL and remove obsolete script

Changes:
1. Update settings.ini.example with [ROA] section using NULL defaults
2. Modify ApplicationSetup.prg to handle NULL values properly:
   - CreateDefaultIni writes "NULL" string to INI file
   - LoadSettings converts "NULL" string to VFP .NULL. value
3. Update Oracle package defaults from (0, 1, 2) to (NULL, NULL, NULL):
   - p_id_pol DEFAULT NULL
   - p_id_gestiune DEFAULT NULL
   - p_id_sectie DEFAULT NULL
4. Remove obsolete 02_import_parteneri.sql (replaced by 05_pack_import_parteneri.pck)
5. Update local settings.ini with NULL values

Rationale:
- NULL is semantically correct (no policy/gestiune/sectie specified)
- Previous defaults (0, 1, 2) were invalid IDs in ROA system
- Maintains backward compatibility through Oracle DEFAULT NULL

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-20 00:02:50 +02:00
parent ef6a318aed
commit 7a50d2156a
4 changed files with 44 additions and 742 deletions

View File

@@ -65,9 +65,31 @@ DEFINE CLASS ApplicationSetup AS Custom
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)))
LOCAL lcRoaValue
*-- IdPol - NULL sau valoare numerica
lcRoaValue = UPPER(ALLTRIM(ReadPini("ROA", "IdPol", tcIniFile)))
IF lcRoaValue = "NULL" OR EMPTY(lcRoaValue)
ADDPROPERTY(loSettings, "IdPol", .NULL.)
ELSE
ADDPROPERTY(loSettings, "IdPol", VAL(lcRoaValue))
ENDIF
*-- IdGestiune - NULL sau valoare numerica
lcRoaValue = UPPER(ALLTRIM(ReadPini("ROA", "IdGestiune", tcIniFile)))
IF lcRoaValue = "NULL" OR EMPTY(lcRoaValue)
ADDPROPERTY(loSettings, "IdGestiune", .NULL.)
ELSE
ADDPROPERTY(loSettings, "IdGestiune", VAL(lcRoaValue))
ENDIF
*-- IdSectie - NULL sau valoare numerica
lcRoaValue = UPPER(ALLTRIM(ReadPini("ROA", "IdSectie", tcIniFile)))
IF lcRoaValue = "NULL" OR EMPTY(lcRoaValue)
ADDPROPERTY(loSettings, "IdSectie", .NULL.)
ELSE
ADDPROPERTY(loSettings, "IdSectie", VAL(lcRoaValue))
ENDIF
*-- Salvare in proprietatea clasei
THIS.oSettings = loSettings
@@ -116,9 +138,9 @@ DEFINE CLASS ApplicationSetup AS Custom
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)
WritePini("ROA", "IdPol", "NULL", tcIniFile)
WritePini("ROA", "IdGestiune", "NULL", tcIniFile)
WritePini("ROA", "IdSectie", "NULL", tcIniFile)
CATCH
llSuccess = .F.

View File

@@ -26,6 +26,11 @@ AdapterProgram=gomag-adapter.prg
JsonFilePattern=gomag_orders*.json
AutoRunAdapter=1
[ROA]
IdPol=NULL
IdGestiune=NULL
IdSectie=NULL
# ===============================================
# CONFIGURATIE SYNC COMENZI WEB → ORACLE ROA
# ===============================================
@@ -48,6 +53,11 @@ AutoRunAdapter=1
# - JsonFilePattern: Pattern pentru fisiere JSON (ex: gomag_orders*.json)
# - AutoRunAdapter: 1=ruleaza automat adapter, 0=foloseste doar JSON existent
#
# [ROA] - Configurari sistem ROA
# - IdPol: ID politica de preturi (NULL=fara politica, numar=ID specific)
# - IdGestiune: ID gestiune pentru comenzi (NULL=automat, numar=ID specific)
# - IdSectie: ID sectie pentru comenzi (NULL=automat, numar=ID specific)
#
# Pentru utilizare:
# 1. Copiaza settings.ini.example → settings.ini
# 2. Configureaza ApiKey si ApiShop pentru GoMag