This commit is contained in:
2021-09-06 16:04:49 -07:00
17 changed files with 1825 additions and 205 deletions

View File

@@ -1497,7 +1497,7 @@ Public Class ClsBancos
Return Retorno
End Function
Public Function UpdateBancos_IE(FechaDocumento As DateTime, FechaAplicado As DateTime?, CveIE As Integer, Optional Folio As String = "-1", Optional CveCuentaDeposito As Integer = -1, Optional CveCuenta As Integer = -1,
Optional Observaciones As String = "-1", Optional CveUsuarioModifico As Integer = -1) As Boolean
Optional Observaciones As String = "-1", Optional CveUsuarioModifico As Integer = -1, Optional CveTipoTransaccion As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_IEUpdate")
@@ -1519,6 +1519,7 @@ Public Class ClsBancos
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
.Add("@CveTipoTransaccion", SqlDbType.Int).Value = CveTipoTransaccion
End With

View File

@@ -2525,7 +2525,7 @@ Public Class ClsGenerales
Public Function GetHistorialBitacora(CveAcarreo As Integer, CveOrdenCompra As Integer, CveActivoFijo As Integer,
CveOS As Integer, CvePS As Integer, CveCompra As Integer, CveIE As Integer,
CveEmpresa As Integer, Optional CveUsuario As Integer = -1, Optional CvePersonal As Integer = -1,
Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1) As Boolean
Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveConceptoNomina As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_HistorialBitacoraGet")
@@ -2542,7 +2542,11 @@ Public Class ClsGenerales
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@IdPoliza", SqlDbType.Int).Value = IdPoliza
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@CveConceptoNomina", SqlDbType.Int).Value = CveConceptoNomina
End With
'SqlTypes.SqlDateTime.Null
Try

View File

