From a1470b1825baa792cfb14cc239d86d49578898b0 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 10 Jul 2024 08:04:48 -0700 Subject: [PATCH] =?UTF-8?q?-=20mejoras=20en=20visualizaci=C3=B3n=20del=20m?= =?UTF-8?q?odal=20de=20OS,=20medico/proc,=20tipo=20venta,=20t=C3=A9cnico,?= =?UTF-8?q?=20lista=20material?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OS/RepServiciosMedicos.aspx | 140 ++++---- OS/RepServiciosMedicos.aspx.vb | 561 ++------------------------------- 2 files changed, 91 insertions(+), 610 deletions(-) diff --git a/OS/RepServiciosMedicos.aspx b/OS/RepServiciosMedicos.aspx index 9dcc831c9..13814deaa 100644 --- a/OS/RepServiciosMedicos.aspx +++ b/OS/RepServiciosMedicos.aspx @@ -443,17 +443,13 @@
- - + + - - + - - - +
@@ -464,24 +460,16 @@
- -
-
- Cliente: - - +
+ <%--DESCRIPCION--%> +
+ + +
- - -
- - - -
-
@@ -492,84 +480,70 @@
+ +
+
+ <%--MEDICO--%> +
+ + +
+
+
+ <%--PROCEDIMIENTO--%> +
+ + +
+
+
+
+
+ <%--TIPO VENTA--%> +
+ + +
+
+
+ <%--TÉCNICO--%> +
+ + +
+

-
+
-
-
- - - - <%-- - --%> - - -
-
-
- +
+ + + + + +
+
+
- - -
+
- - + @@ -925,10 +899,10 @@ if (validando == 1) { var timestamp = Date.parse(Text); - if (isNaN(timestamp) == false) { + <%--if (isNaN(timestamp) == false) { $('#<%=LnkValidaHorarioNoOperativo.ClientID%>').click(); - } + }--%> } diff --git a/OS/RepServiciosMedicos.aspx.vb b/OS/RepServiciosMedicos.aspx.vb index 4d33a8f19..a3e7bfff5 100644 --- a/OS/RepServiciosMedicos.aspx.vb +++ b/OS/RepServiciosMedicos.aspx.vb @@ -251,8 +251,6 @@ Partial Class OS_RepServiciosMedicos Asignacion End Enum - - #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -268,15 +266,7 @@ Partial Class OS_RepServiciosMedicos 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 @@ -374,10 +364,6 @@ Partial Class OS_RepServiciosMedicos '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 @@ -592,38 +578,28 @@ Partial Class OS_RepServiciosMedicos 'DdlClientesWS.txtText.Value = "" 'DdlClientesWS.txtValue.Value = "" - If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then - DdlClientesWS.setEsWebService(True) - Else - DdlClientesWS.setEsWebService(False) - CargaClientes() - End If + '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 + '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() @@ -642,12 +618,6 @@ Partial Class OS_RepServiciosMedicos 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');") @@ -656,60 +626,51 @@ Partial Class OS_RepServiciosMedicos ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Or TipoAccion = OSModalTipoAccion.Asignacion Then 'cargaDropsModal() - LblModalOStitulo.Text = "Actualizar Orden de Servicio" - - + LblModalOStitulo.Text = "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 + Dim thospital As String = ObjOS.Cliente + If ObjOS.CveClienteSucursal > 0 Then + thospital = GlobalDTClientesSucursales(ObjOS.CveEmpresa, ObjOS.CveCliente).FiltroPrimeroValor("SucursalCliente", $"CveClienteSucursal = {ObjOS.CveClienteSucursal}") + End If 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) + TxtFechaOS.Text = ObjOS.FechaCita.ToString("dd/MM/yyyy HH:mm") + TxtProcedimiento.Text = GlobalDTProcedimientos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Procedimiento", "CveProcedimiento =" & ObjOS.CveProcedimiento) + TxtMedico.Text = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Medico", "CveMedico =" & ObjOS.CveMedico) + TxtCliente.Text = thospital + TxtTipoVenta.Text = GlobalDTTipoVenta(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoVenta", $"CveTipoVenta ={ObjOS.CveTipoVenta}") + TxtTecnico.Text = ObjOS.UsuarioAtendio - 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) + Dim tCve As Integer = ObjOS.CveVenta 'busca la remisión + If tCve <= 0 Then tCve = ObjOS.CveCotizacion 'sino hay remisión toma el pedido + If tCve > 0 Then + Dim objv As New ClsVentas + Dim dttps As New DataTable + If objv.GetVentaDetalle(tCve) Then + dttps = objv.DtResultados + End If + objv.Dispose() + GvPS.DataSource = dttps + GvPS.DataBind() 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 @@ -752,345 +713,6 @@ Partial Class OS_RepServiciosMedicos 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 @@ -1113,120 +735,5 @@ Partial Class OS_RepServiciosMedicos 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