Commit 4e50e26f by Luis Gangas

[edit] edicion querys ficha lote

parent 3083f58f
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="f1229581-2498-4c33-b7b4-f715a5fbe428" name="Default Changelist" comment="" />
<list default="true" id="f1229581-2498-4c33-b7b4-f715a5fbe428" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/web/js/pages/bandejaPresidencia.js" beforeDir="false" afterPath="$PROJECT_DIR$/web/js/pages/bandejaPresidencia.js" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" />
<ignored path="$PROJECT_DIR$/tmp/" />
......@@ -15,10 +18,11 @@
<session id="1890756217">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="2" />
<entry key="project.closed" value="4" />
<entry key="project.open.time.0" value="1" />
<entry key="project.open.time.12" value="1" />
<entry key="project.opened" value="2" />
<entry key="project.open.time.2" value="1" />
<entry key="project.opened" value="3" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
......@@ -117,12 +121,13 @@
<workItem from="1541626388621" duration="785000" />
<workItem from="1541776350897" duration="159000" />
<workItem from="1541776578549" duration="539000" />
<workItem from="1542033991862" duration="249000" />
<workItem from="1542033991862" duration="854000" />
<workItem from="1542041168541" duration="651000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="3471000" />
<option name="totallyTimeSpent" value="4727000" />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
......
......@@ -30,26 +30,29 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD
= "select "
+ "persona.codigo_persona codigoPersona, "
+ "ficha.codigo_ficha codigoFicha, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "persona.numero_documento numeroDocumento, "
+ "personal.apellidoPaterno apellidoPaterno, "
+ "personal.apellidoMaterno apellidoMaterno, "
+ "personal.nombre nombre, "
+ "personal.dni numeroDocumento, "
+ "tipo_documento.descripcion_corta tipodocumento, "
+ "format(ficha_laboral.fecha_ingreso,'dd/MM/yyyy') fechaInicio, "
+ "upper(datename(mm, ficha_laboral.fecha_ingreso)) mes, "
+ "date_format(ficha_laboral.fecha_ingreso,'%d/%m/%Y') fechaInicio, "
+ "upper(monthname(ficha_laboral.fecha_ingreso)) mes, "
+ "sueldo_docente.codigo_area_cargo_tipo_pago as tipoPago, "
+ "isnull(sueldo_docente.costo_a,'') costoADocente, "
+ "isnull(sueldo_docente.costo_b,'') costoBDocente, "
+ "isnull(sueldo_docente.costo_c,'') costoCDocente, "
+ "isnull(sueldo_docente.costo_mensual,'') costoMensualDocente "
+ "FROM detalle_ficha_lote "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = detalle_ficha_lote.codigo_ficha "
+ "ifnull(sueldo_docente.costo_a,'') costoADocente, "
+ "ifnull(sueldo_docente.costo_b,'') costoBDocente, "
+ "ifnull(sueldo_docente.costo_c,'') costoCDocente, "
+ "ifnull(sueldo_docente.costo_mensual,'') costoMensualDocente, "
+ "ifnull(sueldo_administrativo.costo_mensual,'') costoMensualDocente "
+ "FROM ficha_laboral "
+ "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join tipo_documento ON tipo_documento.codigo_tipo_documento = persona.codigo_tipo_documento "
+ "inner join estado_ficha on estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ "inner join personal ON personal.codper = ficha.codigo_persona "
+ "inner join tipo_documento ON tipo_documento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "left join sueldo_docente ON sueldo_docente.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where detalle_ficha_lote.estado_registro = 1 "
+ "and detalle_ficha_lote.codigo_ficha_lote = ?";
+ "left join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where estado_ficha.estado_registro = 1 "
+ "and estado_ficha.codigo_tipo_estado_ficha = 4 "
+ "and sueldo_docente.estado_registro = 1 ";
cnx = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
ps = cnx.prepareStatement(sql);
ps.setInt(1, loteFicha.getCodigoFichaLote());
......@@ -330,27 +333,27 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD
cnx = MysqlDAOFactory.obtenerConexion(Variables.MYSQL_NUEVO_BD_NAME);
sql = ""
+ "select "
+ "persona.codigo_persona codigoPersona, "
+ "personal.codper codigoPersona, "
+ "ficha.codigo_ficha codigoFicha, "
+ "persona.apellido_paterno apellidoPaterno, "
+ "persona.apellido_materno apellidoMaterno, "
+ "persona.nombre nombre, "
+ "persona.numero_documento numeroDocumento, "
+ "personal.apellidoPaterno apellidoPaterno, "
+ "personal.apellidoMaterno apellidoMaterno, "
+ "personal.nombre nombre, "
+ "personal.dni numeroDocumento, "
+ "sueldo_administrativo.sueldo_escalafon escalafon, "
+ "sueldo_administrativo.sueldo_mensual costoMensual, "
+ "tipo_documento.descripcion_corta tipodocumento, "
+ "format(ficha_laboral.fecha_ingreso,'dd/MM/yyyy') fechaInicio, "
+ "upper(datename(mm, ficha_laboral.fecha_ingreso)) mes, "
+ "date_format(ficha_laboral.fecha_ingreso,'%d/%m/%Y') fechaInicio, "
+ "upper(monthname(ficha_laboral.fecha_ingreso)) mes, "
+ "sueldo_administrativo.codigo_area_cargo_tipo_pago codigoAreaCargoTipoPago "
+ "FROM detalle_ficha_lote "
+ "inner join ficha_laboral ON ficha_laboral.codigo_ficha = detalle_ficha_lote.codigo_ficha "
+ "FROM ficha_laboral "
+ "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join persona ON persona.codigo_persona = ficha.codigo_persona "
+ "inner join tipo_documento ON tipo_documento.codigo_tipo_documento = persona.codigo_tipo_documento "
+ "inner join estado_ficha on estado_ficha.codigo_ficha = ficha.codigo_ficha "
+ "inner join personal ON personal.codper = ficha.codigo_persona "
+ "inner join tipo_documento ON tipo_documento.codigo_tipo_documento = personal.codigo_tipo_documento "
+ "left join sueldo_administrativo ON sueldo_administrativo.codigo_ficha = ficha_laboral.codigo_ficha "
+ "where detalle_ficha_lote.estado_registro = 1 "
+ "and detalle_ficha_lote.codigo_ficha_lote = ? "
+ "and sueldo_administrativo.estado_registro = 1;";
+ "where estado_ficha.estado_registro = 1 "
+ "and estado_ficha.codigo_tipo_estado_ficha = 4 "
+ "and sueldo_administrativo.estado_registro = 1 ";
ps = cnx.prepareStatement(sql);
ps.setString(1, data.getString("codigoFichaLote"));
rs = ps.executeQuery();
......
......@@ -1645,7 +1645,7 @@ public class FichaMysqlDAO implements FichaDAO {
+ "select "
+ "sueldo_administrativo.sueldo_escalafon sueldoEscalafon, "
+ "sueldo_administrativo.sueldo_mensual sueldoMensual, "
+ "isnull(sueldo_administrativo.sueldo_presidencia, 0.00) sueldoPresidencia, "
+ "ifnull(sueldo_administrativo.sueldo_presidencia, 0.00) sueldoPresidencia, "
+ "sueldo_administrativo.observacion, "
+ "case "
+ " when sueldo_administrativo.estado_registro = 1 then 'COSTOS MODIFICADOS POR PRESIDENCIA' "
......@@ -1673,10 +1673,10 @@ public class FichaMysqlDAO implements FichaDAO {
} else if (da.getTipoFicha().equals("DOCENTE")) {
sql = ""
+ "select "
+ "isnull(sueldo_docente.costo_mensual, 0.00) costoMensual, "
+ "isnull(sueldo_docente.costo_a, 0.00) costoA, "
+ "isnull(sueldo_docente.costo_b, 0.00) costoB, "
+ "isnull(sueldo_docente.costo_c, 0.00) costoC, "
+ "ifnull(sueldo_docente.costo_mensual, 0.00) costoMensual, "
+ "ifnull(sueldo_docente.costo_a, 0.00) costoA, "
+ "ifnull(sueldo_docente.costo_b, 0.00) costoB, "
+ "ifnull(sueldo_docente.costo_c, 0.00) costoC, "
+ "sueldo_docente.observacion, "
+ "case "
+ " when sueldo_docente.estado_registro = 1 then 'COSTOS MODIFICADOS POR PRESIDENCIA' "
......
......@@ -44,7 +44,7 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
+ "cargo.nombre nombreCargo, "
+ "sueldo_administrativo.sueldo_escalafon sueldoEscalafonAdministrativo, "
+ "sueldo_administrativo.sueldo_mensual sueldoMensualAdministrativo, "
+ "isnull(sueldo_administrativo.observacion,'') observacionAdministrativo, "
+ "ifnull(sueldo_administrativo.observacion,'') observacionAdministrativo, "
+ "sueldo_docente.costo_mensual costoMensualDocente, "
+ "sueldo_docente.costo_a costoADocente, "
+ "sueldo_docente.costo_b costoBDocente, "
......@@ -163,7 +163,7 @@ public class LoteFichaMysqlDAO implements LoteFichaDAO {
+ " 1 DESC "
+ "LIMIT " + length;
ps = cnx.prepareStatement(sql);
ps = cnx.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
......
......@@ -302,35 +302,35 @@ public class ReportePersonalMysqlDAO implements ReportePersonalDAO {
String sql = ""
+ "select "
+ "persona.codigo_persona codigoPersona, "
+ "isnull(persona.apellido_paterno, '-') apellidoPaterno, "
+ "isnull(persona.apellido_materno, '-') apellidoMaterno, "
+ "isnull(persona.nombre, '-') nombre, "
+ "isnull(tipo_documento.descripcion_corta, '-') tipoDocumento, "
+ "isnull(persona.numero_documento, '-') numeroDocumento, "
+ "isnull(persona.sexo, '-') sexo, "
+ "isnull(estado_civil.nombre, '-') estadoCivil, "
+ "isnull(convert(varchar, persona.fecha_nacimiento, 103), '-') fechaNacimiento, "
+ "isnull(nacionalidad.pais, '-') nacionalidad, "
+ "ifnull(persona.apellido_paterno, '-') apellidoPaterno, "
+ "ifnull(persona.apellido_materno, '-') apellidoMaterno, "
+ "ifnull(persona.nombre, '-') nombre, "
+ "ifnull(tipo_documento.descripcion_corta, '-') tipoDocumento, "
+ "ifnull(persona.numero_documento, '-') numeroDocumento, "
+ "ifnull(persona.sexo, '-') sexo, "
+ "ifnull(estado_civil.nombre, '-') estadoCivil, "
+ "ifnull(convert(varchar, persona.fecha_nacimiento, 103), '-') fechaNacimiento, "
+ "ifnull(nacionalidad.pais, '-') nacionalidad, "
+ "case when persona.codigo_nacionalidad = 144 then (select ubigeo.nombre_departamento + ' - ' + ubigeo.nombre_provincia + ' - ' + ubigeo.nombre_distrito from ubigeo where ubigeo.codigo_ubigeo = persona.codigo_ubigeo_nacimiento) else '-' end ubigeoNacimiento, "
+ "isnull(persona.direccion_documento, '-') direccionDocumento, "
+ "ifnull(persona.direccion_documento, '-') direccionDocumento, "
+ "case when persona.telefono_fijo is null or persona.telefono_fijo = '' then '-' else persona.telefono_fijo end telefonoFijo, "
+ "case when persona.telefono_movil is null or persona.telefono_movil = '' then '-' else persona.telefono_movil end telefonoMovil, "
+ "persona.correo correoPersonal, "
+ "isnull(persona.correo_corporativo, '-') correoCorporativo, "
+ "isnull((select ubigeo.nombre_departamento + ' - ' + ubigeo.nombre_provincia + ' - ' + ubigeo.nombre_distrito from ubigeo where ubigeo.codigo_ubigeo = persona.codigo_ubigeo_residencia), '-') ubigeoResidencia, "
+ "isnull(persona.direccion_residencia, '-') direccionResidencia, "
+ "isnull(persona.latitud_residencia + ' , ' + persona.longitud_residencia, '-') coordenadasDireccionResidencia, "
+ "isnull(persona.foto, '-') foto, "
+ "rtrim(ltrim(isnull(persona.ruc, '-'))) ruc,"
+ "ifnull(persona.correo_corporativo, '-') correoCorporativo, "
+ "ifnull((select ubigeo.nombre_departamento + ' - ' + ubigeo.nombre_provincia + ' - ' + ubigeo.nombre_distrito from ubigeo where ubigeo.codigo_ubigeo = persona.codigo_ubigeo_residencia), '-') ubigeoResidencia, "
+ "ifnull(persona.direccion_residencia, '-') direccionResidencia, "
+ "ifnull(persona.latitud_residencia + ' , ' + persona.longitud_residencia, '-') coordenadasDireccionResidencia, "
+ "ifnull(persona.foto, '-') foto, "
+ "rtrim(ltrim(ifnull(persona.ruc, '-'))) ruc,"
+ "case when persona.fondo_pension_activo = 1 then 'SI' when persona.fondo_pension_activo is null then '-' else 'NO' end tieneFondoPension, "
+ "isnull(fondo_pension.descripcion_corta, '-') fondoPension, "
+ "isnull(persona.enlace_alfresco, '-') enlaceAlfresco, "
+ "ifnull(fondo_pension.descripcion_corta, '-') fondoPension, "
+ "ifnull(persona.enlace_alfresco, '-') enlaceAlfresco, "
+ "case when persona.is_default_mail = 1 then 'NO' when persona.is_default_mail is null then '-' else 'SI' end tieneCorreo, "
+ "isnull(sede.nombre, '-') sede, "
+ "isnull(area.nombre, '-') area, "
+ "isnull(cargo.nombre, '-') cargo, "
+ "isnull(convert(varchar, ficha_laboral.fecha_ingreso, 103), '-') fechaIngreso, "
+ "isnull(convert(varchar, ficha_laboral.fecha_fin, 103), '-') fechaTermino, "
+ "ifnull(sede.nombre, '-') sede, "
+ "ifnull(area.nombre, '-') area, "
+ "ifnull(cargo.nombre, '-') cargo, "
+ "ifnull(convert(varchar, ficha_laboral.fecha_ingreso, 103), '-') fechaIngreso, "
+ "ifnull(convert(varchar, ficha_laboral.fecha_fin, 103), '-') fechaTermino, "
+ "(select count(1) from carga_familiar where numero_documento in (select p.numero_documento from persona p where p.numero_documento = persona.numero_documento )) cantidadParentesco "
+ "from persona "
+ "inner join tipo_documento ON tipo_documento.codigo_tipo_documento = persona.codigo_tipo_documento "
......
......@@ -154,7 +154,7 @@ public class TrabajadorResponsableMysqlDAO implements TrabajadorResponsableDAO {
// + "sede.nombre nombreSede, "
// + "area.nombre nombreArea, "
// + "cargo.nombre nombreCargo, "
// + "isnull(trabajador_responsable.correo,'responsablesacooliveros@yopmail.com') correo "
// + "ifnull(trabajador_responsable.correo,'responsablesacooliveros@yopmail.com') correo "
// + "from trabajador_responsable "
// + "inner join sede_area on trabajador_responsable.codigo_sede_area = sede_area.codigo_sede_area "
// + "inner join sede on sede_area.codigo_sede = sede.codigo_sede "
......
......@@ -14,142 +14,142 @@ import trismegistoplanilla.servicesMysql.LoteFichaService;
import trismegistoplanilla.utilities.ParamsValidation;
public class LoteFichaServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String param = request.getParameter("accion");
switch (param) {
case "listarFichasDT":
listarFichasDT(request, response);
break;
case "registrarLote":
registrarLote(request, response);
break;
case "listarLoteDT":
listarLoteDT(request, response);
break;
case "listarLoteGeneralDT":
listarLoteGeneralDT(request, response);
break;
case "listarFichasGeneral":
listarFichasGeneral(request, response);
break;
default:
response.setContentType("application/json");
PrintWriter out = response.getWriter();
JSONObject respuesta = new JSONObject();
respuesta.put("status", false)
.put("message", "No existe la url solicitada")
.put("data", "");
out.print(respuesta);
break;
}
}
private void listarFichasDT(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
String objJson = request.getParameter("json");
JSONObject json = new JSONObject(objJson);
String draw = request.getParameter("draw");
String length = request.getParameter("length");
String start = request.getParameter("start");
JSONObject jsonObjListarFichasDT = service.listarFichasDT(draw, length, start, json);
out.print(jsonObjListarFichasDT);
}
private void registrarLote(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
String jsonObj = request.getParameter("json");
if (jsonObj != null) {
HttpSession sesion = request.getSession();
UsuarioBean usuario = (UsuarioBean) sesion.getAttribute("usuario");
JSONObject jsonObjRegistrarLote = new JSONObject(jsonObj);
if (validarRegistroLoteJson(jsonObjRegistrarLote)) {
JSONObject jsonReturn = service.registrarLote(jsonObjRegistrarLote, usuario);
out.print(jsonReturn);
} else {
out.print("Ha ocurrido un error. Al parecer esta infringiendo las leyes de los values en los inputs.");
}
} else {
out.print("Ha ocurrido un error. Al parecer esta infringiendo las leyes de los values en los inputs.");
}
}
private void listarLoteDT(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
String draw = request.getParameter("draw");
String length = request.getParameter("length");
String start = request.getParameter("start");
String search = request.getParameter("search");
if (search != null) {
JSONObject jsonObjListarLoteDT = service.listarLoteDT(draw, length, start, search);
out.print(jsonObjListarLoteDT);
} else {
out.print("Los datos llegaron nulos");
}
}
private boolean validarRegistroLoteJson(JSONObject json) {
JSONArray detallelote = json.getJSONArray("detallelote");
if (detallelote.length() == 0) {
return false;
}
if (!ParamsValidation.validaSoloLetras(json.getString("tipoLote"))) {
return false;
}
for (int i = 0; i < detallelote.length(); i++) {
if (!detallelote.getJSONObject(i).getString("tipoFicha").equals(json.getString("tipoLote"))) {
return false;
}
}
return true;
}
private void listarLoteGeneralDT(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String draw = request.getParameter("draw");
String length = request.getParameter("length");
String start = request.getParameter("start");
JSONObject data = new JSONObject(request.getParameter("json"));
JSONObject req = new JSONObject();
req.put("draw", draw);
req.put("length", length);
req.put("start", start);
req.put("data", data);
LoteFichaService service = new LoteFichaService();
JSONObject respuesta = service.listarLoteGeneralDT(req);
out.print(respuesta);
}
private void listarFichasGeneral(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
JSONObject json = new JSONObject(request.getParameter("json"));
JSONObject respuesta = service.listarFichasGeneral(json);
out.print(respuesta);
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String param = request.getParameter("accion");
switch (param) {
case "listarFichasDT":
listarFichasDT(request, response);
break;
case "registrarLote":
registrarLote(request, response);
break;
case "listarLoteDT":
listarLoteDT(request, response);
break;
case "listarLoteGeneralDT":
listarLoteGeneralDT(request, response);
break;
case "listarFichasGeneral":
listarFichasGeneral(request, response);
break;
default:
response.setContentType("application/json");
PrintWriter out = response.getWriter();
JSONObject respuesta = new JSONObject();
respuesta.put("status", false)
.put("message", "No existe la url solicitada")
.put("data", "");
out.print(respuesta);
break;
}
}
private void listarFichasDT(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
String objJson = request.getParameter("json");
JSONObject json = new JSONObject(objJson);
String draw = request.getParameter("draw");
String length = request.getParameter("length");
String start = request.getParameter("start");
JSONObject jsonObjListarFichasDT = service.listarFichasDT(draw, length, start, json);
out.print(jsonObjListarFichasDT);
}
private void registrarLote(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
String jsonObj = request.getParameter("json");
if (jsonObj != null) {
HttpSession sesion = request.getSession();
UsuarioBean usuario = (UsuarioBean) sesion.getAttribute("usuario");
JSONObject jsonObjRegistrarLote = new JSONObject(jsonObj);
if (validarRegistroLoteJson(jsonObjRegistrarLote)) {
JSONObject jsonReturn = service.registrarLote(jsonObjRegistrarLote, usuario);
out.print(jsonReturn);
} else {
out.print("Ha ocurrido un error. Al parecer esta infringiendo las leyes de los values en los inputs.");
}
} else {
out.print("Ha ocurrido un error. Al parecer esta infringiendo las leyes de los values en los inputs.");
}
}
private void listarLoteDT(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
String draw = request.getParameter("draw");
String length = request.getParameter("length");
String start = request.getParameter("start");
String search = request.getParameter("search");
if (search != null) {
JSONObject jsonObjListarLoteDT = service.listarLoteDT(draw, length, start, search);
out.print(jsonObjListarLoteDT);
} else {
out.print("Los datos llegaron nulos");
}
}
private boolean validarRegistroLoteJson(JSONObject json) {
JSONArray detallelote = json.getJSONArray("detallelote");
if (detallelote.length() == 0) {
return false;
}
if (!ParamsValidation.validaSoloLetras(json.getString("tipoLote"))) {
return false;
}
for (int i = 0; i < detallelote.length(); i++) {
if (!detallelote.getJSONObject(i).getString("tipoFicha").equals(json.getString("tipoLote"))) {
return false;
}
}
return true;
}
private void listarLoteGeneralDT(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String draw = request.getParameter("draw");
String length = request.getParameter("length");
String start = request.getParameter("start");
JSONObject data = new JSONObject(request.getParameter("json"));
JSONObject req = new JSONObject();
req.put("draw", draw);
req.put("length", length);
req.put("start", start);
req.put("data", data);
LoteFichaService service = new LoteFichaService();
JSONObject respuesta = service.listarLoteGeneralDT(req);
out.print(respuesta);
}
private void listarFichasGeneral(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
LoteFichaService service = new LoteFichaService();
JSONObject json = new JSONObject(request.getParameter("json"));
JSONObject respuesta = service.listarFichasGeneral(json);
out.print(respuesta);
}
}
/* global jAlert */
$(function () {
inicializarComponentes();
configuracionComponentes();
listarFichas().then(() => {
validarCheckBox()
})
configuracionCheckBox();
configuracionComboFiltrado();
inicializarComponentes();
configuracionComponentes();
listarFichas().then(() => {
validarCheckBox()
})
configuracionCheckBox();
configuracionComboFiltrado();
});
......@@ -15,365 +15,365 @@ let fichas = [];
let tipoLote = "";
let flagGenerarLote = false;
function listarFichas() {
return new Promise((resolve, reject) => {
defaultConfigDataTable();
$('#tblFichasPendientes').DataTable().destroy()
$('#tblFichasPendientes').DataTable({
ajax: {
url: '../LoteFichaServlet',
type: 'POST',
dataType: 'json',
data: {
accion: 'listarFichasDT',
json: JSON.stringify(obtenerDataFiltro())
}
},
processing: true,
serverSide: true,
columnDefs: [],
iDisplayLength: 20,
columns: [
{
data: null,
render: function () {
return '<input type="checkbox" class="control-primary checkbox-body">';
}
},
{
data: null,
render: function (data) {
return `${data.apellidoPaterno} ${data.apellidoMaterno}, ${data.nombre}`;
}
},
{
data: 'numeroDocumento',
className: 'text-center'
},
{
data: 'nombreSede'
},
{
data: 'nombreArea'
},
{
data: 'nombreCargo'
},
{
data: null,
className: 'text-center',
render: function (data) {
if (data.tipoFicha === 'A') {
return `<b> S/. ${data.sueldoMensualAdministrativo} </b>`;
} else if (data.tipoFicha === 'D') {
return data.costoMensualDocente !== '0.00' ? `<b> S/. ${data.costoMensualDocente} </b>` : ' - ';
}
}
},
{
data: 'costoADocente',
className: 'text-center',
render: function (data) {
return data !== '0.00' ? `<b> S/. ${data} </b>` : ' - ';
}
},
{
data: 'costoBDocente',
className: 'text-center',
render: function (data) {
return data !== '0.00' ? `<b> S/. ${data} </b>` : ' - ';
}
},
{
data: 'costoCDocente',
className: 'text-center',
render: function (data) {
return data !== '0.00' ? `<b> S/. ${data} </b>` : ' - ';
}
}
],
fnDrawCallback: function (settings) {
$(".control-primary").uniform({
radioClass: 'choice',
wrapperClass: 'border-primary-600 text-primary-800 div-checkbox-body'
});
setearChecks();
if (fichas.length !== $('#tblFichasPendientes').DataTable().page.info().recordsTotal) {
$(".checkbox-head").prop('checked', false);
$('.div-checkbox-head span').removeClass('checked');
}
},
createdRow: function (row, data, index) {
let tipoFicha = data.tipoFicha; // "A" ó "D"
if (tipoFicha === "A") {
$(row).addClass('info');
} else if (tipoFicha === "D") {
$(row).addClass('warning');
}
},
fnInitComplete: function (settings, data) {
resolve(data)
}
})
})
return new Promise((resolve, reject) => {
defaultConfigDataTable();
$('#tblFichasPendientes').DataTable().destroy()
$('#tblFichasPendientes').DataTable({
ajax: {
url: '../LoteFichaServlet',
type: 'POST',
dataType: 'json',
data: {
accion: 'listarFichasDT',
json: JSON.stringify(obtenerDataFiltro())
}
},
processing: true,
serverSide: true,
columnDefs: [],
iDisplayLength: 20,
columns: [
{
data: null,
render: function () {
return '<input type="checkbox" class="control-primary checkbox-body">';
}
},
{
data: null,
render: function (data) {
return `${data.apellidoPaterno} ${data.apellidoMaterno}, ${data.nombre}`;
}
},
{
data: 'numeroDocumento',
className: 'text-center'
},
{
data: 'nombreSede'
},
{
data: 'nombreArea'
},
{
data: 'nombreCargo'
},
{
data: null,
className: 'text-center',
render: function (data) {
if (data.tipoFicha === 'A') {
return `<b> S/. ${data.sueldoMensualAdministrativo} </b>`;
} else if (data.tipoFicha === 'D') {
return data.costoMensualDocente !== '0.00' ? `<b> S/. ${data.costoMensualDocente} </b>` : ' - ';
}
}
},
{
data: 'costoADocente',
className: 'text-center',
render: function (data) {
return data !== '0.00' ? `<b> S/. ${data} </b>` : ' - ';
}
},
{
data: 'costoBDocente',
className: 'text-center',
render: function (data) {
return data !== '0.00' ? `<b> S/. ${data} </b>` : ' - ';
}
},
{
data: 'costoCDocente',
className: 'text-center',
render: function (data) {
return data !== '0.00' ? `<b> S/. ${data} </b>` : ' - ';
}
}
],
fnDrawCallback: function (settings) {
$(".control-primary").uniform({
radioClass: 'choice',
wrapperClass: 'border-primary-600 text-primary-800 div-checkbox-body'
});
setearChecks();
if (fichas.length !== $('#tblFichasPendientes').DataTable().page.info().recordsTotal) {
$(".checkbox-head").prop('checked', false);
$('.div-checkbox-head span').removeClass('checked');
}
},
createdRow: function (row, data, index) {
let tipoFicha = data.tipoFicha; // "A" ó "D"
if (tipoFicha === "A") {
$(row).addClass('info');
} else if (tipoFicha === "D") {
$(row).addClass('warning');
}
},
fnInitComplete: function (settings, data) {
resolve(data)
}
})
})
}
function obtenerDataFiltro() {
let json = {
criterio: parseInt($('#cboCriterioFiltroFicha').val())
};
return json;
let json = {
criterio: parseInt($('#cboCriterioFiltroFicha').val())
};
return json;
}
function setearChecks() {
let tabla = $('#tblFichasPendientes').DataTable().rows().data();
for (let i = 0; i < tabla.length; i++) {
for (let x = 0; x < fichas.length; x++) {
if (fichas[x].codigoFicha === obtenerDatosFila(i).codigoFicha) {
let input = $($($('#tblFichasPendientes').DataTable().row(i).node()).children()[0]).find('input');
input.parent().addClass('checked');
input.prop('checked', true);
}
}
}
let tabla = $('#tblFichasPendientes').DataTable().rows().data();
for (let i = 0; i < tabla.length; i++) {
for (let x = 0; x < fichas.length; x++) {
if (fichas[x].codigoFicha === obtenerDatosFila(i).codigoFicha) {
let input = $($($('#tblFichasPendientes').DataTable().row(i).node()).children()[0]).find('input');
input.parent().addClass('checked');
input.prop('checked', true);
}
}
}
}
let obtenerDatosFila = (fila) => $('#tblFichasPendientes').DataTable().row(fila).data();
let jsonFichas = () => {
let json = {}
let detalleLote = []
for (let i in fichas) {
detalleLote.push({codigoFicha: fichas[i].codigoFicha, tipoFicha: fichas[i].tipoFicha});
}
let json = {}
let detalleLote = []
for (let i in fichas) {
detalleLote.push({codigoFicha: fichas[i].codigoFicha, tipoFicha: fichas[i].tipoFicha});
}
}
function configuracionCheckBox() {
$(".checkbox-head").click(function () {
if ($(this).prop('checked')) { // le doy check
$('.div-checkbox-body span').addClass('checked');
$('.checkbox-body').each((i, el) => {
if (!$(el).prop('checked')) { // no esta marcado
let x_data = $('#tblFichasPendientes').DataTable().row(i).data();
fichas.push(x_data);
}
});
} else { // le quito check
fichas = [];
$('.div-checkbox-body span').removeClass('checked');
}
$(".checkbox-body").prop('checked', $(this).prop('checked'));
});
$(".checkbox-head").click(function () {
if ($(this).prop('checked')) { // le doy check
$('.div-checkbox-body span').addClass('checked');
$('.checkbox-body').each((i, el) => {
if (!$(el).prop('checked')) { // no esta marcado
let x_data = $('#tblFichasPendientes').DataTable().row(i).data();
fichas.push(x_data);
}
});
} else { // le quito check
fichas = [];
$('.div-checkbox-body span').removeClass('checked');
}
$(".checkbox-body").prop('checked', $(this).prop('checked'));
});
$('#tblFichasPendientes tbody').on('click', '.checkbox-body', function (e) {
iterateCheckBox();
let row = $('#tblFichasPendientes').DataTable().row($(this).parents('tr'));
let data = row.data();
let id = data.id;
if ($(this).prop('checked')) {
fichas.push(data);
} else {
removeByKey(fichas, {key: 'id', value: id});
}
});
$('#tblFichasPendientes tbody').on('click', '.checkbox-body', function (e) {
iterateCheckBox();
let row = $('#tblFichasPendientes').DataTable().row($(this).parents('tr'));
let data = row.data();
let id = data.id;
if ($(this).prop('checked')) {
fichas.push(data);
} else {
removeByKey(fichas, {key: 'id', value: id});
}
});
}
function configuracionComboFiltrado() {
$('#cboCriterioFiltroFicha').on('change', function (e) {
fichas = [];
$(".checkbox-head").prop('checked', false);
$('.div-checkbox-head span').removeClass('checked');
$('#cboCriterioFiltroFicha').on('change', function (e) {
fichas = [];
$(".checkbox-head").prop('checked', false);
$('.div-checkbox-head span').removeClass('checked');
let codigoCriteroBusqueda = parseInt($('#cboCriterioFiltroFicha').val());
if (codigoCriteroBusqueda !== 0) {
flagGenerarLote = true;
$('#btnGenerarLote').attr('disabled', false);
if (codigoCriteroBusqueda === 1) {
tipoLote = 'A';
} else if (codigoCriteroBusqueda === 2) {
tipoLote = 'D';
}
listarFichas().then(() => {
$('.div-checkbox-head').removeClass('disabled')
$(".checkbox-head").prop('disabled', false)
$('.div-checkbox-body').removeClass('disabled')
$('.checkbox-body').prop('disabled', false)
})
} else {
$('#btnGenerarLote').attr('disabled', true);
flagGenerarLote = false;
tipoLote = '';
listarFichas()
.then(() => {
validarCheckBox()
})
}
});
let codigoCriteroBusqueda = parseInt($('#cboCriterioFiltroFicha').val());
if (codigoCriteroBusqueda !== 0) {
flagGenerarLote = true;
$('#btnGenerarLote').attr('disabled', false);
if (codigoCriteroBusqueda === 1) {
tipoLote = 'A';
} else if (codigoCriteroBusqueda === 2) {
tipoLote = 'D';
}
listarFichas().then(() => {
$('.div-checkbox-head').removeClass('disabled')
$(".checkbox-head").prop('disabled', false)
$('.div-checkbox-body').removeClass('disabled')
$('.checkbox-body').prop('disabled', false)
})
} else {
$('#btnGenerarLote').attr('disabled', true);
flagGenerarLote = false;
tipoLote = '';
listarFichas()
.then(() => {
validarCheckBox()
})
}
});
}
let iterateCheckBox = () => {
let count = 0;
$('.checkbox-body:checked').each((el, i) => {
count++;
});
if ($('.checkbox-body').length === count) {
$('.div-checkbox-head span').addClass('checked');
$('.checkbox-head').prop('checked', true);
} else {
$('.div-checkbox-head span').removeClass('checked');
$('.checkbox-head').prop('checked', false);
}
let count = 0;
$('.checkbox-body:checked').each((el, i) => {
count++;
});
if ($('.checkbox-body').length === count) {
$('.div-checkbox-head span').addClass('checked');
$('.checkbox-head').prop('checked', true);
} else {
$('.div-checkbox-head span').removeClass('checked');
$('.checkbox-head').prop('checked', false);
}
};
function configuracionComponentes() {
$('#btnGenerarLote').attr('disabled', true);
$('#btnGenerarLote').attr('disabled', true);
}
function inicializarComponentes() {
$('.bootstrap-select').selectpicker();
// Primary
$(".control-primary").uniform({
radioClass: 'choice',
wrapperClass: 'border-primary-600 text-primary-800 div-checkbox-head'
});
$('.bootstrap-select').selectpicker();
// Primary
$(".control-primary").uniform({
radioClass: 'choice',
wrapperClass: 'border-primary-600 text-primary-800 div-checkbox-head'
});
}
let validarCheckBox = () => {
$('.div-checkbox-head').addClass('disabled')
$(".checkbox-head").prop('disabled', true)
$('.div-checkbox-body').addClass('disabled')
$('.checkbox-body').prop('disabled', true)
$('.div-checkbox-head').addClass('disabled')
$(".checkbox-head").prop('disabled', true)
$('.div-checkbox-body').addClass('disabled')
$('.checkbox-body').prop('disabled', true)
}
let lote = {
init() {
this.generarLote()
},
generarLote() {
document.querySelector('#btnGenerarLote').addEventListener('click', (e) => {
let valid = this.validarLote()
if (valid.status) {
delete valid["status"]
let json = this.obtenerData()
jAlert({
type: 'confirm',
content: 'Esta a punto de generar un lote. ¿Continuar?',
buttons: {left: 'Si', right: 'No'}
}).then(flag => {
if (flag) {
$.ajax({
url: '../LoteFichaServlet',
type: 'POST',
dataType: 'json',
data: {
accion: 'registrarLote',
json: JSON.stringify(json)
}, beforeSend: function (xhr) {
load('Generando lote')
}, success: function (data, textStatus, jqXHR) {
fichas = []
if (data.status) {
listarFichas()
unload()
jAlert({
type: 'success',
content: `Se generó el lote <mark>${data.data.getResultedKey}</mark> correctamente`,
buttons: {left: 'Aceptar'}
})
} else {
jAlert({type: 'error', content: data.message, buttons: {left: 'Aceptar'}})
}
}
})
}
})
init() {
this.generarLote()
},
generarLote() {
document.querySelector('#btnGenerarLote').addEventListener('click', (e) => {
let valid = this.validarLote()
if (valid.status) {
delete valid["status"]
let json = this.obtenerData()
jAlert({
type: 'confirm',
content: 'Esta a punto de generar un lote. ¿Continuar?',
buttons: {left: 'Si', right: 'No'}
}).then(flag => {
if (flag) {
$.ajax({
url: '../LoteFichaServlet',
type: 'POST',
dataType: 'json',
data: {
accion: 'registrarLote',
json: JSON.stringify(json)
}, beforeSend: function (xhr) {
load('Generando lote')
}, success: function (data, textStatus, jqXHR) {
fichas = []
if (data.status) {
listarFichas()
unload()
jAlert({
type: 'success',
content: `Se generó el lote <mark>${data.data.getResultedKey}</mark> correctamente`,
buttons: {left: 'Aceptar'}
})
} else {
jAlert({type: 'error', content: data.message, buttons: {left: 'Aceptar'}})
}
}
})
}
})
} else {
jAlert({type: 'warning', content: valid.message, buttons: {left: 'Aceptar'}})
}
})
},
validarLote() {
if (!flagGenerarLote) {
return {
status: false,
message: 'Accion maliciosa, refresque la página.'
}
}
} else {
jAlert({type: 'warning', content: valid.message, buttons: {left: 'Aceptar'}})
}
})
},
validarLote() {
if (!flagGenerarLote) {
return {
status: false,
message: 'Accion maliciosa, refresque la página.'
}
}
if (fichas.length === 0) {
return {
status: false,
message: 'Debe seleccionar al menos una ficha.'
}
}
if (fichas.length === 0) {
return {
status: false,
message: 'Debe seleccionar al menos una ficha.'
}
}
return {
status: true
}
},
obtenerData() {
let detalleLote = []
for (let ficha in fichas) {
detalleLote.push({
codigoFicha: fichas[ficha].codigoFicha,
tipoFicha: fichas[ficha].tipoFicha
})
}
let json = {
detallelote: detalleLote,
tipoLote: tipoLote
}
return json
}
return {
status: true
}
},
obtenerData() {
let detalleLote = []
for (let ficha in fichas) {
detalleLote.push({
codigoFicha: fichas[ficha].codigoFicha,
tipoFicha: fichas[ficha].tipoFicha
})
}
let json = {
detallelote: detalleLote,
tipoLote: tipoLote
}
return json
}
}
lote.init()
function generarLote2() {
$('#btnGenerarLote').on('click', function () {
if (flagGenerarLote) {
jAlert({
type: 'confirm',
content: '',
buttons: {left: 'Si', right: 'No'}
}).then(flag => {
if (flag) {
let json = {};
let detallelote = [];
for (let i in fichas) {
detallelote.push({codigoFicha: fichas[i].codigoFicha, tipoFicha: fichas[i].tipoFicha});
}
json.detallelote = detallelote;
json.tipoLote = tipoLote;
if (detallelote.length !== 0) {
$.ajax({
url: '../LoteFichaServlet',
type: 'POST',
dataType: 'json',
data: {
accion: 'registrarLote',
json: JSON.stringify(json)
},
beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
if (data.status) {
jAlert({
type: 'success',
content: `Se generó el lote <mark>${data.data.getResultedKey}</mark> correctamente</b>`,
buttons: {left: 'Aceptar'}
})
$('#cboCriterioFiltroFicha').val(0).change();
$('#cboCriterioFiltroFicha').selectpicker('refresh');
listarFichas();
} else {
jAlert({type: 'error', content: data.message, buttons: {left: 'Aceptar'}})
}
}
});
} else {
jAlert({type: 'warning', content: 'Debe seleccionar al menos una ficha.', buttons: {left: 'Aceptar'}})
}
}
})
} else {
jAlert({type: 'error', content: 'Acción maliciosa, refresque la página!', buttons: {left: 'Aceptar'}})
.then(flag => {
if (flag) {
window.location.reload()
}
})
}
});
$('#btnGenerarLote').on('click', function () {
if (flagGenerarLote) {
jAlert({
type: 'confirm',
content: '',
buttons: {left: 'Si', right: 'No'}
}).then(flag => {
if (flag) {
let json = {};
let detallelote = [];
for (let i in fichas) {
detallelote.push({codigoFicha: fichas[i].codigoFicha, tipoFicha: fichas[i].tipoFicha});
}
json.detallelote = detallelote;
json.tipoLote = tipoLote;
if (detallelote.length !== 0) {
$.ajax({
url: '../LoteFichaServlet',
type: 'POST',
dataType: 'json',
data: {
accion: 'registrarLote',
json: JSON.stringify(json)
},
beforeSend: function (xhr) {
}, success: function (data, textStatus, jqXHR) {
if (data.status) {
jAlert({
type: 'success',
content: `Se generó el lote <mark>${data.data.getResultedKey}</mark> correctamente</b>`,
buttons: {left: 'Aceptar'}
})
$('#cboCriterioFiltroFicha').val(0).change();
$('#cboCriterioFiltroFicha').selectpicker('refresh');
listarFichas();
} else {
jAlert({type: 'error', content: data.message, buttons: {left: 'Aceptar'}})
}
}
});
} else {
jAlert({type: 'warning', content: 'Debe seleccionar al menos una ficha.', buttons: {left: 'Aceptar'}})
}
}
})
} else {
jAlert({type: 'error', content: 'Acción maliciosa, refresque la página!', buttons: {left: 'Aceptar'}})
.then(flag => {
if (flag) {
window.location.reload()
}
})
}
});
}
\ No newline at end of file
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