This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2020-06-01 01:21:30 -07:00
parent 887b4e4dc6
commit 3e7a5e0392
16 changed files with 466 additions and 211 deletions

View File

@@ -522,10 +522,28 @@ Public Class ClsNominas
Return Retorno Return Retorno
End Function End Function
Public Function AutorizaNom_Nominas(CvePersonal As Integer, CvePeriodo As Integer, Optional Autorizado As Boolean = True) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_Nominas_Autoriza")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@Autorizado", SqlDbType.Bit).Value = Autorizado
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al autorizar la nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function AddNom_Nominas(FolioNom As Integer, CveNominaTipo As Integer, CvePersonal As Integer, CvePeriodo As Integer, SubTotal As Double, Descuento As Double, RetISR As Double, Total As Double, Public Function AddNom_Nominas(FolioNom As Integer, CveNominaTipo As Integer, CvePersonal As Integer, CvePeriodo As Integer, SubTotal As Double, Descuento As Double, RetISR As Double, Total As Double,
CveMoneda As Integer, TipoCambio As Double, CveMetodoPago As Integer, Fecha As Date, MotivoDescuento As String, Observaciones As String, CveMoneda As Integer, TipoCambio As Double, CveMetodoPago As Integer, Fecha As Date, MotivoDescuento As String, Observaciones As String,
Alfa1 As String, Alfa2 As String, Alfa3 As String, Num1 As Double, Num2 As Double, Num3 As Double, Alfa1 As String, Alfa2 As String, Alfa3 As String, Num1 As Double, Num2 As Double, Num3 As Double,
Fech1 As Date, Fech2 As Date, Fech3 As Date, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Fech1 As Date, Fech2 As Date, Fech3 As Date, CveUsuario As Integer, CveEmpresa As Integer, Optional Autorizado As Boolean = True) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Nom_NominasAdd") DataAdapter("PA_Nom_NominasAdd")
@@ -555,6 +573,7 @@ Public Class ClsNominas
.Add("@Fech3", SqlDbType.VarChar).Value = IIf(Fech3.ToString = "01/01/0001 12:00:00 a.m.", "-1", Fech3.ToString) .Add("@Fech3", SqlDbType.VarChar).Value = IIf(Fech3.ToString = "01/01/0001 12:00:00 a.m.", "-1", Fech3.ToString)
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Autorizado", SqlDbType.Bit).Value = Autorizado
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue .Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With End With
'SqlTypes.SqlDateTime.Null 'SqlTypes.SqlDateTime.Null

View File

@@ -2288,10 +2288,36 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
End Try End Try
Return Retorno Return Retorno
End Function End Function
Public Function AddAsistenciaMasiva2(CvePeriodo As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
Data = New DataTable
SqlDataAdapter("PA_RH_PersonalAsistenciasMasivaAddUpd2")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
Alert("Ya se registró la Asistencia para el empleado.", TipoMensaje.MsgAdvertencia)
Else
Me.OnError("Ocurrió un error al guardar la Asistencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
Catch ex As Exception
OnError("Ocurrió un error al guardar la Asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region #End Region
#Region "Asistencias Detalles" #Region "Asistencias Detalles"
Public Function GetAsistenciasDetalle() As Boolean Public Function GetAsistenciasDetalle() As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -229,7 +229,7 @@ Partial Class Nomina_Nomina
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
If UsuarioActual.CveEmpresa = 80 OrElse UsuarioActual.CveEmpresa = 72 Then If UsuarioActual.CveEmpresa = 80 OrElse UsuarioActual.CveEmpresa = 72 OrElse UsuarioActual.CveEmpresa = 119 Then
Response.Redirect("/Nomina/Nomina2.aspx") Response.Redirect("/Nomina/Nomina2.aspx")
End If End If
CargaTiposPeriodo() CargaTiposPeriodo()

View File

@@ -4,9 +4,10 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
span.font-black{ span.font-black {
color:#333; color: #333;
} }
.GvConceptos { .GvConceptos {
border: 1px solid #E87E04; border: 1px solid #E87E04;
} }
@@ -69,19 +70,25 @@
<asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<li> <li>
<asp:HyperLink ID="HypModalNomina" data-target="#DModalNominas" data-toggle="modal" runat="server">Cargar Nomina</asp:HyperLink> <asp:HyperLink ID="HypModalNomina" data-target="#DModalNominas" data-toggle="modal" runat="server"><i class="fa fa-upload" aria-hidden="true"></i>Cargar Nomina</asp:HyperLink>
</li> </li>
<li> <li>
<asp:LinkButton ID="LnkVerTablas" OnClick="LnkVerTablas_Click" runat="server">Tablas</asp:LinkButton> <asp:LinkButton ID="LnkVerTablas" OnClick="LnkVerTablas_Click" runat="server"><i class="fa fa-columns" aria-hidden="true"></i>Tablas</asp:LinkButton>
</li> </li>
<li> <li>
<asp:LinkButton ID="LnkAutorizar" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton> <asp:LinkButton ID="LnkAutorizar" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton>
</li> </li>
<li>
<asp:LinkButton ID="LnkCargaAsistenciaMasiva" OnClick="LnkCargaAsistenciaMasiva_Click" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga Asistencia</asp:LinkButton>
</li>
<li>
<asp:HyperLink ID="HypAsistencia" NavigateUrl="/RH/Asistencias.aspx" runat="server"><i class="fa fa-list" aria-hidden="true"></i>Asistencia</asp:HyperLink>
</li>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<li> <li>
<asp:LinkButton ID="LnkListaRaya" OnClick="LnkListaRaya_Click" runat="server">Lista de Raya</asp:LinkButton> <asp:LinkButton ID="LnkListaRaya" OnClick="LnkListaRaya_Click" runat="server"><i class="fa fa-file-text" aria-hidden="true"></i>Lista de Raya</asp:LinkButton>
</li> </li>
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
@@ -204,7 +211,7 @@
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom "> <div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<asp:GridView ID="GvNominas" runat="server" DataKeyNames="CvePeriodo,CvePersonal,CveNomina,SeTimbro,SerieFolio,Nombre,Correo,Turno,SubProyecto" AutoGenerateColumns="False" OnRowDataBound="GvNominas_RowDataBound" <asp:GridView ID="GvNominas" runat="server" DataKeyNames="CvePeriodo,CvePersonal,CveNomina,SeTimbro,SerieFolio,Nombre,Correo,Turno,SubProyecto" AutoGenerateColumns="False" OnRowDataBound="GvNominas_RowDataBound"
CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GvNominas" Style="text-align: center;" GridLines="None" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GvNominas" Style="text-align: center;" GridLines="None"
data-rows="2"> data-rows="1">
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
@@ -385,7 +392,7 @@
<div class="portlet-title"> <div class="portlet-title">
<div class="caption "> <div class="caption ">
<i class="fa fa-user font-yellow-gold"></i> <i class="fa fa-user font-yellow-gold"></i>
<span class="caption-subject bold font-black uppercase">Trabajador :<asp:Label ID="LblEmpleado" runat="server" Text=""></asp:Label></span> <span class="caption-subject bold font-black uppercase">Trabajador :<asp:Label ID="LblEmpleado" runat="server" Text=""></asp:Label></span>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a> <a href="javascript:;" class="collapse" data-original-title="" title=""></a>
@@ -394,40 +401,53 @@
<div class="portlet-body " style="padding: 0px;"> <div class="portlet-body " style="padding: 0px;">
<div class="row"> <div class="row">
<div class="col-md-2 bold">No. Trabajador</div> <div class="col-md-2 bold">No. Trabajador</div>
<div class="col-md-4"><asp:Label ID="LblCodigoEmpleado" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblCodigoEmpleado" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Días Trabajados</div> <div class="col-md-2 bold">Días Trabajados</div>
<div class="col-md-4"><asp:Label ID="LblDiasLaborados" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblDiasLaborados" runat="server"></asp:Label></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-2 bold">Afi IMSS </div> <div class="col-md-2 bold">Afi IMSS </div>
<div class="col-md-4"><asp:Label ID="LblNSS" runat="server"></asp:Label> </div> <div class="col-md-4">
<asp:Label ID="LblNSS" runat="server"></asp:Label>
</div>
<div class="col-md-2 bold">Faltas</div> <div class="col-md-2 bold">Faltas</div>
<div class="col-md-4"><asp:Label ID="LblDiasFaltados" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblDiasFaltados" runat="server"></asp:Label></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-2 bold">R.F.C.</div> <div class="col-md-2 bold">R.F.C.</div>
<div class="col-md-4"><asp:Label ID="LblRFC" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblRFC" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Retardos</div> <div class="col-md-2 bold">Retardos</div>
<div class="col-md-4"><asp:Label ID="LblDiasRetardos" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblDiasRetardos" runat="server"></asp:Label></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-2 bold">Curp</div> <div class="col-md-2 bold">Curp</div>
<div class="col-md-4"><asp:Label ID="LblCURP" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblCURP" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Días Vacaciones</div> <div class="col-md-2 bold">Días Vacaciones</div>
<div class="col-md-4"><asp:Label ID="LblDiasVacaciones" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblDiasVacaciones" runat="server"></asp:Label></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-2 bold">Tipo de Pago</div> <div class="col-md-2 bold">Tipo de Pago</div>
<div class="col-md-4"><asp:Label ID="LblTipoPeriodo" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblTipoPeriodo" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Días Incapacidad</div> <div class="col-md-2 bold">Días Incapacidad</div>
<div class="col-md-4"><asp:Label ID="LblDiasIncapacidad" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblDiasIncapacidad" runat="server"></asp:Label></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-2 bold">Fecha de Pago</div> <div class="col-md-2 bold">Fecha de Pago</div>
<div class="col-md-4"><asp:Label ID="LblFechaPagosrb" runat="server"></asp:Label></div> <div class="col-md-4">
<asp:Label ID="LblFechaPagosrb" runat="server"></asp:Label></div>
<div class="col-md-2 bold">Periodo del</div> <div class="col-md-2 bold">Periodo del</div>
<div class="col-md-4"><asp:Label ID="LblFecha" runat="server"></asp:Label></div> <div class="col-md-4">
</div> <asp:Label ID="LblFecha" runat="server"></asp:Label></div>
</div>
</div> </div>
</div> </div>
@@ -917,7 +937,6 @@
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="DModalNominas" class="modal ADS fade" role="dialog"> <div id="DModalNominas" class="modal ADS fade" role="dialog">
@@ -959,6 +978,48 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpModalAsistenciaMasiva" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content rowpadding">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" runat="server" style="text-align: left">Cargar asistencia del periodo</h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input" >
<asp:DropDownList ID="DdlEjerciciosCM" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlEjerciciosCM_SelectedIndexChanged" Style="width: 100% !important;" CssClass="select2me" DataValueField="Ejercicio" DataTextField="Ejercicio"></asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEjerciciosCM">Ejercicio:</asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTipoPeriodoCM" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoPeriodoCM_SelectedIndexChanged" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlTipoPeriodoCM">Tipo:</asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlPeriodoCM" runat="server" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlPeriodoCM">Periodo:</asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkCargarAsistenciaMasiva" OnClick="LnkCargarAsistenciaMasiva_Click" CssClass="btn btn-primary" runat="server">Cargar</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content> </asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script> <script>
@@ -971,7 +1032,7 @@
} }
function FiltrarTabla(idtxt, idtable, idcontador) { function FiltrarTabla(idtxt, idtable, idcontador) {
if ($('' + idtxt).val() == '') { $('table' + idtable + ' tr').css('display', ''); } if ($('' + idtxt).val() == '') { $('table' + idtable + ' tr').css('display', ''); }
else { $('table' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').css('display', 'none'); $('table' + idtable + ' tr:contains("' + $('' + idtxt).val() + '")').css('display', ''); } else { $('table' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):not(.Titulos)').css('display', 'none'); $('table' + idtable + ' tr:contains("' + $('' + idtxt).val() + '")').css('display', ''); }
if ($('' + idcontador).length > 0) { if ($('' + idcontador).length > 0) {
$('' + idcontador).html('(' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):visible').length + '/' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').length + ')'); $('' + idcontador).html('(' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):visible').length + '/' + $('' + idtable + ' tr:not(.ADtr):not(.SearchADHeader)').length + ')');
} }

View File

@@ -151,22 +151,33 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
DdlEjercicios.DataSource = dtejercicio; DdlEjercicios.DataSource = dtejercicio;
DdlEjerciciosCM.DataSource = dtejercicio;
DdlEjercicios.DataBind(); DdlEjercicios.DataBind();
DdlEjerciciosCM.DataBind();
ListItem litem = null;
if ((dtejercicio != null) && dtejercicio.Rows.Count > 0) if ((dtejercicio != null) && dtejercicio.Rows.Count > 0)
{ {
if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", EjercicioActual)) == 0) if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", EjercicioActual)) == 0)
{ {
DdlEjercicios.Items.Insert(0, new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString())); litem = new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString());
DdlEjercicios.Items.Insert(0, litem);
DdlEjerciciosCM.Items.Insert(0, litem);
} }
if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", (EjercicioActual - 1))) == 0) if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", (EjercicioActual - 1))) == 0)
{ {
DdlEjercicios.Items.Insert(1, new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString())); litem = new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString());
DdlEjercicios.Items.Insert(1, litem);
DdlEjerciciosCM.Items.Insert(1, litem);
} }
} }
else else
{ {
DdlEjercicios.Items.Add(new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString())); litem = new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString());
DdlEjercicios.Items.Add(new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString())); DdlEjercicios.Items.Insert(0, litem);
DdlEjerciciosCM.Items.Insert(0, litem);
litem = new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString());
DdlEjercicios.Items.Insert(0, litem);
DdlEjerciciosCM.Items.Insert(0, litem);
} }
if (DdlEjercicios.Items.Count > 0) if (DdlEjercicios.Items.Count > 0)
@@ -177,6 +188,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
private void CargaTiposPeriodo() private void CargaTiposPeriodo()
{ {
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'"); DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'");
DdlTipoPeriodoCM.DataSource = DdlTipoPeriodo.DataSource;
DdlTipoPeriodoCM.DataBind();
DdlTipoPeriodo.DataBind(); DdlTipoPeriodo.DataBind();
DdlTipoPeriodo.Items.Insert(0, new ListItem("Seleccione", "-1")); DdlTipoPeriodo.Items.Insert(0, new ListItem("Seleccione", "-1"));
if (DdlTipoPeriodo.Items.Count > 0) if (DdlTipoPeriodo.Items.Count > 0)
@@ -700,37 +713,38 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
try try
{ {
using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl)) //using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl))
{ //{
conn.Open(); // conn.Open();
string exceltableName = "Nomina"; // string exceltableName = "Nomina";
DataTable tables = conn.GetSchema("Tables"); // DataTable tables = conn.GeaaffotSchema("Tables");
if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0) // if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0)
{ // {
continuar = false; // continuar = false;
stringError = "El documento no contiene la hoja nomina"; // stringError = "El documento no contiene la hoja nomina";
} // }
else // else
{ // {
exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString(); // exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString();
} // }
if (continuar) // if (continuar)
{ // {
using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand()) // using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand())
{ // {
cmd.CommandType = CommandType.Text; // cmd.CommandType = CommandType.Text;
cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'"; // cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'";
using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd)) // using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd))
{ // {
da.Fill(DTEXcel); // da.Fill(DTEXcel);
} // }
} // }
} // }
} //}
DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true).FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
} }
catch (Exception ex) catch (Exception ex)
@@ -738,7 +752,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
continuar = false; continuar = false;
stringError = "Ocurrio un Error al procesar el excel "; stringError = "Ocurrio un Error al procesar el excel ";
string.Format(stringError, ex.ToString()).GuardaLog(); string.Format("{0} \r\n{0}", stringError, ex.ToString()).GuardaLog();
} }
} }
if (continuar && DTEXcel.Rows.Count == 0) if (continuar && DTEXcel.Rows.Count == 0)
@@ -795,7 +809,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
else else
{ {
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, SubTotal, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina", if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, SubTotal, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false))
{ {
CveNomina = objNomina.CveNomina; CveNomina = objNomina.CveNomina;
} }
@@ -859,6 +873,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (rollback) if (rollback)
{ {
objpersonal.RollBack(); objpersonal.RollBack();
continuar = false;
} }
else else
{ {
@@ -972,7 +987,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LblDiasLaborados.Text = DiasLaborados; LblDiasLaborados.Text = DiasLaborados;
LblDiasFaltados.Text = DiasFaltados; LblDiasFaltados.Text = DiasFaltados;
LblDiasVacaciones.Text = DiasVacaciones; LblDiasVacaciones.Text = DiasVacaciones;
LblFecha.Text = string.Format("{0} al {1}",FechaInicio, FechaFin); LblFecha.Text = string.Format("{0} al {1}", FechaInicio, FechaFin);
LblDiasRetardos.Text = DiasRetardos; LblDiasRetardos.Text = DiasRetardos;
LblDiasIncapacidad.Text = DiasIncapacidad; LblDiasIncapacidad.Text = DiasIncapacidad;
#endregion #endregion
@@ -3193,11 +3208,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (continuar) if (continuar)
{ {
dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0}", CvePersonal)); dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0}", CvePersonal));
@@ -3205,8 +3215,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
CveConcepto = rcon["CveConcepto"].ToString().ToEntero(); CveConcepto = rcon["CveConcepto"].ToString().ToEntero();
ImporteConcepto = rcon["ImporteConcepto"].ToString().ToDecimal(); ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravadoConcepto"].ToString().ToDecimal(); ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto; ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
if (continuar) if (continuar)
{ {
@@ -3221,6 +3231,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
if (continuar)
{
continuar = objNomina.AutorizaNom_Nominas(-1, CvePeriodoSeleccionado, true);
}
if (continuar) if (continuar)
{ {
objNomina.Commit(); objNomina.Commit();
@@ -3235,4 +3253,69 @@ public partial class Nomina_Nomina2 : ClsPaginas
dtconp.Dispose(); dtconp.Dispose();
Alert("Termine"); Alert("Termine");
} }
protected void LnkCargaAsistenciaMasiva_Click(object sender, EventArgs e)
{
RegistraScript("$('#DModalCargaASistenciaMasiva').modal();");
}
protected void LnkCargarAsistenciaMasiva_Click(object sender, EventArgs e)
{
using (ClsRH ObjPersonal = new ClsRH())
{
ObjPersonal.IniciaTransacSQL();
bool OcurrioError = false;
if (!ObjPersonal.AddAsistenciaMasiva2(DdlPeriodoCM.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
OcurrioError = true;
if (OcurrioError)
{
ObjPersonal.RollBack();
Alert("Ocurrió un error al guardar las Asistencias.", ModExtensiones.TipoMensaje.MsgError);
}
else
{
ObjPersonal.Commit();
Alert("Las Asistencias se guardaron correctamente.", ModExtensiones.TipoMensaje.ToastInformacion);
}
}
}
private void cargaPeriodosCM()
{
int tipoPeriodo = DdlTipoPeriodoCM.SelectedValue.ToEntero();
int ejercicio = DdlEjerciciosCM.SelectedValue.ToEntero();
DataTable dtPeriodos = null;
if (tipoPeriodo > 0)
{
using (ClsNominas objperiodos = new ClsNominas())
{
if (objperiodos.GetPeriodos(tipoPeriodo, UsuarioActual.CveEmpresa, ejercicio, -1, -1))
{
dtPeriodos = objperiodos.DtResultados;
}
}
}
DdlPeriodoCM.DataSource = dtPeriodos;
DdlPeriodoCM.DataBind();
DdlPeriodoCM.Items.Insert(0, new ListItem("Seleccione", "-1"));
UpModalAsistenciaMasiva.Update();
}
protected void DdlEjerciciosCM_SelectedIndexChanged(object sender, EventArgs e)
{
cargaPeriodosCM();
}
protected void DdlTipoPeriodoCM_SelectedIndexChanged(object sender, EventArgs e)
{
cargaPeriodosCM();
}
protected void DdlTipoPeriodoCM_SelectedIndexChanged1(object sender, EventArgs e)
{
}
} }

View File

@@ -129,7 +129,7 @@ public partial class OI_CircularDetalleB : ClsPaginas
string Correo = gvuser.DataKey("Correo"); string Correo = gvuser.DataKey("Correo");
if (ChkOk.Checked && Correo.Length >0) if (ChkOk.Checked && Correo.Length >0)
{ {
UsuariosCorreos = string.Format("{1}{0}" + ";", UsuariosCorreos, Correo); UsuariosCorreos = string.Format("{1};{0}" , UsuariosCorreos, Correo);
} }
} }
TxtCorreo.Text = UsuariosCorreos; TxtCorreo.Text = UsuariosCorreos;
@@ -161,8 +161,20 @@ public partial class OI_CircularDetalleB : ClsPaginas
GuardarArchivo(CircularInsertado); GuardarArchivo(CircularInsertado);
Alert("Ingresado correctamente"); Alert("Ingresado correctamente");
CveCircular = CircularInsertado; CveCircular = CircularInsertado;
if (CveCircular > 0) if (CveCircular > 0)
{ {
string[] correos;
correos = TxtCorreo.Text.Split(';');
byte[] ArchivoBytes = ArchivoBytesArrya(HkArchivo.Text);
int Contador = 0;
foreach (string Correo in correos)
{
MandaCorreo(TxtAsunto.Text, Correo, Contador > 0 ? "" : TxtCorreoAdicional.Text, TxtCircular.Text.Replace("< ", "<"), ArchivoBytes, HkArchivo.Text);
Contador += 1;
}
BtnGuardar.Text = "Actualizar"; BtnGuardar.Text = "Actualizar";
BtnEliminar.Visible = true; BtnEliminar.Visible = true;
} }
@@ -274,7 +286,7 @@ public partial class OI_CircularDetalleB : ClsPaginas
{ {
foreach (string Correo in correos) foreach (string Correo in correos)
{ {
MandaCorreo(TxtAsunto.Text, Correo, Contador > 0 ? "" : TxtCorreoAdicional.Text, TxtCircular.Text, ArchivoBytes, HkArchivo.Text); MandaCorreo(TxtAsunto.Text, Correo, Contador > 0 ? "" : TxtCorreoAdicional.Text, TxtCircular.Text.Replace("< ", "<"), ArchivoBytes, HkArchivo.Text);
Contador += 1; Contador += 1;
} }
Alert("El correo se envió correctamente"); Alert("El correo se envió correctamente");

View File

@@ -219,13 +219,13 @@
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6" style ="display:none;">
<div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;"> <div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
<asp:TextBox ID="txtFechaF" runat="server" autocomplete="false" CssClass="form-control ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox> <asp:TextBox ID="txtFechaF" runat="server" autocomplete="false" CssClass="form-control ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVtxtFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator> <%--<asp:RequiredFieldValidator ID="RFVtxtFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>--%>
<asp:Label AssociatedControlID="txtFechaF" runat="server" Text="Fecha Fin"></asp:Label> <asp:Label AssociatedControlID="txtFechaF" runat="server" Text="Fecha Fin"></asp:Label>
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%> <%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
<ajax:ValidatorCalloutExtender ID="VcoFechaF" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaF" Width="350px"></ajax:ValidatorCalloutExtender> <%--<ajax:ValidatorCalloutExtender ID="VcoFechaF" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaF" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -322,9 +322,9 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
} }
string fechaFin = ""; string fechaFin = "";
DateTime dfechaF; DateTime dfechaF;
if ((dfechaF=txtFechaF.Text.ToDateTimeExcat()).Year <= 1999) if ((dfechaF = txtFechaI.Text.ToDateTimeExcat()).Year <= 1999)
{ {
if ((dfechaF = txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy")).Year <= 1999) if ((dfechaF = txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy")).Year <= 1999)
{ {
errorMessage = "No se ingresó una fecha fin valida"; errorMessage = "No se ingresó una fecha fin valida";
@@ -353,8 +353,8 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
errorMessage = "Asegúrese de seleccionar al menos un miembro \"C C Para\""; errorMessage = "Asegúrese de seleccionar al menos un miembro \"C C Para\"";
} }
if (EsNuevo) if (EsNuevo)
{ {
bool Continuar = false; bool Continuar = false;
if (errorMessage.Length == 0) if (errorMessage.Length == 0)
{ {
@@ -373,7 +373,6 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
if (Continuar) if (Continuar)
{ {
objOI.Commit(); objOI.Commit();
enviarConvocatoria(CveEvento);
//ObjEventosCorreo o = objOI.objCorreo; //ObjEventosCorreo o = objOI.objCorreo;
//string mailbody = MailgetBodyNuevatarea(o.Folio, o.Link, o.Asunto, o.Descripcion, string.Format("{0:dd/MM/yyyy}", fechaInicio.ToDateTime()), string.Format("{0:HH:mm horas}", fechaInicio.ToDateTime()), string.Format("{0:dd/MM/yyyy}", fechaFin.ToDateTime()), string.Format("{0:HH:mm horas}", fechaFin.ToDateTime()), o.Prioridad, o.Tema, Nombrede, Nombrepara); //string mailbody = MailgetBodyNuevatarea(o.Folio, o.Link, o.Asunto, o.Descripcion, string.Format("{0:dd/MM/yyyy}", fechaInicio.ToDateTime()), string.Format("{0:HH:mm horas}", fechaInicio.ToDateTime()), string.Format("{0:dd/MM/yyyy}", fechaFin.ToDateTime()), string.Format("{0:HH:mm horas}", fechaFin.ToDateTime()), o.Prioridad, o.Tema, Nombrede, Nombrepara);
//EnviarCorreo(UsuarioActual.Empresa, o.AsuntoCorreo, mailbody, o.mailPara, ""); //EnviarCorreo(UsuarioActual.Empresa, o.AsuntoCorreo, mailbody, o.mailPara, "");
@@ -386,6 +385,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
} }
if (Continuar && CveEvento > 0) if (Continuar && CveEvento > 0)
{ {
enviarConvocatoria(CveEvento);
if (rutaarchivoOri.Length > 0) if (rutaarchivoOri.Length > 0)
{ {
string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta); string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta);
@@ -407,7 +407,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
} }
else else
{ {
bool Continuar = true; bool Continuar = true;
using (ClsOIEventos objOI = new ClsOIEventos()) using (ClsOIEventos objOI = new ClsOIEventos())
{ {
@@ -416,7 +416,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
if (Continuar) if (Continuar)
{ {
Continuar= objOI.UpdateEventoMinuta(asunto, descripcion, TxtOrdendeldia.Text.Replace("< ", "<"), dfechaF, "-1", RCveEvento); Continuar = objOI.UpdateEventoMinuta(asunto, descripcion, TxtOrdendeldia.Text.Replace("< ", "<"), dfechaF, "-1", RCveEvento);
} }
if (Continuar) if (Continuar)
{ {
@@ -520,7 +520,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
LnkOpenModalAsistencia.Visible = true; LnkOpenModalAsistencia.Visible = true;
UpAcciones.Update(); UpAcciones.Update();
this.Alert(string.Format("Se ha iniciado la minuta<br /> para ir a la minuta <a href=\"/OI/MinutaDetalle.aspx?CveEvento={0}\">click aquí</a>", CveEvento), ModExtensiones.TipoMensaje.ToastInformacion, "", 0); this.Alert(string.Format("Se ha iniciado la minuta<br /> para ir a la minuta <a href=\"/OI/MinutaDetalle.aspx?CveEvento={0}\">click aquí</a>", CveEvento), ModExtensiones.TipoMensaje.ToastInformacion, "", 0);
LnkOpenModalAsistencia_Click(null,null); LnkOpenModalAsistencia_Click(null, null);
} }
} }
@@ -565,7 +565,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
} }
else else
{ {
Alert("se ingresó la asistencia correctamente."); Alert("se ingresó la asistencia correctamente.");
} }
RegistraScript(string.Format("$('#{0}').modal('hide');", iddivTomarAsistencia)); RegistraScript(string.Format("$('#{0}').modal('hide');", iddivTomarAsistencia));
@@ -585,6 +585,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
{ {
return string.Format("{0}/{1}", HttpContext.Current.Request.Url.ToString().Replace(HttpContext.Current.Request.Url.PathAndQuery, ""), addstr); return string.Format("{0}/{1}", HttpContext.Current.Request.Url.ToString().Replace(HttpContext.Current.Request.Url.PathAndQuery, ""), addstr);
} }
string UsuarioDemail = "";
private string MailgetBodyConvocatoria(int RCveEvento) private string MailgetBodyConvocatoria(int RCveEvento)
{ {
@@ -599,6 +600,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
{ {
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0]; System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
UsuarioDe = drow["NombreRegistro"].ToString(); UsuarioDe = drow["NombreRegistro"].ToString();
UsuarioDemail= drow["NombreRegistro"].ToString();
Folio = drow["Folio"].ToString().ToEntero(); Folio = drow["Folio"].ToString().ToEntero();
Link = GetDominio(string.Format("OI/ConvocatoriaDetalle.aspx?CveEvento={0}", RCveEvento)); Link = GetDominio(string.Format("OI/ConvocatoriaDetalle.aspx?CveEvento={0}", RCveEvento));
Asunto = drow["Asunto"].ToString(); Asunto = drow["Asunto"].ToString();
@@ -687,7 +689,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
StrMail.Append(" </div>"); StrMail.Append(" </div>");
StrMail.Append(" <br />"); StrMail.Append(" <br />");
StrMail.Append(" <br />"); StrMail.Append(" <br />");
StrMail.Append(" <br />"); StrMail.Append(" <br />");
StrMail.Append($" <a href=\"{Link}\" style=\"padding: 10px 20px; text-align: center;\">Minuta</a>"); StrMail.Append($" <a href=\"{Link}\" style=\"padding: 10px 20px; text-align: center;\">Minuta</a>");
StrMail.Append(" <br />"); StrMail.Append(" <br />");
@@ -731,11 +733,40 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
ClsSisMail Mail = new ClsSisMail(); ClsSisMail Mail = new ClsSisMail();
Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() + TxtCorreoExterno.Text, TxtAsunto.Text, Body, CCP: ArrayCC, Archivos: LSRutasMail); Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() + ";" + TxtCorreoExterno.Text, string.Format("⏰ {1} te ha invitado a una reunión, {0}", TxtAsunto.Text, UsuarioDemail), Body, CCP: ArrayCC, Archivos: LSRutasMail);
} }
protected void LnkEnviarCorreo_Click(object sender, EventArgs e) protected void LnkEnviarCorreo_Click(object sender, EventArgs e)
{ {
enviarConvocatoria(RCveEvento); enviarConvocatoria(RCveEvento);
Alert("Se Envió por correo la convocatoria", ModExtensiones.TipoMensaje.MsgInformacion); Alert("Se Envió por correo la convocatoria", ModExtensiones.TipoMensaje.MsgInformacion);
}
public string GenerateIcsContent(DateTime dateStart,
DateTime dateEnd, string email, string location,
string summary, string description)
{
string DateFormat = "yyyyMMddTHHmmssZ";
var s = dateStart.ToUniversalTime().ToString(DateFormat);
var e = dateEnd.ToUniversalTime().ToString(DateFormat);
var iCal = string.Format(@"BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
ORGANIZER:MAILTO:{0}
DTSTART:{1}
DTEND:{2}
LOCATION:{3}
UID:{4}
DTSTAMP:{4}
SUMMARY:{5}
DESCRIPTION:{6}
PRIORITY:5
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR", email, s, e, location,
DateTime.Now.ToUniversalTime().ToString(DateFormat),
summary, description);
return iCal;
} }
} }

View File

@@ -1025,7 +1025,7 @@ public partial class OI_MinutaDetalle : ClsPaginas
ClsSisMail Mail = new ClsSisMail(); ClsSisMail Mail = new ClsSisMail();
Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() + TxtCorreoExterno.Text, TxtAsunto.Text, Body, CCP: ArrayCC,Archivos: LSRutasMail); Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() +";"+ TxtCorreoExterno.Text, TxtAsunto.Text, Body, CCP: ArrayCC,Archivos: LSRutasMail);
//Alert("Se Envió por correo la Minuta", ModExtensiones.TipoMensaje.MsgInformacion); //Alert("Se Envió por correo la Minuta", ModExtensiones.TipoMensaje.MsgInformacion);
Retorno = true; Retorno = true;
} }

View File

@@ -20,10 +20,10 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li> <li>
<asp:HyperLink runat="server" NavigateUrl="/OI/MinutaDetalle.aspx"><i class="fa fa-plus"></i>Nueva Minuta</asp:HyperLink> <asp:HyperLink runat="server" NavigateUrl="/OI/ConvocatoriaDetalle.aspx"><i class="fa fa-plus"></i>Nueva Convocatoria</asp:HyperLink>
</li> </li>
<li> <li>
<asp:HyperLink runat="server" NavigateUrl="/OI/ConvocatoriaDetalle.aspx"><i class="fa fa-plus"></i>Nueva Convocatoria</asp:HyperLink> <asp:HyperLink runat="server" NavigateUrl="/OI/MinutaDetalle.aspx"><i class="fa fa-plus"></i>Nueva Minuta</asp:HyperLink>
</li> </li>
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">

View File

@@ -245,9 +245,10 @@ public partial class OI_RepReuniones : ClsPaginas
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
ClsSisMail Mail = new ClsSisMail(); ClsSisMail Mail = new ClsSisMail();
Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() , Asuntoconvocatoria, Body, CCP: ArrayCC, Archivos: LSRutasMail); Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString()+";" + CorreoExternoconvocatoria, Asuntoconvocatoria, Body, CCP: ArrayCC, Archivos: LSRutasMail);
} }
private string Asuntoconvocatoria; private string Asuntoconvocatoria;
private string CorreoExternoconvocatoria;
private string MailgetBodyConvocatoria(int RCveEvento) private string MailgetBodyConvocatoria(int RCveEvento)
{ {
@@ -264,7 +265,8 @@ public partial class OI_RepReuniones : ClsPaginas
UsuarioDe = drow["NombreRegistro"].ToString(); UsuarioDe = drow["NombreRegistro"].ToString();
Folio = drow["Folio"].ToString().ToEntero(); Folio = drow["Folio"].ToString().ToEntero();
Link = GetDominio(string.Format("OI/ConvocatoriaDetalle.aspx?CveEvento={0}", RCveEvento)); Link = GetDominio(string.Format("OI/ConvocatoriaDetalle.aspx?CveEvento={0}", RCveEvento));
Asuntoconvocatoria = string.Format("Convocatoria: {0}", drow["Asunto"].ToString()); Asuntoconvocatoria = string.Format("⏰ {1} te ha invitado a una reunión, {0}", drow["Asunto"].ToString(), UsuarioDe);
CorreoExternoconvocatoria =drow["CorreoExterno"].ToString();
Asunto = drow["Asunto"].ToString(); Asunto = drow["Asunto"].ToString();
Descripcion = drow["Descripcion"].ToString(); Descripcion = drow["Descripcion"].ToString();
Acuerdos = drow["Acuerdos"].ToString(); Acuerdos = drow["Acuerdos"].ToString();

View File

@@ -145,21 +145,21 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<li> <li>
<asp:LinkButton ID="LnkAgregarCheckList" OnClick="LnkAgregarCheckList_Click" runat="server"><i class="fa fa-plus"></i> Agregar CheckList</asp:LinkButton></li> <asp:LinkButton ID="LnkAgregarCheckList" OnClick="LnkAgregarCheckList_Click" runat="server"><i class="fa fa-plus"></i> Agregar checkList</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkcambiarEstatus" OnClick="LnkcambiarEstatus_Click" runat="server"><i class="fa fa-exchange"></i>Cambiar Estatus</asp:LinkButton></li> <asp:LinkButton ID="LnkcambiarEstatus" OnClick="LnkcambiarEstatus_Click" runat="server"><i class="fa fa-exchange"></i>Cambiar estatus</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkAgregarActividad" OnClick="LnkAgregarActividad_Click" runat="server"><i class="fa fa-plus"></i> Agregar bitácora</asp:LinkButton></li> <asp:LinkButton ID="LnkAgregarActividad" OnClick="LnkAgregarActividad_Click" runat="server"><i class="fa fa-plus"></i> Agregar bitácora</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkAgregarTema" OnClick="LnkAgregarTema_Click" runat="server"><i class="fa fa-plus"></i> Agregar Tema</asp:LinkButton></li> <asp:LinkButton ID="LnkAgregarTema" OnClick="LnkAgregarTema_Click" runat="server"><i class="fa fa-plus"></i> Agregar tema</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkUpFile" OnClick="LnkUpFile_Click" Visible="false" runat="server"><i class="fa fa-plus"></i> Agregar Archivo</asp:LinkButton></li> <asp:LinkButton ID="LnkUpFile" OnClick="LnkUpFile_Click" Visible="false" runat="server"><i class="fa fa-plus"></i> Agregar archivo</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkUpUsuarios" OnClick="LnkUpUsuarios_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Actualizar Miembros</asp:LinkButton></li> <asp:LinkButton ID="LnkUpUsuarios" OnClick="LnkUpUsuarios_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Actualizar miembros</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkReasignar" OnClick="LnkReasignar_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Reasignar</asp:LinkButton></li> <asp:LinkButton ID="LnkReasignar" OnClick="LnkReasignar_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Reasignar</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkUpVinculo" OnClick="LnkUpVinculo_Click" Visible="false" runat="server"><i class="fa fa-pencil"></i> Agregar Vinculo</asp:LinkButton></li> <asp:LinkButton ID="LnkUpVinculo" OnClick="LnkUpVinculo_Click" Visible="false" runat="server"><i class="fa fa-pencil"></i> Agregar vinculo</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" Visible="false" runat="server"><i class="fa fa-remove"></i> Eliminar</asp:LinkButton></li> <asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" Visible="false" runat="server"><i class="fa fa-remove"></i> Eliminar</asp:LinkButton></li>
@@ -520,10 +520,10 @@
<span class="caption-subject bold uppercase">Bitácora</span> <span class="caption-subject bold uppercase">Bitácora</span>
</div> </div>
<div class="tools"> <div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a> <a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div> </div>
</div> </div>
<div class="portlet-body rowpadding" style="display: none;"> <div class="portlet-body rowpadding" >
<asp:UpdatePanel ID="UpActividades" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpActividades" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvActividades" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD GvActividades" <asp:GridView ID="GvActividades" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD GvActividades"

View File

@@ -393,7 +393,7 @@ public partial class OI_TareaDetalle : ClsPaginas
if (ObjOI_E.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados.Rows.Count > 0) if (ObjOI_E.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados.Rows.Count > 0)
{ {
LnkUpVinculo.Visible = true; LnkUpVinculo.Visible = true;
LnkUpVinculo.Text = "<i class=\"fa fa-plus\"></i> Agregar Relación"; LnkUpVinculo.Text = "<i class=\"fa fa-plus\"></i> Agregar relación";
PnlUsuarios.Visible = true; PnlUsuarios.Visible = true;
portletMiembros.Visible = false; portletMiembros.Visible = false;
@@ -553,7 +553,7 @@ public partial class OI_TareaDetalle : ClsPaginas
else else
{ {
LnkUpVinculo.Visible = true; LnkUpVinculo.Visible = true;
LnkUpVinculo.Text = "<i class=\"fa fa-pencil\"></i> Actualizar Relación"; LnkUpVinculo.Text = "<i class=\"fa fa-pencil\"></i> Actualizar relación";
} }
titulo = ""; titulo = "";
link = "";//EP.[CveTipoEvento] CveTipoEventoPadre,EP.Asunto AS AsuntoPadre link = "";//EP.[CveTipoEvento] CveTipoEventoPadre,EP.Asunto AS AsuntoPadre

View File

@@ -10,45 +10,41 @@
Registro de Asistencias Registro de Asistencias
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<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>
</li>
</asp:Panel>
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="" id="PorletAsistencia"> <div class="portlet solid grey-cascade portlet-filter" style="" id="PorletAsistencia">
<div class="portlet-title portlet-filterT" style=""> <div class="portlet-title portlet-filterT" style="">
<div class="portlet-body" style="font-size:120%">
<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>
</div>
<div class="titlefiltros caption ">
<ul class="list-inline"> <ul class="list-inline">
<li>Cliente: <li>Cliente:
<asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" /> <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: 250px !important;"> <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:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</li> </li>
<li>Proyecto: <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: 200px !important;" ValidationGroup="GrpGuardar"> <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:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</li> </li>
<li>SubProyecto: <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: 200px !important;" ValidationGroup="GrpGuardar"> <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:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</li> </li>
</ul>
</div>
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>
</div>
</div>
<div class="portlet-body" style="display: none;font-size:120%">
<ul class="list-inline">
<li style="width: 297px;">&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>F. Asistencia: <li>F. Asistencia:
<asp:TextBox ID="TxtFechaAsistencia" runat="server" MaxLength="10" Width="70px" Height="30px"></asp:TextBox> <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" /> &nbsp;<asp:ImageButton runat="server" ID="ImgFechaAsistencia" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
@@ -60,133 +56,153 @@
&nbsp; &nbsp;
<ajax:ValidatorCalloutExtender ID="VCOFechaAsistencia2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaAsistencia" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCOFechaAsistencia2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaAsistencia" Width="350px"></ajax:ValidatorCalloutExtender>
</li> </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>
</ul>
</div>
</div>
<div class="portlet-body" style="font-size: 120%">
<ul class="list-inline">
</ul> </ul>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<table width="100%"> <table style="width: 100%;">
<tr> <tr>
<td width="48%">&nbsp;</td>
<td> <td>
<asp:UpdatePanel ID="UPP" runat="server"> <asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:Panel ID="PnlMasivo" runat="server" Visible="False"> <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">
<table width="200px" border="0"> <Columns>
<tr> <asp:TemplateField>
<td>Tipo:</td> <HeaderTemplate>N°</HeaderTemplate>
<td> <ItemTemplate>
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 110px !important;"> <asp:Literal ID="LtlCodigo" runat="server" Text='<%# Eval("Codigo") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Personal</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlPersonal" runat="server" Text='<%# Eval("Nombre") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Asistencia</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList ID="DdlTipoAsistencias" runat="server" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 90px !important;"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>% de Pago</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtPorPago" runat="server" MaxLength="3" Text="100" Width="74px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Hrs Dobles</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0" Width="79px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Hrs Triples</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0" Width="79px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Motivo H. Extras</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 140px !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList></td> </asp:DropDownList>
</tr> </ItemTemplate>
<tr> </asp:TemplateField>
<td>Periodo:</td> <asp:TemplateField>
<td> <HeaderTemplate>Obs.</HeaderTemplate>
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="true" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 150px !important;"> <ItemTemplate>
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:TextBox ID="TxtObservaciones" runat="server" Width="84px" MaxLength="150"></asp:TextBox>
</asp:DropDownList></td> </ItemTemplate>
</tr> </asp:TemplateField>
<tr> </Columns>
<td colspan="2" style="text-align: center;"> <RowStyle CssClass="Texto" />
<asp:Button ID="BtnCargaMasiva" runat="server" Text="Carga Masiva" class="btn btn-primary" /> <AlternatingRowStyle CssClass="TextoAlterno" />
</td> <HeaderStyle CssClass="Titulos" />
</tr> </asp:GridView>
<div class="text-right"><asp:Button ID="BtnGuardar" Visible="false" runat="server" Text="Guardar Asistencia" class="btn btn-primary" /></div>
</table>
</asp:Panel>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</td> </td>
<td align="left"> <td style="width: 250px;text-align:left;vertical-align: top;">
<table class="table table-striped table-advance table-hover"> <table class="table table-striped table-advance table-hover">
<thead> <thead>
<tr class="Titulos"> <tr class="Titulos">
<th>#</th> <th>#</th>
<th align="left">&nbsp;Notación</th> <th style="text-align:left;">&nbsp;Notación</th>
</tr> </tr>
</thead> </thead>
<tr> <tr>
<td>1&nbsp;</td> <td>1&nbsp;</td>
<td align="left">&nbsp;Sin registrar asistencia</td> <td style="text-align:left;">&nbsp;Sin registrar asistencia</td>
</tr> </tr>
<tr> <tr>
<td>2&nbsp;</td> <td>2&nbsp;</td>
<td align="left" style="background-color: #ADD8E6">&nbsp;Se registró asistencia</td> <td style="text-align:left;background-color: #ADD8E6">&nbsp;Se registró asistencia</td>
</tr> </tr>
<tr> <tr>
<td>3&nbsp;</td> <td>3&nbsp;</td>
<td align="left" style="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> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
<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" Style="margin-top: -10px; text-align: center;" GridLines="None"> <asp:UpdatePanel ID="UPP" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<Columns> <ContentTemplate>
<asp:TemplateField> <div class="modal-content rowpadding">
<HeaderTemplate>N°</HeaderTemplate> <div class="modal-header">
<ItemTemplate> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<asp:Literal ID="LtlCodigo" runat="server" Text='<%# Eval("Codigo") %>'></asp:Literal> <span aria-hidden="true">&times;</span>
</ItemTemplate> </button>
</asp:TemplateField> <h4 class="modal-title" runat="server" style="text-align: left">Cargar asistencia del periodo</h4>
<asp:TemplateField> </div>
<HeaderTemplate>Personal</HeaderTemplate> <div class="modal-body">
<ItemTemplate> <div class="form-group form-md-line-input">
<asp:Literal ID="LtlPersonal" runat="server" Text='<%# Eval("Nombre") %>'></asp:Literal> <asp:DropDownList ID="DdlTipoPeriodo" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Asistencia</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList ID="DdlTipoAsistencias" runat="server" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 90px !important;"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>% de Pago</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtPorPago" runat="server" MaxLength="3" Text="100" Width="74px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Hrs Dobles</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0" Width="79px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Hrs Triples</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0" Width="79px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Motivo H. Extras</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 140px !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</ItemTemplate> <asp:Label runat="server" AssociatedControlID="DdlTipoPeriodo">Tipo:</asp:Label>
</asp:TemplateField> </div>
<asp:TemplateField> <div class="form-group form-md-line-input">
<HeaderTemplate>Obs.</HeaderTemplate> <asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="true" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
<ItemTemplate> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:TextBox ID="TxtObservaciones" runat="server" Width="84px" MaxLength="150"></asp:TextBox> </asp:DropDownList>
</ItemTemplate> <asp:Label runat="server" AssociatedControlID="DdlPeriodo">Periodo:</asp:Label>
</asp:TemplateField> </div>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" /> </div>
<HeaderStyle CssClass="Titulos" /> <div class="modal-footer">
</asp:GridView> <asp:UpdatePanel runat="server" UpdateMode="Conditional">
<asp:Button ID="BtnGuardar" runat="server" Text="Guardar Asistencia" class="btn btn-primary" /> <ContentTemplate>
</ContentTemplate> <asp:LinkButton ID="BtnCargaMasiva" OnClick="BtnCargaMasiva_Click" CssClass="btn btn-primary" runat="server">Cargar</asp:LinkButton>
</asp:UpdatePanel> </ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript"> <script type="text/javascript">
function CargaClientes() { function CargaClientes() {
$("#BtnCargarClientes").click(); $("#BtnCargarClientes").click();
} }

View File

@@ -71,6 +71,7 @@ Partial Class RH_Asistencias
End If End If
objpersonal.Dispose() objpersonal.Dispose()
GV.DataBind() GV.DataBind()
BtnGuardar.Visible = (GV.Rows.Count > 0)
UpDatos.Update() UpDatos.Update()
Else Else
Alert("La Fecha está fuera de los parámetros establecidos, por favor revise. Fecha: " & TxtFechaAsistencia.Text, TipoMensaje.MsgAdvertencia) Alert("La Fecha está fuera de los parámetros establecidos, por favor revise. Fecha: " & TxtFechaAsistencia.Text, TipoMensaje.MsgAdvertencia)
@@ -150,7 +151,7 @@ Partial Class RH_Asistencias
End Sub End Sub
Protected Sub BtnCargaMasiva_Click(sender As Object, e As EventArgs) Handles BtnCargaMasiva.Click Protected Sub BtnCargaMasiva_Click(sender As Object, e As EventArgs)
Dim ObjPersonal As New ClsRH() Dim ObjPersonal As New ClsRH()
ObjPersonal.IniciaTransacSQL() ObjPersonal.IniciaTransacSQL()
Dim OcurrioError As Boolean = False Dim OcurrioError As Boolean = False

View File

@@ -60,6 +60,10 @@