This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-07-29 16:21:05 -07:00
parent 837d3201b0
commit 95db34a9ae
11 changed files with 1260 additions and 116 deletions

View File

@@ -66,13 +66,10 @@
<div class="titlefiltros caption">
<div class="row">
<asp:Label runat="server" CssClass="col-md-1">Turno: </asp:Label>
<asp:Label runat="server" CssClass="col-md-1">Cliente: </asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" DataTextField="Turno" DataValueField="CveTurno" CssClass="select2me form-control" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientesfilter" Width="100%" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%"></ADS:Dropdownlost>
</div>
<asp:Label ID="LblProyecto" CssClass="col-md-1 compoonenlabel" runat="server" Text="Proyecto:" Style="max-width: 100%"></asp:Label>
<div runat="server" id="divddlproyeto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me form-control" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
@@ -85,10 +82,21 @@
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" CssClass="col-md-1">Cliente: </asp:Label>
<div class="col-md-2">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientesfilter" Width="100%" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 140px"></ADS:Dropdownlost>
<asp:Label runat="server" CssClass="col-md-1">Turno: </asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" DataTextField="Turno" DataValueField="CveTurno" CssClass="select2me form-control" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" CssClass="col-md-1">Supervisor: </asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSupervisor" runat="server" Width="100%" AppendDataBoundItems="True" DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin Asignar" Value="-1"></asp:ListItem>
<asp:ListItem Text="Cabecera" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<ul class="list-inline">
<%--<li>
@@ -139,8 +147,7 @@
</div>
<div class="actions">
<div class="btn-group">
<asp:Button ID="BtnGuardarSupervisor" OnClick="BtnGuardarSupervisor_Click" runat="server" Text="Guardar supervisor" class="btn btn-primary" />
<asp:Button ID="BtnGuardar" OnClick="BtnGuardar_Click" runat="server" Text="Guardar salario" ValidationGroup="GrpGuardar" class="btn btn-primary" />
<%--<asp:Button ID="BtnGuardar" OnClick="BtnGuardar_Click" runat="server" Text="Guardar salario" ValidationGroup="GrpGuardar" class="btn btn-primary" />--%>
</div>
</div>
</div>
@@ -160,7 +167,6 @@
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server" Text='<%# String.Format("<a href=""/RH/Personal.aspx?CvePersonal={1}"" target=""_Blank"">{0}</a>", Eval("Nombre"), Eval("CvePersonal"))%>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="250px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proyecto</HeaderTemplate>
@@ -168,24 +174,24 @@
<asp:Literal runat="server" Text='<%# Eval("Proyecto") %>'></asp:Literal>
<%--<asp:DropDownList ID="DdlGVProyecto" runat="server" AutoPostBack="True" DataTextField="Proyecto" DataValueField="CveProyecto" OnSelectedIndexChanged="DdlGVProyecto_SelectedIndexChanged" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 190px !important;"></asp:DropDownList>--%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<ItemStyle Width="250px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="250px">
<ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("SubProyecto") %>'></asp:Literal>
<%--<asp:DropDownList ID="DdlGVSubProyecto" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 190px !important;"></asp:DropDownList>--%>
<%--<asp:Literal runat="server" Text='<%# Eval("SubProyecto") %>'></asp:Literal>--%>
<asp:DropDownList ID="DdlGVSubProyecto" runat="server" Width="100%" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="form-control input-sm select2me" ></asp:DropDownList>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" Width="200px" />
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="120px">
<HeaderTemplate>Turno</HeaderTemplate>
<ItemTemplate>
<%--<asp:Literal runat="server" Text='<%# Eval("Turno") %>'></asp:Literal>--%>
<asp:DropDownList ID="DdlTurno" runat="server" DataTextField="Turno" DataValueField="CveTurno" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 90px !important;"></asp:DropDownList>
<asp:DropDownList ID="DdlTurno" runat="server" DataTextField="Turno" DataValueField="CveTurno" Class="form-control input-sm select2me" Style="width: 100%"></asp:DropDownList>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" Width="80px"/>
</asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="80px">
<asp:TemplateField HeaderStyle-Width="80px" Visible="false">
<HeaderTemplate>SDD</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtSalarioDiario" runat="server" MaxLength="10" Text='<%# Eval("SalarioDiario", "{0:N2}") %>' Width="70px"></asp:TextBox>
@@ -194,7 +200,7 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>SDI</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtSDI" runat="server" MaxLength="10" Text='<%# Eval("SDI", "{0:N2}") %>' Width="70px"></asp:TextBox>
@@ -203,7 +209,7 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="80px" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="80px">
<asp:TemplateField HeaderStyle-Width="80px" Visible="false">
<HeaderTemplate>SD IMSS</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtSalarioCotizado" runat="server" MaxLength="10" Text='<%# Eval("SalarioDiarioSS", "{0:N2}") %>' Width="70px"></asp:TextBox>
@@ -212,27 +218,29 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="80px">
<asp:TemplateField HeaderStyle-Width="80px" Visible="false">
<HeaderTemplate>¿CALCULAR SDI?</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkCalcularSDI" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="250px">
<HeaderTemplate>Supervisor</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList ID="DdlSupervisor" runat="server" DataTextField="Nombre" DataValueField="CveUsuario" CssClass=" select2me" Style="width: 140px !important;">
<asp:DropDownList ID="DdlSupervisor" runat="server" Width="100%" AppendDataBoundItems="True" DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin Asignar" Value="-1"></asp:ListItem>
<asp:ListItem Text="Cabecera" Value="0"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" Width="150px" />
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="280px">
<HeaderTemplate>Cliente</HeaderTemplate>
<ItemTemplate>
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="140" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 140px"></ADS:Dropdownlost>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%"></ADS:Dropdownlost>
</ItemTemplate>
<ItemStyle Width="250px" HorizontalAlign="Left" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
@@ -240,6 +248,8 @@
</asp:GridView>
</div>
</div>
<div class=" text-center">
<asp:Button ID="BtnGuardarSupervisor" OnClick="BtnGuardarSupervisor_Click" runat="server" Text="Guardar" class="btn btn-primary" /></div>
</ContentTemplate>
</asp:UpdatePanel>

