This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-11-02 05:43:42 -07:00
parent 31b67fcea5
commit 8b0555f7f5
6 changed files with 234 additions and 20 deletions

View File

@@ -615,19 +615,49 @@
<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 class="actions">
<%--<asp:LinkButton ID="LnkProcesarReporteIncidenciaCitrus" CssClass="btn yellow-gold" OnClick="LnkProcesarReporteIncidenciaCitrus_Click" runat="server">Descargar</asp:LinkButton>
<asp:LinkButton ID="LinkButton1" CssClass="btn yellow-gold" OnClick="LnkMostrarocultarConceptos_Click" runat="server">Cargar</asp:LinkButton>--%>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" class="btn-group ">
<ContentTemplate>
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="sidebar-toggler-wrapper"></i>Asistencia
<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu pull-right">
<li>
<asp:LinkButton ID="LnkProcesarReporteIncidenciaTabular" OnClick="LnkProcesarReporteIncidenciaTabular_Click" Text="<i class='fa fa-download'></i> Plantilla" runat="server"></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkshowProsesarASistencia" OnClick="LnkshowProsesarASistencia_Click" Text="<i class='fa fa-download'></i> Actualizar asistencia" runat="server"></asp:LinkButton>
</li>
<%-- <li>
<asp:LinkButton ID="LnkCalculoSubsidio" OnClick="LnkCalculoSubsidio_Click" Text="<i class='icon-bulb'></i> Calculo Subsidio" runat="server"></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCalculoISR" OnClick="LnkCalculoISR_Click" Text="<i class='icon-bulb'></i> Calculo ISR" runat="server"></asp:LinkButton>
</li>--%>
</ul>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkProcesarReporteIncidenciaTabular" />
</Triggers>
</asp:UpdatePanel>
<div class="btn-group">
</div>
</div>
</div>
<asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
@@ -3195,6 +3225,47 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DModalAsistenciaTabular" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpdatePanel3" 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">ASISTENCIA TABULAR</h4>
</div>
<div class="modal-body">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-upload font-green"></i>
<span class="caption-subject bold uppercase">cargar Asistencia Tabular </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding ">
<asp:TextBox ID="TxtAsistenciaTabular" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
</div>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkProcesarAsistenciaTabular" OnClick="LnkProcesarAsistenciaTabular_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DModalNominas" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpCargarNomina" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">

View File

@@ -8062,6 +8062,146 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
RegistraScript("$('#DmodalReportePercepcionesdeducciones').modal()");
}
protected void LnkProcesarReporteIncidenciaTabular_Click(object sender, EventArgs e)
{
DateTime fechai = TxtRIFechaInicio.Text.ToDateTime();
DateTime fechaf = TxtRIFechaFin.Text.ToDateTime();
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
using (ClsNominas nom = new ClsNominas())
{
if (nom.GetPeriodos(-1,UsuarioActual.CveEmpresa,-1,-1, DdlPeriodo.SelectedValue.ToEntero(),-1) && (nom.DtResultados.Rows.Count>0))
{
fechai = nom.DtResultados.Rows[0]["FechaInicio"].ToString().ToDateTime();
fechaf = nom.DtResultados.Rows[0]["FechaFin"].ToString().ToDateTime();
}
if (nom.ReportedeincidenciasGET(UsuarioActual.CveEmpresa, fechai, fechaf, -4))
{
var libro = wb.AddWorksheet(nom.DTSetResultados.Tables[2], "Incidencias");
libro.ColumnsUsed().AdjustToContents();
var libroin = wb.AddWorksheet(nom.DTSetResultados.Tables[1], "Descripción incidencias");
libroin.ColumnsUsed().AdjustToContents();
libro.Row(1).InsertRowsAbove(4);
libro.Range(1, 2, 1, 6).Merge().Value = UsuarioActual.Empresa.Empresa;
libro.Range(2, 2, 2, 6).Merge().Value = "Reporte de incidencias";
libro.Range(3, 2, 3, 6).Merge().Value = $"del {fechai:dd/MM/yyyy} al {fechaf:dd/MM/yyyy}";
libro.Range(2, 7, 2, 9).Merge().Value = $"Fecha:{DateTime.Now:dd/MM/yyyy}";
libro.Range(3, 7, 3, 9).Merge().Value = $"Hora:{DateTime.Now:HH:mm}";
//ws.Row(1).InsertRowsAbove(1);
}
}
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=incidencias del {0:dd-MM-yyyy} al {1:dd-MM-yyyy}.xlsx", fechai, fechaf));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
//
protected void LnkshowProsesarASistencia_Click(object sender, EventArgs e)
{
RegistraScript("$('#DModalAsistenciaTabular').modal()");
}
protected void LnkProcesarAsistenciaTabular_Click(object sender, EventArgs e)
{
int chkImporteValor = 1;
int chkImporte = 1;
int chkImporteGravado = 0;
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
bool continuar = Filesgral.Count > 0;
string stringError = "";
Archivo fileItem = continuar ? Filesgral[0] : null;
if (continuar)
{
string FileExtension = fileItem.Extension.ToUpper();
if (FileExtension == "XLS" | FileExtension == "XLSX" | FileExtension == "CSV")
{
}
else
{
continuar = false;
stringError = "No se inserto un archivo de tipo Excel";
}
}
if (!(CvePeriodoSeleccionado >= 0))
{
continuar = false;
stringError = "debe cargar el periodo a actualizar";
}
DataTable DTEXcel = new DataTable();
if (continuar)
{
try
{
DataTable dtxz = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true,4);
DTEXcel = dtxz.FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
}
catch (Exception ex)
{
continuar = false;
stringError = "Ocurrio un Error al procesar el excel ";
string.Format("{0} \r\n{0}", stringError, ex.ToString()).GuardaLog();
}
}
if (continuar && DTEXcel.Rows.Count == 0)
{
continuar = false;
stringError = "No se encontraron cambios";
}
if(continuar)
{
for (int j = 2; j < DTEXcel.Rows.Count; j++)
{
for (int i = 1; i < DTEXcel.Columns.Count; i++)
{
/*
//
string conceptocodigo = drowx[i].ToString(); string CveConcepto;
DataRow dconr = dtConceptos.FiltroPrimero(string.Format("codigo='{0}'", conceptocodigo));
if (dconr != null)
{
CveConcepto = dconr["CveConcepto"].ToString();
dtxz.Columns[i].ColumnName = CveConcepto;
}
else
{
continuar = false;
stringError = string.Format("Ocurrio un Error al procesar el excel código no valido '{0}'({1}).", conceptocodigo, i);
break;
}*/
//int CveConcepto = dtxz.Columns[i].ColumnName.ToEntero();
}
}
}
}
protected void LnkProcesarReporteIncidencia_Click(object sender, EventArgs e)
{
@@ -8876,4 +9016,5 @@ public partial class Nomina_Nomina2 : ClsPaginas
UpviewCorreos.Update();
RegistraScript(string.Format("$('#ModalViewCorreo').modal();", TxtmcImporte.ClientID));
}
}