@@ -2251,6 +2251,29 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function GetchecadorAdistencia(FechaInicio As DateTime, FechaFin As DateTime, CveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
Try
DTSet = New DataSet()
DataAdapter("PA_RH_PersonalChecadorASistencia", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.DateTime).Value = FechaInicio
.Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
SqlAdapter.Fill(DTSet)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al Realizar el calculo de asistencia.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al Realizar el calculo de asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetNominaAcumulado(Ejercicio As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveTurno As Integer, CvePeriodoI As Integer, CvePeriodoF As Integer, CveEmpresa As Integer, Optional RegimenContratacion As Integer = 1, Optional CvePersonal As Integer = -1) As Boolean
Dim retorno As Boolean = False
@@ -2280,6 +2303,48 @@ Public Class ClsNominas
Return retorno
End Function
#Region "Vacaciones"
Public Function GETPersonalVacResumen(CveEmpresa As Integer, CvePersonal As Integer) As Boolean
Dim retorno As Boolean = False
Try
DataAdapter("PA_RH_PersonalVacResumenGet", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePersonal", SqlDbType.Decimal).Value = CvePersonal
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al obtener las vacaciones.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al obtener las vacaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GETPersonalVacaciones(CveEmpresa As Integer, CvePersonal As Integer) As Boolean
Dim retorno As Boolean = False
Try
DataAdapter("PA_RH_PersonalVacacionesGET", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePersonal", SqlDbType.Decimal).Value = CvePersonal
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al obtener las vacaciones.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al obtener las vacaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
#End Region
Public Function GetCalculoSBC(CveEmpresa As Integer, Tipo As Integer, FechaCalculo As String) As Boolean
Dim retorno As Boolean = False
Try

View File

@@ -3896,6 +3896,7 @@ Public Class ClsPaginas
If Application("GlobalSIGAppPaginas") Is Nothing Then
PaginaDict = New System.Collections.Hashtable
PaginaDict.Add("/Nomina/ChecadorAsistencia.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/ISRCalculoAnual.aspx".ToUpper(), 918)
PaginaDict.Add("/Nomina/MovimientosSUA.aspx".ToUpper(), 919)
'PaginaDict.Add("/Nomina/Acumulados.aspx".ToUpper(), 916)

View File

@@ -327,7 +327,7 @@ Public Class LogicNominas
Dim ObjOtrosPagos As New List(Of CFDINominaOtrosPagos)
If DtPercepciones IsNot Nothing AndAlso DtPercepciones.Rows.Count > 0 Then
For Each Row As DataRow In DtPercepciones.Rows
If Row("Importe").ToString().ToDecimal > 0 AndAlso Row("SATCveConcepto").ToString().ToEntero() <> 17 Then
If Row("Importe").ToString().ToDecimal > 0 OrElse (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("ImporteValor").ToString().ToDecimal().Abs() > 0) Then
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
ObjPercepciones.Add(New CFDINominaPercepciones With {.TipoPercepcion = If(Row("SATCveConcepto").ToString() = "999", "038", Row("SATCveConcepto").ToString()), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(),
.ImporteGravado = Row("ImporteGravado").ToString().ToDecimal(), .ImporteExento = Row("ImporteExento").ToString().ToDecimal()})
@@ -352,7 +352,7 @@ Public Class LogicNominas
If DtDeducciones IsNot Nothing AndAlso DtDeducciones.Rows.Count > 0 Then
For Each Row As DataRow In DtDeducciones.Rows
If Row("Importe").ToString().ToDecimal <> 0 Then
If Row("Importe").ToString().ToDecimal <> 0 OrElse (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("ImporteValor").ToString().ToDecimal().Abs() > 0) Then
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 Then
@@ -383,7 +383,7 @@ Public Class LogicNominas
If DtOtrosPagos IsNot Nothing AndAlso DtOtrosPagos.Rows.Count > 0 Then
For Each Row As DataRow In DtOtrosPagos.Rows
If (Row("Importe").ToString().ToDecimal() <> 0) OrElse
If (Row("Importe").ToString().ToDecimal() <> 0) OrElse (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("ImporteValor").ToString().ToDecimal().Abs() > 0) OrElse
(Row("SATCveConcepto").ToString().ToEntero() = 2 AndAlso (CveRegimenContratacion.ToEntero() = 2 OrElse Row("Importe").ToString().ToDecimal() <> 0)) OrElse
(Row("SATCveConcepto").ToString().ToEntero().Contiene(2, 4) AndAlso Row("Importe").ToString().ToDecimal() < 0) Then

View File

@@ -4311,7 +4311,7 @@ Partial Class Bancos_IE
Dim CveCuentaDepositoUpdate As Integer = If(DdlCuentaDeposito.SelectedValue.ToEntero.ToEntero = 0, -1, DdlCuentaDeposito.SelectedValue.ToEntero.ToEntero)
If Not IE.UpdateBancos_IE(TxtFechaDocumento.Text.ToDate, FechaAplicado, CveIE, TxtFolio.Text, CveCuentaDeposito:=CveCuentaDepositoUpdate, CveCuenta:=DdlCuenta.SelectedValue.ToEntero,
Observaciones:=TxtObservaciones.Text, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
Observaciones:=TxtObservaciones.Text, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveTipoTransaccion:=DdlTipoTransaccion.SelectedValue.ToEntero) Then
OcurrioError = True
End If

View File

@@ -191,7 +191,8 @@ Partial Class LogIn
strdomain = strdomain.Replace(String.Format(":{0}", Request.Url.Port), "")
End If
ReturnUrl = String.Format("{0}:{1}/{2}", strdomain, Request("port"), ReturnUrl)
ReturnUrl = ReturnUrl.Replace("https", "http")
ReturnUrl = ReturnUrl.Replace("HTTPS", "HTTP")
End If
If BtnLogIn_Clickenter = 0 Then 'esta variable se recicla con cada postaback
BtnLogIn_Clickenter = 1

View File

@@ -0,0 +1,279 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ChecadorAsistencia.aspx.cs" Inherits="Nomina_ChecadorAsistencia" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.AdsCHeader .GvNominas th:nth-child(1),
.AdsCHeader .GvNominas td:nth-child(1) {
text-align: left;
width: 50px;
}
.AdsCHeader .GvNominas th:nth-child(2),
.AdsCHeader .GvNominas td:nth-child(2) {
text-align: left;
width: 200px;
}
.GvNominas td:nth-child(n+3) {
text-align: center;
}
.GvNominas td:nth-child(n+3) div {
text-align: center;
}
.AdsBody .GvNominas td:nth-child(n) {
text-align: center;
}
.AdsBody .GvNominas td:nth-child(n) div {
text-align: center;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1">Tipo Período:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" CssClass="select2me" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 mediocol">del:</label>
<div class="col-md-1">
<%--<asp:TextBox ID="TxtPeriodoInicio" Text="0" CssClass="form-control" runat="server"></asp:TextBox>--%>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtRpdFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 80px" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkRpdFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="TxtRpdFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="TxtRpdFechaInicio" PopupButtonID="LnkRpdFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaInicio" runat="server" ControlToValidate="TxtRpdFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaInicio"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 mediocol">al:</label>
<div class="col-md-1">
<%--<asp:TextBox ID="TxtPeriodoFin" Text="99" CssClass="form-control" runat="server"></asp:TextBox>--%>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtRpdFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 80px" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender5" runat="server" TargetControlID="TxtRpdFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender4" TargetControlID="TxtRpdFechaFin" PopupButtonID="LnkFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaFin" runat="server" ControlToValidate="TxtRpdFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaFin"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-3">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Consultar" Visible="true" class="btn btn-primary" />
</div>
</div>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body" style="display: none">
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvNominas" runat="server" OnRowDataBound="GvNominas_RowDataBound" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GvNominas"
Style="text-align: center;" GridLines="None" data-cols="2" data-rows="1" data-heighterror="360" ShowHeaderWhenEmpty="true" ShowHeader="true">
<Columns></Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="divDetallesDia" class="modal ADS fade" role="dialog">
<div id="Div1" runat="server" class="modal-dialog " style="width: 600px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpDetallesDia" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlAsistenciaHorariosModal" runat="server">Detalles</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-8">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtCodigolabel" runat="server" Text="" Enabled="false"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCodigolabel" Text="Código"></asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtFechalabel" runat="server" Text="" Enabled="false"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtFechalabel" Text="Fecha"></asp:Label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtEmpleadolabel" runat="server" Text="" Enabled="false" Style="font-size: 11px;"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtEmpleadolabel" Text="Empleado"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPorPago" runat="server" Text="" type="number" min="0" max="100" step="0.01"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoAsistencias" Enabled="false" Width="150" runat="server" CssClass="select2me form-control" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"></asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra"
CssClass="form-control select2me" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo"></asp:Label><%-- Hora Extra--%>
</div>
</div>
</div>
<div class="row">
<asp:Panel ID="PnlProyecto" CssClass="col-md-6" runat="server">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlAsisProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
</div>
</asp:Panel>
<asp:Panel ID="PnlSubProyecto" CssClass="col-md-12" runat="server">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlAsisSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label ID="LblAsisSubProyecto" AssociatedControlID="DdlAsisSubProyecto" runat="server" Text="SubProyecto:"></asp:Label>
</div>
</asp:Panel>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtObservaciones" Text="Observaciones"></asp:Label>
</div>
</div>
<div class="col-md-4">
<asp:GridView ID="GvDetalleDias" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" with="150"
CssClass=" table table-striped table-advance table-hover Widthall" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Registros Checador" ItemStyle-HorizontalAlign="Left" Visible="true">
<ItemTemplate>
<asp:Label ID="lblFechaHora" runat="server" Width="150" Text='<%# Eval("FechaRegistro") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<%-- <table style="width: 100%">
<tr>
<td style="width: 50%; vertical-align: top!important">
<table style="width: 100%">
<tr>
<td style="width: 20%; text-align: right!important; vertical-align: top!important">
<asp:LinkButton ID="lnkModalImg" runat="server" Text="" OnClientClick="return false;"></asp:LinkButton></td>
<td style="font-weight: bold; font-size: 13px!important">
<asp:Label ID="lblModalFecha" runat="server"></asp:Label>
<br />
<asp:Label ID="lblModalMensaje" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<div class="col-md-10">
</div>
<div class="col-md-10">
</div>
</td>
<td style="width: 50%"></td>
</tr>
</table>--%>
</div>
<div class="modal-footer">
<div class="row">
<asp:Button ID="BtnOpenModal" UseSubmitBehavior="false" OnClick="BtnOpenModal_Click" CssClass="BtnOpenModal hidden" runat="server" Text="Button" />
<asp:TextBox ID="TxtFecha" CssClass="TxtFecha hidden" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtCvePersonal" CssClass="TxtCvePersonal hidden" runat="server"></asp:TextBox>
<asp:Button ID="BtnEstusAsistenciaModal" OnClick="BtnEstusAsistenciaModal_Click" UseSubmitBehavior="false" runat="server" class="btn btn-success" Text="Aceptar" ValidationGroup="GrpAsistencia" />
<button id="Button4" runat="server" type="button" class="btn default" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
function OpenModal(Fecha, CvePersonal) {
$('.TxtFecha').val(Fecha);
$('.TxtCvePersonal').val(CvePersonal);
$('.BtnOpenModal').click();
}
</script>
</asp:Content>

View File

@@ -0,0 +1,255 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
public partial class Nomina_ChecadorAsistencia : ClsPaginas
{
private DataTable dtper
{
get
{
if (ViewState["dtper"] == null) { return null; }
else { return (DataTable)ViewState["dtper"]; }
}
set { ViewState["dtper"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaTiposPeriodo();
TxtRpdFechaInicio.Text = "01/09/2021";
TxtRpdFechaFin.Text = "15/09/2021";
DdlTipoAsistencias.DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
DdlTipoAsistencias.DataBind();
DdlMotivoHoraExtra.DataSource = GlobalDTMotivosHorasExtras.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
DdlMotivoHoraExtra.DataBind();
CargarCentrosDeCosto(DdlAsisProyecto, DdlAsisSubProyecto, LblAsisProyecto, LblAsisSubProyecto);
PnlProyecto.Visible = DdlAsisProyecto.Visible;
if (PnlProyecto.Visible)
{
PnlSubProyecto.CssClass = "col-md-6";
}
}
}
private void CargaTiposPeriodo()
{
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'");
DdlTipoPeriodo.DataBind();
DdlTipoPeriodo.Items.Insert(0, new ListItem("Todos", "-1"));
if (DdlTipoPeriodo.Items.Count > 0)
{
DdlTipoPeriodo.SelectedIndex = 0;
}
}
private DataTable generateTable()
{
DateTime FechaI = TxtRpdFechaInicio.Text.ToDateTime();
DateTime FechaF = TxtRpdFechaFin.Text.ToDateTime();
DataTable dtCon = new DataTable();
dtCon.Columns.Add(new DataColumn("Codigo", typeof(string)));
dtCon.Columns.Add(new DataColumn("Empleado", typeof(string)));
DateTime CFecha = FechaI;
while (FechaF > CFecha)
{
string Fecha = string.Format("{0:yyyyMMdd}", CFecha);
string FechaCol = string.Format("{0:dd-MM-yyyy}", CFecha);
dtCon.Columns.Add(new DataColumn(FechaCol, typeof(string)) { });
CFecha = CFecha.AddDays(1);
}
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetchecadorAdistencia(FechaI, FechaF, UsuarioActual.CveEmpresa))
{
DataTable dtASis = objnom.DTSetResultados.Tables[0];
dtper = objnom.DTSetResultados.Tables[1];
foreach (DataRow item in dtper.Rows)
{
DataRow drow = dtCon.NewRow();
drow["Codigo"] = item["Codigo"];
drow["Empleado"] = item["NombreCompleto"];
CFecha = FechaI;
while (FechaF > CFecha)
{
int Fecha = string.Format("{0:yyyyMMdd}", CFecha).ToEntero();
string FechaCol = string.Format("{0:dd-MM-yyyy}", CFecha);
string TipoAsis = "(Faltó)";
DataRow drfec = dtASis.FiltroPrimero(string.Format("CvePersonal={0} AND Agrupador ={1}", item["CvePersonal"], Fecha), "Salida");
if (drfec != null)
{
DataTable dtx = dtASis.FiltraParametros(string.Format("CvePersonal={0} AND Agrupador ={1}", item["CvePersonal"], Fecha), "Salida");
string asistencia2 = "";
string Horas2 = "";
if (dtx.Rows.Count > 1)
{
Horas2 = drfec["Horas"].ToString();
DataRow drf = dtx.Rows[1];
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
TipoAsis = drf["TipoAsistencia"].ToString();
switch (drfec["Tipo"].ToString().ToEntero())
{
case 1:
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
break;
case 2:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
break;
case 3:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
break;
case 4:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
break;
case 5:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
break;
default:
break;
}
}
string asistencia = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
TipoAsis = drfec["TipoAsistencia"].ToString();
switch (drfec["Tipo"].ToString().ToEntero())
{
case 1:
asistencia = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
break;
case 2:
asistencia = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
break;
case 3:
asistencia = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
break;
case 4:
asistencia = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
break;
case 5:
asistencia = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
break;
default:
break;
}
drow[FechaCol] = string.Format("<div style='display:inline-block'>{0}<br>{1}</div><div style='display:inline-block'>{2}<br>{3}</div>", asistencia, drfec["Horas"], asistencia2, Horas2);
//drow[FechaCol] = string.Format("{0}<br>{1:HH}:{1:mm} - {2:HH}:{2:mm}", asistencia, drfec["Entrada"], drfec["Salida"]);
}
else
{
if (CFecha.DayOfWeek == DayOfWeek.Sunday)
{
drow[FechaCol] = "<i class='fa fa-sun-o' style=\"color:green;\"></i>";
TipoAsis = "(Descanso)";
}
else
{
drow[FechaCol] = "<div style=\"color:red;\">❌</div>";
}
}
drow[FechaCol] = string.Format("<div class\" Widthall \" onclick=\"OpenModal('{2}',{3}) \">{0}<br>{1}</div>", drow[FechaCol], TipoAsis, FechaCol, item["CvePersonal"]);
//dtCon.Columns.Add(new DataColumn(FechaCol, typeof(string)));Widthall
CFecha = CFecha.AddDays(1);
}
dtCon.Rows.Add(drow);
}
}
}
//dtCon.Columns.Add(new DataColumn("LabelValorP", typeof(string)));
//dtCon.Columns.Add(new DataColumn("CveConceptoP", typeof(int)));
//dtCon.Columns.Add(new DataColumn("ImporteP", typeof(double)));
return dtCon;
}
protected void LnkConsultar_Click(object sender, EventArgs e)
{
DataTable dtCon = generateTable();
GvNominas.DataSource = dtCon;
GvNominas.DataBind();
UpDatos.Update();
}
protected void GvNominas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int j = 0; j < e.Row.Cells.Count; j++)
{
string encoded = e.Row.Cells[j].Text;
e.Row.Cells[j].Text = Context.Server.HtmlDecode(encoded);
}
}
}
protected void BtnOpenModal_Click(object sender, EventArgs e)
{
DateTime fechai = TxtFecha.Text.ToDateTime();
DateTime fechaf = fechai.AddDays(1);
int CvePersonal = TxtCvePersonal.Text.ToEntero();
TxtFechalabel.Text = string.Format("{0:dd/MM/yyyy}", fechai);
using (ClsRH objRH = new ClsRH())
{
if (objRH.PreAsistenciaRegistrosGet(fechai, fechaf, -1, UsuarioActual.Empresa.CveEmpresa))
{
GvDetalleDias.DataSource = objRH.DtResultados.FiltraParametros(string.Format("FechaRegistro >='{0:yyyy/MM/dd HH:mm}' AND FechaRegistro <='{1:yyyy/MM/dd HH:mm}' AND CvePersonal = {2}", fechai.AddHours(6), fechaf.AddHours(6), CvePersonal), "FechaRegistro");
GvDetalleDias.DataBind();
}
DdlTipoAsistencias.Enabled = GvDetalleDias.Rows.Count > 0;
if (objRH.GetAsistencias(CvePersonal, -1, -1, -1, -1, -1, fechai, fechai, UsuarioActual.CveEmpresa))
{
if (objRH.DtResultados.Rows.Count > 0)
{
DataRow dr = objRH.DtResultados.Rows[0];
DdlTipoAsistencias.SelectedValueExist(dr["CveAsistenciasInasistencias"].ToString());
DdlAsisSubProyecto.SelectedValueExist(dr["CveSubProyecto"].ToString());
TxtPorPago.Text = dr["PorcentajePago"].ToString();
TxtHorasDobles.Text = dr["HorasDobles"].ToString();
TxtHorasTriples.Text = dr["HorasTriples"].ToString();
DdlMotivoHoraExtra.SelectedValueExist(dr["CveMotivoHoraExtra"].ToString());
TxtObservaciones.Text = dr["Observacion"].ToString();
}
}
}
DataRow drow = dtper.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal));
if(drow != null)
{
TxtCodigolabel.Text = drow["Codigo"].ToString();
TxtEmpleadolabel.Text = drow["NombreCompleto"].ToString();
}
UpDetallesDia.Update();
RegistraScript("$('#divDetallesDia').modal();");
}
protected void BtnEstusAsistenciaModal_Click(object sender, EventArgs e)
{
DateTime fecha = TxtFecha.Text.ToDateTime();
int CvePersonal = TxtCvePersonal.Text.ToEntero();
//int CvePersonal = TxtasiscvePersonal.Text.ToEntero();
//DateTime fecha = TxtasisFecha.Text.ToDate();
using (ClsRH objpersonal = new ClsRH())
{
if (objpersonal.AddAsistencia(CvePersonal, -1, DdlAsisSubProyecto.SelectedValue.ToEntero(), fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(),
TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
//Alert(string.Format("se ha guardado la asistencia satisfactoriamente <br/>{0}<br/>{1:dd/MM/yyyy}", TxtPersonal.Text, TxtasisFecha.Text.ToDate()), TipoMensaje.ToastInformacion);
Alert("Se ha guardado la asistencia satisfactoriamente");
RegistraScript("$('#DModalModAsistencia').modal('hide');");
}
}
}
}

View File

