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
6 years ago
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
);
}
}
This diff is collapsed.
Click to expand it.
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
++;
...
...
This diff is collapsed.
Click to expand it.
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
));
}
}
}
This diff is collapsed.
Click to expand it.
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
);
}
}
This diff is collapsed.
Click to expand it.
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