diff --git a/api/database-scripts/02_import_parteneri.sql b/api/database-scripts/02_import_parteneri.sql index 64d5c26..41b6808 100644 --- a/api/database-scripts/02_import_parteneri.sql +++ b/api/database-scripts/02_import_parteneri.sql @@ -69,6 +69,7 @@ CREATE OR REPLACE PACKAGE PACK_IMPORT_PARTENERI AS * @param p_adresa Adresa in format: "JUD:Bucuresti;BUCURESTI;Str.Victoriei;10" * @param p_telefon Numar de telefon * @param p_email Adresa de email + * @param p_is_persoana_juridica 1=persoana juridica, 0=persoana fizica, NULL=auto-detect prin CNP * @return ID_PART al partenerului gasit sau creat */ FUNCTION cauta_sau_creeaza_partener( @@ -76,7 +77,8 @@ CREATE OR REPLACE PACKAGE PACK_IMPORT_PARTENERI AS p_denumire IN VARCHAR2, p_adresa IN VARCHAR2 DEFAULT NULL, p_telefon IN VARCHAR2 DEFAULT NULL, - p_email IN VARCHAR2 DEFAULT NULL + p_email IN VARCHAR2 DEFAULT NULL, + p_is_persoana_juridica IN NUMBER DEFAULT NULL ) RETURN NUMBER; /** @@ -512,7 +514,8 @@ CREATE OR REPLACE PACKAGE BODY PACK_IMPORT_PARTENERI AS p_denumire IN VARCHAR2, p_adresa IN VARCHAR2 DEFAULT NULL, p_telefon IN VARCHAR2 DEFAULT NULL, - p_email IN VARCHAR2 DEFAULT NULL + p_email IN VARCHAR2 DEFAULT NULL, + p_is_persoana_juridica IN NUMBER DEFAULT NULL ) RETURN NUMBER IS v_id_part NUMBER; @@ -573,7 +576,14 @@ CREATE OR REPLACE PACKAGE BODY PACK_IMPORT_PARTENERI AS -- pINFO('Nu s-a gasit partener existent. Se creeaza unul nou...', 'IMPORT_PARTENERI'); -- Verifica tipul partenerului - v_este_persoana_fizica := este_persoana_fizica(v_cod_fiscal_curat); + -- Prioritate: parametru explicit > detectie prin CNP + IF p_is_persoana_juridica IS NOT NULL THEN + -- Foloseste informatia explicita din GoMag orders + v_este_persoana_fizica := CASE WHEN p_is_persoana_juridica = 1 THEN 0 ELSE 1 END; + ELSE + -- Auto-detect prin CNP (comportament original) + v_este_persoana_fizica := este_persoana_fizica(v_cod_fiscal_curat); + END IF; IF v_este_persoana_fizica = 1 THEN -- pINFO('Detectata persoana fizica (CUI 13 cifre)', 'IMPORT_PARTENERI');