Files
vfp_roaauto/COMUN/programe/controllere/orasettingscontroller.prg

184 lines
7.0 KiB
Plaintext

Define Class oraSettingsController As Custom
oDBController = Null
oDateCalendar = Null
oDateFirma = Null
nIdSucursala = Null
nIdMama = Null
lEMama = Null
Procedure Init
Lparameters toDBController
This.oDBController = toDBController
Endproc
******************************************************************
Procedure initializeaza_firma
Lparameters tnIdFirma,tnIdUtil
This.initializeaza_date_firma(tnIdFirma)
This.initializeaza_calendar()
This.initializeaza_optiuni()
This.initializeaza_utilizator(tnIdUtil)
Endproc
******************************************************************
Procedure initializeaza_utilizator
Lparameters tnIdUtil
This.initializeaza_optiuni_utilizator(tnIdUtil)
This.initializeaza_sesiune_server(tnIdUtil)
Endproc
******************************************************************
Procedure initializeaza_date_firma
Lparameters tnIdFirma
Local loFirma,lcCursor
This.oDateFirma = Null
lcCursor = [crsdatefirma]
If Used(lcCursor)
Use In (lcCursor)
Endif
If This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>syn_nom_firme??cWhere=>id_firma=] + Alltrim(Str(tnIdFirma))),lcCursor)
Select (lcCursor)
Scatter Name loFirma
This.oDateFirma = loFirma
This.nIdSucursala = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.Id_Firma, Null) && DACA ESTE SUCURSALA - ID-UL SUCURSALA PE CARE IL SCRIU IN TABELE
This.nIdMama = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.id_mama, Null)
This.lEMama = Nvl(loFirma.e_mama,0) <> 0
Endif
If Used(lcCursor)
Use In (lcCursor)
Endif
Endproc
******************************************************************
Procedure initializeaza_calendar
Local loCalendar,lcCursor
This.oDateCalendar = Null
lcCursor = [crscalendar]
If Used(lcCursor)
Use In (lcCursor)
Endif
If This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>(select * from calendar order by id_calendar desc)??cWhere=>rownum = 1]),lcCursor)
If Reccount(lcCursor) = 0
amessagebox("Nu exista luni deschise in calendar!",48,"Atentie")
Else
Select (lcCursor)
Scatter Name loCalendar
This.oDateCalendar = loCalendar
Endif
Endif
If Used(lcCursor)
Use In (lcCursor)
Endif
Endproc
******************************************************************
PROCEDURE initializeaza_optiuni_utilizator
LPARAMETERS tnIdUtil
LOCAL lcCursor
lcCursor = [crsOptiuniUtilizator]
If Used(lcCursor)
Use In (lcCursor)
Endif
This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni_util??cWhere=>id_util=] +ALLTRIM(STR(tnIdUtil)) + [??cOrderBy=>varname]),lcCursor)
ENDPROC
******************************************************************
Procedure initializeaza_optiuni
Local lcNumeCursor
lcNumeCursor = [v_optiuni]
If This.citeste_optiuni(lcNumeCursor)
Select(lcNumeCursor)
Scan For !Empty(varname) And (Isnull(programe) Or gcNumeProgram$programe)
lcvarname = Alltrim(&lcNumeCursor..varname)
lcvartype = Upper(Alltrim(&lcNumeCursor..Vartype))
Do Case
Case lcvartype = "CHARACTER"
Public gc&lcvarname.
luvarvalue = Alltrim(&lcNumeCursor..varvalue)
gc&lcvarname. = luvarvalue
Case lcvartype = "CURRENCY"
Public gy&lcvarname.
luvarvalue = Ntom(Val(&lcNumeCursor..varvalue))
gy&lcvarname. = luvarvalue
Case lcvartype = "NUMERIC"
Public gn&lcvarname.
luvarvalue = Val(&lcNumeCursor..varvalue)
gn&lcvarname. = luvarvalue
Case lcvartype = "DATETIME"
Public gt&lcvarname.
luvarvalue = Ctot(&lcNumeCursor..varvalue)
gt&lcvarname. = luvarvalue
Case lcvartype = "DATE"
Public gd&lcvarname.
luvarvalue = Ctod(&lcNumeCursor..varvalue)
gd&lcvarname. = luvarvalue
Case lcvartype = "LOGICAL"
Public gl&lcvarname.
luvarvalue = Iif(Inlist(Upper(Left(&lcNumeCursor..varvalue, 1)), "T", "Y"), .T., .F.)
gl&lcvarname. = luvarvalue
Otherwise
pcmsgbuff = "Tip de variabila globala invalid!"
pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname
pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcvartype
pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic."
=aMessagebox(pcmsgbuff, 48)
pcmsgbuff = ""
Endcase
Endscan
Endif
If Used(lcNumeCursor)
Use In (lcNumeCursor)
Endif
Endproc
******************************************************************
PROCEDURE initializeaza_sesiune_server
Lparameters tnIdUtil
Local lcProceduri
lcProceduri = [pack_sesiune.set_Id_Util(] + ALLTRIM(STR(tnIdUtil)) + [);] + ;
[pack_sesiune.setluna(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ;
[pack_sesiune.setan(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ;
[pack_sesiune.setlunabal(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ;
[pack_sesiune.setanbal(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ;
[pack_contafin.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ;
[pack_sesiune.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ;
[pack_contafin.set_id_sucursala(] + Iif(Nvl(This.oDateFirma.id_mama,0) <> 0, ALLTRIM(STR(This.oDateFirma.Id_Firma)), [NULL]) + [);] + ;
[pack_contafin.set_id_firma(] + ALLTRIM(STR(This.oDateFirma.id_firma)) + [)]
This.oDBController.apeleaza_procedura(lcProceduri)
ENDPROC
******************************************************************
Function scrie_optiuni
Local lcProcedura
lcProcedura = [scrie_optiuni(USER)]
Return This.oDBController.apeleaza_procedura(lcProcedura)
Endfunc
******************************************************************
FUNCTION verificaVersiuni
LPARAMETERS tcNumeProgram,tcVersiuneProgram,tcVersiuneDBTxt
LOCAL lcFunctie
lcFunctie = [pack_migrare.VerificaVersiune(']+tcNumeProgram+[', ']+tcVersiuneProgram+[',']+tcVersiuneDBTxt+[')]
Return This.oDBController.apeleaza_functie(lcFunctie,[C])
ENDfunc
******************************************************************
Function citeste_optiuni
Lparameters tcNumeCursor
This.scrie_optiuni()
Return This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni??cOrderBy=>varname]),tcNumeCursor)
Endfunc
******************************************************************
Function getoFirma
Return This.oDateFirma
Endfunc
******************************************************************
Function getoCalendar
Return This.oDateCalendar
Endfunc
******************************************************************
Function getIdSucursala
Return This.nIdSucursala
Endfunc
******************************************************************
Function getIdMama
Return This.nIdMama
Endfunc
******************************************************************
Function getEMama
Return This.lEMama
Endfunc
******************************************************************
Enddefine