From 4d712642c1f611b817dd76050b79eed89765422c Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Wed, 10 Sep 2025 00:08:51 +0300 Subject: [PATCH] Add optional IS_PERSOANA_JURIDICA parameter to PACK_IMPORT_PARTENERI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add p_is_persoana_juridica parameter to cauta_sau_creeaza_partener function - Enable explicit person type detection from GoMag orders data - Maintain backward compatibility with NULL default value - Priority logic: explicit parameter > CNP auto-detection - Improve accuracy when CNP is not available for individuals - Support 1=persoana juridica, 0=persoana fizica, NULL=auto-detect 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- api/database-scripts/02_import_parteneri.sql | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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');