This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-03-04 04:25:39 -07:00
parent 255a20d6f4
commit 019d54bd9a
16 changed files with 2189 additions and 1707 deletions

View File

@@ -258,11 +258,14 @@ public partial class Nomina_CatConcepto : ClsPaginas
{
if (UsuarioActual.Empresa.UsaContabilidad)
{
ClsContPAQi ObjConta = new ClsContPAQi(UsuarioActual.Empresa);
if (ObjConta.GetCuentas(-1, "-1", 1))
using (ClsContPAQi ObjConta = new ClsContPAQi(UsuarioActual.Empresa))
{
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
if (ObjConta.GetCuentas(-1, "-1", 1))
{
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
}
}
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));

View File

@@ -67,10 +67,11 @@
.isOnlyBisibleP td:nth-child(-n+3) a {
color: #999;
}
.isOnlyBisibleD td:nth-last-child(-n+3) a {
color: #999;
}
.isOnlyBisibleO td:nth-last-child(-n+3) a {
color: #999;
}
@@ -137,7 +138,10 @@
<asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAutorizar" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar nómina</asp:LinkButton>
<asp:LinkButton ID="LnkAutorizar" Visible ="true" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkRegistrarProvision" OnClick="LnkRegistrarProvision_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Registrar provisión</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCargaAsistenciaMasiva" OnClick="LnkCargaAsistenciaMasiva_Click" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga masiva de Asistencia</asp:LinkButton>
@@ -166,6 +170,12 @@
<li>
<asp:LinkButton ID="LnkDownArchivosSua" OnClick="LnkDownArchivosSua_Click" runat="server"><i class="fa fa-download"></i> Descargar Archivos SUA</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkTimbrarTodos" Visible="true" OnClick="LnkTimbrarTodos_Click" runat="server"><i class="fa fa-bell"></i> Timbrar todos</asp:LinkButton>
</li>
<li>
<asp:HyperLink ID="HypPDFSTimbrados" NavigateUrl="#" runat="server"><i class="fa fa-download" aria-hidden="true"></i>PDF Timbrado</asp:HyperLink>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkListaRaya" />
@@ -222,18 +232,20 @@
<div class="row">
<label class="col-md-1 ">Agrupador:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlAgrupador" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Empresa" Value="1"></asp:ListItem>
<asp:ListItem Text="Turno" Value="2"></asp:ListItem>
<asp:DropDownList ID="DdlAgrupadorB" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Sin Agrupación" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Centro de costos" Value="1"></asp:ListItem>
<asp:ListItem Text="Departamento" Value="2"></asp:ListItem>
<asp:ListItem Text="Turno" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="LblProyecto" CssClass="col-md-1 " runat="server" Text="Proyecto:"></asp:Label>
<asp:Label ID="LblProyecto" CssClass="col-md-1 " runat="server" Text="Proyecto:"></asp:Label>
<div runat="server" id="divddlproyeto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="LblSubProyeccto" CssClass="col-md-1 " runat="server" Text="SubProyecto:"></asp:Label>
<asp:Label ID="LblSubProyeccto" CssClass="col-md-1 " runat="server" Text="SubProyecto:"></asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
@@ -273,15 +285,7 @@
<asp:ListItem Text="Todos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 " style="line-height: 1;">Agrupador:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlAgrupadorB" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Sin Agrupación" Value="-1" Selected ="True"></asp:ListItem>
<asp:ListItem Text="Centro de costos" Value="1"></asp:ListItem>
<asp:ListItem Text="Departamento" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
@@ -453,7 +457,7 @@
<asp:TemplateField>
<ItemTemplate>
<div style="width: 100px; text-align: right;white-space: nowrap;padding-right: 10px;">
<div style="width: 100px; text-align: right; white-space: nowrap; padding-right: 10px;">
<asp:HyperLink ID="HypXml" Visible="false" NavigateUrl="#" runat="server">XML</asp:HyperLink>
<asp:HyperLink ID="HypPDF" Visible="false" NavigateUrl="#" runat="server"><i class="fa fa-ad-pdf"></i></asp:HyperLink>
<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" />
@@ -585,7 +589,8 @@
<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 :</span><asp:Label ID="LblEmpleado" runat="server" Text=""></asp:Label>
<span class="caption-subject bold font-black uppercase">Trabajador : </span>
<asp:Label ID="LblEmpleado" runat="server" Text=""></asp:Label>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
@@ -593,92 +598,92 @@
</div>
<div class="portlet-body " style="padding: 0px;">
<div class="row">
<div class="col-md-2 bold">No. trabajador</div>
<div class="col-md-3">
<div class="col-sm-3 bold">No. trabajador</div>
<div class="col-sm-3">
<asp:Label ID="LblCodigoEmpleado" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Días trabajados</div>
<div class="col-md-4">
<div class="col-sm-3 bold">Días trabajados</div>
<div class="col-sm-3">
<asp:Label ID="LblDiasLaborados" runat="server"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-2 bold">Salario diario</div>
<div class="col-md-3">
<div class="col-sm-3 bold">Salario diario</div>
<div class="col-sm-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">
<div class="col-sm-3 bold">Salario Diario Integrado</div>
<div class="col-sm-3">
<asp:Label ID="LblSRSalarioDiarioIntegrado" runat="server"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-2 bold">Salario base cotización</div>
<div class="col-md-3">
<div class="col-sm-3 bold">Salario base cotización</div>
<div class="col-sm-3">
<asp:Label ID="LblSRSbc" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold"></div>
<div class="col-md-4">
<div class="col-sm-3 bold"></div>
<div class="col-sm-3">
<asp:Label ID="Label3" runat="server"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-2 bold">Puesto</div>
<div class="col-md-3">
<div class="col-sm-3 bold">Puesto</div>
<div class="col-sm-3">
<asp:Label ID="LblSRPuesto" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Departamento </div>
<div class="col-md-4">
<div class="col-sm-3 bold">Departamento </div>
<div class="col-sm-3">
<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-3">
<div class="col-sm-3 bold">Afi IMSS </div>
<div class="col-sm-3">
<asp:Label ID="LblNSS" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Faltas</div>
<div class="col-md-4">
<div class="col-sm-3 bold">Faltas</div>
<div class="col-sm-3">
<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-3">
<div class="col-sm-3 bold">R.F.C.</div>
<div class="col-sm-3">
<asp:Label ID="LblRFC" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Retardos</div>
<div class="col-md-4">
<div class="col-sm-3 bold">Retardos</div>
<div class="col-sm-3">
<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-3">
<div class="col-sm-3 bold">Curp</div>
<div class="col-sm-3">
<asp:Label ID="LblCURP" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Días Vacaciones</div>
<div class="col-md-4">
<div class="col-sm-3 bold">Días Vacaciones</div>
<div class="col-sm-3">
<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-3">
<div class="col-sm-3 bold">Tipo de Pago</div>
<div class="col-sm-3">
<asp:Label ID="LblTipoPeriodo" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Días Incapacidad</div>
<div class="col-md-4">
<div class="col-sm-3 bold">Días Incapacidad</div>
<div class="col-sm-3">
<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-3">
<div class="col-sm-3 bold">Fecha de Pago</div>
<div class="col-sm-3">
<asp:Label ID="LblFechaPagosrb" runat="server"></asp:Label>
</div>
<div class="col-md-3 bold">Periodo del</div>
<div class="col-md-4">
<div class="col-sm-3 bold">Periodo del</div>
<div class="col-sm-3">
<asp:Label ID="LblFecha" runat="server"></asp:Label>
</div>
</div>
@@ -1053,10 +1058,18 @@
<div class="row">
<div class="col-md-3">Activo?</div>
<div class="col-md-3">
<div class="col-md-6">
<div class="form-group form-md-line-input form-md-floating-label input-iconright">
<asp:Label runat="server" Text="Cuenta contable" AssociatedControlID="DdlCtaContable"></asp:Label>
<asp:DropDownList ID="DdlCtaContable" runat="server" AppendDataBoundItems="True" DataTextField="CtaCodigo" DataValueField="Id" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
<div class="col-md-3">¿Activo? <br />
<asp:CheckBox ID="ChkEstatus" CssClass="chksino " Text=" " runat="server" />
</div>
<div class="col-md-3">
</div>
</div>
<div class="text-right">
@@ -1682,13 +1695,13 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorP" runat="server" Text='<%# Eval("ValorP", "{0:##,###.##}") %>' ></asp:Label>
<asp:Label ID="LtlValorP" runat="server" Text='<%# Eval("ValorP", "{0:##,###.##}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="5%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' ></asp:Label>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>'></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="5%" />
@@ -1702,13 +1715,13 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorD" runat="server" Text='<%# Eval("ValorD", "{0:##,###.##}") %>' ></asp:Label>
<asp:Label ID="LtlValorD" runat="server" Text='<%# Eval("ValorD", "{0:##,###.##}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="5%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' ></asp:Label>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>'></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConceptoD_Click" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="5%" />
@@ -1722,13 +1735,13 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorO" runat="server" Text='<%# Eval("ValorO", "{0:##,###.##}") %>' ></asp:Label>
<asp:Label ID="LtlValorO" runat="server" Text='<%# Eval("ValorO", "{0:##,###.##}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="5%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteO" runat="server" Text='<%# Eval("ImporteO", "${0:N}") %>' ></asp:Label>
<asp:Label ID="LtlImporteO" runat="server" Text='<%# Eval("ImporteO", "${0:N}") %>'></asp:Label>
<asp:LinkButton ID="LnkImporteO" OnClick="LnkConceptoD_Click" runat="server" Text='<%# Eval("ImporteO", "${0:N}") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="5%" />
@@ -2076,10 +2089,10 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:TextBox ID="TxtCvePeriodo" CssClass="TxtCvePeriodo hidden" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtCvePeriodo" CssClass="TxtCvePeriodo hidden" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtCvePersonal" CssClass="TxtCvePersonal hidden" runat="server"></asp:TextBox>
<asp:Button ID="BtnGeneratepdf" CssClass="BtnGeneratepdf hidden" OnClick="BtnGeneratepdf_Click" UseSubmitBehavior="false" runat="server" Text="Button" />
<asp:Button ID="BtnGenerateXml" CssClass="BtnGenerateXml hidden" OnClick="BtnGenerateXml_Click" UseSubmitBehavior="false" runat="server" Text="Button" />
<asp:Button ID="BtnGeneratepdf" CssClass="BtnGeneratepdf hidden" OnClick="BtnGeneratepdf_Click" UseSubmitBehavior="false" runat="server" Text="Button" />
<asp:Button ID="BtnGenerateXml" CssClass="BtnGenerateXml hidden" OnClick="BtnGenerateXml_Click" UseSubmitBehavior="false" runat="server" Text="Button" />
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>

View File

@@ -9,6 +9,8 @@ using System.Data;
using System.Text;
using static Extensiones.ModExtensiones;
using System.Drawing;
using iTextSharp.text.pdf;
using System.IO;
public partial class Nomina_Nomina2 : ClsPaginas
{
@@ -343,7 +345,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
FiltCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero();
FiltCveTurno = DdlTurno.SelectedValue.ToEntero();
FiltCvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
FiltAgrupador = DdlAgrupador.SelectedValue.ToEntero();
FiltAgrupador = 1;
HypPDFSTimbrados.Attributes.Add("onclick", string.Format("GETPDF({0},{1})", -1, FiltCvePeriodo));
cargaDatos();
}
@@ -833,6 +836,30 @@ public partial class Nomina_Nomina2 : ClsPaginas
dt.AcceptChanges();
dt = dt.FiltraParametros("", "CveDepartamento,Departamento,Codigo,Nombre");
}
if (DdlAgrupadorB.SelectedValue == "3")
{
foreach (DataRow drow in dtempleados.FiltraParametros("CvePersonal > 0", "", new string[] { "CveTurno", "Turno" }).Rows)
{
DataRow dr = dt.NewRow();
filtrogrupo = (drow["CveTurno"] == DBNull.Value ? "CveTurno IS NULL AND CvePersonal>0 " : string.Format("CveTurno = {0} AND CvePersonal>0", drow["CveTurno"]));
foreach (DataRow row in dtConceptos.FiltraParametros("EsPadre = 1 ").Rows)
{
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
dr[string.Format("V_{0}", CveConcepto)] = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), filtrogrupo);
}
dr["CveTurno"] = drow["CveTurno"];
dr["Turno"] = drow["Turno"];
dr["SumaPercepciones"] = dtempleados.SUM("SumaPercepciones", filtrogrupo);
dr["SumaDeducciones"] = dtempleados.SUM("SumaDeducciones", filtrogrupo);
dr["Total"] = dtempleados.SUM("Total", filtrogrupo);
dr["SumaObligaciones"] = dtempleados.SUM("SumaObligaciones", filtrogrupo);
dt.Rows.Add(dr);
}
dt.AcceptChanges();
dt = dt.FiltraParametros("", "CveDepartamento,Departamento,Codigo,Nombre");
}
GvNominas.DataSource = dt;
GvNominas.DataBind();
}
@@ -904,8 +931,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
else
{
e.Row.FCHyperLink("HypPDF").Attributes.Add("onclick", string.Format("GETPDF({0},{1})", cvePersonal, CvePeriodo));
//e.Row.FindControl("HypPDF").Visible = true;
e.Row.FCHyperLink("HypPDF").Attributes.Add("onclick", string.Format("GETPDF({0},{1})", -1, CvePeriodoSeleccionado));
e.Row.FindControl("HypPDF").Visible = true;
e.Row.CssClass = "SubTotales";
}
e.Row.FindControl("LnkSobreRecibo").Visible = false;
@@ -917,6 +944,48 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
#endregion
protected void LnkTimbrarTodos_Click(object sender, EventArgs e)
{
string msggral = "";
foreach (GridViewRow gvRow in GvNominas.Rows)
{
int CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
if (CvePersonal > 0 && LnkTimbrar.Visible)
{
LogicNominas lognom = new LogicNominas();
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
if (Msg != null && Msg.Length > 0)
{
msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo"));
}
else
{
ClsNominas ObjPeriodo = new ClsNominas();
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
ObjPeriodo.Dispose();
LnkTimbrar.Visible = false;
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("LnkCancelar").Visible = false;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
gvRow.ForeColor = Color.Green;
}
}
}
if (msggral.Length > 0)
{
Alert(string.Format("Ocurrieron los siguientes errores <table class=\"table table-striped table-hover mysmallbtn\" ><tbody><tr><th>Código</th><th>Nombre</th><th>Error</th></tr>{0}</tbody></table>", msggral), TipoMensaje.MsgAdvertencia);
}
UpDatos.Update();
}
protected void LnkTimbrar_Click(object sender, EventArgs e)
{
@@ -925,7 +994,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
int CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LogicNominas lognom = new LogicNominas();
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
@@ -939,8 +1007,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
Alert("Se ha timbrado correctamente");
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("LnkCancelar").Visible = false;
//gvRow.FCImage("ImgBandera").ImageUrl = "/Imagenes/flag_green.png";
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
gvRow.ForeColor = Color.Green;
lnk.Visible = false; UpDatos.Update();
}
@@ -1379,7 +1447,22 @@ public partial class Nomina_Nomina2 : ClsPaginas
protected void LnkSobreRecibo_Click(object sender, EventArgs e)
{
GridViewRow gvrow = (GridViewRow)(((LinkButton)sender).NamingContainer);
if (DdlCtaContable.Items.Count == 0)
{
using (ClsContPAQi ObjConta = new ClsContPAQi(UsuarioActual.Empresa))
{
if (ObjConta.GetCuentas(-1, "-1", 1))
{
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
}
}
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCtaContable.SelectedValueExist("-1");
}
string Nombre = gvrow.DataKey("Nombre").ToString();
SRCvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
SRCvePeriodo = gvrow.DataKey("CvePeriodo").ToEntero();
@@ -2179,22 +2262,29 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet("Nomina");
int column = 1;
libro.Cell(1, column).Value = " ";
libro.Cell(2, column).Value = "Codigo";
libro.Cell(3, column).Value = " ";
int filainicio = 3;
libro.Cell(filainicio + 1, column).Value = " ";
libro.Cell(filainicio + 2, column).Value = "Codigo";
libro.Cell(filainicio + 3, column).Value = " ";
column++;
libro.Cell(1, column).Value = " ";
libro.Cell(2, column).Value = "Empleado";
libro.Cell(3, column).Value = " ";
libro.Cell(filainicio + 1, column).Value = " ";
libro.Cell(filainicio + 2, column).Value = "Empleado";
libro.Cell(filainicio + 3, column).Value = " ";
libro.Column(column).Width = 35;
libro.Cell(1, 1).Value = "Empresa";
libro.Range(1, 2, 1, 4).Merge().Value = UsuarioActual.Empresa.Empresa;
libro.Cell(2, 1).Value = "período";
string periodo = DdlPeriodo.SelectedItem.Text;
periodo = periodo.Substring(0, (periodo.Length > 27 ? 27 : periodo.Length));
libro.Range(2, 2, 2, 4).Merge().Value = periodo;
int iniciotipe = column;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 ").Rows)
{
column++;
libro.Cell(2, column).Value = row["Concepto"].ToString();
libro.Cell(3, column).Value = row["Codigo"].ToString();
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
@@ -2203,12 +2293,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Range(2, column, 3, column).Merge().Value = "Percepciones";
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Percepciones";
libro.Column(column).Width = 15;
if (iniciotipe < column)
{
libro.Range(1, iniciotipe + 1, 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(1, iniciotipe + 1, 1, column).Merge().Value = "Percepciones";
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Percepciones";
}
iniciotipe = column;
@@ -2216,8 +2306,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 ").Rows)
{
column++;
libro.Cell(2, column).Value = row["Concepto"].ToString();
libro.Cell(3, column).Value = row["Codigo"].ToString();
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
@@ -2227,26 +2317,26 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Range(2, column, 3, column).Merge().Value = "Deducciones";
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Deducciones";
libro.Column(column).Width = 15;
if (iniciotipe < column)
{
libro.Range(1, iniciotipe + 1, 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(1, iniciotipe + 1, 1, column).Merge().Value = "Deducciones";
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Deducciones";
}
column++;
libro.Cell(1, column).Value = " ";
libro.Range(2, column, 3, column).Merge().Value = "Total";
libro.Cell(filainicio + 1, column).Value = " ";
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Total";
libro.Column(column).Width = 15;
iniciotipe = column;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 ").Rows)
{
column++;
libro.Cell(2, column).Value = row["Concepto"].ToString();
libro.Cell(3, column).Value = row["Codigo"].ToString();
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
@@ -2255,31 +2345,34 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Range(2, column, 3, column).Merge().Value = "Obligaciones";
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Obligaciones";
libro.Column(column).Width = 15;
if (iniciotipe < column)
{
libro.Range(1, iniciotipe + 1, 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(1, iniciotipe + 1, 1, column).Merge().Value = "Obligaciones";
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(filainicio + 1, iniciotipe + 1, filainicio+1, column).Merge().Value = "Obligaciones";
}
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(3).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
libro.Row(3).Cell(1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
//libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
//libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
//libro.Row(3).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
//libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
//libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
//libro.Row(3).Cell(1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
//libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
int maxnocolumn = column;
int Fila = 3;
int Fila = filainicio+3;
int cveSupProyecto = -5;
string subproyecto = "";
int oldcveSupProyecto = -5;
bool newsubproyecto = false;
bool newsubproyectoTitulo = false;
foreach (DataRow erow in dtempleados.FiltraParametros("", "CveSubProyecto").Rows)
DataTable dtsr = dtempleados.FiltraParametros("", "CveSubProyecto");
dtsr.Rows.Add(dtsr.NewRow());
foreach (DataRow erow in dtsr.Rows)
{
Fila++;
newsubproyecto = false; newsubproyectoTitulo = false;
@@ -2295,8 +2388,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
column = 1;
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
column++;
if (newsubproyectoTitulo) { libro.Cell(Fila - 1, column).Value = subproyecto; }
if (newsubproyecto) { libro.Cell(Fila - 3, column).Value = "Total"; }
if (newsubproyectoTitulo) {
libro.Cell(Fila - 1, column).Value = subproyecto;
libro.Range(Fila - 1, 1, Fila - 1, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(155, 194, 230));
}
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = "Total";
libro.Range(Fila - 3, 1, Fila - 3, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(155, 194, 230));
}
libro.Cell(Fila, column).Value = erow["Nombre"];
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'P' AND EsPadre = 1 ").Rows)
{
@@ -2313,6 +2413,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["SumaPercepciones"];
if (newsubproyecto)
{
@@ -2333,6 +2434,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["SumaDeducciones"];
if (newsubproyecto)
{
@@ -2340,6 +2442,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["Total"];
if (newsubproyecto)
{
@@ -2359,6 +2462,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["SumaObligaciones"];
if (newsubproyecto)
{
@@ -2367,6 +2471,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
@@ -2382,7 +2489,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "Nomina tabular"));
Response.AddHeader("content-disposition", string.Format("attachment;filename={0} {1}.xlsx", "Nomina tabular", periodo ));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
@@ -4912,26 +5019,108 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
else
{
byte[] pdf2 = new byte[1];
bool notfirst = false;
List<byte[]> pdfs = new List<byte[]>();
//byte[] pdf2 = new byte[1]; bool notfirst = false;
foreach (DataRow dr in dtempleados.Rows)
{
if (notfirst)
CvePersonal = dr["CvePersonal"].ToString().ToEntero();
if (CvePersonal > 0)
{
pdfs.Add(GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta));
pdf2 = GeneraPDFNomina(dr["CvePersonal"].ToString().ToEntero(), CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
byte[] newByteArray2 = pdf.Concat(pdf2).ToArray();
}
else
{
pdf = GeneraPDFNomina(dr["CvePersonal"].ToString().ToEntero(), CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
}
notfirst = true;
//if (notfirst)
//{
// pdf2 = GeneraPDFNomina(dr["CvePersonal"].ToString().ToEntero(), CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
// byte[] newByteArray2 = pdf.Concat(pdf2).ToArray();
//}
//else
//{
// pdf = GeneraPDFNomina(dr["CvePersonal"].ToString().ToEntero(), CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
//}
//notfirst = true;
}
pdf = MergeFiles(pdfs);
}
ImprimirbytesPDF(pdf, nombre);
}
public static byte[] MergeFiles(List<byte[]> sourceFiles)
{
string destinationFile;
try
{
using (MemoryStream ms = new MemoryStream())
{
int f = 0;
// we create a reader for a certain document
PdfReader reader = new PdfReader(sourceFiles[f]);
// we retrieve the total number of pages
int n = reader.NumberOfPages;
//Console.WriteLine("There are " + n + " pages in the original file.");
// step 1: creation of a document-object
iTextSharp.text.Document document = new iTextSharp.text.Document(reader.GetPageSizeWithRotation(1));
// step 2: we create a writer that listens to the document
//PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(destinationFile, FileMode.Create));
PdfWriter writer = PdfWriter.GetInstance(document, ms);
// step 3: we open the document
document.Open();
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page;
int rotation;
// step 4: we add content
while (f < sourceFiles.Count)
{
int i = 0;
while (i < n)
{
i++;
document.SetPageSize(reader.GetPageSizeWithRotation(i));
document.NewPage();
page = writer.GetImportedPage(reader, i);
rotation = reader.GetPageRotation(i);
if (rotation == 90 || rotation == 270)
{
cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
}
else
{
cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
//Console.WriteLine("Processed page " + i);
}
f++;
if (f < sourceFiles.Count)
{
reader = new PdfReader(sourceFiles[f]);
// we retrieve the total number of pages
n = reader.NumberOfPages;
//Console.WriteLine("There are " + n + " pages in the original file.");
}
}
// step 5: we close the document
document.Close();
return ms.ToArray();
}
}
catch (Exception e)
{
string strOb = e.Message;
}
return null;
}
public static int CountPageNo(string strFileName)
{
// we create a reader for a certain document
PdfReader reader = new PdfReader(strFileName);
// we retrieve the total number of pages
return reader.NumberOfPages;
}
protected void BtnGenerateXml_Click(object sender, EventArgs e)
{
@@ -4977,4 +5166,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
}
}
protected void LnkRegistrarProvision_Click(object sender, EventArgs e)
{
}
}