This commit is contained in:
@@ -434,8 +434,8 @@ public partial class Nomina_Aguinaldo : ClsPaginas
|
|||||||
FraccionI = (aguinaldogravado / diasanio) * diasmes;
|
FraccionI = (aguinaldogravado / diasanio) * diasmes;
|
||||||
FraccionII_1 = salariomensual + FraccionI;
|
FraccionII_1 = salariomensual + FraccionI;
|
||||||
str.Clear();
|
str.Clear();
|
||||||
str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes);
|
str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, {2}, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes, DdlEjercicios.SelectedValue);
|
||||||
str.AppendFormat(" dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes);
|
str.AppendFormat(" dbo.Fnc_NomValues(40, 0, {2}, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes, DdlEjercicios.SelectedValue);
|
||||||
if (objbase.runQuerystr(str.ToString()))
|
if (objbase.runQuerystr(str.ToString()))
|
||||||
{
|
{
|
||||||
DataRow drow = objbase.DtResultados.Rows[0];
|
DataRow drow = objbase.DtResultados.Rows[0];
|
||||||
|
|||||||
@@ -262,6 +262,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<asp:LinkButton ID="LnkModalPlantillaNomina" OnClick="LnkModalPlantillaNomina_Click" runat="server"><i class="fa fa-upload"></i>Cargar masiva de conceptos</asp:LinkButton>
|
<asp:LinkButton ID="LnkModalPlantillaNomina" OnClick="LnkModalPlantillaNomina_Click" runat="server"><i class="fa fa-upload"></i>Cargar masiva de conceptos</asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton ID="LnkCargaNetos" OnClick="LnkCargaNetos_Click" runat="server"><i class="fa fa-upload"></i>Cargar netos</asp:LinkButton>
|
||||||
|
</li>
|
||||||
<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>
|
<asp:LinkButton ID="LnkVerTablas" OnClick="LnkVerTablas_Click" runat="server"><i class="fa fa-columns" aria-hidden="true"></i>Tablas de cálculo</asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
@@ -3364,6 +3367,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="portlet-body rowpadding ">
|
<div class="portlet-body rowpadding ">
|
||||||
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
|
||||||
|
<div class=" text-right">
|
||||||
|
<asp:CheckBox ID="ChkRecalcularNomina" Text="¿Volver a calcular la nómina?" runat="server" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -3383,6 +3389,60 @@
|
|||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="DmodalNetos" class="modal ADS fade" role="dialog">
|
||||||
|
<asp:UpdatePanel ID="UpdatePanel4" 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">×</span>
|
||||||
|
</button>
|
||||||
|
<h4 class="modal-title" runat="server" style="text-align: left">Cargar Netos </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 archivo </span>
|
||||||
|
</div>
|
||||||
|
<div class="tools">
|
||||||
|
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||||
|
</div>
|
||||||
|
<div class="actions">
|
||||||
|
<div class="btn-group">
|
||||||
|
<asp:LinkButton ID="LnkFormatoNetos" OnClick="LnkFormatoNetos_Click" CssClass="btn yellow-gold" runat="server"><i class="fa fa-download"></i> Descargar Plantilla</asp:LinkButton>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="portlet-body rowpadding ">
|
||||||
|
<asp:TextBox ID="TxtCargarNetos" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<asp:LinkButton ID="LnkCargarNominaNetos" OnClick="LnkCargarNomina_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
<Triggers>
|
||||||
|
<asp:PostBackTrigger ControlID="LnkFormatoNetos" />
|
||||||
|
</Triggers>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
|
<div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
|
||||||
<asp:UpdatePanel ID="UpModalAsistenciaMasiva" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpModalAsistenciaMasiva" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
{
|
{
|
||||||
|
LnkCargaNetos.Visible = (UsuarioActual.CveRol == 1);
|
||||||
using (ClsRH objrh = new ClsRH())
|
using (ClsRH objrh = new ClsRH())
|
||||||
{
|
{
|
||||||
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
|
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
|
||||||
@@ -1742,6 +1743,178 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
UpCargarNomina.Update();
|
UpCargarNomina.Update();
|
||||||
}
|
}
|
||||||
|
protected void LnkCargaNetos_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
RegistraScript("$('#DmodalNetos').modal();");
|
||||||
|
|
||||||
|
}
|
||||||
|
protected void LnkFormatoNetos_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
StringBuilder str = new StringBuilder("0");
|
||||||
|
bool continuar = false;
|
||||||
|
using (ClsNominas ObjNomina = new ClsNominas())
|
||||||
|
{
|
||||||
|
if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
GVConceptosPlantilla.DataSource = ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
|
||||||
|
GVConceptosPlantilla.DataBind();
|
||||||
|
foreach (DataRow gvrow in ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveSistema =-1").Rows)
|
||||||
|
{
|
||||||
|
if (gvrow["CveConcepto"].ToEntero() > 0 )
|
||||||
|
{
|
||||||
|
str.AppendFormat(",{0}", gvrow["CveConcepto"]);
|
||||||
|
continuar = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
string msgerror = "Debe seleccionar los conceptos a cargar.";
|
||||||
|
if (dtConceptos == null || dtConceptos.Columns.Count <= 2)
|
||||||
|
{
|
||||||
|
msgerror = "Debe cargar el periodo antes de descargar la plantilla";
|
||||||
|
continuar = false;
|
||||||
|
}
|
||||||
|
if (continuar)
|
||||||
|
{
|
||||||
|
|
||||||
|
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||||
|
|
||||||
|
var libro = wb.AddWorksheet("Nomina");
|
||||||
|
int column = 1;
|
||||||
|
libro.Row(1).Hide();
|
||||||
|
libro.Cell(1, column).Value = "Codigo";
|
||||||
|
libro.Cell(3, column).Value = "Codigo";
|
||||||
|
column++;
|
||||||
|
libro.Cell(1, column).Value = "Empleado";
|
||||||
|
libro.Cell(3, column).Value = "Empleado";
|
||||||
|
libro.Column(column).Width = 35;
|
||||||
|
DataTable dtcP = dtConceptos.FiltraParametros(string.Format("Tipo = 'P' AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||||
|
DataTable dtcD = dtConceptos.FiltraParametros(string.Format("Tipo = 'D' AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||||
|
DataTable dtcO = dtConceptos.FiltraParametros(string.Format("Tipo = 'O' AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||||
|
int iniciotipe = column;
|
||||||
|
foreach (DataRow row in dtcP.Rows)
|
||||||
|
{
|
||||||
|
column++;
|
||||||
|
libro.Cell(1, column).Value = row["CveConcepto"].ToString();
|
||||||
|
libro.Cell(FilaConceptos, column).Value = "S";
|
||||||
|
libro.Cell(3, column).Value = row["Concepto"].ToString();
|
||||||
|
libro.Cell(4, column).Value = row["Codigo"].ToString();
|
||||||
|
libro.Column(column).Width = 15;
|
||||||
|
}
|
||||||
|
if (iniciotipe < column)
|
||||||
|
{
|
||||||
|
libro.Range(2, iniciotipe + 1, 2, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||||
|
libro.Range(2, iniciotipe + 1, 2, column).Merge().Value = "-";
|
||||||
|
}
|
||||||
|
iniciotipe = column;
|
||||||
|
foreach (DataRow row in dtcD.Rows)
|
||||||
|
{
|
||||||
|
column++;
|
||||||
|
libro.Cell(1, column).Value = row["CveConcepto"].ToString();
|
||||||
|
libro.Cell(FilaConceptos, column).Value = "S";
|
||||||
|
libro.Cell(3, column).Value = row["Concepto"].ToString();
|
||||||
|
libro.Cell(4, column).Value = row["Codigo"].ToString();
|
||||||
|
libro.Column(column).Width = 15;
|
||||||
|
}
|
||||||
|
if (iniciotipe < column)
|
||||||
|
{
|
||||||
|
libro.Range(2, iniciotipe + 1, 2, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||||
|
libro.Range(2, iniciotipe + 1, 2, column).Merge().Value = "-";
|
||||||
|
}
|
||||||
|
iniciotipe = column;
|
||||||
|
foreach (DataRow row in dtcO.Rows)
|
||||||
|
{
|
||||||
|
column++;
|
||||||
|
libro.Cell(1, column).Value = row["CveConcepto"].ToString();
|
||||||
|
libro.Cell(FilaConceptos, column).Value = "S";
|
||||||
|
libro.Cell(3, column).Value = row["Concepto"].ToString();
|
||||||
|
libro.Cell(4, column).Value = row["Codigo"].ToString();
|
||||||
|
libro.Column(column).Width = 15;
|
||||||
|
}
|
||||||
|
if (iniciotipe < column)
|
||||||
|
{
|
||||||
|
libro.Range(2, iniciotipe + 1, 2, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||||
|
libro.Range(2, iniciotipe + 1, 2, column).Merge().Value = "-";
|
||||||
|
}
|
||||||
|
libro.Range(2, 1, 2, 2).Merge().Value = "";
|
||||||
|
libro.Range(4, 1, 4, 2).Merge().Value = "";
|
||||||
|
libro.Range(2, 1, 2, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||||
|
libro.Range(4, 1, 4, 2).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(4).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||||
|
libro.Row(FilaConceptos).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(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||||
|
libro.Row(4).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||||
|
//libro.Row(FilaConceptos).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||||
|
libro.Cell(FilaConceptos, 1).Value = "'-------";
|
||||||
|
libro.Cell(FilaConceptos, 1).Style.Font.FontColor = ClosedXML.Excel.XLColor.FromArgb(177, 160, 199);
|
||||||
|
libro.Cell(FilaConceptos, 2).Value = "¿Modificar SI(S)/NO(N)?";
|
||||||
|
libro.Cell(FilaConceptos, 1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||||
|
libro.Row(FilaConceptos).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||||
|
|
||||||
|
int Fila = 5;
|
||||||
|
foreach (DataRow erow in dtempleados.FiltraParametros("CvePersonal>0 AND NomAutorizado=0").Rows)
|
||||||
|
{
|
||||||
|
Fila++;
|
||||||
|
column = 1;
|
||||||
|
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
|
||||||
|
column++;
|
||||||
|
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||||
|
foreach (DataRow row in dtcP.Rows)
|
||||||
|
{
|
||||||
|
column++;
|
||||||
|
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||||
|
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||||
|
}
|
||||||
|
foreach (DataRow row in dtcD.Rows)
|
||||||
|
{
|
||||||
|
column++;
|
||||||
|
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||||
|
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||||
|
}
|
||||||
|
foreach (DataRow row in dtcO.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(msgerror, TipoMensaje.MsgAdvertencia);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia);
|
||||||
|
}
|
||||||
|
}
|
||||||
protected void LnkFormato_Click(object sender, EventArgs e)
|
protected void LnkFormato_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -1909,6 +2082,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
int chkImporte = 1;
|
int chkImporte = 1;
|
||||||
int chkImporteGravado = 0;
|
int chkImporteGravado = 0;
|
||||||
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
|
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
|
||||||
|
if(((LinkButton)sender).ID == LnkCargarNominaNetos.ID)
|
||||||
|
{
|
||||||
|
Filesgral = TxtCargarNetos.getfiles().Archivos;
|
||||||
|
}
|
||||||
|
|
||||||
bool continuar = Filesgral.Count > 0;
|
bool continuar = Filesgral.Count > 0;
|
||||||
string stringError = "";
|
string stringError = "";
|
||||||
Archivo fileItem = continuar ? Filesgral[0] : null;
|
Archivo fileItem = continuar ? Filesgral[0] : null;
|
||||||
@@ -1924,6 +2102,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
stringError = "No se inserto un archivo de tipo Excel";
|
stringError = "No se inserto un archivo de tipo Excel";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stringError = "favor de ingresar el archivo y esperar a que cargue";
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!(CvePeriodoSeleccionado >= 0))
|
if (!(CvePeriodoSeleccionado >= 0))
|
||||||
{
|
{
|
||||||
@@ -2105,6 +2288,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
Alert("La información se a actualizado satisfactoriamente");
|
Alert("La información se a actualizado satisfactoriamente");
|
||||||
|
if (((LinkButton)sender).ID == LnkCargarNominaNetos.ID || ChkRecalcularNomina.Checked)
|
||||||
|
{
|
||||||
|
cargaDatos(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user