@@ -9,6 +9,11 @@
content: "\f1c1";
}
pre {
font-size: 11px;
padding: 3px;
}
table.gvasistencia tr:hover {
background-color: #dddddd;
}
@@ -354,7 +359,7 @@
</asp:DropDownList>
</div>
<div class="col-md-2" style="max-width: 160px !important; white-space: nowrap;">
<label class="compoonenlabel">ver Obligaciones:</label>
<label class="compoonenlabel">Ver obligaciones:</label>
<asp:CheckBox ID="Chkobligaciones" Text=" " CssClass="chksino" runat="server" />
</div>
@@ -399,7 +404,7 @@
<asp:TemplateField>
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="LnkSobreRecibo" OnClick="LnkSobreRecibo_Click" runat="server"><i class='fa fa-list-alt'></i></asp:LinkButton>
<asp:HyperLink ID="LnkSobreRecibo" runat="server"><i class='fa fa-list-alt'></i></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="20px" HorizontalAlign="Left" />
</asp:TemplateField>
@@ -825,6 +830,25 @@
<div class="btn-group">
<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn yellow-gold">Imprimir</a>
</div>
<div class="btn-group hidden">
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="fa fa-calculator"></i>Calculos
<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu pull-right">
<li>
<asp:LinkButton ID="LnkCalculoIMSS" OnClick="LnkCalculoIMSS_Click" Text="<i class='icon-bulb'></i> Calculo IMSS" runat="server"></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCalculoHorasExtras" OnClick="LnkCalculoHorasExtras_Click" Text="<i class='icon-bulb'></i> Calculo horas extras" 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>
</div>
</div>
</div>
<div class="portlet-body " style="padding: 0px;">
@@ -884,6 +908,36 @@
</asp:GridView>
</div>
</div>
<div class="portlet light xspadding bordered " id="pnlBitacora">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Bitacora</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>
<div class="portlet-body " style="padding: 0px;">
<asp:GridView ID="GvBitacora" OnRowDataBound="GvBitacora_RowDataBound" runat="server" GridLines="None" Width="100%" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" CellSpacing="0" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaIng") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Anterior" HeaderText="Anterior" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Actual" HeaderText="Actual" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabInfonavit" runat="server" HeaderText="Infonavit">
@@ -1409,16 +1463,13 @@
</asp:Panel>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacChecks" CssClass="row">
<div class="col-md-6" >
<div class="col-md-6">
<div style="padding-top: 0px; padding-bottom: 0px; font-size: 12px; color: #888; font-weight: 400; white-space: nowrap;">
¿Prima Vacacional?
</div>
<asp:CheckBox ID="ChkVacPrimaVacacional" CssClass="chksino " Text=" " runat="server" />
</div>
<div class="col-md-6" >
<div class="col-md-6">
<div style="padding-top: 0px; padding-bottom: 0px; font-size: 12px; color: #888; font-weight: 400; white-space: nowrap;">
¿Cobrar IMSS?
</div>
@@ -1758,6 +1809,371 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalRegistraProvision" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpRegistroProvision" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<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">
<asp:Label ID="Label2" runat="server" Text="">no se pudo registrar la provisión, existen cuentas sin vincular.</asp:Label></h4>
</div>
<div class="modal-body">
<asp:GridView ID="GVProvision" runat="server" DataKeyNames="CveConcepto,CvePersonal" OnRowDataBound="GVProvision_RowDataBound" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GvNominas"
Style="text-align: center;" GridLines="None" data-rows="2" data-heighterror="360" ShowHeaderWhenEmpty="true" ShowHeader="true" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Concepto Contable">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("ConceptoContable")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Concepto Nomina">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("ConceptoNomina")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Personal">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CodigoNombreCompleto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Asignar a Concepto :" Visible="false">
<ItemTemplate>
<asp:DropDownList ID="DdlCconceptosContables" CssClass="form-control input-sm select2me select2me" runat="server" AppendDataBoundItems="true" DataTextField="ConceptoContable" DataValueField="CveConceptoContable"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Asignar a cuenta :">
<ItemTemplate>
<asp:DropDownList ID="Ddlcuentassd" runat="server" AppendDataBoundItems="True" DataTextField="CtaCodigo" DataValueField="CveCuenta" Class="form-control hidden input-sm select2me" Width="100%"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkGuardarConceptosProvision" OnClick="LnkGuardarConceptosProvision_Click" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalCalculosSys" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpModalCalculos" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<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">
<asp:Label ID="LblcalculoTitulos" runat="server" Text=""></asp:Label></h4>
</div>
<div class="modal-body">
<div class="portlet light xspadding bordered " id="Pnlcalculosdata">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Datos</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>
<div class="portlet-body " style="padding: 0px;">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysUMA" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysUMA" Enabled="false" Text="UMA"></asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysSalarioMinimo" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysSalarioMinimo" Enabled="false" Text="Salario mínimo"></asp:Label>
</div>
</div>
</div>
<asp:Panel ID="PnlIMSSV" runat="server">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysSalarioBC" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysSalarioBC" Enabled="false" Text="Salario base cotización"></asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysDiasIMSS" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysDiasIMSS" Enabled="false" Text="Días IMSS"></asp:Label>
</div>
</div>
</div>
</asp:Panel>
<!-- TxtCCSys -->
<asp:Panel ID="PnlHorasExtras" runat="server">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysHorasDobles" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysHorasDobles" Enabled="false" Text="Horas dobles"></asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysHorasTriples" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysHorasTriples" Enabled="false" Text="Horas triples"></asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysSalarioDiario" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysSalarioDiario" Enabled="false" Text="Salario diario"></asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysImporteHora" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysImporteHora" Enabled="false" Text="Importe hora"></asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysDiasLaborados" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysDiasLaborados" Enabled="false" Text="Días laborados"></asp:Label>
</div>
</div>
</div>
</asp:Panel>
</div>
</div>
<div class="portlet light xspadding bordered " id="Pnlcalculosformulas">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Formulas</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>
<div class="portlet-body " style="padding: 0px;">
<asp:Panel ID="PnlIMSSF" runat="server">
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysImporteCuotaExcedente" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysImporteCuotaExcedente" Text="Importe cuota excedente"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysImporteCuotaExcedente" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysCuotaExcedente" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysCuotaExcedente" Text="Cuota excedente"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysCuotaExcedente" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysPrestacionesenDinero" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysPrestacionesenDinero" Text="Prestaciones en dinero"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysPrestacionesenDinero" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysGastosMedicos" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysGastosMedicos" Text="Gastos médicos pensionados"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysGastosMedicos" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysRetEnfYMatOb" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysRetEnfYMatOb" Text="Ret. Enf. y Mat. obrero"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysRetEnfYMatOb" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysRetInvYVida" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysRetInvYVida" Text="Ret. Inv. y vida"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysRetInvYVida" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysRetCesentia" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysRetCesentia" Text="Ret. Cesantia"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysRetCesentia" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4 text-center">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control text-center" ID="TxtCCSysImporteIMSS" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysImporteIMSS" Text="IMSS"></asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2 "></div>
<div class="col-md-8 text-center">
<asp:Label ID="LblCCSysImporteIMSS" runat="server" Text=""></asp:Label>
</div>
</div>
</asp:Panel>
<asp:Panel ID="PnlHorasExtrasF" runat="server">
<div class="row">
<div class="col-md-4 text-center">Valor</div>
<div class="col-md-8 text-center">Formula</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysSeExcentanDobles" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysSeExcentanDobles" Enabled="false" Text="¿las horas extras se exentan dobles?"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysSeExcentanDobles" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysTopeHorasDobles" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysTopeHorasDobles" Enabled="false" Text="Tope horas exentas"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysTopeHorasDobles" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysHorasExcentas" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysHorasExcentas" Enabled="false" Text="Horas exentas"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysHorasExcentas" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysImporteExentoAntesTope" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysImporteExentoAntesTope" Enabled="false" Text="Importe exento(antes del tope)"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysImporteExentoAntesTope" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysTopeImporte" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysTopeImporte" Enabled="false" Text="Tope importe"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysTopeImporte" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control" ID="TxtCCSysImporteExento" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysImporteExento" Enabled="false" Text="Importe exento"></asp:Label>
</div>
</div>
<div class="col-md-8">
<asp:Label ID="LblCCSysImporteExento" runat="server" Text=""></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4 text-center">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox Enabled="false" CssClass="form-control text-center" ID="TxtCCSysImporteGravado" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtCCSysImporteGravado" Enabled="false" Text="Importe gravado"></asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10 text-center">
<asp:Label ID="LblCCSysImporteGravado" runat="server" Text=""></asp:Label>
</div>
</div>
</asp:Panel>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalTablas" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpModalTablas" UpdateMode="Conditional">
@@ -3021,6 +3437,7 @@
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnSobreRecibo" CssClass="BtnSobreRecibo hidden" OnClick="LnkSobreRecibo_Click" UseSubmitBehavior="false" runat="server" Text="Button" />
<asp:Button ID="BtnGenerateXml" CssClass="BtnGenerateXml hidden" OnClick="BtnGenerateXml_Click" UseSubmitBehavior="false" runat="server" Text="Button" />
<span class="ltlxml">
<asp:Literal ID="LtlXml" runat="server"></asp:Literal></span>
@@ -3135,6 +3552,12 @@
$('.TxtCvePeriodo').val(CvePeriodo);
$('.BtnGeneratepdf').click();
}
function GETSobreRecibo(CvePersonal, CvePeriodo) {
//alert("CvePeriodo:" + CvePersonal + " ,CvePeriodo:" + CvePeriodo)
$('.TxtCvePersonal').val(CvePersonal);
$('.TxtCvePeriodo').val(CvePeriodo);
$('.BtnSobreRecibo').click();
}
function GETXML(CvePersonal, CvePeriodo) {
//alert("CvePeriodo:" + CvePersonal + " ,CvePeriodo:" + CvePeriodo)
$('.TxtCvePersonal').val(CvePersonal);

View File

@@ -378,7 +378,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
int CvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
LnkConsultar.Visible = (CvePeriodo > 0);
UPFiltros.Update();
UPFiltros.Update();
}
#endregion
#region Datos
@@ -452,8 +452,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (dtempleados != null)
{
LnkTimbrarTodos.Visible = (dtempleados.Rows.Count > 0 &&
dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0 AND NomAutorizado =1") > 0);
LnkTimbrarTodos.Visible = (dtempleados.Rows.Count > 0 &&
dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0 AND NomAutorizado =1") > 0);
}
}
@@ -551,39 +551,39 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
if (Chkobligaciones.Checked)
{
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('O') AND EsPadre = 1 ").Rows)
{
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
int SoloVisible = row["SoloVisible"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
GvNominas.Columns[CurrentColumn].ItemStyle.BackColor = System.Drawing.Color.Transparent;
GvNominas.Columns[CurrentColumn].ItemStyle.CssClass = " ";
GvNominas.Columns[CurrentColumn].HeaderStyle.CssClass = " ";
if (SoloVisible == 1)
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('O') AND EsPadre = 1 ").Rows)
{
GvNominas.Columns[CurrentColumn].HeaderStyle.CssClass = "isOnlyVisible ";
}
GvNominas.Columns[CurrentColumn].Visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0);
bf = (BoundField)GvNominas.Columns[CurrentColumn];
bf.DataField = string.Format("V_{0}", CveConcepto);
bf.HeaderText = Concepto;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
int SoloVisible = row["SoloVisible"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
GvNominas.Columns[CurrentColumn].ItemStyle.BackColor = System.Drawing.Color.Transparent;
GvNominas.Columns[CurrentColumn].ItemStyle.CssClass = " ";
GvNominas.Columns[CurrentColumn].HeaderStyle.CssClass = " ";
if (SoloVisible == 1)
{
GvNominas.Columns[CurrentColumn].HeaderStyle.CssClass = "isOnlyVisible ";
}
GvNominas.Columns[CurrentColumn].Visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0);
bf = (BoundField)GvNominas.Columns[CurrentColumn];
bf.DataField = string.Format("V_{0}", CveConcepto);
bf.HeaderText = Concepto;
if (GvNominas.Columns[CurrentColumn].Visible)
if (GvNominas.Columns[CurrentColumn].Visible)
{
CurrentColumn++;
}
}
if (true)
{
BoundField field = (BoundField)GvNominas.Columns[CurrentColumn];
field.HeaderText = "Obligaciones";
field.DataField = "SumaObligaciones";
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns[CurrentColumn].ItemStyle.CssClass = " ";
GvNominas.Columns[CurrentColumn].HeaderStyle.CssClass = " ";
GvNominas.Columns[CurrentColumn].Visible = true;
CurrentColumn++;
}
}
if (true)
{
BoundField field = (BoundField)GvNominas.Columns[CurrentColumn];
field.HeaderText = "Obligaciones";
field.DataField = "SumaObligaciones";
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns[CurrentColumn].ItemStyle.CssClass = " ";
GvNominas.Columns[CurrentColumn].HeaderStyle.CssClass = " ";
GvNominas.Columns[CurrentColumn].Visible = true;
CurrentColumn++;
}
}
@@ -969,6 +969,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
string Turno = e.Row.DataKey("Turno").ToString();
string Departamento = e.Row.DataKey("Departamento").ToString();
string SubProyecto = e.Row.DataKey("SubProyecto").ToString();
e.Row.FCHyperLink("LnkSobreRecibo").Attributes.Add("onclick", string.Format("GETSobreRecibo({0},{1})", cvePersonal, CvePeriodo));
LnkTimbrar.Visible = false;
if (cvePersonal > 0)
{
@@ -1126,13 +1127,23 @@ public partial class Nomina_Nomina2 : ClsPaginas
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LogicNominas lognom = new LogicNominas();
//Usuario UsuarioActual = null;
//using(ClsSisUsuarios ObjUsuario= new ClsSisUsuarios())
//{
// UsuarioActual =ObjUsuario.ValidaUsuario("jcaudillo", Encripta("45makako45"), "-1", 1);
//}
//CreaObjetoEmpresa(ref UsuarioActual);
//UsuarioActual.CveEmpresa = this.UsuarioActual.CveEmpresa;
Usuario UsuarioActual = null;
if (EsProduccion ==false)
{
//Usuario UsuarioActual = null;
using (ClsSisUsuarios ObjUsuario = new ClsSisUsuarios())
{
UsuarioActual = ObjUsuario.ValidaUsuario("jcaudillo", Encripta("45makako45"), "-1", 1);
}
CreaObjetoEmpresa(ref UsuarioActual);
UsuarioActual.CveEmpresa = this.UsuarioActual.CveEmpresa;
}
else
{
UsuarioActual = this.UsuarioActual;
}
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
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); }
@@ -1619,7 +1630,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
#endregion
protected void LnkSobreRecibo_Click(object sender, EventArgs e)
{
GridViewRow gvrow = (GridViewRow)(((LinkButton)sender).NamingContainer);
//GridViewRow gvrow = (GridViewRow)(((LinkButton)sender).NamingContainer);
TxtVacDiasPago.Text = "0";
LnkSRVacacionesADD.Visible = false;
if (DdlCtaContable.Items.Count == 0)
{
@@ -1630,7 +1642,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
if (ObjConta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa))
{
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
}
@@ -1653,21 +1664,39 @@ public partial class Nomina_Nomina2 : ClsPaginas
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCtaContable.SelectedValueExist("-1");
}
string Nombre = gvrow.DataKey("Nombre").ToString();
SRCvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
SRCvePeriodo = gvrow.DataKey("CvePeriodo").ToEntero();
int CveNomina = gvrow.DataKey("CveNomina").ToEntero();
NomAutorizado = gvrow.DataKey("NomAutorizado").ToUpper().Contiene(new string[] { "1", "TRUE" });
//SRCvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
//string Nombre = gvrow.DataKey("Nombre").ToString();
//SRCvePeriodo = gvrow.DataKey("CvePeriodo").ToEntero();
//int CveNomina = gvrow.DataKey("CveNomina").ToEntero();
//NomAutorizado = gvrow.DataKey("NomAutorizado").ToUpper().Contiene(new string[] { "1", "TRUE" });
SRCvePersonal = TxtCvePersonal.Text.ToEntero();
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", SRCvePersonal));
string Nombre = "";
SRCvePeriodo = 0;
int CveNomina = 0;
NomAutorizado = false;
if (drow != null)
{
Nombre = drow["Nombre"].ToString();
SRCvePeriodo = drow["CvePeriodo"].ToString().ToEntero();
CveNomina = drow["CveNomina"].ToString().ToEntero();
NomAutorizado = drow["NomAutorizado"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
}
cargaBitacora();
using (ClsNominas nom = new ClsNominas())
{
if (nom.GetNom_Nominas(CveNomina, SRCvePersonal, SRCvePeriodo, -1, UsuarioActual.CveEmpresa) && nom.DtResultados.Rows.Count > 0)
{
DataRow drow = nom.DtResultados.Rows[0];
ChkMetodoPago.Checked = drow["MetodoPagoFijo"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
DdlMetodoPago.SelectedValueExist(drow["CveMetodoPago"].ToString());
DdlBanco.SelectedValueExist(drow["CveSATBanco"].ToString());
TxtBancoNumCuenta.Text = drow["BancoNumCuenta"].ToString();
TxtCLABE.Text = drow["CLABE"].ToString();
DataRow drownom = nom.DtResultados.Rows[0];
ChkMetodoPago.Checked = drownom["MetodoPagoFijo"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
DdlMetodoPago.SelectedValueExist(drownom["CveMetodoPago"].ToString());
DdlBanco.SelectedValueExist(drownom["CveSATBanco"].ToString());
TxtBancoNumCuenta.Text = drownom["BancoNumCuenta"].ToString();
TxtCLABE.Text = drownom["CLABE"].ToString();
}
}
LblEmpleado.Text = Nombre;
@@ -1680,7 +1709,166 @@ public partial class Nomina_Nomina2 : ClsPaginas
CargaPersonalIncapacidad();
RegistraScript("$('#ModalConceptos').modal();");
}
#region "CalculosSistema"
private void showModalCalculo()
{
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", SRCvePersonal));
TxtCCSysSalarioMinimo.Text = "";
TxtCCSysUMA.Text = "$89.62";
if (drow != null)
{
TxtCCSysSalarioMinimo.Text = string.Format("${0:N2}", drow["SalarioMinimo"]);
}
UpModalCalculos.Update();
RegistraScript("$('#ModalCalculosSys').modal();");
}
public void showhidepnlscalculo(int concepto)
{
PnlIMSSV.Visible = false;
PnlIMSSF.Visible = false;
PnlHorasExtras.Visible = false;
PnlHorasExtrasF.Visible = false;
LblcalculoTitulos.Text = "";
switch (concepto)
{
case 1:
LblcalculoTitulos.Text = "<i class='icon-bulb'></i> Calculo conceptos IMSS";
PnlIMSSV.Visible = true;
PnlIMSSF.Visible = true;
break;
case 2:
LblcalculoTitulos.Text = "<i class='icon-bulb'></i> Calculo de importe gravado(horas extras)";
PnlHorasExtras.Visible = true;
PnlHorasExtrasF.Visible = true;
break;
default:
break;
}
}
protected void LnkCalculoIMSS_Click(object sender, EventArgs e)
{
TxtCCSysDiasIMSS.Text = "";
TxtCCSysSalarioBC.Text = "";
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", SRCvePersonal));
if (drow != null)
{
int Fechafin = string.Format("{0:yyyyMMdd}", drow["FechaFin"]).ToEntero();
decimal UMA = 89.62M;
decimal SalarioDiarioIMSS = drow["SalarioDiarioIMSS"].ToString().ToDecimal();
decimal DiasIMSS = drow["DiasIMSS"].ToString().ToDecimal();
decimal importeparacuota = SalarioDiarioIMSS > (3 * UMA) ? SalarioDiarioIMSS - (3 * UMA) : 0M;
decimal CuotaExcedente = (DiasIMSS * 0.004M) * (importeparacuota > (25M * UMA) ? (25M * UMA) : importeparacuota);
decimal PrestacionesDinero = (DiasIMSS * 0.0025M) * SalarioDiarioIMSS;
decimal GastosMedicos = (DiasIMSS * (Fechafin > 20210831 ? 0.00375M : 0.0038M)) * SalarioDiarioIMSS;
decimal retenfermadMaterObrero = CuotaExcedente + PrestacionesDinero + GastosMedicos;
decimal RetInvYVida = (DiasIMSS * 0.00625M) * SalarioDiarioIMSS;
decimal RetCesentia = (DiasIMSS * 0.01125M) * SalarioDiarioIMSS;
decimal IMSS = retenfermadMaterObrero + RetInvYVida + RetCesentia;
TxtCCSysDiasIMSS.Text = string.Format("{0:N0}", DiasIMSS);
TxtCCSysSalarioBC.Text = string.Format("${0:N4}", drow["SalarioDiarioIMSS"]);
LblCCSysImporteCuotaExcedente.Text = string.Format("<pre class='text-center'> SI( [Salario base cotización] > (3 *[UMA]), [Salario base cotización] - (3 *[UMA]) , 0)\n SI({0}>(3*{1}), {0}-(3*{1}), 0 ) </pre>", SalarioDiarioIMSS, UMA);
TxtCCSysImporteCuotaExcedente.Text = string.Format("{0:N4}", importeparacuota);
LblCCSysCuotaExcedente.Text = string.Format("<pre class='text-center'>(0.004 * [Días IMSS]) * SI( [Importe cuota e.] > (25 *[UMA]), (25 *[UMA]) , [Importe cuota e.] )\n SI( {0} > (25*{1}), (25*{1}), {0}) </pre>", importeparacuota, UMA);
TxtCCSysCuotaExcedente.Text = string.Format("{0:N2}", CuotaExcedente);
LblCCSysPrestacionesenDinero.Text = string.Format("<pre class='text-center'> 0.0025 * [Días IMSS] * [Salario base cotización] \n 0.0025 * {1:#} * {0:#.0000}", SalarioDiarioIMSS, DiasIMSS);
TxtCCSysPrestacionesenDinero.Text = string.Format("{0:N2}", PrestacionesDinero);
LblCCSysGastosMedicos.Text = string.Format("<pre class='text-center'> 0.00375 * [Días IMSS] * [Salario base cotización] \n 0.00375 * {1:#} * {0:#.0000}", SalarioDiarioIMSS, DiasIMSS);
TxtCCSysGastosMedicos.Text = string.Format("{0:N2}", GastosMedicos);
LblCCSysRetEnfYMatOb.Text = string.Format("<pre class='text-center'> [Cuota excedente] + [Prestaciones en dinero] + [Gastos médicos pensionados] \n {0:#.00} + {1:#.00} + {2}:#.00", CuotaExcedente, PrestacionesDinero, GastosMedicos);
TxtCCSysRetEnfYMatOb.Text = string.Format("{0:N2}", retenfermadMaterObrero);
LblCCSysRetInvYVida.Text = string.Format("<pre class='text-center'> 0.00625 * [Días IMSS] * [Salario base cotización] \n 0.00625 * {1:#} * {0:#.0000}", SalarioDiarioIMSS, DiasIMSS);
TxtCCSysRetInvYVida.Text = string.Format("{0:N2}", RetInvYVida);
LblCCSysRetCesentia.Text = string.Format("<pre class='text-center'> 0.01125 * [Días IMSS] * [Salario base cotización] \n 0.01125 * {1:#} * {0:#.0000}", SalarioDiarioIMSS, DiasIMSS);
TxtCCSysRetCesentia.Text = string.Format("{0:N2}", RetCesentia);
LblCCSysImporteIMSS.Text = string.Format("<pre> [Ret. Enf. y Mat. obrero] + [Ret. Inv. y vida] + [Ret. Cesantia] \n {0:#.00} + {1:#.00} + {2:#.00}", retenfermadMaterObrero, RetInvYVida, RetCesentia);
TxtCCSysImporteIMSS.Text = string.Format("{0:N2}", IMSS);
}
showhidepnlscalculo(1);
showModalCalculo();
}
protected void LnkCalculoHorasExtras_Click(object sender, EventArgs e)
{
showhidepnlscalculo(2);
//AreaGeografica HorasDobles HorasTriples
TxtCCSysHorasDobles.Text = "";
TxtCCSysHorasTriples.Text = "";
TxtCCSysDiasLaborados.Text = "";
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", SRCvePersonal));
if (drow != null)
{
decimal UMA = 89.62M;
decimal HorasDobles = drow["HorasDobles"].ToString().ToDecimal();
decimal HorasTriples = drow["HorasTriples"].ToString().ToDecimal();
decimal ImporteHora = drow["SalarioDiario"].ToString().ToDecimal() / 8;
decimal Semanaslaboradas = Decimal.Truncate((drow["DiasLaborados"].ToString().ToDecimal() / 7));
bool seExentandobles = !(drow["SalarioDiario"].ToString().ToDecimal() > drow["SalarioMinimo"].ToString().ToDecimal());
decimal TopeHorasDobles = Semanaslaboradas * 9;
decimal HorasExcentas = HorasDobles > TopeHorasDobles ? TopeHorasDobles : HorasDobles;
decimal ImporteHorasExtrasAntes = HorasExcentas * ImporteHora * (seExentandobles ? 2 : 1);
decimal TopeImporte = Semanaslaboradas * 5 * UMA;
decimal ImporteHorasExtras = ImporteHorasExtrasAntes > TopeImporte ? TopeImporte : ImporteHorasExtrasAntes;
decimal TotalHorasextras = ImporteHora * ((HorasDobles * 2) + (HorasTriples * 3));
TxtCCSysHorasDobles.Text = string.Format("{0:N2}", HorasDobles);
TxtCCSysHorasTriples.Text = string.Format("{0:N2}", HorasTriples);
TxtCCSysSalarioDiario.Text = string.Format("${0:N2}", drow["SalarioDiario"]);
TxtCCSysDiasLaborados.Text = string.Format("{0:N0}", drow["DiasLaborados"]);
TxtCCSysImporteHora.Text = string.Format("${0:N2}", ImporteHora);
LblCCSysSeExcentanDobles.Text = string.Format("<pre> SI( [Salario diario({0:N2})] > [Salario mínimo({1:N2})], \"No\", \"Sí\" ) </pre>", drow["SalarioDiario"], drow["SalarioMinimo"]);
TxtCCSysSeExcentanDobles.Text = seExentandobles ? "Sí" : "No";
LblCCSysTopeHorasDobles.Text = string.Format("<pre> [Semanas laboradas({0:N0})] * 9 </pre>", Semanaslaboradas);
TxtCCSysTopeHorasDobles.Text = string.Format("{0:N0}", Semanaslaboradas * 9);
LblCCSysHorasExcentas.Text = string.Format("<pre> SI( [Horas dobles({0:N0})] > [Tope horas({1:N0})], [Tope horas({1:N0})] , [Horas dobles({0:N0})]) </pre>", HorasDobles, TopeHorasDobles);
TxtCCSysHorasExcentas.Text = string.Format("{0:N0}", HorasExcentas);
LblCCSysImporteExentoAntesTope.Text = string.Format("<pre> [Horas exentas] * [Importe hora] * Si([se exentan dobles] , 2, 1) </pre>", Semanaslaboradas, UMA);
TxtCCSysImporteExentoAntesTope.Text = string.Format("{0:N2}", ImporteHorasExtrasAntes);
LblCCSysTopeImporte.Text = string.Format("<pre> [Semanas laboradas({0:N0})] * 5 * [UMA({1:N2})] </pre>", Semanaslaboradas, UMA);
TxtCCSysTopeImporte.Text = string.Format("{0:N2}", TopeImporte);
LblCCSysImporteExento.Text = string.Format("<pre>SI( [Importe exento(antes del tope)({0:N2})] > [Tope importe({1:N2})],\n[Tope importe({1:N2})] ,\n [Importe exento(antes del tope)({0:N2})]) </pre>", ImporteHorasExtrasAntes, TopeImporte);
TxtCCSysImporteExento.Text = string.Format("{0:N2}", ImporteHorasExtras);
LblCCSysImporteGravado.Text = string.Format("<pre> [Total horas extras({0:N2})] - [Importe exento({1:N2})] </pre>", TotalHorasextras, ImporteHorasExtras);
TxtCCSysImporteGravado.Text = string.Format("{0:N2}", TotalHorasextras - ImporteHorasExtras);
}
showModalCalculo();
}
protected void LnkCalculoSubsidio_Click(object sender, EventArgs e)
{
showhidepnlscalculo(3);
showModalCalculo();
}
protected void LnkCalculoISR_Click(object sender, EventArgs e)
{
showhidepnlscalculo(4);
showModalCalculo();
}
#endregion
#region Vacaciones
protected int CvePersonalVacaciones
{
@@ -1726,6 +1914,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
PnlVacFechapago.Visible = false;
PnlVacDiasPago.Visible = false;
PnlVacChecks.Visible = false;
TxtVacDiasPago.Text = "0";
switch (DdlFormapagovacaciones.SelectedValue.ToEntero())
{
case 1://Pagar en fecha
@@ -1753,8 +1942,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
PnlVacChecks.Visible = true;
break;
case 5://Solo disfrutar
PnlVacFechapago.Visible = true;
PnlVacDiasPago.Visible = true;
PnlVacfechas.Visible = true;
break;
case 6://Solo prima
PnlVacFechapago.Visible = true;
@@ -1808,7 +1996,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
// Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, motivoVacaciones)
bool continuar = objRH.SolicitudVacacionesAdd(SRCvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, FechaPago: fechapago,
diasinabiles: diasinhabil, CveTipoPago: DdlFormapagovacaciones.SelectedValue.ToEntero(), diasExtras: TxtVacDiasExtra.Text.ToEntero(),
Ejercicio: TxtVacEjercicio.Text.ToEntero(), PrimaVacacional:(ChkVacPrimaVacacional.Checked?1:0),CobrarImss: (ChkVacCobrarIMSS.Checked ? 1 : 0), diasPago: TxtVacDiasPago.Text.ToEntero()
Ejercicio: TxtVacEjercicio.Text.ToEntero(), PrimaVacacional: (ChkVacPrimaVacacional.Checked ? 1 : 0), CobrarImss: (ChkVacCobrarIMSS.Checked ? 1 : 0), diasPago: TxtVacDiasPago.Text.ToEntero()
);
if (objRH.DtResultados.Rows.Count > 0)
{
@@ -2019,7 +2207,19 @@ public partial class Nomina_Nomina2 : ClsPaginas
Alert("No se encontro el Formato, favor de revisarlo con soporte tecnico.", TipoMensaje.MsgAdvertencia);*/
}
#endregion
public void cargaBitacora()
{
using (ClsGenerales ObjGral = new ClsGenerales())
{
if (ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CvePersonal: SRCvePersonal, CvePeriodo: SRCvePeriodo))
{
GvBitacora.DataSource = ObjGral.DtResultados;
GvBitacora.DataBind();
}
}
}
protected void LnkImportexCalculo_Click(object sender, EventArgs e)
{
@@ -2147,7 +2347,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
TxtmcImporte.Text = "";
TxtmcImporteGrabado.Text = "";
Txtmcvalor.Text = "";
ChkCalAutomaticoG.Checked = false;
ChkCalAutomaticoG.Checked = false;
ChkCalAutomatico.Checked = false;
ChkCalAutomaticoV.Checked = false;
if (CveConcepto > 0)
@@ -2208,7 +2408,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
protected void BtnAceptarMC_Click(object sender, EventArgs e)
{
int chkImporte = ChkCalAutomatico.Checked? 0:1;
int chkImporte = ChkCalAutomatico.Checked ? 0 : 1;
int chkImporteGravado = ChkCalAutomaticoG.Checked ? 0 : 1;
int chkImporteValor = ChkCalAutomaticoV.Checked ? 0 : 1;
bool continuar = true;
@@ -2222,91 +2422,91 @@ public partial class Nomina_Nomina2 : ClsPaginas
CvePersonal = DdlmcPersonal.SelectedValue.ToEntero();
}
int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero();
decimal ImporteConcepto = TxtmcImporte.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteGravadoConcepto = ChkCalAutomaticoG.Checked ? 0.0m : TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
decimal ImporteValor = Txtmcvalor.Text.Replace("$", "").Replace(",", "").ToDecimal();
if ((ImporteConcepto>= 0 && ImporteGravadoConcepto<= ImporteConcepto)|| (ImporteConcepto < 0 && ImporteGravadoConcepto >= ImporteConcepto))
decimal ImporteConcepto = TxtmcImporte.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteGravadoConcepto = ChkCalAutomaticoG.Checked ? 0.0m : TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
decimal ImporteValor = Txtmcvalor.Text.Replace("$", "").Replace(",", "").ToDecimal();
if ((ImporteConcepto >= 0 && ImporteGravadoConcepto <= ImporteConcepto) || (ImporteConcepto < 0 && ImporteGravadoConcepto >= ImporteConcepto))
{
if (CveConcepto > 0 && CvePersonal > 0)
{
using (ClsNominas objNomina = new ClsNominas())
if (CveConcepto > 0 && CvePersonal > 0)
{
if (continuar)
using (ClsNominas objNomina = new ClsNominas())
{
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
if (continuar)
{
if (objNomina.DtResultados.Rows.Count > 0)
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
{
CveNomina = objNomina.CveNomina;
}
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false))
if (objNomina.DtResultados.Rows.Count > 0)
{
CveNomina = objNomina.CveNomina;
}
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false))
{
CveNomina = objNomina.CveNomina;
}
else
{
continuar = false;
}
}
}
}
if (CveNomina == 0)
{
continuar = false;
}
if (continuar)
{
if (continuar)
{
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true, chkImporte, chkImporteGravado, chkImporteValor))
{
continuar = false;
}
}
}
}
if (CveNomina == 0)
{
continuar = false;
}
if (continuar)
{
cargaDatos();
cargaBitacora();
if (continuar)
{
cargasobrericiboconceptos();
UpModalConceptos.Update();
RegistraScript("$('#ModalUpConcepto').modal('hide');");
Alert("El cambio se ha guardado correctamente.");
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true, chkImporte, chkImporteGravado, chkImporteValor))
{
continuar = false;
}
}
}
}
if (continuar)
{
cargaDatos();
cargasobrericiboconceptos();
UpModalConceptos.Update();
RegistraScript("$('#ModalUpConcepto').modal('hide');");
Alert("El cambio se ha guardado correctamente.");
}
}
else
{
if (CveConcepto > 0)
{
Alert("Debe seleccionar un empleado.", TipoMensaje.MsgAdvertencia);
}
else
{
Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia);
}
if (CveConcepto > 0)
{
Alert("Debe seleccionar un empleado.", TipoMensaje.MsgAdvertencia);
}
else
{
Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia);
}
}
}
else
{
Alert("el importe gravado no puede ser mayor al importe total, en caso de que el importe total sea negativo no puede ser menor.",TipoMensaje.MsgAdvertencia );
Alert("el importe gravado no puede ser mayor al importe total, en caso de que el importe total sea negativo no puede ser menor.", TipoMensaje.MsgAdvertencia);
}
}
private void mostrarConceptos()
{
@@ -2378,7 +2578,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LblSRSbc.Text = SalarioDiarioIMSS;
#endregion
cargasobrericiboconceptos();
cargasobrericiboconceptos();
#region "Infonavit"
{
using (ClsRH objper = new ClsRH())
@@ -2461,7 +2661,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
&& (dtempleadosConceptos.COUNT("CveConcepto", string.Format("CveConcepto={0} AND CvePersonal ={1} AND Estatus =2", CveConcepto, SRCvePersonal)) == 0)
)
{
if(!row["CveSistema"].ToString().ToEntero().Contiene(new int[] { 20,21,112,202, 203,204,205,206,207,50,51 }))
if (!row["CveSistema"].ToString().ToEntero().Contiene(new int[] { 20, 21, 112, 202, 203, 204, 205, 206, 207, 50, 51 }))
{
BorradoLogico = 1;
}
@@ -4913,7 +5113,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DataRow drow = dt.NewRow();
drow["CveConcepto"] = "-1";
drow["Concepto"] = "Seleccione";
dt.Rows.InsertAt(drow,0);
dt.Rows.InsertAt(drow, 0);
DdlConcepto.DataSource = dt;
DdlConcepto.SelectedValueExist("-1");
DdlConcepto.DataBind();
@@ -5103,7 +5303,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsNominas objNomina = new ClsNominas())
{
if (objNomina.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado) && objNomina.DtResultados.Rows.Count >0)
if (objNomina.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado) && objNomina.DtResultados.Rows.Count > 0)
{
DataRow drow = objNomina.DtResultados.Rows[0];
int Estatus = drow["Estatus"].ToString().ToEntero();
@@ -5193,12 +5393,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
CveConcepto = rcon["CveConcepto"].ToString().ToEntero();
ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
ImporteValor = rcon["Valor"].ToString().ToDecimal();
if (continuar)
{
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario,false, chkImporte, chkImporteGravado, chkImporteValor))
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, false, chkImporte, chkImporteGravado, chkImporteValor))
{
continuar = false;
}
@@ -5327,8 +5527,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (objpersonal.AddAsistencia(CvePersonal, -1, DdlAsisSubProyecto.SelectedValue.ToEntero(), fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(),
TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert(string.Format("se ha guardado la asistencia satisfactoriamente <br/>{0}<br/>{1:dd/MM/yyyy}", TxtPersonal.Text, TxtasisFecha.Text.ToDate()),TipoMensaje.ToastInformacion);
RegistraScript("$('#DModalModAsistencia').modal('hide');");
Alert(string.Format("se ha guardado la asistencia satisfactoriamente <br/>{0}<br/>{1:dd/MM/yyyy}", TxtPersonal.Text, TxtasisFecha.Text.ToDate()), TipoMensaje.ToastInformacion);
RegistraScript("$('#DModalModAsistencia').modal('hide');");
}
}
@@ -6413,7 +6613,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
DataTable Contasource;
DataTable ContaConceptossource;
protected void LnkRegistrarProvision_Click(object sender, EventArgs e)
{
using (ClsNominas objnom = new ClsNominas())
@@ -6441,6 +6642,50 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
if (objnom.DTSetResultados.Tables.Count > 1)
{
using (ClsContabilidad ObjContaz = new ClsContabilidad())
{
if (ObjContaz.GetConta_ConceptosContables())
{
ContaConceptossource = ObjContaz.DtResultados;
}
}
if (UsuarioActual.Empresa.TipoContabilidad == 1)
{
using (ClsContabilidad ObjConta = new ClsContabilidad())
{
if (ObjConta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa))
{
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
Contasource = ObjConta.DtResultados;
}
}
}
else
{
using (ClsContPAQi ObjConta = new ClsContPAQi(UsuarioActual.Empresa))
{
if (ObjConta.Conectado && ObjConta.GetCuentas(-1, "-1", 1))
{
Contasource = ObjConta.DtResultados;
DdlCtaContable.DataValueField = "Id";
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
}
}
}
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCtaContable.SelectedValueExist("-1");
GVProvision.DataSource = objnom.DTSetResultados.Tables[1];
GVProvision.DataBind();
RegistraScript("$('#ModalRegistraProvision').modal();");
UpRegistroProvision.Update();
/*
StringBuilder str = new StringBuilder();
str.Append("<table>");
str.Append("<tbody>");
@@ -6475,12 +6720,104 @@ public partial class Nomina_Nomina2 : ClsPaginas
str.Append("</tbody>");
str.Append("</table>");
Alert(string.Format("<div>no se pudo registrar la provisión, existen cuentas sin vincular.</div> {0}", str));
*/
}
}
}
}
}
protected void LnkGuardarConceptosProvision_Click(object sender, EventArgs e)
{
bool continuar = true;
DataTable dtconta = null;
using (ClsContabilidad ObjConta = new ClsContabilidad())
{
int CveProveedor = -1;
int CveClientes = -1;
int CveClasificacion = -1;
int CveAlmacen = -1;
if (ObjConta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa))
{
dtconta = ObjConta.DtResultados;
}
ObjConta.IniciaTransacSQL();
foreach (GridViewRow gvrow in GVProvision.Rows)
{
int CveConceptoNomina = gvrow.DataKey("CveConcepto").ToEntero();
if (continuar && CveConceptoNomina > 0)
{
int CvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
int CveconceptosContables = ((DropDownList)gvrow.FindControl("DdlCconceptosContables")).SelectedValue.ToEntero();
int Cve = ((DropDownList)gvrow.FindControl("Ddlcuentassd")).SelectedValue.ToEntero();
int CveCuenta = -1;
int IdCuentaContable = -1;
if (UsuarioActual.Empresa.TipoContabilidad == 1)
{
DataRow drcuenta = dtconta.FiltroPrimero(string.Format(" CveCuenta ={0}", Cve));
if (drcuenta != null)
{
IdCuentaContable = drcuenta["IdCompaq"].ToString().ToEntero();
}
CveCuenta = Cve;
}
else
{
DataRow drcuenta = dtconta.FiltroPrimero(string.Format("IdCompaq ={0}", Cve));
if (drcuenta != null)
{
CveCuenta = drcuenta["CveCuenta"].ToString().ToEntero();
}
IdCuentaContable = Cve;
}
if (CveconceptosContables > 0 && CveCuenta > 0)
{
if (!ObjConta.AddCuentasAsignaciones(CveconceptosContables, UsuarioActual.CveEmpresa, CveCuenta, IdCuentaContable, CveProveedor, CveClientes,
CvePersonal, CveClasificacion, CveAlmacen, -1, CveBancoCuenta: -1, CveConceptoNomina: CveConceptoNomina))
{ continuar = false; }
}
else { continuar = false; }
}
}
if (continuar)
{
ObjConta.Commit();
}
else
{
ObjConta.RollBack();
}
}
if (continuar)
{
Alert("las cuentas hán sido asignadas.");
RegistraScript("$('#ModalRegistraProvision').modal('hide');");
}
}
protected void GVProvision_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddllist = (DropDownList)e.Row.FindControl("Ddlcuentassd");
DropDownList DdlCconceptosContables = (DropDownList)e.Row.FindControl("DdlCconceptosContables");
DdlCconceptosContables.DataSource = ContaConceptossource;
DdlCconceptosContables.DataBind();
DdlCconceptosContables.SelectedValueExist("174");
ddllist.DataValueField = DdlCtaContable.DataValueField;
ddllist.DataSource = Contasource;
ddllist.DataBind();
ddllist.Items.Insert(0, new ListItem("Seleccione", "-1"));
ddllist.SelectedValueExist("-1");
}
}
protected void LnkupPrimaRiesgo_Click(object sender, EventArgs e)
{
@@ -6846,4 +7183,21 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.End();
}
protected void GvBitacora_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int j = 0; j < e.Row.Cells.Count; j++)
{
string encoded = e.Row.Cells[j].Text;
e.Row.Cells[j].Text = Context.Server.HtmlDecode(encoded);
}
}
}
}

