diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index aeab054b8..8f973e376 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -134,6 +134,7 @@ Public Class ClsBancos Public Property TieneTerminal As Boolean Public Property CveCuentaPadre As Integer Public Property CveSubProyecto As Integer + Public Property NumeroSucursal As String #End Region @@ -420,6 +421,7 @@ Public Class ClsBancos Me.TieneTerminal = If(Data.Rows(0)("TieneTerminal").ToString = "True", True, False) Me.CveCuentaPadre = Data.Rows(0)("CveCuentaPadre").ToString.ToEntero Me.CveSubProyecto = Data.Rows(0)("CveSubProyecto").ToString.ToEntero + Me.NumeroSucursal = Data.Rows(0)("NumeroSucursal").ToString End If @@ -454,7 +456,7 @@ Public Class ClsBancos Public Function AddBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, LimiteCredito As Double, FormatoCheque As String, CveUsuario As Integer, CveEmpresa As Integer, ConvenioPagoElectronico As String, UsaLayout As Boolean, UsaTarjeta As Boolean, Optional SaldoInicial As Double = 0, Optional UsaLayoutGrupos As Boolean = False, Optional TieneTerminal As Boolean = False, - Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1) As Boolean + Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_BancosCuentasAdd") @@ -482,6 +484,7 @@ Public Class ClsBancos .Add("@TieneTerminal", SqlDbType.Bit).Value = TieneTerminal .Add("@CveCuentaPadre", SqlDbType.Int).Value = CveCuentaPadre .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@NumeroSucursal", SqlDbType.VarChar).Value = NumeroSucursal End With @@ -505,7 +508,7 @@ Public Class ClsBancos Public Function UpdateBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, LimiteCredito As Double, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String, UsaLayout As Boolean, UsaTarjeta As Boolean, Optional UsaLayoutGrupos As Boolean = False, Optional TieneTerminal As Boolean = False, - Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1) As Boolean + Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_BancosCuentasUpdate") @@ -531,6 +534,7 @@ Public Class ClsBancos .Add("@TieneTerminal", SqlDbType.Bit).Value = TieneTerminal .Add("@CveCuentaPadre", SqlDbType.Int).Value = CveCuentaPadre .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@NumeroSucursal", SqlDbType.VarChar).Value = NumeroSucursal End With diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index 10be3c7d4..a2491dbad 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -574,7 +574,7 @@ Public Class ClsCompras DataAdapter("PA_Comp_CompraDetalleRemove") - + SqlAdapter.SelectCommand.CommandTimeout = 0 With SqlAdapter.SelectCommand.Parameters .Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle End With diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index dced0eeca..2f8a91298 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -117,7 +117,9 @@ Public Class ClsMovimientos #Region "CxC" - Public Function GetCxCClienteDetalle(CveCliente As Integer, FechaI As String, FechaF As String, CveMoneda As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, CveClienteSucursal As Integer, Optional TipoDocto As String = "-1", Optional FechaCorte As Date = MaxFecha, Optional FechaVencimientoI As Date = MinFecha, Optional FechaVencimientoF As Date = MaxFecha) As Boolean + Public Function GetCxCClienteDetalle(CveCliente As Integer, FechaI As String, FechaF As String, CveMoneda As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, CveClienteSucursal As Integer, Optional TipoDocto As String = "-1", + Optional FechaCorte As Date = MaxFecha, Optional FechaVencimientoI As Date = MinFecha, Optional FechaVencimientoF As Date = MaxFecha, Optional Opcion As Integer = 1, Optional SaldoMayorA As Decimal = -999999999999, + Optional SaldoMenorA As Decimal = 999999999999) As Boolean Dim Retorno As Boolean = False FechaCorte = IIf(FechaCorte = Nothing, ClsPaginas.NowADS().AddYears(1), FechaCorte).ToString.ToDate @@ -135,6 +137,9 @@ Public Class ClsMovimientos .Add("@FechaCorte", SqlDbType.Date).Value = FechaCorte .Add("@FechaVencimientoI", SqlDbType.Date).Value = FechaVencimientoI .Add("@FechaVencimientoF", SqlDbType.Date).Value = FechaVencimientoF + .Add("@Opcion", SqlDbType.Int).Value = Opcion + .Add("@SaldoMayorA", SqlDbType.Money).Value = SaldoMayorA + .Add("@SaldoMenorA", SqlDbType.Money).Value = SaldoMenorA End With Try @@ -604,7 +609,8 @@ Public Class ClsMovimientos 'CveAplicaNC Public Function GetCxPProveedor(CveProveedor As Integer, FechaI As String, FechaF As String, CveUsuarioProgramo As Integer, CveUsuarioRegistro As Integer, CveUsuarioResponsable As Integer, CveClasificacionProveedor As Integer, CveMoneda As Integer, CveEstatus As Integer, CveProveedorSucursal As Integer, CveAplicaNC As Integer, - Optional FechaVI As String = "-1", Optional FechaVF As String = "-1", Optional CodigoProgramacion As String = "-1", Optional CveSubProyecto As Integer = -1) As Boolean + Optional FechaVI As String = "-1", Optional FechaVF As String = "-1", Optional CodigoProgramacion As String = "-1", Optional CveSubProyecto As Integer = -1, Optional Opcion As Integer = 1, + Optional CveEmpresa As Integer = -1, Optional SaldoMayorA As Decimal = -999999999999, Optional SaldoMenorA As Decimal = 999999999999) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Comp_ProveedorCxP") With SqlAdapter.SelectCommand.Parameters @@ -623,7 +629,10 @@ Public Class ClsMovimientos .Add("@FechaVF", SqlDbType.VarChar).Value = FechaVF .Add("@CodigoProgramacion", SqlDbType.VarChar).Value = CodigoProgramacion .Add("@CveSubProyecto", SqlDbType.SmallInt).Value = CveSubProyecto - + .Add("@Opcion", SqlDbType.SmallInt).Value = Opcion + .Add("@CveEmpresaOp", SqlDbType.SmallInt).Value = CveEmpresa + .Add("@SaldoMayorA", SqlDbType.Money).Value = SaldoMayorA + .Add("@SaldoMenorA", SqlDbType.Money).Value = SaldoMenorA End With diff --git a/App_Code/ClsOS.vb b/App_Code/ClsOS.vb index 723c9861d..d6af2b03d 100644 --- a/App_Code/ClsOS.vb +++ b/App_Code/ClsOS.vb @@ -517,7 +517,8 @@ Public Class ClsOS Public Function GetRepOrdenesServicioMedicasRep(FechaI As Date, FechaF As Date, CveCliente As Integer, CveVendedor As Integer, CveEstatusOrdenServicio As Integer, CveUsuarioAtendio As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, - Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveEspecialidad As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional CveUsuario As Integer = -1) As Boolean + Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveEspecialidad As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional CveUsuario As Integer = -1, + Optional CveTipoVenta As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_OrdenesServiciosMedicasRepGet") @@ -537,7 +538,7 @@ Public Class ClsOS .Add("@CveEspecialidad", SqlDbType.Int).Value = CveEspecialidad .Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - + .Add("@CveTipoVenta", SqlDbType.Int).Value = CveTipoVenta End With Try diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 1f67f7ea8..4ebbbfb54 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -60,6 +60,62 @@ Public Class ClsPaginas End If End Get End Property + Public Shared ReadOnly Property GlobalGrupoEmpresa(Dominio As String) As String + Get + Dim Retorno As String = "" + Dominio = Dominio.ToUpper + If Dominio.Contains("EMD".ToUpper()) Then Retorno = "EMD" + If Dominio.Contains("BDH".ToUpper()) Then Retorno = "BDH" + If Dominio.Contains("ECONOLLANTAS".ToUpper()) Then Retorno = "ECONOLLANTAS" + If Dominio.Contains("JAM".ToUpper()) Then Retorno = "JAM" + If Dominio.Contains("CITRUS".ToUpper()) Then Retorno = "CITRUS" + If Dominio.Contains("KINO".ToUpper()) Then Retorno = "KINO" + If Dominio.Contains("VSH".ToUpper()) Then Retorno = "VSH" + If Dominio.Contains("AJAM".ToUpper()) Then Retorno = "AJAM" + If Dominio.Contains("ALATEL".ToUpper()) Then Retorno = "ALATEL" + If Dominio.Contains("SERVEC".ToUpper()) Then Retorno = "SERVEC" + If Dominio.Contains("SMS".ToUpper()) Then Retorno = "SMS" + If Dominio.Contains("VYA".ToUpper()) Then Retorno = "VYA" + If Dominio.Contains("GRUPODIAZ".ToUpper()) Then Retorno = "GRUPODIAZ" + If Dominio.Contains("FERRETERA".ToUpper()) Then Retorno = "FERRETERA" + Return Retorno + End Get + End Property + + Public Shared ReadOnly Property GlobalNombreCadenaConexionDominio(Dominio As String) As String + Get + Dim Retorno As String = "Conexion" + Dominio = Dominio.ToUpper + 'If Dominio.Contains("EMD".ToUpper()) Then Retorno = "EMD" + 'If Dominio.Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH" + If Dominio.Contains("ECONOLLANTAS".ToUpper()) Then Retorno = "ConexionEcono" + 'If Dominio.Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM" + 'If Dominio.Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS" + 'If Dominio.Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO" + 'If Dominio.Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH" + 'If Dominio.Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM" + 'If Dominio.Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL" + 'If Dominio.Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC" + 'If Dominio.Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS" + 'If Dominio.Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA" + 'If Dominio.Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ" : NombreCadena = "ConexionGDiaz" + 'If Dominio.Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA" + Return Retorno + End Get + End Property + + Public Shared ReadOnly Property GlobalNombreCadenaConexion(CveEmpresa As Integer) As String + Get + Dim Retorno As String = "Conexion" + Select Case CveEmpresa + Case 141, 152, 159, 160, 161, 162, 163, 166 + Retorno = "ConexionEcono" + End Select + + Return Retorno + End Get + End Property + Public Shared ReadOnly Property UrlDirecciones As String Get If IsNothing(System.Configuration.ConfigurationManager.AppSettings("UrlDirecciones")) Then @@ -2288,6 +2344,31 @@ Public Class ClsPaginas HttpContext.Current.Application(AppNombre) = value End Set End Property + + Public Shared Property GlobalDTClientesTodosSucursales(CveEmpresa As Integer, Optional CveCliente As Integer = -1) As DataTable + Get + Dim AppNombre As String = $"GlobalDTClientesTodosSucursales-{CveEmpresa}" + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Dim ObjClientes As New ClsClientes + If ObjClientes.GetClienteSucursales(-1, CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjClientes.DtResultados.Copy() + ObjClientes.Dispose() + End If + Dim filtros As New List(Of String) + + If CveCliente >= 0 Then filtros.Add($"CveCliente = {CveCliente}") + If filtros.Count > 0 Then + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), String.Join(" AND ", filtros), "", DataViewRowState.CurrentRows) + GlobalDTClientesTodosSucursales = Dv.ToTable + Dv.Dispose() + Else + GlobalDTClientesTodosSucursales = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) + End If + End Get + Set(value As DataTable) + Dim AppNombre As String = $"GlobalDTClientesTodosSucursales-{CveEmpresa}" + HttpContext.Current.Application(AppNombre) = value + End Set + End Property Public Shared Property GlobalDTEstatusOrdenServicios(CveEmpresa As Integer) As DataTable Get Dim AppNombre As String = $"GlobalDTEstatusOrdenServicios-{CveEmpresa}" @@ -5426,12 +5507,12 @@ Public Class ClsPaginas bytes = bytes Response.Buffer = True Response.Clear() + Response.ClearHeaders() If Formato = "PDF" Then Response.ContentType = "application/pdf" Else Response.ContentType = mimeType End If - Response.ClearHeaders() Dim fileExtension As String = "" If Not String.IsNullOrEmpty(Extension) Then fileExtension = Extension @@ -9995,7 +10076,6 @@ Public Class ClsPaginas PaginaDict.Add("/Contabilidad/RepIVADiferencias.aspx".ToUpper(), 127) PaginaDict.Add("/Contabilidad/PolizasImpresion.aspx".ToUpper(), 380) PaginaDict.Add("/Contabilidad/RegPrePolizaS.aspx".ToUpper(), 398) - PaginaDict.Add("/Contabilidad/RegPrePoliza.aspx".ToUpper(), 398) PaginaDict.Add("/Contabilidad/DescargaRespaldos.aspx".ToUpper(), 400) PaginaDict.Add("/Contabilidad/CatEjercicios.aspx".ToUpper(), 570) PaginaDict.Add("/Contabilidad/AnalisisVertical.aspx".ToUpper(), 416) @@ -10348,7 +10428,7 @@ Public Class ClsPaginas PaginaDict.Add("/OS/CatEstatusOrdenServicio.aspx".ToUpper(), 99) PaginaDict.Add("/OS/PopUpBuscarCuentasEquipos.aspx".ToUpper(), 100) PaginaDict.Add("/OS/PopUpCuentasEquipos.aspx".ToUpper(), -1) - 'PaginaDict.Add("/OS/CatSubTiposOrdenesServicios.aspx".ToUpper(), 101) + PaginaDict.Add("/OS/RepServiciosMedicos.aspx".ToUpper(), 178) 'PaginaDict.Add("/OS/CatCaracteristicasOrdenServicio.aspx".ToUpper(), 131) 'PaginaDict.Add("/OS/CatOSCaracteristicasOpciones.aspx".ToUpper(), 132) PaginaDict.Add("/OS/RepOrdenesServicios.aspx".ToUpper(), 134) @@ -10650,6 +10730,7 @@ Public Class ClsPaginas PaginaDict.Add("/Ventas/RepCostoPromedioVenta.aspx".ToUpper(), 532) PaginaDict.Add("/Ventas/RepVentasNetasResumen.aspx".ToUpper(), 533) PaginaDict.Add("/Ventas/RepTopVentas.aspx".ToUpper(), -1) + PaginaDict.Add("/Ventas/RepPedidosSTF.aspx".ToUpper(), 344) PaginaDict.Add("/Ventas/RepSolicitudesCancelacion.aspx".ToUpper(), -1) PaginaDict.Add("/Ventas/RepCanceladasPendientes.aspx".ToUpper(), -1) PaginaDict.Add("/Ventas/RepCancelacionesPorAtender.aspx".ToUpper(), 750) diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 10d97f41f..912ed24d9 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -1594,6 +1594,7 @@ Public Class ClsRH End Property Public Property TipoSangre As String + Public Property CodigoDispersionVale As String = "" #End Region #Region "Personal" @@ -1753,6 +1754,7 @@ Public Class ClsRH CveSubproyectoZona = -1 End If + Me.CodigoDispersionVale = Data.Rows(0)("CodigoDispersionVale").ToString End If Retorno = True @@ -1979,7 +1981,8 @@ Public Class ClsRH NombrePadre As String, NombreMadre As String, CveSATBanco As Integer, CveSATRiesgoPuesto As Integer, CveSATRegimenContratacion As Integer, CveClienteAsignado As Integer, CveSubProyecto As Integer, URL As String, CveSupervisor As Integer, CLABE As String, BancoNumCuenta As String, CveJornada As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveUsuarioNomina As Integer, Beneficiario As String, Optional CveSubProyectoZona As Integer = Nothing, Optional CveUniforme As Integer = -1, Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Boolean = False, Optional CvePais As Integer = -1, - Optional Pensionado As Boolean = False, Optional CveMedioTransporte As Integer = -1, Optional CveRegistroPatronal As Integer = -1, Optional CveEmpresaAsignado As Integer = -1, Optional CveTipoTrabajador As Integer = -1, Optional NetoPeriodo As Decimal = -1, Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "A") As Boolean + Optional Pensionado As Boolean = False, Optional CveMedioTransporte As Integer = -1, Optional CveRegistroPatronal As Integer = -1, Optional CveEmpresaAsignado As Integer = -1, Optional CveTipoTrabajador As Integer = -1, Optional NetoPeriodo As Decimal = -1, + Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "A", Optional CodigoDispersionVale As String = "-1") As Boolean Dim Retorno As Boolean = False Dim noguardoXcurp As Boolean = False @@ -2070,6 +2073,8 @@ Public Class ClsRH .Add("@TipoSangre", SqlDbType.VarChar).Value = TipoSangre .Add("@AreaGeografica", SqlDbType.VarChar).Value = AreaGeografica .Add("@CveSubTipoPeriodo", SqlDbType.Int).Value = CveSubTipoPeriodo + .Add("@CodigoDispersionVale", SqlDbType.VarChar).Value = CodigoDispersionVale + '.Add("@ErrorMostrarADS", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output .Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue @@ -2133,7 +2138,7 @@ Public Class ClsRH Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveUsuarioModifico As Integer = -1, Optional FechaActivo As Date = MinFecha, Optional FechaReingreso As Date = MinFecha, Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Integer = -1, Optional CvePais As Integer = -1, Optional Pensionado As Boolean = False, Optional CveRegistroPatronal As Integer = -1, Optional CveEmpresaAsignado As Integer = -1, Optional CveMedioTransporte As Integer = -1, Optional EsReserva As Integer = -1, Optional Fiscalizable As Integer = -1, Optional CveTipoTrabajador As Integer = -1, Optional NetoPeriodo As Decimal = -1, - Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "") As Boolean + Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "", Optional CodigoDispersionVale As String = "-1") As Boolean Dim Retorno As Boolean = False @@ -2231,7 +2236,7 @@ Public Class ClsRH .Add("@AreaGeografica", SqlDbType.VarChar).Value = AreaGeografica .Add("@CveSubTipoPeriodo", SqlDbType.Int).Value = CveSubTipoPeriodo - + .Add("@CodigoDispersionVale", SqlDbType.VarChar).Value = CodigoDispersionVale End With Try diff --git a/App_Code/ClsSisEmpresas.vb b/App_Code/ClsSisEmpresas.vb index a417989b0..2d35a0c3d 100644 --- a/App_Code/ClsSisEmpresas.vb +++ b/App_Code/ClsSisEmpresas.vb @@ -204,11 +204,11 @@ Public Class ClsSisEmpresas 'Public Property PwdContPAQi As String #End Region - Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional NombreCadena As String = "Conexion") + Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional UsuarioActual As Usuario = Nothing) If TransaccionCompartida Is Nothing Then SqlConexion = New SqlConnection - SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString + SqlConexion.ConnectionString = If(UsuarioActual IsNot Nothing, UsuarioActual.RutaDB, ClsPaginas.UsuarioActualRutaDB) Try SqlConexion.Open() Catch ex As Exception diff --git a/App_Code/ClsSisNotificaciones.vb b/App_Code/ClsSisNotificaciones.vb index 91485aa7d..082e9a966 100644 --- a/App_Code/ClsSisNotificaciones.vb +++ b/App_Code/ClsSisNotificaciones.vb @@ -248,18 +248,16 @@ Public Class ClsSisNotificaciones #Region "V A L I D A - U S U A R I O" Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario - Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(100) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, IMEI, CveEmpresa) - UsuarioActual.CveEmpresa = CveEmpresa - CreaObjetoEmpresa(UsuarioActual) - End If - End If - ObjUsuarios.Dispose() + Dim UsuarioActual As Usuario = Nothing + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + CreaObjetoEmpresa(UsuarioActual) + End If + ObjUsuarios.Dispose() + Return UsuarioActual End Function Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) diff --git a/App_Code/ClsSisUsuarioAutenticacion.vb b/App_Code/ClsSisUsuarioAutenticacion.vb new file mode 100644 index 000000000..7491db69c --- /dev/null +++ b/App_Code/ClsSisUsuarioAutenticacion.vb @@ -0,0 +1,564 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports System.Data.SqlClient +Imports Extensiones +Public Class ClsSisUsuarioAutenticacion + Implements IDisposable + + +#Region "Campos" + + 'SQL + Private SqlConexion As SqlConnection + Private SqlAdapter As SqlDataAdapter + Private SqlTransacc As SqlTransaction + Private SqlCommand As SqlCommand + Private Data As DataTable + + 'Atributos de la clase + + Private disposedValue As Boolean = False ' Para detectar llamadas redundantes + 'PARA REGISTRAR CONEXION + Private CveConexion As Integer = 0 + Private ConnStr As String = "" + +#End Region + +#Region "Propiedades" + + Public ReadOnly Property DtResultados() As DataTable + Get + DtResultados = Data + End Get + End Property + + + Public Property CveUsuario As Integer + Public Property Usuario As String + Public Property Nombre As String + Public Property CveRol As Integer + Public Property Correo As String + Public Property CveSupervisa As Integer + Public Property CveAutoriza As Integer + Public Property CveEmpresa As Integer + Public Property CveAlmacen As Integer + Public Property CveEmpresaPredeterminada As Integer + Public Property CvePersonal As Integer + Public Property CveVendedor As Integer + Public Property CveTipoDocumento As String + Public Property Estado As Boolean + Public Property Fecha As DateTime + Public Property Registro As Integer + Public Property UsuarioCreo As String + Public Property Contraseña As String + Public Property EsLogIn As Integer + Public Property FechaUltimoAcceso As Date + Public Property FechaUltimoCambioContraseña As Date + Public Property PolCambiarContraseña As Boolean + Public Property TipoControl As Integer + Public Property CveSubProyecto As Integer + Public Property AsignarAutomaticamenteSubProyecto As Boolean + Public Property AsignarAutomaticamenteOC As Boolean + Public Property DescuentoAutorizado As Double +#End Region + + Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional NombreCadena As String = "Conexion") + + If TransaccionCompartida Is Nothing Then + SqlConexion = New SqlConnection + SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString + ConnStr = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString + Try + SqlConexion.Open() + Catch ex As Exception + OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) + End Try + Else + SqlConexion = TransaccionCompartida.Connection + SqlTransacc = TransaccionCompartida + End If + + SqlCommand = New SqlCommand("", SqlConexion) + SqlAdapter = New SqlDataAdapter("", SqlConexion) + ConexionAdd() + End Sub + Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) + With SqlAdapter.SelectCommand + .Parameters.Clear() + .CommandText = StrSQL + .CommandType = TipoComando + End With + If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc + Data = New DataTable + End Sub +#Region "Conexiones" + + Private Sub ConexionAdd() + If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + + Try + 'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo + DataAdapter("PA_Sis_RegistrarConexion") + With SqlAdapter.SelectCommand.Parameters + .Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name + .Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString) + .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output + End With + SqlAdapter.Fill(Data) + CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + End If + End Sub + + Private Sub ConexionClose() + If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + + DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text) + Try + SqlAdapter.Fill(Data) + + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + CveConexion = 0 + + End If + + End Sub +#End Region + Private Sub DataCommand(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) + With SqlCommand + .Parameters.Clear() + .CommandText = pStrSQL + .CommandType = TipoComando + End With + + If Not SqlTransacc Is Nothing Then SqlCommand.Transaction = SqlTransacc + + End Sub + Public Function IniciaTransacSQL() As SqlTransaction + If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction() + Return SqlTransacc + End Function + Public Sub RollBack() + If SqlTransacc IsNot Nothing Then SqlTransacc.Rollback() + SqlTransacc = Nothing + End Sub + Public Sub Commit() + If SqlTransacc IsNot Nothing Then SqlTransacc.Commit() + SqlTransacc = Nothing + End Sub + + Public Function UsuariosGetTokenXEquipo(CveUsuario As Integer, CveUsuarioAutoriza As Integer, AdsCodex As String) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Sis_UsuariosGetTokenXEquipo") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveUsuarioAutoriza", SqlDbType.Int).Value = CveUsuarioAutoriza + .Add("@AdsCodex", SqlDbType.VarChar).Value = AdsCodex + End With + Try + SqlAdapter.Fill(Data) + 'If Data.Rows.Count > 0 Then + ' = Data.Rows(0)("Token").ToString() + 'End If + Retorno = True + Catch ex As SqlException + OnError("Ocurrio un error al guardar token por equipo.", ex) + Retorno = False + End Try + Return Retorno + End Function + + Public Function GetModulosUsuariosPlataforma(CveUsuario As Integer, CvePlataforma As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("SELECT M.* FROM [dbo].[UsuariosModulos] UM INNER JOIN Modulos M ON M.CveModulo=UM.CveModulo WHERE M.CvePlataforma =@CvePlataforma AND @CveUsuario = UM .CveUsuario AND UM.Permitir =1", CommandType.Text) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CvePlataforma", SqlDbType.Int).Value = CvePlataforma + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrio un error al obtener el menu.", ex) + Retorno = False + End Try + Return Retorno + End Function + Public Function ValidaUsuario(Usuario As String, Password As String, Optional CveEmpresa As Integer = -1, Optional GrupoEmpresa As String = "", Optional GenerarMenu As Boolean = True) As Usuario + Dim Retorno As Usuario = Nothing + DataAdapter("PA_Sis_UsuarioValidacionGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@Usuario", SqlDbType.VarChar).Value = Usuario + .Add("@Contraseña", SqlDbType.VarChar).Value = Password + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@GrupoEmpresa", SqlDbType.VarChar).Value = GrupoEmpresa + End With + Try + SqlAdapter.Fill(Data) + + If Data.Rows.Count > 0 Then + Retorno = New Usuario + + Retorno.Acceso = Data.Rows(0)("Acceso").ToString().ToEntero() + Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero() + Retorno.Usuario = Usuario + Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString() + Retorno.Nombre = Data.Rows(0)("Nombre").ToString() + Retorno.CveRol = Data.Rows(0)("CveRol").ToString().ToEntero() + Retorno.Rol = Data.Rows(0)("Rol").ToString() + + If CveEmpresa > 0 Then Retorno.CveEmpresa = CveEmpresa Else Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString().ToEntero() + Retorno.CvePlataforma = Data.Rows(0)("CvePlataforma").ToString().ToEntero() + + Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate() + Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate() + Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False) + Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero() + '* + Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() + Retorno.EsSupervisorRH = CBool(Data.Rows(0)("EsSupervisorRH").ToString()) + + Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString().ToEntero() + Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() + + Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString() + Retorno.DescuentoAutorizado = Data.Rows(0)("DescuentoAutorizado").ToString().ToDouble() + + Retorno.PorcentajeMaximoAutorizacion = Data.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal() + Retorno.DiasMaximoAutorizacion = Data.Rows(0)("DiasMaximoAutorizacion").ToString().ToEntero() + + Retorno.CodigoAutorizado = Data.Rows(0)("CodigoAutorizado").ToString() + Dim autoip As String = Data.Rows(0)("AutorizadoxIP").ToString().ToUpper() + Retorno.AutorizadoxIP = (autoip = "1" OrElse autoip = "TRUE") + Retorno.RutaDB = ConnStr + + ' Esto es parta el punto de venta + Retorno.CveSucursal = Data.Rows(0)("CveSubProyecto").ToString().ToEntero + + Dim ObjUsr As New ClsSisUsuarios(UsuarioActual:=Retorno) + + 'cargo los modulos del usuario y genero el menú + Dim dttmp As DataTable = ObjUsr.GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveEmpresa) + If GenerarMenu Then GeneraMenu(Retorno.CveUsuario, dttmp, Retorno.CvePlataforma) + + Dim UsuariosModulos As New HybridDictionary + For Each Row As DataRow In dttmp.Rows + UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString) + Next + Retorno.Modulos = UsuariosModulos + 'cargo los procesos del usuario + dttmp = ObjUsr.GetUsuariosRolesProcesos(Retorno.CveUsuario) + Dim UsuariosProcesos As New HybridDictionary + For Each Row As DataRow In dttmp.Rows + UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString) + Next + Retorno.Procesos = UsuariosProcesos + + Dim UsuariosIndicadores As New HybridDictionary + Dim dTableIndicadores As DataTable = ObjUsr.getUsuarioIndicadores(Retorno.CveUsuario, Retorno.CveEmpresa, Retorno.CveRol) + + + For Each Row As DataRow In dTableIndicadores.Rows + UsuariosIndicadores.Add(Convert.ToInt32(Row("CveIndicador")), Row("Indicador").ToString) + Next + Retorno.Indicadores = UsuariosIndicadores + + If ObjUsr.GetUsuariosDetalleAsignaciones(Retorno.CveUsuario, If(CveEmpresa = -1, Retorno.CveEmpresa, CveEmpresa)) Then + Dim drt As DataRow = ObjUsr.DtResultados.FiltroPrimero("") + Retorno.CveSubProyecto = drt("CveSucursal").ToString.ToEntero + Retorno.CveVendedor = drt("CveVendedor").ToString.ToEntero + Retorno.CvePersonal = drt("CvePersonal").ToString.ToEntero + Retorno.CveAlmacen = drt("CveAlmacen").ToString.ToEntero + Retorno.CveTipoDocumento = drt("CveTipoDocumento").ToString + Else + Retorno.CveSubProyecto = -1 + Retorno.CveVendedor = -1 + Retorno.CvePersonal = -1 + Retorno.CveAlmacen = -1 + Retorno.CveTipoDocumento = "-1" + End If + + Dim ObjEmpresa As New ClsSisEmpresas(UsuarioActual:=Retorno) + If ObjEmpresa.GetEmpresas(Retorno.CveEmpresa, "-1", "-1", "-1", "-1") Then + If ObjEmpresa.GetEmpresasFuncionalidades(Retorno.CveEmpresa) Then + Dim dttmp2 As Data.DataTable = ObjEmpresa.DtResultados + + Dim EmpresasFuncionalidades As New HybridDictionary + For Each Row As Data.DataRow In dttmp2.Rows + EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) + Next + ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) + End If + Retorno.Empresa = ObjEmpresa.Empresa + End If + ObjEmpresa.Dispose() + + If ObjUsr.GetUsuariosEmpresas(Retorno.CveUsuario, -1) Then + Dim dt As Data.DataTable = ObjUsr.DtResultados + If dt IsNot Nothing Then + If dt.Rows.Count >= 1 Then + If dt.Rows.Count > 1 Then + Retorno.MultipleEmpresa = True + End If + End If + End If + dt.Dispose() + End If + Retorno.ListaPersonalizacion = ObjUsr.CargaPersonalizacionUsuario(Retorno.CveUsuario) + ObjUsr.Dispose() + End If + + Catch ex As SqlException + OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) + Retorno = Nothing + End Try + + Return Retorno + End Function + + Public Function GetUsuarioDetalle(CveUsuario As Integer, Optional CveEmpresa As Integer = -1) As Usuario + + Dim Retorno As Usuario = Nothing + DataAdapter("PA_Sis_UsuariosGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveRol", SqlDbType.Int).Value = -1 + .Add("@Usuario", SqlDbType.VarChar).Value = "-1" + .Add("@Contraseña", SqlDbType.VarChar).Value = "-1" + .Add("@EsLogIn", SqlDbType.Bit).Value = 0 + End With + + Try + SqlAdapter.Fill(Data) + If Data IsNot Nothing AndAlso Data.Rows.Count > 0 Then + Retorno = New Usuario + + Retorno.Acceso = Data.Rows(0)("Acceso").ToString().ToEntero() + Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero() + Retorno.Usuario = Usuario + Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString() + Retorno.Nombre = Data.Rows(0)("Nombre").ToString() + Retorno.CveRol = Data.Rows(0)("CveRol").ToString().ToEntero() + Retorno.Rol = Data.Rows(0)("Rol").ToString() + + If CveEmpresa > 0 Then Retorno.CveEmpresa = CveEmpresa Else Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString().ToEntero() + Retorno.CvePlataforma = Data.Rows(0)("CvePlataforma").ToString().ToEntero() + + Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate() + Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate() + Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False) + Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero() + '* + Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() + Retorno.EsSupervisorRH = CBool(Data.Rows(0)("EsSupervisorRH").ToString()) + + Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString().ToEntero() + Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() + + Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString() + Retorno.DescuentoAutorizado = Data.Rows(0)("DescuentoAutorizado").ToString().ToDouble() + + Retorno.PorcentajeMaximoAutorizacion = Data.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal() + Retorno.DiasMaximoAutorizacion = Data.Rows(0)("DiasMaximoAutorizacion").ToString().ToEntero() + + Retorno.CodigoAutorizado = Data.Rows(0)("CodigoAutorizado").ToString() + Dim autoip As String = Data.Rows(0)("AutorizadoxIP").ToString().ToUpper() + Retorno.AutorizadoxIP = (autoip = "1" OrElse autoip = "TRUE") + Retorno.RutaDB = ConnStr + + ' Esto es parta el punto de venta + Retorno.CveSucursal = Data.Rows(0)("CveSubProyecto").ToString().ToEntero + Dim ObjEmpresa As New ClsSisEmpresas(UsuarioActual:=Retorno) + If ObjEmpresa.GetEmpresas(Retorno.CveEmpresa, "-1", "-1", "-1", "-1") Then + If ObjEmpresa.GetEmpresasFuncionalidades(Retorno.CveEmpresa) Then + Dim dttmp2 As Data.DataTable = ObjEmpresa.DtResultados + + Dim EmpresasFuncionalidades As New HybridDictionary + For Each Row As Data.DataRow In dttmp2.Rows + EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) + Next + ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) + End If + Retorno.Empresa = ObjEmpresa.Empresa + End If + ObjEmpresa.Dispose() + End If + + Return Retorno + + Catch ex As SqlException + OnError("Ocurrio un error al Consultar Usuarios.", ex) + End Try + + Return Retorno + End Function + + 'Public Function ValidaUsuarioAsignacion(CveUsuario As Integer, CveEmpresa As Integer) As Usuario + ' Dim Retorno As Usuario = Nothing + + ' DataAdapter("PA_Sis_UsuariosAsignacionesGet") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + ' If Data.Rows.Count > 0 Then + ' Retorno = New Usuario + + ' Try + ' Retorno.CveSubProyecto = Data.Rows(0)("CveSucursal").ToString.ToEntero + ' Catch ex As Exception + ' Retorno.CveSubProyecto = -1 + ' End Try + + ' Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero + ' Retorno.CvePersonal = Data.Rows(0)("CvePersonal").ToString.ToEntero + ' Retorno.CveAlmacen = Data.Rows(0)("CveAlmacen").ToString.ToEntero + ' End If + ' Catch ex As SqlException + ' OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) + ' Retorno = Nothing + ' End Try + + ' Return Retorno + 'End Function + + 'Public Function ValidaUsuarioWs(Usuario As String, Password As String, tIMEI As String) As Usuario + ' Dim Retorno As Usuario = Nothing + + ' DataAdapter("PA_Sis_UsuariosGet") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveUsuario", SqlDbType.Int).Value = -1 + ' .Add("@CveRol", SqlDbType.Int).Value = -1 + ' .Add("@Usuario", SqlDbType.VarChar).Value = Usuario + ' .Add("@Contraseña", SqlDbType.VarChar).Value = Password + ' .Add("@EsLogIn", SqlDbType.Bit).Value = 1 + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + + ' Catch ex As SqlException + ' OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) + ' Retorno = Nothing + ' End Try + + ' Return Retorno + 'End Function + 'Public Function ValidaUsuarioAppGPS(Usuario As String, Password As String, tIMEI As String) As Usuario + ' Dim Retorno As Usuario = Nothing + + ' DataAdapter("PA_Sis_UsuariosAppGet") + + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveUsuario", SqlDbType.Int).Value = -1 + ' .Add("@CveRol", SqlDbType.Int).Value = -1 + ' .Add("@Usuario", SqlDbType.VarChar).Value = Usuario + ' .Add("@Contraseña", SqlDbType.VarChar).Value = Password + ' .Add("@EsLogIn", SqlDbType.Bit).Value = 1 + ' End With + + ' Try + ' SqlAdapter.Fill(Data) + ' If Data.Rows.Count > 0 Then + ' Retorno = New Usuario + + ' Retorno.Acceso = Data.Rows(0)("Acceso").ToString.ToEntero + ' Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero + ' Retorno.Usuario = Usuario + ' Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString + ' Retorno.Nombre = Data.Rows(0)("Nombre").ToString + ' Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero + ' Retorno.Rol = Data.Rows(0)("Rol").ToString + ' Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero + ' Try + ' Retorno.CveSubProyecto = Data.Rows(0)("CveSubProyecto").ToString.ToEntero + ' Catch ex As Exception + ' Retorno.CveSubProyecto = -1 + ' End Try + ' Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString.ToDate + ' Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString.ToDate + ' Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString.ToEntero + ' Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero + ' Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString.ToEntero + ' Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString + ' End If + + ' Catch ex As SqlException + ' OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) + ' Retorno = Nothing + ' End Try + + ' Return Retorno + 'End Function + + + + Private Function GeneraMenu(CveUsuario As Integer, dtMenu As DataTable, Optional CvePlataforma As Integer = 1) As Boolean + Dim Retorno As Boolean = False + dtMenu.TableName = "UsuariosModulos" + + Try + Dim Carpeta As String = "" + + 'GPS + Carpeta = $"{AppDomain.CurrentDomain.BaseDirectory}/Menu/GPS" + Carpeta.DirectoryExistsCreate + dtMenu.FiltraParametros("CvePlataforma = 3").WriteXml($"{Carpeta}/{CveUsuario}.xml", XmlWriteMode.WriteSchema) + + Carpeta = $"{AppDomain.CurrentDomain.BaseDirectory}/Menu/ERP" + Carpeta.DirectoryExistsCreate + Select Case CvePlataforma + Case 6, 7 + dtMenu.FiltraParametros($"CvePlataforma = {CvePlataforma}").WriteXml($"{Carpeta}/{CveUsuario}.xml", XmlWriteMode.WriteSchema) + Case Else + dtMenu.FiltraParametros("CvePlataforma = 1").WriteXml($"{Carpeta}/{CveUsuario}.xml", XmlWriteMode.WriteSchema) + End Select + + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al generar el menú del usuario.", ex) + End Try + + Return Retorno + + End Function + +#Region "IDisposable Support" + Protected Overridable Sub Dispose(disposing As Boolean) + If Not Me.disposedValue Then + If disposing Then + + + If Not Data Is Nothing Then Data.Dispose() : Data = Nothing + If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() : SqlAdapter = Nothing + If Not SqlCommand Is Nothing Then SqlCommand.Dispose() : SqlCommand = Nothing + If Not SqlTransacc Is Nothing Then SqlTransacc.Dispose() : SqlTransacc = Nothing + If SqlConexion.State <> ConnectionState.Closed Then SqlConexion.Close() + If Not SqlConexion Is Nothing Then SqlConexion.Dispose() : SqlConexion = Nothing + + End If + End If + Me.disposedValue = True + End Sub + Public Sub Dispose() Implements IDisposable.Dispose + ConexionClose() + Dispose(True) + GC.SuppressFinalize(Me) + End Sub +#End Region + +End Class + diff --git a/App_Code/ClsSisUsuarios.vb b/App_Code/ClsSisUsuarios.vb index 9c6f804b4..0dd213315 100644 --- a/App_Code/ClsSisUsuarios.vb +++ b/App_Code/ClsSisUsuarios.vb @@ -64,12 +64,14 @@ Public Class ClsSisUsuarios Public Property DescuentoAutorizado As Double #End Region - Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional NombreCadena As String = "Conexion") + Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional UsuarioActual As Usuario = Nothing) If TransaccionCompartida Is Nothing Then SqlConexion = New SqlConnection - SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString - ConnStr = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString + SqlConexion.ConnectionString = If(UsuarioActual IsNot Nothing, UsuarioActual.RutaDB, ClsPaginas.UsuarioActualRutaDB) + + 'SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString + 'ConnStr = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString Try SqlConexion.Open() Catch ex As Exception @@ -153,7 +155,29 @@ Public Class ClsSisUsuarios If SqlTransacc IsNot Nothing Then SqlTransacc.Commit() SqlTransacc = Nothing End Sub + Public Function ValidaUsuarioCodigoAcceso(CodigoAcceso As String, CveEmpresa As Integer) As Integer + Dim Retorno As Integer = Nothing + DataAdapter("PA_Sis_UsuariosCodigoAccesoGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CodigoAcceso", SqlDbType.VarChar).Value = CodigoAcceso + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + If Data.Rows.Count > 0 Then + Retorno = Data.Rows(0)("CveUsuario").ToString.ToEntero + End If + + Catch ex As SqlException + OnError("Ocurrió un error al obtener el usuario.", ex) + Retorno = Nothing + End Try + + Return Retorno + End Function Public Function UsuariosGetTokenXEquipo(CveUsuario As Integer, CveUsuarioAutoriza As Integer, AdsCodex As String) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Sis_UsuariosGetTokenXEquipo") @@ -191,136 +215,15 @@ Public Class ClsSisUsuarios End Try Return Retorno End Function - Public Function ValidaUsuario(Usuario As String, Password As String, Optional CveEmpresa As Integer = -1, Optional GrupoEmpresa As String = "", Optional GenerarMenu As Boolean = True) As Usuario - Dim Retorno As Usuario = Nothing - DataAdapter("PA_Sis_UsuarioValidacionGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@Usuario", SqlDbType.VarChar).Value = Usuario - .Add("@Contraseña", SqlDbType.VarChar).Value = Password - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@GrupoEmpresa", SqlDbType.VarChar).Value = GrupoEmpresa - End With - Try - SqlAdapter.Fill(Data) - - If Data.Rows.Count > 0 Then - Retorno = New Usuario - - Retorno.Acceso = Data.Rows(0)("Acceso").ToString().ToEntero() - Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero() - Retorno.Usuario = Usuario - Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString() - Retorno.Nombre = Data.Rows(0)("Nombre").ToString() - Retorno.CveRol = Data.Rows(0)("CveRol").ToString().ToEntero() - Retorno.Rol = Data.Rows(0)("Rol").ToString() - - Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString().ToEntero() - Retorno.CvePlataforma = Data.Rows(0)("CvePlataforma").ToString().ToEntero() - - Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate() - Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate() - Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False) - Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero() - '* - Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() - Retorno.EsSupervisorRH = CBool(Data.Rows(0)("EsSupervisorRH").ToString()) - - Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString().ToEntero() - Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() - - Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString() - Retorno.DescuentoAutorizado = Data.Rows(0)("DescuentoAutorizado").ToString().ToDouble() - - Retorno.PorcentajeMaximoAutorizacion = Data.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal() - Retorno.DiasMaximoAutorizacion = Data.Rows(0)("DiasMaximoAutorizacion").ToString().ToEntero() - - Retorno.CodigoAutorizado = Data.Rows(0)("CodigoAutorizado").ToString() - Dim autoip As String = Data.Rows(0)("AutorizadoxIP").ToString().ToUpper() - Retorno.AutorizadoxIP = (autoip = "1" OrElse autoip = "TRUE") - Retorno.RutaDB = ConnStr - - ' Esto es parta el punto de venta - Retorno.CveSucursal = Data.Rows(0)("CveSubProyecto").ToString().ToEntero - - ''Toma la primer letra de cada nombre - 'Dim sbr As New StringBuilder - 'For Each St As String In Retorno.Nombre.Split(" "c) - ' sbr.AppendFormat("{0}.", St.Substring(0, 1)) - 'Next - 'Retorno.NombreIniciales = sbr.ToString - 'sbr.Clear() - 'Retorno.Liga = Data.Rows(0)("Liga" ).ToString - - 'cargo los modulos del usuario y genero el menú - Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveEmpresa) - If GenerarMenu Then GeneraMenu(Retorno.CveUsuario, dttmp, Retorno.CvePlataforma) - - Dim UsuariosModulos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString) - Next - Retorno.Modulos = UsuariosModulos - 'cargo los procesos del usuario - dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario) - Dim UsuariosProcesos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString) - Next - Retorno.Procesos = UsuariosProcesos - - Dim UsuariosIndicadores As New HybridDictionary - Dim dTableIndicadores As DataTable = getUsuarioIndicadores(Retorno.CveUsuario, Retorno.CveEmpresa, Retorno.CveRol) - - - For Each Row As DataRow In dTableIndicadores.Rows - UsuariosIndicadores.Add(Convert.ToInt32(Row("CveIndicador")), Row("Indicador").ToString) - Next - Retorno.Indicadores = UsuariosIndicadores - - If GetUsuariosDetalleAsignaciones(Retorno.CveUsuario, If(CveEmpresa = -1, Retorno.CveEmpresa, CveEmpresa)) Then - Try - Retorno.CveSubProyecto = Data.Rows(0)("CveSucursal").ToString.ToEntero - Catch ex As Exception - Retorno.CveSubProyecto = -1 - End Try - - Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero - Retorno.CvePersonal = Data.Rows(0)("CvePersonal").ToString.ToEntero - Retorno.CveAlmacen = Data.Rows(0)("CveAlmacen").ToString.ToEntero - Retorno.CveTipoDocumento = Data.Rows(0)("CveTipoDocumento").ToString - Else - Retorno.CveSubProyecto = -1 - Retorno.CveVendedor = -1 - Retorno.CvePersonal = -1 - Retorno.CveAlmacen = -1 - Retorno.CveTipoDocumento = "-1" - End If - - Retorno.ListaPersonalizacion = CargaPersonalizacionUsuario(Retorno.CveUsuario) - - End If - - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function Public Function CargaPersonalizacionUsuario(CveUsuarioParamerto As Integer) As Hashtable - Dim Retorno As New Hashtable If GetUsuariosPersonalizaciones(CveUsuarioParamerto) Then - For Each drow As DataRow In Data.Rows Retorno.Add(drow("PersonalizacionNombre").ToString, drow("PersonalizacionValor").ToString) Next - End If - Return Retorno - End Function Public Function ValidaUsuarioAsignacion(CveUsuario As Integer, CveEmpresa As Integer) As Usuario @@ -357,214 +260,6 @@ Public Class ClsSisUsuarios Return Retorno End Function - Public Function ValidaUsuarioWs(Usuario As String, Password As String, tIMEI As String) As Usuario - Dim Retorno As Usuario = Nothing - - DataAdapter("PA_Sis_UsuariosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveUsuario", SqlDbType.Int).Value = -1 - .Add("@CveRol", SqlDbType.Int).Value = -1 - .Add("@Usuario", SqlDbType.VarChar).Value = Usuario - .Add("@Contraseña", SqlDbType.VarChar).Value = Password - .Add("@EsLogIn", SqlDbType.Bit).Value = 1 - End With - - Try - SqlAdapter.Fill(Data) - - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - Public Function ValidaUsuarioAppGPS(Usuario As String, Password As String, tIMEI As String) As Usuario - Dim Retorno As Usuario = Nothing - - DataAdapter("PA_Sis_UsuariosAppGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveUsuario", SqlDbType.Int).Value = -1 - .Add("@CveRol", SqlDbType.Int).Value = -1 - .Add("@Usuario", SqlDbType.VarChar).Value = Usuario - .Add("@Contraseña", SqlDbType.VarChar).Value = Password - .Add("@EsLogIn", SqlDbType.Bit).Value = 1 - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count > 0 Then - Retorno = New Usuario - - Retorno.Acceso = Data.Rows(0)("Acceso").ToString.ToEntero - Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero - Retorno.Usuario = Usuario - Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString - Retorno.Nombre = Data.Rows(0)("Nombre").ToString - Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero - Retorno.Rol = Data.Rows(0)("Rol").ToString - Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero - Try - Retorno.CveSubProyecto = Data.Rows(0)("CveSubProyecto").ToString.ToEntero - Catch ex As Exception - Retorno.CveSubProyecto = -1 - End Try - Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString.ToDate - Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString.ToDate - Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString.ToEntero - Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero - Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString.ToEntero - Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString - End If - - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - - Public Function ValidaUsuarioCodigoAcceso(CodigoAcceso As String, CveEmpresa As Integer) As Integer - Dim Retorno As Integer = Nothing - - DataAdapter("PA_Sis_UsuariosCodigoAccesoGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CodigoAcceso", SqlDbType.VarChar).Value = CodigoAcceso - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count > 0 Then - Retorno = Data.Rows(0)("CveUsuario").ToString.ToEntero - End If - - Catch ex As SqlException - OnError("Ocurrió un error al obtener el usuario.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - Public Function ValidaUsuarioPortalCliente(CveCliente As Integer, Usuario As String, Password As String) As Usuario - Dim Retorno As Usuario = Nothing - - DataAdapter("PA_Sis_UsuariosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveUsuario", SqlDbType.Int).Value = -1 - .Add("@CveRol", SqlDbType.Int).Value = -1 - .Add("@Usuario", SqlDbType.VarChar).Value = Usuario - .Add("@Contraseña", SqlDbType.VarChar).Value = Password - .Add("@EsLogIn", SqlDbType.Bit).Value = 1 - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count > 0 Then - Retorno = New Usuario - - Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero - Retorno.Usuario = Usuario - Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString - Retorno.Nombre = Data.Rows(0)("Nombre").ToString - Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero - Retorno.Rol = Data.Rows(0)("Rol").ToString - 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString - Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero - Retorno.CveCliente = CveCliente - Retorno.ClienteGPS = False - Retorno.Portal = True - Retorno.Referencia = Data.Rows(0)("Referencia").ToString - Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False) - Retorno.RutaDB = ConnStr - 'cargo los modulos del usuario y genero el menú - Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveCliente) - - Dim UsuariosModulos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString) - Next - Retorno.Modulos = UsuariosModulos - ''cargo los procesos del usuario - dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario) - Dim UsuariosProcesos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString) - Next - Retorno.Procesos = UsuariosProcesos - End If - - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - - Public Function ValidaUsuarioPortalProveedor(CveProveedor As Integer, Usuario As String, Password As String) As Usuario - Dim Retorno As Usuario = Nothing - - DataAdapter("PA_Sis_UsuariosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveUsuario", SqlDbType.Int).Value = -1 - .Add("@CveRol", SqlDbType.Int).Value = -1 - .Add("@Usuario", SqlDbType.VarChar).Value = Usuario - .Add("@Contraseña", SqlDbType.VarChar).Value = Password - .Add("@EsLogIn", SqlDbType.Bit).Value = 1 - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count > 0 Then - Retorno = New Usuario - - Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero - Retorno.Usuario = Usuario - Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString - Retorno.Nombre = Data.Rows(0)("Nombre").ToString - Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero - Retorno.Rol = Data.Rows(0)("Rol").ToString - 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString - Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero - Retorno.CveProveedor = CveProveedor - Retorno.ClienteGPS = False - Retorno.Portal = True - Retorno.Referencia = Data.Rows(0)("Referencia").ToString - Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False) - Retorno.RutaDB = ConnStr - 'cargo los modulos del usuario y genero el menú - Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveProveedor) - - Dim UsuariosModulos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString) - Next - - Retorno.Modulos = UsuariosModulos - ''cargo los procesos del usuario - dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario) - Dim UsuariosProcesos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString) - Next - Retorno.Procesos = UsuariosProcesos - End If - - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - #Region "U S U A R I O - I N D I C A D O R E S" Public Function getUsuarioIndicadores(_CveUsuario As Integer, _CveEmpresa As Integer, _CveRol As Integer) As DataTable @@ -2620,170 +2315,6 @@ Public Class ClsSisUsuarios Return Retorno End Function - Public Function ValidaUsuarioGPS2(Clave As String, Usuario As String, Password As String) As Usuario - Dim Retorno As Usuario = Nothing - - DataAdapter("PA_Sis_UsuariosGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveUsuario", SqlDbType.Int).Value = -1 - .Add("@CveRol", SqlDbType.Int).Value = -1 - .Add("@Usuario", SqlDbType.VarChar).Value = Usuario - .Add("@Contraseña", SqlDbType.VarChar).Value = Password - .Add("@EsLogIn", SqlDbType.Bit).Value = 1 - End With - - Try - SqlAdapter.Fill(Data) - If Data.Rows.Count > 0 Then - Retorno = New Usuario - - Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero - Retorno.Usuario = Usuario - Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString - Retorno.Nombre = Data.Rows(0)("Nombre").ToString - Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero - Retorno.Rol = Data.Rows(0)("Rol").ToString - 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString - Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero - Retorno.CveCliente = Clave.ToEntero - Retorno.ClienteGPS = True - Retorno.Referencia = Data.Rows(0)("Referencia").ToString - Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False) - 'Retorno.Liga = Data.Rows(0)("Liga").ToString - 'cargo los modulos del usuario y genero el menú - Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveCliente) - GeneraMenuGPS(Retorno.CveUsuario, dttmp) - Dim UsuariosModulos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString) - Next - Retorno.Modulos = UsuariosModulos - ''cargo los procesos del usuario - dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario) - Dim UsuariosProcesos As New HybridDictionary - For Each Row As DataRow In dttmp.Rows - UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString) - Next - Retorno.Procesos = UsuariosProcesos - End If - - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - - Public Function GetUsuarioGPS(Clave As String, Usuario As String, Password As String) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Sis_UsuariosPortalGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@pCveUsuario", SqlDbType.Int).Value = -1 - .Add("@pCveRol", SqlDbType.Int).Value = 1200 - .Add("@pCveClave", SqlDbType.VarChar).Value = Clave - .Add("@pUsuario", SqlDbType.VarChar).Value = Usuario - .Add("@pContraseña", SqlDbType.VarChar).Value = Password - .Add("@pEsLogIn", SqlDbType.Bit).Value = 1 - .Add("@pCveCliente", SqlDbType.Int).Value = -1 - .Add("@pCveProveedor", SqlDbType.Int).Value = -1 - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As SqlException - OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex) - Retorno = Nothing - End Try - - Return Retorno - End Function - - Public Function GetUsuariosPortalGPS(pCveUsuarioPortal As Integer, pCveCliente As Integer, pCveProveedor As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_Sis_UsuariosPortalGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@pCveUsuario", SqlDbType.Int).Value = pCveUsuarioPortal - .Add("@pCveRol", SqlDbType.Int).Value = -1 - .Add("@pCveClave", SqlDbType.VarChar).Value = -1 - .Add("@pUsuario", SqlDbType.VarChar).Value = "-1" - .Add("@pContraseña", SqlDbType.VarChar).Value = "-1" - .Add("@pEsLogIn", SqlDbType.Bit).Value = 0 - .Add("@pCveCliente", SqlDbType.Int).Value = pCveCliente - .Add("@pCveProveedor", SqlDbType.Int).Value = pCveProveedor - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As SqlException - OnError("Ocurrio un error al Consultar los usuarios.", ex) - End Try - - Return Retorno - End Function - - - - Public Function UpdateUsuarioPortalGPS(Usuario As String, Nombre As String, Correo As String, - pPermiso1 As Boolean, pPermiso2 As Boolean, pPermiso3 As Boolean, pPermiso4 As Boolean, pPermiso5 As Boolean, - pPermiso6 As Boolean, pPermiso7 As Boolean, pPermiso8 As Boolean, pPermiso9 As Boolean, pPermiso10 As Boolean, - Activo As Boolean, pContrasenia As String, pCveCliente As Integer, pCveProveedor As Integer, CveUsuarioPortal As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_Sis_UsuariosPortalUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@pUsuario", SqlDbType.VarChar).Value = Usuario - .Add("@pNombre", SqlDbType.VarChar).Value = Nombre - .Add("@pCorreo", SqlDbType.VarChar).Value = Correo - .Add("@pPermiso1", SqlDbType.Bit).Value = If(pPermiso1, 1, 0) - .Add("@pPermiso2", SqlDbType.Bit).Value = If(pPermiso2, 1, 0) - .Add("@pPermiso3", SqlDbType.Bit).Value = If(pPermiso3, 1, 0) - .Add("@pPermiso4", SqlDbType.Bit).Value = If(pPermiso4, 1, 0) - .Add("@pPermiso5", SqlDbType.Bit).Value = If(pPermiso5, 1, 0) - .Add("@pPermiso6", SqlDbType.Bit).Value = If(pPermiso6, 1, 0) - .Add("@pPermiso7", SqlDbType.Bit).Value = If(pPermiso7, 1, 0) - .Add("@pPermiso8", SqlDbType.Bit).Value = If(pPermiso8, 1, 0) - .Add("@pPermiso9", SqlDbType.Bit).Value = If(pPermiso9, 1, 0) - .Add("@pPermiso10", SqlDbType.Bit).Value = If(pPermiso10, 1, 0) - .Add("@pEstatus", SqlDbType.Bit).Value = If(Activo, 1, 0) - .Add("@pContrasenia", SqlDbType.VarChar).Value = pContrasenia - .Add("@pCveCliente", SqlDbType.Int).Value = pCveCliente - .Add("@pCveProveedor", SqlDbType.Int).Value = pCveProveedor - .Add("@pCveUsuarioPortal", SqlDbType.Int).Value = CveUsuarioPortal - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al modificar el usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - - Public Function RemoveUsuarioPortalGPS(CveUsuario As Integer) As Boolean - Dim Retorno As Boolean = False - - DataAdapter("PA_Sis_UsuariosPortalRemove") - SqlAdapter.SelectCommand.Parameters.Add("@pCveUsuario", SqlDbType.Int).Value = CveUsuario - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al eliminar el usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function - Private Function GeneraMenuGPS(CveUsuario As Integer, dtMenu As DataTable) As Boolean Dim Retorno As Boolean = False dtMenu = dtMenu.FiltraParametros("CvePlataforma = 3") diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 130afb4dd..7d26e4509 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -717,6 +717,34 @@ Public Class ClsVentas Return Retorno End Function + Public Function UpdateDatosMedicosVenta(CveVenta As Integer, CveEmpresa As Integer, + CveMedico As Integer, + CveProcedimiento As Integer, + Paciente As String, + Optional Episodio As String = "-1", + Optional FolioAdicional As String = "-1", + Optional FechaParaSurtir As DateTime = MinFecha) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentasDatosMedicosUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveMedico", SqlDbType.Int).Value = CveMedico + .Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento + .Add("@FechaParaSurtir", SqlDbType.DateTime).Value = FechaParaSurtir + .Add("@Paciente", SqlDbType.VarChar).Value = Paciente + .Add("@Episodio", SqlDbType.VarChar).Value = Episodio + .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar los datos médicos de la venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + Public Function UpdateVentaTC(CveVenta As Integer, CveEmpresa As Integer, TipoCambio As Decimal) As Boolean Dim Retorno As Boolean = False @@ -1734,6 +1762,29 @@ Public Class ClsVentas Return Retorno End Function + + Public Function GetRepPedidosSTF(CveSubProyecto As Integer, CveVendedor As Integer, CveEmpresa As Integer, Opcion As Integer, FechaInicio As Date, FechaFin As Date) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PedidosSTFRep") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@Opcion", SqlDbType.Int).Value = Opcion + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los datos del reporte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function Public Function GetRepTopCompras(GPO As Integer, CveEmpresa As Integer, TipoCambio As Integer, TipoCambioEspecifico As Decimal, CveUsuarioConsulta As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Comp_GetTopRepPS") @@ -3433,25 +3484,25 @@ Public Class ClsVentas End Function #End Region -#Region " CANCELAR PEDIDO " - Public Function CancelarPedido(CveVenta As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_CancelarPedido") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveVenta", SqlDbType.Int).Value = CveVenta - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With + '#Region " CANCELAR PEDIDO " + ' Public Function CancelarPedido(CveVenta As Integer, CveEmpresa As Integer) As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_Vta_CancelarPedido") + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + ' End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al cancelar el pedido.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al cancelar el pedido.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ' End Try - Return Retorno - End Function -#End Region + ' Return Retorno + ' End Function + '#End Region #Region "Punto Venta" Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1, Optional CveCorte As Integer = -1) As Boolean @@ -3485,7 +3536,7 @@ Public Class ClsVentas ''' ''' ''' - Public Function GetVta_ReporteCortesDetalle(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Opcion As Integer, Optional ConsultaIVA As Boolean = False) As Boolean + Public Function GetVta_ReporteCortesDetalle(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Opcion As Integer, Optional ConsultaIVA As Boolean = False, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_ReporteCortesDetalleGet") @@ -3496,6 +3547,7 @@ Public Class ClsVentas .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@Opcion", SqlDbType.Int).Value = Opcion .Add("@ConsultaIVA", SqlDbType.Bit).Value = ConsultaIVA + .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta End With Try @@ -3576,13 +3628,15 @@ Public Class ClsVentas ' Return Retorno 'End Function - Public Function GetVta_MovimientosCajas(CveCorte As Integer, TipoMovimiento As Integer) As Boolean + Public Function GetVta_MovimientosCajas(CveCorte As Integer, TipoMovimiento As Integer, Optional CveSubProyecto As Integer = -1, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_MovimientosCajasGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveCorte", SqlDbType.Int).Value = CveCorte .Add("@TipoMovimiento", SqlDbType.Int).Value = TipoMovimiento + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta End With Try @@ -3595,13 +3649,15 @@ Public Class ClsVentas Return Retorno End Function - Public Function GetVta_MovimientosCajasReporte(CveCorte As Integer, TipoMovimiento As Integer) As Boolean + Public Function GetVta_MovimientosCajasReporte(CveCorte As Integer, TipoMovimiento As Integer, Optional CveSubProyecto As Integer = -1, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_MovimientosCajasRepGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveCorte", SqlDbType.Int).Value = CveCorte .Add("@TipoMovimiento", SqlDbType.Int).Value = TipoMovimiento + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta End With Try @@ -3637,7 +3693,7 @@ Public Class ClsVentas ' Return Retorno 'End Function - Public Function GetCortesDetalleDepositosCaja(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Public Function GetCortesDetalleDepositosCaja(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_CortesDetalleDepositosCajaGet") @@ -3646,6 +3702,7 @@ Public Class ClsVentas .Add("@CveCorte", SqlDbType.Int).Value = CveCorte .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta End With Try @@ -3669,7 +3726,6 @@ Public Class ClsVentas If CveVentas IsNot Nothing Then Dim ObjVentas As New ClsVentas Dim ObjCancelacion As New Timbrado - Dim ObjUsuario As New ClsSisUsuarios Dim Usuario As Usuario = Nothing Dim ObjEmpresa As New ClsSisEmpresas() @@ -3679,7 +3735,6 @@ Public Class ClsVentas Dim RFCReceptor As String = "-1" Dim Nombre As String = "-1" Dim DbRowVenta As DataRow - Dim CveUsuario As Integer = -1 Dim pCveEmpresa As Integer = -1 Dim Contraseña As String = "-1" @@ -3691,32 +3746,30 @@ Public Class ClsVentas CveEstatus = DbRowVenta("CveEstatusFactura").ToString.ToEntero Total = DbRowVenta("Total").ToString.ToDecimal RFCReceptor = DbRowVenta("ClienteRFC").ToString - CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero + 'CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero pCveEmpresa = DbRowVenta("CveEmpresa").ToString.ToEntero Nombre = DbRowVenta("Nombre").ToString - If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then - Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString - Else - CveVentasError.Add(PCveVenta.ToEntero) - Continue For - End If - Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña) + 'If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then + ' Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString + 'Else + ' CveVentasError.Add(PCveVenta.ToEntero) + ' Continue For + 'End If + 'Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña) + + If Not ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then - Usuario.Empresa = ObjEmpresa.Empresa - Usuario.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa - Else CveVentasError.Add(PCveVenta.ToEntero) Continue For End If 'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT If CveEstatus = 5 Then - Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC) + Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(ObjEmpresa.Empresa, FolioFiscal, Total, RFCReceptor, ObjEmpresa.Empresa.RFC) If Resp.Verificado Then - If Not ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, ClsPaginas.NowADS(), PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then + If Not ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, ClsPaginas.NowADS(), PCveVenta.ToEntero, -1, CvePAC:=ObjEmpresa.Empresa.CvePAC) Then CveVentasError.Add(PCveVenta.ToEntero) End If Else @@ -3729,7 +3782,6 @@ Public Class ClsVentas Next ObjVentas.Dispose() - ObjUsuario.Dispose() ObjEmpresa.Dispose() Else diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 3634904b3..998390c5c 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -6489,14 +6489,16 @@ Namespace Modelos For Each RowDevolucion As DataRow In DtDevMovs.Rows CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero() + Dim tdtt As DataTable = DtMovRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")} AND CvePS > 0 AND SaldoAlmacen <> 0") - If Not CancelarMovimientosRemision(CveVenta, CveAlmacen, CveAlmacenGeneral, DtMovRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")} AND CvePS > 0"), ObjVentas, ObjInventario, ObjConta) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." - Exit For + If tdtt IsNot Nothing AndAlso tdtt.Rows.Count > 0 Then + If Not CancelarMovimientosRemision(CveVenta, CveAlmacen, CveAlmacenGeneral, tdtt, ObjVentas, ObjInventario, ObjConta) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." + Exit For + End If End If Next - End If 'CANCELAR MOVIMIENTOS DE USADOS SI TIENE @@ -6513,7 +6515,6 @@ Namespace Modelos ErrorCancelar = True End If End If - End If 'VERIFICAR MOVIMIENTOS DE APARTADOS @@ -6531,7 +6532,6 @@ Namespace Modelos ErrorCancelar = True End If End If - End If End If diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 54179530f..087ed3309 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -2640,10 +2640,10 @@ concep.DescripcionesEspecificas.NumeroSerie) For Each docp As CFDIComplementoPago In ObjCFDITimbre.ComplementoPagos20.ComplementoPagos - Dim MonDiferente As Integer = (From c In docp.DocumentosRelacionados - Where c.MonedaDR <> docp.MonedaP AndAlso docp.MonedaP = "USD" - Select c.MonedaDR).Count() - If MonDiferente > 0 Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B + 'Dim MonDiferente As Integer = (From c In docp.DocumentosRelacionados + ' Where c.MonedaDR <> docp.MonedaP AndAlso docp.MonedaP = "USD" + ' Select Case c.MonedaDR).Count() + 'If MonDiferente > 0 Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B cfdi.Pago20(docp.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss"), docp.FormaDePagoP, diff --git a/App_Code/WS/WSUSer.vb b/App_Code/WS/WSUSer.vb index 27213e81a..46ba09be3 100644 --- a/App_Code/WS/WSUSer.vb +++ b/App_Code/WS/WSUSer.vb @@ -43,7 +43,7 @@ Namespace SIG Dim Retorno As List(Of String) = Nothing If continuar Then - Using objuser As New ClsSisUsuarios + Using objuser As New ClsSisUsuarioAutenticacion Dim user As Usuario = objuser.ValidaUsuario(username, Extensiones.ModExtensiones.Encripta(password), CveEmpresa:=CveEmpresastr.ToEntero()) Dim OjEmpresa As Empresa = Nothing diff --git a/App_Code/WsSIGWeb.vb b/App_Code/WsSIGWeb.vb index 0f44f3b13..bdcb4a6a2 100644 --- a/App_Code/WsSIGWeb.vb +++ b/App_Code/WsSIGWeb.vb @@ -23,81 +23,81 @@ Public Class WsSIGWeb End Function -#Region " CANCELAR VENTAS ANTE EL SAT - CANCELADAS EN SISTEMA " - - Public Function CancelarVentasSAT(PCveVenta As Integer) As Boolean - Dim Retorno = False - Dim MensajeError = "" + '#Region " CANCELAR VENTAS ANTE EL SAT - CANCELADAS EN SISTEMA " + ' + ' Public Function CancelarVentasSAT(PCveVenta As Integer) As Boolean + ' Dim Retorno = False + ' Dim MensajeError = "" - If PCveVenta > 0 Then - Dim ObjVentas As New ClsVentas - Dim ObjCancelacion As New Timbrado - Dim ObjUsuario As New ClsSisUsuarios - Dim Usuario As Usuario = Nothing - Dim ObjEmpresa As New ClsSisEmpresas() + ' If PCveVenta > 0 Then + ' Dim ObjVentas As New ClsVentas + ' Dim ObjCancelacion As New Timbrado + ' Dim ObjUsuario As New ClsSisUsuarios + ' Dim Usuario As Usuario = Nothing + ' Dim ObjEmpresa As New ClsSisEmpresas() - Dim FolioFiscal = "-1" - Dim CveEstatus = -1 - Dim Total = 0.0D - Dim RFCReceptor = "-1" - Dim Nombre = "-1" - Dim DbRowVenta As DataRow - Dim CveUsuario = -1 - Dim pCveEmpresa = -1 - Dim Contraseña = "-1" + ' Dim FolioFiscal = "-1" + ' Dim CveEstatus = -1 + ' Dim Total = 0.0D + ' Dim RFCReceptor = "-1" + ' Dim Nombre = "-1" + ' Dim DbRowVenta As DataRow + ' Dim CveUsuario = -1 + ' Dim pCveEmpresa = -1 + ' Dim Contraseña = "-1" - If ObjVentas.GetVenta(PCveVenta.ToEntero, -1) Then - DbRowVenta = ObjVentas.DtResultados.Rows(0) + ' If ObjVentas.GetVenta(PCveVenta.ToEntero, -1) Then + ' DbRowVenta = ObjVentas.DtResultados.Rows(0) - FolioFiscal = DbRowVenta("FolioFiscal").ToString - CveEstatus = DbRowVenta("CveEstatusFactura").ToString.ToEntero - Total = DbRowVenta("Total").ToString.ToDecimal - RFCReceptor = DbRowVenta("ClienteRFC").ToString - CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero - pCveEmpresa = DbRowVenta("CveEmpresa").ToString.ToEntero - Nombre = DbRowVenta("Nombre").ToString + ' FolioFiscal = DbRowVenta("FolioFiscal").ToString + ' CveEstatus = DbRowVenta("CveEstatusFactura").ToString.ToEntero + ' Total = DbRowVenta("Total").ToString.ToDecimal + ' RFCReceptor = DbRowVenta("ClienteRFC").ToString + ' CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero + ' pCveEmpresa = DbRowVenta("CveEmpresa").ToString.ToEntero + ' Nombre = DbRowVenta("Nombre").ToString - If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then - Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString - Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña) + ' If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then + ' Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString + ' Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña) - If ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then - Usuario.Empresa = ObjEmpresa.Empresa - Usuario.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa + ' If ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then + ' Usuario.Empresa = ObjEmpresa.Empresa + ' Usuario.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa - 'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT - If CveEstatus = 5 Then - Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC) - If Resp.Verificado Then - If ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Resp.CancelacionFecha, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then - Retorno = True - Else - MensajeError = $"Ocurrió un error al actualizar la cancelación la CveVenta {PCveVenta}" - End If - Else - MensajeError = $"Ocurrió un error al Cancelar ante SAT la CveVenta {PCveVenta}" - End If - Else - MensajeError = $"Ocurrió un error al verificar el estatus de la CveVenta {PCveVenta}" - End If - Else - MensajeError = $"Ocurrió un error al cargar la empresa de la CveVenta {PCveVenta}" - End If - Else - MensajeError = $"Ocurrió un error al cargar el usuario de la CveVenta {PCveVenta}" - End If - Else - MensajeError = $"Ocurrió un error al cargar la CveVenta {PCveVenta}" - End If + ' 'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT + ' If CveEstatus = 5 Then + ' Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC) + ' If Resp.Verificado Then + ' If ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Resp.CancelacionFecha, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then + ' Retorno = True + ' Else + ' MensajeError = $"Ocurrió un error al actualizar la cancelación la CveVenta {PCveVenta}" + ' End If + ' Else + ' MensajeError = $"Ocurrió un error al Cancelar ante SAT la CveVenta {PCveVenta}" + ' End If + ' Else + ' MensajeError = $"Ocurrió un error al verificar el estatus de la CveVenta {PCveVenta}" + ' End If + ' Else + ' MensajeError = $"Ocurrió un error al cargar la empresa de la CveVenta {PCveVenta}" + ' End If + ' Else + ' MensajeError = $"Ocurrió un error al cargar el usuario de la CveVenta {PCveVenta}" + ' End If + ' Else + ' MensajeError = $"Ocurrió un error al cargar la CveVenta {PCveVenta}" + ' End If - ObjVentas.Dispose() - ObjUsuario.Dispose() - ObjEmpresa.Dispose() - End If + ' ObjVentas.Dispose() + ' ObjUsuario.Dispose() + ' ObjEmpresa.Dispose() + ' End If - Return Retorno - End Function -#End Region + ' Return Retorno + ' End Function + '#End Region End Class \ No newline at end of file diff --git a/App_Code/wsSIG.vb b/App_Code/wsSIG.vb index d4d56b6d9..4772d7b8b 100644 --- a/App_Code/wsSIG.vb +++ b/App_Code/wsSIG.vb @@ -40,7 +40,7 @@ Public Class wsSIG If Fecha > ClsPaginas.NowADS().AddSeconds(TiempoValido) Then Dim ttDato As Usuario - Dim tUsuario As New ClsSisUsuarios + Dim tUsuario As New ClsSisUsuarioAutenticacion ttDato = tUsuario.ValidaUsuario(Usuario, Encripta(Contrasenia)) @@ -91,7 +91,7 @@ Public Class wsSIG If Fecha > ClsPaginas.NowADS().AddSeconds(TiempoValido) Then Dim ttDato As Usuario = Nothing - Using tUsuario As New ClsSisUsuarios() + Using tUsuario As New ClsSisUsuarioAutenticacion() ttDato = tUsuario.ValidaUsuario(Usuario, Encripta(Contrasenia), CveEmpresa:=CveEmpresa) End Using If validatesubproyecto Then @@ -691,7 +691,7 @@ Public Class wsSIG Dim ttDato As Usuario - Dim tUsuario As New ClsSisUsuarios + Dim tUsuario As New ClsSisUsuarioAutenticacion ttDato = tUsuario.ValidaUsuario(objuser.Usuario, Encripta(objuser.Contrasenia)) diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx index 9777b70b6..ed78666f4 100644 --- a/Ashx/CargaEventos.ashx +++ b/Ashx/CargaEventos.ashx @@ -16,6 +16,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState Dim CveEmpresa As Integer = -1 Dim FI As Date Dim FF As Date + If UsuarioActual(context) Is Nothing Then Exit Sub If context.Request("METODO") IsNot Nothing Then @@ -41,10 +42,64 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState context.Response.Write(sJSON) End If - End If + Exit Select + Case "servicio_medicos" + If context.Request("U").ToEntero > 0 Then + + CveUsuario = context.Request("U").ToEntero + CveEmpresa = context.Request("E").ToEntero + + Dim CveSubProyecto As Integer = If(context.Request("CveSubProyecto") IsNot Nothing, context.Request("CveSubProyecto").ToEntero, -1) + Dim CveUsuarioPara As Integer = If(context.Request("CveUsuarioPara") IsNot Nothing, context.Request("CveUsuarioPara").ToEntero, -1) + Dim FechaI As Date = context.Request("start").ToDate + Dim FechaF As Date = context.Request("end").ToDate + Dim Cvecliente As Integer = -1 'DdlClienteSucursalCliente() + Dim CveClienteSucursal As Integer = -1 ' DdlClienteSucursalSucursal() + Dim CveVendedor As Integer = -1 + Dim CveEstatus As Integer = -1 + Dim ObjOS As New ClsOS + + If ObjOS.GetRepOrdenesServicioMedicasRep(FechaI, FechaF, Cvecliente, CveVendedor, CveEstatus, CveUsuarioPara, -1, CveEmpresa, + CveMedico:=-1, CveProcedimiento:=-1, CveEspecialidad:=-1, + CveClienteSucursal:=CveClienteSucursal, CveUsuario:=CveUsuario) Then + + If ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then + events = New List(Of CalendarEvent) + For Each dr As DataRow In ObjOS.DtResultados.Rows + Dim cevent As CalendarEvent = New CalendarEvent() + cevent.id = dr("CveOS").ToString.ToEntero + cevent.title = $" {dr("Tecnico")}-{dr("NombreCliente")}" + cevent.description = $" {dr("Tecnico")} -{dr("NombreCliente")} OS# {dr("Folio")}" + cevent.start = String.Format("{0:s}", dr("FechaCita").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaCita").ToString.ToDateTime.AddHours(1)) + cevent.CveOS = dr("CveOS").ToString.ToEntero + cevent.allDay = False + If dr("EstatusOSGral").ToString.Contiene("Levantamiento") Then + cevent.backgroundColor = "#006699" + ElseIf dr("EstatusOSGral").ToString.Contiene("Surtido") Then + cevent.backgroundColor = "#002699" + ElseIf dr("EstatusOSGral").ToString.Contiene("Asignado") Then + cevent.backgroundColor = "#025716" + ElseIf dr("EstatusOSGral").ToString.Contiene("Finalizado") Then + cevent.backgroundColor = "#730505" + ElseIf dr("EstatusOSGral").ToString.Contiene("Facturado") Then + cevent.backgroundColor = "#006699" + ElseIf dr("EstatusOSGral").ToString.Contiene("Cobrado") Then + cevent.backgroundColor = "#007699" + ElseIf dr("EstatusOSGral").ToString.Contiene("Cancelado") Then + End If + events.Add(cevent) + Next + + context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(events)) + End If + End If + ObjOS.Dispose() + + End If Exit Select Case "contrato_transportes" @@ -67,17 +122,12 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState context.Response.Write(sJSON) End If - End If - - Exit Select Case Else Exit Select End Select - - Else If context.Request("U").ToEntero > 0 Then CveUsuario = context.Request("U").ToEntero @@ -105,23 +155,19 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState Private Function GetEventos(CveUsuario As Integer, CveEmpresa As Integer, pFI As Date, pFF As Date, Optional CveOS As Integer = -1, Optional CveUsuarioPara As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional context As HttpContext = Nothing) As Boolean - Dim ObjEventos As New ClsOIEventos + Dim ErrorEventos As Boolean = False Dim CveEmpresaCRM As Integer = 0 - Dim DT_SubProyectos As New System.Data.DataTable - DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer)) DT_SubProyectos.Columns.Add("backgroundColor") - Dim DT_EstatusOS As New DataTable DT_EstatusOS.Columns.Add("", GetType(Integer)) - + Dim ObjEventos As New ClsOIEventos 'son 26 Dim Colores() As String = {"#006699", "#0099cc", "#0066cc", "#0033cc", "#0000ff", "#3333ff", "#3333ff", "#6600ff", "#9933ff", "#cc00ff", "#cc00cc", "#cc0099", "#cc3399", "#cc6699", "#cc0066", "#009933", "#00cc00", "#00cc66", "#009999", "#669900", "#99cc00", "#cccc00", "#cc9900", "#ff9900", "#006666", "#669999"} - If CveOS = -2 Then Dim objSub As New ClsSubProyectos @@ -135,8 +181,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState Dim ColorIndex As Integer = 0 - - If DtTempSubproyectos.Rows.Count > 0 Then For Each drow As DataRow In DtTempSubproyectos.Rows @@ -164,9 +208,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState End If End If - - - If ObjEventos.GetEventos(-1, -1, -1, "-1", "-1", -1, CveUsuario, CveUsuarioPara, -1, -1, -1, "-1", -1, -1, -1, -1, CveOS, -1, -1, -1, -1, -1, CveUsuario, CveUsuario, CveUsuario, CveEmpresa, pFI, pFF, CveSubProyecto:=CveSubProyecto, EsCoordinador:=EsCoordinador) Then If ObjEventos.DtResultados.Rows.Count > 0 Then @@ -447,8 +488,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState DT_SubProyectos.Columns.Add("backgroundColor") DT_EstatusOS.Columns.Add("", GetType(Integer)) - - If ObjContratos.GetContratos(-1, usuarioActual_.CveEmpresa, TipoContrato:=34) Then If ObjContratos.DtResultados.Rows.Count > 0 Then diff --git a/Ashx/E119.ashx b/Ashx/E119.ashx index 9ec4f64ad..4b6dd9817 100644 --- a/Ashx/E119.ashx +++ b/Ashx/E119.ashx @@ -53,38 +53,36 @@ Public Class E119 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe #Region "V A L I D A - D A T O S" Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios(NombreCadena:=NombreCadena) - If ObjUsuarios.GetUsuarios(CveUsuario) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa, GenerarMenu:=False) - UsuarioActual.CveEmpresa = CveEmpresa - HttpContext.Current.Session("UsuarioSIG") = UsuarioActual - CreaObjetoEmpresa(UsuarioActual) - End If + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100, CveEmpresa) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + 'CreaObjetoEmpresa(UsuarioActual) End If ObjUsuarios.Dispose() + Return UsuarioActual End Function - Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) - Dim ObjEmpresa As New ClsSisEmpresas() - If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then - Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - Dim EmpresasFuncionalidades As New HybridDictionary - For Each Row As Data.DataRow In dttmp.Rows - EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) - Next - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) - End If + 'Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) + ' Dim ObjEmpresa As New ClsSisEmpresas() + ' If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then + ' If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then + ' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - UsuarioActual.Empresa = ObjEmpresa.Empresa + ' Dim EmpresasFuncionalidades As New HybridDictionary + ' For Each Row As Data.DataRow In dttmp.Rows + ' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) + ' Next + ' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) + ' End If - End If - ObjEmpresa.Dispose() - End Sub + ' UsuarioActual.Empresa = ObjEmpresa.Empresa + + ' End If + ' ObjEmpresa.Dispose() + 'End Sub #End Region Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx index bd34dbf6f..cee2a6026 100644 --- a/Ashx/E141.ashx +++ b/Ashx/E141.ashx @@ -62,38 +62,36 @@ Public Class E141 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe #Region "V A L I D A - D A T O S" Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(CveUsuario) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa, GenerarMenu:=False) - UsuarioActual.CveEmpresa = CveEmpresa - HttpContext.Current.Session("UsuarioSIG") = UsuarioActual - CreaObjetoEmpresa(UsuarioActual) - End If + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(141) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + 'CreaObjetoEmpresa(UsuarioActual) End If ObjUsuarios.Dispose() + Return UsuarioActual End Function - Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) - Dim ObjEmpresa As New ClsSisEmpresas() - If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then - Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados + 'Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) - Dim EmpresasFuncionalidades As New HybridDictionary - For Each Row As Data.DataRow In dttmp.Rows - EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) - Next - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) - End If + ' Dim ObjEmpresa As New ClsSisEmpresas() + ' If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then + ' If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then + ' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - UsuarioActual.Empresa = ObjEmpresa.Empresa - End If - ObjEmpresa.Dispose() - End Sub + ' Dim EmpresasFuncionalidades As New HybridDictionary + ' For Each Row As Data.DataRow In dttmp.Rows + ' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) + ' Next + ' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) + ' End If + + ' UsuarioActual.Empresa = ObjEmpresa.Empresa + ' End If + ' ObjEmpresa.Dispose() + 'End Sub #End Region Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest @@ -1672,20 +1670,7 @@ Public Class E141 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe Return JsonConvert.SerializeObject(respuesta) End If - - Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(100) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioActual.CveEmpresa = CveEmpresa - HttpContext.Current.Session("UsuarioSIG") = UsuarioActual - CreaObjetoEmpresa(UsuarioActual) - End If - End If - ObjUsuarios.Dispose() + Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) Using ObjPS As New ClsProductosServicios() If ObjPS.GetExistenciasEmpresa(Codigo, CveEmpresa) Then diff --git a/Ashx/E48.ashx b/Ashx/E48.ashx index e5a83564d..a668ebeb0 100644 --- a/Ashx/E48.ashx +++ b/Ashx/E48.ashx @@ -400,17 +400,15 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState End Property Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(CveUsuario) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioActual.CveEmpresa = CveEmpresa - CreaObjetoEmpresa(UsuarioActual) - End If + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + 'CreaObjetoEmpresa(UsuarioActual) End If ObjUsuarios.Dispose() + Return UsuarioActual End Function Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) diff --git a/Ashx/MHRedes.ashx b/Ashx/MHRedes.ashx index f34ad59d3..c6aa3f29f 100644 --- a/Ashx/MHRedes.ashx +++ b/Ashx/MHRedes.ashx @@ -44,7 +44,8 @@ Public Class MobileHandler : Implements IHttpHandler Private Sub ValidaUsuario() - Dim ObjUsuario As New ClsSisUsuarios + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(41) + Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) Dim User As Usuario Dim IP As String @@ -58,18 +59,18 @@ Public Class MobileHandler : Implements IHttpHandler Dim Json As New StringBuilder - User = ObjUsuario.ValidaUsuario(Contexto.Request("Usuario"), Contexto.Request("Password")) + User = ObjUsuario.ValidaUsuario(Contexto.Request("Usuario"), Contexto.Request("Password"), 41) If User IsNot Nothing Then Dim Token As String = String.Format("{0}*{1}*{2}", ClsPaginas.NowADS().ToString, IP, User.CveUsuario) Token = Encripta(Token) - json.AppendFormat("{{ ""CveUsuario"" : ""{0}"", ""Nombre"" : ""{1}"", ""Token"" : ""{2}"" }} ", User.CveUsuario, User.Nombre, Token) + Json.AppendFormat("{{ ""CveUsuario"" : ""{0}"", ""Nombre"" : ""{1}"", ""Token"" : ""{2}"" }} ", User.CveUsuario, User.Nombre, Token) Else - json.Append("{ ""CveUsuario"" : ""-1"", ""Nombre"" : ""No valido"" } ") + Json.Append("{ ""CveUsuario"" : ""-1"", ""Nombre"" : ""No valido"" } ") End If - - Contexto.Response.Write(json.ToString) + ObjUsuario.Dispose() + Contexto.Response.Write(Json.ToString) End Sub diff --git a/Ashx/SIGFacturacion.ashx b/Ashx/SIGFacturacion.ashx index 86a5949f7..5e4dedbd0 100644 --- a/Ashx/SIGFacturacion.ashx +++ b/Ashx/SIGFacturacion.ashx @@ -222,15 +222,13 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState #Region "V A L I D A - D A T O S" Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(100) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioActual.CveEmpresa = CveEmpresa - CreaObjetoEmpresa(UsuarioActual) - End If + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + If UsuarioActual IsNot Nothing Then + Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() + Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() + UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) End If ObjUsuarios.Dispose() Return UsuarioActual diff --git a/Ashx/SIGFacturacionCiclica.ashx b/Ashx/SIGFacturacionCiclica.ashx index 1ce3d4f7c..19cd3da04 100644 --- a/Ashx/SIGFacturacionCiclica.ashx +++ b/Ashx/SIGFacturacionCiclica.ashx @@ -58,17 +58,15 @@ Public Class SIGFacturacionCiclica : Implements IHttpHandler, IRequiresSessionSt #Region "V A L I D A - D A T O S" Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(100) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioActual.CveEmpresa = CveEmpresa - CreaObjetoEmpresa(UsuarioActual) - End If + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(119) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + CreaObjetoEmpresa(UsuarioActual) End If ObjUsuarios.Dispose() + Return UsuarioActual End Function Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) diff --git a/Ashx/SIGFreightVerify.ashx b/Ashx/SIGFreightVerify.ashx index 5f35fc289..e4764b8fa 100644 --- a/Ashx/SIGFreightVerify.ashx +++ b/Ashx/SIGFreightVerify.ashx @@ -18,153 +18,152 @@ public class SIGFreightVerify : IHttpHandler, IRequiresSessionState private Usuario ValidaUsuarioSistema(int CveEmpresa) { Usuario UsuarioActual = null; - ClsSisUsuarios ObjUsuarios = new ClsSisUsuarios(); - if (ObjUsuarios.GetUsuarios(1727)) - { - if (ObjUsuarios.DtResultados.Rows.Count > 0) - { + string NombreCadena = ClsPaginas.get_GlobalNombreCadenaConexion(141); + ClsSisUsuarioAutenticacion ObjUsuarios = new ClsSisUsuarioAutenticacion(NombreCadena: NombreCadena); + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(1727); + if (UsuarioActual !=null) + { var Usuario = ObjUsuarios.DtResultados.Rows[0]["Usuario"].ToString(); - var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString(); - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa); + var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString(); + UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa); UsuarioActual.CveEmpresa = CveEmpresa; UsuarioActual.CveCliente = 183798; - CreaObjetoEmpresa(ref UsuarioActual); + //CreaObjetoEmpresa(ref UsuarioActual); CargaZonasHorarias(ref UsuarioActual); - } - } - ObjUsuarios.Dispose(); - return UsuarioActual; +} +ObjUsuarios.Dispose(); +return UsuarioActual; } private void CreaObjetoEmpresa(ref Usuario UsuarioActual) +{ + ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas(); + if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1")) { - ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas(); - if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1")) + if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa)) { - if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa)) - { - System.Data.DataTable dttmp = ObjEmpresa.DtResultados; + System.Data.DataTable dttmp = ObjEmpresa.DtResultados; - var EmpresasFuncionalidades = new HybridDictionary(); - foreach (System.Data.DataRow Row in dttmp.Rows) - EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString()); + var EmpresasFuncionalidades = new HybridDictionary(); + foreach (System.Data.DataRow Row in dttmp.Rows) + EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString()); - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades); - } - - UsuarioActual.Empresa = ObjEmpresa.Empresa; + ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades); } - ObjEmpresa.Dispose(); + + UsuarioActual.Empresa = ObjEmpresa.Empresa; } - private void CargaZonasHorarias(ref Usuario UsuarioActual) + ObjEmpresa.Dispose(); +} +private void CargaZonasHorarias(ref Usuario UsuarioActual) +{ + ClsClientes ObjClientes = new ClsClientes(); + try { - ClsClientes ObjClientes = new ClsClientes(); - try + if (ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus: 1)) { - if (ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus: 1)) - { - if (ObjClientes.DtResultados.Rows.Count == 1) - UsuarioActual.UTCOffset = ObjClientes.DtResultados.Rows[0]["UTCOffset"].ToString().ToEntero(); - } - } - catch (Exception ex) - { - ex.ToString().GuardaLog(); - } - finally - { - ObjClientes.Dispose(); + if (ObjClientes.DtResultados.Rows.Count == 1) + UsuarioActual.UTCOffset = ObjClientes.DtResultados.Rows[0]["UTCOffset"].ToString().ToEntero(); } } - - public bool IsReusable => false; - - public void ProcessRequest(HttpContext context) + catch (Exception ex) { - try - { - context.Response.ContentType = "text/plain"; - IniciarTransmision(context); - } - catch (Exception ex) - { - ex.GuardaLog(ex.Message); - } + ex.ToString().GuardaLog(); } - - private void IniciarTransmision(HttpContext context) + finally { - var UsuarioActual = ValidaUsuarioSistema(121); - DataTable dtShipments = null; - var FVCARRIERID = ""; - var SCAC = ""; - var UsuarioFV = ""; - var ContraseniaFV = ""; - var ObjGPS = new ClsGPS(); - try - { - if (ObjGPS.GetShipments(UsuarioActual.CveCliente, -1)) - { - dtShipments = ObjGPS.DtResultados.FiltraParametros("TransmitirTexto = 'Si'"); - } - if (ObjGPS.GetFVConfiguracion(UsuarioActual.CveCliente, -1)) - { - if (ObjGPS.DtResultados.Rows.Count == 1) - { - var row = ObjGPS.DtResultados.Rows[0]; - FVCARRIERID = row["fvCarrierId"].ToString().Trim(); - SCAC = row["scac"].ToString().Trim(); - UsuarioFV = row["Usuario"].ToString().Trim(); - ContraseniaFV = row["Contrasenia"].ToString().Trim(); - } - } - } - catch (Exception ex) - { - this.OnError("Ocurrió un error al obtener la configuración", ex); - } - finally - { - ObjGPS.Dispose(); - var array = new JArray(); - if (dtShipments != null) - { - foreach (DataRow Row in dtShipments.Rows) - { - var datos = GeneraRequestLO(UsuarioActual, Row["CveShipment"].ToString().ToEntero(), FVCARRIERID, SCAC); - if (datos != null) - { - var retorno = EnviarEventoAPI(UsuarioActual, Row["ShipmentID"].ToString(), Row["Customer"].ToString(), FVCARRIERID, UsuarioFV, ContraseniaFV, datos.ToString()); - array.Add(retorno); - } - } - } - context.Response.Write(array); - } + ObjClientes.Dispose(); } - protected JObject GeneraRequestLO(Usuario UsuarioActual, int CveShipment, string FVCARRIERID, string SCAC) - { - var route_id = ""; - var trailer_number = ""; - var trackingAssetId = ""; - double lat = 0; - double lon = 0; +} - var ObjGPS = new ClsGPS(); - if (ObjGPS.GetShipmentDetail(CveShipment)) +public bool IsReusable => false; + +public void ProcessRequest(HttpContext context) +{ + try + { + context.Response.ContentType = "text/plain"; + IniciarTransmision(context); + } + catch (Exception ex) + { + ex.GuardaLog(ex.Message); + } +} + +private void IniciarTransmision(HttpContext context) +{ + var UsuarioActual = ValidaUsuarioSistema(121); + DataTable dtShipments = null; + var FVCARRIERID = ""; + var SCAC = ""; + var UsuarioFV = ""; + var ContraseniaFV = ""; + var ObjGPS = new ClsGPS(); + try + { + if (ObjGPS.GetShipments(UsuarioActual.CveCliente, -1)) + { + dtShipments = ObjGPS.DtResultados.FiltraParametros("TransmitirTexto = 'Si'"); + } + if (ObjGPS.GetFVConfiguracion(UsuarioActual.CveCliente, -1)) { if (ObjGPS.DtResultados.Rows.Count == 1) { var row = ObjGPS.DtResultados.Rows[0]; - lat = row["Lat"].ToString().ToDouble(); - lon = row["Lon"].ToString().ToDouble(); - route_id = row["RouteID"].ToString(); - trailer_number = row["TrailerID"].ToString(); - trackingAssetId = row["AssetID"].ToString(); + FVCARRIERID = row["fvCarrierId"].ToString().Trim(); + SCAC = row["scac"].ToString().Trim(); + UsuarioFV = row["Usuario"].ToString().Trim(); + ContraseniaFV = row["Contrasenia"].ToString().Trim(); } } + } + catch (Exception ex) + { + this.OnError("Ocurrió un error al obtener la configuración", ex); + } + finally + { ObjGPS.Dispose(); + var array = new JArray(); + if (dtShipments != null) + { + foreach (DataRow Row in dtShipments.Rows) + { + var datos = GeneraRequestLO(UsuarioActual, Row["CveShipment"].ToString().ToEntero(), FVCARRIERID, SCAC); + if (datos != null) + { + var retorno = EnviarEventoAPI(UsuarioActual, Row["ShipmentID"].ToString(), Row["Customer"].ToString(), FVCARRIERID, UsuarioFV, ContraseniaFV, datos.ToString()); + array.Add(retorno); + } + } + } + context.Response.Write(array); + } +} +protected JObject GeneraRequestLO(Usuario UsuarioActual, int CveShipment, string FVCARRIERID, string SCAC) +{ + var route_id = ""; + var trailer_number = ""; + var trackingAssetId = ""; + double lat = 0; + double lon = 0; - var json = new JObject() + var ObjGPS = new ClsGPS(); + if (ObjGPS.GetShipmentDetail(CveShipment)) + { + if (ObjGPS.DtResultados.Rows.Count == 1) + { + var row = ObjGPS.DtResultados.Rows[0]; + lat = row["Lat"].ToString().ToDouble(); + lon = row["Lon"].ToString().ToDouble(); + route_id = row["RouteID"].ToString(); + trailer_number = row["TrailerID"].ToString(); + trackingAssetId = row["AssetID"].ToString(); + } + } + ObjGPS.Dispose(); + + var json = new JObject() { new JProperty("carrier", new JObject() { @@ -203,35 +202,35 @@ public class SIGFreightVerify : IHttpHandler, IRequiresSessionState }) }; - return json; - } + return json; +} - private JObject EnviarEventoAPI(Usuario UsuarioActual, string ShipmentID, string Customer, string FVCARRIERID, string UsuarioFV, string ContraseniaFV, string Datos) +private JObject EnviarEventoAPI(Usuario UsuarioActual, string ShipmentID, string Customer, string FVCARRIERID, string UsuarioFV, string ContraseniaFV, string Datos) +{ + var retorno = "[]"; + var token = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(string.Format("{0}:{1}", UsuarioFV, ContraseniaFV))); + string correlationId = GuidGenerator.GenerateTimeBasedGuid(UsuarioActual.FechaActualCliente).ToString(); + HttpClient wc = new HttpClient(); + try { - var retorno = "[]"; - var token = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(string.Format("{0}:{1}", UsuarioFV, ContraseniaFV))); - string correlationId = GuidGenerator.GenerateTimeBasedGuid(UsuarioActual.FechaActualCliente).ToString(); - HttpClient wc = new HttpClient(); - try - { - var fvShipmentId = $"{FVCARRIERID}|{Customer}|{ShipmentID}"; + var fvShipmentId = $"{FVCARRIERID}|{Customer}|{ShipmentID}"; - var Url = new Uri("https://api.freightverify.com/ws/rest/v2/tl/shipment/event"); - var content = new StringContent(Datos, Encoding.UTF8, "application/json"); - wc.DefaultRequestHeaders.Add("Authorization", $"Basic {token}"); - wc.DefaultRequestHeaders.Add("WSS-correlationId", correlationId); - wc.DefaultRequestHeaders.Add("X-WSS-fvShipmentId", fvShipmentId); - var response = wc.PostAsync(Url, content).Result; - retorno = response.Content.ReadAsStringAsync().Result; - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - wc.Dispose(); - - return JObject.Parse(retorno); + var Url = new Uri("https://api.freightverify.com/ws/rest/v2/tl/shipment/event"); + var content = new StringContent(Datos, Encoding.UTF8, "application/json"); + wc.DefaultRequestHeaders.Add("Authorization", $"Basic {token}"); + wc.DefaultRequestHeaders.Add("WSS-correlationId", correlationId); + wc.DefaultRequestHeaders.Add("X-WSS-fvShipmentId", fvShipmentId); + var response = wc.PostAsync(Url, content).Result; + retorno = response.Content.ReadAsStringAsync().Result; } + catch (Exception ex) + { + Console.WriteLine(ex); + } + wc.Dispose(); + + return JObject.Parse(retorno); +} } namespace FluentGenerator { diff --git a/Ashx/SIGPolizaVirtual.ashx b/Ashx/SIGPolizaVirtual.ashx index 73c700dde..c20162667 100644 --- a/Ashx/SIGPolizaVirtual.ashx +++ b/Ashx/SIGPolizaVirtual.ashx @@ -25,38 +25,22 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState Private Function ValidaUsuarioSistema(CveEmpresa As Integer, Optional CveUsuario As Integer = 100) As Usuario - Dim UsuarioToken As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(CveUsuario) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioToken.CveEmpresa = CveEmpresa - CreaObjetoEmpresa(UsuarioToken) - End If - End If + Dim UsuarioToken As Usuario = Nothing + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + + If ObjUsuarios.DtResultados.Rows.Count > 0 Then + Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() + Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() + UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) + UsuarioToken.CveEmpresa = CveEmpresa + + End If + ObjUsuarios.Dispose() Return UsuarioToken - End Function - Private Sub CreaObjetoEmpresa(ByRef UsuarioToken As Usuario) - - Dim ObjEmpresa As New ClsSisEmpresas() - If ObjEmpresa.GetEmpresas(UsuarioToken.CveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioToken.CveEmpresa) Then - Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - - Dim EmpresasFuncionalidades As New HybridDictionary - For Each Row As Data.DataRow In dttmp.Rows - EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) - Next - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) - End If - - UsuarioToken.Empresa = ObjEmpresa.Empresa - End If - ObjEmpresa.Dispose() - End Sub + End Function + #End Region Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx index 706130f8d..11eaff1b9 100644 --- a/Ashx/TareasProgramadas.ashx +++ b/Ashx/TareasProgramadas.ashx @@ -117,8 +117,9 @@ Public Class TareasProgramadas : Implements IHttpHandler If GlobalDTUsuarios.Rows.Count > 0 Then - Dim dtrow As DataRow = GlobalDTUsuarios.Rows(0) - Dim ObjUsuario As New ClsSisUsuarios + Dim dtrow As DataRow = GlobalDTUsuarios.Rows(0) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(cveEmpresa) + Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) usuario = ObjUsuario.ValidaUsuario(dtrow("Usuario").ToString, dtrow("Contraseña").ToString, CveEmpresa:=cveEmpresa) ObjUsuario.Dispose() @@ -225,8 +226,9 @@ Public Class TareasProgramadas : Implements IHttpHandler End If #End Region #Region "obtengo el usuario con el username y la pass" - - Using ObjUsuario As New ClsSisUsuarios() + 'Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper()) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Using ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) usuario = ObjUsuario.ValidaUsuario(username, pass, CveEmpresa:=CveEmpresa) End Using #End Region @@ -345,41 +347,19 @@ Public Class TareasProgramadas : Implements IHttpHandler End Sub - Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario - Dim UsuarioActual As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(100) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioActual.CveEmpresa = CveEmpresa - HttpContext.Current.Session("UsuarioSIG") = UsuarioActual - CreaObjetoEmpresa(UsuarioActual) - End If - End If - ObjUsuarios.Dispose() - Return UsuarioActual - End Function - Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) - - Dim ObjEmpresa As New ClsSisEmpresas() - If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then - Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - - Dim EmpresasFuncionalidades As New HybridDictionary - For Each Row As Data.DataRow In dttmp.Rows - EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) - Next - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) - End If - - UsuarioActual.Empresa = ObjEmpresa.Empresa - End If - ObjEmpresa.Dispose() - End Sub + Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario + Dim UsuarioActual As Usuario = Nothing + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + 'CreaObjetoEmpresa(UsuarioActual) + End If + ObjUsuarios.Dispose() + Return UsuarioActual + End Function Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, FechaEnvio As DateTime, FechaActual As DateTime, Optional pCveCliente As Integer = -1) As JObject Dim ClientesSinEnviar As New JArray() diff --git a/Bancos/Creditos.aspx.vb b/Bancos/Creditos.aspx.vb index 57f66289e..7ae86544c 100644 --- a/Bancos/Creditos.aspx.vb +++ b/Bancos/Creditos.aspx.vb @@ -416,7 +416,7 @@ Partial Class Bancos_Creditos If ObjCreditos.CvePrePoliza > 0 Then UpSaldo.Visible = True LbFacturaFecha.Text = ObjCreditos.FacturaFecha.ToShortDateString - HLSaldoPrePoliza.NavigateUrl = $"/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={ObjCreditos.CvePrePoliza}" + HLSaldoPrePoliza.NavigateUrl = $"/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={ObjCreditos.CvePrePoliza}" LbSaldo.Text = $"Saldo Acreedor " If ObjCreditos.GetBancosIEMovimientos(dr("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) AndAlso ObjCreditos.DtResultados.Rows.Count > 0 Then diff --git a/Bancos/CuentasBancariasDetalle.aspx b/Bancos/CuentasBancariasDetalle.aspx index a5bf33e69..7c2bb543c 100644 --- a/Bancos/CuentasBancariasDetalle.aspx +++ b/Bancos/CuentasBancariasDetalle.aspx @@ -123,6 +123,14 @@ + + + + + + + + diff --git a/Bancos/CuentasBancariasDetalle.aspx.vb b/Bancos/CuentasBancariasDetalle.aspx.vb index 2a64a3b22..bffdc7410 100644 --- a/Bancos/CuentasBancariasDetalle.aspx.vb +++ b/Bancos/CuentasBancariasDetalle.aspx.vb @@ -234,11 +234,14 @@ Partial Class Bancos_CuentasBancariasDetalle DdlTipoCuenta_SelectedIndexChanged(DdlTipoCuenta, EventArgs.Empty) + TxtNumeroSucursal.Text = ObjCuentasBancariasDetalle.NumeroSucursal + If UsuarioActual.Empresa.TipoContabilizacion = 1 Then DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaConta.ToString) DdlCuentaContableComplementaria.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaContaComplementaria.ToString) Else + 'Dim ExisteEnIntems As Boolean = False 'For Each li As ListItem In DDlCuentaContable.Items @@ -293,7 +296,7 @@ Partial Class Bancos_CuentasBancariasDetalle TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked, - CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero) Then + CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta Else ErrorUsuarios = True @@ -327,7 +330,7 @@ Partial Class Bancos_CuentasBancariasDetalle If ObjCuentasBancariasDetalle.UpdateBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text, ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked, - CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero) Then + CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then 'CargaDatos() GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing 'If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index b24b9059c..1b258fe1f 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -330,7 +330,7 @@
-
+
diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index e94b3853b..f5244df41 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -194,8 +194,8 @@ Partial Class Bancos_DepositosCaja TotalImporte = TotalImporte + Comision 'Comision = -(Comision) ' se inverte el valor, va cargada 'Descuento = -(Descuento) ' se inverte el valor, va cargada - If DdlSubProyectoDeposito.SelectedValue.ToEntero = -1 Or DdlClasificacion.SelectedValue.ToEntero = -1 Then - Alert("Debes Seleccionar un Subproyecto y una Clasificación", TipoMensaje.MsgAdvertencia) + If DdlSubProyectoDeposito.SelectedValue.ToEntero = -1 Then + Alert("Debes Seleccionar un Subproyecto ", TipoMensaje.MsgAdvertencia) Exit Sub End If End If @@ -344,7 +344,7 @@ Partial Class Bancos_DepositosCaja CveSubProyectoComision = DdlSubProyectoDeposito.SelectedValue.ToEntero CveClasificacionComision = DdlClasificacion.SelectedValue.ToEntero If Comision <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, Comision * TipoCambio, 78, DdlClasificacion.SelectedItem.Text, DdlClasificacion.SelectedItem.Text, CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision) Then + If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, Comision * TipoCambio, 78, "Depósito Bancario", "Depósito Bancario", CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision) Then OcurrioError = True End If End If @@ -416,7 +416,7 @@ Partial Class Bancos_DepositosCaja Next Dim StrEncript As String = Encripta($"OP=DC&CveIE={CveIEOrigen}&CuentaCaja={DdlCajaChica.SelectedItem.Text}&CuentaDepo={DdlCuentaDeposito.SelectedItem.Text}") - documentos += String.Format("Imprimir {1}
", StrEncript, "Depósito Bancario") + documentos += String.Format("Imprimir {1}

", StrEncript, "Depósito Bancario") @@ -430,7 +430,11 @@ Partial Class Bancos_DepositosCaja End If If Not OcurrioError Then - documentos += String.Format("Prepóliza

", NuevaCvePrePoliza) + documentos += String.Format("Prepóliza
", NuevaCvePrePoliza) + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + Dim ParametrosPrePoliza As String = Encripta($"OP=PREPO&CvePrePoliza={NuevaCvePrePoliza}") + documentos += String.Format("Imprimir {1}
", ParametrosPrePoliza, "PrePoliza") + End If End If Catch ex As Exception diff --git a/Bancos/PagoAcreedor.aspx b/Bancos/PagoAcreedor.aspx index bff947397..704c2ed38 100644 --- a/Bancos/PagoAcreedor.aspx +++ b/Bancos/PagoAcreedor.aspx @@ -231,7 +231,7 @@
-
+
$ @@ -246,7 +246,7 @@
-
+
@@ -271,6 +271,9 @@ Deudores Diversos
+
+ +
diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs index c357c01e4..d72929c9c 100644 --- a/Bancos/PagoAcreedor.aspx.cs +++ b/Bancos/PagoAcreedor.aspx.cs @@ -197,7 +197,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas int CvePrePoliza = 0; int CveMonedaPago = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero()}").ToEntero(); int FolioFijo = 0; - int IDPoliza = 0; + //int IDPoliza = 0; StringBuilder Msg = new StringBuilder(); @@ -441,7 +441,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas // Msg.AppendFormat(@"

