Compras Biatico Comprobacion Clasificaiones

This commit is contained in:
Rakcsle Supertramp
2020-04-29 11:59:20 -07:00
parent 8e14c92122
commit a2b5f31f4c
3 changed files with 214 additions and 11 deletions

View File

@@ -137,6 +137,24 @@ Public Class ClsClasificaciones
Return Retorno Return Retorno
End Function End Function
Public Function GetClasificacionesComprobaciones(CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_ClasificacionesComprobacionesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As SqlException
OnError("Ocurrió un error al consultar las Clasificaciones de comprobaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetClasificacionesSubProyectos(Optional CveEmpresa As Integer = -1, Optional Tipo As Integer = 1) As Boolean Public Function GetClasificacionesSubProyectos(Optional CveEmpresa As Integer = -1, Optional Tipo As Integer = 1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -365,7 +365,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
Dim i As Integer = 0 Dim i As Integer = 0
While i < objInv.DtResultados.Columns.Count While i < objInv.DtResultados.Columns.Count
If Not objInv.DtResultados.Columns(i).ColumnName.Contiene("CvePS", "PSCodigo", "PSCodigoClasificacion") AndAlso objInv.DtResultados.SUM(String.Format("[{0}]", objInv.DtResultados.Columns(i).ColumnName)) = 0 Then If Not objInv.DtResultados.Columns(i).ColumnName.Contiene("CvePS", "PSCodigo", "PSCodigoClasificacion", "CveClasificacion") AndAlso objInv.DtResultados.SUM(String.Format("[{0}]", objInv.DtResultados.Columns(i).ColumnName)) = 0 Then
objInv.DtResultados.Columns.RemoveAt(i) objInv.DtResultados.Columns.RemoveAt(i)
Else Else
i = i + 1 i = i + 1
@@ -460,8 +460,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
'Try, generado para cuando el resultado no tiene valores(The source contains no DataRows.), no detenga la ejecucion, no se le puso un count previo, porque el costo se duplica, al preguntar y luego ordenar y convertir a datatable 'Try, generado para cuando el resultado no tiene valores(The source contains no DataRows.), no detenga la ejecucion, no se le puso un count previo, porque el costo se duplica, al preguntar y luego ordenar y convertir a datatable
Try Try
DtPSRetorno = New DataView(DTPS.OrderBy(Function(a) a!PSCodigo).CopyToDataTable).ToTable(True, {"CvePS", "PSCodigo", "PSCodigoClasificacion"}) DtPSRetorno = New DataView(DTPS.OrderBy(Function(a) a!PSCodigo).CopyToDataTable).ToTable(True, {"CvePS", "PSCodigo", "PSCodigoClasificacion", "CveClasificacion"})
Catch ex As Exception Catch ex As Exception
DtPSRetorno = Nothing DtPSRetorno = Nothing
End Try End Try
@@ -469,7 +468,61 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
End If End If
DTPS = Nothing DTPS = Nothing
End If End If
If (usuario.TienePermisoProceso(300) Or usuario.TienePermisoProceso(301)) And (DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Rows.Count > 0) Then
Dim ObjClasificaciones As New ClsClasificaciones()
Dim DTClasificacionesComprobaciones As DataTable
Dim DTTmp As DataTable = DtPSRetorno.Clone
If ObjClasificaciones.GetClasificacionesComprobaciones(usuario.CveEmpresa) Then
If usuario.TienePermisoProceso(300) And usuario.TienePermisoProceso(301) Then
DTClasificacionesComprobaciones = ObjClasificaciones.DtResultados
ElseIf usuario.TienePermisoProceso(300) Then 'TipoComprobacion 1 Biaticos
DTClasificacionesComprobaciones = ObjClasificaciones.DtResultados.FiltraParametros("TipoComprobacion = 1")
Else 'TipoComprobacion 2 Compreobacines
DTClasificacionesComprobaciones = ObjClasificaciones.DtResultados.FiltraParametros("TipoComprobacion = 2")
End If
For Each pRow As DataRow In DtPSRetorno.Rows
For Each drow As DataRow In DTClasificacionesComprobaciones.Rows
If pRow("CveClasificacion").ToString.ToEntero = drow("CveClasificacion").ToString.ToEntero Then
Dim nRow As DataRow = DTTmp.NewRow
nRow("CvePS") = pRow("CvePS")
nRow("PSCodigo") = pRow("PSCodigo")
nRow("PSCodigoClasificacion") = pRow("PSCodigoClasificacion")
nRow("CveClasificacion") = pRow("CveClasificacion")
DTTmp.Rows.Add(nRow)
End If
Next
Next
DtPSRetorno = DTTmp.Copy
Else
'no regresar datos herror al consultar
DtPSRetorno.Clear()
End If
End If
If DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Rows.Count > 0 Then If DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Rows.Count > 0 Then
DtPSRetorno.Columns("CvePS").ColumnName = "id" DtPSRetorno.Columns("CvePS").ColumnName = "id"
DtPSRetorno.Columns(PSCodigoDescripcion).ColumnName = "text" DtPSRetorno.Columns(PSCodigoDescripcion).ColumnName = "text"
If PSCodigoDescripcion = "PSCodigo" Then If PSCodigoDescripcion = "PSCodigo" Then
@@ -477,8 +530,10 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
Else Else
DtPSRetorno.Columns().Remove("PSCodigo") DtPSRetorno.Columns().Remove("PSCodigo")
End If End If
retorno = JsonConvert.SerializeObject(DtPSRetorno).ToString retorno = JsonConvert.SerializeObject(DtPSRetorno).ToString
context.Response.Write(retorno) context.Response.Write(retorno)
Else Else
context.Response.Write("[]") context.Response.Write("[]")
End If End If

View File

@@ -1008,6 +1008,7 @@ Partial Class Compras_Compras
ViewState("CveFlete") = value ViewState("CveFlete") = value
End Set End Set
End Property End Property
Private Property FleteImportacionOpcion As Integer Private Property FleteImportacionOpcion As Integer
Get Get
Return IfNull(ViewState("FleteImportacionOpcion"), -1).ToString.ToEntero Return IfNull(ViewState("FleteImportacionOpcion"), -1).ToString.ToEntero
@@ -1017,6 +1018,22 @@ Partial Class Compras_Compras
End Set End Set
End Property End Property
Private Property DTClasificacionesComprobaciones As DataTable
Get
If ViewState("DTClasificacionesComprobaciones") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTClasificacionesComprobaciones"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTClasificacionesComprobaciones") = value
End Set
End Property
#End Region #End Region
#Region " PROPIEDADES DE TOTALES " #Region " PROPIEDADES DE TOTALES "
@@ -1603,6 +1620,10 @@ Partial Class Compras_Compras
InicializaDevolucionAlmacen() InicializaDevolucionAlmacen()
HabilitaEdicionManualAgregar() HabilitaEdicionManualAgregar()
InicializaActualizarTC() InicializaActualizarTC()
End If End If
@@ -3412,6 +3433,7 @@ Partial Class Compras_Compras
End Function End Function
Private Sub CargaPSAlias() Private Sub CargaPSAlias()
DdlPSAlias2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") DdlPSAlias2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.CveEmpresa = 66 Then If UsuarioActual.CveEmpresa = 66 Then
@@ -3424,9 +3446,39 @@ Partial Class Compras_Compras
DdlPSAlias2.ddlWS.Attributes.Add("data-pagina", "Compras2") DdlPSAlias2.ddlWS.Attributes.Add("data-pagina", "Compras2")
End If End If
End If End If
If Not DdlPSAlias2.UsaWebService AndAlso CType(DdlPSAlias2.DataSource, DataTable) Is Nothing Then If Not DdlPSAlias2.UsaWebService AndAlso CType(DdlPSAlias2.DataSource, DataTable) Is Nothing Then
DdlPSAlias2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPSAlias2.DataBind() If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
Dim DTTemp As New DataTable
DTTemp.Columns.Add("CvePS", GetType(Integer))
DTTemp.Columns.Add("PSCodigoClasificacion", GetType(String))
For Each dRow As DataRow In GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).Rows
For Each drowCla As DataRow In DTClasificacionesComprobaciones.Rows
If drowCla("CveClasificacion").ToString.ToEntero = dRow("CveClasificacion").ToString.ToEntero Then
Dim InRow As DataRow = DTTemp.NewRow
InRow("CvePS") = dRow("CvePS").ToString.ToEntero
InRow("PSCodigoClasificacion") = dRow("PSCodigoClasificacion").ToString
DTTemp.Rows.Add(InRow)
End If
Next
Next
DdlPSAlias2.DataSource = DTTemp
DdlPSAlias2.DataBind()
Else
DdlPSAlias2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPSAlias2.DataBind()
End If
End If End If
End Sub End Sub
@@ -3763,6 +3815,37 @@ Partial Class Compras_Compras
'DtPSTemp.Dispose() 'DtPSTemp.Dispose()
End Sub End Sub
Private Sub CargaClasificacionesComprobaciones()
If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
Dim ObjClasificaciones As New ClsClasificaciones()
If ObjClasificaciones.GetClasificacionesComprobaciones(UsuarioActual.CveEmpresa) Then
If UsuarioActual.TienePermisoProceso(300) And UsuarioActual.TienePermisoProceso(301) Then
DTClasificacionesComprobaciones = ObjClasificaciones.DtResultados
Else
If UsuarioActual.TienePermisoProceso(300) Then 'TipoComprobacion = 1 Biaticos
DTClasificacionesComprobaciones = ObjClasificaciones.DtResultados.FiltraParametros("TipoComprobacion = 1")
ElseIf UsuarioActual.TienePermisoProceso(301) Then 'TipoComprobacion = 2 Comprobaciones
DTClasificacionesComprobaciones = ObjClasificaciones.DtResultados.FiltraParametros("TipoComprobacion = 2")
End If
End If
End If
ObjClasificaciones.Dispose()
End If
End Sub
#End Region #End Region
#Region "Vinculacion De Servcios" #Region "Vinculacion De Servcios"
@@ -11165,6 +11248,7 @@ Partial Class Compras_Compras
'CargaEstatus() 'CargaEstatus()
CargaTiposAF() CargaTiposAF()
CargaProyectoAsignado() CargaProyectoAsignado()
CargaClasificacionesComprobaciones()
CargaClasificaciones() CargaClasificaciones()
CargaPS(-1) CargaPS(-1)
CargaProyecto() CargaProyecto()
@@ -17134,6 +17218,7 @@ Partial Class Compras_Compras
UPPClasificacion.Update() UPPClasificacion.Update()
End Sub End Sub
Private Sub CargaPS(CveClasificacion As Integer) Private Sub CargaPS(CveClasificacion As Integer)
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
@@ -17142,7 +17227,41 @@ Partial Class Compras_Compras
DdlPS.SelectedValue = "-1" DdlPS.SelectedValue = "-1"
Else Else
DdlPS.ddl.Items.Clear() DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion)
'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion)
If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
Dim DTTemp As New DataTable
DTTemp.Columns.Add("CvePS", GetType(Integer))
DTTemp.Columns.Add("PSCodigo", GetType(String))
DTTemp.Columns.Add("CveClasificacion", GetType(Integer))
For Each dRow As DataRow In GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).Rows
For Each drowCla As DataRow In DTClasificacionesComprobaciones.Rows
If drowCla("CveClasificacion").ToString.ToEntero = dRow("CveClasificacion").ToString.ToEntero Then
Dim InRow As DataRow = DTTemp.NewRow
InRow("CvePS") = dRow("CvePS").ToString.ToEntero
InRow("PSCodigo") = dRow("PSCodigo").ToString
InRow("CveClasificacion") = dRow("CveClasificacion").ToString.ToEntero
DTTemp.Rows.Add(InRow)
End If
Next
Next
DdlPS.DataSource = If(CveClasificacion > 0, DTTemp.FiltraParametros($"CveClasificacion = {CveClasificacion}"), DTTemp)
Else
DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
End If
DdlPS.ddl.DataBind() DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
End If End If
@@ -17670,13 +17789,24 @@ Partial Class Compras_Compras
#Region " RECLASIFICA PARTIDAS - CLASIFICACION - SUBPROYECTO " #Region " RECLASIFICA PARTIDAS - CLASIFICACION - SUBPROYECTO "
Private Sub CargaClasificaciones() Private Sub CargaClasificaciones()
If UsuarioActual.Empresa.UsaAC Then If UsuarioActual.Empresa.UsaAC Then
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlAplicaClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") DdlAplicaClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
Else Else
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion") DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
DdlAplicaClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion") DdlAplicaClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
DdlClasificacion.DataSource = DTClasificacionesComprobaciones.FiltraParametros("", Orderby:="Clasificacion")
DdlAplicaClasificacion.DataSource = DTClasificacionesComprobaciones.FiltraParametros("", Orderby:="Clasificacion")
End If
End If End If
DdlClasificacion.DataBind() DdlClasificacion.DataBind()
DdlAplicaClasificacion.DataBind() DdlAplicaClasificacion.DataBind()
End Sub End Sub