Commit 332fecdd by sistem02 user

[ADD] cambios en seguridad mostrando activos e inactivos

parent c0c776aa
/dist/
\ No newline at end of file
......@@ -329,3 +329,11 @@ table.display tbody tr:hover td {
-moz-border-radius:5px;
border-radius:5px;
}
.glyphicon {
font-size: 13px;
}
[class^="icon-"], [class*=" icon-"] {
font-size: 14px;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<context-root>/moduloSeguridad</context-root>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
......@@ -379,9 +379,9 @@
}
function validCaracForm() {
new Input({el: '#editarUrl', param: 'text'}).validate();
new Input({el: '#editarNombre', param: 'text'}).validate();
new Input({el: '#editarIcono', param: 'text'}).validate();
// new Input({el: '#editarUrl', param: 'text'}).validate();
// new Input({el: '#editarNombre', param: 'text'}).validate();
// s Input({el: '#editarIcono', param: 'text'}).validate();
}
function validarFormulario(jerarquia) {
......@@ -684,7 +684,7 @@
validarInput();
validarFormulario(apunta);
submitKey('formCrearMenu', '.buttonOk');
soloLetras('editarUrl');
// soloLetras('editarUrl');
if (tipo === 1) {
rellenarFormulario(datos, apunta);
}
......
......@@ -24,9 +24,12 @@
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="icon icon-search4"></i>&nbsp; Búsqueda de Proyectos</h6>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -64,7 +67,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-8 col-centered">
<div class="col-sm-12 col-md-12 col-lg-10 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="fa fa-list"></i>&nbsp; Listado de Proyectos</h6>
......@@ -76,7 +79,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblProyecto">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">NOMBRE</th>
<th class="text-center" >URL</th>
<th class="text-center">ESTADO</th>
......
......@@ -64,7 +64,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-5 col-centered">
<div class="col-sm-12 col-md-12 col-lg-9 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="fa fa-list"></i>&nbsp; Listado de Tipos de Usuario</h6>
......
......@@ -19,14 +19,17 @@
<%@include file="templates/header-body.jsp" %>
<!-- content -->
<div class="row animated fadeIn">
<div class="col-sm-12 col-md-12 col-lg-4 col-centered">
<div class="col-sm-12 col-md-12 col-lg-6 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="icon icon-search4"></i>&nbsp; Búsqueda de Tipos de Usuario</h6>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -40,9 +43,31 @@
<span class="asterisk">(*)</span>
<select id="cboTipoBusqueda" class="form-control" name="cboTipoBusqueda">
<option value="">SELECCIONE FILTRO</option>
<option value="1">USUARIO</option>
<option value="4">TRABAJADOR (APELLIDOS Y/O NOMBRES)</option>
<option value="1">USUARIO (NICKNAME)</option>
<option value="2">PROYECTO</option>
<option value="3">TIPO DE USUARIO</option>
<option value="5">CARGO</option>
</select>
</div>
</div>
<div class='divTrabajador col-md-6 hide'>
<div class="form-group">
<label style="font-size: small">
Nombres y/o Apellidos:
</label>
<span class="asterisk">(*)</span>
<input type="text" id="txtTrabajador" name = "txtTrabajador" class="form-control" value="" placeholder="INGRESE NOMBRE DEL TRABAJADOR" style="text-transform:uppercase;">
</div>
</div>
<div class='divCargo col-md-6 hide'>
<div class="form-group">
<label style="font-size: small">
Cargos:
</label>
<span class="asterisk">(*)</span>
<select id="cboCargos" name = "cboCargos" class="form-control">
<option>[SELECCIONE]</option>
</select>
</div>
</div>
......@@ -51,8 +76,8 @@
<label style="font-size: small">
Nombre:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO" style="text-transform:uppercase;">
<span class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO (NICKNAME)" style="text-transform:uppercase;">
</div>
</div>
<div class='divProyecto col-md-6 hide'>
......@@ -60,7 +85,7 @@
<label style="font-size: small">
Proyecto:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboProyecto" class="form-control" name="cboProyecto">
<option value="">SELECCIONE PROYECTO</option>
</select>
......@@ -71,7 +96,7 @@
<label style="font-size: small">
Tipo de Usuario:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboTipoUsuario" class="form-control" name="cboTipoUsuario">
<option value="">SELECCIONE TIPO DE USUARIO</option>
</select>
......@@ -112,7 +137,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblUsuario">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">USUARIO</th>
<th class="text-center">DATOS</th>
<th class="text-center">ÁREA</th>
......
......@@ -22,8 +22,9 @@
<script type="text/javascript" src="../assets/js/core/libraries/bootstrap.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/loaders/blockui.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/uniform.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/switch.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/core/app.js"></script>
<script type="text/javascript" src="../assets/js/bootbox.min.js"></script>
<script src="../assets/js/plugins/tables/datatables/datatables.min.js" type="text/javascript"></script>
......@@ -31,6 +32,7 @@
<script src="../assets/js/validate_inputs.js" type="text/javascript"></script>
<script src="../js/lib/validateAlfi.js" type="text/javascript"></script>
<script src="../assets/js/fontawesome-iconpicker.js" type="text/javascript"></script>
<script src="../assets/js/plugins/forms/selects/select2.min.js" type="text/javascript"></script>
<!--<script src="../assets/js/fontawesome-iconpicker.min.js" type="text/javascript"></script>-->
<!-- /core JS files -->
<!-- /Generales -->
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?WSDL" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.wsdl"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?xsd=1" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.xsd_1.xsd"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/PersonalService?WSDL" uri="src/conf/xml-resources/web-service-references/PersonalService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/PersonalService.wsdl"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/PersonalService?xsd=1" uri="src/conf/xml-resources/web-service-references/PersonalService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/PersonalService.xsd_1.xsd"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?WSDL" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.wsdl"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?xsd=1" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.xsd_1.xsd"/>
</catalog>
\ No newline at end of file
No preview for this file type
......@@ -998,16 +998,16 @@ exists or setup the property manually. For example like this:
</target>
<target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
<target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
<copyfiles files="${file.reference.json-20171018.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<copyfiles files="${file.reference.sqljdbc42.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<copyfiles files="${file.reference.commons-codec-1.10.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<copyfiles files="${file.reference.json-20160212.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<mkdir dir="${build.web.dir}/META-INF"/>
<manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
</target>
<target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir">
<copyfiles files="${file.reference.json-20171018.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
<copyfiles files="${file.reference.sqljdbc42.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
<copyfiles files="${file.reference.commons-codec-1.10.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
<copyfiles files="${file.reference.json-20160212.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
</target>
<target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
<delete dir="${build.web.dir}/WEB-INF/lib"/>
......
build.xml.data.CRC32=7d0c3fff
build.xml.data.CRC32=e2509847
build.xml.script.CRC32=c7931e0f
build.xml.stylesheet.CRC32=651128d4@1.77.1.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=7d0c3fff
nbproject/build-impl.xml.script.CRC32=fae72e77
nbproject/build-impl.xml.data.CRC32=e2509847
nbproject/build-impl.xml.script.CRC32=a2a0b985
nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.77.1.1
nbproject/jaxws-build.xml.stylesheet.CRC32=6608c2cf
deploy.ant.properties.file=C:\\Users\\sistem17user\\AppData\\Roaming\\NetBeans\\8.2\\config\\GlassFishEE6\\Properties\\gfv3-399171337.properties
deploy.ant.properties.file=C:\\Users\\sistem02user\\AppData\\Roaming\\NetBeans\\8.2\\config\\GlassFishEE6\\Properties\\gfv3258829979.properties
file.reference.commons-codec-1.10.jar=D:\\LIBRERIAS\\commons-codec-1.10.jar
file.reference.json-20171018.jar=D:\\LIBRERIAS\\json-20171018.jar
file.reference.json-20171018.jar=D:\\LIBRERIAS\\json-20160810.jar
file.reference.sqljdbc42.jar=D:\\LIBRERIAS\\sqljdbc42.jar
j2ee.platform.is.jsr109=true
j2ee.server.domain=C:/Users/sistem17user/AppData/Roaming/NetBeans/8.2/config/GF_4.1.1/domain1
j2ee.server.domain=C:/Users/sistem02user/AppData/Roaming/NetBeans/8.2/config/GF_4.1.1/domain1
j2ee.server.home=C:/Program Files/glassfish-4.1.1/glassfish
j2ee.server.instance=[C:\\Program Files\\glassfish-4.1.1\\glassfish;C:\\Program Files\\glassfish-4.1.1\\glassfish\\domains\\domain1]deployer:gfv3ee6wc:localhost:4848
j2ee.server.middleware=C:/Program Files/glassfish-4.1.1
javac.debug=true
javadoc.preview=true
selected.browser=Chrome.INTEGRATED
user.properties.file=C:\\Users\\sistem17user\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
selected.browser=Chrome
user.properties.file=C:\\Users\\sistem02user\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
......@@ -28,6 +28,7 @@ dist.war=${dist.dir}/${war.name}
endorsed.classpath=\
${libs.javaee-endorsed-api-7.0.classpath}
excludes=
file.reference.json-20160212.jar=D:\\LIBRERIAS\\json-20160212.jar
includes=**
j2ee.compile.on.save=true
j2ee.copy.static.files.on.save=true
......@@ -44,7 +45,8 @@ jar.compress=false
javac.classpath=\
${file.reference.json-20171018.jar}:\
${file.reference.sqljdbc42.jar}:\
${file.reference.commons-codec-1.10.jar}
${file.reference.commons-codec-1.10.jar}:\
${file.reference.json-20160212.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.debug=true
......
......@@ -23,6 +23,10 @@
<file>${file.reference.commons-codec-1.10.jar}</file>
<path-in-war>WEB-INF/lib</path-in-war>
</library>
<library dirs="200">
<file>${file.reference.json-20160212.jar}</file>
<path-in-war>WEB-INF/lib</path-in-war>
</library>
</web-module-libraries>
<web-module-additional-libraries/>
<source-roots>
......
......@@ -14,7 +14,7 @@ import org.json.JSONObject;
*/
public interface ProyectoDAO {
public JSONObject listarProyecto(String datos, int vstart, int vlength, String draw) throws Exception;
public JSONObject listarProyecto(JSONObject datos, int vstart, int vlength, String draw) throws Exception;
public int editarProyecto(int codigo, String nombre, String url) throws Exception;
......@@ -36,7 +36,7 @@ public interface ProyectoDAO {
public int eliminarDetalle(int codigoDetalle) throws Exception;
public int validarProyecto(int codigo) throws Exception;
public JSONArray validarProyecto(int codigo) throws Exception;
public int validarNombreProyecto(String nombreNuevo, String nombreActual, int tipo) throws Exception;
......@@ -47,4 +47,6 @@ public interface ProyectoDAO {
public int validarMenuDetalle(int codigo) throws Exception;
public int eliminarMenuDetalle(int codigo) throws Exception;
public int desactivarUsuarioDetalle(int codigo) throws Exception;
}
......@@ -49,4 +49,6 @@ public interface UsuarioDAO {
public int validarNombreUsuario(String nombre) throws Exception;
public int validarAsignacion(int codigo) throws Exception;
public JSONObject listarUsuarioManual(JSONObject datos) throws Exception;
}
......@@ -19,7 +19,7 @@ public class ProyectoService {
DAOFactory fabrica = DAOFactory.getDAOFactory(DAOFactory.SQLSERVER);
ProyectoDAO dao = fabrica.getProyectoDAO();
public JSONObject listarProyecto(String filtro, int vstart, int vlength, String draw) {
public JSONObject listarProyecto(JSONObject filtro, int vstart, int vlength, String draw) {
JSONObject obj = null;
try {
obj = dao.listarProyecto(filtro, vstart, vlength, draw);
......@@ -129,8 +129,8 @@ public class ProyectoService {
return rs;
}
public int validarProyecto(int codigo) {
int rs = 0;
public JSONArray validarProyecto(int codigo) {
JSONArray rs = null;
try {
rs = dao.validarProyecto(codigo);
} catch (Exception e) {
......@@ -189,4 +189,14 @@ public class ProyectoService {
return rs;
}
public int desactivarUsuarioDetalle(int codigo) {
int rs = 0;
try {
rs = dao.desactivarUsuarioDetalle(codigo);
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
}
......@@ -198,4 +198,14 @@ public class UsuarioService {
}
return rs;
}
public JSONObject listarUsuarioManual(JSONObject datos) {
JSONObject obj = null;
try {
obj = dao.listarUsuarioManual(datos);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
}
......@@ -77,6 +77,9 @@ public class ProyectoServlet extends HttpServlet {
case "eliminarMenuDetalle":
eliminarMenuDetalle(request, response);
break;
case "desactivarUsuarioDetalle":
desactivarUsuarioDetalle(request, response);
break;
default:
break;
}
......@@ -86,11 +89,12 @@ public class ProyectoServlet extends HttpServlet {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
ProyectoService service = new ProyectoService();
String filtro = request.getParameter("filtro");
String jsonString = request.getParameter("json");
System.out.println("CADENA JSON " + jsonString);
String draw = request.getParameter("draw");
int vstart = Integer.parseInt(request.getParameter("start"));
int vlength = Integer.parseInt(request.getParameter("length"));
JSONObject json = service.listarProyecto(filtro, vstart, vlength, draw);
JSONObject json = service.listarProyecto(new JSONObject(jsonString), vstart, vlength, draw);
out.println(json);
}
......@@ -196,7 +200,7 @@ public class ProyectoServlet extends HttpServlet {
PrintWriter out = response.getWriter();
ProyectoService service = new ProyectoService();
int proyecto = Integer.parseInt(request.getParameter("codigo"));
int rs = service.validarProyecto(proyecto);
JSONArray rs = service.validarProyecto(proyecto);
out.println(rs);
}
......@@ -249,4 +253,13 @@ public class ProyectoServlet extends HttpServlet {
out.println(rs);
}
private void desactivarUsuarioDetalle(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
ProyectoService service = new ProyectoService();
int codigo = Integer.parseInt(request.getParameter("codigo"));
int rs = service.desactivarUsuarioDetalle(codigo);
out.println(rs);
}
}
......@@ -7,6 +7,7 @@ package moduloSeguridad.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
......@@ -96,6 +97,12 @@ public class UsuarioServlet extends HttpServlet {
case "validarAsignacion":
validarAsignacion(request, response);
break;
case "listarUsuarioManual":
listarUsuarioManual(request, response);
break;
case "listarCargosDeUsuario":
listarCargosDeUsuario(request, response);
break;
default:
break;
}
......@@ -116,27 +123,17 @@ public class UsuarioServlet extends HttpServlet {
for (int i = 0; i < json.length(); i++) {
JSONObject objeto = new JSONObject();
JSONObject obj = json.getJSONObject(i);
int codigoUsuario = obj.getInt("codigoUsuario");
int numeral = obj.getInt("numeral");
String codigoTrabajador = obj.getString("codigoTrabajador");
String usuario = obj.getString("usuario");
int estadoUsuario = obj.getInt("estadoUsuario");
JSONObject prs = new JSONObject(listarPersonalPorCodigo(codigoTrabajador));
String nombreSede = prs.getString("nomSed");
String nombreArea = prs.getString("nomAre");
String nombreCargo = prs.getString("nomCar");
String nombrePer = prs.getString("nomPer");
String nombreApeMat = prs.getString("apeMatPer");
String nombreApePat = prs.getString("apePatPer");
objeto.put("codigoUsuario", codigoUsuario);
objeto.put("numeral", numeral);
objeto.put("usuario", usuario);
objeto.put("estadoUsuario", estadoUsuario);
objeto.put("nombreArea", nombreArea);
objeto.put("nombreCargo", nombreCargo);
objeto.put("nombreUsuario", nombrePer + " " + nombreApePat + " " + nombreApeMat);
objeto.put("nombreSede", nombreSede);
objeto.put("codigoUsuario", obj.getInt("codigoUsuario"));
objeto.put("numeral", obj.getInt("numeral"));
objeto.put("usuario", obj.getString("usuario"));
objeto.put("estadoUsuario", obj.getInt("estadoUsuario"));
objeto.put("nombreArea", prs.getString("nomAre"));
objeto.put("nombreCargo", prs.getString("nomCar"));
objeto.put("nombreUsuario", prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer"));
objeto.put("nombreSede", prs.getString("nomSed"));
lista.put(objeto);
}
......@@ -258,8 +255,18 @@ public class UsuarioServlet extends HttpServlet {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
UsuarioService srv = new UsuarioService();
int rs = 0;
boolean array = Boolean.parseBoolean(request.getParameter("array"));
if (array) {
JSONArray lista = new JSONArray(request.getParameter("lista"));
for (int i = 0; i < lista.length(); i++) {
int codigo = lista.getInt(i);
rs += srv.activarUsuarioDetalle(codigo);
}
} else {
int codigo = Integer.parseInt(request.getParameter("codigo"));
int rs = srv.activarUsuarioDetalle(codigo);
rs = srv.activarUsuarioDetalle(codigo);
}
out.println(rs);
}
......@@ -348,4 +355,63 @@ public class UsuarioServlet extends HttpServlet {
return port.listarPersonalPorCodigo(tipoDocumento);
}
private void listarUsuarioManual(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String jsonString = request.getParameter("json");
JSONObject jsonObject = new JSONObject(jsonString);
String busqueda = jsonObject.getString("busqueda");
int tipo = jsonObject.getInt("tipo");
UsuarioService srv = new UsuarioService();
JSONObject json = srv.listarUsuarioManual(jsonObject);
JSONArray listaFinal = new JSONArray();
JSONArray lista = json.getJSONArray("results");
for (int i = 0; i < lista.length(); i++) {
JSONObject _final = new JSONObject();
JSONObject obj = lista.getJSONObject(i);
String codigoTrabajador = obj.getString("codigoTrabajador");
JSONObject prs = new JSONObject(listarPersonalPorCodigo(codigoTrabajador));
String nombreCompleto = prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer");
String cargo = prs.getString("nomCar");
if (tipo == 4 && (nombreCompleto.toUpperCase()).contains(busqueda.toUpperCase())) {
_final.put("codigoUsuario", obj.getInt("codigoUsuario"));
_final.put("numeral", obj.getInt("numeral"));
_final.put("usuario", obj.getString("usuario"));
_final.put("estadoUsuario", obj.getInt("estadoUsuario"));
_final.put("nombreArea", prs.getString("nomAre"));
_final.put("nombreCargo", prs.getString("nomCar"));
_final.put("nombreUsuario", prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer"));
_final.put("nombreSede", prs.getString("nomSed"));
listaFinal.put(_final);
} else if (tipo == 5 && (cargo.toUpperCase()).equals(busqueda.toUpperCase())) {
_final.put("codigoUsuario", obj.getInt("codigoUsuario"));
_final.put("numeral", obj.getInt("numeral"));
_final.put("usuario", obj.getString("usuario"));
_final.put("estadoUsuario", obj.getInt("estadoUsuario"));
_final.put("nombreArea", prs.getString("nomAre"));
_final.put("nombreCargo", prs.getString("nomCar"));
_final.put("nombreUsuario", prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer"));
_final.put("nombreSede", prs.getString("nomSed"));
listaFinal.put(_final);
}
}
out.println(listaFinal);
}
private void listarCargosDeUsuario(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
UsuarioService srv = new UsuarioService();
JSONObject json = srv.listarUsuarioManual(new JSONObject());
ArrayList<String> cargos = new ArrayList<>();
JSONArray lista = json.getJSONArray("results");
for (int i = 0; i < lista.length(); i++) {
JSONObject obj = lista.getJSONObject(i);
JSONObject prs = new JSONObject(listarPersonalPorCodigo(obj.getString("codigoTrabajador")));
if (!cargos.contains(prs.getString("nomCar"))) {
cargos.add(prs.getString("nomCar"));
}
}
out.print(new JSONArray(cargos));
}
}
......@@ -21,7 +21,7 @@ import org.json.JSONObject;
public class ProyectoSqlServerDAO implements ProyectoDAO {
@Override
public JSONObject listarProyecto(String filtro, int vstart, int vlength, String draw) throws Exception {
public JSONObject listarProyecto(JSONObject datos, int vstart, int vlength, String draw) throws Exception {
String base = "security";
Connection con = null;
PreparedStatement pst = null;
......@@ -32,11 +32,17 @@ public class ProyectoSqlServerDAO implements ProyectoDAO {
JSONArray lista = new JSONArray();
int conta = vstart;
try {
String filtro = datos.getString("filtro");
if (filtro.equals("")) {
busqueda = "";
} else {
busqueda = " and nom like '%" + filtro + "%'";
}
if (datos.getBoolean("status")) {
busqueda += "and est = 0";
} else {
busqueda += "and est = 1";
}
query = " select TOP " + vlength + " cod_proyecto, nom, est, url from proyecto "
+ " where cod_proyecto NOT IN "
+ " ( "
......@@ -373,29 +379,36 @@ public class ProyectoSqlServerDAO implements ProyectoDAO {
}
@Override
public int validarProyecto(int codigo) throws Exception {
public JSONArray validarProyecto(int codigo) throws Exception {
String base = "security";
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
JSONArray lista = new JSONArray();
String query = "";
int cant = 0;
try {
query = " select count(*) as cant from proyecto_detalle "
+ " where cod_proyecto = " + codigo + ""
+ " and est = 1 ";
query = " select ud.cod_usuario_detalle from proyecto as p\n"
+ "inner join proyecto_detalle as pd \n"
+ "on pd.cod_proyecto = p.cod_proyecto\n"
+ "inner join usuario_detalle as ud \n"
+ "on ud.cod_proyecto_detalle = pd.cod_proyecto_detalle\n"
+ "where p.cod_proyecto = " + codigo + "\n"
+ "and ud.est = 1 ";
System.out.println("QUERY " + query);
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeQuery();
rs.next();
cant = rs.getInt("cant");
while (rs.next()) {
lista.put(rs.getInt(1));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
con.close();
pst.close();
}
return cant;
return lista;
}
@Override
......@@ -543,4 +556,70 @@ public class ProyectoSqlServerDAO implements ProyectoDAO {
}
return rs;
}
@Override
public int desactivarUsuarioDetalle(int codigo) throws Exception {
int resultado = 0;
Connection con = null;
PreparedStatement pst = null;
ResultSet rSet = null;
int rs = 0;
String sql = "";
ResponseHelper response = new ResponseHelper();
try {
con = SqlServerDAOFactory.getConnectionSQL("security");
// con.setAutoCommit(false);
sql = " update usuario_detalle\n"
+ "set est = 0\n"
+ "where cod_usuario_detalle in (\n"
+ "select ud.cod_usuario_detalle from proyecto as p\n"
+ "inner join proyecto_detalle as pd \n"
+ "on pd.cod_proyecto = p.cod_proyecto\n"
+ "inner join usuario_detalle as ud \n"
+ "on ud.cod_proyecto_detalle = pd.cod_proyecto_detalle\n"
+ "where p.cod_proyecto = " + codigo + "\n"
+ "and ud.est = 1\n"
+ ") ";
pst = con.prepareStatement(sql);
rs = pst.executeUpdate();
if (rs > 0) {
sql = " update proyecto_detalle\n"
+ "set est = 0\n"
+ "where cod_proyecto_detalle in (\n"
+ "select pd.cod_proyecto_detalle from proyecto as p\n"
+ "inner join proyecto_detalle as pd \n"
+ "on pd.cod_proyecto = p.cod_proyecto\n"
+ "where p.cod_proyecto = " + codigo + "\n"
+ "and pd.est = 1\n"
+ ") ";
pst = con.prepareStatement(sql);
rs = pst.executeUpdate();
if (rs > 0) {
resultado = 1;
}
}
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
} finally {
try {
if (rSet != null) {
rSet.close();
}
if (pst != null) {
pst.close();
}
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
}
}
return resultado;
}
}
......@@ -9,6 +9,8 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import moduloSeguridad.dao.UsuarioDAO;
import moduloSeguridad.utilities.GeneralVariables;
import moduloSeguridad.utilities.ResponseHelper;
import org.json.JSONArray;
import org.json.JSONObject;
......@@ -42,6 +44,11 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
busqueda01 = "";
break;
}
if (!datos.getBoolean("estado")) {
busqueda01 += " and a.est = 1 ";
} else {
busqueda01 += " and a.est = 0 ";
}
query = " SELECT a.cod_usuario, a.cod_trabajador, a.usu, a.est FROM usuario AS a "
+ " LEFT JOIN usuario_detalle AS ud ON ud.cod_usuario = a.cod_usuario "
+ " LEFT JOIN proyecto_detalle AS pd ON pd.cod_proyecto_detalle = ud.cod_proyecto_detalle "
......@@ -64,7 +71,6 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
lista.put(obj);
conta++;
}
System.out.println("cantidad ---> " + lista.length());
} catch (Exception e) {
e.printStackTrace();
} finally {
......@@ -98,6 +104,11 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
busqueda = "";
break;
}
if (!datos.getBoolean("estado")) {
busqueda += " and a.est = 1 ";
} else {
busqueda += " and a.est = 0 ";
}
query = " SELECT COUNT(*) as cant FROM usuario AS a "
+ " LEFT JOIN usuario_detalle AS ud ON ud.cod_usuario = a.cod_usuario "
+ " LEFT JOIN proyecto_detalle AS pd ON pd.cod_proyecto_detalle = ud.cod_proyecto_detalle "
......@@ -174,18 +185,26 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
String query = "";
try {
query = " update usuario "
+ " set est = 0,"
+ " set est = 0 "
+ " where cod_usuario = " + codigo + "";
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeUpdate();
if (rs == 1) {
query = " update usuario_detalle "
+ " set est = 0 "
+ " where cod_usuario = " + codigo;
}
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
con.close();
pst.close();
}
return rs;
return 1;
}
@Override
......@@ -293,7 +312,7 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
int cantRegistro = 0;
String query2 = " select count(*) as cant "
+ " from usuario_detalle "
+ " where cod_usuario = " + filtro + "";
+ " where cod_usuario = " + filtro;
PreparedStatement pst2 = null;
ResultSet rs2 = null;
pst2 = con.prepareStatement(query2);
......@@ -451,7 +470,8 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
+ " ud.cod_proyecto_detalle "
+ " FROM "
+ " usuario_detalle AS ud "
+ " WHERE ud.cod_usuario = " + usuario + " "
+ " WHERE ud.cod_usuario = " + usuario + ""
+ " AND ud.est = 1 "
+ " ) ";
} else {
valid = "";
......@@ -466,6 +486,7 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
+ "WHERE "
+ " cod_proyecto = " + proyecto + " "
+ valid;
System.out.println("LISTADO TIPO USUARIO ---> " + query);
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeQuery();
......@@ -545,7 +566,7 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
try {
query = " select count(*) as cant from auditoria "
+ " where cod_usuario_detalle = " + codigo + "";
con = SqlServerDAOFactory.getConnectionSQL(base);
con = SqlServerDAOFactory.getConnectionSQL(GeneralVariables.nameDB);
pst = con.prepareStatement(query);
rs = pst.executeQuery();
rs.next();
......@@ -558,4 +579,64 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
}
return cant;
}
@Override
public JSONObject listarUsuarioManual(JSONObject datos) throws Exception {
JSONObject jreturn;
JSONArray lista = new JSONArray();
JSONObject data = new JSONObject();
Connection con = null;
PreparedStatement pst = null;
ResultSet rSet = null;
int rs = 0;
String sql = "";
String condicion = "";
ResponseHelper response = new ResponseHelper();
try {
if (datos.has("estado")) {
if (datos.getBoolean("estado")) {
condicion = " where a.est = 0";
} else {
condicion = " where a.est = 1";
}
}
con = SqlServerDAOFactory.getConnectionSQL(GeneralVariables.nameDB);
sql = " SELECT a.cod_usuario, a.cod_trabajador, a.usu, a.est FROM usuario as a" + condicion;
pst = con.prepareStatement(sql);
rSet = pst.executeQuery();
int conta = 1;
while (rSet.next()) {
JSONObject obj = new JSONObject();
obj.put("numeral", conta++);
obj.put("codigoUsuario", rSet.getInt(1));
obj.put("codigoTrabajador", rSet.getString(2));
obj.put("usuario", rSet.getString(3));
obj.put("estadoUsuario", rSet.getInt(4));
lista.put(obj);
}
response.setResults(lista);
response.setStatus(true);
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
} finally {
try {
if (rSet != null) {
rSet.close();
}
if (pst != null) {
pst.close();
}
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
}
}
return new JSONObject(response);
}
}
......@@ -11,6 +11,6 @@ package moduloSeguridad.utilities;
*/
public class GeneralVariables {
public static final String nameDB = "moodle";
public static final String nameDB = "security";
}
......@@ -329,3 +329,11 @@ table.display tbody tr:hover td {
-moz-border-radius:5px;
border-radius:5px;
}
.glyphicon {
font-size: 13px;
}
[class^="icon-"], [class*=" icon-"] {
font-size: 14px;
}
\ No newline at end of file
......@@ -379,9 +379,9 @@
}
function validCaracForm() {
new Input({el: '#editarUrl', param: 'text'}).validate();
new Input({el: '#editarNombre', param: 'text'}).validate();
new Input({el: '#editarIcono', param: 'text'}).validate();
// new Input({el: '#editarUrl', param: 'text'}).validate();
// new Input({el: '#editarNombre', param: 'text'}).validate();
// s Input({el: '#editarIcono', param: 'text'}).validate();
}
function validarFormulario(jerarquia) {
......@@ -684,7 +684,7 @@
validarInput();
validarFormulario(apunta);
submitKey('formCrearMenu', '.buttonOk');
soloLetras('editarUrl');
// soloLetras('editarUrl');
if (tipo === 1) {
rellenarFormulario(datos, apunta);
}
......
......@@ -24,9 +24,12 @@
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="icon icon-search4"></i>&nbsp; Búsqueda de Proyectos</h6>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -64,7 +67,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-8 col-centered">
<div class="col-sm-12 col-md-12 col-lg-10 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="fa fa-list"></i>&nbsp; Listado de Proyectos</h6>
......@@ -76,7 +79,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblProyecto">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">NOMBRE</th>
<th class="text-center" >URL</th>
<th class="text-center">ESTADO</th>
......
......@@ -64,7 +64,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-5 col-centered">
<div class="col-sm-12 col-md-12 col-lg-9 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="fa fa-list"></i>&nbsp; Listado de Tipos de Usuario</h6>
......
......@@ -19,14 +19,17 @@
<%@include file="templates/header-body.jsp" %>
<!-- content -->
<div class="row animated fadeIn">
<div class="col-sm-12 col-md-12 col-lg-4 col-centered">
<div class="col-sm-12 col-md-12 col-lg-6 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="icon icon-search4"></i>&nbsp; Búsqueda de Tipos de Usuario</h6>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -40,9 +43,31 @@
<span class="asterisk">(*)</span>
<select id="cboTipoBusqueda" class="form-control" name="cboTipoBusqueda">
<option value="">SELECCIONE FILTRO</option>
<option value="1">USUARIO</option>
<option value="4">TRABAJADOR (APELLIDOS Y/O NOMBRES)</option>
<option value="1">USUARIO (NICKNAME)</option>
<option value="2">PROYECTO</option>
<option value="3">TIPO DE USUARIO</option>
<option value="5">CARGO</option>
</select>
</div>
</div>
<div class='divTrabajador col-md-6 hide'>
<div class="form-group">
<label style="font-size: small">
Nombres y/o Apellidos:
</label>
<span class="asterisk">(*)</span>
<input type="text" id="txtTrabajador" name = "txtTrabajador" class="form-control" value="" placeholder="INGRESE NOMBRE DEL TRABAJADOR" style="text-transform:uppercase;">
</div>
</div>
<div class='divCargo col-md-6 hide'>
<div class="form-group">
<label style="font-size: small">
Cargos:
</label>
<span class="asterisk">(*)</span>
<select id="cboCargos" name = "cboCargos" class="form-control">
<option>[SELECCIONE]</option>
</select>
</div>
</div>
......@@ -51,8 +76,8 @@
<label style="font-size: small">
Nombre:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO" style="text-transform:uppercase;">
<span class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO (NICKNAME)" style="text-transform:uppercase;">
</div>
</div>
<div class='divProyecto col-md-6 hide'>
......@@ -60,7 +85,7 @@
<label style="font-size: small">
Proyecto:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboProyecto" class="form-control" name="cboProyecto">
<option value="">SELECCIONE PROYECTO</option>
</select>
......@@ -71,7 +96,7 @@
<label style="font-size: small">
Tipo de Usuario:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboTipoUsuario" class="form-control" name="cboTipoUsuario">
<option value="">SELECCIONE TIPO DE USUARIO</option>
</select>
......@@ -112,7 +137,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblUsuario">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">USUARIO</th>
<th class="text-center">DATOS</th>
<th class="text-center">ÁREA</th>
......
......@@ -22,8 +22,9 @@
<script type="text/javascript" src="../assets/js/core/libraries/bootstrap.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/loaders/blockui.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/uniform.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/switch.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/core/app.js"></script>
<script type="text/javascript" src="../assets/js/bootbox.min.js"></script>
<script src="../assets/js/plugins/tables/datatables/datatables.min.js" type="text/javascript"></script>
......@@ -31,6 +32,7 @@
<script src="../assets/js/validate_inputs.js" type="text/javascript"></script>
<script src="../js/lib/validateAlfi.js" type="text/javascript"></script>
<script src="../assets/js/fontawesome-iconpicker.js" type="text/javascript"></script>
<script src="../assets/js/plugins/forms/selects/select2.min.js" type="text/javascript"></script>
<!--<script src="../assets/js/fontawesome-iconpicker.min.js" type="text/javascript"></script>-->
<!-- /core JS files -->
<!-- /Generales -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment