carga masiva salarios
This commit is contained in:
@@ -471,7 +471,7 @@ Public Class LogicNominas
|
||||
cfdi.Nomina.Receptor.NumeroCuenta = BancoNumCuenta
|
||||
cfdi.Nomina.Receptor.SDI = SDI
|
||||
cfdi.Nomina.Receptor.SBC = SalarioDiarioSS
|
||||
cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Si", "No")
|
||||
cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Sí", "No")
|
||||
cfdi.Nomina.Receptor.CodigoEntidadFederativa = ClaveEstado
|
||||
|
||||
cfdi.Conceptos.Add(New CFDIConceptos With {.Cantidad = 1, .ClaveUnidad = "ACT", .ClaveProdServ = "84111505", .Descripcion = "Pago de nómina", .ValorUnitario = cfdi.Comprobante.SubTotal, .Importe = cfdi.Comprobante.SubTotal, .Descuento = cfdi.Nomina.TotalDeducciones.ToString().ToDecimal(), .ObjetoImpuesto = "01"})
|
||||
|
||||
@@ -84,14 +84,15 @@ public partial class Nomina_CatConcepto : ClsPaginas
|
||||
StringBuilder strKeys3;
|
||||
public void tree_Tables()
|
||||
{
|
||||
ClsNominas objnom = new ClsNominas();
|
||||
strKeys = new StringBuilder();
|
||||
strKeys2 = new StringBuilder();
|
||||
strKeys3 = new StringBuilder();
|
||||
StringBuilder tablaarbol = new StringBuilder();
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
objnom.GetNom_Refencias(UsuarioActual.CveEmpresa);
|
||||
dtrefrencias = objnom.DtResultados;
|
||||
objnom.Dispose();
|
||||
}
|
||||
strKeys.Append("{");
|
||||
int tipo = 1;
|
||||
#region tablas
|
||||
@@ -486,7 +487,8 @@ public partial class Nomina_CatConcepto : ClsPaginas
|
||||
// DdlCtaContable.SelectedValueExist(drow["IdCtaContable"]);
|
||||
//}
|
||||
DdlConceptoSAT.SelectedValueExist(drow["CveSATConcepto"]);
|
||||
}else
|
||||
}
|
||||
else
|
||||
{
|
||||
CveConcepto = 0;
|
||||
|
||||
|
||||
@@ -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="LnkModalPlantillaNominaUnConc" OnClick="LnkModalPlantillaNominaUnConc_Click" runat="server"><i class="fa fa-upload"></i>Cargar masiva un concepto</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkCargaNetos" OnClick="LnkCargaNetos_Click" runat="server"><i class="fa fa-upload"></i>Cargar netos</asp:LinkButton>
|
||||
</li>
|
||||
@@ -3367,12 +3370,13 @@
|
||||
</div>
|
||||
<div class="portlet-body rowpadding ">
|
||||
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<div class=" text-right">
|
||||
<asp:CheckBox ID="ChkRecalcularNomina" Text="¿Volver a calcular la nómina?" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
||||
@@ -3390,6 +3394,59 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div id="DModalNominasUnConcepto" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel ID="UpCargarNominaUnConcepto" 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 Nómina de excel</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">Carga Concepto </span>
|
||||
<!-- Caudillo-->
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding ">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:Label runat="server" Text="Concepto:" AssociatedControlID=""></asp:Label>
|
||||
<asp:DropDownList ID="DdlUnConcepto" runat="server" DataTextField="CodigoConcepto" DataValueField="CveConcepto" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
|
||||
</div>
|
||||
<asp:TextBox ID="TxtArchivoNominaConcepto" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
|
||||
<asp:LinkButton ID="LnkFormatoUnConcepto" OnClick="LnkFormatoUnConcepto_Click" CssClass="btn btn-success" runat="server"><i class="fa fa-download"></i> Descargar Plantilla</asp:LinkButton>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class=" text-right">
|
||||
<asp:CheckBox ID="ChkRecalcularNominaUnc" Text="¿Volver a calcular la nómina?" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="LinkButton4" OnClick="LnkCargarNomina_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="LnkFormatoUnConcepto" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
<div id="DmodalNetos" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel ID="uppanelnetos" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
|
||||
@@ -249,7 +249,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LnkCargaNetos.Visible = (UsuarioActual.CveRol == 1);
|
||||
LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") ||(UsuarioActual.CveRol == 1);
|
||||
using (ClsRH objrh = new ClsRH())
|
||||
{
|
||||
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
|
||||
@@ -2097,6 +2097,111 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void LnkModalPlantillaNominaUnConc_Click(object sender, EventArgs e)
|
||||
{
|
||||
RegistraScript("$('#DModalNominasUnConcepto').modal();");
|
||||
|
||||
using (ClsNominas ObjNomina = new ClsNominas())
|
||||
{
|
||||
if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
DdlUnConcepto.DataSource = ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
|
||||
DdlUnConcepto.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
UpCargarNominaUnConcepto.Update();
|
||||
}
|
||||
protected void LnkFormatoUnConcepto_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
StringBuilder str = new StringBuilder("0");
|
||||
bool continuar = true;
|
||||
str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero());
|
||||
string msgerror = "";
|
||||
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.Cell(1, column).Value = "Codigo";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
libro.Column(column).Width = 35;
|
||||
DataTable dtcP = dtConceptos.FiltraParametros(string.Format(" CveConcepto in({0})", str));
|
||||
foreach (DataRow row in dtcP.Rows)
|
||||
{
|
||||
column++;
|
||||
libro.Cell(1, column).Value = string.Format("{0} - {1} - Valor", row["Codigo"], row["Concepto"]);
|
||||
column++;
|
||||
libro.Cell(1, column).Value = string.Format("{0} - {1} - Importe", row["Codigo"], row["Concepto"]);
|
||||
column++;
|
||||
libro.Cell(1, column).Value = string.Format("{0} - {1} - ImporteGravado", row["Codigo"], row["Concepto"]);
|
||||
}
|
||||
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
|
||||
int Fila = 1;
|
||||
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("VAL_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
column++;
|
||||
Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
column++;
|
||||
Concepto = string.Format("VG_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
}
|
||||
}
|
||||
libro.Columns().AdjustToContents();
|
||||
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 LnkCargarNomina_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
@@ -28,6 +28,12 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkDescargar" OnClick="LnkDescargar_Click" runat="server"><i class="fa fa-ad-excel"></i> Descargar</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkFormatocMasiva" OnClick="LnkFormatocMasiva_Click" runat="server"><i class="fa fa-ad-excel"></i> Formato carga masiva</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkModalCargaMasiva" OnClick="LnkModalCargaMasiva_Click" runat="server"><i class="fa fa-save"></i> Carga masiva</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkGuardarCambios" OnClick="LnkGuardarCambios_Click" runat="server"><i class="fa fa-save"></i> Guardar</asp:LinkButton>
|
||||
</li>
|
||||
@@ -40,6 +46,7 @@
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="LnkDescargar" />
|
||||
<asp:PostBackTrigger ControlID="LnkFormatocMasiva" />
|
||||
<%-- <asp:PostBackTrigger ControlID="LnkListaRaya" /> --%>
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
@@ -832,6 +839,72 @@
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="DmodalCargaMasiva" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel ID="UpCargarm" 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">Carga masiva salario</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">Carga archivo </span>
|
||||
<!-- Caudillo-->
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding ">
|
||||
<div class="row">
|
||||
|
||||
<asp:Label ID="Label2" runat="server" CssClass="col-md-1 ">Fecha :</asp:Label>
|
||||
<div class="col-md-2" id="Div2" runat="server">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
|
||||
<asp:TextBox ID="txtfechacargamasiva" runat="server" Text="01/03/2021" CssClass="form-control" CausesValidation="true" Width="90%" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="lnkcargamasiva" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="txtfechacargamasiva" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtfechacargamasiva" PopupButtonID="lnkcargamasiva" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<%--<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtfechacargamasiva" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtfechacargamasiva" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>--%>
|
||||
</div>
|
||||
</div>
|
||||
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="LnkProcesarArchvo" OnClick="LnkProcesarArchvo_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script>
|
||||
|
||||
@@ -6,10 +6,26 @@ using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using AjaxControlToolkit.HtmlEditor.ToolbarButtons;
|
||||
using Extensiones;
|
||||
using StackExchange.Redis;
|
||||
using Telerik.Web.UI.Widgets;
|
||||
using static Extensiones.ModExtensiones;
|
||||
using static Stimulsoft.Report.StiOptions.Export;
|
||||
|
||||
public partial class RH_CalculoSBC : ClsPaginas
|
||||
{
|
||||
|
||||
private DataTable dtsalario
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ViewState["dtsalario"] == null) { return null; }
|
||||
else { return (DataTable)ViewState["dtsalario"]; }
|
||||
}
|
||||
|
||||
set { ViewState["dtsalario"] = value; }
|
||||
}
|
||||
private DataTable dtDetalleParteVariable
|
||||
{
|
||||
get
|
||||
@@ -199,6 +215,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), TxtFechaPago.Text, DdlRegistroPatronal.SelectedValue.ToEntero()))
|
||||
{
|
||||
GVCalculosSBC.DataSource = objnom.DTSetResultados.Tables[0];
|
||||
dtsalario = objnom.DTSetResultados.Tables[0];
|
||||
GVCFija.DataSource = objnom.DTSetResultados.Tables[0];
|
||||
GVPV.DataSource = objnom.DTSetResultados.Tables[0];
|
||||
if (objnom.DTSetResultados.Tables.Count > 1)
|
||||
@@ -214,6 +231,160 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
GVPV.DataBind();
|
||||
}
|
||||
|
||||
protected void LnkModalCargaMasiva_Click(object sender, EventArgs e)
|
||||
{
|
||||
txtfechacargamasiva.Text = TxtFechaPago.Text;
|
||||
UpCargarm.Update();
|
||||
RegistraScript("$('#DmodalCargaMasiva').modal();");
|
||||
}
|
||||
protected void LnkFormatocMasiva_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool continuar = true;
|
||||
string msgerror = "";
|
||||
if (continuar)
|
||||
{
|
||||
|
||||
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||
|
||||
var libro = wb.AddWorksheet("Salario");
|
||||
int column = 1;
|
||||
libro.Cell(1, column).Value = "Codigo";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Salariodiario";
|
||||
//column++;
|
||||
//libro.Cell(1, column).Value = "SDI";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Salariovariable";
|
||||
libro.Column(column).Width = 35;
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
|
||||
int Fila = 1;
|
||||
foreach (DataRow erow in dtsalario.Rows)
|
||||
{
|
||||
Fila++;
|
||||
column = 1;
|
||||
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SalarioDiario"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SDI"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SalarioVariable"];
|
||||
}
|
||||
|
||||
libro.Columns().AdjustToContents();
|
||||
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 Salario "));
|
||||
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 LnkProcesarArchvo_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataTable dttempsalario = null;
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), txtfechacargamasiva.Text, DdlRegistroPatronal.SelectedValue.ToEntero()))
|
||||
{
|
||||
dttempsalario = objnom.DTSetResultados.Tables[0];
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
|
||||
Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null;
|
||||
DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
|
||||
|
||||
StringBuilder str = new StringBuilder();
|
||||
bool rollback = false;
|
||||
using (ClsRH objpersonal = new ClsRH())
|
||||
{
|
||||
using (ClsNominas objNomina = new ClsNominas(objpersonal.IniciaTransacSQL()))
|
||||
{
|
||||
|
||||
foreach (DataRow row in DTEXcel.FiltraParametros("LEN(Codigo)>0 ").Rows)
|
||||
{
|
||||
string Codigo = row["Codigo"].ToString();
|
||||
int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero();
|
||||
decimal Salariodiario = row["Salariodiario"].ToString().ToDecimal();
|
||||
decimal SDI = 0;
|
||||
decimal Salariovariable = row["Salariovariable"].ToString().ToDecimal();
|
||||
decimal SalarioCotizacion = 0;
|
||||
int CveMetodoPago = 0;
|
||||
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;
|
||||
CveMetodoPago = objpersonal.CveMetodoPago;
|
||||
}
|
||||
else
|
||||
{
|
||||
CvePersonal = 0;
|
||||
str.AppendLine(string.Format("No se encontro el codigo {0}<br>", Codigo));
|
||||
}
|
||||
if (CvePersonal > 0)
|
||||
{
|
||||
DataRow drw = dttempsalario.FiltroPrimero(string.Format("CvePersonal={0}", CvePersonal));
|
||||
decimal factordeintegracion = drw["Factordeintegracion"].ToString().ToDecimal();
|
||||
SDI = Salariodiario * factordeintegracion;
|
||||
SalarioCotizacion = Salariovariable + SDI;
|
||||
if (objpersonal.UpdateSalarios(CvePersonal, txtfechacargamasiva.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
Salariodiario.ToString().ToDouble(), SDI.ToString().ToDouble(), SalarioCotizacion.ToString().ToDouble(), Salariodiario.ToString().ToDouble()))
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rollback)
|
||||
{
|
||||
objpersonal.RollBack();
|
||||
}
|
||||
else
|
||||
{
|
||||
objpersonal.Commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception) { }
|
||||
|
||||
RegistraScript("$('#ModalDoctos').modal('hide');");
|
||||
}
|
||||
protected void LnkDownArchivosSua_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -518,6 +689,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
UpModalDoctos.Update();
|
||||
RegistraScript("$('#ModalDoctos').modal();");
|
||||
}
|
||||
|
||||
}
|
||||
public class archivosD
|
||||
{
|
||||
|
||||
@@ -738,13 +738,6 @@
|
||||
<asp:RequiredFieldValidator ID="RFVEstatusPersonal" runat="server" ControlToValidate="DdlEstatusPersonal" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''EstatusPersonal''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<i></i>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivMotivoBaja">
|
||||
<asp:DropDownList Width="100%" ID="DdlMotivoBaja" runat="server" AppendDataBoundItems="True" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Selected="True" Text="Sin asignar Motivo de Baja" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<label for="<%= DdlMotivoBaja.ClientID.ToString()%>">Motivo de Baja: </label>
|
||||
<i></i>
|
||||
</div>
|
||||
|
||||
|
||||
<div runat="server" id="DivFechaBaja" visible="true" class="form-group form-md-line-input input-iconright">
|
||||
@@ -5681,7 +5674,8 @@
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label><asp:Literal ID="LblFechaEstatus" runat="server"></asp:Literal></label>
|
||||
<label>
|
||||
<asp:Literal ID="LblFechaEstatus" runat="server"></asp:Literal></label>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class=" " style="width: 100px !important">
|
||||
@@ -5698,6 +5692,29 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivMotivoBaja">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<asp:Label runat="server" AssociatedControlID="DdlMotivoBaja">Motivo de Baja: </asp:Label>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<asp:DropDownList Width="100%" ID="DdlMotivoBaja" runat="server" AppendDataBoundItems="True" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Selected="True" Text="Sin asignar Motivo de Baja" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<asp:Label runat="server" Text="Observaciones " AssociatedControlID="Txobservacionesbaja"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<asp:TextBox ID="Txobservacionesbaja" runat="server" Text="" TextMode="MultiLine" Rows="3" CausesValidation="True" CssClass="form-control"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server">
|
||||
|
||||
@@ -16,6 +16,18 @@ Partial Class RH_Personal
|
||||
|
||||
#Region "P R O P I E D A D E S"
|
||||
|
||||
Property salarioVariable As Decimal
|
||||
Get
|
||||
If ViewState("salarioVariable") Is Nothing Then
|
||||
Return 0
|
||||
Else
|
||||
Return DirectCast(ViewState("salarioVariable"), Decimal)
|
||||
End If
|
||||
End Get
|
||||
Set(value As Decimal)
|
||||
ViewState("salarioVariable") = value
|
||||
End Set
|
||||
End Property
|
||||
Property CcveMovtoPermanente As Integer
|
||||
Get
|
||||
If ViewState("CcveMovtoPermanente") Is Nothing Then
|
||||
@@ -1754,6 +1766,8 @@ Partial Class RH_Personal
|
||||
TxtSalarioDiarioPago.Text = ObjPersonal.SalarioDiarioPago.ToString()
|
||||
TxtSalarioDiario.Text = ObjPersonal.SalarioDiario.ToString()
|
||||
TxtSDI.Text = ObjPersonal.SDI.ToString()
|
||||
salarioVariable = drow("SalarioVariable").ToString().ToDecimal() 'ObjPersonal.SalarioDiarioSS.ToString().ToDecimal() - ObjPersonal.SDI.ToString().ToDecimal()
|
||||
salarioVariable = If(salarioVariable > 0, salarioVariable, 0)
|
||||
TxtSalarioCotizado.Text = ObjPersonal.SalarioDiarioSS.ToString()
|
||||
TxtFISalariodiario.Text = ObjPersonal.SalarioDiario.ToString()
|
||||
TxtBono.Text = ObjPersonal.Bono.ToString()
|
||||
@@ -6900,10 +6914,10 @@ Partial Class RH_Personal
|
||||
|
||||
TxtFISalariodiario.Text = TxtSalarioDiarioM.Text
|
||||
calcularSDI()
|
||||
TxtSalarioDiarioImSS.Text = TxtFISalarioDiarioIntegrado.Text
|
||||
TxtSalarioDiarioImSS.Text = (TxtFISalarioDiarioIntegrado.Text.ToDecimal() + salarioVariable).ToString()
|
||||
TxtSalarioDiarioIntegrado.Text = TxtFISalarioDiarioIntegrado.Text
|
||||
Using ObjPersonal As ClsRH = New ClsRH()
|
||||
If ObjPersonal.UpdateSalarios(CvePersonal, TxtFechamodSalario.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtSalarioDiarioM.Text.ToDecimal(), TxtFISalarioDiarioIntegrado.Text.ToDecimal(), TxtFISalarioDiarioIntegrado.Text.ToDecimal(), TxtSalarioDiarioM.Text.ToDecimal()) Then
|
||||
If ObjPersonal.UpdateSalarios(CvePersonal, TxtFechamodSalario.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtSalarioDiarioM.Text.ToDecimal(), TxtFISalarioDiarioIntegrado.Text.ToDecimal(), TxtSalarioDiarioImSS.Text.ToDecimal(), TxtSalarioDiarioM.Text.ToDecimal()) Then
|
||||
|
||||
|
||||
TxtSalarioDiario.Text = TxtSalarioDiarioM.Text
|
||||
@@ -7423,6 +7437,7 @@ Partial Class RH_Personal
|
||||
LblEstatus.Text = "Activar personal"
|
||||
LblFechaEstatus.Text = "Fecha ingreso ó reingreso"
|
||||
TxtFechaEstatus.Text = ""
|
||||
DivMotivoBaja.Visible = False
|
||||
RegistraScript("$('#ModalUpEstatus').modal();")
|
||||
upPersonEstatus.Update()
|
||||
End Sub
|
||||
@@ -7431,6 +7446,7 @@ Partial Class RH_Personal
|
||||
LblEstatus.Text = "Desactivar personal"
|
||||
LblFechaEstatus.Text = "Fecha baja"
|
||||
TxtFechaEstatus.Text = ""
|
||||
DivMotivoBaja.Visible = True
|
||||
RegistraScript("$('#ModalUpEstatus').modal();")
|
||||
upPersonEstatus.Update()
|
||||
End Sub
|
||||
@@ -7472,7 +7488,7 @@ Partial Class RH_Personal
|
||||
End If
|
||||
If continuar Then
|
||||
Using objrh As New ClsRH
|
||||
continuar = objrh.estatusPersonalUp(fecha, CvePersonal, estatus, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario)
|
||||
continuar = objrh.estatusPersonalUp(fecha, CvePersonal, estatus, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, DdlMotivoBaja.SelectedValue.ToEntero(),)
|
||||
End Using
|
||||
End If
|
||||
|
||||
|
||||
@@ -48,9 +48,6 @@ Partial Class Sistemas_PopUpCambiaUsuario
|
||||
Dim CveEmpresa As String = UsuarioActual.CveEmpresa.ToString()
|
||||
|
||||
Dim splitedtext As String() = Request.Url.AbsoluteUri.Replace("http://", "").Replace("https://", "").Split("."c)
|
||||
If Request.Url.AbsoluteUri.Contains("sig.agrojam.com.mx") Then
|
||||
CveEmpresa = 119
|
||||
End If
|
||||
|
||||
If splitedtext.Length > 0 Then
|
||||
Select Case splitedtext(0).ToUpper()
|
||||
@@ -62,8 +59,13 @@ Partial Class Sistemas_PopUpCambiaUsuario
|
||||
Case "BDH" : CveEmpresa = "140"
|
||||
Case "ECONOLLANTAS" : CveEmpresa = "141"
|
||||
Case "SERVEC" : CveEmpresa = "153"
|
||||
Case "CITRUS" : CveEmpresa = "172"
|
||||
Case "KINO" : CveEmpresa = "173"
|
||||
End Select
|
||||
End If
|
||||
If Request.Url.AbsoluteUri.Contains("sig.agrojam.com.mx") Then
|
||||
CveEmpresa = 158
|
||||
End If
|
||||
DdlEmpresa.DataBind()
|
||||
DdlEmpresa.SelectedValue = CveEmpresa
|
||||
|
||||
|
||||
Reference in New Issue
Block a user