Commit a40f22e6 by Luis Gangas

[EDIT] poner data personal pdf

parent 92aa3eed
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
package trismegistoplanilla.dao; package trismegistoplanilla.dao;
import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
/** /**
...@@ -15,4 +16,5 @@ public interface ContratoDAO { ...@@ -15,4 +16,5 @@ public interface ContratoDAO {
public JSONObject listarContrato(JSONObject json); public JSONObject listarContrato(JSONObject json);
public JSONObject obtenerDataRazonSocialContrato(int razonSocial); public JSONObject obtenerDataRazonSocialContrato(int razonSocial);
public JSONObject actualizarContratoGeneradoAdministrativo(JSONArray jArray);
} }
...@@ -8,6 +8,9 @@ package trismegistoplanilla.mysqldao; ...@@ -8,6 +8,9 @@ package trismegistoplanilla.mysqldao;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import trismegistoplanilla.dao.ContratoDAO; import trismegistoplanilla.dao.ContratoDAO;
...@@ -60,12 +63,20 @@ public class ContratoMysqlDAO implements ContratoDAO { ...@@ -60,12 +63,20 @@ public class ContratoMysqlDAO implements ContratoDAO {
+ "co.area_laboral, " + "co.area_laboral, "
+ "co.cargo_laboral, " + "co.cargo_laboral, "
+ "DATE_FORMAT(co.fecha_inicio_contrato,'%d/%m/%Y') fechaInicio, " + "DATE_FORMAT(co.fecha_inicio_contrato,'%d/%m/%Y') fechaInicio, "
+ "DATE_FORMAT(co.fecha_fin_contrato,'%d/%m/%Y') fechaFin, "
+ "ec.descripcion estadoContrato, " + "ec.descripcion estadoContrato, "
+ "rs.nombre razonSocial," + "rs.nombre razonSocial,"
+ "tc.descripcion tipoContrato, " + "tc.descripcion tipoContrato, "
+ "ec.codigo_tipo_estado_contrato, " + "ec.codigo_tipo_estado_contrato, "
+ "tc.tipo_contrato_codigo, " + "tc.tipo_contrato_codigo, "
+ "rs.codigo_razon_social " + "rs.codigo_razon_social, "
+ "pe.direccion, "
+ "co.monto_asignacion_familiar, "
+ "co.ingreso_bruto_mensual, "
+ "co.monto_sueldo_basico, "
+ "co.monto_asignacion_familiar, "
+ "co.monto_transporte, "
+ "co.monto_refrigerio "
+ "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 "
...@@ -112,16 +123,23 @@ public class ContratoMysqlDAO implements ContratoDAO { ...@@ -112,16 +123,23 @@ public class ContratoMysqlDAO implements ContratoDAO {
.put("areaLaboral", rs.getString("area_laboral")) .put("areaLaboral", rs.getString("area_laboral"))
.put("cargoLaboral", rs.getString("cargo_laboral")) .put("cargoLaboral", rs.getString("cargo_laboral"))
.put("fechaInicio", rs.getString("fechaInicio")) .put("fechaInicio", rs.getString("fechaInicio"))
.put("fechaFin", rs.getString("fechaFin"))
.put("estadoContrato", rs.getString("estadoContrato")) .put("estadoContrato", rs.getString("estadoContrato"))
.put("razonSocial", rs.getString("razonSocial")) .put("razonSocial", rs.getString("razonSocial"))
.put("codigoEstadoContrato", rs.getString("codigo_tipo_estado_contrato")) .put("codigoEstadoContrato", rs.getString("codigo_tipo_estado_contrato"))
.put("codigoTipoContrato", rs.getString("tipo_contrato_codigo")) .put("codigoTipoContrato", rs.getString("tipo_contrato_codigo"))
.put("codigoRazonSocial", rs.getString("codigo_razon_social")) .put("codigoRazonSocial", rs.getString("codigo_razon_social"))
.put("direccion", rs.getString("direccion"))
.put("asignacionFamiliar", rs.getString("monto_asignacion_familiar"))
.put("brutoMensual", rs.getString("ingreso_bruto_mensual"))
.put("sueldoBasico", rs.getString("monto_sueldo_basico"))
.put("montoTransporte", rs.getString("monto_transporte"))
.put("montoRefrigerio", rs.getString("monto_refrigerio"))
.put("tipoContrato", rs.getString("tipoContrato")); .put("tipoContrato", rs.getString("tipoContrato"));
data.put(jObj); data.put(jObj);
} }
jResponse.put("data", data); jResponse.put("data", data);
jResponse.put("length", json.getString("length")); jResponse.put("length", json.getString("length"));
jResponse.put("draw", json.getString("draw")); jResponse.put("draw", json.getString("draw"));
...@@ -195,4 +213,78 @@ public class ContratoMysqlDAO implements ContratoDAO { ...@@ -195,4 +213,78 @@ public class ContratoMysqlDAO implements ContratoDAO {
return jResponse; return jResponse;
} }
@Override
public JSONObject actualizarContratoGeneradoAdministrativo(JSONArray jArray) {
JSONObject jResponse = new JSONObject();
Connection cn = null;
PreparedStatement pst = null;
try {
cn = MysqlDAOFactory.obtenerConexion("nuevo");
cn.setAutoCommit(false);
String sql = "update contrato set "
+ "monto_sueldo_basico = ?, "
+ "monto_asignacion_familiar = ?, "
+ "monto_transporte = ?, "
+ "monto_refrigerio = ?, "
+ "fecha_inicio_contrato = STR_TO_DATE(?,'%d/%m/%Y'), "
+ "fecha_fin_contrato = STR_TO_DATE(?,'%d/%m/%Y'), "
+ "codigo_tipo_estado_contrato = 2, "
+ "codigo_tipo_contrato = ?, "
+ "codigo_razon_social = ? "
+ "where contrato_codigo = ? ";
pst = cn.prepareStatement(sql);
for (Object obj : jArray) {
JSONObject jContrato = (JSONObject) obj;
int rs = 0;
int q = 1;
pst.setString(q++, jContrato.getString("basico"));
pst.setString(q++, jContrato.getString("asignacionFamiliar"));
pst.setString(q++, jContrato.getString("transporte"));
pst.setString(q++, jContrato.getString("refrigerio"));
pst.setString(q++, jContrato.getString("fechaInicio"));
pst.setString(q++, jContrato.getString("fechaFin"));
pst.setString(q++, jContrato.getString("codigoTipoContrato"));
pst.setString(q++, jContrato.getString("codigoRazonSocial"));
pst.setString(q++, jContrato.getString("codigoContrato"));
rs = pst.executeUpdate();
if (rs == 0) {
throw new Exception("Error al actualizar contrato.");
}
}
cn.commit();
jResponse
.put("status", true)
.put("message", "Se generaron los contratos exitosamente.");
} catch (Exception e) {
try {
cn.rollback();
jResponse
.put("status", false)
.put("message", "Error: " + e.getMessage());
} catch (SQLException ex) {
Logger.getLogger(ContratoMysqlDAO.class.getName()).log(Level.SEVERE, null, ex);
}
} finally {
try {
if (cn != null) {
cn.close();
}
if (pst != null) {
cn.close();
}
} catch (SQLException ex) {
Logger.getLogger(ContratoMysqlDAO.class.getName()).log(Level.SEVERE, null, ex);
}
}
return jResponse;
}
} }
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
package trismegistoplanilla.servicesMysql; package trismegistoplanilla.servicesMysql;
import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import trismegistoplanilla.dao.ContratoDAO; import trismegistoplanilla.dao.ContratoDAO;
import trismegistoplanilla.dao.DAOFactory; import trismegistoplanilla.dao.DAOFactory;
...@@ -14,15 +15,19 @@ import trismegistoplanilla.dao.DAOFactory; ...@@ -14,15 +15,19 @@ import trismegistoplanilla.dao.DAOFactory;
* @author sistem20user * @author sistem20user
*/ */
public class ContratoService { public class ContratoService {
DAOFactory dao = DAOFactory.getDAOFactory(DAOFactory.MYSQL); DAOFactory dao = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
ContratoDAO service = dao.getContratoDAO(); ContratoDAO service = dao.getContratoDAO();
public JSONObject listarContrato(JSONObject json) { public JSONObject listarContrato(JSONObject json) {
return service.listarContrato(json); return service.listarContrato(json);
} }
public JSONObject obtenerDataRazonSocialContrato(int razonSocial){ public JSONObject obtenerDataRazonSocialContrato(int razonSocial) {
return service.obtenerDataRazonSocialContrato(razonSocial); return service.obtenerDataRazonSocialContrato(razonSocial);
} }
public JSONObject actualizarContratoGeneradoAdministrativo(JSONArray jArray) {
return service.actualizarContratoGeneradoAdministrativo(jArray);
}
} }
...@@ -14,6 +14,7 @@ import javax.servlet.ServletException; ...@@ -14,6 +14,7 @@ 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.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import trismegistoplanilla.servicesMysql.ContratoService; import trismegistoplanilla.servicesMysql.ContratoService;
import trismegistoplanilla.utilities.PdfCreator; import trismegistoplanilla.utilities.PdfCreator;
...@@ -31,6 +32,9 @@ public class ContratoServlet extends HttpServlet { ...@@ -31,6 +32,9 @@ public class ContratoServlet extends HttpServlet {
case "listarContrato": case "listarContrato":
listarContrato(request, response); listarContrato(request, response);
break; break;
case "actualizarContratoGeneradoAdministrativo":
actualizarContratoGeneradoAdministrativo(request, response);
break;
case "contratoPdf": { case "contratoPdf": {
try { try {
contratoPdf(request, response); contratoPdf(request, response);
...@@ -72,4 +76,13 @@ public class ContratoServlet extends HttpServlet { ...@@ -72,4 +76,13 @@ public class ContratoServlet extends HttpServlet {
new PdfCreator().escogerMetodo(json, response); new PdfCreator().escogerMetodo(json, response);
} }
private void actualizarContratoGeneradoAdministrativo(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter pw = response.getWriter();
ContratoService service = new ContratoService();
JSONArray jRequest = new JSONArray(request.getParameter("jsonArray"));
JSONObject jResponse = service.actualizarContratoGeneradoAdministrativo(jRequest);
pw.print(jResponse);
}
} }
...@@ -56,7 +56,6 @@ public class PdfCreator { ...@@ -56,7 +56,6 @@ public class PdfCreator {
public boolean crearPdfContratoNecesidadMercado(JSONObject json, HttpServletResponse response) throws IOException, DocumentException { public boolean crearPdfContratoNecesidadMercado(JSONObject json, HttpServletResponse response) throws IOException, DocumentException {
// public static boolean crearPdfContratoNecesidadMercado(JSONObject json) 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, response.getOutputStream()); PdfWriter.getInstance(documento, response.getOutputStream());
...@@ -93,8 +92,14 @@ public class PdfCreator { ...@@ -93,8 +92,14 @@ 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("@nombrePersonal", json.getString("nombrePersonal"))
// .replace("@ruc", ruc) .replace("@tipoDocumento", json.getString("tipoDocumentoIdentidad"))
.replace("@numeroDocumento", json.getString("documentoIdentidad"))
.replace("@domicilioPersonal", json.getString("direccion"))
.replace("@sueldoMensual", json.getString("brutoMensual"))
.replace("@basicoMensual", json.getString("sueldoBasico"))
.replace("@asignacionFamiliar", json.getString("asignacionFamiliar"))
.replace("@asignacionTransporte", json.getString("montoTransporte"))
.replace("@ruc", ruc); .replace("@ruc", ruc);
Phrase phrase = new Phrase(); Phrase phrase = new Phrase();
...@@ -156,6 +161,15 @@ public class PdfCreator { ...@@ -156,6 +161,15 @@ public class PdfCreator {
.replace("@dniResponsable", dni) .replace("@dniResponsable", dni)
.replace("@numeroPartida", numeroPartidaInscrita) .replace("@numeroPartida", numeroPartidaInscrita)
.replace("@distritoFirma", distrito) .replace("@distritoFirma", distrito)
.replace("@nombrePersonal", json.getString("nombrePersonal"))
.replace("@tipoDocumento", json.getString("tipoDocumentoIdentidad"))
.replace("@numeroDocumento", json.getString("documentoIdentidad"))
.replace("@domicilioResponsable", json.getString("direccion"))
.replace("@sueldoMensual", json.getString("brutoMensual"))
.replace("@basicoMensual", json.getString("sueldoBasico"))
.replace("@asignacionFamiliar", json.getString("asignacionFamiliar"))
.replace("@asignacionTransporte", json.getString("montoTransporte"))
.replace("@asignacionRefrigerio", json.getString("montoRefrigerio"))
.replace("@ruc", ruc); .replace("@ruc", ruc);
Phrase phrase = new Phrase(); Phrase phrase = new Phrase();
......
...@@ -19,12 +19,13 @@ El tiempo destinado al refrigerio no forma parte de la jornada de trabajo y se t ...@@ -19,12 +19,13 @@ El tiempo destinado al refrigerio no forma parte de la jornada de trabajo y se t
Las partes estipulan que la jornada laboral de EL TRABAJADOR será rotativa y no mayor a cuarenta y ocho (48) horas a la semana, teniendo facultad el empleador de establecer el día de descanso en la semana, de acuerdo a las necesidades de servicio o producción. Así mismo el empleador se reserva el derecho de establecer los turnos de trabajo, también en función de sus necesidades de servicio o producción enmarcados dentro del presente contrato.@br@br Las partes estipulan que la jornada laboral de EL TRABAJADOR será rotativa y no mayor a cuarenta y ocho (48) horas a la semana, teniendo facultad el empleador de establecer el día de descanso en la semana, de acuerdo a las necesidades de servicio o producción. Así mismo el empleador se reserva el derecho de establecer los turnos de trabajo, también en función de sus necesidades de servicio o producción enmarcados dentro del presente contrato.@br@br
#¿NOMBRE SEXTO EL TRABAJADOR percibirá un ingreso bruto mensual de S/. @sueldoMensual (@sueldoTexto).@br@br
a) Haber básico S/. @basicoMensual@br a) Haber básico S/. @basicoMensual@br
b) Asignación familiar S. @asignacionFamiliar@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 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
c) Asignación por refrigerio S/. @asignacionRefrigerio por día efectivamente laborado. @br c) Asignación por refrigerio S/. @asignacionRefrigerio por día efectivamente laborado. @br
d) Asignación familiar S. @asignacionFamiliar@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
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</div> </div>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<form onsubmit="return false" id="formBuscarFichas" name="formBuscarFichas"> <form onsubmit="return false" id="formBuscarContrato" name="formBuscarContrato">
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group"> <div class="form-group">
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group"> <div class="form-group">
<label for="cboTipoTrabajador" class="text-semibold">Filtro por criterio <span class="text-danger">(*)</span></label> <label for="cboTipoTrabajador" class="text-semibold">Tipo de Trabajador <span class="text-danger">(*)</span></label>
<select class="select" data-width="100%" id="cboTipoTrabajador" name="cboTipoTrabajador"> <select class="select" data-width="100%" id="cboTipoTrabajador" name="cboTipoTrabajador">
<option value="">TODAS</option> <option value="">TODAS</option>
<option value="A">ADMINISTRATIVO</option> <option value="A">ADMINISTRATIVO</option>
...@@ -151,12 +151,46 @@ ...@@ -151,12 +151,46 @@
<div class="col-lg-12"> <div class="col-lg-12">
<div class="panel so-card-2"> <div class="panel so-card-2">
<div class="panel-heading bg-primary"> <div class="panel-heading bg-primary">
<h6 class="panel-title">Contratos a generar: <b id="lblTipoContrato"></b></h6>
<div class="heading-elements">
<button type="button" id="btnActualizarContrato" class="btn btn-success btn-xlg text-uppercase text-semibold tp-header-right-table-button">
<i class="fa fa-check-square-o fa-lg position-left"></i> Aceptar
</button>
</div>
</div>
<div id="">
<table class="table table-bordered table-xxs table-striped" id="tblContratoSeleccionado">
<thead>
<tr>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel so-card-2">
<div class="panel-heading bg-primary">
<h6 class="panel-title">Contratos</h6> <h6 class="panel-title">Contratos</h6>
<div class="heading-elements">
<button type="button" id="btnGenerarContrato" class="btn btn-success btn-xlg text-uppercase text-semibold tp-header-right-table-button">
<i class="fa fa-check-square-o fa-lg position-left"></i> Generar contrato
</button>
</div>
</div> </div>
<div id="divListaContratos"> <div id="divListaContratos">
<table class="table table-bordered table-xxs table-striped" id="tblContrato"> <table class="table table-bordered table-xxs table-striped" id="tblContrato">
<thead> <thead>
<tr> <tr>
<th><input type="checkbox" id="ckbRegistroTodo" class="styled"></th>
<th>Personal</th> <th>Personal</th>
<th>Documento de Identidad</th> <th>Documento de Identidad</th>
<th>Area</th> <th>Area</th>
...@@ -202,6 +236,51 @@ ...@@ -202,6 +236,51 @@
</div> </div>
</div> </div>
<!--modales-->
<!--modal generar contrato-->
<div id="modalGenerarPrevista" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-primary">
<h6 class="modal-title"><i class="fa fa-file fa-lg"></i>&nbsp;&nbsp;Nueva ficha</h6>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="cbAsignarTipoContrato" class="text-semibold">Tipo Contrato <span class="text-danger">(*)</span></label>
<select class="select" id="cbAsignarTipoContrato" name="cbAsignarTipoContrato">
<option value="">[SELECCIONE]</option>
<option value="1">POR NECESIDAD DE MERCADO</option>
<option value="2">TIEMPO PARCIAL</option>
<option value="3">MENSUAL POR HORA</option>
<option value="4">RECIBO POR HONORARIOS</option>
<option value="5">TIEMPO PARCIAL POR HORA</option>
</select>
</div>
</div>
</div>
<div id="divCamposTipoContrato"></div>
<div class="row">
<div class="col-md-12 text-danger text-right text-semibold">
(*) Campos obligatorios
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn bg-primary" id="btnVerPrevista"><i class="fa fa-check fa-lg position-left"></i>Ver prevista</button>
<button type="button" class="btn bg-danger" data-dismiss="modal"><i class="fa fa-close fa-lg position-left"></i>Cerrar</button>
</div>
</div>
</div>
</div>
<!--modal generar contrato-->
<!--modales-->
<!--javascript plantilla--> <!--javascript plantilla-->
<%@include file="templates/footer-body.jsp" %> <%@include file="templates/footer-body.jsp" %>
<!--javascript plantilla--> <!--javascript plantilla-->
......
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