Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
SalidasAutomaticas
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Billy Larru
SalidasAutomaticas
Commits
e614664f
Commit
e614664f
authored
Sep 21, 2018
by
Billy Larru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "modificando DAOHelper"
This reverts commit
af43c1b4
.
parent
54f2e783
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
75 additions
and
117 deletions
+75
-117
Main.java
src/salidasautomaticas/main/Main.java
+8
-19
SalidasMysqlDAO.java
src/salidasautomaticas/mysqldao/SalidasMysqlDAO.java
+4
-4
EstandarDAO.java
src/salidasautomaticas/util/EstandarDAO.java
+61
-64
Metodos.java
src/salidasautomaticas/util/Metodos.java
+2
-30
No files found.
src/salidasautomaticas/main/Main.java
View file @
e614664f
...
...
@@ -20,23 +20,16 @@ public class Main {
private
static
final
Logger
log
=
LogManager
.
getLogger
(
Main
.
class
);
public
static
void
main
(
String
[]
args
)
{
// setLogLevel(Level.TRACE);//DESARROLLO
//// setLogLevel(Level.INFO);//PRODUCCION
// log.info("Inicializando programa [Salidas Automaticas]...");
//
// Date horaInicio = Metodos.getHoraEjecucion("11:30");
// int periodo = 86400000;//El codigo se ejecutará cada 24h, 86400000 representa 24h en milisegundos
//
// TimerTask task = new ProgramarSalidasTask();
// Timer timer = new Timer();
// timer.schedule(task, horaInicio, periodo);
int
i
=
1
;
for
(
int
j
=
0
;
j
<
10
;
j
++)
{
sss
(
i
++);
setLogLevel
(
Level
.
TRACE
);
//DESARROLLO
// setLogLevel(Level.INFO);//PRODUCCION
log
.
info
(
"Inicializando programa [Salidas Automaticas]..."
);
}
Date
horaInicio
=
Metodos
.
getHoraEjecucion
(
"11:30"
);
int
periodo
=
86400000
;
//El codigo se ejecutará cada 24h, 86400000 representa 24h en milisegundos
TimerTask
task
=
new
ProgramarSalidasTask
();
Timer
timer
=
new
Timer
();
timer
.
schedule
(
task
,
horaInicio
,
periodo
);
}
private
static
void
setLogLevel
(
Level
l
)
{
...
...
@@ -47,8 +40,4 @@ public class Main {
ctx
.
updateLoggers
(
conf
);
}
private
static
void
sss
(
int
numero
)
{
System
.
out
.
println
(
"valor en sss="
+
numero
);
}
}
src/salidasautomaticas/mysqldao/SalidasMysqlDAO.java
View file @
e614664f
...
...
@@ -14,7 +14,7 @@ import org.apache.logging.log4j.Logger;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
salidasautomaticas.dao.SalidasDAO
;
import
salidasautomaticas.util.
DAOHelper
;
import
salidasautomaticas.util.
EstandarDAO
;
/**
*
...
...
@@ -67,7 +67,7 @@ public class SalidasMysqlDAO implements SalidasDAO {
JSONArray
parametrosQuery
=
new
JSONArray
();
parametrosQuery
.
put
(
getFechaHoy
());
jsonArray
=
DAOHelper
.
getInstance
().
consultar
(
cn
,
query
,
parametrosQuery
);
jsonArray
=
EstandarDAO
.
getInstance
().
consultar
(
cn
,
query
,
parametrosQuery
);
return
jsonArray
;
}
...
...
@@ -155,7 +155,7 @@ public class SalidasMysqlDAO implements SalidasDAO {
JSONArray
parametros
=
new
JSONArray
();
parametros
.
put
(
horaProgramada
);
JSONArray
jsonArray
=
DAOHelper
.
getInstance
().
consultar
(
cn
,
query
,
parametros
);
JSONArray
jsonArray
=
EstandarDAO
.
getInstance
().
consultar
(
cn
,
query
,
parametros
);
return
jsonArray
;
}
...
...
@@ -196,7 +196,7 @@ public class SalidasMysqlDAO implements SalidasDAO {
.
put
(
aleatorioMin
)
.
put
(
asistencia
.
getString
(
"codasis"
));
resultado
=
DAOHelper
.
getInstance
().
ejecutar
(
cn
,
queryPersonal
,
parametros
);
resultado
=
EstandarDAO
.
getInstance
().
ejecutar
(
cn
,
queryPersonal
,
parametros
);
updateCounts
[
i
]
=
resultado
.
getInt
(
"msg"
);
i
++;
...
...
src/salidasautomaticas/util/
DAOHelper
.java
→
src/salidasautomaticas/util/
EstandarDAO
.java
View file @
e614664f
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
salidasautomaticas
.
util
;
import
java.sql.Connection
;
...
...
@@ -15,81 +20,86 @@ import org.json.JSONObject;
*
* @author sistem19user
*/
public
class
DAOHelper
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
DAOHelper
.
class
);
private
static
DAOHelper
instance
;
public
class
EstandarDAO
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
EstandarDAO
.
class
)
;
private
DAOHelper
()
{
private
static
EstandarDAO
instance
;
private
EstandarDAO
()
{
}
public
static
DAOHelper
getInstance
()
{
public
static
EstandarDAO
getInstance
()
{
if
(
instance
==
null
)
{
instance
=
new
DAOHelper
();
instance
=
new
EstandarDAO
();
}
return
instance
;
}
public
JSONObject
listar
(
Connection
cn
,
String
query
,
JSONArray
...
parametros
)
throws
Exception
{
JSONObject
obj
=
new
JSONObject
();
JSONArray
jsonArray
=
consultar
(
cn
,
query
,
parametros
);
int
length
=
jsonArray
.
length
();
obj
.
put
(
"data"
,
jsonArray
);
obj
.
put
(
"recordsFiltered"
,
length
);
obj
.
put
(
"recordsTotal"
,
length
);
obj
.
put
(
"draw"
,
"1"
);
return
obj
;
}
/**
* Este metodo ejecuta una sentencia sql de consulta(solamente selects) en la
* base de datos y devuelve como resultado en un JSONArray los registros
* obtenidos.
*
* Ejemplo de uso con parametros:
*
* Connection cn = (aqui obtengo la conexion)
* String query = "select * from personal where codpersonal = ? and fecha_ingreso = ? and retirado = ?";
* JSONArray parametros = new JSONArray();
* parametros
* .put(939) //codpersonal es entero
* .put("2018-01-12") //fecha de ingreso es un String
* .put(true); // retirado es un booleano
*
* JSONArray resultado = DAOHelper.getInstance().consultar(cn, query, parametros);
*
* Este metodo ejecuta una sentencia sql de consulta(solamente selects) en
* la base de datos y devuelve como resultado en un JSONArray los registros
* obtenidos
*
* Ejemplo de uso sin parametros
* String query = "select * from personal";
* JSONArray resultado = DAOHelper.getInstance().consultar(cn, query,);
*
* @param cn objeto que representa la conexion a la base de datos
* @param query sentencia sql que se desea ejecutar en la base de datos
* @param parametros parametros que vamos a pasar al query, *es opcional
* @return Devuelve como resultado los registros obtenidos por el query en u
n
*
objeto JSONArray
* @return Devuelve como resultado los registros obtenidos por el query e
n
* un
objeto JSONArray
* @throws Exception
*/
public
JSONArray
consultar
(
Connection
cn
,
String
query
,
JSONArray
...
parametros
)
throws
Exception
{
//objeto que almacena todos las filas obtenidas por el query
JSONArray
jsonArray
=
new
JSONArray
();
PreparedStatement
ps
=
null
;
ResultSet
rs
=
null
;
try
{
ps
=
cn
.
prepareStatement
(
query
);
if
(
cn
==
null
)
{
jsonArray
=
null
;
}
else
{
PreparedStatement
ps
=
cn
.
prepareStatement
(
query
);
//validamos si existen parametros
if
(
parametros
!=
null
&&
parametros
.
length
>
0
)
{
JSONArray
params
=
parametros
[
0
];
int
index
=
1
;
int
cont
=
1
;
//Recorremos la lista de parametros y lo seteamos en el preparedstatement
for
(
Object
parametro
:
params
)
{
setPreparedStatement
(
ps
,
index
++,
parametro
);
setPreparedStatement
(
ps
,
cont
,
parametro
);
cont
++;
}
}
log
.
trace
(
"query [SELECT] ="
+
ps
);
rs
=
ps
.
executeQuery
();
ResultSet
rs
=
ps
.
executeQuery
();
ResultSetMetaData
rm
=
rs
.
getMetaData
();
int
numCols
=
rm
.
getColumnCount
();
while
(
rs
.
next
())
{
JSONObject
obj
=
new
JSONObject
();
for
(
int
i
=
1
;
i
<=
numCols
;
i
++)
{
setJSONObject
(
rs
,
rm
,
i
,
obj
);
castColumn
(
rs
,
rm
,
i
,
obj
);
}
jsonArray
.
put
(
obj
);
}
// rs.close();
// cn.close();
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"error"
,
ex
);
throw
ex
;
...
...
@@ -99,24 +109,8 @@ public class DAOHelper {
/**
* Este metodo nos permite ejecutar una sentencia sql en la base de datos y
* devuelve como resultado en un JSONObject las filas afectadas por el query.
*
* Ejemplo de uso con parametros:
*
* Connection cn = (aqui obtengo la conexion)
* String query = "update personal set fecha_ingreso = ? and retirado = ? where codpersonal = ?";
* JSONArray parametros = new JSONArray();
* parametros
* .put("2018-01-12") //fecha de ingreso es un String
* .put(true) //retirado es un boolean
* .put(923); // codpersonal es un entero
*
* JSONObject resultado = DAOHelper.getInstance().ejecutar(cn, query, parametros);
*
*
* Ejemplo de uso sin parametros
* String query = "delete from personal";
* JSONObject resultado = DAOHelper.getInstance().ejecutar(cn, query);
* devuelve como resultado en un JSONObject las filas afectadas por el
* query.
*
* @param cn objeto que representa la conexion a la base de datos
* @param query sentencia sql que se desea ejecutar en la base de datos
...
...
@@ -128,19 +122,27 @@ public class DAOHelper {
public
JSONObject
ejecutar
(
Connection
cn
,
String
query
,
JSONArray
...
parametros
)
throws
Exception
{
JSONObject
obj
=
new
JSONObject
();
try
{
if
(
cn
==
null
)
{
obj
.
put
(
"msg"
,
0
);
}
else
{
PreparedStatement
ps
=
cn
.
prepareStatement
(
query
);
if
(
parametros
!=
null
&&
parametros
.
length
>
0
)
{
JSONArray
params
=
parametros
[
0
];
int
index
=
1
;
int
cont
=
1
;
for
(
Object
parametro
:
params
)
{
setPreparedStatement
(
ps
,
index
++,
parametro
);
setPreparedStatement
(
ps
,
cont
,
parametro
);
cont
++;
}
}
log
.
trace
(
"query [ExecuteUpdate]= "
+
ps
);
int
filas
=
ps
.
executeUpdate
();
if
(
filas
>
0
)
{
obj
.
put
(
"msg"
,
filas
);
}
else
{
obj
.
put
(
"msg"
,
0
);
}
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"error"
,
ex
);
throw
ex
;
...
...
@@ -166,8 +168,6 @@ public class DAOHelper {
ps
.
setDouble
(
index
,
(
double
)
p
);
}
else
if
(
p
instanceof
Boolean
)
{
ps
.
setBoolean
(
index
,
(
boolean
)
p
);
}
else
if
(
p
instanceof
byte
[])
{
ps
.
setBytes
(
index
,
(
byte
[])
p
);
}
}
...
...
@@ -183,7 +183,7 @@ public class DAOHelper {
* @param obj Representa a un registro de la base de datos
* @throws SQLException
*/
private
void
setJSONObject
(
ResultSet
rs
,
ResultSetMetaData
rsmd
,
int
columnIndex
,
JSONObject
obj
)
throws
SQLException
{
private
void
castColumn
(
ResultSet
rs
,
ResultSetMetaData
rsmd
,
int
columnIndex
,
JSONObject
obj
)
throws
SQLException
{
//obtenemos el tipo de dato de la columna de la tabla
int
type
=
rsmd
.
getColumnType
(
columnIndex
);
...
...
@@ -191,7 +191,7 @@ public class DAOHelper {
switch
(
type
)
{
case
Types
.
VARCHAR
:
case
Types
.
CHAR
:
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getString
(
columnIndex
)
==
null
?
JSONObject
.
NULL
:
rs
.
getString
(
columnIndex
));
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getString
(
columnIndex
));
break
;
case
Types
.
INTEGER
:
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getInt
(
columnIndex
));
...
...
@@ -199,11 +199,8 @@ public class DAOHelper {
case
Types
.
BIT
:
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getBoolean
(
columnIndex
));
break
;
case
Types
.
BINARY
:
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getBytes
(
columnIndex
));
break
;
default
:
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getString
(
columnIndex
)
==
null
?
JSONObject
.
NULL
:
rs
.
getString
(
columnIndex
));
obj
.
put
(
rsmd
.
getColumnName
(
columnIndex
),
rs
.
getString
(
columnIndex
));
}
}
}
src/salidasautomaticas/util/Metodos.java
View file @
e614664f
...
...
@@ -7,7 +7,6 @@ package salidasautomaticas.util;
import
java.util.Calendar
;
import
java.util.Date
;
import
org.json.JSONArray
;
/**
*
...
...
@@ -16,8 +15,8 @@ import org.json.JSONArray;
public
class
Metodos
{
/**
* Devuelve un objeto Date con la fecha de hoy y con la hora que le pasamos
*
como parametro(en formato hh:mm en 24 horas).
* Devuelve un objeto Date con la fecha de hoy y con la hora
* que le pasamos
como parametro(en formato hh:mm en 24 horas).
*
* @param horaEjecucion hora que se va a setear al Date del dia de hoy.
* @return
...
...
@@ -41,31 +40,4 @@ public class Metodos {
return
date
;
}
public
static
void
main
(
String
[]
args
)
{
JSONArray
array
=
new
JSONArray
();
array
.
put
(
Integer
.
class
)
.
put
(
String
.
class
)
.
put
(
Boolean
.
class
);
f
(
Integer
.
class
);
// System.out.println(array);
// ss(array);
// System.out.println(array.get(0));
// System.out.println(array);
}
private
static
void
f
(
Class
c
)
{
System
.
out
.
println
(
c
.
getName
());
switch
(
c
.
getName
())
{
case
"java.lang.Integer"
:
System
.
out
.
println
(
"entero"
);
}
}
private
static
void
ss
(
JSONArray
arr
)
{
System
.
out
.
println
(
arr
.
get
(
0
));
arr
.
put
(
0
,
1
);
arr
.
put
(
1
,
"hello"
);
arr
.
put
(
2
,
true
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment