This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2020-06-01 01:21:30 -07:00
parent 887b4e4dc6
commit 3e7a5e0392
16 changed files with 466 additions and 211 deletions

View File

@@ -229,7 +229,7 @@ Partial Class Nomina_Nomina
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If UsuarioActual.CveEmpresa = 80 OrElse UsuarioActual.CveEmpresa = 72 Then
If UsuarioActual.CveEmpresa = 80 OrElse UsuarioActual.CveEmpresa = 72 OrElse UsuarioActual.CveEmpresa = 119 Then
Response.Redirect("/Nomina/Nomina2.aspx")
End If
CargaTiposPeriodo()

View File

@@ -4,9 +4,10 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
span.font-black{
color:#333;
span.font-black {
color: #333;
}
.GvConceptos {
border: 1px solid #E87E04;
}
@@ -69,19 +70,25 @@
<asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:HyperLink ID="HypModalNomina" data-target="#DModalNominas" data-toggle="modal" runat="server">Cargar Nomina</asp:HyperLink>
<asp:HyperLink ID="HypModalNomina" data-target="#DModalNominas" data-toggle="modal" runat="server"><i class="fa fa-upload" aria-hidden="true"></i>Cargar Nomina</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkVerTablas" OnClick="LnkVerTablas_Click" runat="server">Tablas</asp:LinkButton>
<asp:LinkButton ID="LnkVerTablas" OnClick="LnkVerTablas_Click" runat="server"><i class="fa fa-columns" aria-hidden="true"></i>Tablas</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkAutorizar" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCargaAsistenciaMasiva" OnClick="LnkCargaAsistenciaMasiva_Click" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga Asistencia</asp:LinkButton>
</li>
<li>
<asp:HyperLink ID="HypAsistencia" NavigateUrl="/RH/Asistencias.aspx" runat="server"><i class="fa fa-list" aria-hidden="true"></i>Asistencia</asp:HyperLink>
</li>
</ContentTemplate>
</asp:UpdatePanel>
<li>
<asp:LinkButton ID="LnkListaRaya" OnClick="LnkListaRaya_Click" runat="server">Lista de Raya</asp:LinkButton>
<asp:LinkButton ID="LnkListaRaya" OnClick="LnkListaRaya_Click" runat="server"><i class="fa fa-file-text" aria-hidden="true"></i>Lista de Raya</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
@@ -204,7 +211,7 @@
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<asp:GridView ID="GvNominas" runat="server" DataKeyNames="CvePeriodo,CvePersonal,CveNomina,SeTimbro,SerieFolio,Nombre,Correo,Turno,SubProyecto" AutoGenerateColumns="False" OnRowDataBound="GvNominas_RowDataBound"
CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GvNominas" Style="text-align: center;" GridLines="None"
data-rows="2">
data-rows="1">
<Columns>
<asp:TemplateField>
@@ -385,7 +392,7 @@
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-user font-yellow-gold"></i>
<span class="caption-subject bold font-black uppercase">Trabajador :<asp:Label ID="LblEmpleado" runat="server" Text=""></asp:Label></span>
<span class="caption-subject bold font-black uppercase">Trabajador :<asp:Label ID="LblEmpleado" runat="server" Text=""></asp:Label></span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
@@ -394,40 +401,53 @@
<div class="portlet-body " style="padding: 0px;">
<div class="row">
<div class="col-md-2 bold">No. Trabajador</div>
<div class="col-md-4"><asp:Label ID="LblCodigoEmpleado" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblCodigoEmpleado" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Días Trabajados</div>
<div class="col-md-4"><asp:Label ID="LblDiasLaborados" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblDiasLaborados" runat="server"></asp:Label></div>
</div>
<div class="row">
<div class="col-md-2 bold">Afi IMSS </div>
<div class="col-md-4"><asp:Label ID="LblNSS" runat="server"></asp:Label> </div>
<div class="col-md-4">
<asp:Label ID="LblNSS" runat="server"></asp:Label>
</div>
<div class="col-md-2 bold">Faltas</div>
<div class="col-md-4"><asp:Label ID="LblDiasFaltados" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblDiasFaltados" runat="server"></asp:Label></div>
</div>
<div class="row">
<div class="col-md-2 bold">R.F.C.</div>
<div class="col-md-4"><asp:Label ID="LblRFC" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblRFC" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Retardos</div>
<div class="col-md-4"><asp:Label ID="LblDiasRetardos" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblDiasRetardos" runat="server"></asp:Label></div>
</div>
<div class="row">
<div class="col-md-2 bold">Curp</div>
<div class="col-md-4"><asp:Label ID="LblCURP" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblCURP" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Días Vacaciones</div>
<div class="col-md-4"><asp:Label ID="LblDiasVacaciones" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblDiasVacaciones" runat="server"></asp:Label></div>
</div>
<div class="row">
<div class="col-md-2 bold">Tipo de Pago</div>
<div class="col-md-4"><asp:Label ID="LblTipoPeriodo" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblTipoPeriodo" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Días Incapacidad</div>
<div class="col-md-4"><asp:Label ID="LblDiasIncapacidad" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblDiasIncapacidad" runat="server"></asp:Label></div>
</div>
<div class="row">
<div class="col-md-2 bold">Fecha de Pago</div>
<div class="col-md-4"><asp:Label ID="LblFechaPagosrb" runat="server"></asp:Label></div>
<div class="col-md-4">
<asp:Label ID="LblFechaPagosrb" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Periodo del</div>
<div class="col-md-4"><asp:Label ID="LblFecha" runat="server"></asp:Label></div>
</div>
<div class="col-md-4">
<asp:Label ID="LblFecha" runat="server"></asp:Label></div>
</div>
</div>
</div>
@@ -917,7 +937,6 @@
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DModalNominas" class="modal ADS fade" role="dialog">
@@ -959,6 +978,48 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpModalAsistenciaMasiva" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content rowpadding">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" runat="server" style="text-align: left">Cargar asistencia del periodo</h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input" >
<asp:DropDownList ID="DdlEjerciciosCM" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlEjerciciosCM_SelectedIndexChanged" Style="width: 100% !important;" CssClass="select2me" DataValueField="Ejercicio" DataTextField="Ejercicio"></asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEjerciciosCM">Ejercicio:</asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTipoPeriodoCM" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoPeriodoCM_SelectedIndexChanged" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlTipoPeriodoCM">Tipo:</asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlPeriodoCM" runat="server" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlPeriodoCM">Periodo:</asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkCargarAsistenciaMasiva" OnClick="LnkCargarAsistenciaMasiva_Click" CssClass="btn btn-primary" runat="server">Cargar</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
@@ -971,7 +1032,7 @@
}
function FiltrarTabla(idtxt, idtable, idcontador) {
if ($('' + idtxt).val() == '') { $('table' + idtable + ' tr').css('display', ''); }
else { $('table' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').css('display', 'none'); $('table' + idtable + ' tr:contains("' + $('' + idtxt).val() + '")').css('display', ''); }
else { $('table' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):not(.Titulos)').css('display', 'none'); $('table' + idtable + ' tr:contains("' + $('' + idtxt).val() + '")').css('display', ''); }
if ($('' + idcontador).length > 0) {
$('' + idcontador).html('(' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):visible').length + '/' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').length + ')');
}

View File

@@ -151,22 +151,33 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
DdlEjercicios.DataSource = dtejercicio;
DdlEjerciciosCM.DataSource = dtejercicio;
DdlEjercicios.DataBind();
DdlEjerciciosCM.DataBind();
ListItem litem = null;
if ((dtejercicio != null) && dtejercicio.Rows.Count > 0)
{
if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", EjercicioActual)) == 0)
{
DdlEjercicios.Items.Insert(0, new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString()));
litem = new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString());
DdlEjercicios.Items.Insert(0, litem);
DdlEjerciciosCM.Items.Insert(0, litem);
}
if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", (EjercicioActual - 1))) == 0)
{
DdlEjercicios.Items.Insert(1, new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString()));
litem = new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString());
DdlEjercicios.Items.Insert(1, litem);
DdlEjerciciosCM.Items.Insert(1, litem);
}
}
else
{
DdlEjercicios.Items.Add(new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString()));
DdlEjercicios.Items.Add(new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString()));
litem = new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString());
DdlEjercicios.Items.Insert(0, litem);
DdlEjerciciosCM.Items.Insert(0, litem);
litem = new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString());
DdlEjercicios.Items.Insert(0, litem);
DdlEjerciciosCM.Items.Insert(0, litem);
}
if (DdlEjercicios.Items.Count > 0)
@@ -177,6 +188,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
private void CargaTiposPeriodo()
{
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'");
DdlTipoPeriodoCM.DataSource = DdlTipoPeriodo.DataSource;
DdlTipoPeriodoCM.DataBind();
DdlTipoPeriodo.DataBind();
DdlTipoPeriodo.Items.Insert(0, new ListItem("Seleccione", "-1"));
if (DdlTipoPeriodo.Items.Count > 0)
@@ -700,37 +713,38 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
try
{
using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl))
{
conn.Open();
string exceltableName = "Nomina";
DataTable tables = conn.GetSchema("Tables");
if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0)
{
continuar = false;
stringError = "El documento no contiene la hoja nomina";
//using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl))
//{
// conn.Open();
// string exceltableName = "Nomina";
// DataTable tables = conn.GeaaffotSchema("Tables");
// if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0)
// {
// continuar = false;
// stringError = "El documento no contiene la hoja nomina";
}
else
{
// }
// else
// {
exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString();
}
if (continuar)
{
using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand())
{
// exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString();
// }
// if (continuar)
// {
// using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand())
// {
cmd.CommandType = CommandType.Text;
cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'";
using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd))
{
da.Fill(DTEXcel);
// cmd.CommandType = CommandType.Text;
// cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'";
// using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd))
// {
// da.Fill(DTEXcel);
}
}
}
}
// }
// }
// }
//}
DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true).FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
}
catch (Exception ex)
@@ -738,7 +752,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
continuar = false;
stringError = "Ocurrio un Error al procesar el excel ";
string.Format(stringError, ex.ToString()).GuardaLog();
string.Format("{0} \r\n{0}", stringError, ex.ToString()).GuardaLog();
}
}
if (continuar && DTEXcel.Rows.Count == 0)
@@ -795,7 +809,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, SubTotal, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false))
{
CveNomina = objNomina.CveNomina;
}
@@ -859,6 +873,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (rollback)
{
objpersonal.RollBack();
continuar = false;
}
else
{
@@ -972,7 +987,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LblDiasLaborados.Text = DiasLaborados;
LblDiasFaltados.Text = DiasFaltados;
LblDiasVacaciones.Text = DiasVacaciones;
LblFecha.Text = string.Format("{0} al {1}",FechaInicio, FechaFin);
LblFecha.Text = string.Format("{0} al {1}", FechaInicio, FechaFin);
LblDiasRetardos.Text = DiasRetardos;
LblDiasIncapacidad.Text = DiasIncapacidad;
#endregion
@@ -3193,11 +3208,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (continuar)
{
dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0}", CvePersonal));
@@ -3205,8 +3215,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
CveConcepto = rcon["CveConcepto"].ToString().ToEntero();
ImporteConcepto = rcon["ImporteConcepto"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravadoConcepto"].ToString().ToDecimal();
ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
if (continuar)
{
@@ -3221,6 +3231,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
if (continuar)
{
continuar = objNomina.AutorizaNom_Nominas(-1, CvePeriodoSeleccionado, true);
}
if (continuar)
{
objNomina.Commit();
@@ -3235,4 +3253,69 @@ public partial class Nomina_Nomina2 : ClsPaginas
dtconp.Dispose();
Alert("Termine");
}
protected void LnkCargaAsistenciaMasiva_Click(object sender, EventArgs e)
{
RegistraScript("$('#DModalCargaASistenciaMasiva').modal();");
}
protected void LnkCargarAsistenciaMasiva_Click(object sender, EventArgs e)
{
using (ClsRH ObjPersonal = new ClsRH())
{
ObjPersonal.IniciaTransacSQL();
bool OcurrioError = false;
if (!ObjPersonal.AddAsistenciaMasiva2(DdlPeriodoCM.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
OcurrioError = true;
if (OcurrioError)
{
ObjPersonal.RollBack();
Alert("Ocurrió un error al guardar las Asistencias.", ModExtensiones.TipoMensaje.MsgError);
}
else
{
ObjPersonal.Commit();
Alert("Las Asistencias se guardaron correctamente.", ModExtensiones.TipoMensaje.ToastInformacion);
}
}
}
private void cargaPeriodosCM()
{
int tipoPeriodo = DdlTipoPeriodoCM.SelectedValue.ToEntero();
int ejercicio = DdlEjerciciosCM.SelectedValue.ToEntero();
DataTable dtPeriodos = null;
if (tipoPeriodo > 0)
{
using (ClsNominas objperiodos = new ClsNominas())
{
if (objperiodos.GetPeriodos(tipoPeriodo, UsuarioActual.CveEmpresa, ejercicio, -1, -1))
{
dtPeriodos = objperiodos.DtResultados;
}
}
}
DdlPeriodoCM.DataSource = dtPeriodos;
DdlPeriodoCM.DataBind();
DdlPeriodoCM.Items.Insert(0, new ListItem("Seleccione", "-1"));
UpModalAsistenciaMasiva.Update();
}
protected void DdlEjerciciosCM_SelectedIndexChanged(object sender, EventArgs e)
{
cargaPeriodosCM();
}
protected void DdlTipoPeriodoCM_SelectedIndexChanged(object sender, EventArgs e)
{
cargaPeriodosCM();
}
protected void DdlTipoPeriodoCM_SelectedIndexChanged1(object sender, EventArgs e)
{
}
}