View File

@@ -6,13 +6,13 @@ Imports System.Data
Partial Class RH_ActualizacionMasiva
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
SetPermisos()
'DdlCliente.Attributes.Add("onclick", "CargaClientes();")
'CargaProyecto()
ViewState("gvtsubproyectos") = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa)
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto)
divddlproyeto.Visible = DdlProyecto.Visible
GvDatos.Columns(2).Visible = DdlProyecto.Visible
@@ -23,6 +23,7 @@ Partial Class RH_ActualizacionMasiva
GvDatos.CssClass = String.Format("{0} {1}", GvDatos.CssClass, If(DdlProyecto.Visible, "Columns4", ""))
CargaTurnos()
CargaSupervisores()
CargaSuperioresOrganigrama()
End If
End Sub
@@ -100,6 +101,22 @@ Partial Class RH_ActualizacionMasiva
ViewState("DTTurno") = dt
End Sub
Private Sub CargaSuperioresOrganigrama()
Dim ObjRH As New ClsRH
If ObjRH.GetPersonal(-1, UsuarioActual.CveEmpresa) Then
ViewState("dtSupervisores") = ObjRH.DtResultados
DdlSupervisor.DataSource = ObjRH.DtResultados
Else
DdlSupervisor.DataSource = Nothing
Alert("Ocurrió un error al cargar el catálogo de Jefes Inmediatos")
End If
ObjRH.Dispose()
If DdlSupervisor.DataSource IsNot Nothing Then
DdlSupervisor.DataBind()
End If
End Sub
Private Sub CargaSupervisores()
ViewState("DTUsuarios") = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0} AND EsSupervisorRH = 1 ", UsuarioActual.CveEmpresa))
@@ -120,7 +137,7 @@ Partial Class RH_ActualizacionMasiva
End Sub
Public Sub consultardata()
Using ObjPersonal As New ClsRH()
If ObjPersonal.GetPersonalMasivo(DdlTurno.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then
If ObjPersonal.GetPersonalMasivo(DdlTurno.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlSupervisor.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, DdlClientesfilter.SelectedValue.ToEntero()) Then
GvDatos.DataSource = ObjPersonal.DtResultados
Else
GvDatos.DataSource = Nothing
@@ -159,7 +176,7 @@ Partial Class RH_ActualizacionMasiva
If e.Row.DBCampo("Turno") = "" AndAlso e.Row.DBCampo("Nombre") = "" Then
e.Row.FCLiteral("LtlCodigo").Text = String.Format("<b>{0}:</b> {1}", LblSubProyeccto.Text, If(e.Row.DBCampo("SubProyecto") = String.Empty, "Sin Proyecto Asignado", e.Row.DBCampo("SubProyecto")))
e.Row.Cells(0).ColumnSpan = 11
e.Row.Cells(0).ColumnSpan = 8
For i As Integer = 1 To 10
e.Row.Cells(i).Visible = False
Next
@@ -167,7 +184,7 @@ Partial Class RH_ActualizacionMasiva
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
ElseIf e.Row.DBCampo("Turno") <> "" AndAlso e.Row.DBCampo("Nombre") = "" Then
e.Row.FCLiteral("LtlCodigo").Text = String.Format("<b>Turno:</b> {0}", e.Row.DBCampo("Turno"))
e.Row.Cells(0).ColumnSpan = 11
e.Row.Cells(0).ColumnSpan = 8
For i As Integer = 1 To 10
e.Row.Cells(i).Visible = False
Next
@@ -183,7 +200,10 @@ Partial Class RH_ActualizacionMasiva
e.Row.FCTextBox("TxtSalarioCotizado").Text = e.Row.FCTextBox("TxtSalarioCotizado").Text.Replace(",", "")
e.Row.FCDropDownList("DdlSupervisor").DataSource = DTUsuarios
e.Row.FCDropDownList("DdlGVSubProyecto").DataSource = ViewState("gvtsubproyectos")
e.Row.FCDropDownList("DdlGVSubProyecto").DataBind()
e.Row.FCDropDownList("DdlGVSubProyecto").SelectedValueExist(e.Row.DBCampo("CveSubProyecto").ToString())
e.Row.FCDropDownList("DdlSupervisor").DataSource = ViewState("dtSupervisores")
e.Row.FCDropDownList("DdlSupervisor").DataBind()
e.Row.FCDropDownList("DdlSupervisor").Items.Insert(0, New ListItem("Sin Supervisor Asignado", "-1"))
e.Row.FCDropDownList("DdlSupervisor").SelectedValueExist(e.Row.DBCampo("CveSupervisor").ToString())
@@ -223,6 +243,12 @@ Partial Class RH_ActualizacionMasiva
' ObjPersonal.RollBack()
' Exit For
'End If
If Not ObjPersonal.UpdatePersonalMasivoData(Row.FCDropDownList("DdlTurno").SelectedValue.ToEntero, DirectCast(Row.FindControl("DdlClientes"), ADServerControl.Dropdownlost).SelectedValue.ToEntero, Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero(),
Row.DataKey("CvePersonal").ToEntero(), UsuarioActual.CveEmpresa) Then
OcurrioError = True
ObjPersonal.RollBack()
Exit For
End If
If ObjPersonal.UpdateSalarios(Row.DataKey("CvePersonal").ToEntero(), DateTime.Now.ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Row.FCTextBox("TxtSalarioDiario").Text.ToDecimal(),
Row.FCTextBox("TxtSDI").Text.ToDecimal(), Row.FCTextBox("TxtSalarioCotizado").Text.ToDecimal(), Row.FCTextBox("TxtSalarioDiario").Text.ToDecimal(),
Row.FCCheckBox("ChkCalcularSDI").Checked) Then
@@ -410,19 +436,36 @@ Partial Class RH_ActualizacionMasiva
For Each Row As GridViewRow In GvDatos.Rows
CvePersonal = Row.DataKey("CvePersonal").ToEntero()
If CvePersonal > 0 Then
listpersonal.Add(New RequestUpSupervisorMasiva() With {.CvePersonal = CvePersonal, .CveUsuario = Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero(),
listpersonal.Add(New RequestUpSupervisorMasiva() With {.CvePersonal = CvePersonal, .CveUsuario = Row.FCDropDownList("DdlGVSubProyecto").SelectedValue.ToEntero(),
.CveCliente = Row.FCDropDownLost("DdlClientes").SelectedValue.ToEntero()})
End If
Next
Dim continuar As Boolean = False
Dim OcurrioError As Boolean = False
Using ObjPersonal As ClsRH = New ClsRH()
ObjPersonal.IniciaTransacSQL()
If ObjPersonal.UpPersonalSupervisorMasiva(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, listpersonal) Then
ObjPersonal.Commit()
continuar = True
Alert("La información se guardó correctamente.", TipoMensaje.MsgInformacion)
For Each Row As GridViewRow In GvDatos.Rows
If Row.DataKey("CvePersonal") <> "" Then
If Not ObjPersonal.UpdatePersonalMasivoData(Row.FCDropDownList("DdlTurno").SelectedValue.ToEntero, DirectCast(Row.FindControl("DdlClientes"), ADServerControl.Dropdownlost).SelectedValue.ToEntero, Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero(),
Row.DataKey("CvePersonal").ToEntero(), UsuarioActual.CveEmpresa) Then
OcurrioError = True
ObjPersonal.RollBack()
Exit For
End If
End If
Next
If OcurrioError Then
Else
ObjPersonal.RollBack()
If ObjPersonal.UpPersonalSupervisorMasiva(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, listpersonal) Then
ObjPersonal.Commit()
continuar = True
Alert("La información se guardó correctamente.", TipoMensaje.MsgInformacion)
Else
ObjPersonal.RollBack()
End If
End If
End Using
If continuar Then

View File

@@ -10,9 +10,10 @@
Registro de Asistencias
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:HyperLink ID="HyperLink1" NavigateUrl="#" runat="server"><i class="fa fa-file-pdf-o" style="color: #6D0C2E;" aria-hidden="true"></i>Lista asistencia</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkImprimir" runat="server" OnClick="LnkImprimir_Click"><i class="fa fa-file-pdf-o" style="color: #6D0C2E;" aria-hidden="true"></i>Lista asistencia</asp:LinkButton>
</li>
<asp:Panel ID="PnlMasivo" runat="server" Visible="False">
<li>
<asp:HyperLink ID="HypCargaAsistenciaMasiva" data-toggle="modal" data-target="#DModalCargaASistenciaMasiva" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga masiva de asistencia</asp:HyperLink>
@@ -28,42 +29,54 @@
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="collapse"></a>
<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>
<%--<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>--%>
</div>
<div class="titlefiltros ">
<ul class="list-inline">
<li>Cliente:
<asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" />
<asp:DropDownList ID="DdlCliente" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveCliente" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 150px !important;">
<asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" />
<asp:DropDownList ID="DdlCliente" runat="server" AppendDataBoundItems="true" Style="display: inline-block; width: 250px;" DataTextField="Nombre" DataValueField="CveCliente" Class="form-control input-sm select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>Proyecto:
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 100px !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<li id="DivProyectosAsignado" runat="server">
<asp:Label runat="server" ID="LblProyectoAsignado" AssociatedControlID="DdlProyectoAsignado">Proyecto: </asp:Label>
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" Style="display: inline-block; width: 170px;" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>SubProyecto:
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 100px !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
<li>
<asp:Label runat="server" ID="LblSubProyectoAsignado" AssociatedControlID="DdlSubProyecto">SubProyecto: </asp:Label>
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" Style="display: inline-block; width: 150px;" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>F. Asistencia:
<asp:TextBox ID="TxtFechaAsistencia" runat="server" MaxLength="10" Width="70px" Height="30px"></asp:TextBox>
&nbsp;<asp:ImageButton runat="server" ID="ImgFechaAsistencia" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
<ajax:MaskedEditExtender ID="MEEFechaAsistencia" runat="server" TargetControlID="TxtFechaAsistencia" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaAsistencia" TargetControlID="TxtFechaAsistencia" PopupButtonID="ImgFechaAsistencia" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaAsistencia" runat="server" ControlToValidate="TxtFechaAsistencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Ingreso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaAsistencia" runat="server" ControlToValidate="TxtFechaAsistencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Ingreso''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaAsistencia1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaAsistencia" Width="350px"></ajax:ValidatorCalloutExtender>
&nbsp;
<li>
<asp:Label runat="server" AssociatedControlID="DdlTurno">Turno: </asp:Label>
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" Style="width: 130px;" DataTextField="Turno" DataValueField="CveTurno" Class="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>
<asp:Label AssociatedControlID="DdlSupervisorOrganigrama" runat="server" Text="Supervisor:" Style="display: inline-block;"></asp:Label>
<asp:DropDownList ID="DdlSupervisorOrganigrama" runat="server" Style="display: inline-block; width: 240px;" AppendDataBoundItems="True" DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
<asp:ListItem Text="Cabecera" Value="0"></asp:ListItem>
</asp:DropDownList>
</li>
<li style="width: 227px">
<asp:Label runat="server" AssociatedControlID="TxtFechaAsistencia">F. Asistencia: </asp:Label>
<asp:TextBox ID="TxtFechaAsistencia" runat="server" MaxLength="10" Width="90px" Height="28px"></asp:TextBox><span class="input-group-btn "><asp:LinkButton ID="ImgFechaAsistencia" class="btn default " Style="padding: 4px 8px;" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaAsistencia" runat="server" TargetControlID="TxtFechaAsistencia" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaAsistencia" TargetControlID="TxtFechaAsistencia" PopupButtonID="ImgFechaAsistencia" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaAsistencia" runat="server" ControlToValidate="TxtFechaAsistencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Ingreso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaAsistencia" runat="server" ControlToValidate="TxtFechaAsistencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Ingreso''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaAsistencia1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaAsistencia" Width="350px"></ajax:ValidatorCalloutExtender>
&nbsp;
<ajax:ValidatorCalloutExtender ID="VCOFechaAsistencia2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaAsistencia" Width="350px"></ajax:ValidatorCalloutExtender>
</li>
<li style="width: 185px;">&nbsp;&nbsp;Turno:
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" DataTextField="Turno" DataValueField="CveTurno" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 100px !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
</li>
</ul>
</div>
</div>
@@ -79,7 +92,7 @@
<td>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GV" runat="server" AutoGenerateColumns="false" DataKeyNames="CvePersonal" EmptyDataText="No se encontró Personal asignado al Proyecto o al Cliente" ToolTip="Listado de Personal" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" Style="margin-top: -10px; text-align: center;" GridLines="None">
<asp:GridView ID="GV" runat="server" AutoGenerateColumns="false" DataKeyNames="CvePersonal" EmptyDataText="No se encontró Personal asignado al Proyecto o al Cliente" ToolTip="Listado de Personal" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>N°</HeaderTemplate>
@@ -136,30 +149,32 @@
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
<div class="text-right"><asp:Button ID="BtnGuardar" Visible="false" runat="server" Text="Guardar Asistencia" class="btn btn-primary" /></div>
<div class="text-right">
<asp:Button ID="BtnGuardar" Visible="false" runat="server" Text="Guardar Asistencia" class="btn btn-primary" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td style="width: 250px;text-align:left;vertical-align: top;">
<td style="width: 250px; text-align: left; vertical-align: top;">
<table class="table table-striped table-advance table-hover">
<thead>
<tr class="Titulos">
<th>#</th>
<th style="text-align:left;">&nbsp;Notación</th>
<th style="text-align: left;">&nbsp;Notación</th>
</tr>
</thead>
<tr>
<td>1&nbsp;</td>
<td style="text-align:left;">&nbsp;Sin registrar asistencia</td>
<td style="text-align: left;">&nbsp;Sin registrar asistencia</td>
</tr>
<tr>
<td>2&nbsp;</td>
<td style="text-align:left;background-color: #ADD8E6">&nbsp;Se registró asistencia</td>
<td style="text-align: left; background-color: #ADD8E6">&nbsp;Se registró asistencia</td>
</tr>
<tr>
<td>3&nbsp;</td>
<td style="text-align:left;color: #FF0000">&nbsp;Se registró asistencia y fue modificada</td>
<td style="text-align: left; color: #FF0000">&nbsp;Se registró asistencia y fue modificada</td>
</tr>
</table>
</td>
@@ -205,7 +220,7 @@
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
<script type="text/javascript">
function CargaClientes() {
$("#BtnCargarClientes").click();
}

View File

@@ -1,4 +1,6 @@
Imports Extensiones
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class RH_Asistencias
Inherits ClsPaginas
@@ -8,6 +10,7 @@ Partial Class RH_Asistencias
If Not IsPostBack Then
'CargaClientes()
DdlCliente.Attributes.Add("onclick", "CargaClientes();")
CargaSuperioresOrganigrama()
CargaProyecto()
CargaTurnos()
TxtFechaAsistencia.Text = Now.ToShortDateString
@@ -20,6 +23,23 @@ Partial Class RH_Asistencias
#Region "CargaCombos"
#Region " ORGANIGRAMA "
Private Sub CargaSuperioresOrganigrama()
Dim ObjRH As New ClsRH
If ObjRH.GetPersonal(-1, UsuarioActual.CveEmpresa) Then
DdlSupervisorOrganigrama.DataSource = ObjRH.DtResultados
Else
DdlSupervisorOrganigrama.DataSource = Nothing
Alert("Ocurrió un error al cargar el catálogo de Jefes Inmediatos")
End If
ObjRH.Dispose()
If DdlSupervisorOrganigrama.DataSource IsNot Nothing Then
DdlSupervisorOrganigrama.DataBind()
End If
End Sub
#End Region
Private Sub CargaClientes()
Dim ObjClientes As New ClsClientes
If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then
@@ -39,8 +59,16 @@ Partial Class RH_Asistencias
End Sub
Private Sub CargaProyecto()
DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveProyecto", "Proyecto"})
DdlProyecto.DataBind()
'DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveProyecto", "Proyecto"})
'DdlProyecto.DataBind()
CargarCentrosDeCosto(DdlProyecto, DdlProyecto, LblProyectoAsignado, LblSubProyectoAsignado)
DivProyectosAsignado.Visible = LblProyectoAsignado.Visible
DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaSubProyecto()
@@ -65,10 +93,20 @@ Partial Class RH_Asistencias
If TxtFechaAsistencia.Text.Trim.ToDate.Year.Contiene(Now.Year - 1, Now.Year, Now.Year + 1) Then
Dim objpersonal As New ClsRH
If objpersonal.GetAsistencias(-1, DdlCliente.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlTurno.SelectedValue.ToEntero, 1, TxtFechaAsistencia.Text.Trim.ToDate, TxtFechaAsistencia.Text.Trim.ToDate, UsuarioActual.CveEmpresa) Then
GV.DataSource = objpersonal.DtResultados
Dim dt As DataTable = objpersonal.DtResultados
If DdlSupervisorOrganigrama.SelectedValue.ToEntero() > 0 Then
dt = dt.FiltraParametros(String.Format("CvePersonalPadre = {0}", DdlSupervisorOrganigrama.SelectedValue.ToEntero()))
ElseIf DdlSupervisorOrganigrama.SelectedValue.ToEntero() = -2 Then
dt = dt.FiltraParametros("CvePersonalPadre IS NULL")
Else
End If
GV.DataSource = dt
Else
GV.DataSource = Nothing
End If
objpersonal.Dispose()
GV.DataBind()
BtnGuardar.Visible = (GV.Rows.Count > 0)
@@ -78,6 +116,42 @@ Partial Class RH_Asistencias
End If
End Sub
Protected Sub LnkImprimir_Click(sender As Object, e As EventArgs)
Dim Fecha As String = TxtFechaAsistencia.Text
Dim tablaReporte As New DataTable
Dim objpersonal As New ClsRH
If objpersonal.GetAsistencias(-1, DdlCliente.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlTurno.SelectedValue.ToEntero, 1, TxtFechaAsistencia.Text.Trim.ToDate, TxtFechaAsistencia.Text.Trim.ToDate, UsuarioActual.CveEmpresa) Then
tablaReporte = objpersonal.DtResultados
If DdlSupervisorOrganigrama.SelectedValue.ToEntero() > 0 Then
tablaReporte = tablaReporte.FiltraParametros(String.Format("CvePersonalPadre = {0}", DdlSupervisorOrganigrama.SelectedValue.ToEntero()))
ElseIf DdlSupervisorOrganigrama.SelectedValue.ToEntero() = -2 Then
tablaReporte = tablaReporte.FiltraParametros("CvePersonalPadre IS NULL")
Else
End If
Else
End If
objpersonal.Dispose()
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Fecha", Fecha))
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = tablaReporte}
lrds.Add(rds)
'"Empresas/Grales/Formatos/EquiposGPS.rdlc"
'"D:\\ADSistemas\\Proyectos\\SIG\\SIGIT\\GPS\\PalletEtiqueta.rdlc"
Dim rutardlc = "GPS/Asistencia.rdlc"
ImprimirPDF(rutardlc, lrds, params, "Lista de asistencia")
End Sub
Protected Sub GV_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
@@ -197,4 +271,5 @@ Partial Class RH_Asistencias
DdlPeriodo.DataBind()
DdlPeriodo.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
End Class

View File

@@ -1519,7 +1519,7 @@ Partial Class RH_Personal
Dim OcurrioError As Boolean = False
For Each Row As GridViewRow In GVAsistencia.Rows
If Not ObjPersonal.AddAsistencia(Row.DataKey("CvePersonal").ToEntero(), DdlClienteAsistenciaC.SelectedValue.ToEntero(), DdlSubProyectoAsistenciasC.SelectedValue.ToEntero(), Row.FCLiteral("LtlFecha").Text.Trim.ToDate,
If Not ObjPersonal.AddAsistencia(Row.DataKey("CvePersonal").ToEntero(), -2, -2, Row.FCLiteral("LtlFecha").Text.Trim.ToDate,
Row.FCDropDownList("DdlTipoAsistencias").SelectedValue.ToEntero(), Row.FCTextBox("TxtPorPago").Text.Trim.ToDouble, Row.FCTextBox("TxtHorasDobles").Text.Trim.ToDouble,
Row.FCTextBox("TxtHorasTriples").Text.Trim.ToDouble, Row.FCDropDownList("DdlMotivoHoraExtra").SelectedValue.ToEntero(), Row.FCTextBox("TxtObservaciones").Text.Trim,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
@@ -1908,6 +1908,14 @@ Partial Class RH_Personal
If Archivo.Exists Then
If Not IsNothing(ViewState("FilesMoveimgNew")) Then
Dim filemove As String = ViewState("FilesMoveimgNew").ToString()
If Not String.IsNullOrWhiteSpace(filemove) Then
filemove.FilesMove(ObjPersonal.CvePersonal.ToString(), String.Format("{0}RH\Personal\", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
End If
End If
If File.Exists(String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL)) Then
File.Delete(String.Format("{0}RH\Personal\{1}", UsuarioActual.Empresa.Ruta, URL))
End If
@@ -5717,22 +5725,29 @@ Partial Class RH_Personal
Dim dir As String = String.Format("{0}RH\Personal\", UsuarioActual.Empresa.Ruta)
System.IO.Directory.CreateDirectory(dir)
Dim yaExistente As String = String.Format("{0}RH\Personal\{1}.jpg", UsuarioActual.Empresa.Ruta, CvePersonal)
Dim yaExistentePNG As String = String.Format("{0}RH\Personal\{1}.png", UsuarioActual.Empresa.Ruta, CvePersonal)
Dim yaExistenteBMP As String = String.Format("{0}RH\Personal\{1}.bmp", UsuarioActual.Empresa.Ruta, CvePersonal)
If CvePersonal > 0 Then
Dim yaExistente As String = String.Format("{0}RH\Personal\{1}.jpg", UsuarioActual.Empresa.Ruta, CvePersonal)
Dim yaExistentePNG As String = String.Format("{0}RH\Personal\{1}.png", UsuarioActual.Empresa.Ruta, CvePersonal)
Dim yaExistenteBMP As String = String.Format("{0}RH\Personal\{1}.bmp", UsuarioActual.Empresa.Ruta, CvePersonal)
If File.Exists(yaExistente) Then
File.Delete(yaExistente)
ElseIf File.Exists(yaExistentePNG) Then
File.Delete(yaExistentePNG)
ElseIf File.Exists(yaExistenteBMP) Then
File.Delete(yaExistenteBMP)
End If
If File.Exists(yaExistente) Then
File.Delete(yaExistente)
ElseIf File.Exists(yaExistentePNG) Then
File.Delete(yaExistentePNG)
ElseIf File.Exists(yaExistenteBMP) Then
File.Delete(yaExistenteBMP)
End If
If filemove <> "" Then
filemove.FilesMove(CvePersonal.ToString(), String.Format("{0}RH\Personal\", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
If CvePersonal > 0 Then
filemove.FilesMove(CvePersonal.ToString(), String.Format("{0}RH\Personal\", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
Else
ViewState("FilesMoveimgNew") = filemove
End If
End If
ViewState("Archivo") = String.Format("{0}.{1}", CvePersonal.ToString(), FileExtension)
ViewState("Archivo") = String.Format("{0}.{1}", CvePersonal.ToString(), FileExtension)
Next
If File.Exists(UsuarioActual.Empresa.Ruta & "RH\Personal\" & CvePersonal & "." & FileExtension) Then
Dim LogoRutaFisica As String = String.Format("Empresas\{0}\RH\Personal\{1}.{2}", UsuarioActual.CveEmpresa, CvePersonal, FileExtension)