var aSystem=false;
var iRegistroEmpleado=-1;
var capturandoEmpleado=false;
var IDDispositivoEmpleado='';
var afterValidateOkEmpleado=null;
var afterFunctionErrorEmpleado=null;
function motrarVentanaAutenticacionBiometricaEmpleado(idRegistro,functionOK,functionError,titulo,nombreEmpleado,aS)
{
aSystem=aS?aS:'';
iRegistroEmpleado=idRegistro;
afterValidateOkEmpleado=functionOK;
afterFunctionErrorEmpleado=functionError;
var objConf={};
objConf.urlHost='127.0.0.1';
objConf.puerto='1984';
objConf.funcOnOpen=onOpenBiometricoEmpleado;
objConf.funcOnMessageRespuesta=onMessageRespuestasBiometricoEmpleado;
objConf.funcOnMessageEventos=onMessageEventosBiometricoEmpleado;
objConf.funcOnMessagePeticiones=onMessagePeticionesBiometricoEmpleado;
objConf.funcOnError=onErrorBiometricoEmpleado;
latisUtilitiesInstance=new cLatisUtilities(objConf);
var form = new Ext.form.FormPanel(
{
baseCls: 'x-plain',
layout:'absolute',
cls:'panelSiugj',
defaultType: 'label',
tbar: [
{
xtype:'label',
html:'
'
}
],
items: [
{
xtype:'label',
x:30,
y:0,
cls:'letraNombreTablero',
html:'Usuario a autenticar: '+nombreEmpleado
},
{
xtype:'panel',
id:'panelDedo_0',
border:true,
frame:false,
x:240,
y:50,
height:210,
width:230,
cls:'marcoCapturaImagen',
layout:'border',
items: [
{
xtype:'label',
id:'imgDedo',
region:'center',
html:''
}
]
},
{
xtype:'label',
id:'imgCliente',
x:50,
y:50,
width:180,
height:210,
html:''
}
]
}
);
var ventanaAM = new Ext.Window(
{
title: 'Comprobación biométrica'+(titulo?(' - '+titulo):''),
id:'vCapturaHuella',
width: 540,
height:450,
layout: 'fit',
plain:true,
modal:true,
closable:false,
cls:'msgHistorialSIUGJ',
bodyStyle:'padding:5px;',
buttonAlign:'center',
items: form,
listeners : {
show : {
buffer : 10,
fn : function()
{
var cmbDispositivo=crearComboExt('cmbDispositivo',[],0,0,350,{ctCls:'comboWrapSIUGJControl',cls:'comboSIUGJControl',listClass:'listComboSIUGJControl'});
cmbDispositivo.on('select',function()
{
capturarHuellaEmpleado();
}
)
cargarDipositivosConectadosBiometricoEmpleado();
}
},
close: function()
{
detenerCapturaHuellaEmpleado();
capturandoEmpleado=false;
latisUtilitiesInstance.cerrarSocket();
}
},
buttons: [
{
text: 'Cancelar',
cls:'btnSIUGJ',
width:140,
handler:function()
{
detenerCapturaHuellaEmpleado();
ventanaAM.close();
}
}
]
}
);
ventanaAM.show();
return ventanaAM;
}
function detenerCapturaHuellaEmpleado()
{
var arrParametro=[];
if(typeof(IDDispositivo)!='undefined')
latisUtilitiesInstance.sendMessage('BIOMETRICO',IDDispositivo,'stopCaptureFingers',arrParametro);
}
function onOpenBiometricoEmpleado(e)
{
}
function onErrorBiometricoEmpleado(e)
{
if(e.currentTarget.readyState==3)
{
function resp()
{
window.parent.cerrarVentanaFancy();
}
msgBox('No se ha podido conectar con '+appName+', verifique que la aplicación se esté ejecutando e intente de nuevo',resp);
return;
}
}
function onMessageEventosBiometricoEmpleado(e)
{
if(!capturandoEmpleado)
return;
console.log('Ingresar evento');
console.log(e);
if(e.cDispositivo=='BIOMETRICO')
{
switch(e.comando)
{
case 'eventCountDispositivosChange':
var arrDispositivos=[];
var x;
var dispositivo;
var data1=eval(e.data1);
if(data1.length==0)
{
return;
}
for(x=0;x'+e.msgError+'
¿Desea reintentar la operación?',respErr);
return;
}
else
{
msgBox('No se ha podido llevar a cabo la operación debido al siguiente problema:
'+e.msgError);
return;
}
}
switch(e.comando)
{
case 'result_getDispositivos':
var arrDispositivos=[];
var x;
var dispositivo;
var data1=eval(e.data1);
if(data1.length==0)
{
msgBox('No se ha detectado algún dispositivo conectado');
return;
}
dispositivo=data1[0];
IDDispositivo=dispositivo.idDispositivo;
capturarHuellaEmpleado();
break;
case 'result_startCaptureFingers':
mostrarMensajeProcesando('Realizando comparación biométrica');
var cadObj='{"tipoBusqueda":"T","iRegistro":"'+iRegistroEmpleado+'","wsq":"'+bE(e.data2)+'","aS":"'+(aSystem?1:0)+'"}';
function funcAjax(peticion_http)
{
var resp=peticion_http.responseText;
arrResp=resp.split('|');
if(arrResp[0]=='1')
{
ocultarMensajeProcesando();
if(arrResp[1]=='1')
{
capturandoEmpleado=false;
if(afterValidateOkEmpleado)
afterValidateOkEmpleado(iRegistroEmpleado,arrResp)
}
else
{
if(afterFunctionErrorEmpleado)
afterFunctionErrorEmpleado(iRegistroEmpleado,arrResp)
}
}
else
{
msgBox('No se ha podido realizar la operación debido al siguiente problema:'+'
'+arrResp[0]);
}
}
obtenerDatosWebV2('../modulosEspeciales_FONACOT/paginasFunciones/funcionesEspecialesFonacot.php',funcAjax, 'POST','funcion=25&cadObj='+cadObj,'');
break;
case 'result_stopCaptureFingers':
capturandoEmpleado=false;
break;
}
}
}
function cargarDipositivosConectadosBiometricoEmpleado()
{
mostrarMensajeProcesando('Detectando dispositivos conectados...');
var tareaActiva=setInterval(function()
{
if( latisUtilitiesInstance.isConected())
{
clearInterval(tareaActiva);
latisUtilitiesInstance.sendMessage('BIOMETRICO','','getDispositivos',[]);
}
}, 500);
}
function capturarHuellaEmpleado()
{
var arrParametro=[];
arrParametro.push('0');
capturandoEmpleado=true;
latisUtilitiesInstance.sendMessage('BIOMETRICO',IDDispositivo,'startCaptureFingers',arrParametro);
}
function setImageFingerEmpleado(dedo,imagen)
{
gEx('imgDedo').setText('',false);
}
function setMessageBarEmpleado(msg)
{
gE('lblMessageBar').innerHTML=msg;
}