Commit 92aa3eed by Luis Gangas

[ADD] lista contrato

parent fa40177f
...@@ -62,7 +62,10 @@ public class ContratoMysqlDAO implements ContratoDAO { ...@@ -62,7 +62,10 @@ public class ContratoMysqlDAO implements ContratoDAO {
+ "DATE_FORMAT(co.fecha_inicio_contrato,'%d/%m/%Y') fechaInicio, " + "DATE_FORMAT(co.fecha_inicio_contrato,'%d/%m/%Y') fechaInicio, "
+ "ec.descripcion estadoContrato, " + "ec.descripcion estadoContrato, "
+ "rs.nombre razonSocial," + "rs.nombre razonSocial,"
+ "tc.descripcion tipoContrato " + "tc.descripcion tipoContrato, "
+ "ec.codigo_tipo_estado_contrato, "
+ "tc.tipo_contrato_codigo, "
+ "rs.codigo_razon_social "
+ "from contrato co " + "from contrato co "
+ "inner join personal pe on pe.codper = co.codigo_personal " + "inner join personal pe on pe.codper = co.codigo_personal "
+ "inner join tipo_estado_contrato ec on ec.codigo_tipo_estado_contrato = co.codigo_tipo_estado_contrato " + "inner join tipo_estado_contrato ec on ec.codigo_tipo_estado_contrato = co.codigo_tipo_estado_contrato "
...@@ -111,14 +114,17 @@ public class ContratoMysqlDAO implements ContratoDAO { ...@@ -111,14 +114,17 @@ public class ContratoMysqlDAO implements ContratoDAO {
.put("fechaInicio", rs.getString("fechaInicio")) .put("fechaInicio", rs.getString("fechaInicio"))
.put("estadoContrato", rs.getString("estadoContrato")) .put("estadoContrato", rs.getString("estadoContrato"))
.put("razonSocial", rs.getString("razonSocial")) .put("razonSocial", rs.getString("razonSocial"))
.put("tipoContrato", rs.getString("tipoContrato")) .put("codigoEstadoContrato", rs.getString("codigo_tipo_estado_contrato"))
.put("codigoPersonal", rs.getString("codper")); .put("codigoTipoContrato", rs.getString("tipo_contrato_codigo"))
.put("codigoRazonSocial", rs.getString("codigo_razon_social"))
.put("tipoContrato", rs.getString("tipoContrato"));
data.put(jObj); data.put(jObj);
} }
jResponse.put("status", true);
jResponse.put("data", data); jResponse.put("data", data);
jResponse.put("length", json.getString("length"));
jResponse.put("draw", json.getString("draw"));
} catch (Exception e) { } catch (Exception e) {
jResponse.put("status", false); jResponse.put("status", false);
......
...@@ -44,7 +44,8 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD ...@@ -44,7 +44,8 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD
+ "ifnull(sueldo_docente.costo_b,'') costoBDocente, " + "ifnull(sueldo_docente.costo_b,'') costoBDocente, "
+ "ifnull(sueldo_docente.costo_c,'') costoCDocente, " + "ifnull(sueldo_docente.costo_c,'') costoCDocente, "
+ "ifnull(sueldo_docente.costo_mensual,'') costoMensualDocente," + "ifnull(sueldo_docente.costo_mensual,'') costoMensualDocente,"
+ "ficha_laboral.tipo_ficha " + "ficha_laboral.tipo_ficha, "
+ "sueldo_docente.observacion "
+ "FROM ficha_laboral " + "FROM ficha_laboral "
+ "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha " + "inner join ficha ON ficha.codigo_ficha = ficha_laboral.codigo_ficha "
+ "inner join estado_ficha on estado_ficha.codigo_ficha = ficha.codigo_ficha " + "inner join estado_ficha on estado_ficha.codigo_ficha = ficha.codigo_ficha "
...@@ -72,6 +73,7 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD ...@@ -72,6 +73,7 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD
detalleLoteFichaDocente.setCostob(CurrencyFormat.getCustomCurrency(rs.getDouble("costoBDocente"))); detalleLoteFichaDocente.setCostob(CurrencyFormat.getCustomCurrency(rs.getDouble("costoBDocente")));
detalleLoteFichaDocente.setCostoc(CurrencyFormat.getCustomCurrency(rs.getDouble("costoCDocente"))); detalleLoteFichaDocente.setCostoc(CurrencyFormat.getCustomCurrency(rs.getDouble("costoCDocente")));
detalleLoteFichaDocente.setCostoMensual(CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensualDocente"))); detalleLoteFichaDocente.setCostoMensual(CurrencyFormat.getCustomCurrency(rs.getDouble("costoMensualDocente")));
detalleLoteFichaDocente.setObservacion(rs.getString("observacion"));
JSONObject jsonObjDetalleLoteFichaDocente = new JSONObject(detalleLoteFichaDocente); JSONObject jsonObjDetalleLoteFichaDocente = new JSONObject(detalleLoteFichaDocente);
jsonObjDetalleLoteFichaDocente.put("codigoPersona", rs.getInt("codigoPersona")); jsonObjDetalleLoteFichaDocente.put("codigoPersona", rs.getInt("codigoPersona"));
jsonObjDetalleLoteFichaDocente.put("tipoFicha", rs.getString("tipo_ficha")); jsonObjDetalleLoteFichaDocente.put("tipoFicha", rs.getString("tipo_ficha"));
...@@ -216,11 +218,89 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD ...@@ -216,11 +218,89 @@ public class DetalleLoteFichaDocenteMysqlDAO implements DetalleLoteFichaDocenteD
int totalFilasInsertarEstadoFicha = resultadoInsertarEstadoFicha.length; int totalFilasInsertarEstadoFicha = resultadoInsertarEstadoFicha.length;
if (totalFilasInsertarEstadoFicha != 0) { if (totalFilasInsertarEstadoFicha != 0) {
sql = "insert into contrato values (?,?)"; sql = ""
+ "INSERT INTO contrato ( "
+ " codigo_personal, "
+ " nombres, "
+ " apellidos, "
+ " tipo_documento_identidad, "
+ " documento_identidad, "
+ " domicilio, "
+ " distrito, "
+ " monto_asignacion_familiar, "
+ " fecha_inicio_contrato, "
+ " fecha_fin_contrato, "
+ " horario_trabajo, "
+ " codigo_area_cargo, "
+ " area_laboral, "
+ " cargo_laboral, "
+ " codigo_sede,"
+ " codigo_tipo_estado_contrato "
+ ") "
+ "SELECT "
+ " p.codper, "
+ " p.nombre, "
+ " p.apellido, "
+ " td.descripcion_corta, "
+ " p.dni, "
+ " p.direccion, "
+ " ub.nombre_distrito, "
+ "IF ( "
+ " ( "
+ " SELECT "
+ " count(1) "
+ " FROM "
+ " carga_familiar cf "
+ " WHERE "
+ " cf.codigo_persona = p.codper "
+ " AND cf.codigo_parentesco = 3 "
+ " ), "
+ " 93, "
+ " NULL "
+ ") asignacionFamiliar, "
+ " fl.fecha_ingreso, "
+ " fl.fecha_fin, "
+ " ?, "
+ " ac.codigo_area_cargo, "
+ " ar.desarea, "
+ " c.descargo, "
+ " se.codlocal, "
+ " 1 "
+ "FROM "
+ " ficha f "
+ "INNER JOIN ficha_laboral fl ON fl.codigo_ficha = f.codigo_ficha "
+ "INNER JOIN personal p ON p.codper = f.codigo_persona "
+ "INNER JOIN area_cargo ac ON ac.codigo_area_cargo = fl.codigo_area_cargo "
+ "INNER JOIN area ar ON ar.codigo_area = ac.codigo_area "
+ "INNER JOIN cargo c ON c.codigo_cargo = ac.codigo_cargo "
+ "INNER JOIN tipo_documento td ON td.codigo_tipo_documento = p.codigo_tipo_documento "
+ "INNER JOIN ubigeo ub ON ub.codigo_ubigeo = p.codigo_ubigeo_residencia "
+ "INNER JOIN sede_area sa ON fl.codigo_sede_area = sa.codigo_sede_area "
+ "INNER JOIN locales se ON se.codigo_sede = sa.codigo_sede "
+ "WHERE "
+ " f.codigo_ficha = ? ";
PreparedStatement ps = cnx.prepareStatement(sql);
for (int i = 0; i < longitudJsonArrayFichas; i++) {
int c = 1;
ps.setString(c++, jsonArrayFichas.getJSONObject(i).getString("horario"));
ps.setInt(c++, jsonArrayFichas.getJSONObject(i).getInt("codigoFicha"));
ps.addBatch();
}
int resultadoInsertarContrato[] = ps.executeBatch();
int totalFilasInsetarContrato = resultadoInsertarContrato.length;
response.setStatus(true); if (totalFilasInsetarContrato != 0) {
response.setMessage("Se actualizó correctamente el lote!"); response.setStatus(true);
cnx.commit(); response.setMessage("Se actualizó correctamente el lote!");
cnx.commit();
} else {
response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar los contratos");
cnx.rollback();
}
} else { } else {
response.setStatus(false); response.setStatus(false);
response.setMessage("Lo sentimos, no se pudo insertar el estado de la ficha"); response.setMessage("Lo sentimos, no se pudo insertar el estado de la ficha");
......
/*
* 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 trismegistoplanilla.services;
import org.json.JSONObject;
import trismegistoplanilla.dao.ContratoDAO;
import trismegistoplanilla.dao.DAOFactory;
/**
*
* @author sistem20user
*/
public class ContratoService {
DAOFactory dao = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
ContratoDAO service = dao.getContratoDAO();
public JSONObject listarContrato(JSONObject json) {
return service.listarContrato(json);
}
}
...@@ -5,32 +5,44 @@ ...@@ -5,32 +5,44 @@
*/ */
package trismegistoplanilla.servlets; package trismegistoplanilla.servlets;
import com.itextpdf.text.DocumentException;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.json.JSONObject; import org.json.JSONObject;
import trismegistoplanilla.servicesMysql.ContratoService;
import trismegistoplanilla.utilities.PdfCreator;
/** /**
* *
* @author sistem20user * @author sistem20user
*/ */
public class ContratoServlet extends HttpServlet { public class ContratoServlet extends HttpServlet {
@Override @Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.service(request, response); //To change body of generated methods, choose Tools | Templates.
String accion = request.getParameter("accion"); String accion = request.getParameter("accion");
switch (accion) { switch (accion) {
case "listarContrato": case "listarContrato":
listarContrato(request, response); listarContrato(request, response);
break; break;
case "contratoPdf": {
try {
contratoPdf(request, response);
} catch (DocumentException ex) {
Logger.getLogger(ContratoServlet.class.getName()).log(Level.SEVERE, null, ex);
}
break;
}
default: default:
} }
} }
private void listarContrato(HttpServletRequest request, HttpServletResponse response) throws IOException { private void listarContrato(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter pw = response.getWriter(); PrintWriter pw = response.getWriter();
...@@ -42,9 +54,22 @@ public class ContratoServlet extends HttpServlet { ...@@ -42,9 +54,22 @@ public class ContratoServlet extends HttpServlet {
.put(start, start) .put(start, start)
.put(length, length) .put(length, length)
.put(draw, draw); .put(draw, draw);
ContratoService service = new ContratoService();
JSONObject jResponse = service.listarContrato(jRequest);
pw.print(jResponse);
}
private void contratoPdf(HttpServletRequest request, HttpServletResponse response) throws IOException, DocumentException {
String fileName = "loteAdministrativo.pdf";
response.setContentType("application/pdf");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Content-Disposition", "inline; filename=" + fileName);
response.setHeader("Accept-Ranges", "bytes");
JSONObject json = new JSONObject(request.getParameter("json"));
new PdfCreator().escogerMetodo(json, response);
} }
} }
...@@ -41,18 +41,30 @@ import trismegistoplanilla.servicesMysql.ContratoService; ...@@ -41,18 +41,30 @@ import trismegistoplanilla.servicesMysql.ContratoService;
*/ */
public class PdfCreator { public class PdfCreator {
// public boolean crearPdfContratoNecesidadMercado(JSONObject json, HttpServletResponse response) throws IOException, DocumentException { public void escogerMetodo(JSONObject json, HttpServletResponse response) throws IOException, DocumentException {
public static boolean crearPdfContratoNecesidadMercado(JSONObject json) throws IOException, DocumentException { switch (json.getString("codigoTipoContrato")) {
case "1":
crearPdfContratoNecesidadMercado(json, response);
break;
case "2":
crearPdfContratoTiempoParcial(json, response);
break;
default:
}
}
public boolean crearPdfContratoNecesidadMercado(JSONObject json, HttpServletResponse response) throws IOException, DocumentException {
// public static boolean crearPdfContratoNecesidadMercado(JSONObject json) throws IOException, DocumentException {
boolean respuesta = false; boolean respuesta = false;
Document documento = new Document(PageSize.A4.rotate(), 5, 5, 5, 5); Document documento = new Document(PageSize.A4.rotate(), 5, 5, 5, 5);
// PdfWriter writer = PdfWriter.getInstance(documento, response.getOutputStream()); // PdfWriter writer = PdfWriter.getInstance(documento, response.getOutputStream());
PdfWriter.getInstance(documento, new FileOutputStream("D:\\contratoPDF.pdf")); PdfWriter.getInstance(documento, response.getOutputStream());
// MyFooter event = new MyFooter(); // MyFooter event = new MyFooter();
// writer.setPageEvent(event); // writer.setPageEvent(event);
documento.open(); documento.open();
int codigoRazonSocial = json.getInt("razonSocial"); int codigoRazonSocial = Integer.parseInt(json.getString("codigoRazonSocial"));
ContratoService service = new ContratoService(); ContratoService service = new ContratoService();
JSONObject jResponse = service.obtenerDataRazonSocialContrato(codigoRazonSocial); JSONObject jResponse = service.obtenerDataRazonSocialContrato(codigoRazonSocial);
...@@ -81,6 +93,8 @@ public class PdfCreator { ...@@ -81,6 +93,8 @@ public class PdfCreator {
.replace("@dniResponsable", dni) .replace("@dniResponsable", dni)
.replace("@numeroPartida", numeroPartidaInscrita) .replace("@numeroPartida", numeroPartidaInscrita)
.replace("@distritoFirma", distrito) .replace("@distritoFirma", distrito)
// .replace("@ruc", ruc)
// .replace("@ruc", ruc)
.replace("@ruc", ruc); .replace("@ruc", ruc);
Phrase phrase = new Phrase(); Phrase phrase = new Phrase();
...@@ -103,17 +117,19 @@ public class PdfCreator { ...@@ -103,17 +117,19 @@ public class PdfCreator {
return respuesta; return respuesta;
} }
public static boolean crearPdfContratoTiempoParcial(JSONObject json) throws IOException, DocumentException { // public static boolean crearPdfContratoTiempoParcial(JSONObject json) throws IOException, DocumentException {
public static boolean crearPdfContratoTiempoParcial(JSONObject json, HttpServletResponse response) throws IOException, DocumentException {
boolean respuesta = false; boolean respuesta = false;
Document documento = new Document(PageSize.A4.rotate(), 100, 100, 30, 30); Document documento = new Document(PageSize.A4.rotate(), 100, 100, 30, 30);
// PdfWriter writer = PdfWriter.getInstance(documento, response.getOutputStream()); // PdfWriter writer = PdfWriter.getInstance(documento, response.getOutputStream());
PdfWriter.getInstance(documento, new FileOutputStream("D:\\contratoPDF.pdf")); // PdfWriter.getInstance(documento, new FileOutputStream("D:\\contratoPDF.pdf"));
PdfWriter.getInstance(documento, response.getOutputStream());
// MyFooter event = new MyFooter(); // MyFooter event = new MyFooter();
// writer.setPageEvent(event); // writer.setPageEvent(event);
documento.open(); documento.open();
int codigoRazonSocial = json.getInt("razonSocial"); int codigoRazonSocial = Integer.parseInt(json.getString("codigoRazonSocial"));
ContratoService service = new ContratoService(); ContratoService service = new ContratoService();
JSONObject jResponse = service.obtenerDataRazonSocialContrato(codigoRazonSocial); JSONObject jResponse = service.obtenerDataRazonSocialContrato(codigoRazonSocial);
...@@ -146,8 +162,7 @@ public class PdfCreator { ...@@ -146,8 +162,7 @@ public class PdfCreator {
Paragraph paragraph = new Paragraph(); Paragraph paragraph = new Paragraph();
Font underlineFont = new Font(Font.FontFamily.HELVETICA, 15, Font.UNDERLINE); Font underlineFont = new Font(Font.FontFamily.HELVETICA, 15, Font.UNDERLINE);
Font paragraphFont = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.NORMAL); Font paragraphFont = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.NORMAL);
Chunk underlineChunk = new Chunk("CONTRATO DE TRABAJO EN REGIMEN DE TIEMPO PARCIAL", underlineFont); Chunk underlineChunk = new Chunk("CONTRATO DE TRABAJO EN REGIMEN DE TIEMPO PARCIAL", underlineFont);
phrase.add(underlineChunk); phrase.add(underlineChunk);
...@@ -221,8 +236,8 @@ public class PdfCreator { ...@@ -221,8 +236,8 @@ public class PdfCreator {
} }
public static void main(String[] args) throws IOException, DocumentException, URISyntaxException, URISyntaxException, Exception { public static void main(String[] args) throws IOException, DocumentException, URISyntaxException, URISyntaxException, Exception {
JSONObject obj = new JSONObject().put("razonSocial", 2); // JSONObject obj = new JSONObject().put("razonSocial", 2);
crearPdfContratoTiempoParcial(obj); // crearPdfContratoTiempoParcial(obj);
} }
} }
...@@ -21,13 +21,10 @@ Las partes estipulan que la jornada laboral de EL TRABAJADOR será rotativa y no ...@@ -21,13 +21,10 @@ Las partes estipulan que la jornada laboral de EL TRABAJADOR será rotativa y no
#¿NOMBRE #¿NOMBRE
a) Haber básico S. 850,00@br a) Haber básico S/. @basicoMensual@br
b) Asignación familiar S. 75,00@br b) Asignación familiar S. @asignacionFamiliar@br
c) Asignación por transporte S. 2,50 beneficio diario que se otorga al amparo del articulo 19, inciso e) del Decreto Supremo N° 001-97-TR, Texto Unico Ordenado de la Ley de Compensanción por Tiempo de Servicio supeditado a la asistencia al centro de trabajo y que razonablemente cubre el traslado. Las partes declaran conocer que el monto se ajusta a un monto razonable, es decir, estrictamente para el traslado del trabajador desde su vivienda al centro de trabajo y viceversa de acuerdo al uso de transporte(privado), y, que su percepcion debe estar condicionada a la asistencia a laborar.@br b) Asignación por transporte S. @asignacionTransporte por día efectivamente laborado y supeditado a la asistencia al centro de trabajo, conforme se indica en el inciso e) artículo 19º del Decreto Supremo Nº 001-97-TR, Texto Único Ordenado de la Ley de compensación por tiempo de servicios.@br
d) Asignación por Refrigerio S. 0,00 condicionado a los días de labores realizado, conforme a los artículos 19 inciso j) del Decreto Supremo N° 001-97-TR y 5 del Decreto Supremo No. 004-97-TR, 6 y 7 del Decreto Supremo N° 003-97-TR y 10 del Decreto Supremo N°001-96-TR. @br c) Asignación por refrigerio S/. @asignacionRefrigerio por día efectivamente laborado. @br
Los beneficios pactados en los literales c y d no son remuneración para efecto legal alguno, siendo base de cálculo solo para el impuesto a la renta, no para derecho laboral o tributo social alguno. @br
b) Asignación por transporte S. 2,50 por día efectivamente laborado y supeditado a la asistencia al centro de trabajo, conforme se indica en el inciso e) artículo 19º del Decreto Supremo Nº 001-97-TR, Texto Único Ordenado de la Ley de compensación por tiempo de servicios.@br
c) Asignación por refrigerio0,00 por día efectivamente laborado. @br
SETIMO EL TRABAJADOR conviene en consagrar íntegramente su capacidad a la atención de las labores que emanen de su cargo, comprometiéndose a desempeñar las mismas de acuerdo con los reglamentos, prácticas y políticas de EL EMPLEADOR, las cuales declara conocer y se obliga a cumplir fielmente.@br@br SETIMO EL TRABAJADOR conviene en consagrar íntegramente su capacidad a la atención de las labores que emanen de su cargo, comprometiéndose a desempeñar las mismas de acuerdo con los reglamentos, prácticas y políticas de EL EMPLEADOR, las cuales declara conocer y se obliga a cumplir fielmente.@br@br
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
$(document).ready(() => { $(document).ready(() => {
initSelect2(); initSelect2();
eventos.init() eventos.init()
defaultConfigDataTable()
contratos.init() contratos.init()
}); });
...@@ -26,12 +27,57 @@ const contratos = { ...@@ -26,12 +27,57 @@ const contratos = {
$('#tblContrato').DataTable().destroy() $('#tblContrato').DataTable().destroy()
$('#tblContrato').DataTable({ $('#tblContrato').DataTable({
ajax: { ajax: {
url: '../ServletContrato?accion=listarContrato', url: '../ContratoServlet?accion=listarContrato',
type: 'POST', type: 'POST',
dataType: 'JSON', dataType: 'JSON',
data: { data: {
json: JSON.stringify(json) json: JSON.stringify(json)
} }
},
processing: true,
serverSide: true,
responsive: true,
iDisplayLength: 20,
columns: [
{data: "nombrePersonal"},
{
data: null,
render: (data) => {
return `${data.tipoDocumentoIdentidad} - ${data.documentoIdentidad}`
}
},
{data: "areaLaboral"},
{data: "cargoLaboral"},
{data: "fechaInicio"},
{
data: "tipoContrato",
render: (data) => data || ''
},
{
data: "razonSocial",
render: (data) => data || ''
},
{
data: "estadoContrato",
className: 'text-center'
},
{
data: 'codigoEstadoContrato',
className: 'text-center',
render: (data) => {
let accion = `<ul class="icons-list">`
if (data != 1) {
accion += `
<li><a class="btnVerPdf"><i class="fa fa-file-pdf-o text-danger"></i></a></li>
`
}
accion += `</ul>`
return accion
}
}
],
initComplete: () => {
eventos.verPdf()
} }
}) })
} }
...@@ -54,6 +100,22 @@ const eventos = { ...@@ -54,6 +100,22 @@ const eventos = {
contratos.listarContrato(params) contratos.listarContrato(params)
}) })
},
verPdf() {
$('.btnVerPdf').off().on('click', (e) => {
let dataRow = $('#tblContrato').DataTable().row($(e.currentTarget).parents('tr')).data()
$('#data').val(JSON.stringify(dataRow));
$('#formPDF').submit();
// $.ajax({
// url: '../ContratoServlet?accion=contratoPdf',
// type: 'POST',
// dataType: 'pdf',
// data: {
// json: JSON.stringify(dataRow)
// }
// })
})
} }
} }
......
/* global google */ /* global google */
(function (window) { (function (window) {
if (window.name === '') { if (window.name === '') {
window.location = 'index.jsp' window.location = 'index.jsp'
} }
})(window) })(window)
$(function () { $(function () {
inicializarComponentes(); inicializarComponentes();
llenarDatosFicha(); llenarDatosFicha();
validarExistenciaTipoPago(); validarExistenciaTipoPago();
registrarDatosAdministrativos(); registrarDatosAdministrativos();
setearMapa(); setearMapa();
registrarTipoExpediente(); registrarTipoExpediente();
listarTipoExpediente(); listarTipoExpediente();
validarObservacion(); validarObservacion();
listarTipoPago() listarTipoPago()
}); });
let codigoFicha; let codigoFicha;
...@@ -30,273 +30,273 @@ let codigoAreaCargoTipoPago = 0; ...@@ -30,273 +30,273 @@ let codigoAreaCargoTipoPago = 0;
let sueldoEscalafon = 0; let sueldoEscalafon = 0;
function llenarDatosFicha() { function llenarDatosFicha() {
if (window.name === '') { if (window.name === '') {
window.location = "index.jsp"; window.location = "index.jsp";
} else { } else {
json = JSON.parse(window.name); json = JSON.parse(window.name);
configuracionDatosPersonales(json); configuracionDatosPersonales(json);
} }
} }
function configuracionDatosPersonales(json) { function configuracionDatosPersonales(json) {
$('#lblTipoDocumento').text(`${json.tipoDocumentoDescripcionLarga} (${json.tipoDocumentoDescripcionCorta})`); $('#lblTipoDocumento').text(`${json.tipoDocumentoDescripcionLarga} (${json.tipoDocumentoDescripcionCorta})`);
$('#lblNumeroDocumento').text(json.numeroDocumento); $('#lblNumeroDocumento').text(json.numeroDocumento);
$('#lblNumeroRUC').text(json.ruc); $('#lblNumeroRUC').text(json.ruc);
$('#lblApellidoPaterno').text(json.apellidoPaterno); $('#lblApellidoPaterno').text(json.apellidoPaterno);
$('#lblApellidoMaterno').text(json.apellidoMaterno); $('#lblApellidoMaterno').text(json.apellidoMaterno);
$('#lblNombre').text(json.nombre); $('#lblNombre').text(json.nombre);
$('#lblSexo').text(json.sexo); $('#lblSexo').text(json.sexo);
$('#lblEstadoCivil').text(json.estadoCivil); $('#lblEstadoCivil').text(json.estadoCivil);
$('#lblFechaNacimiento').text(json.fechaNacimiento); $('#lblFechaNacimiento').text(json.fechaNacimiento);
$('#lblNacionalidad').text(json.gentilicio); $('#lblNacionalidad').text(json.gentilicio);
$('#lblDepartamentoNacimiento').text(json.nombreDepartamentoNacimiento); $('#lblDepartamentoNacimiento').text(json.nombreDepartamentoNacimiento);
$('#lblProvinciaNacimiento').text(json.nombreProvinciaNacimiento); $('#lblProvinciaNacimiento').text(json.nombreProvinciaNacimiento);
$('#lblDistritoNacimiento').text(json.nombreDistritoNacimiento); $('#lblDistritoNacimiento').text(json.nombreDistritoNacimiento);
$('#lblDireccionDocumento').text(json.direccionDocumento); $('#lblDireccionDocumento').text(json.direccionDocumento);
$('#lblTelefonoFijo').text(json.telefonoFijo); $('#lblTelefonoFijo').text(json.telefonoFijo);
$('#lblTelefonoMovil').text(json.telefonoMovil); $('#lblTelefonoMovil').text(json.telefonoMovil);
$('#lblCorreoElectronico').text(json.correo); $('#lblCorreoElectronico').text(json.correo);
$('#lblDepartamentoResidencia').text(json.nombreDepartamentoResidencia); $('#lblDepartamentoResidencia').text(json.nombreDepartamentoResidencia);
$('#lblProvinciaResidencia').text(json.nombreProvinciaResidencia); $('#lblProvinciaResidencia').text(json.nombreProvinciaResidencia);
$('#lblDistritoResidencia').text(json.nombreDistritoResidencia); $('#lblDistritoResidencia').text(json.nombreDistritoResidencia);
$('#lblDireccionResidencia').text(json.direccionResidencia); $('#lblDireccionResidencia').text(json.direccionResidencia);
$('#lblFondoPension').text(json.fondoPensionDescripcionCorta); $('#lblFondoPension').text(json.fondoPensionDescripcionCorta);
$('#latitudResidencia').val(json.latitud); $('#latitudResidencia').val(json.latitud);
$('#longitudResidencia').val(json.longitud); $('#longitudResidencia').val(json.longitud);
configuracionTblFamiliar(json.cargafamiliar); configuracionTblFamiliar(json.cargafamiliar);
configuracionTblFormacionAcademica(json.formacionacademica); configuracionTblFormacionAcademica(json.formacionacademica);
configuracionTblExperienciaLaboral(json.experiencialaboral); configuracionTblExperienciaLaboral(json.experiencialaboral);
configuracionDatosAdministrativos(json.datosAdministrativos) configuracionDatosAdministrativos(json.datosAdministrativos)
codigoFicha = json.codigoFicha; codigoFicha = json.codigoFicha;
document.querySelector('#lblFoto').setAttribute('src', `http:\\\\${window.location.hostname}/img/${json.foto}`) document.querySelector('#lblFoto').setAttribute('src', `http:\\\\${window.location.hostname}/img/${json.foto}`)
} }
function configuracionTblFamiliar(cargafamiliar) { function configuracionTblFamiliar(cargafamiliar) {
let tblFamiliar = new SimpleTable({ let tblFamiliar = new SimpleTable({
element: 'tblFamiliar', //id from the table element: 'tblFamiliar', //id from the table
data: cargafamiliar, data: cargafamiliar,
no_data_text: 'No tiene registros', no_data_text: 'No tiene registros',
columns: [ columns: [
{ {
data: function (data) { data: function (data) {
return `${data.apellidoPaterno} ${data.apellidoMaterno}, ${data.nombre}`; return `${data.apellidoPaterno} ${data.apellidoMaterno}, ${data.nombre}`;
} }
}, },
{data: 'nombreParentesco'}, {data: 'nombreParentesco'},
{data: 'fechaNacimiento'}, {data: 'fechaNacimiento'},
{data: 'nombreTipoDocumentoDescripcionLarga'}, {data: 'nombreTipoDocumentoDescripcionLarga'},
{data: 'numeroDocumento'}, {data: 'numeroDocumento'},
{data: 'telefono'} {data: 'telefono'}
] ]
}); });
tblFamiliar.createBody(); tblFamiliar.createBody();
} }
function configuracionTblFormacionAcademica(formacionacademica) { function configuracionTblFormacionAcademica(formacionacademica) {
let tblFormacionAcademica = new SimpleTable({ let tblFormacionAcademica = new SimpleTable({
element: 'tblFormacionAcademica', //id from the table element: 'tblFormacionAcademica', //id from the table
data: formacionacademica, data: formacionacademica,
no_data_text: 'No tiene registros', no_data_text: 'No tiene registros',
columns: [ columns: [
{data: 'nivelEstudio'}, {data: 'nivelEstudio'},
{data: 'estadoEstudio'}, {data: 'estadoEstudio'},
{data: 'nombreCentroEstudios'}, {data: 'nombreCentroEstudios'},
{data: 'nombreCarreraProfesional'}, {data: 'nombreCarreraProfesional'},
{data: 'fechaInicio'}, {data: 'fechaInicio'},
{data: data => data.fechaFin === '' ? '-' : data.fechaFin} {data: data => data.fechaFin === '' ? '-' : data.fechaFin}
] ]
}); });
tblFormacionAcademica.createBody(); tblFormacionAcademica.createBody();
} }
function configuracionTblExperienciaLaboral(experiencialaboral) { function configuracionTblExperienciaLaboral(experiencialaboral) {
let tblExperienciaLaboral = new SimpleTable({ let tblExperienciaLaboral = new SimpleTable({
element: 'tblExperienciaLaboral', //id from the table element: 'tblExperienciaLaboral', //id from the table
data: experiencialaboral, data: experiencialaboral,
no_data_text: 'No tiene registros', no_data_text: 'No tiene registros',
columns: [ columns: [
{data: 'nombreEmpresa'}, {data: 'nombreEmpresa'},
{data: 'nombreCargo'}, {data: 'nombreCargo'},
{data: 'fechaInicio'}, {data: 'fechaInicio'},
{data: 'fechaFin'}, {data: 'fechaFin'},
{data: 'telefono'} {data: 'telefono'}
] ]
}); });
tblExperienciaLaboral.createBody(); tblExperienciaLaboral.createBody();
} }
function configuracionDatosAdministrativos(obj) { function configuracionDatosAdministrativos(obj) {
codigoSedeArea = obj.codigoSedeArea codigoSedeArea = obj.codigoSedeArea
codigoAreaCargo = obj.codigoAreaCargo codigoAreaCargo = obj.codigoAreaCargo
$('#lblSede').text(obj.sede) $('#lblSede').text(obj.sede)
$('#lblArea').text(obj.area) $('#lblArea').text(obj.area)
$('#lblCargo').text(obj.cargo) $('#lblCargo').text(obj.cargo)
} }
function inicializarComponentes() { function inicializarComponentes() {
$('.bootstrap-select').selectpicker(); $('.bootstrap-select').selectpicker();
$('#dpFechaIngreso, #dpFechaTermino').attr('readonly', true); $('#dpFechaIngreso, #dpFechaTermino').attr('readonly', true);
$('#dpFechaIngreso, #dpFechaTermino').datepicker({ $('#dpFechaIngreso, #dpFechaTermino').datepicker({
onSelect: function (date) { onSelect: function (date) {
// console.log(date); // console.log(date);
}, },
dateFormat: 'dd/mm/yy', dateFormat: 'dd/mm/yy',
showButtonPanel: false showButtonPanel: false
}); });
$.datepicker.regional['es'] = { $.datepicker.regional['es'] = {
closeText: 'Cerrar', closeText: 'Cerrar',
prevText: '<Ant', prevText: '<Ant',
nextText: 'Sig>', nextText: 'Sig>',
currentText: 'Hoy', currentText: 'Hoy',
monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'], monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'], dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'],
dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá'], dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá'],
weekHeader: 'Sm', weekHeader: 'Sm',
dateFormat: 'dd/mm/yy', dateFormat: 'dd/mm/yy',
firstDay: 1, firstDay: 1,
isRTL: false, isRTL: false,
showMonthAfterYear: false, showMonthAfterYear: false,
yearSuffix: '' yearSuffix: ''
}; };
$.datepicker.setDefaults($.datepicker.regional['es']); $.datepicker.setDefaults($.datepicker.regional['es']);
$('.js-example-basic-multiple').select2({ $('.js-example-basic-multiple').select2({
multiple: true, multiple: true,
placeholder: 'Ingrese los expedientes que corresponden al personal' placeholder: 'Ingrese los expedientes que corresponden al personal'
}); });
} }
// listar tipo de pago // listar tipo de pago
// dependiento del cargo seleccionado // dependiento del cargo seleccionado
function listarTipoPago() { function listarTipoPago() {
if (codigoAreaCargo === 5) { if (codigoAreaCargo === 5) {
tipoFicha = 'D'; tipoFicha = 'D';
} else { } else {
tipoFicha = 'A'; tipoFicha = 'A';
} }
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../TipoPagoServlet', url: '../TipoPagoServlet',
data: {accion: 'listarTipoPago', codigoAreaCargo: codigoAreaCargo}, data: {accion: 'listarTipoPago', codigoAreaCargo: codigoAreaCargo},
beforeSend: function () { beforeSend: function () {
load('Listando tipo de pagos'); load('Listando tipo de pagos');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
let tipoPago = data.data.tipoPagos; let tipoPago = data.data.tipoPagos;
let cboTipoPago = '<option value="0">[SELECCIONAR]</option>'; let cboTipoPago = '<option value="0">[SELECCIONAR]</option>';
for (let i in tipoPago) { for (let i in tipoPago) {
cboTipoPago += '<option value="' + tipoPago[i].codigoTipoPago + '">' + tipoPago[i].nombre + '</option>'; cboTipoPago += '<option value="' + tipoPago[i].codigoTipoPago + '">' + tipoPago[i].nombre + '</option>';
} }
$('#cboTipoPago').html(cboTipoPago); $('#cboTipoPago').html(cboTipoPago);
$('#cboTipoPago').selectpicker('refresh'); $('#cboTipoPago').selectpicker('refresh');
} }
} }
}); });
} }
// validar existencia de cargo seleccionado // validar existencia de cargo seleccionado
function validarExistenciaTipoPago() { function validarExistenciaTipoPago() {
$('#cboTipoPago').on('change', function () { $('#cboTipoPago').on('change', function () {
datosAdministrativosDocente(0); datosAdministrativosDocente(0);
let codigoTipoPago = parseInt($('#cboTipoPago').val()); let codigoTipoPago = parseInt($('#cboTipoPago').val());
if (isNaN(codigoTipoPago)) { if (isNaN(codigoTipoPago)) {
$(location).attr('href', 'templates/close.jsp'); $(location).attr('href', 'templates/close.jsp');
} }
$('#sueldoEscalafon').text('S/. 0.00'); $('#sueldoEscalafon').text('S/. 0.00');
$('#txtSueldoMensual').val('0.00'); $('#txtSueldoMensual').val('0.00');
if (codigoTipoPago === 0) { if (codigoTipoPago === 0) {
$('#sueldoEscalafon').text('S/. 0.00'); $('#sueldoEscalafon').text('S/. 0.00');
$('#txtSueldoMensual').val('0.00'); $('#txtSueldoMensual').val('0.00');
} else { } else {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../TipoPagoServlet', url: '../TipoPagoServlet',
data: {accion: 'validarExistenciaTipoPago', codigoAreaCargo: codigoAreaCargo, codigoTipoPago: codigoTipoPago}, data: {accion: 'validarExistenciaTipoPago', codigoAreaCargo: codigoAreaCargo, codigoTipoPago: codigoTipoPago},
beforeSend: function () { beforeSend: function () {
// load('Validando existencia de tipo pago'); // load('Validando existencia de tipo pago');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
// si el resultado de existencia es 'false', redireccion al login // si el resultado de existencia es 'false', redireccion al login
if (!data.status) { if (!data.status) {
$(location).attr('href', 'templates/close.jsp'); $(location).attr('href', 'templates/close.jsp');
} else { } else {
obtenerAreaCargoTipoPago(codigoAreaCargo, codigoTipoPago); obtenerAreaCargoTipoPago(codigoAreaCargo, codigoTipoPago);
} }
} }
} }
}); });
} }
}); });
} }
// obtener area cargo tipo pago // obtener area cargo tipo pago
function obtenerAreaCargoTipoPago(codigoAreaCargo, codigoTipoPago) { function obtenerAreaCargoTipoPago(codigoAreaCargo, codigoTipoPago) {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../AreaCargoTipoPagoServlet', url: '../AreaCargoTipoPagoServlet',
data: {accion: 'obtenerAreaCargoTipoPago', codigoAreaCargo: codigoAreaCargo, codigoTipoPago: codigoTipoPago}, data: {accion: 'obtenerAreaCargoTipoPago', codigoAreaCargo: codigoAreaCargo, codigoTipoPago: codigoTipoPago},
beforeSend: function (xhr) { beforeSend: function (xhr) {
load('Obteniendo resultados - areacargo/tipopago'); load('Obteniendo resultados - areacargo/tipopago');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
if (data.status) { if (data.status) {
codigoAreaCargoTipoPago = data.data.getResultedKey; codigoAreaCargoTipoPago = data.data.getResultedKey;
obtenerEscalafonAreaCargoTipoPago(codigoAreaCargoTipoPago); obtenerEscalafonAreaCargoTipoPago(codigoAreaCargoTipoPago);
datosAdministrativosDocente(codigoAreaCargoTipoPago); datosAdministrativosDocente(codigoAreaCargoTipoPago);
} }
} }
} }
}); });
} }
// obtener sueldo escalafon // obtener sueldo escalafon
function obtenerEscalafonAreaCargoTipoPago(codigoAreaCargoTipoPago) { function obtenerEscalafonAreaCargoTipoPago(codigoAreaCargoTipoPago) {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../EscalafonServlet', url: '../EscalafonServlet',
data: {accion: 'obtenerEscalafonAreaCargoTipoPago', codigoAreaCargoTipoPago: codigoAreaCargoTipoPago}, data: {accion: 'obtenerEscalafonAreaCargoTipoPago', codigoAreaCargoTipoPago: codigoAreaCargoTipoPago},
beforeSend: function () { beforeSend: function () {
load('Cargando escalafon'); load('Cargando escalafon');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
if (data.status) { if (data.status) {
$('#sueldoEscalafon').text('S/. ' + data.data.sueldo); $('#sueldoEscalafon').text('S/. ' + data.data.sueldo);
$('#txtSueldoMensual').val(data.data.sueldo); $('#txtSueldoMensual').val(data.data.sueldo);
validarObservacion(); validarObservacion();
sueldoEscalafon = data.data.sueldo; sueldoEscalafon = data.data.sueldo;
} else { } else {
$('#sueldoEscalafon').text('S/. -.-'); $('#sueldoEscalafon').text('S/. -.-');
} }
} }
} }
}); });
} }
// construir datos administrativos de docente // construir datos administrativos de docente
// segun area cargo tipo pago seleccionado // segun area cargo tipo pago seleccionado
function datosAdministrativosDocente(codigoAreaCargoTipoPago) { function datosAdministrativosDocente(codigoAreaCargoTipoPago) {
if (codigoAreaCargoTipoPago === 5) { if (codigoAreaCargoTipoPago === 5) {
$('#divContenidoDatoAdministrativo').html(` $('#divContenidoDatoAdministrativo').html(`
<div class="col-md-6"> <div class="col-md-6">
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
...@@ -328,8 +328,8 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) { ...@@ -328,8 +328,8 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) {
</div> </div>
</div> </div>
</div>`); </div>`);
} else if (codigoAreaCargoTipoPago === 6) { } else if (codigoAreaCargoTipoPago === 6) {
$('#divContenidoDatoAdministrativo').html(` $('#divContenidoDatoAdministrativo').html(`
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<label class="display-block text-uppercase text-semibold">Sueldo Mensual<span class="text-danger"> (*)</span></label> <label class="display-block text-uppercase text-semibold">Sueldo Mensual<span class="text-danger"> (*)</span></label>
...@@ -339,8 +339,8 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) { ...@@ -339,8 +339,8 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) {
</div> </div>
</div> </div>
</div>`); </div>`);
} else if (codigoAreaCargoTipoPago === 19) { } else if (codigoAreaCargoTipoPago === 19) {
$('#divContenidoDatoAdministrativo').html(` $('#divContenidoDatoAdministrativo').html(`
<div class="col-md-6"> <div class="col-md-6">
<div class="row"> <div class="row">
<div class="col-md-2"> <div class="col-md-2">
...@@ -381,8 +381,8 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) { ...@@ -381,8 +381,8 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) {
</div> </div>
</div> </div>
</div>`); </div>`);
} else { } else {
$('#divContenidoDatoAdministrativo').html(` $('#divContenidoDatoAdministrativo').html(`
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<label class="display-block text-uppercase text-semibold">Escalafón<span class="text-danger"></span></label> <label class="display-block text-uppercase text-semibold">Escalafón<span class="text-danger"></span></label>
...@@ -398,26 +398,26 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) { ...@@ -398,26 +398,26 @@ function datosAdministrativosDocente(codigoAreaCargoTipoPago) {
</div> </div>
</div> </div>
</div>`); </div>`);
} }
} }
// listar expedientes request // listar expedientes request
let listarExpedientesRequest = () => { let listarExpedientesRequest = () => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
$.ajax({ $.ajax({
url: '../ExpedienteServlet', url: '../ExpedienteServlet',
type: 'POST', type: 'POST',
dataType: 'json', dataType: 'json',
data: { data: {
accion: 'listarTipoExpedientes' accion: 'listarTipoExpedientes'
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
resolve(data); resolve(data);
}, error: function (jqXHR, textStatus, errorThrown) { }, error: function (jqXHR, textStatus, errorThrown) {
reject('Error al listar expedientes'); reject('Error al listar expedientes');
} }
}); });
}); });
}; };
// listar expedientes response // listar expedientes response
let listarExpedientesResponse = () => { let listarExpedientesResponse = () => {
...@@ -425,11 +425,11 @@ let listarExpedientesResponse = () => { ...@@ -425,11 +425,11 @@ let listarExpedientesResponse = () => {
}; };
// listar options // listar options
let createSelectOptions = (obj, valueName, textName) => { let createSelectOptions = (obj, valueName, textName) => {
let options = ''; let options = '';
obj.forEach((data) => { obj.forEach((data) => {
options += `<option value="${data[valueName]}">${data[textName]}</option>`; options += `<option value="${data[valueName]}">${data[textName]}</option>`;
}); });
return options; return options;
}; };
...@@ -437,86 +437,85 @@ let createSelectOptions = (obj, valueName, textName) => { ...@@ -437,86 +437,85 @@ let createSelectOptions = (obj, valueName, textName) => {
/* **** VALIDAR FORMULARIO *** */ /* **** VALIDAR FORMULARIO *** */
/* *************************** */ /* *************************** */
function validarFormularioDatosAdministrativos() { function validarFormularioDatosAdministrativos() {
let formDatosAdministrativos = $('#formDatosAdministrativos'); let formDatosAdministrativos = $('#formDatosAdministrativos');
formDatosAdministrativos.validate({ formDatosAdministrativos.validate({
rules: { rules: {
dpFechaIngreso: { dpFechaIngreso: {
required: true, required: true,
dateonly: true dateonly: true
}, },
dpFechaTermino: { dpFechaTermino: {
required: true, required: true,
dateonly: true dateonly: true
}, },
cboTipoPago: { cboTipoPago: {
required: true, required: true,
valueNotEquals: "0" valueNotEquals: "0"
}, },
txtSueldoMensual: { txtSueldoMensual: {
required: true, required: true,
number: true number: true
}, },
txtCostoA: { txtCostoA: {
required: true, required: true,
number: true number: true
}, },
txtCostoB: { txtCostoB: {
required: true, required: true,
number: true number: true
}, },
txtCostoC: { txtCostoC: {
required: true, required: true,
number: true number: true
}, },
txtEnlaceAlfresco: { txtEnlaceAlfresco: {
required: true, required: true,
url: true url: true
} },
txtObservacion: {
// txtObservacion: { required: true
// required: true }
// } },
}, messages: {
messages: { dpFechaIngreso: {
dpFechaIngreso: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', dateonly: 'Ingrese una fecha válida (dd/mm/yyyy)'
dateonly: 'Ingrese una fecha válida (dd/mm/yyyy)' },
}, dpFechaTermino: {
dpFechaTermino: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', dateonly: 'Ingrese una fecha válida (dd/mm/yyyy)'
dateonly: 'Ingrese una fecha válida (dd/mm/yyyy)' },
}, cboTipoPago: {
cboTipoPago: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', valueNotEquals: 'Debe seleccionar un tipo de pago'
valueNotEquals: 'Debe seleccionar un tipo de pago' },
}, txtSueldoMensual: {
txtSueldoMensual: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', number: 'Ingrese un monto válido'
number: 'Ingrese un monto válido' },
}, txtCostoA: {
txtCostoA: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', number: 'Ingrese un monto válido'
number: 'Ingrese un monto válido' },
}, txtCostoB: {
txtCostoB: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', number: 'Ingrese un monto válido'
number: 'Ingrese un monto válido' },
}, txtCostoC: {
txtCostoC: { required: 'El campo es obligatorio',
required: 'El campo es obligatorio', number: 'Ingrese un monto válido'
number: 'Ingrese un monto válido' },
}, txtEnlaceAlfresco: {
txtEnlaceAlfresco: { required: 'El campo es requerido',
required: 'El campo es requerido', url: 'Ingrese un enlace correcto'
url: 'Ingrese un enlace correcto' },
} txtObservacion: {
// txtObservacion: { required: 'El campo es obligatorio'
// required: 'El campo es obligatorio' }
// } }
} });
});
return formDatosAdministrativos.valid();
return formDatosAdministrativos.valid();
} }
/* *************************** */ /* *************************** */
...@@ -529,129 +528,129 @@ function validarFormularioDatosAdministrativos() { ...@@ -529,129 +528,129 @@ function validarFormularioDatosAdministrativos() {
* @argument {JSON Object} json * @argument {JSON Object} json
*/ */
function registrarDatosAdministrativosRequest(json) { function registrarDatosAdministrativosRequest(json) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
// ajax registar datos administrativos // ajax registar datos administrativos
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../FichaLaboralServlet', url: '../FichaLaboralServlet',
data: {accion: 'registrarFichaLaboral', json: JSON.stringify(json)}, data: {accion: 'registrarFichaLaboral', json: JSON.stringify(json)},
beforeSend: function () { beforeSend: function () {
load('Registrando datos administrativos, por favor espere'); load('Registrando datos administrativos, por favor espere');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
console.log(data); console.log(data);
if (data.status) { if (data.status) {
resolve(data.message); resolve(data.message);
} else { } else {
errorMessage(data.message); errorMessage(data.message);
} }
} }
}, },
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
rejecet('No se pudo procesar la solicitud registrarDatosAdministrativosRequest : ' + errorThrown); rejecet('No se pudo procesar la solicitud registrarDatosAdministrativosRequest : ' + errorThrown);
} }
}); });
}); });
} }
// Registrar datos administrativa // Registrar datos administrativa
function registrarDatosAdministrativos() { function registrarDatosAdministrativos() {
$('#btnRegistrarFicha').on('click', function () { $('#btnRegistrarFicha').on('click', function () {
let expediente = $('.js-example-basic-multiple').select2("val"); let expediente = $('.js-example-basic-multiple').select2("val");
if (expediente === null) { if (expediente === null) {
warningMessage('Error, debe seleccionar al menos un expediente adjunto del personal'); warningMessage('Error, debe seleccionar al menos un expediente adjunto del personal');
} else { } else {
let arrExpediente = []; let arrExpediente = [];
expediente.map((obj, i, array) => { expediente.map((obj, i, array) => {
arrExpediente.push({id: obj}); arrExpediente.push({id: obj});
}); });
let enlaceAlfresco = $('#txtEnlaceAlfresco').val(); let enlaceAlfresco = $('#txtEnlaceAlfresco').val();
if (isUrlValid(enlaceAlfresco)) { if (isUrlValid(enlaceAlfresco)) {
if (validarFormularioDatosAdministrativos()) { if (validarFormularioDatosAdministrativos()) {
let jsonRequest = { let jsonRequest = {
codigoFicha: codigoFicha, codigoFicha: codigoFicha,
enlaceAlfresco: enlaceAlfresco, enlaceAlfresco: enlaceAlfresco,
expediente: arrExpediente, expediente: arrExpediente,
fechaIngreso: $('#dpFechaIngreso').val(), fechaIngreso: $('#dpFechaIngreso').val(),
fechaTermino: $('#dpFechaTermino').val(), fechaTermino: $('#dpFechaTermino').val(),
codigoSedeArea: codigoSedeArea, codigoSedeArea: codigoSedeArea,
codigoAreaCargo: codigoAreaCargo, codigoAreaCargo: codigoAreaCargo,
tipoFicha: tipoFicha, tipoFicha: tipoFicha,
codigoAreaCargoTipoPago: codigoAreaCargoTipoPago, codigoAreaCargoTipoPago: codigoAreaCargoTipoPago,
observacion: $('#txtObservacion').val() === '' ? '-' : $('#txtObservacion').val() observacion: $('#txtObservacion').val() === '' ? '-' : $('#txtObservacion').val()
}; };
if (tipoFicha === 'A') { if (tipoFicha === 'A') {
jsonRequest.sueldoEscalafon = sueldoEscalafon; jsonRequest.sueldoEscalafon = sueldoEscalafon;
jsonRequest.sueldoMensual = $('#txtSueldoMensual').val() === '' ? '0.00' : $('#txtSueldoMensual').val(); jsonRequest.sueldoMensual = $('#txtSueldoMensual').val() === '' ? '0.00' : $('#txtSueldoMensual').val();
} else if (tipoFicha === 'D') { } else if (tipoFicha === 'D') {
if (codigoAreaCargo === 5) { if (codigoAreaCargo === 5) {
if (codigoAreaCargoTipoPago === 5) { if (codigoAreaCargoTipoPago === 5) {
jsonRequest.costoA = $('#txtCostoA').val() === '' ? '0.00' : $('#txtCostoA').val(); jsonRequest.costoA = $('#txtCostoA').val() === '' ? '0.00' : $('#txtCostoA').val();
jsonRequest.costoB = $('#txtCostoB').val() === '' ? '0.00' : $('#txtCostoB').val(); jsonRequest.costoB = $('#txtCostoB').val() === '' ? '0.00' : $('#txtCostoB').val();
jsonRequest.costoC = $('#txtCostoC').val() === '' ? '0.00' : $('#txtCostoC').val(); jsonRequest.costoC = $('#txtCostoC').val() === '' ? '0.00' : $('#txtCostoC').val();
} else if (codigoAreaCargoTipoPago === 6) { } else if (codigoAreaCargoTipoPago === 6) {
jsonRequest.sueldoMensual = $('#txtSueldoMensual').val() === '' ? '0.00' : $('#txtSueldoMensual').val(); jsonRequest.sueldoMensual = $('#txtSueldoMensual').val() === '' ? '0.00' : $('#txtSueldoMensual').val();
} else if (codigoAreaCargoTipoPago === 19) { } else if (codigoAreaCargoTipoPago === 19) {
jsonRequest.costoA = $('#txtCostoA').val() === '' ? '0.00' : $('#txtCostoA').val(); jsonRequest.costoA = $('#txtCostoA').val() === '' ? '0.00' : $('#txtCostoA').val();
jsonRequest.costoB = $('#txtCostoB').val() === '' ? '0.00' : $('#txtCostoB').val(); jsonRequest.costoB = $('#txtCostoB').val() === '' ? '0.00' : $('#txtCostoB').val();
jsonRequest.costoC = $('#txtCostoC').val() === '' ? '0.00' : $('#txtCostoC').val(); jsonRequest.costoC = $('#txtCostoC').val() === '' ? '0.00' : $('#txtCostoC').val();
jsonRequest.sueldoMensual = $('#txtSueldoMensual').val() === '' ? '0.00' : $('#txtSueldoMensual').val(); jsonRequest.sueldoMensual = $('#txtSueldoMensual').val() === '' ? '0.00' : $('#txtSueldoMensual').val();
} }
} }
} }
$.confirm({ $.confirm({
icon: 'glyphicon glyphicon-question-sign', icon: 'glyphicon glyphicon-question-sign',
theme: 'material', theme: 'material',
closeIcon: true, closeIcon: true,
animation: 'scale', animation: 'scale',
type: 'dark', type: 'dark',
title: 'Confirmar', title: 'Confirmar',
content: '<span class="text-semibold">¿Desea registrar los datos administrativos a la ficha del personal ' + json.apellidoPaterno + ' ' + json.apellidoMaterno + ', ' + json.nombre + '?</span>', content: '<span class="text-semibold">¿Desea registrar los datos administrativos a la ficha del personal ' + json.apellidoPaterno + ' ' + json.apellidoMaterno + ', ' + json.nombre + '?</span>',
buttons: { buttons: {
Registrar: { Registrar: {
btnClass: 'btn-success', btnClass: 'btn-success',
action: function () { action: function () {
registrarDatosAdministrativosRequest(jsonRequest).then((data) => { registrarDatosAdministrativosRequest(jsonRequest).then((data) => {
$.confirm({ $.confirm({
icon: 'fa fa-check fa-lg', icon: 'fa fa-check fa-lg',
title: 'Registro éxitoso!', title: 'Registro éxitoso!',
content: `<b>${data}</b>`, content: `<b>${data}</b>`,
type: 'green', type: 'green',
scrollToPreviousElement: false, scrollToPreviousElement: false,
scrollToPreviousElementAnimate: false, scrollToPreviousElementAnimate: false,
buttons: { buttons: {
Aceptar: { Aceptar: {
text: 'Aceptar', text: 'Aceptar',
btnClass: 'btn-green', btnClass: 'btn-green',
action: function () { action: function () {
$(location).attr('href', 'index.jsp'); $(location).attr('href', 'index.jsp');
} }
} }
} }
}); });
}); });
} }
}, },
Cancelar: { Cancelar: {
btnClass: 'btn-danger' btnClass: 'btn-danger'
} }
} }
}); });
} else { } else {
warningMessage('Error, al parecer hay datos ingresados incorrectamente, por favor revisar'); warningMessage('Error, al parecer hay datos ingresados incorrectamente, por favor revisar');
} }
} else { } else {
warningMessage('Error, debe ingresar un enlace correcto'); warningMessage('Error, debe ingresar un enlace correcto');
} }
} }
}); });
} }
/** /**
...@@ -659,7 +658,7 @@ function registrarDatosAdministrativos() { ...@@ -659,7 +658,7 @@ function registrarDatosAdministrativos() {
* @argument {String} url * @argument {String} url
*/ */
function isUrlValid(url) { function isUrlValid(url) {
return /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(url); return /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(url);
} }
/** /**
...@@ -669,54 +668,54 @@ function setearMapa() { ...@@ -669,54 +668,54 @@ function setearMapa() {
// console.log(json.latitud); // console.log(json.latitud);
// console.log(json.longitud); // console.log(json.longitud);
// //
myLatLng = { myLatLng = {
lat: parseFloat(json.latitud), lat: parseFloat(json.latitud),
lng: parseFloat(json.longitud) lng: parseFloat(json.longitud)
}; };
let map = new google.maps.Map($('#mapResidencia')[0], { let map = new google.maps.Map($('#mapResidencia')[0], {
center: myLatLng, center: myLatLng,
zoom: 18, zoom: 18,
disableDefaultUI: false, disableDefaultUI: false,
draggable: true draggable: true
}); });
getMarker(myLatLng, map); getMarker(myLatLng, map);
} }
function getMarker(myLatLng, map) { function getMarker(myLatLng, map) {
let marker = new google.maps.Marker({ let marker = new google.maps.Marker({
position: myLatLng, position: myLatLng,
map: map, map: map,
draggable: false, draggable: false,
animation: google.maps.Animation.DROP, animation: google.maps.Animation.DROP,
anchorPoint: new google.maps.Point(0, -29) anchorPoint: new google.maps.Point(0, -29)
}); });
let infowindow = new google.maps.InfoWindow(); let infowindow = new google.maps.InfoWindow();
getAddress(myLatLng, infowindow, map, marker); getAddress(myLatLng, infowindow, map, marker);
} }
function getAddress(latlng, infowindow, map, marker) { function getAddress(latlng, infowindow, map, marker) {
let geocoder = new google.maps.Geocoder; let geocoder = new google.maps.Geocoder;
geocoder.geocode({'location': latlng}, function (result, status) { geocoder.geocode({'location': latlng}, function (result, status) {
if (status === 'OK') { if (status === 'OK') {
infowindow.setContent( infowindow.setContent(
'<div>' + '<div>' +
'<b class="text-uppercase">' + result[0].address_components[1].long_name + '</b> <br/>' + '<b class="text-uppercase">' + result[0].address_components[1].long_name + '</b> <br/>' +
'<span class="text-muted">' + result[0].formatted_address + '</span> <br/>' + '<span class="text-muted">' + result[0].formatted_address + '</span> <br/>' +
'</div>' '</div>'
); );
infowindow.open(map, marker); infowindow.open(map, marker);
} else { } else {
load("Cargando mapa"); load("Cargando mapa");
setTimeout(() => unload(), 2000); setTimeout(() => unload(), 2000);
} }
}); });
} }
...@@ -724,25 +723,25 @@ function getAddress(latlng, infowindow, map, marker) { ...@@ -724,25 +723,25 @@ function getAddress(latlng, infowindow, map, marker) {
* LISTAR TIPOS DE EXPEDIENTES * LISTAR TIPOS DE EXPEDIENTES
*/ */
function listarTipoExpediente() { function listarTipoExpediente() {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../TipoExpedienteServlet', url: '../TipoExpedienteServlet',
data: {'accion': 'listarTipoExpediente'}, data: {'accion': 'listarTipoExpediente'},
beforeSend: function (xhr) { beforeSend: function (xhr) {
load('Listando tipos de expedientes..'); load('Listando tipos de expedientes..');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
let tipoExpediente = data.data.tipoexpedientes; let tipoExpediente = data.data.tipoexpedientes;
let cboTipoExpediente = ''; let cboTipoExpediente = '';
for (let i in tipoExpediente) { for (let i in tipoExpediente) {
cboTipoExpediente += '<option value="' + tipoExpediente[i].codigoTipoExpediente + '">' + tipoExpediente[i].nombre + '</option>'; cboTipoExpediente += '<option value="' + tipoExpediente[i].codigoTipoExpediente + '">' + tipoExpediente[i].nombre + '</option>';
} }
$('.js-example-basic-multiple').html(cboTipoExpediente); $('.js-example-basic-multiple').html(cboTipoExpediente);
} }
} }
}); });
} }
...@@ -752,48 +751,48 @@ function listarTipoExpediente() { ...@@ -752,48 +751,48 @@ function listarTipoExpediente() {
* @returns {String} * @returns {String}
*/ */
function registrarTipoExpedienterequest(nombre) { function registrarTipoExpedienterequest(nombre) {
return new Promise((resolve, rejecet) => { return new Promise((resolve, rejecet) => {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '../TipoExpedienteServlet', url: '../TipoExpedienteServlet',
data: {accion: 'registrarTipoExpediente', nombre: nombre}, data: {accion: 'registrarTipoExpediente', nombre: nombre},
beforeSend: function (xhr) { beforeSend: function (xhr) {
load('Registrando tipo expediente, por favor espere'); load('Registrando tipo expediente, por favor espere');
}, },
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
if (textStatus === 'success') { if (textStatus === 'success') {
unload(); unload();
if (data.status) { if (data.status) {
resolve(data); resolve(data);
} else { } else {
errorMessage(data.message); errorMessage(data.message);
} }
} }
}, },
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
rejecet('No se pudo procesarr la solicitud registrarTipoExpedienterequest : ' + errorThrown); rejecet('No se pudo procesarr la solicitud registrarTipoExpedienterequest : ' + errorThrown);
} }
}); });
}); });
} }
/** /**
* AGREGAR NUEVO TIPO DE EXPEDIENTE * AGREGAR NUEVO TIPO DE EXPEDIENTE
*/ */
function registrarTipoExpediente() { function registrarTipoExpediente() {
$('#btnAgregarTipoExpediente').on('click', () => { $('#btnAgregarTipoExpediente').on('click', () => {
$.confirm({ $.confirm({
icon: 'fa fa-question', icon: 'fa fa-question',
draggable: false, draggable: false,
animationBounce: 1.5, animationBounce: 1.5,
closeAnimation: 'opacity', closeAnimation: 'opacity',
theme: 'modern', theme: 'modern',
closeIcon: false, closeIcon: false,
animation: 'scale', animation: 'scale',
backgroundDismissAnimation: 'glow', backgroundDismissAnimation: 'glow',
type: 'blue', type: 'blue',
title: 'Ingrese un nuevo tipo de expediente', title: 'Ingrese un nuevo tipo de expediente',
content: ` content: `
<div class="form-group"> <div class="form-group">
<label class="text-semibold">Tipo expediente:</label> <label class="text-semibold">Tipo expediente:</label>
...@@ -801,36 +800,36 @@ function registrarTipoExpediente() { ...@@ -801,36 +800,36 @@ function registrarTipoExpediente() {
</div> </div>
`, `,
buttons: { buttons: {
'Registrar': { 'Registrar': {
btnClass: 'btn-success', btnClass: 'btn-success',
action: () => { action: () => {
let nombre = $('#txtTipoExpediente').val().trim(); let nombre = $('#txtTipoExpediente').val().trim();
if (!nombre) { if (!nombre) {
warningMessage('Debe ingresar un tipo de expediente'); warningMessage('Debe ingresar un tipo de expediente');
return false; return false;
} }
registrarTipoExpedienterequest(nombre).then((response) => { registrarTipoExpedienterequest(nombre).then((response) => {
// add new option // add new option
var data = { var data = {
id: response.data.id, id: response.data.id,
text: response.data.data text: response.data.data
}; };
var newOption = new Option(data.text.toUpperCase(), data.id, false, false); var newOption = new Option(data.text.toUpperCase(), data.id, false, false);
$('.js-example-basic-multiple').append(newOption).trigger('change'); $('.js-example-basic-multiple').append(newOption).trigger('change');
successMessage(response.message); successMessage(response.message);
}); });
} }
}, },
'Cancelar': { 'Cancelar': {
btnClass: 'btn-danger' btnClass: 'btn-danger'
} }
} }
}); });
}); });
} }
/** /**
...@@ -839,29 +838,29 @@ function registrarTipoExpediente() { ...@@ -839,29 +838,29 @@ function registrarTipoExpediente() {
*/ */
let validObservacion = false; let validObservacion = false;
function validarObservacion() { function validarObservacion() {
$('#txtSueldoMensual').on('keyup', () => { $('#txtSueldoMensual').on('keyup', () => {
let sueldoPropuesto = $('#txtSueldoMensual').val().trim(); let sueldoPropuesto = $('#txtSueldoMensual').val().trim();
console.log(validarFormularioDatosAdministrativos()); console.log(validarFormularioDatosAdministrativos());
if (validarFormularioDatosAdministrativos()) { if (validarFormularioDatosAdministrativos()) {
console.log('cambio'); console.log('cambio');
console.log(sueldoEscalafon); console.log(sueldoEscalafon);
console.log(sueldoPropuesto); console.log(sueldoPropuesto);
if (sueldoPropuesto !== sueldoEscalafon) { if (sueldoPropuesto !== sueldoEscalafon) {
console.log('son diferentes'); console.log('son diferentes');
$('#txtObservacion').rules('add', { $('#txtObservacion').rules('add', {
required: true, required: true,
messages: { messages: {
required: "Este campo es requerido, por favor ingrese una observación" required: "Este campo es requerido, por favor ingrese una observación"
} }
}); });
} else { } else {
console.log('son iguales'); console.log('son iguales');
$('#txtObservacion').rules('remove', 'required'); $('#txtObservacion').rules('remove', 'required');
} }
} else { } else {
$('#txtObservacion').rules('remove', 'required'); $('#txtObservacion').rules('remove', 'required');
} }
}); });
} }
\ No newline at end of file
...@@ -336,7 +336,7 @@ const fichasAdministrativo = { ...@@ -336,7 +336,7 @@ const fichasAdministrativo = {
buttons: {left: 'Aceptar'} buttons: {left: 'Aceptar'}
}).then(flag => { }).then(flag => {
if (flag) { if (flag) {
window.location = 'lotesFicha.jsp' $('#cboCriterioFiltroFicha').change()
} }
}) })
} else { } else {
...@@ -420,7 +420,7 @@ const fichasDocente = { ...@@ -420,7 +420,7 @@ const fichasDocente = {
buttons: {left: 'Aceptar'} buttons: {left: 'Aceptar'}
}).then(flag => { }).then(flag => {
if (flag) { if (flag) {
// window.location = 'lotesFicha.jsp' $('#cboCriterioFiltroFicha').change()
} }
}) })
} else { } else {
...@@ -494,6 +494,7 @@ const getDataDocenteJSON = () => { ...@@ -494,6 +494,7 @@ const getDataDocenteJSON = () => {
let costob = row.eq(6).text() let costob = row.eq(6).text()
let costoc = row.eq(7).text() let costoc = row.eq(7).text()
let observacion = row.eq(8).find('input').val() let observacion = row.eq(8).find('input').val()
let horario = $('#tblFichas').DataTable().row(i).data().observacion
let json = ` let json = `
{ {
"codigoFicha" : ${codigoFicha}, "codigoFicha" : ${codigoFicha},
...@@ -502,7 +503,8 @@ const getDataDocenteJSON = () => { ...@@ -502,7 +503,8 @@ const getDataDocenteJSON = () => {
"costoa":"${costoa}", "costoa":"${costoa}",
"costob":"${costob}", "costob":"${costob}",
"costoc":"${costoc}", "costoc":"${costoc}",
"observacion":"${observacion}" "observacion":"${observacion}",
"horario":"${horario}"
} }
` `
jsonData.push(JSON.parse(json)) jsonData.push(JSON.parse(json))
......
...@@ -41,6 +41,11 @@ ...@@ -41,6 +41,11 @@
<input type="hidden" name="paramsActividadFicha" id="paramsActividadFicha"/> <input type="hidden" name="paramsActividadFicha" id="paramsActividadFicha"/>
</form> </form>
<form action="../ContratoServlet" method="post" id="formPDF" target="_blank">
<input type="hidden" name="accion" value="contratoPdf" />
<input type="hidden" name="json" id="data" value="" />
</form>
<div class="row"> <div class="row">
<div class="col-md-6 col-md-offset-3"> <div class="col-md-6 col-md-offset-3">
<div class="panel so-card-2"> <div class="panel so-card-2">
...@@ -149,7 +154,24 @@ ...@@ -149,7 +154,24 @@
<h6 class="panel-title">Contratos</h6> <h6 class="panel-title">Contratos</h6>
</div> </div>
<div id="divListaContratos"> <div id="divListaContratos">
<table class="table table-bordered table-xxs table-striped" id="tblContrato">
<thead>
<tr>
<th>Personal</th>
<th>Documento de Identidad</th>
<th>Area</th>
<th>Cargo</th>
<th>Fecha Inicio</th>
<th>Tipo Contrato</th>
<th>Razon Social</th>
<th>Estado</th>
<th>Accion</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div> </div>
</div> </div>
</div> </div>
......
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