************************************************************************************************************************* * adauga corespondente intre partener si fiecare tip din lista de id-uri tip partener * Date : 04/10/2006 * author : marius.mutu ******************************************************* ADAUGA_CORESP_TIP_PART ****************************************** PROCEDURE ADAUGA_CORESP_TIP_PART LPARAMETERS tnIdPart, tcTipuriPartener && tcTipuriParteneri: lista de id-uri tipuri parteneri delimitata prin ',' *!* ADAUG TIPURI DE PARTENER - PARTENER DACA NU EXISTA LOCAL lcTipPart, lcSql, lnSucces, i IF EMPTY(tcTipuriPartener) OR EMPTY(tnIdPart) RETURN ENDIF FOR i = 1 TO GETWORDCOUNT(tcTipuriPartener,[,;]) lcTipPart = GETWORDNUM(tcTipuriPartener,i,[,;]) lcSql = [begin PACK_DEF.adauga_coresp_tip_part(] + ALLTRIM(TRANSFORM(tnIdPart)) + [,] + lcTipPart + [); END;] lnSucces = goExecutor.oExecute(lcSql) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') ENDIF ENDFOR ENDPROC && ADAUGA_CORESP_TIP_PART ******************************************************* ADAUGA_CORESP_DELEGAT ****************************************** Procedure ADAUGA_CORESP_DELEGAT Lparameters tnIdDelegat, tnIdPart Local lcSql,lnSucces lcSql = [begin pack_def.adauga_coresp_delegat(] + Alltrim(Str(tnIdDelegat)) + [,] + Alltrim(Str(tnIdPart)) + [); end;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') Endif EndProc ************************************************************************************************************************* Procedure Adauga_Delegat_Partener Lparameters tnIdDelegat, tnIdPartener Local lcTipPart, lcSql, lnSucces If Empty(tnIdDelegat) Or Empty(tnIdPartener) Return Endif lcSql = [begin pack_def.adauga_coresp_tip_part(]+Alltrim(Str(tnIdDelegat))+[,?gnIdTipDelegati);] + ; [pack_def.actualizeaza_coresp_delegati(] + Alltrim(Str(tnIdDelegat)) + [,'] + ; Alltrim(Str(tnIdPartener)) + [;'); END;] lnSucces = goExecutor.oExecute(lcSql) If lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare,0+16,'Eroare') Endif Endproc && Adauga_Delegat_Partener PROCEDURE Adauga_partener LPARAMETERS toPartener Local lcAdresa, lcApart, lcBanca, lcBloc, lcCod_fiscal, lcCodpostal, lcCont_Banca, lcCorespDel Local lcDA_apare, lcDenumire, lcDenumire_adresa, lcEmail, lcEtaj, lcFax, lcIdPart, lcIdString Local lcId_Judet, lcId_categ_ent, lcId_loc, lcId_loc_inreg, lcId_tara, lcId_util, lcItem, lcJudet Local lcJudetBucuresti, lcLocalitate, lcMesaj, lcMotiv_inactiv, lcNumar, lcNume, lcPrefix, lcPrenume Local lcPrincipala, lcReg_comert, lcScara, lcSql, lcSqlInsert, lcStrada, lcSufix, lcTara, lcTelefon1 Local lcTelefon2, lcTip_persoana, lcWeb, lcinactiv, llSucces, lnIdJudet, lnIdJudetBucuresti Local lnIdLocalitateBucuresti, lnIdTaraRO, lnItem, lnItems, lnSucces *:Global pnIdAdresa, pnIdJudet lcDenumire = Nvl(Strtran(Alltrim(Upper(toPartener.denumire)), ['], ['']), "") lcNume = '' IF TYPE('toPartener.nume') = 'C' lcNume = Nvl(Strtran(Alltrim(Upper(toPartener.nume)), ['], ['']), "") ENDIF If Empty(m.lcNume) lcNume = m.lcDenumire m.lcPrenume = '' Endif lcPrenume = '' IF TYPE('toPartener.prenume') = 'C' lcPrenume = Nvl(Strtran(Alltrim(Upper(toPartener.prenume)), ['], ['']), "") ENDIF lcCod_fiscal = '' IF TYPE('toPartener.cod_fiscal') = 'C' lcCod_fiscal = Upper(Alltrim(toPartener.cod_fiscal)) ENDIF lcReg_comert = '' IF TYPE('toPartener.reg_com') = 'C' lcReg_comert = Nvl(Alltrim(Upper(toPartener.reg_com)), "") ENDIF lcId_loc_inreg = 'NULL' lcId_categ_ent = 'NULL' lcPrefix = "" lcSufix = "" lcTip_persoana = IIF(!EMPTY(m.lcCod_fiscal) and LEN(m.lcCod_fiscal) < 13, "1", "2") lcBanca = "" lcCont_Banca = "" lcinactiv = "0" lcMotiv_inactiv = "" lcTip = 'CLIENTI' IF TYPE('toPartener.tip') = 'C' lcTip = UPPER(ALLTRIM(toPartener.tip)) ENDIF lcIdString = IIF(m.lcTip = 'CLIENTI', "16", "17") && 16 = CLIENTI, 17 = FURNIZORI lcCorespDel = "" lcId_util = "-3" lcSqlInsert = [begin pack_def.adauga_partener('] + lcDenumire + [','] + lcNume + [','] + lcPrenume + [','] + lcCod_fiscal + [','] + ; lcReg_comert + [',] + lcId_loc_inreg + [,] + lcId_categ_ent + [,'] + lcPrefix + [','] + lcSufix + [',] + ; lcTip_persoana + [,'] + lcBanca + [','] + lcCont_Banca + [',] + lcinactiv + [,'] + lcMotiv_inactiv + [',] + ; lcId_util + [,'] + lcIdString + [','] + lcCorespDel + [',?@pnIdPart); end;] llSucces = goExecutor.oExecuta(m.lcSqlInsert) *********************************** * Adresa partener *********************************** lcIdPart = Alltrim(Str(m.pnIdPart)) lcAdresa = Nvl(Strtran(Alltrim(Upper(toPartener.adresa)), ['], ['']), "") lcDenumire_adresa = "" lcDA_apare = "0" lcStrada = "" lcNumar = "" lcBloc = "" lcScara = "" lcApart = "" lcEtaj = "" lcId_loc = "NULL" lcLocalitate = "" lcId_Judet = "NULL" lcCodpostal = "NULL" lcId_tara = "NULL" lcTelefon1 = "" lcTelefon2 = "" lcFax = "" lcEmail = "" lcWeb = "" lcPrincipala = Iif(m.pnNrAdrese = 0, "1", "0") lcinactiv = "0" lcId_util = "-3" lnItems = Getwordcount(m.lcAdresa, ',') For lnItem = 1 To m.lnItems lcItem = Alltrim(Getwordnum(m.lcAdresa, m.lnItem, ',')) Do Case Case m.lnItem = 1 && strada lcStrada = LEFT(Alltrim(m.lcItem), 150) Case 'NR.' $ m.lcItem && nr strada lcNumar = LEFT(Alltrim(Strtran(m.lcItem, 'NR.', '')), 10) Case 'BL.' $ m.lcItem lcBloc = LEFT(Alltrim(Strtran(m.lcItem, 'BL.', '')), 30) Case 'SC.' $ m.lcItem lcScara = LEFT(Alltrim(Strtran(m.lcItem, 'SC.', '')), 10) Case 'ET.' $ m.lcItem lcEtaj = LEFT(Alltrim(Strtran(m.lcItem, 'ET.', '')), 20) Case 'AP.' $ m.lcItem lcApart = LEFT(Alltrim(Strtran(m.lcItem, 'AP.', '')), 10) Case 'COD POSTAL' $ m.lcItem lcCodpostal = ALLTRIM(STR(INT(VAL(LEFT(Alltrim(Strtran(m.lcItem, 'COD POSTAL', '')), 20))))) Case 'LOC.' $ m.lcItem lcLocalitate = Alltrim(Strtran(m.lcItem, 'LOC.', '')) Case 'JUD.' $ m.lcItem lcJudet = Alltrim(Strtran(m.lcItem, 'JUD.', '')) Case m.lnItem = m.lnItems - 1 And Empty(m.lcLocalitate) lcLocalitate = m.lcItem Case m.lnItem = m.lnItems lcTara = m.lcItem Endcase Endfor lnIdJudetBucuresti = 10 lcJudetBucuresti = "BUCURESTI" lnIdLocalitateBucuresti = 1759 lnIdTaraRO = 1 If m.lcLocalitate = 'BUCURESTI' m.lcLocalitate = 'BUCURESTI SECTORUL 1' Endif If Empty(m.lcLocalitate) lcLocalitate = 'BUCURESTI SECTORUL 1' Endif If Empty(m.lcJudet) lcJudet = m.lcJudetBucuresti ENDIF * caut adresa dupa localitate. daca nu o gasesc, o adaug SELECT cAdrese LOCATE FOR id_part = m.pnIdPart AND localitate = m.lcLocalitate IF !FOUND() pnIdJudet = 0 lnSucces = goExecutor.oSelect2Value([select j.id_judet, j.id_tara from syn_nom_judete j where j.judet = '] + m.lcJudet + [' and j.inactiv = 0 and j.sters = 0], @pnIdJudet) If m.lnSucces > 0 IF EMPTY(NVL(m.pnIdJudet,0)) lnSucces = goExecutor.oSelect2Value([select j.id_judet, j.id_tara from syn_nom_judete j where j.judet like '%] + m.lcJudetBucuresti + [%' and j.inactiv = 0 and j.sters = 0], @pnIdJudet) IF m.lnSucces > 0 lnIdJudet = m.pnIdJudet ELSE lnIdJudet = m.lnIdJudetBucuresti ENDIF ELSE lnIdJudet = m.pnIdJudet ENDIF ELSE This.Trace(goExecutor.cEroare) lnIdJudet = m.lnIdJudetBucuresti ENDIF lcSql = [select l.id_loc, l.id_judet, j.id_tara from syn_nom_localitati l left join syn_nom_judete j on l.id_judet = j.id_judet where l.id_judet = ] + ALLTRIM(STR(m.lnIdJudet)) + [ and l.localitate = '] + m.lcLocalitate + [' and l.inactiv = 0 and l.sters = 0 order by l.localitate] lnSucces = goExecutor.oExecute(m.lcSql, 'cLocalitateTemp') If m.lnSucces > 0 IF RECCOUNT('cLocalitateTemp') > 0 Select cLocalitateTemp Go Top lcId_loc = Alltrim(Str(id_loc)) lcId_Judet = Alltrim(Str(id_judet)) lcId_tara = Alltrim(Str(id_tara)) Use In (Select('cLocalitateTemp')) ELSE Use In (Select('cLocalitateTemp')) lcSql = [select l.id_loc, l.id_judet, j.id_tara from syn_nom_localitati l left join syn_nom_judete j on l.id_judet = j.id_judet where l.id_judet = ] + ALLTRIM(STR(m.lnIdJudet)) + [ and l.inactiv = 0 and l.sters = 0 order by l.localitate] lnSucces = goExecutor.oExecute(m.lcSql, 'cLocalitateTemp') If m.lnSucces > 0 Select cLocalitateTemp Go Top lcId_loc = Alltrim(Str(id_loc)) lcId_Judet = Alltrim(Str(id_judet)) lcId_tara = Alltrim(Str(id_tara)) ELSE This.Trace(goExecutor.cEroare) ENDIF Use In (Select('cLocalitateTemp')) ENDIF ELSE This.Trace(goExecutor.cEroare) ENDIF IF EMPTY(NVL(m.lcId_loc, '')) lcId_loc = Alltrim(Str(m.lnIdLocalitateBucuresti)) lcId_Judet = Alltrim(Str(m.lnIdJudetBucuresti)) lcId_tara = Alltrim(Str(m.lnIdTaraRO)) Endif && lnSucces If m.lcId_loc <> 'NULL' pnIdAdresa = 0 *!* * caut adresa dupa localitate. daca nu o gasesc, o adaug *!* lcSql = [SELECT id_adresa FROM adrese_parteneri where sters = 0 and inactiv = 0 and id_loc = ] + m.lcId_loc + [ AND id_part = ] + m.lcIdPart *!* lnSucces = goExecutor.oSelect2Value(m.lcSql, @pnIdAdresa) *!* If m.lnSucces < 0 *!* lcMesaj = goExecutor.cEroare *!* Thisform.trace(m.lcMesaj) *!* AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) *!* Exit *!* Endif If Empty(NVL(m.pnIdAdresa,0)) lcSql = [begin pack_def.adauga_adresa_partener2(] + lcIdPart + [,'] + lcDenumire_adresa + [',] + lcDA_apare + [,] + ; ['] + lcStrada + [','] + lcNumar + [','] + ; lcBloc + [','] + lcScara + [','] + lcApart + [','] + lcEtaj + [',] + lcId_loc + [,'] + lcLocalitate + [',] + lcId_Judet + [,] + lcCodpostal + [,] + lcId_tara + [,'] + ; lcTelefon1 + [','] + lcTelefon2 + [','] + lcFax + [','] + lcEmail + [','] + lcWeb + [',] + ; lcPrincipala + [,] + lcinactiv + [,] + lcId_util + [,?@pnIdAdresa); end;] lnSucces = goExecutor.oExecute(m.lcSql) If m.lnSucces < 0 lcMesaj = goExecutor.cEroare Thisform.trace(m.lcMesaj) AMessagebox(m.lcMesaj, 0 + 48, _Screen.Caption ) Exit Endif Endif && empty(m.pnIdAdresa) Endif && m.lcId_loc <> 'NULL' ENDIF && !found() ENDPROC && Adauga_partener