This commit is contained in:
Rakcsle Supertramp
2020-07-31 19:46:13 -07:00
77 changed files with 12349 additions and 1802 deletions

View File

@@ -138,6 +138,14 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-Width="80px">
<HeaderTemplate>¿CALCULAR SDI?</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkCalcularSDI" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
@@ -190,6 +198,10 @@
</div>
</div>
<div class="portlet-body rowpadding ">
<div class="row">
<div class="col-sm-6">Calcular Salario Diario Integrado</div>
<div class="col-sm-6"> <asp:CheckBox ID="ChkCalcularSDIXLS" Text=" " CssClass="chksino" runat="server" /></div>
</div>
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
</div>
</div>

View File

@@ -195,6 +195,7 @@ Partial Class RH_ActualizacionMasiva
Dim OcurrioError As Boolean = False
Using ObjPersonal As ClsRH = New ClsRH()
ObjPersonal.IniciaTransacSQL()
For Each Row As GridViewRow In GvDatos.Rows
If Row.DataKey("CvePersonal") <> "" Then
'If Not ObjPersonal.UpdatePersonalMasivo(Row.FCDropDownList("DdlTurno").SelectedValue.ToEntero, Row.FCDropDownList("DdlGVSubProyecto").SelectedValue.ToEntero, Row.FCDropDownList("DdlSupervisor").SelectedValue.ToEntero,
@@ -204,7 +205,9 @@ Partial Class RH_ActualizacionMasiva
' ObjPersonal.RollBack()
' Exit For
'End If
If ObjPersonal.UpdateSalarios(Row.DataKey("CvePersonal").ToEntero(), DateTime.Now.ToString("yyyy/MM/dd"), UsuarioActual.CveEmpresa, Row.FCTextBox("TxtSalarioDiario").Text.ToDecimal(), Row.FCTextBox("TxtSDI").Text.ToDecimal(), Row.FCTextBox("TxtSalarioCotizado").Text.ToDecimal(), Row.FCTextBox("TxtSalarioDiario").Text.ToDecimal()) Then
If ObjPersonal.UpdateSalarios(Row.DataKey("CvePersonal").ToEntero(), DateTime.Now.ToString("yyyy/MM/dd"), 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
Else
OcurrioError = True
@@ -215,7 +218,7 @@ Partial Class RH_ActualizacionMasiva
Next
If Not OcurrioError Then
'ObjPersonal.Commit()
ObjPersonal.Commit()
Alert("La información se guardó correctamente.", TipoMensaje.MsgInformacion)
Else
Alert("Ocurrió un error al guardar la información.", TipoMensaje.MsgError)
@@ -350,13 +353,16 @@ Partial Class RH_ActualizacionMasiva
Dim OcurrioError As Boolean = False
Dim contador As Integer = 0
Using ObjPersonal As ClsRH = New ClsRH()
ObjPersonal.IniciaTransacSQL()
For Each Row As DataRow In DTEXcel.Rows
If Row("Codigo").ToString() <> "" Then
Dim drow As DataRow = DTEmpleados.FiltroPrimero(String.Format("Codigo='{0}'", Row("Codigo")))
If Not IsNothing(drow) Then
Dim CvePersonal As Integer = drow("CvePersonal").ToString().ToEntero()
If ObjPersonal.UpdateSalarios(CvePersonal, DateTime.Now.ToString("yyyy/MM/dd"), UsuarioActual.CveEmpresa, Row("SDD").ToString().ToDecimal(), Row("SDI").ToString().ToDecimal(), Row("SD IMSS").ToString().ToDecimal(), Row("SDD").ToString().ToDecimal()) Then
If ObjPersonal.UpdateSalarios(CvePersonal, DateTime.Now.ToString("yyyy/MM/dd"), UsuarioActual.CveEmpresa, Row("SDD").ToString().ToDecimal(), Row("SDI").ToString().ToDecimal(),
Row("SD IMSS").ToString().ToDecimal(), Row("SDD").ToString().ToDecimal(), ChkCalcularSDIXLS.Checked) Then
contador = contador + 1
Else
OcurrioError = True

View File

@@ -8,21 +8,24 @@
.node {
width: 150px;
background-color: whitesmoke;
font-weight:normal;
font-weight: normal;
}
#chart_div{
overflow:auto;
}
</style>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', { packages: ["orgchart"] });
google.charts.setOnLoadCallback(drawChart);
//google.charts.load('current', { packages: ["orgchart"] });
//google.charts.setOnLoadCallback(drawb);
function drawChart() {//esta funcion se ejecuta cada vez que se el boton "Consultar" es seleccionado y se ejecuta el metodo "GenerarOrg" en el VB
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Manager');
data.addColumn('string', 'ToolTip');
$.ajax({
type: "POST",
url: "Organigrama.aspx/FetchData",
@@ -30,16 +33,17 @@
contentType: "application/json",
dataType: "json",
success: function (r) {
debugger;
var options = {
allowHtml: true,
size: "large",
nodeClass: "node"
};
r.d = JSON.parse(r.d);
if (r.d.length > 0) {
var formatedData = [];
for (var i = 0; i < r.d.length; i++) {
let arregloAux = [JSON.parse(r.d[i][0]),i!=0?r.d[i][1]:"", r.d[i][2]]//por cada registro convertimos en JSON los titulos y subtitulos(llegan en String) y damos formato al header
let arregloAux = [JSON.parse(r.d[i][0]), i != 0 ? r.d[i][1] : "", r.d[i][2]]//por cada registro convertimos en JSON los titulos y subtitulos(llegan en String) y damos formato al header
formatedData.push(arregloAux);
}
data.addRows(formatedData);
@@ -110,10 +114,10 @@
</asp:DropDownList>
<i></i>
</div>
<div class="col-md-1 truncate" style="text-align: right!important; width: 200px; margin-left:110px">Nivel de cadena de mando: </div>
<div class="col-md-1 truncate" style="text-align: right!important; width: 200px; margin-left: 110px">Nivel de cadena de mando: </div>
<div class="col-md-1">
<asp:TextBox runat="server" ID="txtNivel" Style="width:35px"></asp:TextBox>
<asp:TextBox runat="server" ID="txtNivel" Style="width: 35px"></asp:TextBox>
</div>
</div>
@@ -123,6 +127,7 @@
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
</div>
</div>
<asp:Label ID="LblJson" CssClass="LblJson hidden" runat="server" Text="[]"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
@@ -130,8 +135,45 @@
<div id="chart_div"></div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
function drawb() {
let r = {};
var options = {
allowHtml: true,
size: "large",
nodeClass: "node"
};
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Manager');
data.addColumn('string', 'ToolTip');
r.d = JSON.parse($('.LblJson').text());
if (r.d.length > 0) {
var formatedData = [];
for (var i = 0; i < r.d.length; i++) {
let arregloAux = [JSON.parse(r.d[i][0]), i != 0 ? r.d[i][1] : "", r.d[i][2]]//por cada registro convertimos en JSON los titulos y subtitulos(llegan en String) y damos formato al header
formatedData.push(arregloAux);
}
data.addRows(formatedData);
var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
for (let i = 0; i < data.getNumberOfRows(); i++) {
data.setRowProperty(i, 'style', "font-weight:normal");
}
chart.draw(data, options);
} else {
let contenedor = document.getElementById('chart_div');
contenedor.innerHTML = '';
console.log('vacio')
}
}
function ADSBegin() {
google.charts.load('current', { packages: ["orgchart"] });
google.charts.setOnLoadCallback(drawb);
}
</script>
</asp:Content>

View File

@@ -86,14 +86,8 @@ Partial Class RH_Organigrama
CveEmpresaFiltro = UsuarioActual.CveEmpresa
NivelOrg = If(rgx.IsMatch(txtNivel.Text), txtNivel.Text.ToEntero, NivelOrg)
txtNivel.Text = ""
DdlSupervisorOrganigrama.SelectedIndex = 0
ScriptManager.RegisterClientScriptBlock(Me, [GetType], "mykey", "drawChart()", True) 'ejecutamos la funcion de js para que haga la consulta de los registros
End Sub
'DdlSupervisorOrganigrama.SelectedIndex = 0
#End Region
<WebMethod()>
Public Shared Function FetchData() As List(Of Object)
Dim ObjRH As New ClsRH
Dim DtTemporal As New DataTable
Dim chartData As New List(Of Object)()
@@ -110,8 +104,33 @@ Partial Class RH_Organigrama
chartData.Add(New Object() {headerEmpleado, If(nombreEmpleado = nombreSuperior, "", nombreSuperior), puesto})
Next
End If
Dim str As String = (New Script.Serialization.JavaScriptSerializer()).Serialize(chartData)
LblJson.Text = str
'ScriptManager.RegisterClientScriptBlock(Me, [GetType], "mykey", "drawChart()", True) 'ejecutamos la funcion de js para que haga la consulta de los registros
End Sub
Return chartData
#End Region
<WebMethod()>
Public Shared Function FetchData() As String
Dim ObjRH As New ClsRH
Dim DtTemporal As New DataTable
Dim chartData As New List(Of Object)()
If ObjRH.GetOrganigrama(CveEmpresaFiltro, CveCabecera, NivelOrg) Then
DtTemporal = ObjRH.DtResultados.Copy
For Each renglon As DataRow In DtTemporal.Rows
Dim nombreEmpleado As String = renglon("nombreEmpleado").ToString
Dim nombreSuperior As String = renglon("nombreSuperior").ToString
Dim puesto As String = renglon("puesto").ToString
Dim headerEmpleado As String = String.Format("{{{2}v{2}:{2}{0}{2},{2}f{2}:{2}{0}<div style='color:#32A1CF;font-size:10px;font-style:italic'>{1}</div>{2}}}", nombreEmpleado, puesto, ControlChars.Quote) 'este es el JSON que da formato a los subtitulos se hace en String y la funcion lo hace JSON
chartData.Add(New Object() {headerEmpleado, If(nombreEmpleado = nombreSuperior, "", nombreSuperior), puesto})
Next
End If
Dim str As String = (New Script.Serialization.JavaScriptSerializer()).Serialize(chartData)
Return str
End Function
End Class

View File

@@ -715,7 +715,7 @@
<asp:DropDownList ID="DdlSupervisor" runat="server" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CveUsuario" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar" Width="100%">
<asp:ListItem Selected="True" Text="Sin Supervisor Asignado" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlSupervisor.ClientID.ToString()%>">Supervisor RH: </label>
<asp:Label AssociatedControlID="DdlSupervisor" runat="server" Text="Supervisor RH:"></asp:Label>
<i></i>
</div>
<div runat="server" id="DivSuperiorInmediato" class="form-group form-md-line-input input-iconright">
@@ -723,7 +723,7 @@
<asp:ListItem Selected="True" Text="Sin Asignar" Value="-1"></asp:ListItem>
<asp:ListItem Text="Cabecera" Value="0"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlSupervisor.ClientID.ToString()%>">Superior Inmediato: </label>
<asp:Label AssociatedControlID="DdlSupervisorOrganigrama" runat="server" Text="Superior Inmediato:"></asp:Label>
<i></i>
</div>
</div>
@@ -829,7 +829,7 @@
<asp:UpdatePanel ID="UpUniformesResguardo" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvUniformesResguardo" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros de uniforme" ToolTip="Listado de familiares"
<asp:GridView ID="GvUniformesResguardo" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" DataKeyNames="CveAlmacen,CodigoPS,PU,CveUM,CveMovimiento,CveMovimientoDetalle,CvePS,AplicaSeccion,AplicaSerie,CveSeccionAlmacen" ToolTip=""
CssClass="table table-hover table-advance Widthall" GridLines="None">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="CveMovimiento" Target="_blank" HeaderText="Folio" DataNavigateUrlFormatString="../Inventarios/EntradasSalidas.aspx?CveMovimiento={0}" DataTextField="Folio" />
@@ -3861,13 +3861,18 @@
<h4 class="modal-title">Liberar Uniforme</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpdatePanel3" UpdateMode="Conditional">
<asp:UpdatePanel runat="server" ID="UPPLiberarUniforme" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="width: 50%; text-align: center">
<div class="row" style="width: 75%;">
<asp:Label Text="Almacen: " runat="server" Style="width: 20%" />
<asp:DropDownList runat="server" ID="DdlAlmacenDestinoLiberarUniforme" CssClass="form-control input-sm select2me" Style="width: 50%" DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>
</div>
<div runat="server" id="divSeccionAlmacen" class="frow" visible="false">
<asp:Label Text="Sección: " runat="server" Style="width: 20%" />
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="Seccion" AppendDataBoundItems="true" DataValueField="CveSeccion" Class="form-control input-sm select2me" Style="width: 50% !important" runat="server" CausesValidation="true">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>

View File

@@ -271,6 +271,14 @@ Partial Class RH_Personal
Set(value As Integer)
ViewState("CveAlmacenUniforme") = value
End Set
End Property
Private Property CveSeccionAlmacenUniforme As Integer
Get
Return CInt(ViewState("CveSeccionAlmacenUniforme"))
End Get
Set(value As Integer)
ViewState("CveSeccionAlmacenUniforme") = value
End Set
End Property
Private Property DescripcionUniforme As String
@@ -302,7 +310,7 @@ Partial Class RH_Personal
Private Property PU As Decimal
Get
Return CInt(ViewState("PU"))
Return ViewState("PU").ToString.ToDecimal
End Get
Set(value As Decimal)
ViewState("PU") = value
@@ -5123,22 +5131,28 @@ Partial Class RH_Personal
End Sub
Protected Sub LbLiberarUniforme(sender As Object, e As System.EventArgs)
Dim lb As LinkButton = CType(sender, LinkButton)
Dim row As GridViewRow = CType(lb.NamingContainer, GridViewRow)
Dim index As Integer = row.DataItemIndex
Dim rowInfo As DataRow = UniformesInfo.Rows(index)
Dim lb As LinkButton = CType(sender, LinkButton)
Dim row As GridViewRow = CType(lb.NamingContainer, GridViewRow)
CveAlmacenUniforme = row.DataKey("CveAlmacen").ToString().ToEntero
DescripcionUniforme = row.DataKey("CodigoPS")
PU = row.DataKey("PU").ToString().ToDecimal
CveSeccionAlmacenUniforme = row.DataKey("CveSeccionAlmacen").ToString().ToEntero
CveUM = row.DataKey("CveUM").ToString().ToEntero
CvePS = row.DataKey("CvePS").ToString().ToEntero
CveMovimientoUniforme = row.DataKey("CveMovimiento").ToString().ToEntero
CveMovimientoDetalleUniforme = row.DataKey("CveMovimientoDetalle").ToString().ToEntero
If row.DataKey("AplicaSeccion").ToString = "True" Then
divSeccionAlmacen.Visible = True
DdlSeccionAlmacen.Items.Clear()
CargaSeccionesAlmacen(DdlSeccionAlmacen, DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, CvePS, UsuarioActual.CveEmpresa)
DdlSeccionAlmacen.DataSource = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, CvePS)
DdlSeccionAlmacen.DataBind()
End If
CveAlmacenUniforme = rowInfo.Item("CveAlmacen").ToString().ToEntero
DescripcionUniforme = rowInfo.Item("CodigoPS").ToString()
PU = rowInfo.Item("PU").ToString().ToDecimal
CveUM = rowInfo.Item("CveUM").ToString().ToEntero
CvePS = rowInfo.Item("CvePS").ToString().ToEntero
CveMovimientoUniforme = rowInfo.Item("CveMovimiento").ToString().ToEntero
CveMovimientoDetalleUniforme = rowInfo.Item("CveMovimientoDetalle").ToString().ToEntero
UPPLiberarUniforme.Update()
RegistraScript(String.Format("$('#{0}').modal();", "ModalUniforme"))
End Sub
@@ -5151,20 +5165,25 @@ Partial Class RH_Personal
Sub LiberarUniforme(sender As Object, e As EventArgs)
Dim ObjInv As New ClsInventarios
Dim ObjInventario As New ClsInventarios
ObjInventario.IniciaTransacSQL()
Dim ResultadoSalida As Integer = ObjInv.AddMovimiento(CveAlmacenUniforme, 3, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=CInt(DdlAlmacenDestinoLiberarUniforme.SelectedValue), CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme)
Dim ResultadoEntrada As Integer = ObjInv.AddMovimiento(CInt(DdlAlmacenDestinoLiberarUniforme.SelectedValue), 2, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme, CveMovimientoRelacionado:=CveMovimientoUniforme)
Dim ResultadoDetalleSalida As Boolean = ObjInv.AddMovimientoDetalle(ResultadoSalida, 1.0, CveUM, CvePS, PU, -1, CveMovimientoDetalleEntrada:=CveMovimientoDetalleUniforme)
Dim ResultadoDetalleEntrada As Boolean = ObjInv.AddMovimientoDetalle(ResultadoEntrada, 1.0, CveUM, CvePS, PU, -1)
Dim CveResultadoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenUniforme, 3, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme)
Dim ResultadoDetalleSalida As Boolean = ObjInventario.AddMovimientoDetalle(CveResultadoSalida, 1.0, CveUM, CvePS, PU, CveSeccionAlmacen:=CveSeccionAlmacenUniforme, CveMovimientoDetalleEntrada:=CveMovimientoDetalleUniforme)
Dim CveSeccionAlmacen As Integer = DdlSeccionAlmacen.SelectedValue.ToEntero
Dim CveResultadoEntrada As Integer = ObjInventario.AddMovimiento(DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, 2, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme, CveMovimientoRelacionado:=CveMovimientoUniforme)
Dim ResultadoDetalleEntrada As Boolean = ObjInventario.AddMovimientoDetalle(CveResultadoEntrada, 1.0, CveUM, CvePS, PU, CveSeccionAlmacen:=CveSeccionAlmacen)
If ResultadoDetalleSalida And ResultadoDetalleEntrada Then
ObjInventario.Commit()
Alert("Uniforme liberado")
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalUniforme"))
CargaUniformesPersonal()
CargaUniformesPersonal()
Else
Alert("No se pudo registrar la liberación.", TipoMensaje.MsgError)
ObjInventario.RollBack()
End If
ObjInv.Dispose()
ObjInventario.Dispose()
End Sub
@@ -5173,7 +5192,7 @@ Partial Class RH_Personal
#Region "CARGAR IMAGEN"
Private Sub LnkSubirFacturas_Click(sender As Object, e As EventArgs) Handles LnkSubirFacturas.Click
RegistraScript(String.Format("$('#{0}').modal();", "ModalArchvivo"))
RegistraScript(String.Format("$('#{0}').modal();", "ModalArchivo"))
End Sub
Private Sub BtnGuardarArchivo_Click(sender As Object, e As EventArgs) Handles BtnGuardarArchivo.Click