Commit a40f22e6 by Luis Gangas

[EDIT] poner data personal pdf

parent 92aa3eed
......@@ -5,6 +5,7 @@
*/
package trismegistoplanilla.dao;
import org.json.JSONArray;
import org.json.JSONObject;
/**
......@@ -15,4 +16,5 @@ public interface ContratoDAO {
public JSONObject listarContrato(JSONObject json);
public JSONObject obtenerDataRazonSocialContrato(int razonSocial);
public JSONObject actualizarContratoGeneradoAdministrativo(JSONArray jArray);
}
......@@ -8,6 +8,9 @@ package trismegistoplanilla.mysqldao;
import java.sql.Connection;
import java.sql.PreparedStatement;
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.JSONObject;
import trismegistoplanilla.dao.ContratoDAO;
......@@ -60,12 +63,20 @@ public class ContratoMysqlDAO implements ContratoDAO {
+ "co.area_laboral, "
+ "co.cargo_laboral, "
+ "DATE_FORMAT(co.fecha_inicio_contrato,'%d/%m/%Y') fechaInicio, "
+ "DATE_FORMAT(co.fecha_fin_contrato,'%d/%m/%Y') fechaFin, "
+ "ec.descripcion estadoContrato, "
+ "rs.nombre razonSocial,"
+ "tc.descripcion tipoContrato, "
+ "ec.codigo_tipo_estado_contrato, "
+ "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 "
+ "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 "
......@@ -112,16 +123,23 @@ public class ContratoMysqlDAO implements ContratoDAO {
.put("areaLaboral", rs.getString("area_laboral"))
.put("cargoLaboral", rs.getString("cargo_laboral"))
.put("fechaInicio", rs.getString("fechaInicio"))
.put("fechaFin", rs.getString("fechaFin"))
.put("estadoContrato", rs.getString("estadoContrato"))
.put("razonSocial", rs.getString("razonSocial"))
.put("codigoEstadoContrato", rs.getString("codigo_tipo_estado_contrato"))
.put("codigoTipoContrato", rs.getString("tipo_contrato_codigo"))
.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"));
data.put(jObj);
}
jResponse.put("data", data);
jResponse.put("length", json.getString("length"));
jResponse.put("draw", json.getString("draw"));
......@@ -195,4 +213,78 @@ public class ContratoMysqlDAO implements ContratoDAO {
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 @@
*/
package trismegistoplanilla.servicesMysql;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.dao.ContratoDAO;
import trismegistoplanilla.dao.DAOFactory;
......@@ -14,15 +15,19 @@ 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);
}
public JSONObject obtenerDataRazonSocialContrato(int razonSocial){
public JSONObject obtenerDataRazonSocialContrato(int razonSocial) {
return service.obtenerDataRazonSocialContrato(razonSocial);
}
public JSONObject actualizarContratoGeneradoAdministrativo(JSONArray jArray) {
return service.actualizarContratoGeneradoAdministrativo(jArray);
}
}
......@@ -14,6 +14,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import org.json.JSONObject;
import trismegistoplanilla.servicesMysql.ContratoService;
import trismegistoplanilla.utilities.PdfCreator;
......@@ -31,6 +32,9 @@ public class ContratoServlet extends HttpServlet {
case "listarContrato":
listarContrato(request, response);
break;
case "actualizarContratoGeneradoAdministrativo":
actualizarContratoGeneradoAdministrativo(request, response);
break;
case "contratoPdf": {
try {
contratoPdf(request, response);
......@@ -72,4 +76,13 @@ public class ContratoServlet extends HttpServlet {
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 {
public boolean crearPdfContratoNecesidadMercado(JSONObject json, HttpServletResponse response) throws IOException, DocumentException {
// public static boolean crearPdfContratoNecesidadMercado(JSONObject json) throws IOException, DocumentException {
boolean respuesta = false;
Document documento = new Document(PageSize.A4.rotate(), 5, 5, 5, 5);
// PdfWriter writer = PdfWriter.getInstance(documento, response.getOutputStream());
PdfWriter.getInstance(documento, response.getOutputStream());
......@@ -93,8 +92,14 @@ public class PdfCreator {
.replace("@dniResponsable", dni)
.replace("@numeroPartida", numeroPartidaInscrita)
.replace("@distritoFirma", distrito)
// .replace("@ruc", ruc)
// .replace("@ruc", ruc)
.replace("@nombrePersonal", json.getString("nombrePersonal"))
.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);
Phrase phrase = new Phrase();
......@@ -156,6 +161,15 @@ public class PdfCreator {
.replace("@dniResponsable", dni)
.replace("@numeroPartida", numeroPartidaInscrita)
.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);
Phrase phrase = new Phrase();
......
......@@ -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
#¿NOMBRE
SEXTO EL TRABAJADOR percibirá un ingreso bruto mensual de S/. @sueldoMensual (@sueldoTexto).@br@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
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
......
......@@ -57,7 +57,7 @@
</div>
</div>
<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="col-md-4">
<div class="form-group">
......@@ -112,7 +112,7 @@
</div>
<div class="col-md-4">
<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">
<option value="">TODAS</option>
<option value="A">ADMINISTRATIVO</option>
......@@ -151,12 +151,46 @@
<div class="col-lg-12">
<div class="panel so-card-2">
<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>
<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 id="divListaContratos">
<table class="table table-bordered table-xxs table-striped" id="tblContrato">
<thead>
<tr>
<th><input type="checkbox" id="ckbRegistroTodo" class="styled"></th>
<th>Personal</th>
<th>Documento de Identidad</th>
<th>Area</th>
......@@ -202,6 +236,51 @@
</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-->
<%@include file="templates/footer-body.jsp" %>
<!--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