This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2023-01-11 13:09:23 -07:00
parent 5b11382969
commit 5f741c24f6
3 changed files with 268 additions and 21 deletions

View File

@@ -434,8 +434,8 @@ public partial class Nomina_Aguinaldo : ClsPaginas
FraccionI = (aguinaldogravado / diasanio) * diasmes;
FraccionII_1 = salariomensual + FraccionI;
str.Clear();
str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes);
str.AppendFormat(" dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, 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, {2}, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes, DdlEjercicios.SelectedValue);
if (objbase.runQuerystr(str.ToString()))
{
DataRow drow = objbase.DtResultados.Rows[0];

View File

@@ -262,6 +262,9 @@
<li>
<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="LnkCargaNetos" OnClick="LnkCargaNetos_Click" runat="server"><i class="fa fa-upload"></i>Cargar netos</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>
</li>
@@ -404,7 +407,7 @@
<label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 85px;">Tipo Trabajador:</label>
<div class="col-md-1">
<asp:DropDownList Width="100%" ID="DdlTipoTrabajador" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true"
DataTextField="TipoTrabajadorB" DataValueField="CveTipoTrabajador" ValidationGroup="GrpGuardar">
DataTextField="TipoTrabajadorB" DataValueField="CveTipoTrabajador" ValidationGroup="GrpGuardar">
</asp:DropDownList>
</div>
<div class="col-md-2" style="max-width: 160px !important; white-space: nowrap;">
@@ -629,7 +632,7 @@
<%--<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 ">
<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>
@@ -663,7 +666,7 @@
<asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
@@ -3231,7 +3234,7 @@
</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>
@@ -3269,7 +3272,7 @@
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</div>
@@ -3364,6 +3367,9 @@
</div>
<div class="portlet-body rowpadding ">
<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>
@@ -3383,6 +3389,60 @@
</asp:UpdatePanel>
</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">&times;</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">
<asp:UpdatePanel ID="UpModalAsistenciaMasiva" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>

View File

@@ -134,7 +134,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["PermisoEmitir"] = value; }
}
protected int CveTipoTrabajador
{
get
@@ -247,9 +247,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!IsPostBack)
{
LnkCargaNetos.Visible = (UsuarioActual.CveRol == 1);
using (ClsRH objrh = new ClsRH())
{
if(objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
{
DataTable dt = objrh.DtResultados;
DataRow drow = dt.NewRow();
@@ -259,13 +260,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
dt.AcceptChanges();
DdlTipoTrabajador.DataSource = dt;
DdlTipoTrabajador.DataBind();
DdlTipoTrabajador.SelectedValueExist( "-1");
DdlTipoTrabajador.SelectedValueExist("-1");
}
}
if (UsuarioActual.CveUsuario == 100)
{
Alert("recuerda que solo la empresa (119) tiene activado el timbrado 4.0", TipoMensaje.ToastAdventencia);
}
if (UsuarioActual.CveUsuario == 100)
{
Alert("recuerda que solo la empresa (119) tiene activado el timbrado 4.0", TipoMensaje.ToastAdventencia);
}
//CreaObjetoEmpresa(UsuarioActual);
DataTable dtperinc = null;
using (ClsNominas objnom = new ClsNominas())
@@ -1311,9 +1312,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
LogicNominas lognom = new LogicNominas();
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
if (Msg != null && Msg.Length > 0)
{
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
@@ -1498,8 +1499,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
UsuarioActual = this.UsuarioActual;
}*/
string Msg = "";// lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, (UsuarioActual.CveUsuario == 100 ? 4 : 4));
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
if (Msg != null && Msg.Length > 0)
{ Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:<br/>{0}", Msg), TipoMensaje.MsgAdvertencia); }
else
@@ -1742,6 +1743,178 @@ public partial class Nomina_Nomina2 : ClsPaginas
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)
{
try
@@ -1909,6 +2082,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
int chkImporte = 1;
int chkImporteGravado = 0;
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
if(((LinkButton)sender).ID == LnkCargarNominaNetos.ID)
{
Filesgral = TxtCargarNetos.getfiles().Archivos;
}
bool continuar = Filesgral.Count > 0;
string stringError = "";
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";
}
}
else
{
stringError = "favor de ingresar el archivo y esperar a que cargue";
}
if (!(CvePeriodoSeleccionado >= 0))
{
@@ -2105,6 +2288,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
else
{
Alert("La información se a actualizado satisfactoriamente");
if (((LinkButton)sender).ID == LnkCargarNominaNetos.ID || ChkRecalcularNomina.Checked)
{
cargaDatos(false);
}
}
}
@@ -6423,7 +6610,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
ObjPersonal.IniciaTransacSQL();
bool OcurrioError = false;
if (!ObjPersonal.AddAsistenciaMasiva2(DdlPeriodoCM.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,-1))
if (!ObjPersonal.AddAsistenciaMasiva2(DdlPeriodoCM.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1))
OcurrioError = true;
if (OcurrioError)
@@ -8267,7 +8454,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
for (int i = 2; i < DTEXcel.Columns.Count; i++)
{
DateTime FechaAsis = DTEXcel.Columns[i].ColumnName.ToDateTime();
if( FechaAsis < fechai || FechaAsis > fechaf)
if (FechaAsis < fechai || FechaAsis > fechaf)
{
continuar = false;
stringError = "Las fechas no concuerdadn con el periodo seleccionado";