Ver Póliza", IDPoliza); //} - Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); + Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); Msg.AppendFormat($"Imprimir"); } @@ -521,7 +521,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas int CvePrePoliza = 0; int CveMoneda = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuentaPrestamo.SelectedValue.ToEntero()}").ToEntero(); int FolioFijo = 0; - int IDPoliza = 0; + //int IDPoliza = 0; StringBuilder Msg = new StringBuilder(); //OBTIENE COMPROBANTE !! @@ -660,7 +660,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas //{ // Msg.AppendFormat(@"

Ver Póliza", IDPoliza); //} - Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); + Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); Msg.AppendFormat($"Imprimir"); } @@ -764,21 +764,28 @@ public partial class Bancos_PagoAcreedor : ClsPaginas protected void DdlOtrosPagos_SelectedIndexChanged(object sender, EventArgs e) { - if (DdlOtrosPagos.SelectedValue != "-1") + divDD.Visible = false; + if (DdlOtrosPagos.SelectedValue == "2") { TxtOtrosImportes.Visible = true; TxtTotal.Visible = true; GvMovAcreedor.Columns[8].Visible = true; - } - else - { - TxtOtrosImportes.Visible = false; - TxtTotal.Visible = false; - GvMovAcreedor.Columns[8].Visible = false; TxtOtrosImportes.Text = ""; TxtTotal.Text = ""; RegistraScript($"$get('TxtImporte').value = FormatoNumero(SumaValores({CveMonedaCuentaPago}), 2);"); } + else + { + if (DdlOtrosPagos.SelectedValue == "3") + { + TxtDDImporte.Text = ""; + divDD.Visible = true; + RegistraScript($"$get('TxtImporte').value = FormatoNumero(SumaValores({CveMonedaCuentaPago}), 2);"); + } + TxtOtrosImportes.Visible = false; + TxtTotal.Visible = false; + GvMovAcreedor.Columns[8].Visible = false; + } UpDatos.Update(); UpMovAcreedor.Update(); } diff --git a/Bancos/PagoDeudor.aspx.cs b/Bancos/PagoDeudor.aspx.cs index 5ca8a834f..04f6e33d2 100644 --- a/Bancos/PagoDeudor.aspx.cs +++ b/Bancos/PagoDeudor.aspx.cs @@ -186,7 +186,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas int CvePlantillaPoliza = 45; int CvePrePoliza = 0; int FolioFijo = 0; - int IDPoliza = 0; + //int IDPoliza = 0; decimal tipoCambio = (CveMonedaPrestamo == 2) ? TxtTCDolaresPrestamo.Text.ToDecimal() : 1; StringBuilder Msg = new StringBuilder(); @@ -349,7 +349,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas //{ // Msg.AppendFormat(@"

