Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
276
COMUN/programe/oproceduri_parteneri.prg
Normal file
276
COMUN/programe/oproceduri_parteneri.prg
Normal file
@@ -0,0 +1,276 @@
|
||||
*************************************************************************************************************************
|
||||
* 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
|
||||
|
||||
Reference in New Issue
Block a user