View File

@@ -655,7 +655,17 @@ public partial class Nomina_ReportedeAcumulados : ClsPaginas
libro.Range(4, 1, 4, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
System.IO.Stream fs = new System.IO.MemoryStream();
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 acumulados nómina";
libro.Range(1, 2, 2, 6).Style.Font.Bold = true; libro.Range(1, 2, 2, 6).Style.Font.FontSize = 16;
libro.Range(3, 2, 3, 6).Merge().Value = $"del {TxtRpdFechaInicio.Text.ToDateTime():dd/MM/yyyy} al {TxtRpdFechaFin.Text.ToDateTime():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}";
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();

View File

@@ -59,7 +59,7 @@
<asp:UpdatePanel runat="server" ID="UpPersonalizado" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAddPersonalSimplificado" OnClick="LnkAddPersonalSimplificado_Click" runat="server"><i class="fa fa-plus"></i> Agregar Personal</asp:LinkButton>
<asp:LinkButton ID="LnkAddPersonalSimplificado" OnClick="LnkAddPersonalSimplificado_Click" runat="server"><i class="fa fa-plus"></i> Personal</asp:LinkButton>
</li>
<li runat="server" id="liLnkDescarPersonalizado" visible="false">
<asp:LinkButton ID="LnkDescarPersonalizados" runat="server" OnClick="LnkDescarPersonalizados_Click" OnClientClick=" LimpiarTabla(); return true;"><i class="fa fa-ad-excel" style="margin-right:5px"></i>Excel Personalizado</asp:LinkButton>
@@ -72,10 +72,10 @@
</Triggers>
</asp:UpdatePanel>
<li>
<asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-file-pdf-o" style="margin-right:5px;font-weight:bold"></i>Descargar PDF</asp:LinkButton>
<asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-file-pdf-o" style="margin-right:5px;font-weight:bold"></i>PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-file-excel-o" style="margin-right:5px;font-weight:bold"></i>Descargar Excel</asp:LinkButton>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-file-excel-o" style="margin-right:5px;font-weight:bold"></i>Excel</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCargaMasiva" OnClick="LnkCargaMasiva_Click" runat="server"><i class="fa fa-file-excel-o" style="margin-right:5px;font-weight:bold"></i>Formato carga masiva</asp:LinkButton>
@@ -84,7 +84,7 @@
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="HyperLink1" runat="server" Style="color: #686868;"><i class="fa fa-pencil" style="color:#686868;margin-left:3px;margin-right:2px"></i>Personalizar</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HypvalidacionRFC" data-toggle="modal" data-target="#DModalValidacionMasiva" runat="server"><i class="fa fa-check"></i> Validacion Masiva RFC</asp:HyperLink>
<asp:HyperLink ID="HypvalidacionRFC" data-toggle="modal" data-target="#DModalValidacionMasiva" runat="server"><i class="fa fa-check"></i> Validación Masiva RFC</asp:HyperLink>
</li>
</asp:Content>
@@ -1039,8 +1039,8 @@
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DDlTipoSalario" runat="server" CssClass="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardarAddS">
<asp:ListItem Selected="True" Text="Salario fijo" Value="1"></asp:ListItem>
<asp:ListItem Text="Salario variable" Value="2"></asp:ListItem>
<asp:ListItem Text="Salario fijo" Value="1"></asp:ListItem>
<asp:ListItem Text="Salario variable" Value="2" Selected="True" ></asp:ListItem>
<asp:ListItem Text="Salario mixto" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DDlTipoSalario" Text="Tipo Salario:"></asp:Label>
@@ -1084,8 +1084,8 @@
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DDlSindicalizado" runat="server" CssClass="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardarAddS">
<asp:ListItem Selected="True" Text="No" Value="0"></asp:ListItem>
<asp:ListItem Text="Si" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
<asp:ListItem Text="Si" Value="1" Selected ="true"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DDlSindicalizado" Text="Sindicalizado:"></asp:Label>
</div>

View File

@@ -163,10 +163,10 @@ Partial Class RH_CatPersonal
DdlRegimenContratacion.SelectedValueExist(1)
DdlMetodoPagoAdd.SelectedValueExist(1)
DdlTipoPeriodoAdd.SelectedValueExist(1)
DdlTipoContratoAdd.SelectedValueExist(2)
DdlJornada.SelectedValueExist(6)
DdlTipoContratoAdd.SelectedValueExist(4)
DdlJornada.SelectedValueExist(8)
DdlPuestoAdd.SelectedIndex = 1
DdlRiesgoPuesto.SelectedIndex = 1
DdlRiesgoPuesto.SelectedIndex = 3
End Sub
Private Sub CargaSatRiesgoPuesto()
DdlRiesgoPuesto.DataSource = GlobalDTNomSatRiesgoPuesto

View File

@@ -33,7 +33,9 @@
.GvVacaciones tr td:nth-child(1) {
white-space: nowrap;
}
.form-group.form-md-line-input .form-control.input-sm.form-small ~ label {
padding-bottom: 22px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
@@ -2339,7 +2341,7 @@
<div class="portlet-body ">
<asp:UpdatePanel ID="UpGvVacacionesResumen" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvVacacionesResumen" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" data-freezerows="1"
<asp:GridView ID="GvVacacionesResumen" Visible="false" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" data-freezerows="1"
CssClass=" table table-striped table-advance table-hover Widthall" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
<Columns>
@@ -2353,6 +2355,82 @@
<asp:BoundField Visible="true" DataField="DiasDisponibles" HeaderText="Días Disponibles" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
<asp:Repeater ID="Repeater1" runat="server"></asp:Repeater>
<asp:Repeater id="RPTVacacionesResumen" runat="server" OnItemDataBound="RPTVacacionesResumen_ItemDataBound">
<HeaderTemplate>
<!-- CvePersonal,CveEmpresa,InicioPeriodo,FinPeriodo,Antiguedad,Ejercicio,FechaIngreso,Dias,DiasDisfrutados,DiasPrima,DiasVacaciones-->
<table class=" table table-striped table-advance table-hover Widthall"
cellspacing="0" data-heighterror="330" data-freezecols="0" data-freezerows="1"
id="C_Tab_TabVacaciones_GvVacacionesResumenx">
<tbody>
<tr>
<th>Periodo</th>
<th>Antigüedad</th>
<th>Vacaciones disponibles</th>
<th>Días pagados</th>
<th>Días disfrutados</th>
<th>Días prima</th>
<th></th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# String.Format("{0:dd/MM/yyyy} - {1:dd/MM/yyyy}", DataBinder.Eval(Container.DataItem, "InicioPeriodo"), DataBinder.Eval(Container.DataItem, "FinPeriodo")) %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Antiguedad") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "DiasVacaciones") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Dias") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "DiasDisfrutados") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "DiasPrima") %> </td>
<td></td>
</tr>
<%--<tr>
<td colspan="7">
<div class="portlet light smmallpadding bordered" style=" border: 0px solid #333 !important;">
<div class="portlet-title" style="min-height: 20px;margin: 0px;">
<div class="tools" style=" padding: 0px;"><a href="javascript;" class="collapse" data-original-title="" title=""></a></div>
</div>
<div class="portlet-body " style=" padding: 0px;">
<asp:GridView ID="GvVaczx" Width="100%" runat="server" GridLines="None" BorderWidth="0" AutoGenerateColumns="False"
CssClass=" table table-striped table-advance table-hover Widthall" ShowHeader="True" EmptyDataText="No se encontraron resultados." >
<Columns>
<asp:BoundField DataField="FechaIng" DataFormatString="{0:dd/MM/yyyy}" HeaderText="Fecha ingreso" />
<asp:BoundField DataField="Ejercicio" HeaderText="Ejercicio" />
<asp:TemplateField HeaderText="Periodo">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaInicio", "{0:dd/MM/yyyy}")%>'> </asp:Label>-
<asp:Label runat="server" Text='<%# Eval("FechaFin", "{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FechaPago" DataFormatString="{0:dd/MM/yyyy}" HeaderText="Fecha pago" />
<asp:BoundField DataField="diasinhabiles" HeaderText="Días feriados" />
<asp:BoundField DataField="DiasextraAutorizado" HeaderText="Días extra" />
<asp:BoundField DataField="diasPago" HeaderText="Días pago" />
<asp:TemplateField HeaderText="Aplica prima">
<ItemTemplate>
<asp:Label runat="server" Text='<%# If(Eval("AplicaPrima").ToString() = "1" Or Eval("AplicaPrima").ToString().ToUpper() = "TRUE", "Sí", "No") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cobro IMSS">
<ItemTemplate>
<asp:Label runat="server" Text='<%# If(Eval("CobrarIMSS").ToString() = "1" Or Eval("CobrarIMSS").ToString().ToUpper() = "TRUE", "Sí", "No") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</td>
</tr>--%>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DvPermisosMotivos1" runat="server" visible="false">
@@ -2417,8 +2495,29 @@
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpdatePanel2" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<div class="" style="padding-top: 0px;">
<asp:Label runat="server" AssociatedControlID="DdlFormapagovacaciones" Style="padding-bottom: 0px; margin-bottom: 0px; font-size: 12px; color: #888; font-weight: 400;">Forma de pago</asp:Label><br />
<asp:DropDownList ID="DdlFormapagovacaciones" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me " runat="server" OnSelectedIndexChanged="DdlFormapagovacaciones_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Text="Pagar en fecha" Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Pagar en periodo disfrutadas" Value="2"></asp:ListItem>
<asp:ListItem Text="Vacaciones trabajadas" Value="3"></asp:ListItem>
<asp:ListItem Text="Solo pagar" Value="4"></asp:ListItem>
<asp:ListItem Text="Solo disfrutar" Value="5"></asp:ListItem>
<asp:ListItem Text="Solo prima" Value="6"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacEjercicio" CssClass="form-control input-sm form-small" Text="2021" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacEjercicio">Ejercicio</asp:Label>
</div>
</div>
</div>
<asp:Panel runat="server" ID="PnlVacfechas" CssClass="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style=" width: 100px !important">
@@ -2446,9 +2545,23 @@
</div>
<br />
</div>
</div>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacDias" CssClass="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright calendarlinealinput form-small">
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm form-small"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtdiasinabiles">Días feriados</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacDiasExtra" CssClass="form-control input-sm form-small" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacDiasExtra">Días extras</asp:Label>
</div>
</div>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacFechapago" CssClass="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style=" width: 100px !important">
@@ -2463,32 +2576,28 @@
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style=" width: 100px !important">
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
<label>días inhábiles</label>
<asp:Panel runat="server" ID="PnlVacDiasPago" CssClass="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacDiasPago" CssClass="form-control input-sm form-small" type="number" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacDiasPago">Días pago</asp:Label>
</div>
</asp:Panel>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacChecks" CssClass="row">
<div class="col-md-6" >
<div style="padding-top: 0px; padding-bottom: 0px; font-size: 12px; color: #888; font-weight: 400; white-space: nowrap;">
¿Prima Vacacional?
</div>
<asp:CheckBox ID="ChkVacPrimaVacacional" CssClass="chksino " Checked="true" Text=" " runat="server" />
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlFormapagovacaciones">Forma de pago</asp:Label><br />
<asp:DropDownList ID="DdlFormapagovacaciones" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me " runat="server">
<asp:ListItem Text="Pagadas por anticipado" Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Por pagar" Value="2"></asp:ListItem>
<asp:ListItem Text="Trabajadas" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacDiasExtra" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacDiasExtra">Días extras</asp:Label>
</div>
</div>
</div>
<div class="col-md-6" >
<div style="padding-top: 0px; padding-bottom: 0px; font-size: 12px; color: #888; font-weight: 400; white-space: nowrap;">
¿Cobrar IMSS?
</div>
<asp:CheckBox ID="ChkVacCobrarIMSS" CssClass="chksino " Checked="true" Text=" " runat="server" />
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
@@ -2534,6 +2643,11 @@
</div>
</div>
</div>
<div class="col-md-6" id="DvHistorialVacaiones" runat="server">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
@@ -2552,7 +2666,53 @@
<asp:UpdatePanel ID="UpGvVacaciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvVacaciones" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" data-freezerows="1"
<asp:GridView ID="GvVaczxy" Width="100%" runat="server" GridLines="None" BorderWidth="0" AutoGenerateColumns="False" data-heighterror="330" data-freezecols="0" data-freezerows="1"
DataKeyNames="CvePersonalVacaciones,Periodo,FechaIng,Estatus,CveAutoriza,Autoriza,Dias,Usuario,SEstatus,Folio,FechaInicio,FechaFin,Documento,Motivo"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD GvVacaciones" data-sort="true" data-height="300" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
OnRowDataBound="GvVacaciones_RowDataBound">
<Columns>
<asp:BoundField DataField="FechaIng" DataFormatString="{0:dd/MM/yyyy}" HeaderText="Fecha ingreso" />
<asp:BoundField DataField="Ejercicio" HeaderText="Ejercicio" />
<asp:TemplateField HeaderText="Periodo">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaInicio", "{0:dd/MM/yyyy}")%>'> </asp:Label>-
<asp:Label runat="server" Text='<%# Eval("FechaFin", "{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FechaPago" DataFormatString="{0:dd/MM/yyyy}" HeaderText="Fecha pago" />
<asp:BoundField DataField="diasinhabiles" HeaderText="Días feriados" />
<asp:BoundField DataField="DiasextraAutorizado" HeaderText="Días extra" />
<asp:BoundField DataField="diasPago" HeaderText="Días pago" />
<asp:TemplateField HeaderText="Aplica prima">
<ItemTemplate>
<asp:Label runat="server" Text='<%# If(Eval("AplicaPrima").ToString() = "1" Or Eval("AplicaPrima").ToString().ToUpper() = "TRUE", "Sí", "No") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cobro IMSS">
<ItemTemplate>
<asp:Label runat="server" Text='<%# If(Eval("CobrarIMSS").ToString() = "1" Or Eval("CobrarIMSS").ToString().ToUpper() = "TRUE", "Sí", "No") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="124">
<ItemTemplate>
<div>
<asp:LinkButton ID="LnkEliminarSolicitud" runat="server" OnClick="LnkEliminarSolicitud_Click" AlternateText="Eliminar" CausesValidation="False" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la solicitud de vacaciones?" data-btn-ok-label="si"
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-trash' title='Eliminar' ></i>" />
<asp:LinkButton ID="ImgEditar" runat="server" OnClick="Edit_ClickVacacionDia" AlternateText="Autorizar" CausesValidation="False"
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil' title='Autorizar' ></i>" />
<asp:LinkButton ID="ImgDescargaFormato" runat="server" OnClick="DownLoad_ClickSolicitudVacaciones" AlternateText="Editar" CausesValidation="False"
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-download ' title='Descarga Solicitud' ></i>" />
<asp:LinkButton ID="ImgDescargaAutorizacion" runat="server" OnClick="DownLoad_ClickSolicitudAutorizacion" AlternateText="Editar" CausesValidation="False"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-download ' title='Descarga autorización' ></i>" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:GridView ID="GvVacaciones" Visible ="false" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" data-freezerows="1"
DataKeyNames="CvePersonalVacaciones,Periodo,FechaIng,Estatus,CveAutoriza,Autoriza,Dias,Usuario,SEstatus,Folio,FechaInicio,FechaFin,Documento,Motivo"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD GvVacaciones" data-sort="true" data-height="300" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">

View File

@@ -847,6 +847,7 @@ Partial Class RH_Personal
If Request("CvePersonal") IsNot Nothing AndAlso IsNumeric(Request("CvePersonal")) AndAlso Request("CvePersonal").ToEntero() > 0 Then
ViewState("CvePersonal") = Request("CvePersonal")
DdlFormapagovacaciones_SelectedIndexChanged(Nothing, Nothing)
'CvePersonal = ViewState("CvePersonal").ToString().ToEntero()
CargaDatos()
CargaDocumentacionFirmaDecontratos()
@@ -4503,43 +4504,70 @@ Partial Class RH_Personal
Next
End Sub
Dim dtosvac As DataTable
Private Sub CargaVacacionesResumenPeriodoActual()
Dim objRH As New ClsRH
If objRH.VacacionesResumenGet(CvePersonal, UsuarioActual.Empresa.CveEmpresa) Then
If objRH.DtResultados.Rows.Count > 0 Then
VacInicioPeriodo = objRH.DtResultados(0)("InicioPeriodo").ToString().ToDate
VacFinPeriodo = objRH.DtResultados(0)("FinPeriodo").ToString().ToDate
VacAnios = objRH.DtResultados(0)("Anios").ToString().ToEntero()
VacDias = objRH.DtResultados(0)("Dias").ToString().ToEntero()
VacDiasUsados = objRH.DtResultados(0)("DiasUsados").ToString().ToEntero()
VacDiasCancelados = objRH.DtResultados(0)("DiasCancelados").ToString().ToEntero()
VacDiasDisponibles = objRH.DtResultados(0)("DiasDisponibles").ToString().ToEntero()
GvVacacionesResumen.DataSource = objRH.DtResultados
VacSupervisorNombre = objRH.DtResultados(0)("SupervisorNombre").ToString()
VacSupervisorCorreo = objRH.DtResultados(0)("SupervisorCorreo").ToString()
VacCveSupervisor = objRH.DtResultados(0)("SupervisorCorreo").ToString().ToEntero()
Else
VacInicioPeriodo = Now
VacFinPeriodo = Now
VacAnios = 0
VacDias = 0
VacDiasUsados = 0
VacDiasCancelados = 0
VacDiasDisponibles = 0
Using objnom As New ClsNominas
If objnom.GETPersonalVacResumen(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then
RPTVacacionesResumen.DataSource = objnom.DtResultados
End If
End If
If objnom.GETPersonalVacaciones(UsuarioActual.Empresa.CveEmpresa, CvePersonal) Then
dtosvac = objnom.DtResultados
GvVaczxy.DataSource = dtosvac
GvVaczxy.DataBind()
End If
End Using
objRH.Dispose()
RPTVacacionesResumen.DataBind()
Using objRH As New ClsRH
If objRH.VacacionesResumenGet(CvePersonal, UsuarioActual.Empresa.CveEmpresa) Then
If objRH.DtResultados.Rows.Count > 0 Then
VacInicioPeriodo = objRH.DtResultados(0)("InicioPeriodo").ToString().ToDate
VacFinPeriodo = objRH.DtResultados(0)("FinPeriodo").ToString().ToDate
VacAnios = objRH.DtResultados(0)("Anios").ToString().ToEntero()
VacDias = objRH.DtResultados(0)("Dias").ToString().ToEntero()
VacDiasUsados = objRH.DtResultados(0)("DiasUsados").ToString().ToEntero()
VacDiasCancelados = objRH.DtResultados(0)("DiasCancelados").ToString().ToEntero()
VacDiasDisponibles = objRH.DtResultados(0)("DiasDisponibles").ToString().ToEntero()
GvVacacionesResumen.DataSource = objRH.DtResultados
VacSupervisorNombre = objRH.DtResultados(0)("SupervisorNombre").ToString()
VacSupervisorCorreo = objRH.DtResultados(0)("SupervisorCorreo").ToString()
VacCveSupervisor = objRH.DtResultados(0)("SupervisorCorreo").ToString().ToEntero()
Else
VacInicioPeriodo = Now
VacFinPeriodo = Now
VacAnios = 0
VacDias = 0
VacDiasUsados = 0
VacDiasCancelados = 0
VacDiasDisponibles = 0
End If
End If
End Using
GvVacacionesResumen.DataBind()
UpGvVacacionesResumen.Update()
End Sub
Protected Sub RPTVacacionesResumen_ItemDataBound(sender As Object, e As RepeaterItemEventArgs)
'Dim item As DataRowView = DirectCast(e.Item.DataItem, DataRowView)
'If (item IsNot Nothing AndAlso item("CveEmpresa") IsNot Nothing) Then
' Dim CveEmpresa As Integer = item("CveEmpresa").ToString().ToEntero()
' Dim CvePersonal As Integer = item("CvePersonal").ToString().ToEntero()
' Dim Ejercicio As Integer = item("Ejercicio").ToString().ToEntero()
' Dim RptTitulo As GridView = DirectCast(e.Item.FindControl("GvVaczx"), GridView)
' If dtosvac IsNot Nothing Then
' RptTitulo.DataSource = dtosvac.FiltraParametros(String.Format("Ejercicio={0}", Ejercicio), "FechaIng")
' RptTitulo.DataBind()
' End If
'End If
End Sub
Protected Sub BtnSolicitarVacaciones_Click(sender As Object, e As EventArgs) Handles BtnSolicitarVacaciones.Click
Dim fInicio As Date = TxtFechaInicioVac.Text.ToDate()
Dim fFin As Date = TxtFechaFinVac.Text.ToDate()
@@ -4551,7 +4579,7 @@ Partial Class RH_Personal
VacFolioActual = VacFolioActual + 1
Dim objRH As New ClsRH
'Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, motivoVacaciones)
Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, FechaPago:=fechapago, diasinabiles:=diasinhabil, CveTipoPago:=DdlFormapagovacaciones.SelectedValue.ToEntero(), diasExtras:=TxtVacDiasExtra.Text.ToEntero())
Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, FechaPago:=fechapago, diasinabiles:=diasinhabil, CveTipoPago:=DdlFormapagovacaciones.SelectedValue.ToEntero(), diasExtras:=TxtVacDiasExtra.Text.ToEntero(), Ejercicio:=TxtVacEjercicio.Text.ToEntero(), PrimaVacacional:=If(ChkVacPrimaVacacional.Checked, 1, 0), CobrarImss:=If(ChkVacCobrarIMSS.Checked, 1, 0), diasPago:=TxtVacDiasPago.Text.ToEntero())
If objRH.DtResultados.Rows.Count > 0 Then
Dim ShowError As String = objRH.DtResultados.Rows(0)("ShowError").ToString()
If ShowError.Length > 0 Then
@@ -5088,6 +5116,41 @@ Partial Class RH_Personal
Return ListaTags
End Function
Protected Sub DdlFormapagovacaciones_SelectedIndexChanged(sender As Object, e As EventArgs)
PnlVacfechas.Visible = False
PnlVacDias.Visible = False
PnlVacFechapago.Visible = False
PnlVacDiasPago.Visible = False
PnlVacChecks.Visible = False
TxtVacDiasPago.Text = "0"
Select Case DdlFormapagovacaciones.SelectedValue.ToEntero()
Case 1
PnlVacfechas.Visible = True
PnlVacDias.Visible = True
PnlVacFechapago.Visible = True
PnlVacDiasPago.Visible = True
PnlVacChecks.Visible = True
Case 2
PnlVacfechas.Visible = True
PnlVacDias.Visible = True
PnlVacChecks.Visible = True
Case 3
PnlVacfechas.Visible = True
PnlVacDias.Visible = True
PnlVacDiasPago.Visible = False
PnlVacFechapago.Visible = True
Case 4
PnlVacFechapago.Visible = True
PnlVacDiasPago.Visible = True
PnlVacChecks.Visible = True
Case 5
PnlVacfechas.Visible = True
Case 6
PnlVacFechapago.Visible = True
PnlVacDiasPago.Visible = True
End Select
End Sub
#End Region
#Region "CURSOS"
@@ -6601,5 +6664,7 @@ Partial Class RH_Personal
End If
End Sub
End Class

View File

@@ -312,6 +312,8 @@