Ver Póliza", IDPoliza); //} - Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); + Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); Msg.AppendFormat($"Imprimir"); } @@ -467,7 +467,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas int CvePrePoliza = 0; int CveMoneda = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero()}").ToEntero(); int FolioFijo = 0; - int IDPoliza = 0; + //int IDPoliza = 0; decimal tipoCambio = (TxtTCDolaresPago.Visible == true) ? TxtTCDolaresPago.Text.ToDecimal() : 1; decimal importeMN = HdnImporteMN.Value.ToDecimal(); StringBuilder Msg = new StringBuilder(); @@ -723,7 +723,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas //{ // Msg.AppendFormat(@"

Ver Póliza", IDPoliza); //} - Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); + Msg.AppendFormat(@"Ver Póliza
", CvePrePoliza); Msg.AppendFormat($"Imprimir"); } diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb index e8da3815a..9f9dcaf4e 100644 --- a/Bancos/PopIEVentas.aspx.vb +++ b/Bancos/PopIEVentas.aspx.vb @@ -298,6 +298,7 @@ Partial Class Bancos_PopIEVentas End If CveClienteOriginal = -1 CveSubProyectoVenta = -1 + TxtFechaEmision.Text = Now.ToShortDateString CType(Me.Master, BaseMasterPage).EsPopup = True CType(Me.Master, BaseMasterPage).PopupWidth = 750 diff --git a/Bancos/RepCortes.aspx b/Bancos/RepCortes.aspx index 65f77f716..c6a670687 100644 --- a/Bancos/RepCortes.aspx +++ b/Bancos/RepCortes.aspx @@ -80,7 +80,7 @@
- F.I.: + F.Inicio.:
@@ -98,7 +98,7 @@
- F.F.: + F.Fin.:
@@ -131,7 +131,7 @@ - + diff --git a/Bancos/RepCortes.aspx.vb b/Bancos/RepCortes.aspx.vb index 67ddada77..86d87a132 100644 --- a/Bancos/RepCortes.aspx.vb +++ b/Bancos/RepCortes.aspx.vb @@ -106,7 +106,7 @@ Partial Class Bancos_RepCortes #Region "G V - D A T O S " Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - If e.Row.DBCampo("CveCorte").ToString = "" Then + If e.Row.DBCampo("FechaInicial").ToString = "" Then e.Row.CssClass = "SubTotales2" If DtCortes IsNot Nothing Then e.Row.FCLiteral("LtlImporteInicial").Text = DtCortes.SUMD("ImporteInicial").FormatoNumero(2) @@ -189,10 +189,12 @@ Partial Class Bancos_RepCortes Protected Sub LbDescripcion_Click(sender As Object, e As EventArgs) Dim btn As LinkButton = DirectCast(sender, LinkButton) Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow) - CveCorte = gvr.DataKey("CveCorte").ToString.ToEntero - Dim Finalizado As Integer = gvr.DataKey("Finalizado").ToString.ToEntero - Fecha = gvr.DataKey("FechaInicial").ToString - Nombre = gvr.DataKey("Nombre").ToString + + CveCorte = gvr.DataKey("CveCorte").ToEntero() + + Dim Finalizado As Integer = gvr.DataKey("Finalizado").ToEntero() + Fecha = gvr.DataKey("FechaInicial") + Nombre = gvr.DataKey("Nombre") 'If ObjPuntoVenta.GetCortesDetalleVentas(CveCorte, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, 2) Then ' DtCortesVentas = ObjPuntoVenta.DtResultados.Copy() @@ -212,9 +214,17 @@ Partial Class Bancos_RepCortes ' GvPorIVA.DataSource = ObjVentas.DtResultados ' End If 'End If + Dim FechaConsulta = ModExtensiones.MaxFecha + + Dim ConsultaPorSucursal As Boolean = UsuarioActual.Empresa.Funcionalidad(382) = "1" + + If ConsultaPorSucursal Then + CveCorte = -1 + FechaConsulta = gvr.DataKey("FechaInicial").ToDate() + End If Dim ObjVentas As New ClsVentas - If ObjVentas.GetVta_ReporteCortesDetalle(CveCorte, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Opcion:=2, ConsultaIVA:=UsuarioActual.CveEmpresa.Contiene(190, 192)) Then + If ObjVentas.GetVta_ReporteCortesDetalle(CveCorte, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Opcion:=2, ConsultaIVA:=UsuarioActual.CveEmpresa.Contiene(190, 192), FechaConsulta:=FechaConsulta) Then Dim DsDatos = ObjVentas.DataSetResultados.Copy() If DsDatos IsNot Nothing Then 'DESGLOSE @@ -242,12 +252,13 @@ Partial Class Bancos_RepCortes End If End If - If ObjVentas.GetVta_MovimientosCajasReporte(CveCorte, -1) Then - GvIngresosRetiros.DataSource = ObjVentas.DtResultados.Copy() + If CveCorte > 0 Then + If ObjVentas.GetVta_MovimientosCajasReporte(CveCorte, -1, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero(), FechaConsulta:=FechaConsulta) Then + GvIngresosRetiros.DataSource = ObjVentas.DtResultados.Copy() + End If End If - - If Not UsuarioActual.CveEmpresa.Contiene(140, 141) AndAlso ObjVentas.GetCortesDetalleDepositosCaja(CveCorte, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + If Not UsuarioActual.CveEmpresa.Contiene(140, 141) AndAlso ObjVentas.GetCortesDetalleDepositosCaja(CveCorte, DdlSubProyectos.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, FechaConsulta:=FechaConsulta) Then GvDep.DataSource = ObjVentas.DtResultados If ObjVentas.DtResultados.Rows.Count > 0 Then DivDep.Visible = True @@ -258,8 +269,8 @@ Partial Class Bancos_RepCortes If (DtCortesVentasResumen IsNot Nothing AndAlso DtCortesVentasResumen.Rows.Count > 0) Or (DtCortesVentas IsNot Nothing AndAlso DtCortesVentas.Rows.Count > 0) Then HplDownPDF.Visible = True HplDownEXCEL.Visible = True - HplDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}&CVESUBPROYECTO={2}", CveCorte, "PDF", DdlSubProyectos.SelectedValue.ToEntero))) - HplDownEXCEL.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}&CVESUBPROYECTO={2}", CveCorte, "EXCEL", DdlSubProyectos.SelectedValue.ToEntero))) + HplDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}&CVESUBPROYECTO={2}&FECHA={3}", CveCorte, "PDF", DdlSubProyectos.SelectedValue.ToEntero, FechaConsulta.ToString("yyyy-MM-dd")))) + HplDownEXCEL.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}&CVESUBPROYECTO={2}&FECHA={3}", CveCorte, "EXCEL", DdlSubProyectos.SelectedValue.ToEntero, FechaConsulta.ToString("yyyy-MM-dd")))) Else HplDownPDF.Visible = False HplDownEXCEL.Visible = False diff --git a/CRM/RepAcercamientos.aspx b/CRM/RepAcercamientos.aspx index ca7812381..2b1f94165 100644 --- a/CRM/RepAcercamientos.aspx +++ b/CRM/RepAcercamientos.aspx @@ -166,31 +166,39 @@ - <%--4--%> + + <%--4--%> + + + + + + + <%--5--%> - <%--5--%> + <%--6--%> - <%--6--%> + <%--7--%> - <%--7--%> + <%--8--%> - <%--8--%> + <%--9--%> @@ -209,6 +217,13 @@ + <%--12--%> + + + + + + @@ -280,7 +295,9 @@ - + + + diff --git a/CRM/RepAcercamientos.aspx.cs b/CRM/RepAcercamientos.aspx.cs index d1459a74e..3047138ca 100644 --- a/CRM/RepAcercamientos.aspx.cs +++ b/CRM/RepAcercamientos.aspx.cs @@ -173,13 +173,16 @@ public partial class CRM_RepAcercamientos : ClsPaginas GVDatos.Columns[1].Visible = ChkAcercamiento.Checked; GVDatos.Columns[2].Visible = ChkEtapa.Checked; GVDatos.Columns[3].Visible = ChkMedioCaptacion.Checked; - GVDatos.Columns[4].Visible = ChkVendedor.Checked; - GVDatos.Columns[5].Visible = ChkImporte.Checked; - GVDatos.Columns[6].Visible = ChkApertura.Checked; - GVDatos.Columns[7].Visible = ChkCierre.Checked; - GVDatos.Columns[8].Visible = ChkPS.Checked; - GVDatos.Columns[9].Visible = ChkEnPausa.Checked; - GVDatos.Columns[10].Visible = ChkGiro.Checked; + GVDatos.Columns[4].Visible = ChkMedioCaptacion.Checked; + + GVDatos.Columns[5].Visible = ChkVendedor.Checked; + GVDatos.Columns[6].Visible = ChkImporte.Checked; + GVDatos.Columns[7].Visible = ChkApertura.Checked; + GVDatos.Columns[8].Visible = ChkCierre.Checked; + GVDatos.Columns[9].Visible = ChkPS.Checked; + GVDatos.Columns[10].Visible = ChkEnPausa.Checked; + GVDatos.Columns[11].Visible = ChkGiro.Checked; + GVDatos.Columns[12].Visible = ChkClasificacion.Checked; UPDatos.Update(); diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index c2c1cbf6d..32c51a0c3 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -5918,57 +5918,63 @@ } - function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra, txtComision) { - var Total = ToDouble($get('TxtTotal').value); - debugger; - var txtvalue = ToDouble(txt.value); - var ImportePago, ImporteCompra; - - var TCC = TCCompra / TCAnticipo; - var importevalue = ToDouble(importe); + function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra, txtComision) { + var Total = ToDouble($get('TxtTotal').value); + debugger; + var txtvalue = ToDouble(txt.value); + var ImportePago, ImporteCompra; - if (CveMonedaAnticipo != CveMonedaOriginal) { - if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { - txtvalue = ToDouble(txtvalue / TCAnticipo); - importevalue = ToDouble(importevalue / TCAnticipo); - } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { - txtvalue = ToDouble(txtvalue * TCAnticipo); - importevalue = ToDouble(importevalue * TCAnticipo); - } + var TCC = TCCompra / TCAnticipo; + var importevalue = ToDouble(importe); + + if (CveMonedaAnticipo != CveMonedaOriginal) { + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + txtvalue = ToDouble(txtvalue / TCAnticipo); + importevalue = ToDouble(importevalue / TCAnticipo); + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + txtvalue = ToDouble(txtvalue * TCAnticipo); + importevalue = ToDouble(importevalue * TCAnticipo); } - else { TCC = 1; } - var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt());//.toFixed(2); // le agrego lo del valor actual para validarlo - - - - if (t.checked) - { - if (DifSaldo > importevalue) { - txt.value = toFixed(ToDouble(importevalue * TCC), 2); - } else { - txt.value = toFixed(ToDouble(DifSaldo * TCC), 2); - } - - - if (txtComision !== undefined && txtComision !== null) { - let difFinal = (DifSaldo - importevalue) * TCC; - if (difFinal > 0 && difFinal < 1) { - txtComision.value = toFixed(roundToTwo(difFinal), 2); - } - } - - - } else { - txt.value = ""; - } - - $("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(), 2)); - $("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(), 2)); - $("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(), 2)); - $("#LblSaldoFactura").text(FormatoNumero(TotalSaldoCompra - FnSumaValoresAnt(), 2)); - - } + else { TCC = 1; } + + var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal));//.toFixed(2); // le agrego lo del valor actual para validarlo + + if (t.checked) { + + + let saldoVal = importevalue; + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + saldoVal = ToDouble(importevalue / TCC) + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + saldoVal = ToDouble(importevalue * TCC) + } + + if (DifSaldo > saldoVal) { + txt.value = toFixed(ToDouble(saldoVal * TCC), 2); + } else { + txt.value = toFixed(ToDouble(DifSaldo * TCC), 2); + } + + + if (txtComision !== undefined && txtComision !== null) { + let difFinal = (DifSaldo - importevalue) * TCC; + if (difFinal > 0 && difFinal < 1) { + txtComision.value = toFixed(roundToTwo(difFinal), 2); + } + } + + } else { + txt.value = ""; + } + + $("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2)); + $("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2)); + $("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(CveMonedaAnticipo, CveMonedaOriginal), 2)); + $("#LblSaldoFactura").text(FormatoNumero(TotalSaldoCompra - FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2)); + + + } function roundToTwo(num) { return Math.round(num * 100) / 100; @@ -5976,6 +5982,7 @@ function FnCambiaAnt(chk, txt, saldo, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, txtComision) { + var Total = ToDouble($get('TxtTotal').value); let txtComisionImporte = 0; debugger; @@ -6003,11 +6010,42 @@ txtvalue = ToDouble(txtvalue * TCAnticipo); } - var SaldoCompra = toFixed(TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue),2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); - - if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue; - //minimo entre saldocompra y el saldoanticipo - if (SaldoCompra < saldo) saldo = SaldoCompra; + let amortizado = ToDouble(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal)) - ToDouble(txtvalue) ; + let SaldoCompra = toFixed(TotalSaldo - amortizado, 2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); + + + if (SaldoCompra < 0) {//minimo entre saldocompra y el saldoanticipo + + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + + txt.value = SaldoCompra - ToDouble(txtvalue * TCAnticipo); + + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + + txt.value = SaldoCompra - ToDouble(txtvalue / TCAnticipo); + + } else { + txt.value = SaldoCompra - txtvalue; + } + } + + let saldoVal = saldo; + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + saldoVal = ToDouble(saldo / TCAnticipo) + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + saldoVal = ToDouble(saldo * TCAnticipo) + } + + if (saldoVal > SaldoCompra ) { + saldo = SaldoCompra; + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + saldoVal = ToDouble(saldo / TCAnticipo); + saldo = ToDouble(saldo * TCAnticipo); + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + saldoVal = ToDouble(saldo * TCAnticipo) + saldo = ToDouble(saldo / TCAnticipo); + } + } if (ToDouble(txtvalue) > 0) { chk.checked = true; @@ -6015,15 +6053,16 @@ chk.checked = false; } - if (ToDouble(txtvalue) > saldo) { - txt.value = saldo; + if (ToDouble(txtvalue) > saldoVal) { + txt.value = FormatoNumero(saldo, 2); alert("El Importe no debe de exceder a el saldo"); - } + } - $("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(), 2)); - $("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(), 2)); - $("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(), 2)); - $("#LblSaldoFactura").text(FormatoNumero(TotalSaldo - FnSumaValoresAnt(), 2)); + $("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2)); + $("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2)); + $("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(CveMonedaAnticipo, CveMonedaOriginal), 2)); + $("#LblSaldoFactura").text(FormatoNumero(TotalSaldo - FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2)); + } //funcion para truncar en lugar de redondear @@ -6032,37 +6071,49 @@ return num.toString().match(re)[0]; } - function FnSumaValoresAnt() { - var totalPoints = 0; - var t = ''; + function FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal) { + + var totalPoints = 0; $('input[name*=TxtAnticipo]').each(function () { - totalPoints += ToDouble($(this).val()); + // totalPoints += ToDouble($(this).val()); + let txtvalue = ToDouble($(this).val()); + //let asdasdasd = $(this).data('tcanticipo'); + let TCAnticipo = ToDouble($(this).data('tcanticipo')); + + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + txtvalue = ToDouble(txtvalue / TCAnticipo); + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + txtvalue = ToDouble(txtvalue * TCAnticipo); + } + totalPoints += txtvalue; }); - //$('span[id*=LbTotal]').each(function () { - // totalPoints += ToDouble($(this).val()); - //}); - let respuesta = Math.round(totalPoints * 100) / 100; - return respuesta + return totalPoints } - function FnSumaValoresAntComisiones() { - var totalPoints = 0; - var t = ''; + function FnSumaValoresAntComisiones(CveMonedaAnticipo, CveMonedaOriginal) { + var totalPoints = 0; $('input[name*=TxtComision]').each(function () { - totalPoints += ToDouble($(this).val()); + //totalPoints += ToDouble($(this).val()); + let txtvalue = ToDouble($(this).val()); + let TCAnticipo = ToDouble($(this).data('tcanticipo')); + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + txtvalue = ToDouble(txtvalue / TCAnticipo); + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + txtvalue = ToDouble(txtvalue * TCAnticipo); + } + totalPoints += txtvalue; }); let respuesta = Math.round(totalPoints * 100) / 100; - return respuesta + return totalPoints } - function FnCambiaFacturaNC(saldo, txt, total, txtaplicado, chk) { var SumaImporte = 0, Importe = 0; diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 81cb8ee6f..46dc9e0b8 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1948,7 +1948,7 @@ Partial Class Compras_Compras For Each concepto As XmlNode In nodeconceptos ' Obtener la descripción del concepto Dim descripcion As String = ValorXML(concepto, "Descripcion") - Dim importeValue As Decimal = Decimal.Parse(ValorXML(concepto, "Importe")) + Dim importeValue As Decimal = Decimal.Parse(ValorXML(concepto, "Importe")).RoundSQL(2) ' Seleccionar el nodo de Impuestos dentro de Concepto, si existe Dim impuestosNode As XmlNode = concepto.SelectSingleNode("cfdi:Impuestos", namespaces) @@ -1958,7 +1958,7 @@ Partial Class Compras_Compras Dim retenciones As XmlNodeList = impuestosNode.SelectNodes("cfdi:Retenciones/cfdi:Retencion", namespaces) For Each retencion As XmlNode In retenciones ' Obtener los valores de los atributos Base e Importe - Dim baseValue As Decimal = Decimal.Parse(ValorXML(retencion, "Base")) + Dim baseValue As Decimal = Decimal.Parse(ValorXML(retencion, "Base")).RoundSQL(2) Dim impuesto As String = ValorXML(retencion, "Impuesto") If impuesto = "001" Then @@ -3654,15 +3654,15 @@ Partial Class Compras_Compras If UsuarioActual.Empresa.Funcionalidad(560) = "1" Then - If ObjProveedor.GetProveedoresEvaluacionPediente(Me.CveProveedor, UsuarioActual.CveEmpresa) Then - If ObjProveedor.DtResultados.Rows.Count > 0 Then - Me.RequiereEvaluacion = ObjProveedor.DtResultados.Rows(0)("RequiereEvaluacion").ToString() = "1" - Me.CveUsuarioEvaluador = ObjProveedor.DtResultados.Rows(0)("CveUsuarioEvaluador").ToString().ToEntero() - End If - End If + If ObjProveedor.GetProveedoresEvaluacionPediente(Me.CveProveedor, UsuarioActual.CveEmpresa) Then + If ObjProveedor.DtResultados.Rows.Count > 0 Then + Me.RequiereEvaluacion = ObjProveedor.DtResultados.Rows(0)("RequiereEvaluacion").ToString() = "1" + Me.CveUsuarioEvaluador = ObjProveedor.DtResultados.Rows(0)("CveUsuarioEvaluador").ToString().ToEntero() End If + End If + End If - ObjProveedor.Dispose() + ObjProveedor.Dispose() End Sub Private Sub CargaAnticipos(CveProveedor As Integer, Optional FiltroTipo As String = "-1") @@ -4406,7 +4406,7 @@ Partial Class Compras_Compras Exit Sub End If - If UsuarioActual.TienePermisoProceso(121) Then + If UsuarioActual.TienePermisoProceso(121) And Not (CveImportacion > 0 Or CveFlete > 0) Then 'valida que de salida, pero sino es importación o costoindirecto If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then If Not NCDevolucion And Not ChkNCInvNC.Checked Then Alert("Favor de seleccionar un producto en la pestaña de almacen", TipoMensaje.MsgAdvertencia) @@ -8362,8 +8362,19 @@ Partial Class Compras_Compras Pago.TCPago = TipoCambioAnt Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero - If ChkPagarConPesos.Checked Then Pago.TCCambioMoneda = 1 / TipoCambioAnt - If ChkPagarConDolares.Checked Then Pago.TCCambioMoneda = TipoCambioAnt + Dim tTCFecha As Double = If(Not gvr.DataKey("TCCompra").ToDouble > 1, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate), gvr.DataKey("TCCompra").ToDouble) + + If ChkPagarConPesos.Checked Then + Pago.TCCambioMoneda = 1 / TipoCambioAnt + If CveMoneda = 2 Then + 'Pago.TCCambioMoneda = tTCFecha.ToDecimal + Pago.TCCambioMoneda = 1 / tTCFecha.ToDecimal + End If + End If + + If ChkPagarConDolares.Checked Then + Pago.TCCambioMoneda = TipoCambioAnt + End If Select Case gvr.DataKey("TipoDocto") Case "NC", "DEV", "RNC" @@ -8415,10 +8426,10 @@ Partial Class Compras_Compras If ErrorMovtosCxP = 0 AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePolizaNueva, UsuarioActual) Then ErrorMovtosCxP = 1 - 'If ObjConta.ValorPolizaDescuadre > 0 Then - ' GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - ' ErrorPrepolizaDescuadre = True - 'End If + If ObjConta.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + + End If End If Select Case ErrorMovtosCxP @@ -9780,8 +9791,9 @@ Partial Class Compras_Compras Dim tTCFecha As Double = If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble) + e.Row.FCTextBox("TxtAnticipo").Attributes.Add("data-tcanticipo", tTCFecha.ToString) - Dim TCAnt As Decimal = If(DdlMoneda.SelectedValue = "1", 1, If(CveCompra > 0, LblTC.Text.ToDecimal, TxtTC.Text.ToDecimal)) + Dim TCAnt As Decimal = If(DdlMoneda.SelectedValue = "1", 1, If(CveCompra > 0, LblTC.Text.Replace("TC:", "").ToDecimal, TxtTC.Text.ToDecimal)) If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then @@ -13801,10 +13813,10 @@ Partial Class Compras_Compras End If End If Else - ErrorCancelar = True - End If - + ErrorCancelar = True End If + + End If Next End If @@ -17096,7 +17108,7 @@ Partial Class Compras_Compras Dim Total As Decimal = (TxtCantidad.Text.ToDecimal * TxtPrecio.Text.ToDecimal) - TxtDescuentoModal.Text.ToDecimal - 'If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then + 'If UsuarioActual.Empresa.Funcionalidad(532).Contiene( "1","2") Then ' Dim ObjCon As New ClsContratos ' Dim CvePresupuesto As Integer = 0 ' Dim Autorizado As Double = 0 @@ -18128,11 +18140,13 @@ Partial Class Compras_Compras Dr("CveUM") = DtEquivalencia.FiltroPrimeroValor("CveUM", "UnidadBase = 1") Dr("UM") = DtEquivalencia.FiltroPrimeroValor("UM", "UnidadBase = 1") Dr("Cantidad") = Dr("Cantidad").ToString.ToDouble * Equivalencia + Dr("CantidadF") = Dr("CantidadF").ToString.ToDouble * Equivalencia Dr("PU") = Math.Round(Dr("PU").ToString.ToDouble / Equivalencia, 6) TmpDT.AcceptChanges() GvPS.DataSource = TmpDT GvPS.DataBind() + CargaGvInv() UpPS.Update() Else Alert("La cantidad de equivalencia de la unidad de medida debe ser mayor a 0", TipoMensaje.MsgAdvertencia) @@ -20760,7 +20774,7 @@ Partial Class Compras_Compras Dim respuesta As Boolean = False - If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then If Opcion = 1 Or OCVinculada Or DdlTipoComprobante.SelectedValue <> "Fac" Then Return True diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 5ae8eb43b..0fcf524a0 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -94,15 +94,15 @@ Partial Class PopUpVerFactura Dim UserParams As Hashtable = Parametros(Decripta((Request.Headers("ADSToken").ToString))) Dim CveEmpresaToken As Integer = UserParams("CVEEMPRESA").ToString().ToEntero() Dim CveUsuario As Integer = IfNull(UserParams("CVEUSUARIO"), 100, UserParams("CVEUSUARIO").ToString().ToEntero()).ToString().ToEntero() + If CveEmpresaToken > 0 AndAlso CveUsuario > 0 Then + Dim UsuarioToken As Usuario = ValidaUsuarioSistema(CveEmpresaToken, CveUsuario) - Dim UsuarioToken As Usuario = ValidaUsuarioSistema(CveEmpresaToken, CveUsuario) - - If UsuarioToken IsNot Nothing AndAlso Context.Session("UsuarioSIG") Is Nothing Then - Context.Session("UsuarioSIG") = UsuarioToken + If UsuarioToken IsNot Nothing AndAlso Context.Session("UsuarioSIG") Is Nothing Then + Context.Session("UsuarioSIG") = UsuarioToken + End If End If End If - If Request("CVETIMBRE") IsNot Nothing AndAlso Request("CVETIMBRE") IsNot Nothing Then ImprimeFormatoCartaPorteTimbrado(Request("CVETIMBRE").ToString.ToEntero) End If @@ -1154,40 +1154,24 @@ Partial Class PopUpVerFactura End Sub #Region "U S U A R I O - T O K E N" - Private Function ValidaUsuarioSistema(CveEmpresa As Integer, Optional CveUsuario As Integer = 100) As Usuario + Private Function ValidaUsuarioSistema(CveEmpresa As Integer, CveUsuario As Integer) As Usuario Dim UsuarioToken As Usuario = Nothing - Dim ObjUsuarios As New ClsSisUsuarios - If ObjUsuarios.GetUsuarios(CveUsuario) Then - If ObjUsuarios.DtResultados.Rows.Count > 0 Then - Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() - Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() - UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) - UsuarioToken.CveEmpresa = CveEmpresa - CreaObjetoEmpresa(UsuarioToken) - End If + 'Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper()) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioToken = ObjUsuarios.GetUsuarioDetalle(CveUsuario, CveEmpresa) + If UsuarioToken IsNot Nothing Then + Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() + Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() + UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) + UsuarioToken.CveEmpresa = CveEmpresa End If ObjUsuarios.Dispose() Return UsuarioToken End Function - Private Sub CreaObjetoEmpresa(ByRef UsuarioToken As Usuario) - Dim ObjEmpresa As New ClsSisEmpresas() - If ObjEmpresa.GetEmpresas(UsuarioToken.CveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioToken.CveEmpresa) Then - Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - - Dim EmpresasFuncionalidades As New HybridDictionary - For Each Row As Data.DataRow In dttmp.Rows - EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) - Next - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) - End If - - UsuarioToken.Empresa = ObjEmpresa.Empresa - End If - ObjEmpresa.Dispose() - End Sub #End Region Private Sub SeleccionaReporte(UrlParametros As Hashtable) @@ -1381,12 +1365,17 @@ Partial Class PopUpVerFactura If UrlParametros("OP").ToString = "CORT" Then - If UrlParametros("CVECORTE") IsNot Nothing AndAlso UrlParametros("CVECORTE").ToString.ToEntero > 0 Then + If (UrlParametros("CVECORTE") IsNot Nothing AndAlso UrlParametros("CVECORTE").ToString.ToEntero > 0) OrElse UsuarioActual.Empresa.Funcionalidad(382) = "1" Then Dim CveSubProyecto As Integer = -1 + Dim FechaConsulta As Date = ModExtensiones.MaxFecha + If UrlParametros("CVESUBPROYECTO") IsNot Nothing Then CveSubProyecto = UrlParametros("CVESUBPROYECTO").ToString.ToEntero End If - ImprimeCorte(UrlParametros("CVECORTE").ToString.ToEntero, UrlParametros("FORMATO").ToString, CveSubProyecto) + If UrlParametros("FECHA") IsNot Nothing Then + FechaConsulta = UrlParametros("FECHA").ToString.ToDate() + End If + ImprimeCorte(UrlParametros("CVECORTE").ToString.ToEntero, UrlParametros("FORMATO").ToString, CveSubProyecto, FechaConsulta) End If End If @@ -1554,7 +1543,7 @@ Partial Class PopUpVerFactura #Region "OP = CORT - IMPRIMIR CORTE" - Private Sub ImprimeCorte(CveCorte As Integer, Formato As String, Optional CveSubProyecto As Integer = -1) + Private Sub ImprimeCorte(CveCorte As Integer, Formato As String, Optional CveSubProyecto As Integer = -1, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) Dim DtCortesVentasResumen As DataTable = Nothing Dim DtCortesVentas As DataTable = Nothing Dim DtReporteCorte As DataTable = Nothing @@ -1565,9 +1554,15 @@ Partial Class PopUpVerFactura Dim OpcionDetallado As Integer = 1 If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.CveEmpresa = 197 Then OpcionDetallado = 2 + Dim ConsultaPorSucursal As Boolean = UsuarioActual.Empresa.Funcionalidad(382) = "1" + + If ConsultaPorSucursal Then + CveCorte = -1 + End If + Dim ObjVenta As New ClsVentas - If ObjVenta.GetVta_ReporteCortesDetalle(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa, 2) Then + If ObjVenta.GetVta_ReporteCortesDetalle(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa, 2, ConsultaIVA:=UsuarioActual.CveEmpresa.Contiene(190, 192), FechaConsulta:=FechaConsulta) Then Dim DsDatos = ObjVenta.DataSetResultados.Copy() If DsDatos IsNot Nothing Then DtCortesVentas = DsDatos.Tables(0) @@ -1575,19 +1570,7 @@ Partial Class PopUpVerFactura DtCortesVentasResumen = DsDatos.Tables(1) End If End If - ' If ObjVenta.GetCortesDetalleVentasResumen(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa) Then - ' DtCortesVentasResumen = ObjVenta.DtResultados.Copy() - 'End If - 'If ObjPuntoVenta.GetCortesDetalleVentas(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa, OpcionDetallado) Then - ' DtCortesVentas = ObjPuntoVenta.DtResultados.Copy() - ' If DtCortesVentas.Rows.Count > 0 Then - ' Dim RowInfo As DataRow = DtCortesVentas.FiltroPrimero("CveVenta > 0") - - ' Fecha = RowInfo("FechaInicial").ToString - ' Nombre = RowInfo("Nombre").ToString - ' End If - 'End If If DtCortesVentas.Rows.Count > 0 Then Dim RowInfo As DataRow = DtCortesVentas.FiltroPrimero("CveVenta > 0") @@ -1600,16 +1583,23 @@ Partial Class PopUpVerFactura End If If UsuarioActual.Empresa.Funcionalidad(109) = "1" OrElse UsuarioActual.CveEmpresa = 197 Then - If ObjVenta.GetVta_ReporteCortes(UsuarioActual.CveEmpresa, MinFecha, MaxFecha, CveSubProyecto, CveCorte:=CveCorte) Then - DtReporteCorte = ObjVenta.DtResultados.FiltraParametros("CveCorte > 0") - Fecha = DtReporteCorte.FiltroPrimeroValor("FechaInicial", "") + If ConsultaPorSucursal Then + If ObjVenta.GetVta_ReporteCortes(UsuarioActual.CveEmpresa, FechaConsulta, FechaConsulta, CveSubProyecto) Then + DtReporteCorte = ObjVenta.DtResultados.FiltraParametros("FechaInicial IS NOT NULL") + Fecha = FechaConsulta.ToString("dd/MM/yyyy") + End If + Else + If ObjVenta.GetVta_ReporteCortes(UsuarioActual.CveEmpresa, MinFecha, MaxFecha, CveSubProyecto, CveCorte:=CveCorte) Then + DtReporteCorte = ObjVenta.DtResultados.FiltraParametros("CveCorte > 0") + Fecha = DtReporteCorte.FiltroPrimeroValor("FechaInicial", "") + End If End If - If ObjVenta.GetVta_MovimientosCajas(CveCorte, -1) Then + If ObjVenta.GetVta_MovimientosCajas(CveCorte, -1, CveSubProyecto:=CveSubProyecto, FechaConsulta:=FechaConsulta) Then DtIngresosRetiros = ObjVenta.DtResultados.Copy() End If - If Not UsuarioActual.CveEmpresa.Contiene(140, 141) AndAlso ObjVenta.GetCortesDetalleDepositosCaja(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa) Then + If Not UsuarioActual.CveEmpresa.Contiene(140, 141) AndAlso ObjVenta.GetCortesDetalleDepositosCaja(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa, FechaConsulta:=FechaConsulta) Then DtDepositos = ObjVenta.DtResultados.Copy() End If End If @@ -1618,6 +1608,10 @@ Partial Class PopUpVerFactura Dim FechaCorte As String = $" Fecha fin {Fecha}" + If ConsultaPorSucursal Then + FechaCorte = $" Fecha: {Fecha}" + End If + Dim Usuario As String = $" Usuario {Nombre}" If DtCortesVentas.Rows.Count > 0 Or DtCortesVentasResumen.Rows.Count > 0 Then Dim lrds As New List(Of ReportDataSource) diff --git a/Contabilidad/AuxiliarPrePolizas.aspx b/Contabilidad/AuxiliarPrePolizas.aspx index a21f9287d..1470e953c 100644 --- a/Contabilidad/AuxiliarPrePolizas.aspx +++ b/Contabilidad/AuxiliarPrePolizas.aspx @@ -141,9 +141,9 @@ CssClass="table table-striped table-advance table-hover Widthall ScrollAD" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" data-sort="true" Width="99%" OnRowDataBound="GvDatos_RowDataBound"> - + - + diff --git a/Contabilidad/CatContaEjercicios.aspx b/Contabilidad/CatContaEjercicios.aspx index 60eac9825..3933f8d91 100644 --- a/Contabilidad/CatContaEjercicios.aspx +++ b/Contabilidad/CatContaEjercicios.aspx @@ -74,7 +74,7 @@ - + diff --git a/Contabilidad/ContabilizacionCompras.aspx b/Contabilidad/ContabilizacionCompras.aspx index 74829a207..c3ac00eda 100644 --- a/Contabilidad/ContabilizacionCompras.aspx +++ b/Contabilidad/ContabilizacionCompras.aspx @@ -186,7 +186,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -383,7 +383,7 @@ - + @@ -473,7 +473,7 @@ - + diff --git a/Contabilidad/ContabilizacionVentas.aspx b/Contabilidad/ContabilizacionVentas.aspx index 407c6b052..d1e9551c1 100644 --- a/Contabilidad/ContabilizacionVentas.aspx +++ b/Contabilidad/ContabilizacionVentas.aspx @@ -154,7 +154,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -335,7 +335,7 @@ - + @@ -424,7 +424,7 @@ - + diff --git a/Contabilidad/FiltraPolizas.aspx b/Contabilidad/FiltraPolizas.aspx index 8d4cd1cf5..993ff84f8 100644 --- a/Contabilidad/FiltraPolizas.aspx +++ b/Contabilidad/FiltraPolizas.aspx @@ -183,7 +183,7 @@ - + diff --git a/Contabilidad/RegPoliza.aspx.vb b/Contabilidad/RegPoliza.aspx.vb index d8e1ffc2b..75acec78a 100644 --- a/Contabilidad/RegPoliza.aspx.vb +++ b/Contabilidad/RegPoliza.aspx.vb @@ -152,9 +152,7 @@ Partial Class RegPoliza Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.LoadComplete If Not IsPostBack Then - If UsuarioActual.Empresa.TipoContabilizacion = 1 OrElse UsuarioActual.Empresa.TipoContabilidad = 1 Then - Response.Redirect("/Contabilidad/RegPrePolizaS.aspx") - End If + ViewState("Orden0") = "" ViewState("Orden1") = "" diff --git a/Contabilidad/RegPrePoliza.aspx b/Contabilidad/RegPrePoliza.aspx index 82c77e45a..d5387a20d 100644 --- a/Contabilidad/RegPrePoliza.aspx +++ b/Contabilidad/RegPrePoliza.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegPrePoliza.aspx.vb" Inherits="ContabilidadC_RegPrePoliza" EnableEventValidation="false" %> +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegPrepoliza.aspx.vb" Inherits="ContabilidadC_RegPrePoliza" EnableEventValidation="false" %> @@ -717,6 +717,7 @@ +
diff --git a/Contabilidad/RegPrePoliza.aspx.vb b/Contabilidad/RegPrePoliza.aspx.vb index 9d910f0eb..9ac8ad949 100644 --- a/Contabilidad/RegPrePoliza.aspx.vb +++ b/Contabilidad/RegPrePoliza.aspx.vb @@ -468,7 +468,7 @@ Partial Class ContabilidadC_RegPrePoliza End If ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) - DtMovimientos = ObjContabilidad.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") + DtMovimientos = ObjContabilidad.DtResultados If dr("Modulo").ToString.Contiene("Banc/FluctuaA", "Banc/FluctuaC", "Banc/FluctuaV", "Banc/FluctuaFilial", "Banc/FluctuaAD") Then BtnEliminar.Enabled = False @@ -573,7 +573,7 @@ Partial Class ContabilidadC_RegPrePoliza Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero - If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) + If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301, 3, 11) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen")) If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) @@ -1309,7 +1309,7 @@ Partial Class ContabilidadC_RegPrePoliza TxtME.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ImporteME").ToDecimal.FormatoNumero DdlPorcentajeIVAE.SelectedValueExist(PorcentajeImpuesto) - + HdnCveCompra.Value = CveCompra.ToString DdlProveedoresE.SelectedValueExist(CveProveedor) DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e) DdlComprasE.SelectedValueExist(CveCompra) @@ -1551,13 +1551,13 @@ Partial Class ContabilidadC_RegPrePoliza DdlProveedoresE.DataBind() DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub - Private Sub CargaComprasE(CveProveedor As Integer) + Private Sub CargaComprasE(CveProveedor As Integer, Optional tCveCompra As Integer = -1) If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then Dim ObjCompras As New ClsCompras DdlComprasE.ClearSelection() - If ObjCompras.GetCompras(-1, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then - DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros("Saldo > 0") + If ObjCompras.GetCompras(tCveCompra, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then + DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros($"Saldo > 0 OR CveCompra = {tCveCompra}") DdlComprasE.DataBind() DdlComprasE.Items.Insert(0, New ListItem(" - ", "-1")) Else @@ -1618,7 +1618,7 @@ Partial Class ContabilidadC_RegPrePoliza DdlClasificacionesE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub DdlProveedoresE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProveedoresE.SelectedIndexChanged - CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero) + CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero) End Sub Private Sub DdlClientesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientesE.selectedindexchange diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx index f07c5a356..b10065036 100644 --- a/Contabilidad/RegPrePolizaS.aspx +++ b/Contabilidad/RegPrePolizaS.aspx @@ -717,6 +717,7 @@ +
diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index b368d9f2b..63da41dd8 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -1,8 +1,4 @@ Imports System.Data -Imports System.Runtime.CompilerServices -Imports System.Runtime.Remoting - -'Imports DocumentFormat.OpenXml Imports Extensiones Imports GemBox.Spreadsheet @@ -573,8 +569,8 @@ Partial Class ContabilidadC_RegPrePolizaS Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero - If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) - If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) + If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301, 3, 11) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) + If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 237, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen")) If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) @@ -1309,7 +1305,7 @@ Partial Class ContabilidadC_RegPrePolizaS TxtME.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ImporteME").ToDecimal.FormatoNumero DdlPorcentajeIVAE.SelectedValueExist(PorcentajeImpuesto) - + HdnCveCompra.Value = CveCompra.ToString DdlProveedoresE.SelectedValueExist(CveProveedor) DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e) DdlComprasE.SelectedValueExist(CveCompra) @@ -1551,13 +1547,13 @@ Partial Class ContabilidadC_RegPrePolizaS DdlProveedoresE.DataBind() DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub - Private Sub CargaComprasE(CveProveedor As Integer) + Private Sub CargaComprasE(CveProveedor As Integer, Optional tCveCompra As Integer = -1) If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then Dim ObjCompras As New ClsCompras DdlComprasE.ClearSelection() - If ObjCompras.GetCompras(-1, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then - DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros("Saldo > 0") + If ObjCompras.GetCompras(tCveCompra, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then + DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros($"Saldo > 0 OR CveCompra = {tCveCompra}") DdlComprasE.DataBind() DdlComprasE.Items.Insert(0, New ListItem(" - ", "-1")) Else @@ -1618,7 +1614,7 @@ Partial Class ContabilidadC_RegPrePolizaS DdlClasificacionesE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub DdlProveedoresE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProveedoresE.SelectedIndexChanged - CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero) + CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero) End Sub Private Sub DdlClientesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientesE.selectedindexchange diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index 9277a203e..e97c48b7a 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -390,7 +390,7 @@ - + diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 7281c9988..1a90339d7 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -253,15 +253,35 @@ public partial class Contabilidad_RepIVA : ClsPaginas if (Archivo.Exists) { Ruta = string.Format("{0}Formatos\\{1}", UsuarioActual.Empresa.Ruta, Formato); - ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + + if (UsuarioActual.Empresa.Funcionalidad(713).ToEntero() == 1) + { + ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + } + else + { + //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + } + }else { Ruta = ModExtensiones.DirectorioBaseEmpresas + $@"Empresas\Grales\Formatos\{Formato}"; - - + //ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + if (UsuarioActual.Empresa.Funcionalidad(713).ToEntero() == 1) + { ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); - - + } + else + { + //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + } + + + + } Ruta.GuardaLogAD(); //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); diff --git a/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb b/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb index 42d35bd3f..fc69f2a4f 100644 --- a/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb +++ b/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb @@ -126,7 +126,7 @@ Partial Class RepCuadreContaAdmonDetalle End If If e.Row.DataKey("CvePrePoliza").ToEntero > 0 Then - Dim LigaPrePoliza As String = $"/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={e.Row.DataKey("CvePrePoliza")}&Tipo=1" + Dim LigaPrePoliza As String = $"/Contabilidad/RegPrepolizaS.aspx?CvePrePoliza={e.Row.DataKey("CvePrePoliza")}&Tipo=1" e.Row.FCLiteral("LtlCargoAdmon").Text = " " & e.Row.FCLiteral("LtlCargoAdmon").Text & " " e.Row.FCLiteral("LtlAbonoAdmon").Text = " " & e.Row.FCLiteral("LtlAbonoAdmon").Text & " " End If diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb index 1f9e235c0..fcfc33ffb 100644 --- a/Contratos/Contrato.aspx.vb +++ b/Contratos/Contrato.aspx.vb @@ -964,8 +964,9 @@ Partial Class Contratos_Default TipoContrato = ObjContratos.CveContratoTipo TxtPorcentajeComision.Text = ObjContratos.PorcentajeComision.ToString CveContratoTipo = ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero - TxtCorreoNotificacion.Text = ObjContratos.DtResultados.Rows(0)("CorreoNotificacionPedDev").ToString - + TxtCorreoNotificacion.Text = ObjContratos.DtResultados.Rows(0)("CorreoNotificacionPedDev").ToString + + If CveContratoTipo = 33 Then TabContratosGastos.Visible = False TabAF.Visible = False @@ -1106,6 +1107,8 @@ Partial Class Contratos_Default ChkFacAutomatica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCiclicaAutomatico")) DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString()) TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString + TxtObsGeneral.Text = ObjContratos.DtResultados.Rows(0)("ObservacionesGenerales").ToString + ChkAplicaFacCiclica_CheckedChanged(ChkAplicaFacCiclica, EventArgs.Empty) If ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero() > 0 Then @@ -1387,7 +1390,8 @@ Partial Class Contratos_Default PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero, TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero, CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), - FacturacionCicilica:=ChkAplicaFacCiclica.Checked, FacturacionCiclicaAutomatico:=ChkFacAutomatica.Checked, DiaMesFacturacion:=If(DdlDiaFact.SelectedValue.ToEntero() < 0, 0, DdlDiaFact.SelectedValue.ToEntero())) + FacturacionCicilica:=ChkAplicaFacCiclica.Checked, FacturacionCiclicaAutomatico:=ChkFacAutomatica.Checked, DiaMesFacturacion:=If(DdlDiaFact.SelectedValue.ToEntero() < 0, 0, DdlDiaFact.SelectedValue.ToEntero()), + ObservacionesGenerales:=TxtObsGeneral.Text.Trim) TieneError = Not GuardaFianzas(ObjContratos) diff --git a/Contratos/RepPresupuestos.aspx b/Contratos/RepPresupuestos.aspx index 97e5c3c95..19a32224c 100644 --- a/Contratos/RepPresupuestos.aspx +++ b/Contratos/RepPresupuestos.aspx @@ -329,11 +329,10 @@ - - + - +
AgrupadorAutorizadoEn proceso de compraAutorizado Por EjercerPagadoPagado
@@ -342,13 +341,12 @@ <%-- - - + - +
diff --git a/Contratos/RepPresupuestos.aspx.vb b/Contratos/RepPresupuestos.aspx.vb index 32dd3467a..ef6cf4e23 100644 --- a/Contratos/RepPresupuestos.aspx.vb +++ b/Contratos/RepPresupuestos.aspx.vb @@ -62,7 +62,7 @@ Partial Class Contratos_RepPresupuestos DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlProyecto.DataBind() - If UsuarioActual.CveEmpresa.Contiene(13, 83) Then UsaComprometido = True + If UsuarioActual.Empresa.Funcionalidad(532) = "2" Then UsaComprometido = True CargaSubProyecto() UpFiltros.Update() @@ -92,9 +92,7 @@ Partial Class Contratos_RepPresupuestos Dim TieneDatos As Boolean = False If UsaComprometido Then - thComprometido.Visible = True - GvDatos.Columns(2).Visible = True - LtlthEjercido.Text = "Facturado" + LtlthEjercido.Text = "En proceso de compra" End If If Not EsMensual Then @@ -104,10 +102,14 @@ Partial Class Contratos_RepPresupuestos If ObjPresupuestos.DtResultados IsNot Nothing AndAlso ObjPresupuestos.DtResultados.Rows.Count > 0 Then TieneDatos = True End If - - DtPresupuestos = ObjPresupuestos.DtResultados + DtPresupuestos = ObjPresupuestos.DtResultados + If UsaComprometido Then + DtPresupuestos.Columns.Remove("ejercido") : DtPresupuestos.Columns("comprometido").ColumnName = "ejercido" + DtPresupuestos.Columns.Remove("EjercidoPorcentaje") : DtPresupuestos.Columns("comprometidoPorcentaje").ColumnName = "EjercidoPorcentaje" + DtPresupuestos.Columns.Remove("PorEjercer") : DtPresupuestos.Columns("PorEjercercomprometido").ColumnName = "PorEjercer" + DtPresupuestos.Columns.Remove("PorEjercerPorcentaje") : DtPresupuestos.Columns("PorEjercerPorcentajecomprometido").ColumnName = "PorEjercerPorcentaje" + End If GvDatos.DataSource = DtPresupuestos - End If ObjPresupuestos.Dispose() @@ -131,8 +133,6 @@ Partial Class Contratos_RepPresupuestos If ObjPresupuestos.DtResultados IsNot Nothing AndAlso ObjPresupuestos.DtResultados.Rows.Count > 0 Then TieneDatos = True End If - - DtPresupuestos = ObjPresupuestos.DtResultados GvDatosMensual.DataSource = DtPresupuestos End If ObjPresupuestos.Dispose() @@ -329,12 +329,10 @@ Partial Class Contratos_RepPresupuestos Dim PorEjercerPorcentaje = DrPresupuesto("PorEjercerPorcentaje").ToString.ToDecimal If UsaComprometido Then - Ejercido = DrPresupuesto("Comprometido").ToString.ToDecimal + ' Ejercido = DrPresupuesto("Comprometido").ToString.ToDecimal PorEjercer = Autorizado - Ejercido EjercidoPorcentaje = If(Autorizado > 0, Ejercido / Autorizado * 100, 0) PorEjercerPorcentaje = If(Autorizado > 0, PorEjercer / Autorizado * 100, 0) - thComprometido.Visible = True - GvDatos.Columns(2).Visible = True End If LtlAutorizado.Text = Autorizado.FormatoNumero @@ -342,15 +340,15 @@ Partial Class Contratos_RepPresupuestos LtlPorEjercer.Text = PorEjercer.FormatoNumero PBEjercido.Style.Remove("width") - PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%") + PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%") - PBPorEjercer.Style.Remove("width") - PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%") + PBPorEjercer.Style.Remove("width") + PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%") - LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %" - LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %" + LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %" + LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %" - Dim json = New JArray( + Dim json = New JArray( From dr In DtDatos Select New JObject( New JProperty("Agrupador", dr("Agrupador").ToString()), @@ -362,11 +360,11 @@ Partial Class Contratos_RepPresupuestos New JProperty("PorEjercerProporcion", dr("PorEjercerPorcentaje").ToString().ToDecimal())) ) - HdnJsonProyecto.Value = json.ToString - End If + HdnJsonProyecto.Value = json.ToString + End If - Else + Else LtlAutorizado.Text = "" LtlEjercido.Text = "" LtlPorEjercer.Text = "" @@ -385,24 +383,21 @@ Partial Class Contratos_RepPresupuestos End Select If e.Row.DBCampo("Autorizado").ToDecimal = 0 Then e.Row.Cells(1).Text = "-" - End If - If e.Row.DBCampo("Comprometido").ToDecimal = 0 Then + End If + If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then e.Row.Cells(2).Text = "-" End If - If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then + If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then e.Row.Cells(3).Text = "-" End If - If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then + If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then e.Row.Cells(4).Text = "-" End If - If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then + If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then e.Row.Cells(5).Text = "-" End If - If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then - e.Row.Cells(6).Text = "-" - End If If e.Row.DBCampo("Pagado").ToDecimal = 0 Then - e.Row.Cells(7).Text = "-" + e.Row.Cells(6).Text = "-" End If If e.Row.RowIndex > 0 Then @@ -602,12 +597,24 @@ Partial Class Contratos_RepPresupuestos params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString)) params.Add(New ReportParameter("AgrupadoPor", $"{FechaIn}{FechaFn}{Agrupador}{Proyecto}{SubProyecto}{Clasificacion}{TipoGasto}")) - params.Add(New ReportParameter("Autorizado", LtlAutorizado.Text.FormatoNumero())) - params.Add(New ReportParameter("Ejercido", LtlEjercido.Text.FormatoNumero())) + params.Add(New ReportParameter("Autorizado", LtlAutorizado.Text.FormatoNumero())) + params.Add(New ReportParameter("PorEjercer", LtlPorEjercer.Text.FormatoNumero())) - - params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) + params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) + + 'If UsuarioActual.Empresa.Funcionalidad(532) = "2" Then + ' Dim DrPresupuesto = DtPresupuestos.FiltroPrimero("Tipo = 0 AND CveAgrupador IS NULL") + ' 'Dim Comprometido = DrPresupuesto("Comprometido").ToString.ToDecimal + ' params.Add(New ReportParameter("Ejercido", Comprometido.ToString.FormatoNumero())) + 'Else + params.Add(New ReportParameter("Ejercido", LtlEjercido.Text.FormatoNumero())) + 'End If + + params.Add(New ReportParameter("PresupuestoRestrictivo", UsuarioActual.Empresa.Funcionalidad(532))) + + ImprimirPDF("Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc", DtPresupuestos, params, "Reporte de Presupuestos Anual", Formato) + Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If diff --git a/Contratos/RepPresupuestosDetalle.aspx b/Contratos/RepPresupuestosDetalle.aspx index 799be4123..138d9b664 100644 --- a/Contratos/RepPresupuestosDetalle.aspx +++ b/Contratos/RepPresupuestosDetalle.aspx @@ -246,12 +246,11 @@
- - - - + + + - +
AgrupadorAutorizadoComprometidoEjercidoAgrupadorAutorizado Por EjercerPagadoPagado
@@ -259,14 +258,13 @@ <%-- - - - + + - +
diff --git a/Contratos/RepPresupuestosDetalle.aspx.vb b/Contratos/RepPresupuestosDetalle.aspx.vb index 5788852bb..d91a3059e 100644 --- a/Contratos/RepPresupuestosDetalle.aspx.vb +++ b/Contratos/RepPresupuestosDetalle.aspx.vb @@ -25,10 +25,18 @@ Partial Class Contratos_RepPresupuestosDetalle Set(ByVal value As DataTable) ViewState("DtPresupuestos") = value End Set - End Property - + End Property + Public Property UsaComprometido() As Boolean + Get + Return DirectCast(ViewState("UsaComprometido"), Boolean) + End Get + Set(ByVal value As Boolean) + ViewState("UsaComprometido") = value + End Set + End Property + #End Region - + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -37,10 +45,12 @@ Partial Class Contratos_RepPresupuestosDetalle CargaDatos() End If - End Sub - + End Sub + #Region " INICIALIZA VALORES " - Private Sub InicializaValores() + Private Sub InicializaValores() + + If UsuarioActual.Empresa.Funcionalidad(532) = "2" Then UsaComprometido = True Else UsaComprometido = False TxtFiltrosFechaInicio.Text = $"01/09/{NowADS().Year - 1}" TxtFiltrosFechaFin.Text = $"31/08/{NowADS().Year}" @@ -61,8 +71,9 @@ Partial Class Contratos_RepPresupuestosDetalle DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlProyecto.DataBind() - CargaSubProyecto() - + CargaSubProyecto() + + UpFiltros.Update() End Sub @@ -110,10 +121,10 @@ Partial Class Contratos_RepPresupuestosDetalle TxtFiltrosFechaInicio.Text = FechaInicio TxtFiltrosFechaFin.Text = FechaFin ChkMensual.Checked = Mensual - End Sub + End Sub #End Region - - + + #Region " CARGA DATOS " Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs) CargaDatos() @@ -131,9 +142,17 @@ Partial Class Contratos_RepPresupuestosDetalle GvDatosMensual.DataBind() Else Dim ObjPresupuestos As New ClsContratos - If ObjPresupuestos.GetPresupuestosRep(-1, DdlTipoGasto.SelectedValue.ToEntero, DdlAgrupador.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate, TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then - GvDatos.DataSource = ObjPresupuestos.DtResultados - DtPresupuestos = ObjPresupuestos.DtResultados + If ObjPresupuestos.GetPresupuestosRep(-1, DdlTipoGasto.SelectedValue.ToEntero, DdlAgrupador.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate, TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then + + DtPresupuestos = ObjPresupuestos.DtResultados + If UsaComprometido Then + LtlthEjercido.Text = "En proceso de compra" + DtPresupuestos.Columns.Remove("ejercido") : DtPresupuestos.Columns("comprometido").ColumnName = "ejercido" + DtPresupuestos.Columns.Remove("EjercidoPorcentaje") : DtPresupuestos.Columns("comprometidoPorcentaje").ColumnName = "EjercidoPorcentaje" + DtPresupuestos.Columns.Remove("PorEjercer") : DtPresupuestos.Columns("PorEjercercomprometido").ColumnName = "PorEjercer" + DtPresupuestos.Columns.Remove("PorEjercerPorcentaje") : DtPresupuestos.Columns("PorEjercerPorcentajecomprometido").ColumnName = "PorEjercerPorcentaje" + End If + GvDatos.DataSource = ObjPresupuestos.DtResultados End If ObjPresupuestos.Dispose() DivDatosMensual.Visible = False @@ -142,10 +161,10 @@ Partial Class Contratos_RepPresupuestosDetalle End If UpDatos.Update() UpDatosMensual.Update() - End Sub - + End Sub + #End Region - + Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then @@ -159,19 +178,19 @@ Partial Class Contratos_RepPresupuestosDetalle e.Row.Cells(1).Text = "-" End If If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then - e.Row.Cells(3).Text = "-" + e.Row.Cells(2).Text = "-" End If If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then - e.Row.Cells(4).Text = "-" + e.Row.Cells(3).Text = "-" End If If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then - e.Row.Cells(5).Text = "-" + e.Row.Cells(4).Text = "-" End If If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then - e.Row.Cells(6).Text = "-" + e.Row.Cells(5).Text = "-" End If If e.Row.DBCampo("Pagado").ToDecimal = 0 Then - e.Row.Cells(7).Text = "-" + e.Row.Cells(6).Text = "-" End If If e.Row.RowIndex > 0 Then Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero @@ -188,11 +207,11 @@ Partial Class Contratos_RepPresupuestosDetalle End If Dim Css = "Texto" - Dim Liga = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}" - e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + "" + 'Dim Liga = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}" + 'e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + "" - Dim LigaComprometido = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}&Comprometido=1" - e.Row.Cells(2).Text = "" + e.Row.Cells(2).Text + "" + Dim Liga = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}&Comprometido={If(UsaComprometido, "1", "0")}" + e.Row.Cells(2).Text = "" + e.Row.Cells(2).Text + "" End If End If End Sub diff --git a/Contratos/RepPresupuestosDetalleCompras.aspx.vb b/Contratos/RepPresupuestosDetalleCompras.aspx.vb index f1dafa0e4..9c7a70963 100644 --- a/Contratos/RepPresupuestosDetalleCompras.aspx.vb +++ b/Contratos/RepPresupuestosDetalleCompras.aspx.vb @@ -160,7 +160,7 @@ Partial Class Contratos_RepPresupuestosDetalleCompras Case 1 Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DBCampo("CveCompra")}" Case 2 - Liga = $"/Contabilidad/RegPrePoliza.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}" + Liga = $"/Contabilidad/RegPrepolizaS.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}" Case Else End Select diff --git a/CxC/RepCxC.aspx b/CxC/RepCxC.aspx index 0a1eda4a2..0f85fe6d6 100644 --- a/CxC/RepCxC.aspx +++ b/CxC/RepCxC.aspx @@ -756,7 +756,7 @@ - + diff --git a/CxC/RepCxCDetalle.aspx b/CxC/RepCxCDetalle.aspx index 9766d26fa..edd5d9a5a 100644 --- a/CxC/RepCxCDetalle.aspx +++ b/CxC/RepCxCDetalle.aspx @@ -537,6 +537,8 @@ + + @@ -675,7 +677,8 @@ - + + @@ -684,8 +687,9 @@ - - + + + diff --git a/CxC/RepCxCDetalle.aspx.vb b/CxC/RepCxCDetalle.aspx.vb index 1b4eb4a43..83473516c 100644 --- a/CxC/RepCxCDetalle.aspx.vb +++ b/CxC/RepCxCDetalle.aspx.vb @@ -627,13 +627,15 @@ Partial Class RepCxCDetalle ActivaColumna(44, ChkFechaEjecucion.Checked) ActivaColumna(45, ChkMostrarLineaAdicional.Checked) ActivaColumna(46, ChkMostrarDescripcionVenta.Checked) - ActivaColumna(47, ChkContrato.Checked) - ActivaColumna(48, ChkSubTotalPend.Checked) - ActivaColumna(49, ChkIVAPend.Checked) - ActivaColumna(50, ChkIEPSPend.Checked) - ActivaColumna(51, ChkEnQuebranto.Checked) - ActivaColumna(52, ChkEnDemanda.Checked) - ActivaColumna(53, ChkRegistroFirmas.Checked) + ActivaColumna(47, ChkMetodoPago.Checked) + ActivaColumna(48, ChkFormaPago.Checked) + ActivaColumna(49, ChkContrato.Checked) + ActivaColumna(50, ChkSubTotalPend.Checked) + ActivaColumna(51, ChkIVAPend.Checked) + ActivaColumna(52, ChkIEPSPend.Checked) + ActivaColumna(53, ChkEnQuebranto.Checked) + ActivaColumna(54, ChkEnDemanda.Checked) + ActivaColumna(55, ChkRegistroFirmas.Checked) If SePersonalizo = 1 Then ImgExcelPersonalizado.Visible = True @@ -641,18 +643,15 @@ Partial Class RepCxCDetalle ImgExcelPersonalizado.Visible = False End If - CargaDatos() RegistraScript("$('#DivPersonalizar').modal('hide');") End Sub Private Sub ActivaColumna(Indice As Integer, Activo As Boolean) - If Activo Then - GvDatos.Columns(Indice).Visible = True + If GvDatos.Columns(Indice).Visible <> Activo Then + GvDatos.Columns(Indice).Visible = Activo SePersonalizo = 1 - 'Else - ' SePersonalizo = 0 End If End Sub diff --git a/Default2.aspx b/Default2.aspx deleted file mode 100644 index 622c9e37e..000000000 --- a/Default2.aspx +++ /dev/null @@ -1,20 +0,0 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> - - - - - - - - - - - - - - - - - - - diff --git a/Default2.aspx.cs b/Default2.aspx.cs deleted file mode 100644 index 030cb567b..000000000 --- a/Default2.aspx.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class Default2 : System.Web.UI.Page -{ - protected void Page_Load(object sender, EventArgs e) - { - - } -} \ No newline at end of file diff --git a/Empresas/119/Formatos/RepIVA.rpt b/Empresas/119/Formatos/RepIVA.rpt index dac02e363..746765840 100644 Binary files a/Empresas/119/Formatos/RepIVA.rpt and b/Empresas/119/Formatos/RepIVA.rpt differ diff --git a/Empresas/Grales/Formatos/CatPS.rpt b/Empresas/Grales/Formatos/CatPS.rpt index b1c8440bf..d6860ee14 100644 Binary files a/Empresas/Grales/Formatos/CatPS.rpt and b/Empresas/Grales/Formatos/CatPS.rpt differ diff --git a/Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc b/Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc index 83cd50208..761513e43 100644 --- a/Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc +++ b/Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc @@ -1,1061 +1,5 @@  - - - - - true - true - - - - - =Parameters!PorEjercer.Value - - - - - - - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - true - true - - - - - Descripcion - - - - - - - Textbox28 - - - - - - Gray - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - 3.13228cm - - - 3.06185cm - - - 1.55043cm - - - 3.45602cm - - - 1.46938cm - - - - - 0.6cm - - - - - true - true - - - - - =iif(CDec(Fields!Autorizado.Value)=0,"-",Fields!Autorizado.Value) - - - - - - - Huerta - - - =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =iif(CDec(Fields!Ejercido.Value)=0,"-",Fields!Ejercido.Value) - - - - - - - Motivo - - - =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =iif(CDec(Fields!EjercidoPorcentaje.Value)=0,"-",Fields!EjercidoPorcentaje.Value) - - - - - - - TicketBascula - - - =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =iif(CDec(Fields!PorEjercer.Value)=0,"-",Fields!PorEjercer.Value) - - - - - - - Peso - - - =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =iif(CDec(Fields!PorEjercerPorcentaje.Value)=0,"-",Fields!PorEjercerPorcentaje.Value) - - - - - - - PesoMerma - - - =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - 0.6cm - - - true - true - - - - - Importe - - - - - - - Textbox40 - - - Gray - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - true - true - - - - - Importe - - - - - - - Textbox42 - - - Gray - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - true - true - - - - - % - - - - - - - Textbox44 - - - Gray - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - true - true - - - - - Importe - - - - - - - Textbox47 - - - Gray - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - true - true - - - - - % - - - - - - - Textbox4 - - - Gray - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - 7.14207cm - - - true - true - - - - - =Fields!Agrupador.Value - - - - - - - FolioOC - - - =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - DataSet1 - 3.39562cm - 0.17167cm - 1.2cm - 19.81203cm - 1 - - - - - - true - true - - - - - =Parameters!Ejercido.Value - - - - - - - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Autorizado.Value - - - - - - - - - - - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!AgrupadoPor.Value - HTML - - - - - - - Textbox1 - 0.34368cm - 0.06614cm - 0.58236cm - 19.58715cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - 1.9343in - - - - - - - Textbox1 - 2.43857cm - 0.6cm - 14.68354cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE PRESUPUESTO ANUAL - - - - - - - - - - - - - - - - Textbox2 - 0.63528cm - 2.40329cm - 0.52945cm - 14.68354cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 2.33715cm - 2 - - - - - - - - - - - 1.08126cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.40041cm - 16.97887cm - 0.68085cm - 2.06587cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =iif(Globals.PageNumber = Globals.TotalPages, "Usuario: ", "") - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =iif(Globals.PageNumber = Globals.TotalPages, Parameters!UsuarioImprimio.Value, "") - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =iif(Globals.PageNumber = Globals.TotalPages, "Fecha Impresión: ", "") - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =iif(Globals.PageNumber = Globals.TotalPages, Parameters!FechaImpresion.Value, "") - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 29.7cm - 21cm - 0.5cm - 0.5cm - 1cm - 1cm - 0.13cm - + + + + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + true + true + + + + + Descripcion + + + + + + + Textbox28 + + + + + + Gray + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + 3.13228cm + + + 3.06185cm + + + 1.55043cm + + + 3.45602cm + + + 1.46938cm + + + + + 0.38833cm + + + + + true + true + + + + + =iif(CDec(Fields!Autorizado.Value)=0,"-",Fields!Autorizado.Value) + + + + + + + Huerta + + + =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + = IIF( Parameters!PresupuestoRestrictivo.Value = "2", iif(CDec(Fields!Comprometido.Value)=0,"-",Fields!Comprometido.Value), iif(CDec(Fields!Ejercido.Value)=0,"-",Fields!Ejercido.Value)) + + + + + + + Motivo + + + =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =iif(CDec(Fields!EjercidoPorcentaje.Value)=0,"-",Fields!EjercidoPorcentaje.Value) + + + + + + + TicketBascula + + + =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =iif(CDec(Fields!PorEjercer.Value)=0,"-",Fields!PorEjercer.Value) + + + + + + + Peso + + + =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =iif(CDec(Fields!PorEjercerPorcentaje.Value)=0,"-",Fields!PorEjercerPorcentaje.Value) + + + + + + + PesoMerma + + + =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) + 2pt + 2pt + 1pt + + + + + + + + + + + + + 0.6cm + + + true + true + + + + + Autorizado + + + + + + + Textbox40 + + + Gray + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + true + true + + + + + =IIF(Parameters!PresupuestoRestrictivo.Value = "2","En Proceso","Ejercido") + + + + + + + Textbox42 + + + Gray + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + true + true + + + + + % + + + + + + + Textbox44 + + + Gray + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + true + true + + + + + Por Ejercer + + + + + + + Textbox47 + + + Gray + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + true + true + + + + + % + + + + + + + Textbox4 + + + Gray + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 7.14207cm + + + true + true + + + + + =Fields!Agrupador.Value + + + + + + + FolioOC + + + =IIf(Fields!Tipo.Value = 0, "#67809F",IIf(Fields!Tipo.Value = 1,"LightSteelBlue","Transparent")) + 2pt + 2pt + 1pt + + + + + + + + true + true + DataSet1 + 3.39562cm + 0.17167cm + 0.98833cm + 19.81203cm + 1 + + + + + + true + true + + + + + =Parameters!Ejercido.Value + + + + + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Autorizado.Value + + + + + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!AgrupadoPor.Value + HTML + + + + + + + Textbox1 + 0.34368cm + 0.06614cm + 0.58236cm + 19.58715cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + 1.9343in + + + + + + + Textbox1 + 2.43857cm + 0.6cm + 14.68354cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + REPORTE DE PRESUPUESTO ANUAL + + + + + + + + + + + + + + + + Textbox2 + 0.63528cm + 2.40329cm + 0.52945cm + 14.68354cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.06614cm + 2.22362cm + 2.33715cm + 2 + + + + + + + + + + + 1.08126cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox3 + 0.40041cm + 16.97887cm + 0.68085cm + 2.06587cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Globals.PageNumber = Globals.TotalPages, "Usuario: ", "") + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Globals.PageNumber = Globals.TotalPages, Parameters!UsuarioImprimio.Value, "") + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Globals.PageNumber = Globals.TotalPages, "Fecha Impresión: ", "") + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =iif(Globals.PageNumber = Globals.TotalPages, Parameters!FechaImpresion.Value, "") + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 29.7cm + 21cm + 0.5cm + 0.5cm + 1cm + 1cm + 0.13cm + + + + + + + + + + Reporte Órdenes Médicas + + + + + + + +
+
+
+ + +
+
+
+ + +
+ +
+ + + +
+ +
+ +
+
+
+
+
+
+
+
+ + + +
+
+ Os: +
+
+ +
+
+ Asignar +
+
+
+
+ + + +
+
+ +
+
+
+ + Cirugías +
+
+
+ +
+
+ + + + + + + + +
+
+
+
+ + + + + + + + + + +
+ + + + + + + + + + + + +
+ +
+ + + + + + diff --git a/OS/RepServiciosMedicos.aspx.vb b/OS/RepServiciosMedicos.aspx.vb new file mode 100644 index 000000000..4d33a8f19 --- /dev/null +++ b/OS/RepServiciosMedicos.aspx.vb @@ -0,0 +1,1232 @@ +Option Explicit On +Option Strict On + +Imports Extensiones +Imports System.Data +Imports Microsoft.Reporting.WebForms +Imports System.Web.Services +Partial Class OS_RepServiciosMedicos + Inherits ClsPaginas + +#Region "PROPIEDADES" + + Private Property DtDatos As DataTable + Get + DtDatos = DirectCast(ViewState("DtDatos"), DataTable) + End Get + + Set(ByVal value As DataTable) + ViewState("DtDatos") = value + End Set + End Property + Private Property Agrupador As String + Get + Return ViewState("Agrupador").ToString + End Get + + Set(value As String) + ViewState("Agrupador") = value + End Set + End Property + Private Property TCEspecifico As Double + Get + Return ViewState("TCEspecifico").ToString.ToDouble + End Get + + Set(value As Double) + ViewState("TCEspecifico") = value + End Set + End Property + Private Property TipoCambio As Integer + Get + Return ViewState("TipoCambio").ToString.ToEntero + End Get + + Set(value As Integer) + ViewState("TipoCambio") = value + End Set + End Property + + + Private Property DT_OSSubProyectos As DataTable + Get + If ViewState("DT_OSSubProyectos") Is Nothing Then + ViewState("DT_OSSubProyectos") = New DataTable + End If + Return DirectCast(ViewState("DT_OSSubProyectos"), DataTable) + + End Get + + Set(value As DataTable) + ViewState("DT_OSSubProyectos") = value + End Set + End Property + + Private Property DT_OSNoAsignadas As DataTable + Get + If ViewState("DT_OSNoAsignadas") Is Nothing Then + ViewState("DT_OSNoAsignadas") = New DataTable + End If + Return DirectCast(ViewState("DT_OSNoAsignadas"), DataTable) + + End Get + + Set(value As DataTable) + ViewState("DT_OSNoAsignadas") = value + End Set + End Property + + Private Property CveOSDetalleAsignar As Integer + Get + If ViewState("CveOSDetalleAsignar") Is Nothing Then + ViewState("CveOSDetalleAsignar") = -1 + End If + Return ViewState("CveOSDetalleAsignar").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveOSDetalleAsignar") = value + End Set + End Property + + Private Property CveSubProyectoAsignar As Integer + Get + If ViewState("CveSubProyectoAsignar") Is Nothing Then + ViewState("CveSubProyectoAsignar") = -1 + End If + Return ViewState("CveSubProyectoAsignar").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveSubProyectoAsignar") = value + End Set + End Property + + Private Property CveOrdenServicioTipo As Integer + Get + If ViewState("CveOrdenServicioTipo") Is Nothing Then + ViewState("CveOrdenServicioTipo") = -1 + End If + Return ViewState("CveOrdenServicioTipo").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveOrdenServicioTipo") = value + End Set + End Property + + Private Property FolioAsignar As String + Get + If ViewState("FolioAsignar") Is Nothing Then + ViewState("FolioAsignar") = "" + End If + Return ViewState("FolioAsignar").ToString + End Get + Set(value As String) + ViewState("FolioAsignar") = value + End Set + End Property + Private Property ConceptoAsignar As String + Get + If ViewState("ConceptoAsignar") Is Nothing Then + ViewState("ConceptoAsignar") = "" + End If + Return ViewState("ConceptoAsignar").ToString + End Get + Set(value As String) + ViewState("ConceptoAsignar") = value + End Set + End Property + Private Property ClienteAsignar As String + Get + If ViewState("ClienteAsignar") Is Nothing Then + ViewState("ClienteAsignar") = "" + End If + Return ViewState("ClienteAsignar").ToString + End Get + Set(value As String) + ViewState("ClienteAsignar") = value + End Set + End Property + Private Property SubProyectoAsignar As String + Get + If ViewState("SubProyectoAsignar") Is Nothing Then + ViewState("SubProyectoAsignar") = "" + End If + Return ViewState("SubProyectoAsignar").ToString + End Get + Set(value As String) + ViewState("SubProyectoAsignar") = value + End Set + End Property + Private Property CveOSAsignar As Integer + Get + If ViewState("CveOSAsignar") Is Nothing Then + ViewState("CveOSAsignar") = -1 + End If + Return ViewState("CveOSAsignar").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveOSAsignar") = value + End Set + End Property + Private Property TipoAccion As OSModalTipoAccion + Get + If ViewState("TipoAccion") Is Nothing Then + ViewState("TipoAccion") = OSModalTipoAccion.Agregar + End If + Return DirectCast(ViewState("TipoAccion"), OSModalTipoAccion) + End Get + Set(value As OSModalTipoAccion) + ViewState("TipoAccion") = value + End Set + End Property + + + + Private Property CveTecnicoAsignarOrioginal As Integer + Get + If ViewState("CveTecnicoAsignarOrioginal") Is Nothing Then + ViewState("CveTecnicoAsignarOrioginal") = -1 + End If + Return ViewState("CveTecnicoAsignarOrioginal").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveTecnicoAsignarOrioginal") = value + End Set + End Property + + Private Property FechaInicioOriginal As DateTime + Get + If ViewState("FechaInicioOriginal") Is Nothing Then + ViewState("FechaInicioOriginal") = NowADS() + End If + Return ViewState("FechaInicioOriginal").ToString.ToDateTime + End Get + Set(value As DateTime) + ViewState("FechaInicioOriginal") = value + End Set + End Property + + + Private Property CveClientePublicoGeneral As Integer + Get + If ViewState("CveClientePublicoGeneral") Is Nothing Then + ViewState("CveClientePublicoGeneral") = -1 + End If + Return ViewState("CveClientePublicoGeneral").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveClientePublicoGeneral") = value + End Set + End Property + + Private Property NombreClientePublicoGeneral As String + Get + If ViewState("NombreClientePublicoGeneral") Is Nothing Then + ViewState("NombreClientePublicoGeneral") = "" + End If + Return ViewState("NombreClientePublicoGeneral").ToString + End Get + Set(value As String) + ViewState("NombreClientePublicoGeneral") = value + End Set + End Property + + + Private Property DTTecnicos As DataTable + Get + If ViewState("DTTecnicos") Is Nothing Then + ViewState("DTTecnicos") = New DataTable + End If + + Return DirectCast(ViewState("DTTecnicos"), DataTable) + End Get + + Set(ByVal value As DataTable) + ViewState("DTTecnicos") = value + End Set + End Property + + Enum OSModalTipoAccion + Agregar + Actualizacion + Asignacion + End Enum + + + +#End Region + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then + CargaUsuariosTecnicos() + CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyectoEtiqueta) + LblSubProyectoFiltro.Text = LblSubProyectoEtiqueta.Text + ' LblModalSubProyectoLabel.Text = LblSubProyectoEtiqueta.Text + CargaTecnicos() + ConsultaOrdenesServiciosNoAsignadas() + CargaOrdenesServiciosNoAsignadas() + CargaTecnicosAsignar() + InicializaCalendar() + GetCargaTiposOrden() + cargaDropsModal() + CargaClientePublicoGeneral() + + If UsuarioActual.TienePermisoProceso(348) Then + DVModalAsignacion.Visible = True + End If + + If UsuarioActual.TienePermisoProceso(352) Then + LnkCancelarOrden.Visible = True + End If + + End If + End Sub + + Private Sub CargaUsuariosTecnicos() + Dim DTTecnicosresultado As DataTable = Nothing + DTTecnicos = New DataTable + Dim ObjOS As New ClsOS + If ObjOS.GetSubProyectosEstatusInicial(-1, 3, UsuarioActual.CveEmpresa) Then + DTTecnicosresultado = ObjOS.DtResultados.FiltraParametros(" Estatus = 'True' ") + End If + + If DTTecnicosresultado IsNot Nothing Then + For Each SubProyecto As DataRow In DTTecnicosresultado.Rows + Dim TecnicosSubProyectoAux As DataTable = DTTecnicosresultado.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))) + If TecnicosSubProyectoAux.Rows.Count > 0 Then + Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero + Dim dtAuxiliar As New DataTable + dtAuxiliar = DTTecnicosresultado.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) + DTTecnicos.Merge(dtAuxiliar) + End If + Next + End If + ObjOS.Dispose() + + 'Dim ObjUsuarios As New ClsSisUsuarios + 'If ObjUsuarios.GetPermisosPorUsuarioProcesos(-1, -1, -1, -1, 351, UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) Then + ' If UsuarioActual.CveRol = 1 Then + ' DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0") + ' Else + ' DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0 and CveUsuario <> 100") + ' End If + + 'End If + 'ObjUsuarios.Dispose() + + End Sub + +#Region "CARGAS" + +#End Region + +#Region " FULL CALENDAR " + Private Sub InicializaCalendar() + RegistraScript("InitCalendar();") + + HdnU.Value = UsuarioActual.CveUsuario.ToString + HdnE.Value = UsuarioActual.CveEmpresa.ToString + + DirectCast(Master.FindControl("TSM"), ScriptManager).EnablePageMethods = True + CargaTiposAgenda() + CheckRecurrencia.Attributes.Add("onclick", "CheckAdd(this);") + End Sub + Private Sub CargaTiposAgenda() + Dim ObjEventos As New ClsOIEventos + + If ObjEventos.GetAgendaTipo() Then + DdlAgedaTipo.DataSource = ObjEventos.DtResultados + DdlAgedaTipo.DataBind() + DdlAgedaTipo.Items.Insert(0, New ListItem("Seleccione", "-1")) + Else + Alert("Ocurrió un error al obtener los tipos de agenda. Por favor recargue la página", TipoMensaje.MsgError) + End If + + ObjEventos.Dispose() + End Sub + + Private Sub CargaTecnicos() + DdlTecnico.DataSource = DTTecnicos 'GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) + DdlTecnico.DataBind() + DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub + + Private Sub CargaTecnicosAsignar() + + + 'Dim ObjOS As New ClsOS + 'Dim TecnicosSubProyectos As New DataTable + 'Dim TecnicosResultado As New DataTable + + 'If ObjOS.GetSubProyectosEstatusInicial(-1, 3, UsuarioActual.CveEmpresa) Then + ' TecnicosSubProyectos = ObjOS.DtResultados + 'End If + + 'For Each SubProyecto As DataRow In DT_OSSubProyectos.Rows + ' Dim TecnicosSubProyectoAux As DataTable = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))) + ' If TecnicosSubProyectoAux.Rows.Count > 0 Then + ' Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero + ' Dim dtAuxiliar As New DataTable + ' dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) + ' TecnicosResultado.Merge(dtAuxiliar) + ' End If + 'Next + ''DtTecnicosSubProyectos = TecnicosResultado + + 'ObjOS.Dispose() + + DdlTecnicoAsignar.DataSource = DTTecnicos 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'") + DdlTecnicoAsignar.DataBind() + DdlTecnicoAsignar.Items.Insert(0, New ListItem("Seleccione uno", "-1")) + + UpModalOS.Update() + + End Sub + + + Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) + Dim ObjEventos As New ClsOIEventos + + Dim FechaInicio = TxtFechaInicioAgenda.Text.ToDateTime() + Dim FechaFin = TxtFechaFinAgenda.Text.ToDateTime() + + RegistraScript("GetView();") + + Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1" + If CheckRecurrencia.Checked Then + RecurrenciaTipo = RBLRecurrencia.SelectedValue.ToEntero + Frecuencia = TxtFrecuencia.Text.ToEntero + + 'OBTENEMOS LOS DIAS SELECCIONADOS EN LA OPCION DE RECURRENCIA POR SEMANA + Select Case RecurrenciaTipo + Case 3 + Dim StringDias = "" + For Each item As ListItem In CheckDiasSemana.Items + If item.Selected Then + If StringDias.Length > 0 Then + StringDias += "," + End If + StringDias += item.Value + End If + Next + If StringDias.Length > 0 Then + DiasSemana = StringDias + End If + End Select + + + 'If RBSinFechaFinAdd.Checked Then + ' RecurrenciaFin = "-1" + 'Else + If RBNumeroOcurrencias.Checked Then + RecurrenciaFin = TxtNumeroOcurrencias.Text + ElseIf RBFechaFin.Checked Then + RecurrenciaFin = TxtFechaFinRecurrencia.Text + Else + RecurrenciaFin = "-1" + End If + Else + If HdnCveEvento.Value.ToEntero > 0 Then + Frecuencia = -2 : DiasSemana = "-2" : Dias = -2 : Mes = -2 : RecurrenciaFin = "-2" + End If + End If + + '11/05/2018 - GASTO RECURRENTE + Dim CveTipoEvento As Integer = IIf(ChkGastoRecurrente.Checked, 10, 2).ToString().ToEntero() + Dim Importe As Double = Convert.ToDouble(IIf(ChkGastoRecurrente.Checked, TxtImporteGastoRecurrente.Text, "-1")) + + If HdnCveEvento.Value.ToEntero > 0 Then + If ObjEventos.UpdateEvento(TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text, DdlPrioridad.SelectedValue.ToEntero, DdlAgedaTipo.SelectedValue.ToEntero, -1, FechaInicio, FechaFin, -1, "-1", HdnCveEvento.Value.ToEntero, "-1", + RecurrenciaTipo, Frecuencia, DiasSemana, Dias, Mes, RecurrenciaFin, Importe:=Importe) Then + Alert("El Evento se actualizó correctamente", TipoMensaje.MsgInformacion) + Else + Alert("Ocurrió un error al actualizar el evento", TipoMensaje.MsgAdvertencia) + End If + Else + If ObjEventos.AddEventoAgenda(DdlAgedaTipo.SelectedValue.ToEntero, TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text, DdlPrioridad.SelectedValue.ToEntero, FechaInicio, FechaFin, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, + RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=CveTipoEvento, Importe:=Importe) Then + + Alert("El Evento se guardó correctamente", TipoMensaje.MsgInformacion) + Else + Alert("Ocurrió un error al Guardar el evento", TipoMensaje.MsgAdvertencia) + End If + End If + + ObjEventos.Dispose() + RegistraScript("Calendario();SetView();$('#ModalAgenda').modal('hide');", "1234") + LimpiaModalAgenda() + + End Sub + Private Sub LimpiaModalAgenda() + TxtDescripcionAgenda.Text = "" + TxtAsuntoAgenda.Text = "" + DdlPrioridad.SelectedValue = "1" + TxtNumeroOcurrencias.Text = "" + TxtFechaFinRecurrencia.Text = "" + RBFechaFin.Checked = False + RBNumeroOcurrencias.Checked = False + RBLRecurrencia.SelectedValue = "1" + CheckDiasSemana.ClearSelection() + RBLRecurrencia_SelectedIndexChanged(RBLRecurrencia, EventArgs.Empty) + TxtFrecuencia.Text = "1" + LblEmpresaCRM.Text = "" + End Sub + + Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs) + + Dim ObjEventos As New ClsOIEventos + RegistraScript("GetView();") + + If ObjEventos.RemoveEvento(HdnCveEvento.Value.ToEntero, UsuarioActual.CveEmpresa) Then + RegistraScript("Calendario();SetView();$('#ModalAgenda').modal('hide');", "1234") + Alert("El evento se eliminó correctamente", TipoMensaje.MsgInformacion) + Else + Alert("Ocurrió un error al eliminar el evento, por favor intente de nuevo.", TipoMensaje.MsgError) + End If + + ObjEventos.Dispose() + End Sub + + + Public Shared Function EliminaEvento(CveEvento As Integer, CveEmpresa As Integer) As String + Dim ObjEventos As New ClsOIEventos + + ObjEventos.RemoveEvento(CveEvento, CveEmpresa) + + ObjEventos.Dispose() + Return CveEvento.ToString + End Function + + + Public Shared Function ActualizaEvento(ClsEvent As CalendarEvent) As String + Dim ObjEventos As New ClsOIEventos + + Dim FechaInicio = DateTimeOffset.Parse(ClsEvent.start).DateTime + Dim FechaFin = DateTimeOffset.Parse(ClsEvent.end).DateTime + + If ObjEventos.UpdateEvento("-1", "-1", -1, -1, -1, FechaInicio, FechaFin, -1, "-1", ClsEvent.id) Then + End If + + ObjEventos.Dispose() + Return "a" + End Function + Protected Sub RBLRecurrencia_SelectedIndexChanged(sender As Object, e As EventArgs) + Select Case RBLRecurrencia.SelectedValue.ToEntero + Case 1 + LblTextoFrecuencia.Text = "Hora(s)" + TrDiasSemanaAdd.Style("display") = "none" + Case 2 + LblTextoFrecuencia.Text = "Dia(s)" + TrDiasSemanaAdd.Style("display") = "none" + Case 3 + LblTextoFrecuencia.Text = "Semana(s)" + TrDiasSemanaAdd.Style("display") = "block" + + 'Chequea los dias seleccionados en la recurrencia + For Each item As ListItem In CheckDiasSemana.Items + If HdnDiasSemanaAgendar.Value.Contains(item.Value) Then + item.Selected = True + Else + item.Selected = False + End If + Next + Case 4 + LblTextoFrecuencia.Text = "Mes(es)" + TrDiasSemanaAdd.Style("display") = "none" + Case 5 + LblTextoFrecuencia.Text = "Año(s)" + TrDiasSemanaAdd.Style("display") = "none" + Case Else + End Select + UpRecurrencia.Update() + End Sub + Protected Sub BtnActualizaAdd_Click(sender As Object, e As EventArgs) + RBLRecurrencia_SelectedIndexChanged(RBLRecurrencia, EventArgs.Empty) + End Sub +#End Region + + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + RegistraScript("Calendario();") + End Sub + + Private Sub CargaOrdenesServiciosNoAsignadas() + + DdlOrdenesSinAsignar.DataSource = DT_OSNoAsignadas + DdlOrdenesSinAsignar.DataBind() + DdlOrdenesSinAsignar.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) + + UpOrdenesSinAsignar.Update() + + End Sub + Private Sub ConsultaOrdenesServiciosNoAsignadas() + + Dim CveEstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus=1").ToEntero + + If CveEstatusOrdenServicio = 0 Then + Alert("No se pudo carga el estatus", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjOS As New ClsOS + + If ObjOS.GetOrdenesServiciosNoAsignadas(-1, -1, CveEstatusOrdenServicio, UsuarioActual.CveEmpresa, "-1", "-1") Then + DT_OSSubProyectos = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) + DT_OSNoAsignadas = ObjOS.DtResultados + Else + DT_OSSubProyectos = New DataTable + DT_OSNoAsignadas = New DataTable + End If + ObjOS.Dispose() + + 'If DT_OSNoAsignadas.Rows.Count > 0 Then + ' DVOSPendientes.Visible = True + 'Else + ' DVOSPendientes.Visible = False + 'End If + UpOrdenesSinAsignar.Update() + + End Sub + + Private Sub cargaDropsModal() + + 'DdlClientesWS.ddl.Items.Clear() + 'DdlClientesWS.txtText.Value = "" + 'DdlClientesWS.txtValue.Value = "" + + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlClientesWS.setEsWebService(True) + Else + DdlClientesWS.setEsWebService(False) + CargaClientes() + End If + + End Sub + + Private Sub CargaClientes() + If Not UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlClientesWS.ddl.Items.Clear() + DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1) + DdlClientesWS.DataBind() + DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) + End If + End Sub + + Private Sub LipiaModalOS() + + TxtSolicito.Text = "" + TxtDescripcion.Text = "" + TxtFechaOS.Text = "" + + DdlClientesWS.txtText.Value = "" + DdlClientesWS.txtValue.Value = "" + DdlClientesWS.ddl.SelectedValueExist("-1") + DdlTecnicoAsignar.SelectedValueExist("-1") + + 'TSTimeSelector.Hour = NowADS().Hour + 'TSTimeSelector.Minute = NowADS().Minute + + CveTecnicoAsignarOrioginal = -1 + FechaInicioOriginal = NowADS() + + DVFolio.Visible = False + DvModalSubProyecto.Visible = False + + End Sub + + Protected Sub LnkOrdenesSinAsignarMostarModal_Click(sender As Object, e As EventArgs) + TipoAccion = OSModalTipoAccion.Asignacion + HFCveOS.Value = "-1" + MostarModal() + End Sub + Private Sub MostarModal() + + LipiaModalOS() + If TipoAccion = OSModalTipoAccion.Agregar Then + + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlClientesWS.txtValue.Value = CveClientePublicoGeneral.ToString + DdlClientesWS.txtText.Value = NombreClientePublicoGeneral + Else + DdlClientesWS.ddl.SelectedValueExist(CveClientePublicoGeneral) + End If + + TxtFechaOS.Text = NowADS().ToString("dd/MM/yyyy") + RegistraScript("$('#DVModalOS').modal('show');") + LblModalOStitulo.Text = "Agregar Orden de Servicio" + + ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Or TipoAccion = OSModalTipoAccion.Asignacion Then + + 'cargaDropsModal() + LblModalOStitulo.Text = "Actualizar Orden de Servicio" + + + Dim IDOSDetalle As Integer = 1 + Dim SeFacturara = "" + Dim CveOsConsultar As Integer = HFCveOS.Value.ToEntero + + 'If Not CveOsConsultar > 0 AndAlso Not DdlOrdenesSinAsignar.SelectedValue.ToEntero > 0 Then + ' Alert("clave de orden de servicio no encontrada.", TipoMensaje.MsgAdvertencia) + ' Exit Sub + 'End If + + If CveOsConsultar > 0 Then + DdlOrdenesSinAsignar.SelectedValueExist(-1) + End If + Dim ObjOS As New ClsOS() + If ObjOS.GetOrdenesServicios(CveOsConsultar, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CveOSDetalle:=DdlOrdenesSinAsignar.SelectedValue.ToEntero) Then + + DVFolio.Visible = True + HLkFolio.Text = ObjOS.Folio.ToString + HLkFolio.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveOS={ObjOS.CveOS}" + + HLKPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=OS&CVEOS={0}", ObjOS.CveOS))}" + + + HFCveOS.Value = ObjOS.CveOS.ToString + HFCveOsDetalle.Value = ObjOS.CveOSDetalle.ToString + TxtDescripcion.Text = ObjOS.Descripcion + TxtSolicito.Text = ObjOS.PersonaSolicito + TxtFechaOS.Text = ObjOS.FechaRecepcion.ToString("dd/MM/yyyy") + 'DdlSubProyectoOS.SelectedValueExist(ObjOS.CveSubProyecto) + DdlClientesWS.txtText.Value = ObjOS.Cliente + DdlClientesWS.txtValue.Value = ObjOS.CveCliente.ToString + DdlClientesWS.ddl.SelectedValueExist(ObjOS.CveCliente.ToString) + + If TipoAccion = OSModalTipoAccion.Actualizacion Then + DdlTecnicoAsignar.SelectedValueExist(ObjOS.CveUsuarioAtendio) + CveTecnicoAsignarOrioginal = ObjOS.CveUsuarioAtendio + FechaInicioOriginal = ObjOS.FechaInicio + + DvModalSubProyecto.Visible = True + LblModalOStitulo.Text = "Actualizar Orden de Servicio" + 'TSTimeSelector.Hour = If(ObjOS.FechaInicio.Hour > 12, ObjOS.FechaInicio.Hour - 12, ObjOS.FechaInicio.Hour) + 'TSTimeSelector.Minute = ObjOS.FechaInicio.Minute + 'TSTimeSelector.AmPm = If(ObjOS.FechaInicio.Hour > 12, MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM) + End If + + + Dim TipoEstatus As Integer = 0 + TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio), "CveEstatusOrdenServicio ASC").ToEntero + + 'LnkModalAsignar.Visible = If(TipoEstatus.Contiene(4, 5), False, True) + LnkCancelarOrden.Visible = If(TipoEstatus.Contiene(4, 5), False, True) + + If (TipoEstatus = 5) Then + LblModalOStitulo.Text = "Orden Cancelada" + End If + + RegistraScript("$('#DVModalOS').modal('show');") + + End If + ObjOS.Dispose() + + ElseIf False Then ' Anterior + + CveOSDetalleAsignar = -1 + CveOSAsignar = -1 + CveSubProyectoAsignar = -1 + Dim DTable As DataTable = DT_OSNoAsignadas.FiltraParametros($"CveOSDetalle={DdlOrdenesSinAsignar.SelectedValue}") + + If DTable.Rows.Count = 1 Then + + CveOSDetalleAsignar = DTable.Rows(0)("CveOSDetalle").ToString.ToEntero + CveSubProyectoAsignar = DTable.Rows(0)("CveSubProyecto").ToString.ToEntero + CveOSAsignar = DTable.Rows(0)("CveOS").ToString.ToEntero + FolioAsignar = DTable.Rows(0)("Folio").ToString + + 'LblModalConcepto.Text = DTable.Rows(0)("Concepto").ToString + 'LblModalCliente.Text = DTable.Rows(0)("Nombre").ToString + 'LblModalSubProyecto.Text = DTable.Rows(0)("SubProyecto").ToString + + LblModalOStitulo.Text = "Asignar Orden de Servicio" + + RegistraScript("$('#DVModalOS').modal('show');") + Else + Alert("Error al cargar datos.") + End If + + End If + + + UpModalOS.Update() + + End Sub + + + Protected Sub LnkModalAsignar_Click(sender As Object, e As EventArgs) + + Dim TieneError As Boolean = False + Dim CveEstatusSolicidato = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "CveEstatusOrdenServicio ASC").ToEntero + Dim CveEstatusAsiganada = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero + + Dim CveCliente As Integer = If(Not DdlClientesWS.SelectedValue.ToEntero > 0, DdlClientesWS.txtValue.Value.ToString.ToEntero, DdlClientesWS.SelectedValue.ToEntero) + Dim CvePSDetalle As Integer = UsuarioActual.Empresa.Funcionalidad(708).ToEntero + Dim EsNueva As Boolean = False + + + Dim CveOS As Integer = HFCveOS.Value.ToEntero + Dim CveOsDetalle As Integer = HFCveOsDetalle.Value.ToEntero + + + Dim CveSubProyectoTecnico As Integer = If(DdlTecnicoAsignar.SelectedValue.ToEntero > 0, GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0 ").ToEntero, -1) + + If CveSubProyectoTecnico = 0 And DdlTecnicoAsignar.SelectedValue.ToEntero = 100 Then + CveSubProyectoTecnico = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1).FiltroPrimeroValor("CveSubProyecto").ToEntero + End If + + + If TipoAccion = OSModalTipoAccion.Asignacion AndAlso Not CveSubProyectoTecnico > 0 Then + Alert("No se encontro el subproyecto o centro de costo del tecnico seleccionado.") + Exit Sub + End If + + If Not CvePSDetalle > 0 Then + Alert("No esta asiganado el producto del detalle a la funcionalidad.") + Exit Sub + End If + + If Not CveCliente > 0 Then + Alert("Debe seleccionar una cliente.") + Exit Sub + End If + + If TipoAccion = OSModalTipoAccion.Asignacion Then + + If Not DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then + Alert("El tecnico es requerido", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + + + End If + + Dim ObjOS As New ClsOS + ObjOS.IniciaTransacSQL() + + If CveOS > 0 Then + + Dim CveEstatusOrden = CveEstatusSolicidato + If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then + CveEstatusOrden = CveEstatusAsiganada + End If + + If TipoAccion = OSModalTipoAccion.Asignacion Then + CveEstatusOrden = CveEstatusAsiganada + End If + + CveOS = HFCveOS.Value.ToEntero + CveOsDetalle = HFCveOsDetalle.Value.ToEntero + + If CveOS > 0 Then + + If Not ObjOS.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaOS.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatusOrden, CveOS, UsuarioActual.CveUsuario, + -1, CveClienteSucursal:=-1, Direccion:="", Telefono:="", + CveSubProyecto:=CveSubProyectoTecnico, Correo:="") Then + TieneError = True + End If + Else + TieneError = True + End If + + End If + + 'Dim picker As MKB.TimePicker.TimeSelector = TSTimeSelector + 'Dim time As DateTime + 'time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtModalFechaOS.Text, picker.Hour, picker.Minute, picker.AmPm)) + + If Not TieneError AndAlso CveOS > 0 AndAlso CveOsDetalle > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 AndAlso + (HFCveUsuarioAtendio.Value.ToEntero <> DdlTecnicoAsignar.SelectedValue.ToEntero) Then + + + 'If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then + ' TieneError = True + 'End If + + + 'If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then + ' Dim subProyectoDelTecnico As DataTable + ' subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoTecnico}") + + ' If subProyectoDelTecnico.Rows.Count > 0 Then + ' If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then + ' TieneError = True + ' End If + ' Else + ' Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia) + ' TieneError = True + ' End If + 'End If + + + + If Not TieneError Then + + If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusAsiganada, UsuarioActual.CveUsuario, CveOS) Then + TieneError = True + End If + + If Not TieneError Then + + + Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL()) + + If HFOCveOIEvento.Value.ToEntero > 0 Then + + If Not ObjEventos.RemoveAgendaBitacora(HFOCveOIEvento.Value.ToEntero, UsuarioActual.CveEmpresa) Then + TieneError = True + End If + + End If + + + Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1" + Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} Orden de servicio {FolioAsignar} " + If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, TxtFechaOS.Text.ToDateTime(), TxtFechaOS.Text.ToDateTime().AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, + RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2, + Importe:=0, CveOS:=CveOS, CveSubProyecto:=CveSubProyectoTecnico, CveUsuarioPara:=DdlTecnicoAsignar.SelectedValue.ToEntero) Then + TieneError = True + End If + End If + End If + End If + + If Not TieneError Then + ObjOS.Commit() + Else + ObjOS.RollBack() + End If + ObjOS.Dispose() + + Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString + If Not TieneError And CorreoAsignado.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then + CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString + MandaCorreOS(CveOS, CorreoAsignado) + End If + + 'If Not TieneError And TxtEmail.Text.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then + ' MandaCorreOS(CveOS, TxtEmail.Text, True) + 'End If + + If Not TieneError Then + + ConsultaOrdenesServiciosNoAsignadas() + CargaOrdenesServiciosNoAsignadas() + + If TipoAccion = OSModalTipoAccion.Asignacion Then + Alert("Orden asignada correctamente.") + ElseIf TipoAccion = OSModalTipoAccion.Agregar Then + Alert("Orden Guardada correctamente.") + ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Then + Alert("Orden actualizada correctamente.") + End If + + RegistraScript("$('#DVModalOS').modal('hide');Calendario();") + + End If + + End Sub + + Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, Optional EsCliente As Boolean = False) + + Dim ObjOS As New ClsOS() + Dim params As New List(Of ReportParameter) + Dim CveFolio = "" + + Dim TmpDTOS = New DataTable + TmpDTOS.Columns.Add("CveOSDetalle", GetType(Integer)) + + TmpDTOS.Columns.Add("CveClasificacion", GetType(Integer)) + TmpDTOS.Columns.Add("Clasificacion", GetType(String)) + TmpDTOS.Columns.Add("CvePS", GetType(Integer)) + TmpDTOS.Columns.Add("CveUM", GetType(Integer)) + TmpDTOS.Columns.Add("UM", GetType(String)) + TmpDTOS.Columns.Add("Cantidad", GetType(Integer)) + TmpDTOS.Columns.Add("PS", GetType(String)) + TmpDTOS.Columns.Add("Especificaciones", GetType(String)) + TmpDTOS.Columns.Add("Materiales", GetType(String)) + TmpDTOS.Columns.Add("CveCuentaEquipo", GetType(Integer)) + TmpDTOS.Columns.Add("Observaciones", GetType(String)) + TmpDTOS.Columns.Add("FechaAtencion", GetType(String)) + TmpDTOS.Columns.Add("CveUsuarioAtendio", GetType(Integer)) + TmpDTOS.Columns.Add("UsuarioAtendio", GetType(String)) + TmpDTOS.Columns.Add("FechaTermino", GetType(String)) + TmpDTOS.Columns.Add("FechaEntrega", GetType(String)) + TmpDTOS.Columns.Add("CveUsuarioEntrego", GetType(Integer)) + TmpDTOS.Columns.Add("UsuarioEntrego", GetType(String)) + TmpDTOS.Columns.Add("SeFacturara", GetType(String)) + TmpDTOS.Columns.Add("SeSuperviso", GetType(String)) + TmpDTOS.Columns.Add("Estatus", GetType(String)) + TmpDTOS.Columns.Add("Archivo", GetType(String)) + TmpDTOS.Columns.Add("ComentarioTecnico", GetType(String)) + + + Dim TmpDTMaterialesOS = New DataTable + TmpDTMaterialesOS.Columns.Add("CveOSDetalle", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveConsecutivo", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveConsecutivoDetalle", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveMaterial", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("Cantidad", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveClasificacion", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CvePS", GetType(String)) + TmpDTMaterialesOS.Columns.Add("CveUM", GetType(String)) + TmpDTMaterialesOS.Columns.Add("Clasificacion", GetType(String)) + TmpDTMaterialesOS.Columns.Add("PS", GetType(String)) + TmpDTMaterialesOS.Columns.Add("UM", GetType(String)) + + Dim FolioOS As String = "" + + Dim RutaReporte As New System.IO.FileInfo(String.Format("{0}Formatos/OrdenServicio.rdlc", UsuarioActual.Empresa.Ruta)) + + If ObjOS.GetOrdenesServicios(CveOS, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then + If ObjOS.DtResultados.Rows.Count > 0 Then + + Dim dtOS As DataTable = ObjOS.DtResultados + Dim dr As DataRow = dtOS.Rows(0) + params.Add(New ReportParameter("Cliente", dr("Cliente").ToString)) + params.Add(New ReportParameter("Solicito", dr("PersonaSolicito").ToString)) + params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) + params.Add(New ReportParameter("Recibio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaRecibido", dr("FechaRecepcion").ToString.ToDate.ToString("dd/MM/yyyy"))) + params.Add(New ReportParameter("FolioOS", dr("Folio").ToString)) + params.Add(New ReportParameter("ClienteTelefono", dr("Telefono").ToString)) + params.Add(New ReportParameter("ClienteCalle", dr("Direccion").ToString)) + params.Add(New ReportParameter("ClienteColonia", dr("Colonia").ToString)) + params.Add(New ReportParameter("ClienteCiudad", dr("Ciudad").ToString)) + params.Add(New ReportParameter("ClienteEstado", dr("Estado").ToString)) + CveFolio = dr("Folio").ToString + + 'If RutaReporte.Exists Then + params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString)) + params.Add(New ReportParameter("RFC", dr("RFC").ToString)) + params.Add(New ReportParameter("Vendedor", " ")) + params.Add(New ReportParameter("Correo", dr("Correo").ToString)) + params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString)) + params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString)) + params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString)) + params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString)) + 'params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) + params.Add(New ReportParameter("Copia", "Copia: Original")) + params.Add(New ReportParameter("Equipo", dr("Equipo").ToString)) + + params.Add(New ReportParameter("DireccionOS", dr("DireccionOS").ToString)) + params.Add(New ReportParameter("Telefono", dr("Telefono").ToString)) + params.Add(New ReportParameter("CorreoOS", dr("CorreoOS").ToString)) + + params.Add(New ReportParameter("ModeloMarca", dr("ModeloMarca").ToString)) + params.Add(New ReportParameter("Año", dr("Año").ToString)) + params.Add(New ReportParameter("TelefonoContacto", dr("TelefonoContacto").ToString)) + + params.Add(New ReportParameter("FechaImpresion", NowADS().ToString("dd/MM/yyyy"))) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + params.Add(New ReportParameter("Condiciones", dr("Condiciones").ToString)) + params.Add(New ReportParameter("FechaAtencion", If(dr("FechaInicio").ToString.Length > 0, dr("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy hh:mm tt"), ""))) + params.Add(New ReportParameter("TecnicoAsignado", dr("UsuarioAtendio").ToString)) + + 'End If + + End If + End If + + Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") + + If Not RutaReporte.Exists Then + + RutaReporte = New System.IO.FileInfo(String.Format("{0}Empresas\Grales\Formatos\OrdenServicio.rdlc", ModExtensiones.DirectorioBaseEmpresas)) + + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString)) + params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) + + End If + + + If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then + TmpDTMaterialesOS = ObjOS.DtResultados + End If + + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS} + Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTMaterialesOS} + + lrds.Add(rds) + lrds.Add(rds2) + ObjOS.Dispose() + + Dim ReporteByte As Byte() = StreamPDF(RutaReporte.FullName, lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) + + If ReporteByte IsNot Nothing Then + Try + ViewState("Para") = CorreoUsuarioAsignado + ViewState("ArrayCC") = "" + ViewState("Asunto") = "Asinación Orden de Servicio" + ViewState("FolioOSMail") = FolioOS + ViewState("Body") = "Asinación Orden de Servicio" + + + ViewState("bytesOS") = ReporteByte + Dim Hilo As New Threading.Thread(AddressOf SendmailOS) + Hilo.Start() + Catch ex As Exception + GuardaLogAD($"Error al enviar correo de OS {ex.StackTrace}") + End Try + End If + + End Sub + + Private Sub SendmailOS() + + Dim Asunto, Para, ArrayCC, Body As String + Asunto = If(IsNothing(ViewState("Asunto")), "", ViewState("Asunto").ToString) + Para = If(IsNothing(ViewState("Para")), "", ViewState("Para").ToString) + ArrayCC = If(IsNothing(ViewState("ArrayCC")), "", ViewState("ArrayCC").ToString) + + Body = If(IsNothing(ViewState("Body")), "", ViewState("Body").ToString) + + + Dim Mail As New ClsSisMail() + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.NombreArchivo = $"OS_{ViewState("FolioOSMail") }.pdf", .ArchivoBinario = DirectCast(ViewState("bytesOS"), Byte())}) + Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC, LSRutasMail) + + End Sub + + Private Sub GetCargaTiposOrden() + Dim ObjOS As New ClsOS + + If ObjOS.GetTipoOrdenesServicios(UsuarioActual.CveEmpresa) AndAlso ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then + CveOrdenServicioTipo = ObjOS.DtResultados.FiltroPrimeroValor("CveOrdenServicioTipo").ToEntero + Else + CveOrdenServicioTipo = -1 + End If + ObjOS.Dispose() + + End Sub + + + Protected Sub LnkCommando_Click(sender As Object, e As EventArgs) + + ' Alert($"HFCveOS:{HFCveOS.Value}, HFCveOsDetalle:{HFCveOsDetalle.Value }, HFCveOIEvento:{HFOCveOIEvento.Value}") + TipoAccion = OSModalTipoAccion.Actualizacion + 'RegistraScript("$('#DVModalOS').modal('show');") + MostarModal() + + End Sub + + Protected Sub DdlTecnicoAsignar_SelectedIndexChanged(sender As Object, e As EventArgs) + + + If TipoAccion = OSModalTipoAccion.Asignacion Then + + + 'DdlTecnicoAsignar.Visible = True + 'RfvDdlTecnicoAsignar.Visible = True + 'VCERfvDdlTecnicoAsignar.Visible = True + + 'RfvTxtModalFechaOS.Visible = True + 'VceRfvTxtModalFechaOS.Enabled = True + ElseIf TipoAccion = OSModalTipoAccion.Agregar Or TipoAccion = OSModalTipoAccion.Actualizacion Then + + 'DdlTecnicoAsignar.Visible = False + 'RfvDdlTecnicoAsignar.Visible = False + ' VCERfvDdlTecnicoAsignar.Visible = False + + 'RfvTxtModalFechaOS.Visible = False + 'VceRfvTxtModalFechaOS.Enabled = False + + End If + + UpModalOS.Update() + + End Sub + + Private Sub CargaClientePublicoGeneral() + + Dim ObjCliente As New ClsClientes() + + If ObjCliente.GetClientes(-1, "PUBLICO EN GENERAL", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then + + If ObjCliente.DtResultados.Rows.Count > 0 Then + Me.CveClientePublicoGeneral = ObjCliente.CveCliente + Me.NombreClientePublicoGeneral = ObjCliente.Nombre + End If + End If + ObjCliente.Dispose() + + End Sub + + + Protected Sub DdlTecnicoAsignar_SelectedIndexChanged1(sender As Object, e As EventArgs) + ValidaHorarioNoOperativo() + End Sub + + Protected Sub LnkValidaHorarioNoOperativo_Click(sender As Object, e As EventArgs) + ValidaHorarioNoOperativo() + End Sub + + Private Sub ValidaHorarioNoOperativo() + If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then + + Dim objOS As New ClsOS + Dim DTHorarios As New DataTable + + If objOS.GetOrdenesServiciosTecnicoHorarioNoOperativo(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + DTHorarios = objOS.DtResultados + End If + objOS.Dispose() + + If DTHorarios IsNot Nothing AndAlso DTHorarios.Rows.Count > 0 Then + + Dim HoraInicio As TimeSpan = DTHorarios.Rows(0)("HoraInicio").ToString.ToDate.TimeOfDay + Dim HoraFin As TimeSpan = DTHorarios.Rows(0)("HoraFin").ToString.ToDate.TimeOfDay + Dim HoraAsignacion As TimeSpan = TxtFechaOS.Text.ToDate.TimeOfDay + + If HoraAsignacion >= HoraInicio And HoraAsignacion <= HoraFin Then + Alert($"La hora especificada esta dentro del horario no operativo del Técnico {HoraInicio.ToString()} a {HoraFin.ToString()} .", TipoMensaje.MsgAdvertencia) + End If + End If + 'ViewState("Validando") = Nothing + + End If + End Sub + + Protected Sub LnkCancelarOrden_Click(sender As Object, e As EventArgs) + + RegistraScript($"$('#{TxtModalCancelarOrdenMotivo.ClientID}').focus();;$('#DVModalCancelacionOrden').modal('show');") + + TxtModalCancelarOrdenMotivo.Focus() + TxtModalCancelarOrdenMotivo.Text = "" + UpmodalCacelaOrden.Update() + + End Sub + + + + Protected Sub LnkmodalCancelarORdenServicio_Click(sender As Object, e As EventArgs) + + Dim TieneError As Boolean = True + Dim CveOS As Integer = HFCveOS.Value.ToEntero + Dim objOS As New ClsOS + Dim ObjEventoBitacora As New ClsOIEventos(objOS.IniciaTransacSQL) + If objOS.UpdateOrdenesServiciosFinaliza(CveOS, -1, -1, UsuarioActual.CveEmpresa, Opcion:=2) Then 'Opcion:=2 Es para cancelar + If ObjEventoBitacora.AddEventoBitacora($"Motivo Cancelación: {TxtModalCancelarOrdenMotivo.Text.Trim}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveOS, -1, -1, -1, -1) Then + TieneError = False + End If + End If + + If TieneError Then + objOS.RollBack() + Else + objOS.Commit() + End If + + objOS.Dispose() + + + If Not TieneError Then + Alert("Orden Cancelada Correctamente", TipoMensaje.MsgInformacion, "location.reload(true);") + RegistraScript("$('#DVModalCancelacionOrden').modal('hide');") + RegistraScript("$('#DVModalFinalizarOrden').modal('hide');") + End If + End Sub +End Class diff --git a/RH/Personal.aspx b/RH/Personal.aspx index c433299bf..cf8e23ddf 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -1615,12 +1615,28 @@
-
- - - + + + +
+
+
+ + + +
+
+
+
+ + + +
+
+ +
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 4b10b8342..00414fc4a 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -1057,6 +1057,7 @@ Partial Class RH_Personal If UsuarioActual.CveRol = 1 Or UsuarioActual.CveUsuario = 100 Then DVNetoPeriodo.Visible = True + DVCodigoDispersionVale.Visible = True End If @@ -1878,6 +1879,8 @@ Partial Class RH_Personal DdlRegistroPatronal.SelectedValueExist(ObjPersonal.DtResultados.Rows(0)("CveRegistroPatronal").ToString) DdlEmpresaAsignada.SelectedValueExist(ObjPersonal.DtResultados.Rows(0)("CveEmpresaAsignado").ToString) + TxtCodigoDispersionVale.Text = ObjPersonal.CodigoDispersionVale + 'Carga Incidencias BtnConsultarAsistencia_Click(Me, New System.EventArgs) @@ -2053,7 +2056,7 @@ Partial Class RH_Personal TelefonoExtension:=TxtTelefonoExtension.Text, CelularPersonal:=TxtCelularPersonal.Text, TelefonoMarcadoRapido:=TxtTelefonoMarcadoRapido.Text, ContactoAlterno:="", CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=ChkSindicalizado.Checked, Pensionado:=ChkPensionado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero(), CveRegistroPatronal:=DdlRegistroPatronal.SelectedValue.ToEntero(), CveEmpresaAsignado:=DdlEmpresaAsignada.SelectedValue.ToEntero, CveTipoTrabajador:=DdlTipoTrabajador.SelectedValue.ToEntero(), NetoPeriodo:=TxtNetoPeriodo.Text.ToDecimal, TipoSangre:=DdlTipoSangre.SelectedValue, CveSubTipoPeriodo:=CveSubTipoPeriodo, - AreaGeografica:=DdlAreageografica.SelectedValue) Then + AreaGeografica:=DdlAreageografica.SelectedValue, CodigoDispersionVale:=TxtCodigoDispersionVale.Text.Trim) Then If Archivo.Exists Then @@ -2140,7 +2143,7 @@ Partial Class RH_Personal CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=If(ChkSindicalizado.Checked, 1, 0), Pensionado:=ChkPensionado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero(), CveRegistroPatronal:=DdlRegistroPatronal.SelectedValue.ToEntero(), CveEmpresaAsignado:=DdlEmpresaAsignada.SelectedValue.ToEntero(), EsReserva:=If(chkEsReserva.Checked, 1, 0), Fiscalizable:=If(chkNoFiscalizar.Checked, 0, 1), CveTipoTrabajador:=DdlTipoTrabajador.SelectedValue.ToEntero(), NetoPeriodo:=TxtNetoPeriodo.Text.ToDecimal, TipoSangre:=DdlTipoSangre.SelectedValue, CveSubTipoPeriodo:=CveSubTipoPeriodo, - AreaGeografica:=DdlAreageografica.SelectedValue) Then + AreaGeografica:=DdlAreageografica.SelectedValue, CodigoDispersionVale:=TxtCodigoDispersionVale.Text.Trim) Then 'Funcion usa RH Familiares If UsuarioActual.Empresa.Funcionalidad(568) = "1" Then diff --git a/SAT/SolicitudesIngresoSat.aspx.cs b/SAT/SolicitudesIngresoSat.aspx.cs index 0ee5176ab..8c8112a32 100644 --- a/SAT/SolicitudesIngresoSat.aspx.cs +++ b/SAT/SolicitudesIngresoSat.aspx.cs @@ -271,7 +271,8 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas protected void LnkverificarSolicitudes_Click(object sender, EventArgs e) { try - { + { + var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion; StringBuilder sbResultado = new StringBuilder(); foreach (GridViewRow GvRow in GVSolicitudesPendientes.Rows) { @@ -284,7 +285,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas List resultVerificacion = new List(); var ResultadoVerificaionOK = false; var SeVerifico = false; - var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion; + var ResultadoSolicitudOK = false; @@ -339,7 +340,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas else { - if (resultSolicitud.Count == 4) + if (resultSolicitud.Count >= 4) { sbResultado.Append($"({resultSolicitud[1]})
Folio:{Folio}
"); } @@ -352,7 +353,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas } - if (SeVerifico && resultVerificacion.Count == 4) + if (SeVerifico && resultVerificacion.Count >= 4) { if (ResultadoVerificaionOK) { @@ -370,11 +371,11 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; } - Alert(sbResultado.ToString(), TipoMensaje); + } - + Alert(sbResultado.ToString(), TipoMensaje); diff --git a/SAT/SolicitudesNominaSat.aspx b/SAT/SolicitudesNominaSat.aspx index aae72e6fe..70fdc5981 100644 --- a/SAT/SolicitudesNominaSat.aspx +++ b/SAT/SolicitudesNominaSat.aspx @@ -518,7 +518,7 @@ + DataKeyNames="CveSolicitud,idSolicitud,CveTipoSolicitud,Folio,CveSolicitudCFDI,CveSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa"> diff --git a/SAT/SolicitudesNominaSat.aspx.cs b/SAT/SolicitudesNominaSat.aspx.cs index 63d6fbe17..7bf8da504 100644 --- a/SAT/SolicitudesNominaSat.aspx.cs +++ b/SAT/SolicitudesNominaSat.aspx.cs @@ -12,7 +12,8 @@ using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using static Extensiones.ModExtensiones; - +using Newtonsoft.Json.Linq; +using Extensiones; public partial class SAT_SolicitudesNominaSat : ClsPaginas { @@ -217,15 +218,16 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas DateTime fechaFin = txtFechaFAdd.Text.ToDateTime(); int cveUsuarioIng = UsuarioActual.CveUsuario; int cveEmpresa = UsuarioActual.CveEmpresa; - bool Continuar = false; + //bool Continuar = false; + int CveSolicitudAgregada = -1; using (ClsNominas nom = new ClsNominas()) - { - Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa); + { + CveSolicitudAgregada = nom.SolicitudesAdd2(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa,1); var api = new GeneralesAPI(); - api.GeneraSolicitud(UsuarioActual.CveEmpresa, 1); - api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1); + api.GeneraSolicitud(UsuarioActual.CveEmpresa, 1, CveSolicitudAgregada); + api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1, CveSolicitudAgregada); } - if (Continuar) + if (CveSolicitudAgregada > 0) { txtFechaIAdd.Text = ""; txtFechaFAdd.Text = ""; @@ -239,10 +241,126 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas protected void LnkverificarSolicitudes_Click(object sender, EventArgs e) { - var api = new GeneralesAPI(); - api.GeneraSolicitud(UsuarioActual.CveEmpresa,1); - api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1); - cargasolicitudes(); + //var api = new GeneralesAPI(); + //api.GeneraSolicitud(UsuarioActual.CveEmpresa,1); + //api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1); + //cargasolicitudes(); + + try + { + var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion; + StringBuilder sbResultado = new StringBuilder(); + foreach (GridViewRow GvRow in GVSolicitudesPendientes.Rows) + { + int CveSolicitudActual = GvRow.DataKey("CveSolicitud").ToEntero(); + string idSolicitud = GvRow.DataKey("idSolicitud").Trim(); + int CveTipoSolicitud = GvRow.DataKey("CveTipoSolicitud").ToEntero(); + int Folio = GvRow.DataKey("CveSolicitud").ToEntero(); + + List resultSolicitud = new List(); + List resultVerificacion = new List(); + var ResultadoVerificaionOK = false; + var SeVerifico = false; + + var ResultadoSolicitudOK = false; + + + var api = new GeneralesAPI(); + + + if (idSolicitud.Length == 0) + { + JToken ObjApiSolicitud = (JToken)api.GeneraSolicitud(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual); + if (!(ObjApiSolicitud == null)) + { + resultSolicitud = ObjApiSolicitud.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value()).ToList(); + ResultadoSolicitudOK = bool.Parse(resultSolicitud[0]); + sbResultado.Append($"Solicitud {Folio} solicitada a SAT.
"); + } + else + { + TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; + } + } + else + { + resultSolicitud = new List(); + resultSolicitud.Add("true"); + resultSolicitud.Add(""); + resultSolicitud.Add(""); + resultSolicitud.Add(""); + + ResultadoSolicitudOK = true; + } + + + + if (ResultadoSolicitudOK) + { + + JToken ObjApiVerificacion = (JToken)api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual); + + + if (!(ObjApiVerificacion == null)) + { + resultVerificacion = ObjApiVerificacion.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value()).ToList(); + ResultadoVerificaionOK = bool.Parse(resultVerificacion[0]); + SeVerifico = true; + } + else + { + TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; + } + + } + else + { + + if (resultSolicitud.Count >= 4) + { + sbResultado.Append($"({resultSolicitud[1]})
Folio:{Folio}
"); + } + else + { + sbResultado.Append($"Solicitud pendiente de verificar en SAT
Folio:{Folio}
"); + } + + TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; + } + + + if (SeVerifico && resultVerificacion.Count >= 4) + { + if (ResultadoVerificaionOK) + { + sbResultado.Append($"Solicitud procesada.
Folio: {Folio}
{resultVerificacion[1]}"); + } + else + { + sbResultado.Append($"Solicitud no verificada
Folio: {Folio}{resultVerificacion[1]}.
"); + TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; + } + } + else + { + sbResultado.Append($"Se presento un error al verificar la solicitud
Folio: {Folio}."); + TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; + } + + + + } + + Alert(sbResultado.ToString(), TipoMensaje); + + + + cargasolicitudes(); + } + catch (Exception ex) + { + Alert(ex.StackTrace); + } } @@ -307,14 +425,18 @@ public class GeneralesAPI : ADSNetLibrary.Helpers.Conexiones.SIGAPI.BaseSIGAPI - public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud) + public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud, int CveSolicitud) { - return getData($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); + //return getData($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); + return getData($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); + } - public object VerificaSolicitudesNominas(int CveEmpresa, int CveTipoSolicitud) + public object VerificaSolicitudesNominas(int CveEmpresa, int CveTipoSolicitud, int CveSolicitud) { - return getData($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); + ///return getData($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); + return getData($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); } + } diff --git a/Sistemas/PopUpCambiaUsuario.aspx.vb b/Sistemas/PopUpCambiaUsuario.aspx.vb index 55fa8f59d..fcf77c1d4 100644 --- a/Sistemas/PopUpCambiaUsuario.aspx.vb +++ b/Sistemas/PopUpCambiaUsuario.aspx.vb @@ -95,7 +95,10 @@ Partial Class Sistemas_PopUpCambiaUsuario tContraseña = gvr.DataKey("Contraseña").ToString tCveEmpresa = gvr.DataKey("CveEmpresa").ToString.ToEntero - Dim ObjUsuario As New ClsSisUsuarios + Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper()) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexionDominio(Request.Url.Host.ToUpper()) + + Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) Dim Usuario As Usuario 'Dim UsuarioAsignaciones As Usuario @@ -110,8 +113,6 @@ Partial Class Sistemas_PopUpCambiaUsuario ADSSessionConfig.sessionUser.CvePlataforma = 3 End If ADSSessionConfig.sessionDpage = False - - ADSSessionConfig.sessionUser.ModoSimulacion = True If dt IsNot Nothing Then @@ -120,36 +121,15 @@ Partial Class Sistemas_PopUpCambiaUsuario End If End If dt.Dispose() + ADSSessionConfig.sessionUser.CveEmpresa = Usuario.Empresa.CveEmpresa + ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, Usuario.Empresa.CveEmpresa) - Dim ObjEmpresa As New ClsSisEmpresas() - If ObjEmpresa.GetEmpresas(tCveEmpresa, "-1", "-1", "-1", "-1") Then - If ObjEmpresa.GetEmpresasFuncionalidades(tCveEmpresa) Then - Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados - - Dim EmpresasFuncionalidades As New HybridDictionary - For Each Row As Data.DataRow In dttmp.Rows - EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString) - Next - ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades) - - End If - - UsuarioActual.Empresa = ObjEmpresa.Empresa - ADSSessionConfig.sessionUser.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa - - ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, ObjEmpresa.Empresa.CveEmpresa) - Else - End If - ObjEmpresa.Dispose() If UsuarioActual.CveCliente > 0 Then CargaZonasHorarias(UsuarioActual) End If End If - RegistraScript("gotourl();") - End If - End If End Sub Private Sub CargaZonasHorarias(ByRef UsuarioActual As Usuario) diff --git a/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb b/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb index 289e587a1..ad903f0d1 100644 --- a/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb +++ b/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb @@ -92,25 +92,11 @@ Partial Class Sistemas_PopUpCambiaUsuarioEmpresa tUsuario = gvr.DataKey("Usuario").ToString tContraseña = gvr.DataKey("Contraseña").ToString tCveEmpresa = gvr.DataKey("CveEmpresa").ToString.ToEntero - Dim tGrupoEmpresa As String = "" - Dim NombreCadena As String = "Conexion" - If Request.Url.Host.ToUpper().Contains("EMD".ToUpper()) Then tGrupoEmpresa = "EMD" - If Request.Url.Host.ToUpper().Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH" - If Request.Url.Host.ToUpper().Contains("ECONOLLANTAS".ToUpper()) Then tGrupoEmpresa = "ECONOLLANTAS" : NombreCadena = "Conexion" - If Request.Url.Host.ToUpper().Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM" - If Request.Url.Host.ToUpper().Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS" - If Request.Url.Host.ToUpper().Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO" - If Request.Url.Host.ToUpper().Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH" - If Request.Url.Host.ToUpper().Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM" - If Request.Url.Host.ToUpper().Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL" - If Request.Url.Host.ToUpper().Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC" - If Request.Url.Host.ToUpper().Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS" - If Request.Url.Host.ToUpper().Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA" - If Request.Url.Host.ToUpper().Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ" - If Request.Url.Host.ToUpper().Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA" + Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper()) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexionDominio(Request.Url.Host.ToUpper()) - Dim ObjUsuario As New ClsSisUsuarios(NombreCadena:=NombreCadena) + Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) Dim Usuario As Usuario 'Dim UsuarioAsignaciones As Usuario @@ -130,7 +116,7 @@ Partial Class Sistemas_PopUpCambiaUsuarioEmpresa ADSSessionConfig.sessionUser.ModoSimulacion = False ADSSessionConfig.sessionUser.ModoSimulacionXEmpresa = True - UsuarioActual.Empresa = objempresa + UsuarioActual.Empresa = Usuario.Empresa dt.Dispose() If UsuarioActual.CveCliente > 0 Then diff --git a/Sistemas/PopUpSeleccionarEmpresa.aspx.vb b/Sistemas/PopUpSeleccionarEmpresa.aspx.vb index 1271f6e3d..9e58fef47 100644 --- a/Sistemas/PopUpSeleccionarEmpresa.aspx.vb +++ b/Sistemas/PopUpSeleccionarEmpresa.aspx.vb @@ -60,150 +60,136 @@ Partial Class PopUpSeleccionarEmpresa Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow) If gvr IsNot Nothing Then - Dim tGrupoEmpresa As String = "" - Dim NombreCadena As String = "Conexion" - Dim Usuario As Usuario = Nothing - If Request.Url.Host.ToUpper().Contains("EMD".ToUpper()) Then tGrupoEmpresa = "EMD" - If Request.Url.Host.ToUpper().Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH" - If Request.Url.Host.ToUpper().Contains("ECONOLLANTAS".ToUpper()) Then tGrupoEmpresa = "ECONOLLANTAS" : NombreCadena = "Conexion" - If Request.Url.Host.ToUpper().Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM" - If Request.Url.Host.ToUpper().Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS" - If Request.Url.Host.ToUpper().Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO" - If Request.Url.Host.ToUpper().Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH" - If Request.Url.Host.ToUpper().Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM" - If Request.Url.Host.ToUpper().Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL" - If Request.Url.Host.ToUpper().Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC" - If Request.Url.Host.ToUpper().Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS" - If Request.Url.Host.ToUpper().Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA" - If Request.Url.Host.ToUpper().Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ" - If Request.Url.Host.ToUpper().Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA" - Dim ObjUsuario As New ClsSisUsuarios(NombreCadena:=NombreCadena) + Dim Usuario As Usuario = Nothing + Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper()) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexionDominio(Request.Url.Host.ToUpper()) + + Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) Usuario = ObjUsuario.ValidaUsuario(gvr.DataKey("Usuario"), gvr.DataKey("Contraseña"), CveEmpresa:=gvr.DataKey("CveEmpresa").ToEntero) ObjUsuario.Dispose() If Usuario IsNot Nothing Then - Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) + 'Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion Usuario.ModoSimulacion = ModoSimulacion ADSSession.ADSSessionConfig.sessionUser = Usuario ADSSession.ADSSessionConfig.sessionDpage = False - - If dt IsNot Nothing Then - If dt.Rows.Count >= 1 Then - Dim CveEmpresa = e.CommandArgument.ToString().ToEntero() - If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True - Usuario.CvePlataforma = 1 - Usuario.CveEmpresa = CveEmpresa - ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, CveEmpresa) - CreaObjetoEmpresa(Usuario) - RegistraScript("Ir3();") - End If - End If - dt.Dispose() - - - End If - - End If - End If - - End Sub - Protected Sub GvPortalCliente_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalCliente.RowCommand - If e.CommandName = "Cambia" Then - Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow) - - If gvr IsNot Nothing Then - - Dim ObjUsuario As New ClsSisUsuarios - Dim Usuario As Usuario = Nothing - Usuario = ObjUsuario.ValidaUsuarioPortalCliente(gvr.DataKey("CveCliente").ToEntero(), gvr.DataKey("Usuario"), gvr.DataKey("Contraseña")) - - ObjUsuario.Dispose() - - If Usuario IsNot Nothing Then - Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) - - Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion - Usuario.ModoSimulacion = ModoSimulacion - ADSSession.ADSSessionConfig.sessionUser = Usuario - ADSSession.ADSSessionConfig.sessionDpage = False - - If dt IsNot Nothing Then - If dt.Rows.Count >= 1 Then - If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True - Usuario.CvePlataforma = 6 - UsuarioActual.CveEmpresa = gvr.DataKey("CveEmpresa").ToEntero() - ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, UsuarioActual.CveEmpresa) - CreaObjetoEmpresa(Usuario) - 'si la contraseña es la prederminada, pide la nueva contraseña - 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario.ToString), False) - RegistraScript("Ir4();") - End If - End If - dt.Dispose() + Usuario.MultipleEmpresa = True + ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, e.CommandArgument.ToString().ToEntero()) + RegistraScript("Ir3();") + 'If dt IsNot Nothing Then + ' If dt.Rows.Count >= 1 Then + ' Dim CveEmpresa = e.CommandArgument.ToString().ToEntero() + ' If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True + ' Usuario.CvePlataforma = 1 + ' Usuario.CveEmpresa = CveEmpresa + ' ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, CveEmpresa) + ' CreaObjetoEmpresa(Usuario) + ' RegistraScript("Ir3();") + ' End If + 'End If + 'dt.Dispose() End If - End If - End If + End Sub - Protected Sub GvPortalProveedor_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalProveedor.RowCommand - If e.CommandName = "Cambia" Then - Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow) - - If gvr IsNot Nothing Then - Dim tGrupoEmpresa As String = "" - Dim NombreCadena As String = "Conexion" - Dim Usuario As Usuario = Nothing - If Request.Url.Host.ToUpper().Contains("EMD".ToUpper()) Then tGrupoEmpresa = "EMD" - If Request.Url.Host.ToUpper().Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH" - If Request.Url.Host.ToUpper().Contains("ECONOLLANTAS".ToUpper()) Then tGrupoEmpresa = "ECONOLLANTAS" : NombreCadena = "Conexion" - If Request.Url.Host.ToUpper().Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM" - If Request.Url.Host.ToUpper().Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS" - If Request.Url.Host.ToUpper().Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO" - If Request.Url.Host.ToUpper().Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH" - If Request.Url.Host.ToUpper().Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM" - If Request.Url.Host.ToUpper().Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL" - If Request.Url.Host.ToUpper().Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC" - If Request.Url.Host.ToUpper().Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS" - If Request.Url.Host.ToUpper().Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA" - If Request.Url.Host.ToUpper().Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ" - If Request.Url.Host.ToUpper().Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA" + 'Protected Sub GvPortalCliente_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalCliente.RowCommand + ' If e.CommandName = "Cambia" Then + ' Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow) - Dim ObjUsuario As New ClsSisUsuarios(NombreCadena:=NombreCadena) - Usuario = ObjUsuario.ValidaUsuarioPortalProveedor(gvr.DataKey("CveProveedor").ToEntero(), gvr.DataKey("Usuario"), gvr.DataKey("Contraseña")) + ' If gvr IsNot Nothing Then - ObjUsuario.Dispose() - - If Usuario IsNot Nothing Then - Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) + ' Dim ObjUsuario As New ClsSisUsuarios + ' Dim Usuario As Usuario = Nothing + ' Usuario = ObjUsuario.ValidaUsuarioPortalCliente(gvr.DataKey("CveCliente").ToEntero(), gvr.DataKey("Usuario"), gvr.DataKey("Contraseña")) - Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion - Usuario.ModoSimulacion = ModoSimulacion - ADSSession.ADSSessionConfig.sessionUser = Usuario - ADSSession.ADSSessionConfig.sessionDpage = False - - If dt IsNot Nothing Then - If dt.Rows.Count >= 1 Then - If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True - Usuario.CvePlataforma = 7 - UsuarioActual.CveEmpresa = gvr.DataKey("CveEmpresa").ToEntero() - ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, UsuarioActual.CveEmpresa) - CreaObjetoEmpresa(Usuario) - 'si la contraseña es la prederminada, pide la nueva contraseña - 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario.ToString), False) - RegistraScript("Ir5();") - End If - End If - dt.Dispose() - End If - - End If - - End If - End Sub + ' ObjUsuario.Dispose() + + ' If Usuario IsNot Nothing Then + ' Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) + + ' Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion + ' Usuario.ModoSimulacion = ModoSimulacion + ' ADSSession.ADSSessionConfig.sessionUser = Usuario + ' ADSSession.ADSSessionConfig.sessionDpage = False + + ' If dt IsNot Nothing Then + ' If dt.Rows.Count >= 1 Then + ' If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True + ' Usuario.CvePlataforma = 6 + ' UsuarioActual.CveEmpresa = gvr.DataKey("CveEmpresa").ToEntero() + ' ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, UsuarioActual.CveEmpresa) + ' CreaObjetoEmpresa(Usuario) + ' 'si la contraseña es la prederminada, pide la nueva contraseña + ' 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario.ToString), False) + ' RegistraScript("Ir4();") + ' End If + ' End If + ' dt.Dispose() + ' End If + + ' End If + + ' End If + 'End Sub + 'Protected Sub GvPortalProveedor_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalProveedor.RowCommand + ' If e.CommandName = "Cambia" Then + ' Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow) + + ' If gvr IsNot Nothing Then + ' Dim tGrupoEmpresa As String = "" + ' Dim NombreCadena As String = "Conexion" + ' Dim Usuario As Usuario = Nothing + ' If Request.Url.Host.ToUpper().Contains("EMD".ToUpper()) Then tGrupoEmpresa = "EMD" + ' If Request.Url.Host.ToUpper().Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH" + ' If Request.Url.Host.ToUpper().Contains("ECONOLLANTAS".ToUpper()) Then tGrupoEmpresa = "ECONOLLANTAS" : NombreCadena = "ConexionEcono" + ' If Request.Url.Host.ToUpper().Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM" + ' If Request.Url.Host.ToUpper().Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS" + ' If Request.Url.Host.ToUpper().Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO" + ' If Request.Url.Host.ToUpper().Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH" + ' If Request.Url.Host.ToUpper().Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM" + ' If Request.Url.Host.ToUpper().Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL" + ' If Request.Url.Host.ToUpper().Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC" + ' If Request.Url.Host.ToUpper().Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS" + ' If Request.Url.Host.ToUpper().Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA" + ' If Request.Url.Host.ToUpper().Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ" + ' If Request.Url.Host.ToUpper().Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA" + + ' Dim ObjUsuario As New ClsSisUsuarios(NombreCadena:=NombreCadena) + ' Usuario = ObjUsuario.ValidaUsuarioPortalProveedor(gvr.DataKey("CveProveedor").ToEntero(), gvr.DataKey("Usuario"), gvr.DataKey("Contraseña")) + + ' ObjUsuario.Dispose() + + ' If Usuario IsNot Nothing Then + ' Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) + + ' Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion + ' Usuario.ModoSimulacion = ModoSimulacion + ' ADSSession.ADSSessionConfig.sessionUser = Usuario + ' ADSSession.ADSSessionConfig.sessionDpage = False + + ' If dt IsNot Nothing Then + ' If dt.Rows.Count >= 1 Then + ' If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True + ' Usuario.CvePlataforma = 7 + ' UsuarioActual.CveEmpresa = gvr.DataKey("CveEmpresa").ToEntero() + ' ADSSession.ADSSessionConfig.SessionManager(ADSSession.OpcionSession.CambiarEmpresa, Nothing, UsuarioActual.CveEmpresa) + ' CreaObjetoEmpresa(Usuario) + ' 'si la contraseña es la prederminada, pide la nueva contraseña + ' 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario.ToString), False) + ' RegistraScript("Ir5();") + ' End If + ' End If + ' dt.Dispose() + ' End If + + ' End If + + ' End If + 'End Sub #Region "F U N C I O N E S" Protected Sub BtnSetWindows_Click(sender As Object, e As System.EventArgs) Handles BtnSetWindows.Click diff --git a/Sistemas/RolesDetalle.aspx.vb b/Sistemas/RolesDetalle.aspx.vb index c24d2e7ca..e297b2a10 100644 --- a/Sistemas/RolesDetalle.aspx.vb +++ b/Sistemas/RolesDetalle.aspx.vb @@ -29,7 +29,7 @@ Partial Class Sistemas_RolesDetalle CargaGridProcesos() CargaUsuarios() - DdlModulo.DataSource = GlobalDTModulos() + DdlModulo.DataSource = GlobalDTModulos().FiltraParametros("", Orderby:="Modulo") DdlModulo.DataBind() If CveRol <> -1 Then @@ -153,11 +153,10 @@ Partial Class Sistemas_RolesDetalle Dim TieneError As Boolean = False If CveRol <> -1 Then - If TxtRol.Text <> LblRol.Text And CveRol <> -1 Then - If Not Roles.UpdateRol(DdlModulo.SelectedValue.ToEntero, TxtRol.Text, UsuarioActual.CveUsuario, CveRol) Then - TieneError = True - Exit Sub - End If + + If Not Roles.UpdateRol(DdlModulo.SelectedValue.ToEntero, TxtRol.Text, UsuarioActual.CveUsuario, CveRol) Then + TieneError = True + Exit Sub End If 'Agregar Indicadores diff --git a/Sistemas/UsuarioDetalle.aspx.vb b/Sistemas/UsuarioDetalle.aspx.vb index 2ba7e488a..e84d997fe 100644 --- a/Sistemas/UsuarioDetalle.aspx.vb +++ b/Sistemas/UsuarioDetalle.aspx.vb @@ -456,12 +456,12 @@ Partial Class Sistemas_UsuarioDetalle TabAsignar.Visible = False End If - If UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then + If UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" OrElse UsuarioActual.Empresa.Funcionalidad(382).ToString = "1" Then TrDescuentoAutorizado.Visible = True TrLimiteAutorizacion.Visible = True DivDatosAutorizacion.Visible = True - End If - + End If + If UsuarioActual.Empresa.Funcionalidad(109).ToString = "1" Then TrDescuentoAutorizado.Visible = True End If diff --git a/Sistemas/Usuarios.aspx.vb b/Sistemas/Usuarios.aspx.vb index e6578379b..becc265ce 100644 --- a/Sistemas/Usuarios.aspx.vb +++ b/Sistemas/Usuarios.aspx.vb @@ -21,45 +21,45 @@ Partial Class Sistemas_Usuarios End Property #Region "Permisos" - Private Property PermisoEditar As Boolean - Get - Return CType(ViewState("PermisoEditar"), Boolean) - End Get - Set(value As Boolean) - ViewState("PermisoEditar") = value - End Set - End Property + Private Property PermisoEditar As Boolean + Get + Return CType(ViewState("PermisoEditar"), Boolean) + End Get + Set(value As Boolean) + ViewState("PermisoEditar") = value + End Set + End Property - Private Property PermisoModulos As Boolean - Get - Return CType(ViewState("PermisoModulos"), Boolean) - End Get - Set(value As Boolean) - ViewState("PermisoModulos") = value - End Set - End Property + Private Property PermisoModulos As Boolean + Get + Return CType(ViewState("PermisoModulos"), Boolean) + End Get + Set(value As Boolean) + ViewState("PermisoModulos") = value + End Set + End Property - Private Property PermisoProcesos As Boolean - Get - Return CType(ViewState("PermisoProcesos"), Boolean) - End Get - Set(value As Boolean) - ViewState("PermisoProcesos") = value - End Set - End Property + Private Property PermisoProcesos As Boolean + Get + Return CType(ViewState("PermisoProcesos"), Boolean) + End Get + Set(value As Boolean) + ViewState("PermisoProcesos") = value + End Set + End Property - Private Property PermisoRestablecerContraseña As Boolean - Get - Return CType(ViewState("PermisoProcesos"), Boolean) - End Get - Set(value As Boolean) - ViewState("PermisoProcesos") = value - End Set - End Property + Private Property PermisoRestablecerContraseña As Boolean + Get + Return CType(ViewState("PermisoProcesos"), Boolean) + End Get + Set(value As Boolean) + ViewState("PermisoProcesos") = value + End Set + End Property #End Region - Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load - If Not Page.IsPostBack Then + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not Page.IsPostBack Then @@ -67,12 +67,12 @@ Partial Class Sistemas_Usuarios ViewState("CveRol") = -1 CargarEmpresa() CargaDatos() - End If - End Sub + End If + End Sub - Public Sub CargaDatos() + Public Sub CargaDatos() - Dim Usuario As New ClsSisUsuarios + Dim Usuario As New ClsSisUsuarios If Usuario.GetUsuarios(-1, -1, Estatus:=DdlEsatus.SelectedValue.ToEntero) Then If UsuarioActual.CveRol <> 1 Then DtUsuarios = Usuario.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0} AND CveRol <> 1", DdlEmpresa.SelectedValue)) @@ -84,13 +84,13 @@ Partial Class Sistemas_Usuarios GvDatos.DataSource = Nothing End If - Usuario.Dispose() + Usuario.Dispose() - If ViewState("Orden").ToString() <> String.Empty Then - CargaGrid(ViewState("Orden").ToString()) - Else - CargaGrid("") - End If + If ViewState("Orden").ToString() <> String.Empty Then + CargaGrid(ViewState("Orden").ToString()) + Else + CargaGrid("") + End If End Sub Protected Sub consultar_Click(sender As Object, e As EventArgs) diff --git a/TareasProgramadas/Tareas119.ashx b/TareasProgramadas/Tareas119.ashx index 998b74230..f3f2b056b 100644 --- a/TareasProgramadas/Tareas119.ashx +++ b/TareasProgramadas/Tareas119.ashx @@ -340,8 +340,8 @@ public class TareasJam : IHttpHandler wsClientes.Cell(count, 5).Value = DRow["address.countryId"].ToString(); wsClientes.Cell(count, 6).Value = DRow["address.stateId"].ToString(); wsClientes.Cell(count, 7).Value = DRow["address.city"].ToString(); - - wsClientes.Cell(count, 8).Value = DRow["address.street1"].ToString(); + + wsClientes.Cell(count, 8).Value = DRow["address.street1"].ToString(); wsClientes.Cell(count, 9).Value = DRow["address.street2"].ToString(); wsClientes.Cell(count, 10).Value = "'" + DRow["address.postalCode"].ToString(); wsClientes.Cell(count, 11).Value = DRow["phone.intCode"].ToString(); @@ -642,27 +642,19 @@ public class TareasJam : IHttpHandler private Usuario ValidaUsuarioSistema(int CveUsuario, int CveEmpresa) { Usuario UsuarioActual = null/* TODO Change to default(_) if this is not a reference type */; - ClsSisUsuarios ObjUsuarios = new ClsSisUsuarios(); + + string NombreCadena = ClsPaginas.get_GlobalNombreCadenaConexion(CveEmpresa); + ClsSisUsuarioAutenticacion ObjUsuarios = new ClsSisUsuarioAutenticacion(NombreCadena:NombreCadena); + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(CveUsuario); - if (ObjUsuarios.GetUsuarios(CveUsuario)) - { - if (ObjUsuarios.DtResultados.Rows.Count > 0) + if (UsuarioActual != null) + { + if( HttpContext.Current.Session == null) { - string Usuario = ObjUsuarios.DtResultados.Rows[0]["Usuario"].ToString(); - string Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString(); - UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa); - UsuarioActual.CveEmpresa = CveEmpresa; - - if( HttpContext.Current.Session == null) - { - // CrearHttpContextArtificial(); - CrearHttpContextConSession(); - - - } - - HttpContext.Current.Session["UsuarioSIG"] = UsuarioActual; + // CrearHttpContextArtificial(); + CrearHttpContextConSession(); } + HttpContext.Current.Session["UsuarioSIG"] = UsuarioActual; } ObjUsuarios.Dispose(); diff --git a/TareasProgramadas/TareasJam.ashx b/TareasProgramadas/TareasJam.ashx new file mode 100644 index 000000000..6ca3744ad --- /dev/null +++ b/TareasProgramadas/TareasJam.ashx @@ -0,0 +1,33 @@ +<%@ WebHandler Language="C#" Class="TareasJam" %> + +using System; +using System.Web; +using Extensiones; + +public class TareasJam : IHttpHandler +{ + + public void ProcessRequest(HttpContext context) + { + context.Response.ContentType = "text/plain"; + //context.Response.Write("Hello World"); + string Metodo = context.Request["Metodo"] ==null?"": context.Request["Metodo"]; + string CveEmpresa =context.Request["CveEmpresa"] ==null?"": context.Request["CveEmpresa"]; + string cveTareaProgramada =context.Request["cveTareaProgramada"] ==null?"": context.Request["cveTareaProgramada"]; + string CveTareaProgramadaHistorial =context.Request["CveTareaProgramadaHistorial"] ==null?"": context.Request["CveTareaProgramadaHistorial"]; + switch (Metodo) + { + case "Alamo": + break; + default: + break; + } + ModExtensiones.GuardaLogAD(string.Format("{3} CveEmpresa={0} cveTareaProgramada={1} CveTareaProgramadaHistorial={2}", CveEmpresa, cveTareaProgramada, CveTareaProgramadaHistorial, Metodo), "Tareas Programadas"); + } + + public bool IsReusable + { + get { return false; } + } + +} \ No newline at end of file diff --git a/Ventas/CatAutorizacionLimites.aspx b/Ventas/CatAutorizacionLimites.aspx index 4936e1d5e..295100756 100644 --- a/Ventas/CatAutorizacionLimites.aspx +++ b/Ventas/CatAutorizacionLimites.aspx @@ -179,7 +179,6 @@
- diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index cb845c362..ef7407d92 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -1195,6 +1195,13 @@
+ +
+
+
+ +
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 997d09f0c..9fe195a53 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -603,8 +603,6 @@ Partial Class Clientes #End Region - - #Region " A C U M U L A D O R E S" Property CveVentaNota As Integer Get @@ -660,10 +658,6 @@ Partial Class Clientes End Set End Property - - - - Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -1495,7 +1489,7 @@ Partial Class Clientes If ObjClientes.CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExistInsert(ObjClientes.CveSubProyecto.ToString(), GlobalDTSubProyectos(-1, CveSubProyecto:=ObjClientes.CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto")) End If - + TxtGastosEnvio.Text = ObjClientes.GastosEnvio.FormatoNumero DdlZonaHoraria.SelectedValueExist(ObjClientes.DtResultados(0)("CveZonaHoraria").ToString()) ChkEstado.Checked = ObjClientes.Estatus EstatusAnteriorCliente = ObjClientes.Estatus @@ -2595,7 +2589,8 @@ Partial Class Clientes CvePais:=DdlPais.SelectedValue.ToEntero(), CveEstado:=DdlEstado.SelectedValue.ToEntero(), CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero(), CveColonia:=DdlColonia.SelectedValue.ToEntero(), CveMotivoTraslado:=IIf(DdlMotivoTraslado.SelectedValue = "-1", "0", DdlMotivoTraslado.SelectedValue).ToString().ToEntero(), NumRegIdTrib:=IIf(TxtNumRegIdTrib.Text = "", "-1", TxtNumRegIdTrib.Text).ToString(), ComExtEstado:=IIf(TxtComExtEstado.Text = "", "-1", TxtComExtEstado.Text).ToString(), ComExtMunicipio:=IIf(TxtComExtMunicipio.Text = "", "-1", TxtComExtMunicipio.Text).ToString(), ComExtColonia:=IIf(TxtComExtColonia.Text = "", "-1", TxtComExtColonia.Text).ToString(), RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), - CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked, EsFilial:=ChkEsFilial.Checked) Then + CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, Genero:=GeneroCliente, + CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked, EsFilial:=ChkEsFilial.Checked, GastosEnvio:=TxtGastosEnvio.Text.ToDecimal) Then CveClienteNuevo = ObjClientes.CveCliente @@ -2680,7 +2675,7 @@ Partial Class Clientes CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), NoDesglosaIVA:=Not ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked, - EnQuebranto:=ChkEnQuebranto.Checked, EnDemanda:=ChkEnDemanda.Checked, CreditoRegistroFirmas:=TxtNombreFirmas.Text.Trim, EsFilial:=ChkEsFilial.Checked) Then + EnQuebranto:=ChkEnQuebranto.Checked, EnDemanda:=ChkEnDemanda.Checked, CreditoRegistroFirmas:=TxtNombreFirmas.Text.Trim, EsFilial:=ChkEsFilial.Checked, GastosEnvio:=TxtGastosEnvio.Text.ToDecimal) Then If Not ObjClientes.LimpiaImpuestosLocales(Me.CveCliente) Then ErrorProceso = True @@ -6182,6 +6177,10 @@ Partial Class Clientes DdlSATPais.Items.Add(New ListItem("Guatemala", "GTM")) End If + If UsuarioActual.CveEmpresa.Contiene(194) Then + divGastosEnvio.Visible = True + End If + If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then 'si la empresa deduce ieps divDesgloseImpuestos.Visible = True End If diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 065f12ade..5e3d9e961 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -2309,6 +2309,7 @@ Partial Class Ventas_ClientesAbonar If gr.FCCheckBox("Chk").Checked Then Dim PorcentajePago As Decimal = gr.DataKey("Saldo").ToDecimal / gr.DataKey("Original").ToDecimal Dim Saldo As Decimal = gr.DataKey("Saldo").ToDecimal + Dim SaldoMN As Decimal = gr.DataKey("Saldo").ToDecimal Dim RETIVA As Decimal = gr.DataKey("RetIVA").ToDecimal Dim SubTotal As Decimal = PorcentajePago * (gr.DataKey("SubTotal").ToDecimal.RoundSQL - gr.DataKey("Descuento").ToDecimal.RoundSQL).RoundSQL Dim IVA As Decimal = PorcentajePago * gr.DataKey("IVA").ToDecimal.RoundSQL @@ -2339,9 +2340,9 @@ Partial Class Ventas_ClientesAbonar 'If CveConceptoDeduccion = 263 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(537).ToEntero 'If CveConceptoDeduccion = 252 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(581).ToEntero - If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) Then + If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then - ClienteMovto = False : Saldo = Saldo * -1 + ClienteMovto = False : SaldoMN = Saldo : Saldo = Saldo * -1 ImpuestosMovto = True : IVA = IVA * -1 RETIVA = ((SubTotal * RETIVA / gr.DataKey("SubTotal").ToDecimal.RoundSQL) * -1).RoundSQL(2) CveConceptoCliente = 1 @@ -2356,7 +2357,7 @@ Partial Class Ventas_ClientesAbonar If MsgError = "" Then Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, True, 1) 'normal - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, Saldo, ConPreP.CveConcepto, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, SaldoMN, Saldo, ConPreP.CveConcepto, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If @@ -2421,7 +2422,7 @@ Partial Class Ventas_ClientesAbonar ObjConta.Commit() CargaDatos(CveMonedaFiltro) RegistraScript("$('#ModalSaldarCuentaIncobrable').modal('hide')") - Alert(String.Format("Los movimientos se saldaron correctamente.
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) + Alert(String.Format("Los movimientos se saldaron correctamente.
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) BtnSaldarCuentasIncobrables.Visible = False Else ObjConta.RollBack() diff --git a/Ventas/FacturacionGlobal.aspx.vb b/Ventas/FacturacionGlobal.aspx.vb index 794f72424..136e80b0f 100644 --- a/Ventas/FacturacionGlobal.aspx.vb +++ b/Ventas/FacturacionGlobal.aspx.vb @@ -230,6 +230,7 @@ Partial Class Ventas_FacturacionGlobal If Math.Abs(ObjFactura.Total.RoundSQL(2) - DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)) > 0.01D Then Alert($"Los pagos no coinciden con el total de la factura [{ObjFactura.Total.RoundSQL(2)}-{ DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)}]", TipoMensaje.MsgError) + GuardaLog($"Los pagos no coinciden con el total de la factura [{ObjFactura.Total.RoundSQL(2)}-{ DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)}] Remisiones: " + SbRemisiones.ToString()) Exit Sub End If diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 7fff04748..1dd7fefbf 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -8361,8 +8361,8 @@ Partial Class PV tUsuario = DrUsuario("Usuario").ToString tContraseña = DrUsuario("Contraseña").ToString tCveEmpresa = DrUsuario("CveEmpresa").ToString.ToEntero - - Dim ObjUsuario As New ClsSisUsuarios + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(tCveEmpresa) + Dim ObjUsuario As New ClsSisUsuarioAutenticacion Dim Usuario As Usuario Usuario = ObjUsuario.ValidaUsuario(tUsuario, tContraseña, CveEmpresa:=tCveEmpresa) diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb index f7939e85d..b71acda4a 100644 --- a/Ventas/PVCobranza.aspx.vb +++ b/Ventas/PVCobranza.aspx.vb @@ -2,7 +2,7 @@ Option Strict On Imports System.Data -Imports System.IO +Imports System.IO Imports Extensiones Partial Class Ventas_PVCobranza @@ -17,8 +17,6 @@ Partial Class Ventas_PVCobranza End Set End Property - - Private Property DineroCaja As Double Get Return If(IsNothing(ViewState("DineroCaja")), 0, ViewState("DineroCaja").ToString().ToDecimal()) @@ -183,7 +181,7 @@ Partial Class Ventas_PVCobranza If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then If ObjPVenta.DtResultados.Rows.Count > 0 Then - Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble + Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString.ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble DineroCaja = Total LblEfectivoEsperado.Text = Total.FormatoNumero(2) LblEfectivoBloqueo.Text = Total.FormatoNumero(2) @@ -388,6 +386,7 @@ Partial Class Ventas_PVCobranza End If Dim PagadoSinEfectivo As Decimal = Pagado - TxtImporteEfectivo.Text.ToDecimal + Dim tCveCorte As Integer = CveCorte If PagadoSinEfectivo > LtlSaldo.Text.ToDecimal() Then Alert("El pago con los metodos de pago actuales no puede ser mayor al importe de la venta", TipoMensaje.MsgAdvertencia) @@ -422,9 +421,10 @@ Partial Class Ventas_PVCobranza VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal VentaActual.UsuarioActual = UsuarioActual VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero + If tCveCorte <= 0 AndAlso DbRowVenta("CveCorte").ToString.ToEntero > 0 Then tCveCorte = DbRowVenta("CveCorte").ToString.ToEntero Dim CvePrePoliza As Integer - Dim Fecha As Date = NowADS() + Dim Fecha As Date = DbRowVenta("Fecha").ToString.ToDate 'NowADS() Dim MsgError As String = "" Dim SaldoPendiente As Decimal = DbRowVenta("Saldo").ToString.ToDecimal @@ -440,75 +440,76 @@ Partial Class Ventas_PVCobranza Try 'FACTURAR LA REMISION PARA HACER EL PAGO - If UsuarioActual.CveEmpresa = 189 AndAlso VentaActual.TipoDocto = "Rem" Then + If UsuarioActual.CveEmpresa.Contiene(189, 197) AndAlso VentaActual.TipoDocto = "Rem" Then respFactura = GenerarFactura(VentaActual, ObjVentas2, ObjClientes) If respFactura Is Nothing Then - MsgError = "Ocurrío un error al generar la factura" + MsgError = "Ocurrió un error al generar la factura" ElseIf (respFactura IsNot Nothing AndAlso respFactura.Mensajes.Count > 0) AndAlso respFactura.TieneError Then MsgError = respFactura.Mensajes(0) End If - 'REALIZAR EL PAGO EN LA FACTURA If respFactura IsNot Nothing AndAlso Not respFactura.TieneError Then CveVenta = respFactura.CveVenta End If End If - CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) + If MsgError = "" Then + CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) - If CvePrePoliza > 0 Then + If CvePrePoliza > 0 Then - If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then - MsgError = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2) - SaldoPendiente -= TxtImporteCredito.Text.ToDecimal - PagoAplicado += TxtImporteCredito.Text.ToDecimal - End If - - If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteDebito.Text.ToDecimal > 0 Then - MsgError = RegistraIE(11, DdlCuentaTarjetaDebito.SelectedValue.ToEntero, TxtImporteDebito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2) - SaldoPendiente -= TxtImporteDebito.Text.ToDecimal - PagoAplicado += TxtImporteDebito.Text.ToDecimal - End If - - If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then - MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2) - SaldoPendiente -= TxtImporteCheque.Text.ToDecimal - PagoAplicado += TxtImporteCheque.Text.ToDecimal - End If - - If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteTransferencia.Text.ToDecimal > 0 Then - MsgError = RegistraIE(8, DdlCuentaTransferencia.SelectedValue.ToEntero, TxtImporteTransferencia.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2) - SaldoPendiente -= TxtImporteTransferencia.Text.ToDecimal - PagoAplicado += TxtImporteTransferencia.Text.ToDecimal - End If - - If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteEfectivo.Text.ToDecimal > 0 Then - Dim PagoEfectivo As Decimal = TxtImporteEfectivo.Text.ToDecimal - - PagoAplicado += PagoEfectivo - If PagoAplicado >= SaldoTotalInicial Then - TxtCambio.Text = (PagoAplicado - SaldoTotalInicial).FormatoNumero - PagoEfectivo = SaldoPendiente + If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then + MsgError = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte) + SaldoPendiente -= TxtImporteCredito.Text.ToDecimal + PagoAplicado += TxtImporteCredito.Text.ToDecimal End If - MsgError = RegistraIE(13, DdlCuentaEfectivo.SelectedValue.ToEntero, PagoEfectivo, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2) - SaldoPendiente -= PagoEfectivo - End If - If SaldoPendiente > 0 Then - MsgError = "Tiene saldo pendiente por aplicar" - End If + If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteDebito.Text.ToDecimal > 0 Then + MsgError = RegistraIE(11, DdlCuentaTarjetaDebito.SelectedValue.ToEntero, TxtImporteDebito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte) + SaldoPendiente -= TxtImporteDebito.Text.ToDecimal + PagoAplicado += TxtImporteDebito.Text.ToDecimal + End If - If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, CveCorte) Then - MsgError = "Error al aplicar el corte" - End If + If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then + MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte) + SaldoPendiente -= TxtImporteCheque.Text.ToDecimal + PagoAplicado += TxtImporteCheque.Text.ToDecimal + End If - If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then - MsgError = "No se pudo desmarcar la impresión" - End If + If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteTransferencia.Text.ToDecimal > 0 Then + MsgError = RegistraIE(8, DdlCuentaTransferencia.SelectedValue.ToEntero, TxtImporteTransferencia.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte) + SaldoPendiente -= TxtImporteTransferencia.Text.ToDecimal + PagoAplicado += TxtImporteTransferencia.Text.ToDecimal + End If - Else - MsgError = "Error al registrar prepólizas" + If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteEfectivo.Text.ToDecimal > 0 Then + Dim PagoEfectivo As Decimal = TxtImporteEfectivo.Text.ToDecimal + + PagoAplicado += PagoEfectivo + If PagoAplicado >= SaldoTotalInicial Then + TxtCambio.Text = (PagoAplicado - SaldoTotalInicial).FormatoNumero + PagoEfectivo = SaldoPendiente + End If + MsgError = RegistraIE(13, DdlCuentaEfectivo.SelectedValue.ToEntero, PagoEfectivo, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte) + SaldoPendiente -= PagoEfectivo + End If + + If SaldoPendiente > 0 Then + MsgError = "Tiene saldo pendiente por aplicar" + End If + + If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, tCveCorte) Then + MsgError = "Error al aplicar el corte" + End If + + If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then + MsgError = "No se pudo desmarcar la impresión" + End If + + Else + MsgError = "Error al registrar prepólizas" + End If End If Catch ex As Exception MsgError = "Error al registrar el pago" @@ -517,16 +518,14 @@ Partial Class Ventas_PVCobranza If MsgError = "" Then ObjVentas2.Commit() - + Dim msBuild As New StringBuilder() 'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO If respFactura IsNot Nothing Then If Not respFactura.Factura.TimbrarFactura() Then - Alert("La factura no se pudo timbrar", TipoMensaje.MsgAdvertencia) + msBuild.Append("La factura no se pudo timbrar
") End If End If - Dim msBuild As New StringBuilder() - If respFactura IsNot Nothing Then msBuild.Append($"Pago Registrado correctamente.") For Each m In respFactura.Mensajes @@ -632,7 +631,7 @@ Partial Class Ventas_PVCobranza ObjFactura.GenerarSalidaAlmacen = True ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPS = 2").Copy() - ObjFactura.CveAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 1 AND CveSubProyecto = {VentaRemision.CveSubProyecto}").ToString().ToEntero() + ObjFactura.CveAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 1 AND CveSubProyecto = {VentaRemision.CveSubProyecto}", "Orden").ToString().ToEntero() ObjFactura.CalculaTotales() ObjFactura.PreparaTimbre() @@ -706,11 +705,11 @@ Partial Class Ventas_PVCobranza Return Retorno End Function - Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas) As String + Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas, tCveCorte As Integer) As String Dim Retorno As String = "" Dim CveIEPago As Integer = 0 Dim ErrorConta As Boolean - CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImportePago, 1, 1, VentaActual.SerieFolio, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=CveCorte) + CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImportePago, 1, 1, VentaActual.SerieFolio, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte) If CveIEPago > 0 Then Dim Pago As New VentaPago Pago.ImportePagoVenta = ImportePago diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 917925e4c..2266011ad 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -2028,19 +2028,20 @@ Partial Class ProductosyServicios Dim ObjProductosServicios As New ClsProductosServicios() ObjProductosServicios.IniciaTransacSQL() Dim TieneError As Boolean = False + Dim CodigoAdicional As String = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPSAdicional.SelectedValue.ToEntero).FiltroPrimeroValor("Codigo", "") If CvePSAdicional < 0 Then If Not ObjProductosServicios.AddPSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0), Tipo:=RblTipoAdicional.SelectedValue.ToEntero()) Then TieneError = True Else - TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, True) + TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, True, CodigoAdicional) End If Else If Not ObjProductosServicios.UpdatePSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0), Tipo:=RblTipoAdicional.SelectedValue.ToEntero()) Then TieneError = True Else - TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, False, PSAdicionalAnterior) + TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, False, CodigoAdicional, PSAdicionalAnterior) End If End If @@ -3292,14 +3293,14 @@ Partial Class ProductosyServicios Return False End Function - Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean, Optional PSAdicionalAnterior As String = "") As Boolean + Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean, CodigoAdicional As String, Optional PSAdicionalAnterior As String = "") As Boolean If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then Dim StrEmpresas As String = UsuarioActual.Empresa.Funcionalidad(563) Dim EmpresasFranquicia As List(Of Integer) = StrEmpresas.Split(","c).ToList().ConvertAll(Function(x) Convert.ToInt32(x)) For Each Franquicia As Integer In EmpresasFranquicia Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero - Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", DdlPSAdicional.txtText.Value)).ToEntero + Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", CodigoAdicional)).ToEntero If CvePSPagina <= 0 Then Alert(String.Format("El producto de la página no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia) @@ -3323,8 +3324,6 @@ Partial Class ProductosyServicios Return True End If End If - - End If Next End If diff --git a/Ventas/Promociones.aspx.vb b/Ventas/Promociones.aspx.vb index e622f196e..73170657e 100644 --- a/Ventas/Promociones.aspx.vb +++ b/Ventas/Promociones.aspx.vb @@ -128,7 +128,11 @@ Partial Class Ventas_Promociones 'CLASIFICACIONES DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") DdlClasificacion.DataBind() - DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1")) + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) + Else + DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1")) + End If 'CARGA PS DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") @@ -374,8 +378,17 @@ Partial Class Ventas_Promociones Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs) If DdlClasificacion.SelectedValue.ToEntero <= 0 Then - Alert("Debe seleccionar una clasificacion", TipoMensaje.MsgAdvertencia) - Exit Sub + If DdlPS.SelectedValue.ToEntero <= 0 Then + Alert("Debe seleccionar una clasificacion o un producto y/o servicio", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + End If + + If DdlPS.SelectedValue.ToEntero <= 0 Then + If DdlClasificacion.SelectedValue.ToEntero <= 0 Then + Alert("Debe seleccionar una clasificacion o un producto y/o servicio", TipoMensaje.MsgAdvertencia) + Exit Sub + End If End If If TxtCantMinima.Text.ToEntero <= 0 Then @@ -397,8 +410,13 @@ Partial Class Ventas_Promociones Dr("CveClasificacion") = DdlClasificacion.SelectedValue Dr("Clasificacion") = DdlClasificacion.SelectedItem.Text Else - Dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("CveClasificacion") - Dr("Clasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("Clasificacion") + If DdlPS.SelectedValue.ToEntero > 0 Then + Dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("CveClasificacion") + Dr("Clasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("Clasificacion") + Else + Dr("CveClasificacion") = -1 + Dr("Clasificacion") = "Todas" + End If End If Dr("CvePS") = If(DdlPS.SelectedValue = "", "-1", DdlPS.SelectedValue) @@ -481,7 +499,7 @@ Partial Class Ventas_Promociones RegistraScript("$('#DivAgregar').modal('show')") CveConsecutivo = e.CommandArgument.ToString.ToEntero DdlRin.SelectedValueExist(Gvr.DataKey("CveRinTamaño")) - DdlClasificacion.SelectedValue = Gvr.DataKey("CveClasificacion") + DdlClasificacion.SelectedValueExist(Gvr.DataKey("CveClasificacion")) ChangeDdlProducto() If UsuarioActual.Empresa.Funcionalidad(105) = "" Then DdlPS.SelectedValue = Gvr.DataKey("CvePS") diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs index b4907ecf4..fc89d05b1 100644 --- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs +++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs @@ -571,7 +571,16 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas { factura.RealizarDevolucionAlmacen = true; } - retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse); + bool AplicaCancelacionConPagos = false; + if (UsuarioActual.Empresa.Funcionalidad(382) == "1") + { + AplicaCancelacionConPagos = true; + } + if (UsuarioActual.TienePermisoProceso(269) && UsuarioActual.Empresa.Funcionalidad(109) == "1" && factura.TipoDocto == "Ing" && factura.SaldoAlmacen != 0) + { + factura.RealizarDevolucionAlmacen = true; + } + retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, AplicaCancelacionConPagos: AplicaCancelacionConPagos); } diff --git a/Ventas/RepComisionesSMS.aspx.vb b/Ventas/RepComisionesSMS.aspx.vb index fcf4f8de3..c7d758c1b 100644 --- a/Ventas/RepComisionesSMS.aspx.vb +++ b/Ventas/RepComisionesSMS.aspx.vb @@ -24,8 +24,8 @@ Partial Class Ventas_RepComisionesSMS Dim FechaInicial As Date = New Date(10) - txtFechaI.Text = Now.FirstDayOfMonth.ToString("dd/MM/yyyy") - txtFechaF.Text = Now.ToString("dd/MM/yyyy") + txtFechaI.Text = NowADS().FirstDayOfMonth.ToString("dd/MM/yyyy") + txtFechaF.Text = NowADS().AddDays(2).ToShortDateString CargaCombos() CargaDatos() End If diff --git a/Ventas/RepPedidosSTF.aspx b/Ventas/RepPedidosSTF.aspx new file mode 100644 index 000000000..ab70cdf03 --- /dev/null +++ b/Ventas/RepPedidosSTF.aspx @@ -0,0 +1,192 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepPedidosSTF.aspx.vb" Inherits="Ventas_RepPedidosSTF" %> + + + + + + + + Reporte + + +<%--
  • + Generar PDF +
  • +
  • + Generar Excel +
  • --%> +
  • + Ver Dlls en pesos +
  • +<%-- + +
  • + Ver Grafica +
  • +
    +
    --%> +
    + + + + + +
    + <%-- --%> +
    +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + Proyecto: +
    + +
    + SubProyecto: +
    + + <%-- + + --%> +
    + + +
    + + <%-- + + --%> +
    +
    +
    +
    +
    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    + + + diff --git a/Ventas/RepPedidosSTF.aspx.vb b/Ventas/RepPedidosSTF.aspx.vb new file mode 100644 index 000000000..30916e0ac --- /dev/null +++ b/Ventas/RepPedidosSTF.aspx.vb @@ -0,0 +1,143 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports Extensiones +Partial Class Ventas_RepPedidosSTF + Inherits ClsPaginas + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then + CargaCombos() + End If + End Sub + + Private Sub CargaCombos() + + CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto) + + 'Vendedor + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso + DdlVendedor.DataBind() + DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) + DdlVendedor.Items.Insert(1, New ListItem("Sin Vendedor", "-2")) + + If UsuarioActual.CveVendedor > 0 Then + DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor) + DdlVendedor.Enabled = False + End If + End Sub + + Protected Sub CargaDatos() + + Dim ObjVentas As New ClsVentas + If ObjVentas.GetRepPedidosSTF(DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + GvDatos.DataSource = ObjVentas.DtResultados + End If + ObjVentas.Dispose() + GvDatos.DataBind() + End Sub + Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + + If e.Row.DBCampo("CveVendedor") = "" Then e.Row.FCCheckBox("Chk").Visible = False + + End If + End Sub + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + CargaDatos() + UPDatos.Update() + End Sub + + Protected Sub BtnEntregar_Click(sender As Object, e As EventArgs) + 'validar que están seleccionados + Dim TmpDTRemis As New DataTable + TmpDTRemis.Columns.Add("CveVentaDetalle", GetType(Integer)) + TmpDTRemis.Columns.Add("CveCliente", GetType(Integer)) + TmpDTRemis.Columns.Add("CveSubProyecto", GetType(Integer)) + TmpDTRemis.Columns.Add("CvePS", GetType(Integer)) + TmpDTRemis.Columns.Add("Cantidad", GetType(Decimal)) + TmpDTRemis.Columns.Add("CveUnidadMedida", GetType(Integer)) + TmpDTRemis.Columns.Add("PU", GetType(Decimal)) + TmpDTRemis.Columns.Add("CveVendedor", GetType(Decimal)) + TmpDTRemis.Columns.Add("GastosEnvio", GetType(Decimal)) + 'agruparo por cliente + For Each gvr As GridViewRow In GvDatos.Rows + If gvr.FCCheckBox("chk").Checked Then + Dim drp As DataRow = TmpDTRemis.NewRow + drp("CvePS") = gvr.DataKey("CvePS").ToEntero + drp("Cantidad") = gvr.DataKey("Cantidad").ToDecimal + drp("PU") = gvr.DataKey("PU").ToDecimal + drp("CveUnidadMedida") = gvr.DataKey("CveUnidadMedida").ToEntero + drp("CveSubProyecto") = gvr.DataKey("CveSubProyecto").ToEntero + drp("CveCliente") = gvr.DataKey("CveCliente").ToEntero + drp("CveVendedor") = gvr.DataKey("CveVendedor").ToEntero + drp("CveVentaDetalle") = gvr.DataKey("CveVentaDetalle").ToEntero + drp("GastosEnvio") = gvr.DataKey("GastosEnvio").ToDecimal + TmpDTRemis.Rows.Add(drp) + End If + Next + + If TmpDTRemis IsNot Nothing AndAlso TmpDTRemis.Rows.Count = 0 Then + Alert("No se ha seleccionado ninguna partida, favor de seleccionar", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjA As New ClsInventarios + ObjA.IniciaTransacSQL() + Dim TieneError As Boolean = False + Dim StrAlerta As New StringBuilder + + For Each drt As DataRow In TmpDTRemis.FiltraParametros("", DistinctColumns:={"CveCliente", "CveSubProyecto", "CveVendedor", "GastosEnvio"}).Rows + + Dim ObjFactura As Modelos.Factura = Modelos.Factura.CrearVentaNueva(UsuarioActual, drt("CveSubProyecto").ToString.ToEntero, drt("CveCliente").ToString.ToEntero, 1, "Rem") + ObjFactura.CveVendedor = drt("CveVendedor").ToString.ToEntero + For Each dr As DataRow In TmpDTRemis.FiltraParametros($"CveCliente ={drt("CveCliente")} AND CveVendedor = {drt("CveVendedor")} AND CveSubProyecto = {drt("CveSubProyecto")}").Rows + + If ObjFactura IsNot Nothing Then + If Not ObjFactura.AgregarPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDecimal, dr("PU").ToString.ToDecimal, 0, "", CveSubProyecto:=dr("CveSubProyecto").ToString.ToEntero, CveVentaDetallePadre:=dr("CveVentaDetalle").ToString.ToEntero) Then + Alert("Error al agregar producto", TipoMensaje.MsgAdvertencia) + TieneError = True + Exit For + Else + If Not ObjA.UpdateEstatusAlmacen(dr("CveVentaDetalle").ToString.ToEntero, 0) Then + TieneError = True + End If + End If + End If + Next + + If drt("GastosEnvio").ToString.ToDecimal > 0 Then + Dim tCvePSEnvio As Integer = usuarioactual.empresa.Funcionalidad(160).toentero + If Not ObjFactura.AgregarPS(tCvePSEnvio, 1, drt("GastosEnvio").ToString.ToDecimal, 0, "", CveSubProyecto:=drt("CveSubProyecto").ToString.ToEntero) Then + TieneError = True + End If + End If + + If Not TieneError Then + ObjFactura.CalculaTotales() + Dim Resp As New Modelos.Factura.MMensajeFactura + Resp = ObjFactura.EmitirFactura(False, Transac:=ObjA.IniciaTransacSQL) + + If Resp.CveVenta > 0 Then + Dim a As String = "a" + StrAlerta.AppendFormat("{1}
    ", Resp.CveVenta, Resp.SerieFolio) + 'Respuesta.CveVenta = Resp.CveVenta + 'Respuesta.SerieFolio = Resp.SerieFolio + 'Respuesta.dtdetalle = TmpDTMat + Else + TieneError = True + End If + End If + Next + + If Not TieneError Then + ObjA.Commit() + Alert("Se registraron las siguientes remisiones:
    " & StrAlerta.ToString) + CargaDatos() + Else + ObjA.RollBack() + End If + + End Sub +End Class diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 1440d98b4..59e0d4f5f 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -305,9 +305,9 @@
  • -
  • + <%--
  • -
  • + --%>
  • Imprimir @@ -577,9 +577,6 @@ - - - Médico: @@ -1674,7 +1671,7 @@ Amort. Ant.: -   +   @@ -3685,7 +3682,7 @@ Referencia - + @@ -7945,7 +7942,7 @@
  • - +
    @@ -7973,6 +7970,11 @@ +
    +
    + +
    +