publicBooleaninsertarbd(intidemple_lector,Stringfecha,intwarehouseFk)// Esta funcion ya no se debe usar, se inserta directamente la fichada con TODOS los datos.
{
Booleanretorno=false;
if(!hayconexion)returnretorno;
StringSql="INSERT INTO transfer_reader_tmp (nis, date, warehouseFk) VALUES ("+idemple_lector+", '"+fecha+"',"+warehouseFk+");";
constintintervalsinconexion=600000;//si no hay conexion intervalo 10 minutos.
if(!hayconexion)
{
logevent.logeventwritefile("Sin conexion a la BDD, próxima ejecución a las "+System.DateTime.Now.AddMilliseconds(intervalsinconexion).ToString());//+ intervalsinconexion/1000 + " segundos");
returnintervalsinconexion;
}
StringSql=" SELECT time FROM vn.workerTimeControlSchedule WHERE time > '"+horapc+"' ORDER BY time ASC LIMIT 1;";
logevent.logeventwritefile("Aviso: No se ha encontrado proxima ejecucion con hora > "+horapc+". Tabla vacia o no existe registro '23:59': reintentando en 10 minutos...");
returnintervalsinconexion;
}
}
catch(Exceptionex){
logevent.logeventwritefile("error al ejecutar "+Sql);
logevent.logeventwritefile("Error: No esta conectado a la BDD!");
}
else
{
StringSql=("SELECT WH.id, WH.name, WTCC.host FROM vn.workerTimeControlConfig AS WTCC INNER JOIN vn.warehouse AS WH ON (WTCC.warehouseFk= WH.id) ORDER BY WH.id");
try
{
OdbcCommandcmd=newOdbcCommand(Sql,conn);
OdbcDataReaderreader=cmd.ExecuteReader();
for(inta=0;a<=reader.RecordsAffected-1;a++)
{
reader.Read();
Fichadores[a,0]=reader.GetString(0);
Fichadores[a,1]=reader.GetString(1);
Fichadores[a,2]=reader.GetString(2);
}
reader.Close();
}
catch(Exceptionex)
{
logevent.logeventwritefile("error al ejecutar "+Sql);