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
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,
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,
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
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("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Autorizado", SqlDbType.Bit).Value = Autorizado
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With
'SqlTypes.SqlDateTime.Null

View File

@@ -2288,10 +2288,36 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
End Try
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
#Region "Asistencias Detalles"
Public Function GetAsistenciasDetalle() As Boolean
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
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")
End If
CargaTiposPeriodo()

View File

@@ -4,9 +4,10 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
span.font-black{
color:#333;
span.font-black {
color: #333;
}
.GvConceptos {
border: 1px solid #E87E04;
}
@@ -69,19 +70,25 @@
<asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<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>
<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>
<asp:LinkButton ID="LnkAutorizar" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton>
</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>
</asp:UpdatePanel>
<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>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
@@ -204,7 +211,7 @@
<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"
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>
<asp:TemplateField>
@@ -385,7 +392,7 @@
<div class="portlet-title">
<div class="caption ">
<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 class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
@@ -394,40 +401,53 @@
<div class="portlet-body " style="padding: 0px;">
<div class="row">
<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-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 class="row">
<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-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 class="row">
<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-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 class="row">
<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-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 class="row">
<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-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 class="row">
<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-4"><asp:Label ID="LblFecha" runat="server"></asp:Label></div>
</div>
<div class="col-md-4">
<asp:Label ID="LblFecha" runat="server"></asp:Label></div>
</div>
</div>
</div>
@@ -917,7 +937,6 @@
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DModalNominas" class="modal ADS fade" role="dialog">
@@ -959,6 +978,48 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpModalAsistenciaMasiva" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<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 ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
@@ -971,7 +1032,7 @@
}
function FiltrarTabla(idtxt, idtable, idcontador) {
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) {
$('' + 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;
DdlEjerciciosCM.DataSource = dtejercicio;
DdlEjercicios.DataBind();
DdlEjerciciosCM.DataBind();
ListItem litem = null;
if ((dtejercicio != null) && dtejercicio.Rows.Count > 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)
{
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
{
DdlEjercicios.Items.Add(new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString()));
DdlEjercicios.Items.Add(new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString()));
litem = new ListItem(EjercicioActual.ToString(), EjercicioActual.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)
@@ -177,6 +188,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
private void CargaTiposPeriodo()
{
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'");
DdlTipoPeriodoCM.DataSource = DdlTipoPeriodo.DataSource;
DdlTipoPeriodoCM.DataBind();
DdlTipoPeriodo.DataBind();
DdlTipoPeriodo.Items.Insert(0, new ListItem("Seleccione", "-1"));
if (DdlTipoPeriodo.Items.Count > 0)
@@ -700,37 +713,38 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
try
{
using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl))
{
conn.Open();
string exceltableName = "Nomina";
DataTable tables = conn.GetSchema("Tables");
if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0)
{
continuar = false;
stringError = "El documento no contiene la hoja nomina";
//using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl))
//{
// conn.Open();
// string exceltableName = "Nomina";
// DataTable tables = conn.GeaaffotSchema("Tables");
// if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0)
// {
// continuar = false;
// stringError = "El documento no contiene la hoja nomina";
}
else
{
// }
// else
// {
exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString();
}
if (continuar)
{
using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand())
{
// exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString();
// }
// if (continuar)
// {
// using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand())
// {
cmd.CommandType = CommandType.Text;
cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'";
using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd))
{
da.Fill(DTEXcel);
// cmd.CommandType = CommandType.Text;
// cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'";
// using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd))
// {
// da.Fill(DTEXcel);
}
}
}
}
// }
// }
// }
//}
DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true).FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
}
catch (Exception ex)
@@ -738,7 +752,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
continuar = false;
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)
@@ -795,7 +809,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
else
{
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;
}
@@ -859,6 +873,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (rollback)
{
objpersonal.RollBack();
continuar = false;
}
else
{
@@ -972,7 +987,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LblDiasLaborados.Text = DiasLaborados;
LblDiasFaltados.Text = DiasFaltados;
LblDiasVacaciones.Text = DiasVacaciones;
LblFecha.Text = string.Format("{0} al {1}",FechaInicio, FechaFin);
LblFecha.Text = string.Format("{0} al {1}", FechaInicio, FechaFin);
LblDiasRetardos.Text = DiasRetardos;
LblDiasIncapacidad.Text = DiasIncapacidad;
#endregion
@@ -3193,11 +3208,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (continuar)
{
dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0}", CvePersonal));
@@ -3205,8 +3215,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
CveConcepto = rcon["CveConcepto"].ToString().ToEntero();
ImporteConcepto = rcon["ImporteConcepto"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravadoConcepto"].ToString().ToDecimal();
ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
if (continuar)
{
@@ -3221,6 +3231,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
if (continuar)
{
continuar = objNomina.AutorizaNom_Nominas(-1, CvePeriodoSeleccionado, true);
}
if (continuar)
{
objNomina.Commit();
@@ -3235,4 +3253,69 @@ public partial class Nomina_Nomina2 : ClsPaginas
dtconp.Dispose();
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");
if (ChkOk.Checked && Correo.Length >0)
{
UsuariosCorreos = string.Format("{1}{0}" + ";", UsuariosCorreos, Correo);
UsuariosCorreos = string.Format("{1};{0}" , UsuariosCorreos, Correo);
}
}
TxtCorreo.Text = UsuariosCorreos;
@@ -161,8 +161,20 @@ public partial class OI_CircularDetalleB : ClsPaginas
GuardarArchivo(CircularInsertado);
Alert("Ingresado correctamente");
CveCircular = CircularInsertado;
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";
BtnEliminar.Visible = true;
}
@@ -274,7 +286,7 @@ public partial class OI_CircularDetalleB : ClsPaginas
{
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;
}
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>
</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;">
<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>
<%--<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>

View File

@@ -322,9 +322,9 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
}
string fechaFin = "";
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";
@@ -353,8 +353,8 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
errorMessage = "Asegúrese de seleccionar al menos un miembro \"C C Para\"";
}
if (EsNuevo)
{
bool Continuar = false;
{
bool Continuar = false;
if (errorMessage.Length == 0)
{
@@ -373,7 +373,6 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
if (Continuar)
{
objOI.Commit();
enviarConvocatoria(CveEvento);
//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);
//EnviarCorreo(UsuarioActual.Empresa, o.AsuntoCorreo, mailbody, o.mailPara, "");
@@ -386,6 +385,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
}
if (Continuar && CveEvento > 0)
{
enviarConvocatoria(CveEvento);
if (rutaarchivoOri.Length > 0)
{
string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta);
@@ -407,7 +407,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
}
else
{
bool Continuar = true;
using (ClsOIEventos objOI = new ClsOIEventos())
{
@@ -416,7 +416,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
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)
{
@@ -520,7 +520,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
LnkOpenModalAsistencia.Visible = true;
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);
LnkOpenModalAsistencia_Click(null,null);
LnkOpenModalAsistencia_Click(null, null);
}
}
@@ -565,7 +565,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
}
else
{
Alert("se ingresó la asistencia correctamente.");
Alert("se ingresó la asistencia correctamente.");
}
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);
}
string UsuarioDemail = "";
private string MailgetBodyConvocatoria(int RCveEvento)
{
@@ -599,6 +600,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
{
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
UsuarioDe = drow["NombreRegistro"].ToString();
UsuarioDemail= drow["NombreRegistro"].ToString();
Folio = drow["Folio"].ToString().ToEntero();
Link = GetDominio(string.Format("OI/ConvocatoriaDetalle.aspx?CveEvento={0}", RCveEvento));
Asunto = drow["Asunto"].ToString();
@@ -687,7 +689,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
StrMail.Append(" </div>");
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(" <br />");
@@ -731,11 +733,40 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
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)
{
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();
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);
Retorno = true;
}

