Code: Select all
#include "FiveWin.ch"
#include "xbrowse.ch"
static oWnd
Function Consu_paci()
Local oFont1,oFont,oSay1,oFont2,oSay
Local oDlg1,oSay2
Public Fecha_hoy,total_pac:=0
Private oCod_pro1,cCod_pro1:="",nCod_pro1
Public aProfe:= {},aPacientes:={},oPaci
Sele 1
Use Profesio Shared
Dbgotop()
If Eof()
MsgStop(" NO Existen Profesionales Medicos ")
dbclosearea()
Return
Endif
AADD( aProfe,{ "",""})
Do While !Eof()
If Est_pro="S".and.Tip_esp="MEDI"
AADD( aProfe,{ a->Cod_pro,a->Nom_pro})
Endif
a->(DbSkip())
Enddo
DbClosearea()
ASORT( aProfe,,, { |x,y| x[2] < y[2] } )
Fecha_hoy:=date()
nCod_pro1=0
Define Font oFont1 Name "Curier New" Size 0,16 BOLD
Define Font oFont Name "Courier new" Size 0,22 BOLD
Define Font oFont2 Name "Courier new" Size 0,20 BOLD
DEFINE DIALOG oDlg1 RESOURCE "#1004"
REDEFINE SAY oSay ID 100 PROMPT "PACIENTES EN ATENCION DIA "+dtoc(Date()) OF oDlg1 FONT oFont COLORS RGB(12, 135, 27)
REDEFINE SAY oSay1 ID 101 PROMPT "DOCTOR" OF oDlg1 FONT oFont COLOR RGB(38, 74, 119)
REDEFINE SAY oSay2 ID 120 PROMPT "TOTAL PACIENTES: "+str(total_pac,3) OF oDlg1 FONT oFont2 COLOR rgb(39, 0, 64)
REDEFINE COMBOBOX oCod_pro1 VAR nCod_pro1 ITEMS ArrTranspose( aProfe )[ 2 ] ID 102 OF oDlg1 COLORS nRGB(9, 11, 10), nRGB(73, 250, 202);
ON CHANGE (Carga_paci(oCod_pro1,aProfe),oPaci:Refresh(),oSay2:Refresh()) //<--- Cambiar aca
REDEFINE XBROWSE oPaci ID 104 OF oDlg1 ;
COLUMNS 1,2,3,4,5,6,7;
HEADERS "Nro. ","Nombre del Paciente" ,"Folio Caja","T. Pago","Valor ","Digita","Hr. Digi";
COLSIZES 40, 350, 80, 80,70,80,80 ;
FONT oFont1;
ARRAY aPacientes ;
FOOTERS LINES CELL
oPaci:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } }
oPaci:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(137, 247, 33) } }
oPaci:bClrHeader := {|| { CLR_BLUE, nRGB( 245, 245, 245 ) } }
oPaci:bClrSel := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
oPaci:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(128,255,128) } }
oPaci:bClrStd := {|| { nRGB(000,000,000), nRGB(255,255,200) } }
oPaci:nStretchCol := STRETCHCOL_WIDEST
oCol := oPaci:AddCol()
oCol:AddResource("#8006")
oCol:AddResource("#8007")
oCol:cHeader = "Estado"
oCol:bBmpData := { || if(aPacientes[oPaci:nArrayAt,8]=="S",1,2)}
REDEFINE BTNBMP ID 103 Resource "#8005" OF oDlg1 ; <--------- Boton Para actualiza Array desde la Dbf Actualizada
ACTION (Carga_paci(cCod_pro1))
REDEFINE BTNBMP ID 105 Resource "#8004" OF oDlg1 ; <--------- Boton salir del programa y volver al menu
ACTION (Cierra(),oDlg1:END())
ACTIVATE DIALOG oDlg1 CENTERED
Return Nil
Static Function Carga_paci(oCod_pro1,aProfe) // <--- Cambiar aca
LOCAL cCod_Pro1 := aProfe [1,oCod_pro1:nAt] // <--- Cambiar aca
asize( aPacientes, 0 )
If Len(cCod_pro1)=0
MsgStop("No ha Seleccionado Profesional Medico")
Return .f.
Endif
carchi:='PACI'+trim(cCod_pro1)
If !file('&carchi..dbf')
MsgStop("MEDICO SELECCIONADO NO TIENE INGRESOS DE PACIENTES")
Return .f.
Endif
Sele 2
Use &carchi Shared
If !file('&carchi..ntx')
Inde on Cod_pro+dtos(ctod(fec_ate))+Str(Cor_pac,4) to &carchi
Endif
Set Inde to &carchi
//seek cCod_pro1+dtos(date())
DbGotop()
If eof()
MsgStop("MEDICO SELECCIONADO NO TIENE PACIENTES EN ESPERA")
DbClosearea()
Return .f.
Endif
Stor 0 to total_pac
Do While !Eof()
// If (ctod(fec_ate)=Fecha_hoy)
AADD( aPacientes,{ b->Cor_pac,b->Nom_pac,b->Fol_caj,b->Tip_pag,b->Val_bon,b->Cod_dig,b->Hor_dig,b->Con_pac})
total_pac=total_pac+1
// Endif
DbSkip()
Enddo
DbClosearea()
oPaci:SetArray( aPacientes )
oPaci:GoTop()
oPaci:Refresh()
Return oPaci
Static FUNCTION Cierra()
Set relation to
Clos data
sysrefresh()
return nil