diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index b9ce81522..10f9a0250 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -1338,10 +1338,14 @@ Public Class ClsNominas
SqlAdapter.Fill(Data)
Retorno = SqlAdapter.SelectCommand.Parameters("@RETURN_VALUE").Value.ToString.ToEntero
Catch Ex1 As SqlException
+
+
If Ex1.Message.Contains("Número: 2627;") Then
Alert("Ya existe un Concepto de Nomina con el mismo nombre: " & Codigo & ".", TipoMensaje.MsgAdvertencia)
+ ElseIf Ex1.Message.Contains("UK_Nom_Conceptos_CveEmpresa_Codigo") Then
+ Alert("Ya existe un Concepto de Nomina con el mismo Código: " & Codigo & ".", TipoMensaje.MsgAdvertencia)
Else
- Me.OnError("Ocurrió un error al Guardar el Concepto de Nomina.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Me.OnError("Ocurrió un error al Guardar el Concepto de Nomina.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
Catch ex As Exception
OnError("Ocurrió un error al Guardar el Concepto de Nomina", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
@@ -1386,6 +1390,8 @@ Public Class ClsNominas
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
Alert("Ya existe un Concepto de Nomina con el mismo nombre: " & Codigo & ".", TipoMensaje.MsgAdvertencia)
+ ElseIf Ex1.Message.Contains("UK_Nom_Conceptos_CveEmpresa_Codigo") Then
+ Alert("Ya existe un Concepto de Nomina con el mismo Código: " & Codigo & ".", TipoMensaje.MsgAdvertencia)
Else
Me.OnError("Ocurrió un error el Concepto de Nomina", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index b0d5a6a97..c642bf35c 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -1896,7 +1896,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
End Function
- Public Function GetPersonalMasivo(CveTurno As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveSupervisor As Integer, CveEmpresa As Integer) As Boolean
+ Public Function GetPersonalMasivo(CveTurno As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveSupervisor As Integer, CveEmpresa As Integer, Optional CveCliente As Integer = -1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -1906,7 +1906,8 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@CveTurno", SqlDbType.Int).Value = CveTurno
.Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- .Add("@CveSupervisor", SqlDbType.Int).Value = CveSupervisor
+ .Add("@CveSupervisor", SqlDbType.Int).Value = CveSupervisor
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
@@ -2271,6 +2272,33 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
End Try
Return Retorno
End Function
+ Public Function UpdatePersonalMasivoData(CveTurno As Integer, CveCliente As Integer, CveSupervisor As Integer, CvePersonal As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ SqlDataAdapter("PA_RH_PersonalUpdateMasivoData")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveTurno", SqlDbType.Int).Value = CveTurno
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@CveSupervisor", SqlDbType.VarChar).Value = CveSupervisor
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .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("El Personal no se guardó debido a que actualmente se encuentra registrado.", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al intentar guardar los cambios en el Personal.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al intentar guardar los cambios en el Personal.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
Public Function UpdatePersonalMasivo(CveTurno As Integer, CveSubProyecto As Integer, CveSupervisor As Integer,
SalarioDiario As Double, SDI As Double, SalarioDiarioSS As Double,
CvePersonal As Integer, CveEmpresa As Integer) As Boolean
diff --git a/GPS/Asistencia.rdlc b/GPS/Asistencia.rdlc
new file mode 100644
index 000000000..e20d350f1
--- /dev/null
+++ b/GPS/Asistencia.rdlc
@@ -0,0 +1,905 @@
+
+
+ 0
+
+
+
+ System.Data.DataSet
+ /* Local Connection */
+
+ 74f8a171-24f1-4404-809e-ec2e098f1907
+
+
+
+
+
+ DataSet3
+ /* Local Query */
+
+
+
+ Codigo
+ System.String
+
+
+ Nombre
+ System.String
+
+
+ AsistenciasInasistencias
+ System.String
+
+
+ PorcentajePago
+ System.Decimal
+
+
+ HorasDobles
+ System.Decimal
+
+
+ HorasTriples
+ System.Decimal
+
+
+ MotivoHoraExtra
+ System.String
+
+
+
+ DataSet3
+ C:\Users\jesus\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DataSet3.xsd
+ DataTable1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.43285cm
+
+
+ 5.73362cm
+
+
+ 2.51764cm
+
+
+ 1.99729cm
+
+
+ 2.5cm
+
+
+ 2.5cm
+
+
+ 2.1825cm
+
+
+
+
+ 0.6cm
+
+
+
+
+ true
+ true
+
+
+
+
+ Código
+
+
+
+
+
+
+ Textbox1
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Personal
+
+
+
+
+
+
+ Textbox3
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Asistencias
+
+
+
+
+
+
+ Textbox5
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ % de Pago
+
+
+
+
+
+
+ Textbox9
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Horas Dobles
+
+
+
+
+
+
+ Textbox11
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Horas Triples
+
+
+
+
+
+
+ Textbox7
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Firma
+
+
+
+
+
+
+ Textbox13
+
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+
+ Black
+
+ 1pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ 0.6cm
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Codigo.Value
+
+
+
+
+
+
+ Codigo
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Nombre.Value
+
+
+
+
+
+
+ Nombre
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!AsistenciasInasistencias.Value
+
+
+
+
+
+
+ AsistenciasInasistencias
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!PorcentajePago.Value
+
+
+
+
+
+
+ PorcentajePago
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =IIf(Fields!HorasDobles.Value>0,Fields!HorasDobles.Value.ToString(),"")
+
+
+
+
+
+
+ HorasDobles
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =IIf(Fields!HorasTriples.Value>0,Fields!HorasTriples.Value.ToString(),"")
+
+
+
+
+
+
+ HorasTriples
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+ true
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Textbox14
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+
+ Gray
+
+ 0.5pt
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ After
+
+
+
+
+
+
+ DataSet1
+ 2.11349cm
+ 0.31432cm
+ 1.2cm
+ 18.8639cm
+
+
+
+
+
+ true
+ true
+
+
+
+
+ Lista de asistencia del día
+
+
+
+ =Parameters!Fecha.Value
+
+
+
+
+
+
+ Textbox15
+ 0.57891cm
+ 0.31432cm
+ 0.9175cm
+ 18.8639cm
+ 1
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ 1.65554in
+
+
+ 7.67548in
+
+ 29.7cm
+ 21cm
+ 0.5cm
+ 0.5cm
+ 0.5cm
+ 0.5cm
+ 0.13cm
+
+
+
+
+
+
+ String
+ true
+ true
+ ReportParameter1
+
+
+ Cm
+ 11b5b2e7-c415-4ba7-a346-3d00f6f761f0
+
\ No newline at end of file
diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs
index 1907bd879..69e57df7e 100644
--- a/Nomina/Nomina.aspx.cs
+++ b/Nomina/Nomina.aspx.cs
@@ -219,8 +219,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (objnom.DTSetResultados.Tables.Count > 0)
{
- GVNominaPendiente.DataSource = objnom.DTSetResultados.Tables[0];
- GVNominaPendiente.DataBind();
+ GVNominaPendiente.DataSource = objnom.DTSetResultados.Tables[0];
+ GVNominaPendiente.DataBind();
}
if (GVNominaPendiente.Rows.Count > 0)
{
@@ -1218,7 +1218,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
gvRow.CssClass = "success";
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("Imgdesautorizar").Visible = false;
-
+
gvRow.FindControl("LnkCancelar").Visible = true;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
@@ -1348,7 +1348,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
Alert("Se ha timbrado correctamente");
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("Imgdesautorizar").Visible = false;
-
+
gvRow.FindControl("LnkCancelar").Visible = true;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
@@ -1370,7 +1370,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
Nom.IniciaTransacSQL();
//AutorizaNom_Nominas
- if (continuar && (continuar = Nom.RemoveNom_Nominas(Cve,false, UsuarioActual.CveUsuario)))
+ if (continuar && (continuar = Nom.RemoveNom_Nominas(Cve, false, UsuarioActual.CveUsuario)))
{
Nom.Commit();
@@ -1396,7 +1396,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
Nom.IniciaTransacSQL();
//AutorizaNom_Nominas
- if (continuar && (continuar = Nom.RemoveNom_Nominas(Cve,true,UsuarioActual.CveUsuario )))
+ if (continuar && (continuar = Nom.RemoveNom_Nominas(Cve, true, UsuarioActual.CveUsuario)))
{
Nom.Commit();
@@ -1578,7 +1578,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
string msgerror = "Debe seleccionar los conceptos a cargar.";
- if(dtConceptos == null || dtConceptos.Columns.Count <= 2)
+ if (dtConceptos == null || dtConceptos.Columns.Count <= 2)
{
msgerror = "Debe cargar el periodo antes de descargar la plantilla";
continuar = false;
@@ -1746,12 +1746,49 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
+ if (!(CvePeriodoSeleccionado >= 0))
+ {
+ continuar = false;
+ stringError = "debe cargar el periodo a actualizar";
+
+ }
+
+
DataTable DTEXcel = new DataTable();
if (continuar)
{
try
{
- DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true).FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
+ DataTable dtxz = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
+ if (dtxz.Rows.Count > 2)
+ {
+ DataRow drowx = dtxz.Rows[2];
+
+ for (int i = 2; i < dtxz.Columns.Count; i++)
+ {
+ //para evitar errores agrego una columna al inicio
+ dtxz.Columns[i].ColumnName = string.Format("Z{0}",dtxz.Columns[i].ColumnName.ToUpper());
+ }
+ for (int i = 2; i < dtxz.Columns.Count; i++)
+ {
+ //
+ string conceptocodigo = drowx[i].ToString(); string CveConcepto;
+ DataRow dconr = dtConceptos.FiltroPrimero(string.Format("codigo='{0}'", conceptocodigo));
+ if (dconr != null)
+ {
+ CveConcepto = dconr["CveConcepto"].ToString();
+ dtxz.Columns[i].ColumnName = CveConcepto;
+ }
+ else
+ {
+ continuar = false;
+ stringError = string.Format("Ocurrio un Error al procesar el excel código no valido '{0}'({1}).", conceptocodigo, i);
+ break;
+ }
+ //int CveConcepto = dtxz.Columns[i].ColumnName.ToEntero();
+ }
+ }
+ DTEXcel = dtxz.FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
}
catch (Exception ex)
@@ -1837,7 +1874,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
if (CveNomina > 0)
{
- for (int i = 1; i < DTEXcel.Columns.Count; i++)
+ for (int i = 2; i < DTEXcel.Columns.Count; i++)
{
int CveConcepto = DTEXcel.Columns[i].ColumnName.ToEntero();
decimal Importe = 0;
@@ -3290,11 +3327,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["SRMostrarFormulas"] = value; }
}
- public void cargasobrericiboconceptos(Boolean MostrarFormulas )
+ public void cargasobrericiboconceptos(Boolean MostrarFormulas)
{
SRMostrarFormulas = MostrarFormulas;
{
- DataTable dtper = dtConceptos.FiltraParametros(string.Format("Tipo IN ('P') AND EsPadre = 1 {0}",(MostrarFormulas?"": " AND SoloVisible=0")));
+ DataTable dtper = dtConceptos.FiltraParametros(string.Format("Tipo IN ('P') AND EsPadre = 1 {0}", (MostrarFormulas ? "" : " AND SoloVisible=0")));
DataTable dtded = dtConceptos.FiltraParametros(string.Format("Tipo IN ('D') AND EsPadre = 1 AND CveSistema NOT IN(101) {0}", (MostrarFormulas ? "" : " AND SoloVisible=0")));
dtper.Columns.Add("BorradoLogico", typeof(int));
dtded.Columns.Add("BorradoLogico", typeof(int));
@@ -3686,7 +3723,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
public int isEditedD { get; set; }
public int isOnlyBisibleD { get; set; }
public int CveSistemaD { get; set; }
-
+
@@ -5995,7 +6032,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
//AutorizaNom_Nominas
foreach (DataRow drow in dtr.Rows)
{
- if (continuar && (continuar = Nom.RemoveNom_Nominas(drow["CveNomina"].ToString().ToEntero(),false,UsuarioActual.CveUsuario)))
+ if (continuar && (continuar = Nom.RemoveNom_Nominas(drow["CveNomina"].ToString().ToEntero(), false, UsuarioActual.CveUsuario)))
{
}
@@ -6050,7 +6087,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
strbuilder.AppendLine(String.Format("
{0} con neto a pagar {1} ", itf["Nombre"], itf["Total"]));
}
- if(dtrFail.Rows.Count > 0)
+ if (dtrFail.Rows.Count > 0)
{
erroralturizar = string.Format("
no se autorizaron los siguientes empleados con neto a pagar negativo para evitar inconsistencias{0}", strbuilder.ToString());
}
@@ -8568,7 +8605,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
//Emisora N 5 4-8
sb.Append(Emisora.PadLeft(5, Cero));
//FechaProceso N 8 9-16
- sb.Append(TxtModalLayoutBancosFecha.Text.ToDate().ToString("yyyyMMdd") );
+ sb.Append(TxtModalLayoutBancosFecha.Text.ToDate().ToString("yyyyMMdd"));
//Conmsecutivo N 2 17-18
sb.Append("01");
//Numero Total de Registros N 6 19-24
diff --git a/RH/ActualizacionMasiva.aspx b/RH/ActualizacionMasiva.aspx
index 4706813d8..e3507789d 100644
--- a/RH/ActualizacionMasiva.aspx
+++ b/RH/ActualizacionMasiva.aspx
@@ -66,13 +66,10 @@
-
Turno:
+
Cliente:
-
-
Cliente:
-
-
+
Turno:
+
+
+
Supervisor:
+
+
@@ -160,7 +167,6 @@
-
Proyecto
@@ -168,24 +174,24 @@
<%----%>
-
+
-
+
-
- <%----%>
+ <%----%>
+
-
+
-
+
Turno
<%----%>
-
+
-
+
-
+
SDD
@@ -194,7 +200,7 @@
-
+
SDI
@@ -203,7 +209,7 @@
-
+
SD IMSS
@@ -212,27 +218,29 @@
-
+
¿CALCULAR SDI?
-
+
Supervisor
-
+
+
+
-
+
-
+
Cliente
-
-
-
+
+
+
@@ -240,6 +248,8 @@
+
diff --git a/RH/ActualizacionMasiva.aspx.vb b/RH/ActualizacionMasiva.aspx.vb
index 466f284e6..ce9b819f9 100644
--- a/RH/ActualizacionMasiva.aspx.vb
+++ b/RH/ActualizacionMasiva.aspx.vb
@@ -6,13 +6,13 @@ Imports System.Data
Partial Class RH_ActualizacionMasiva
Inherits ClsPaginas
-
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
SetPermisos()
'DdlCliente.Attributes.Add("onclick", "CargaClientes();")
'CargaProyecto()
+ ViewState("gvtsubproyectos") = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa)
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto)
divddlproyeto.Visible = DdlProyecto.Visible
GvDatos.Columns(2).Visible = DdlProyecto.Visible
@@ -23,6 +23,7 @@ Partial Class RH_ActualizacionMasiva
GvDatos.CssClass = String.Format("{0} {1}", GvDatos.CssClass, If(DdlProyecto.Visible, "Columns4", ""))
CargaTurnos()
CargaSupervisores()
+ CargaSuperioresOrganigrama()
End If
End Sub
@@ -100,6 +101,22 @@ Partial Class RH_ActualizacionMasiva
ViewState("DTTurno") = dt
End Sub
+ Private Sub CargaSuperioresOrganigrama()
+ Dim ObjRH As New ClsRH
+
+ If ObjRH.GetPersonal(-1, UsuarioActual.CveEmpresa) Then
+ ViewState("dtSupervisores") = ObjRH.DtResultados
+ DdlSupervisor.DataSource = ObjRH.DtResultados
+ Else
+ DdlSupervisor.DataSource = Nothing
+ Alert("Ocurrió un error al cargar el catálogo de Jefes Inmediatos")
+ End If
+ ObjRH.Dispose()
+
+ If DdlSupervisor.DataSource IsNot Nothing Then
+ DdlSupervisor.DataBind()
+ End If
+ End Sub
Private Sub CargaSupervisores()
ViewState("DTUsuarios") = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0} AND EsSupervisorRH = 1 ", UsuarioActual.CveEmpresa))
@@ -120,7 +137,7 @@ Partial Class RH_ActualizacionMasiva
End Sub
Public Sub consultardata()
Using ObjPersonal As New ClsRH()
- If ObjPersonal.GetPersonalMasivo(DdlTurno.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then
+ If ObjPersonal.GetPersonalMasivo(DdlTurno.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlSupervisor.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, DdlClientesfilter.SelectedValue.ToEntero()) Then
GvDatos.DataSource = ObjPersonal.DtResultados
Else
GvDatos.DataSource = Nothing
@@ -159,7 +176,7 @@ Partial Class RH_ActualizacionMasiva
If e.Row.DBCampo("Turno") = "" AndAlso e.Row.DBCampo("Nombre") = "" Then
e.Row.FCLiteral("LtlCodigo").Text = String.Format("{0}: {1}", LblSubProyeccto.Text, If(e.Row.DBCampo("SubProyecto") = String.Empty, "Sin Proyecto Asignado", e.Row.DBCampo("SubProyecto")))
- e.Row.Cells(0).ColumnSpan = 11
+ e.Row.Cells(0).ColumnSpan = 8
For i As Integer = 1 To 10
e.Row.Cells(i).Visible = False
Next
@@ -167,7 +184,7 @@ Partial Class RH_ActualizacionMasiva
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
ElseIf e.Row.DBCampo("Turno") <> "" AndAlso e.Row.DBCampo("Nombre") = "" Then
e.Row.FCLiteral("LtlCodigo").Text = String.Format("Turno: {0}", e.Row.DBCampo("Turno"))
- e.Row.Cells(0).ColumnSpan = 11
+ e.Row.Cells(0).ColumnSpan = 8
For i As Integer = 1 To 10
e.Row.Cells(i).Visible = False
Next
@@ -183,7 +200,10 @@ Partial Class RH_ActualizacionMasiva
e.Row.FCTextBox("TxtSalarioCotizado").Text = e.Row.FCTextBox("TxtSalarioCotizado").Text.Replace(",", "")
- e.Row.FCDropDownList("DdlSupervisor").DataSource = DTUsuarios
+ e.Row.FCDropDownList("DdlGVSubProyecto").DataSource = ViewState("gvtsubproyectos")
+ e.Row.FCDropDownList("DdlGVSubProyecto").DataBind()
+ e.Row.FCDropDownList("DdlGVSubProyecto").SelectedValueExist(e.Row.DBCampo("CveSubProyecto").ToString())
+ e.Row.FCDropDownList("DdlSupervisor").DataSource = ViewState("dtSupervisores")
e.Row.FCDropDownList("DdlSupervisor").DataBind()
e.Row.FCDropDownList("DdlSupervisor").Items.Insert(0, New ListItem("Sin Supervisor Asignado", "-1"))
e.Row.FCDropDownList("DdlSupervisor").SelectedValueExist(e.Row.DBCampo("CveSupervisor").ToString())
@@ -223,6 +243,12 @@ Partial Class RH_ActualizacionMasiva
' ObjPersonal.RollBack()
' Exit For
'End If
+ If Not ObjPersonal.UpdatePersonalMasivoData(Row.FCDropDownList("DdlTurno").SelectedValue.ToEntero, DirectCast(Row.FindControl("DdlClientes"), ADServerControl.Dropdownlost).SelectedValue.ToEntero, Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero(),
+ Row.DataKey("CvePersonal").ToEntero(), UsuarioActual.CveEmpresa) Then
+ OcurrioError = True
+ ObjPersonal.RollBack()
+ Exit For
+ End If
If ObjPersonal.UpdateSalarios(Row.DataKey("CvePersonal").ToEntero(), DateTime.Now.ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Row.FCTextBox("TxtSalarioDiario").Text.ToDecimal(),
Row.FCTextBox("TxtSDI").Text.ToDecimal(), Row.FCTextBox("TxtSalarioCotizado").Text.ToDecimal(), Row.FCTextBox("TxtSalarioDiario").Text.ToDecimal(),
Row.FCCheckBox("ChkCalcularSDI").Checked) Then
@@ -410,19 +436,36 @@ Partial Class RH_ActualizacionMasiva
For Each Row As GridViewRow In GvDatos.Rows
CvePersonal = Row.DataKey("CvePersonal").ToEntero()
If CvePersonal > 0 Then
- listpersonal.Add(New RequestUpSupervisorMasiva() With {.CvePersonal = CvePersonal, .CveUsuario = Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero(),
+ listpersonal.Add(New RequestUpSupervisorMasiva() With {.CvePersonal = CvePersonal, .CveUsuario = Row.FCDropDownList("DdlGVSubProyecto").SelectedValue.ToEntero(),
.CveCliente = Row.FCDropDownLost("DdlClientes").SelectedValue.ToEntero()})
End If
Next
Dim continuar As Boolean = False
+ Dim OcurrioError As Boolean = False
Using ObjPersonal As ClsRH = New ClsRH()
ObjPersonal.IniciaTransacSQL()
- If ObjPersonal.UpPersonalSupervisorMasiva(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, listpersonal) Then
- ObjPersonal.Commit()
- continuar = True
- Alert("La información se guardó correctamente.", TipoMensaje.MsgInformacion)
+
+ For Each Row As GridViewRow In GvDatos.Rows
+
+ If Row.DataKey("CvePersonal") <> "" Then
+ If Not ObjPersonal.UpdatePersonalMasivoData(Row.FCDropDownList("DdlTurno").SelectedValue.ToEntero, DirectCast(Row.FindControl("DdlClientes"), ADServerControl.Dropdownlost).SelectedValue.ToEntero, Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero(),
+ Row.DataKey("CvePersonal").ToEntero(), UsuarioActual.CveEmpresa) Then
+ OcurrioError = True
+ ObjPersonal.RollBack()
+ Exit For
+ End If
+ End If
+ Next
+ If OcurrioError Then
Else
- ObjPersonal.RollBack()
+ If ObjPersonal.UpPersonalSupervisorMasiva(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, listpersonal) Then
+ ObjPersonal.Commit()
+ continuar = True
+ Alert("La información se guardó correctamente.", TipoMensaje.MsgInformacion)
+ Else
+ ObjPersonal.RollBack()
+ End If
+
End If
End Using
If continuar Then
diff --git a/RH/Asistencias.aspx b/RH/Asistencias.aspx
index 44307b1b6..d255c3844 100644
--- a/RH/Asistencias.aspx
+++ b/RH/Asistencias.aspx
@@ -10,9 +10,10 @@
Registro de Asistencias
-
- Lista asistencia
-
+
+
+ Lista asistencia
+
Carga masiva de asistencia
@@ -28,42 +29,54 @@
- Cliente:
-
-
+
+
- - Proyecto:
-
-
-
+
-
+ Proyecto:
+
+
+
- - SubProyecto:
-
-
-
+
-
+ SubProyecto:
+
+
+
- - F. Asistencia:
-
-
-
-
-
-
-
-
+
-
+ Turno:
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+ F. Asistencia:
+
+
+
+
+
+
+
+
-
- - Turno:
-
-
-
-
+
@@ -79,7 +92,7 @@
-
+
N°
@@ -136,30 +149,32 @@
-
-
+
+
|
-
+ |
| # |
- Notación |
+ Notación |
| 1 |
- Sin registrar asistencia |
+ Sin registrar asistencia |
| 2 |
- Se registró asistencia |
+ Se registró asistencia |
| 3 |
- Se registró asistencia y fue modificada |
+ Se registró asistencia y fue modificada |
|
@@ -205,7 +220,7 @@
-