View File

@@ -20,10 +20,10 @@
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<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>
<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>
</asp:Content>
<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 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 CorreoExternoconvocatoria;
private string MailgetBodyConvocatoria(int RCveEvento)
{
@@ -264,7 +265,8 @@ public partial class OI_RepReuniones : ClsPaginas
UsuarioDe = drow["NombreRegistro"].ToString();
Folio = drow["Folio"].ToString().ToEntero();
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();
Descripcion = drow["Descripcion"].ToString();
Acuerdos = drow["Acuerdos"].ToString();

View File

@@ -145,21 +145,21 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<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>
<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>
<asp:LinkButton ID="LnkAgregarActividad" OnClick="LnkAgregarActividad_Click" runat="server"><i class="fa fa-plus"></i> Agregar bitácora</asp:LinkButton></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>
<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>
<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>
<asp:LinkButton ID="LnkReasignar" OnClick="LnkReasignar_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Reasignar</asp:LinkButton></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>
<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>
</div>
<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 class="portlet-body rowpadding" style="display: none;">
<div class="portlet-body rowpadding" >
<asp:UpdatePanel ID="UpActividades" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<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)
{
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;
portletMiembros.Visible = false;
@@ -553,7 +553,7 @@ public partial class OI_TareaDetalle : ClsPaginas
else
{
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 = "";
link = "";//EP.[CveTipoEvento] CveTipoEventoPadre,EP.Asunto AS AsuntoPadre

View File

@@ -10,45 +10,41 @@
Registro de Asistencias
</asp:Content>
<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 ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="" id="PorletAsistencia">
<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">
<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: 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: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: 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: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: 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:DropDownList>
</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:
<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" />
@@ -60,133 +56,153 @@
&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>
</ul>
</div>
</div>
<div class="portlet-body" style="font-size: 120%">
<ul class="list-inline">
</ul>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<table width="100%">
<table style="width: 100%;">
<tr>
<td width="48%">&nbsp;</td>
<td>
<asp:UpdatePanel ID="UPP" runat="server">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlMasivo" runat="server" Visible="False">
<table width="200px" border="0">
<tr>
<td>Tipo:</td>
<td>
<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: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">
<Columns>
<asp:TemplateField>
<HeaderTemplate>N°</HeaderTemplate>
<ItemTemplate>
<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:DropDownList></td>
</tr>
<tr>
<td>Periodo:</td>
<td>
<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;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;">
<asp:Button ID="BtnCargaMasiva" runat="server" Text="Carga Masiva" class="btn btn-primary" />
</td>
</tr>
</table>
</asp:Panel>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Obs.</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtObservaciones" runat="server" Width="84px" MaxLength="150"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<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>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td align="left">
<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 align="left">&nbsp;Notación</th>
<th style="text-align:left;">&nbsp;Notación</th>
</tr>
</thead>
<tr>
<td>1&nbsp;</td>
<td align="left">&nbsp;Sin registrar asistencia</td>
<td style="text-align:left;">&nbsp;Sin registrar asistencia</td>
</tr>
<tr>
<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>
<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>
</table>
</td>
</tr>
</table>
<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" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>N°</HeaderTemplate>
<ItemTemplate>
<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;">
<div id="DModalCargaASistenciaMasiva" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UPP" 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="DdlTipoPeriodo" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Obs.</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtObservaciones" runat="server" Width="84px" MaxLength="150"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
<asp:Button ID="BtnGuardar" runat="server" Text="Guardar Asistencia" class="btn btn-primary" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:Label runat="server" AssociatedControlID="DdlTipoPeriodo">Tipo:</asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="true" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Class="form-control select2me input-sm" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlPeriodo">Periodo:</asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="BtnCargaMasiva" OnClick="BtnCargaMasiva_Click" CssClass="btn btn-primary" runat="server">Cargar</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
<script type="text/javascript">
function CargaClientes() {
$("#BtnCargarClientes").click();
}

View File

@@ -71,6 +71,7 @@ Partial Class RH_Asistencias
End If
objpersonal.Dispose()
GV.DataBind()
BtnGuardar.Visible = (GV.Rows.Count > 0)
UpDatos.Update()
Else
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
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()
ObjPersonal.IniciaTransacSQL()
Dim OcurrioError As Boolean = False

View File

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