This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2020-10-14 05:40:06 -07:00
parent dd8f8653e5
commit d5d5893684
8 changed files with 350 additions and 269 deletions

View File

@@ -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>

View File

@@ -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();
}
}