This commit is contained in:
@@ -4,7 +4,10 @@
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style>
|
||||
a.sline{white-space: nowrap ;}
|
||||
a.sline {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
td.cellFail {
|
||||
color: red;
|
||||
}
|
||||
@@ -113,7 +116,7 @@
|
||||
<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>
|
||||
<li>
|
||||
<asp:HyperLink ID="HypModalNomina" data-target="#DModalNominas" data-toggle="modal" runat="server"><i class="fa fa-upload" aria-hidden="true"></i>Cargar masiva de conceptos</asp:HyperLink>
|
||||
<asp:LinkButton ID="LnkModalPlantillaNomina" OnClick="LnkModalPlantillaNomina_Click" runat="server"><i class="fa fa-upload"></i>Cargar masiva de conceptos</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkVerTablas" OnClick="LnkVerTablas_Click" runat="server"><i class="fa fa-columns" aria-hidden="true"></i>Tablas de cálculo</asp:LinkButton>
|
||||
@@ -399,8 +402,8 @@
|
||||
<ItemTemplate>
|
||||
<div style="width: 70px; text-align: right;">
|
||||
<asp:LinkButton runat="server" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" />
|
||||
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" />
|
||||
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='fas fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && PermisoCancelarEmitido && Eval("SeTimbro").ToString() == "True"? true :false)%>' data-popout="true" data-original-title="¿Está seguro que desea cancelar la nómina?" data-btn-ok-label="si" />
|
||||
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" />
|
||||
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='fas fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && PermisoCancelarEmitido && Eval("SeTimbro").ToString() == "True"? true :false)%>' data-popout="true" data-original-title="¿Está seguro que desea cancelar la nómina?" data-btn-ok-label="si" />
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
@@ -417,7 +420,29 @@
|
||||
|
||||
<ajax:TabPanel ID="TabAsistencia" runat="server" HeaderText="Asistencia">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="portlet light xspadding bordered " id="pnldlAsistencia">
|
||||
<div class="portlet-title">
|
||||
<div class="caption ">
|
||||
<i class="fa fa-bookmark font-yellow-gold"></i>
|
||||
<span class="caption-subject font-yellow-gold bold uppercase">Asistencia</span>
|
||||
</div>
|
||||
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
<div style="float: right;">
|
||||
<asp:TextBox CssClass="TxtBusqasistencia form-control input-sm" runat="server" onkeyup="FiltrarTablaV2('.TxtBusqasistencia','.gvasistencia')" Style="display: inline-block; margin-right: -20px; width: 150px;"></asp:TextBox>
|
||||
<a href="javascript:;" onclick="FiltrarTablaV2('.TxtBusqasistencia','.gvasistencia')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier" style="font-weight: bold;"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ajax:TabContainer>
|
||||
@@ -513,71 +538,81 @@
|
||||
</div>
|
||||
<div class="portlet-body " style="padding: 0px;">
|
||||
<div class="row">
|
||||
<div class="col-md-2 bold">No. Trabajador</div>
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-2 bold">No. trabajador</div>
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblCodigoEmpleado" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Días Trabajados</div>
|
||||
<div class="col-md-3 bold">Días trabajados</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">Puesto</div>
|
||||
<div class="col-md-2 bold">Salario diario</div>
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblSRSalarioDiario" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-3 bold">Salario Diario Integrado</div>
|
||||
<div class="col-md-4">
|
||||
<asp:Label ID="LblSRSalarioDiarioIntegrado" runat="server"></asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2 bold">Puesto</div>
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblSRPuesto" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Departamento </div>
|
||||
<div class="col-md-3 bold">Departamento </div>
|
||||
<div class="col-md-4">
|
||||
<asp:Label ID="LblSRDepartamento" runat="server"></asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2 bold">Afi IMSS </div>
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblNSS" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Faltas</div>
|
||||
<div class="col-md-3 bold">Faltas</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">
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblRFC" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Retardos</div>
|
||||
<div class="col-md-3 bold">Retardos</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">
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblCURP" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Días Vacaciones</div>
|
||||
<div class="col-md-3 bold">Días Vacaciones</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">
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblTipoPeriodo" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Días Incapacidad</div>
|
||||
<div class="col-md-3 bold">Días Incapacidad</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">
|
||||
<div class="col-md-3">
|
||||
<asp:Label ID="LblFechaPagosrb" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-2 bold">Periodo del</div>
|
||||
<div class="col-md-3 bold">Periodo del</div>
|
||||
<div class="col-md-4">
|
||||
<asp:Label ID="LblFecha" runat="server"></asp:Label>
|
||||
</div>
|
||||
@@ -1095,8 +1130,52 @@
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding text-center">
|
||||
<asp:LinkButton ID="LnkFormato" OnClick="LnkFormato_Click" CssClass="btn btn-success" runat="server"><i class="fa fa-download"></i> Descargar Plantilla</asp:LinkButton>
|
||||
<div class="portlet-body rowpadding " id="showConceptos">
|
||||
<div class="row">
|
||||
<div class="col-xs-1"></div>
|
||||
<div class="col-xs-10">
|
||||
|
||||
<div class="portlet light smmallpadding bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="fa fa-download font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Conceptos</span>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
<div class="actions">
|
||||
|
||||
<div style="text-align: right;">
|
||||
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVConceptosPlantilla.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVConceptosPlantilla.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
|
||||
<asp:GridView ID="GVConceptosPlantilla" runat="server" GridLines="None" DataKeyNames="CveConcepto,Codigo,Concepto,Tipo" data-heigth="100"
|
||||
CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" BorderWidth="0" CellSpacing="0" Width="100%" AutoGenerateColumns="False"
|
||||
EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Codigo" HeaderText="Codigo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Concepto" HeaderText="Concepto" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Tipo" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="center">
|
||||
<ItemTemplate>
|
||||
<div style="width:50px;"><asp:CheckBox runat="server" ID="chkCon" /></div>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
<div class="portlet-footer text-center">
|
||||
<asp:LinkButton ID="LnkFormato" OnClick="LnkFormato_Click" CssClass="btn btn-success" runat="server"><i class="fa fa-download"></i> Descargar Plantilla</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%-- -recuerda Solo editar de las tercer fila en adelante.<br />
|
||||
@@ -1125,12 +1204,8 @@
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="LnkFormatoEmpleados" OnClick="LnkFormatoEmpleados_Click" Visible="false" CssClass="btn btn-succes" runat="server">Formato</asp:LinkButton>
|
||||
<asp:LinkButton ID="LnkCargarNomina" OnClick="LnkCargarNomina_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="LnkFormatoEmpleados" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1559,7 +1634,7 @@
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script>
|
||||
|
||||
|
||||
function shownew() {
|
||||
|
||||
setTimeout(function () {
|
||||
@@ -1636,11 +1711,11 @@
|
||||
//$('.GvConceptossimulador').append($('#Totalesperdeduccion'));
|
||||
$('.GvConceptossimulador').append($('#trnetoapagar'));
|
||||
}
|
||||
|
||||
|
||||
function ADSReady() {
|
||||
|
||||
setTimeout(function () { FiltrarTablaFreezcol('.TxtBusqueda', '.GvNominas');}, 250);
|
||||
|
||||
|
||||
setTimeout(function () { FiltrarTablaFreezcol('.TxtBusqueda', '.GvNominas'); }, 250);
|
||||
|
||||
}
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
@@ -309,11 +309,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
|
||||
protected void LnkConsultar_Click(object sender, EventArgs e)
|
||||
{
|
||||
FiltCveProyecto = DdlProyecto.SelectedValue.ToEntero();
|
||||
FiltCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero();
|
||||
FiltCveTurno = DdlTurno.SelectedValue.ToEntero();
|
||||
FiltCvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
|
||||
FiltAgrupador = DdlAgrupador.SelectedValue.ToEntero();
|
||||
FiltCveProyecto = DdlProyecto.SelectedValue.ToEntero();
|
||||
FiltCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero();
|
||||
FiltCveTurno = DdlTurno.SelectedValue.ToEntero();
|
||||
FiltCvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
|
||||
FiltAgrupador = DdlAgrupador.SelectedValue.ToEntero();
|
||||
cargaDatos();
|
||||
|
||||
}
|
||||
@@ -694,16 +694,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
DateTime FechaInicio = (DateTime)dtPeriodo.Rows[0]["FechaInicio"];
|
||||
DateTime FechaFin = (DateTime)dtPeriodo.Rows[0]["FechaFin"];
|
||||
StringBuilder gvasistencia = new StringBuilder();
|
||||
gvasistencia.Append("<table class=\"table table-striped table-hover mysmallbtn Widthall ScrollAD\">");
|
||||
gvasistencia.Append("<div><table class=\"table table-striped table-hover mysmallbtn Widthall ScrollAD gvasistencia \" data-rows=\"1\" data-heighterror=\"360\"><tbody>");
|
||||
if (true)
|
||||
{
|
||||
DateTime fecha = FechaInicio;
|
||||
|
||||
gvasistencia.Append("<tr class=\"Titulos\">");
|
||||
gvasistencia.Append("<td>Nombre</td>");
|
||||
gvasistencia.Append("<tr class=\"Titulos ADtr\">");
|
||||
gvasistencia.Append("<th>Nombre</th>");
|
||||
while (fecha <= FechaFin)
|
||||
{
|
||||
gvasistencia.AppendFormat("<td>{0:dd/MM/yyyy}</td>", fecha);
|
||||
gvasistencia.AppendFormat("<th>{0:dd/MM/yyyy}</th>", fecha);
|
||||
fecha = fecha.AddDays(1);
|
||||
}
|
||||
gvasistencia.Append("</tr>");
|
||||
@@ -715,8 +715,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
string nombre = rempl["Nombre"].ToString();
|
||||
string Codigo = rempl["Codigo"].ToString();
|
||||
DateTime fecha = FechaInicio; int HorasDobles, HorasTriples;
|
||||
gvasistencia.Append("<tr>");
|
||||
gvasistencia.AppendFormat("<td>{1}<br/>{0}</td>", nombre, Codigo);
|
||||
gvasistencia.Append("<tr>");
|
||||
gvasistencia.AppendFormat("<td><a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{2}<br/>{1}</a></td>", CvePersonal, nombre, Codigo);
|
||||
while (fecha <= FechaFin)
|
||||
{
|
||||
DataRow drow = dtasistencia.FiltroPrimero(string.Format("Fecha='{0:yyyy/MM/dd}' AND CvePersonal={1}", fecha, CvePersonal));
|
||||
@@ -743,7 +743,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
gvasistencia.Append("</tr>");
|
||||
}
|
||||
gvasistencia.Append("</table>");
|
||||
gvasistencia.Append("</tbody></table></div>");
|
||||
ltlGvAsistencia.Text = gvasistencia.ToString();
|
||||
}
|
||||
|
||||
@@ -895,6 +895,119 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void LnkModalPlantillaNomina_Click(object sender, EventArgs e)
|
||||
{
|
||||
RegistraScript("$('#DModalNominas').modal();");
|
||||
|
||||
using (ClsNominas ObjNomina = new ClsNominas())
|
||||
{
|
||||
if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
GVConceptosPlantilla.DataSource = ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
|
||||
GVConceptosPlantilla.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
UpCargarNomina.Update();
|
||||
}
|
||||
protected void LnkFormato_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
StringBuilder str = new StringBuilder("0");
|
||||
bool continuar = false;
|
||||
foreach (GridViewRow gvrow in GVConceptosPlantilla.Rows)
|
||||
{
|
||||
if (gvrow.DataKey("CveConcepto").ToEntero() > 0 && gvrow.FCCheckBox("chkCon").Checked)
|
||||
{
|
||||
str.AppendFormat(",{0}",gvrow.DataKey("CveConcepto"));
|
||||
continuar = true;
|
||||
}
|
||||
}
|
||||
if (continuar)
|
||||
{
|
||||
|
||||
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||
DataTable dtc = dtConceptos.FiltraParametros(string.Format("Tipo IN ('P','D','O') AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||
var libro = wb.AddWorksheet("Nomina");
|
||||
int column = 1;
|
||||
libro.Row(1).Hide();
|
||||
libro.Cell(1, column).Value = "Codigo";
|
||||
libro.Cell(2, column).Value = "Codigo";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
libro.Cell(2, column).Value = "Empleado";
|
||||
libro.Column(column).Width = 35;
|
||||
foreach (DataRow row in dtc.Rows)
|
||||
{
|
||||
column++;
|
||||
string CveConcepto = row["CveConcepto"].ToString();
|
||||
string Concepto = row["Concepto"].ToString();
|
||||
libro.Cell(1, column).Value = CveConcepto;
|
||||
libro.Cell(2, column).Value = Concepto;
|
||||
libro.Column(column).Width = 15;
|
||||
}
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Cell(3, 1).Value = 0;
|
||||
libro.Range(3, 2, 3, 3).Merge().Value = "¿Modificar SI(S)/NO(N)?";
|
||||
column = 2;
|
||||
foreach (DataRow row in dtc.Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(3, column).Value = "N";
|
||||
}
|
||||
libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||
|
||||
int Fila = 3;
|
||||
foreach (DataRow erow in dtempleados.FiltraParametros("CvePersonal>0 AND NomAutorizado=0").Rows)
|
||||
{
|
||||
Fila++;
|
||||
column = 1;
|
||||
libro.Cell(Fila, column).Value = erow["Codigo"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
foreach (DataRow row in dtc.Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
}
|
||||
}
|
||||
System.IO.Stream fs = new System.IO.MemoryStream();
|
||||
wb.SaveAs(fs);
|
||||
fs.Position = 0;
|
||||
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
|
||||
using (System.IO.Stream input = fs)
|
||||
|
||||
{
|
||||
input.CopyTo(memoryStream);
|
||||
}
|
||||
memoryStream.Position = 0;
|
||||
|
||||
Response.Clear();
|
||||
Response.Buffer = true;
|
||||
|
||||
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
||||
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "Plantilla conceptos nómina "));
|
||||
Response.BinaryWrite(memoryStream.ToArray());
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert("Debe seleccionar los conceptos a cargar.", TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
protected void LnkCargarNomina_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -920,37 +1033,6 @@ 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.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
|
||||
// {
|
||||
|
||||
// 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);
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true).FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
|
||||
|
||||
}
|
||||
@@ -974,28 +1056,28 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
{
|
||||
|
||||
int CveMoneda = 1;
|
||||
List<int> lConceptos = new List<int>();
|
||||
foreach (DataColumn item in DTEXcel.Columns)
|
||||
{
|
||||
if (item.ColumnName.ToEntero() > 0)
|
||||
{
|
||||
lConceptos.Add(item.ColumnName.ToEntero());
|
||||
}
|
||||
//List<int> lConceptos = new List<int>();
|
||||
//foreach (DataColumn item in DTEXcel.Columns)
|
||||
//{
|
||||
// if (item.ColumnName.ToEntero() > 0)
|
||||
// {
|
||||
// lConceptos.Add(item.ColumnName.ToEntero());
|
||||
// }
|
||||
|
||||
}
|
||||
//}
|
||||
using (ClsRH objpersonal = new ClsRH())
|
||||
{
|
||||
using (ClsNominas objNomina = new ClsNominas(objpersonal.IniciaTransacSQL()))
|
||||
{
|
||||
foreach (DataRow row in DTEXcel.FiltraParametros("CvePersonal>0").Rows)
|
||||
foreach (DataRow row in DTEXcel.FiltraParametros("LEN(Codigo)>0 ").Rows)
|
||||
{
|
||||
string Codigo = row["Codigo"].ToString();
|
||||
int CvePersonal = row["CvePersonal"].ToString().ToEntero();
|
||||
int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero();
|
||||
int CveNomina = 0;
|
||||
double SubTotal = 0;
|
||||
double Total = 0;
|
||||
int CveMetodoPago = 0;
|
||||
if (Codigo != "-1" && objpersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
|
||||
if (Codigo != "-1" && objpersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
|
||||
objpersonal.DtResultados.Rows.Count == 1)
|
||||
{
|
||||
CvePersonal = objpersonal.CvePersonal;
|
||||
@@ -1003,6 +1085,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
else
|
||||
{
|
||||
CvePersonal = 0;
|
||||
str.AppendLine(string.Format("No se encontro el codigo {0}<br>", Codigo));
|
||||
}
|
||||
if (CvePersonal > 0)
|
||||
@@ -1048,7 +1131,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
// objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, UsuarioActual.CveUsuario);
|
||||
|
||||
//}
|
||||
for (int i = 3; i < DTEXcel.Columns.Count; i++)
|
||||
for (int i = 2; i < DTEXcel.Columns.Count; i++)
|
||||
{
|
||||
int CveConcepto = DTEXcel.Columns[i].ColumnName.ToEntero();
|
||||
decimal Importe = 0;
|
||||
@@ -1070,7 +1153,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
else
|
||||
{
|
||||
rollback = false;
|
||||
stringError = "ocurrio un error al procesar el archivo favor de intentar de nuevo volviendo a descargar el archivo.<br/>si el problema Persiste Contacte a soporte.";
|
||||
stringError = "ocurrio un error al procesar el archivo favor de intentar de nuevo volviendo a descargar la plantilla.<br/>si el problema Persiste Contacte a soporte.";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1162,6 +1245,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
string DiasIncapacidad = "";
|
||||
string Puesto = "";
|
||||
string Departamento = "";
|
||||
string SD = "";
|
||||
string SDI = "";
|
||||
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", SRCvePersonal));
|
||||
if (drow != null)
|
||||
{
|
||||
@@ -1172,6 +1257,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
FechaFin = string.Format("{0:dd/MM/yyyy}", drow["FechaFin"]);
|
||||
DiasRetardos = string.Format("{0}", drow["DiasRetardos"].ToString().ToEntero());
|
||||
DiasIncapacidad = string.Format("{0}", drow["DiasIncapacidad"].ToString().ToEntero());
|
||||
SD = string.Format("{0}", drow["SalarioDiario"]);
|
||||
SDI = string.Format("{0}", drow["SalarioDiarioIntegrado"]);
|
||||
}
|
||||
|
||||
using (ClsRH objrh = new ClsRH())
|
||||
@@ -1203,6 +1290,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
LblDiasIncapacidad.Text = DiasIncapacidad;
|
||||
LblSRPuesto.Text = Puesto;
|
||||
LblSRDepartamento.Text = Departamento;
|
||||
LblSRSalarioDiario.Text = SD;
|
||||
LblSRSalarioDiarioIntegrado.Text = SDI;
|
||||
#endregion
|
||||
#region "Sobre Recibo"
|
||||
{
|
||||
@@ -1745,110 +1834,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
}
|
||||
|
||||
protected void LnkFormato_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||
var libro = wb.AddWorksheet("Nomina");
|
||||
int column = 1;
|
||||
libro.Row(1).Hide();
|
||||
libro.Column(1).Hide();
|
||||
|
||||
libro.Cell(1, column).Value = "CvePersonal";
|
||||
libro.Cell(2, column).Value = "CvePersonal";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Codigo";
|
||||
libro.Cell(2, column).Value = "Codigo";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
libro.Cell(2, column).Value = "Empleado";
|
||||
libro.Column(column).Width = 35;
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P','D','O') AND EsPadre = 1 ").Rows)
|
||||
{
|
||||
column++;
|
||||
string CveConcepto = row["CveConcepto"].ToString();
|
||||
string Concepto = row["Concepto"].ToString();
|
||||
libro.Cell(1, column).Value = CveConcepto;
|
||||
libro.Cell(2, column).Value = Concepto;
|
||||
libro.Column(column).Width = 15;
|
||||
//column++;
|
||||
//CveConcepto = string.Format("E{0}", row["CveConcepto"]);
|
||||
//Concepto = string.Format("Exento {0}", row["Concepto"]);
|
||||
//libro.Cell(1, column).Value = CveConcepto;
|
||||
//libro.Cell(2, column).Value = Concepto;
|
||||
//libro.Column(column).Width = 15;
|
||||
|
||||
}
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
//libro.Row(1).Cell(13).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(247, 150, 70));
|
||||
//libro.Row(1).Cell(14).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(0, 176, 240));
|
||||
//libro.Row(1).Cell(15).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||
|
||||
libro.Cell(3, 1).Value = 0;
|
||||
libro.Range(3, 2, 3, 3).Merge().Value = "¿Modificar SI(S)/NO(N)?";
|
||||
column = 3;
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P','D','O') AND EsPadre = 1 ").Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(3, column).Value = "N";
|
||||
//column++;
|
||||
//string ConceptoG = string.Format("VG_{0}", row["CveConcepto"]);
|
||||
//libro.Cell(3, column).Value = "N";
|
||||
|
||||
}
|
||||
libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||
|
||||
int Fila = 3;
|
||||
foreach (DataRow erow in dtempleados.FiltraParametros("CvePersonal>0").Rows)
|
||||
{
|
||||
Fila++;
|
||||
column = 1;
|
||||
libro.Cell(Fila, column).Value = erow["CvePersonal"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["Codigo"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P','D','O') AND EsPadre = 1 ").Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
//column++;
|
||||
//string ConceptoG = string.Format("VG_{0}", row["CveConcepto"]);
|
||||
//libro.Cell(Fila, column).Value = erow[Concepto].ToString().ToDecimal() - erow[ConceptoG].ToString().ToDecimal();
|
||||
|
||||
}
|
||||
}
|
||||
//libro.Row(2).SetAutoFilter();
|
||||
System.IO.Stream fs = new System.IO.MemoryStream();
|
||||
wb.SaveAs(fs);
|
||||
fs.Position = 0;
|
||||
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
|
||||
using (System.IO.Stream input = fs)
|
||||
|
||||
{
|
||||
input.CopyTo(memoryStream);
|
||||
}
|
||||
memoryStream.Position = 0;
|
||||
|
||||
Response.Clear();
|
||||
Response.Buffer = true;
|
||||
|
||||
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
||||
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "FormatoCargaNominas"));
|
||||
Response.BinaryWrite(memoryStream.ToArray());
|
||||
Response.End();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString());
|
||||
}
|
||||
}
|
||||
protected void LnkConcepto_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -1977,7 +1962,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
paragraphh.ParagraphFormat.Style = styilo;
|
||||
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Días pagados:{0}, Retardos: {1}, Ausencias:{2} ", drow2["DiasPago"], drow2["DiasRetardos"], drow2["DiasFaltados"])); cell.Blocks.Add(paragraphh);
|
||||
paragraphh.ParagraphFormat.Style = styilo;
|
||||
|
||||
|
||||
|
||||
row = new GemBox.Document.Tables.TableRow(document);
|
||||
sobrereciboTable.Rows.Add(row);
|
||||
@@ -3662,7 +3647,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
{
|
||||
cargaPeriodosCM();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
protected void LnkGuardarASistencia_Click(object sender, EventArgs e)
|
||||
@@ -4200,4 +4185,5 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
Response.BinaryWrite(memoryStream.ToArray());
|
||||
Response.End();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user