498 lines
22 KiB
VB.net
498 lines
22 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class OS_Asignaciones
|
|
Inherits ClsPaginas
|
|
|
|
#Region "PROPIEDADES"
|
|
Private Property TmpDT As DataTable
|
|
Get
|
|
Return CType(ViewState("TmpDT"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("TmpDT") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property DtOSSubProyectos As DataTable
|
|
Get
|
|
Return CType(ViewState("DtOSSubProyectos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtOSSubProyectos") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property DtTecnicosSubProyectos As DataTable
|
|
Get
|
|
Return CType(ViewState("DtTecnicosSubProyectos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtTecnicosSubProyectos") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
CargaEstatusOS()
|
|
'CargaUsuarios()
|
|
CargaClientes()
|
|
CargaSubProyecto()
|
|
|
|
If UsuarioActual.TienePermisoProceso(171) Then
|
|
CargaOrdenesServiciosAsignadasXPersona()
|
|
CargaOrdenesServiciosNoAsignadas()
|
|
Else
|
|
DivAsignar.Visible = False
|
|
DdlEstatusOS.SelectedValueExist(GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC"))
|
|
DdlPersonas.SelectedValueExist(UsuarioActual.CveUsuario)
|
|
DdlEstatusOS_SelectedIndexChanged(sender, New EventArgs)
|
|
DdlPersonas.Enabled = False
|
|
DivAsignacionPersona.Visible = False
|
|
'CargaOrdenesServiciosAsignadas()
|
|
End If
|
|
|
|
Dim ObjEstatusPermisos As New ClsOS
|
|
If ObjEstatusPermisos.GetEstatusUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Dim Permisos As New DataTable
|
|
Permisos = ObjEstatusPermisos.DtResultados.FiltraParametros("TipoEstatus = 2")
|
|
If Permisos.Rows.Count = 0 Then
|
|
DdlTecnico.Visible = False
|
|
BtnAsignar.Visible = False
|
|
End If
|
|
End If
|
|
ObjEstatusPermisos.Dispose()
|
|
|
|
|
|
|
|
|
|
End If
|
|
End Sub
|
|
|
|
#Region "C A R G A S "
|
|
Private Sub CargaSubProyecto()
|
|
DdlSubProyecto.Items.Clear()
|
|
DdlSubProyecto.SelectedValue = Nothing
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa, Estatus:=1)
|
|
DdlSubProyecto.DataBind()
|
|
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
End Sub
|
|
Private Sub CargaUsuarios()
|
|
DdlPersonas.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
DdlPersonas.DataBind()
|
|
DdlPersonas.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlTecnico.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
DdlTecnico.DataBind()
|
|
DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
End Sub
|
|
Private Sub CargaOrdenesServiciosNoAsignadas()
|
|
Dim ObjOS As New ClsOS
|
|
|
|
Dim FechaI, FechaF As String
|
|
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
|
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
|
|
|
If ObjOS.GetOrdenesServiciosNoAsignadas(DdlCliente.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, FechaI, FechaF) Then
|
|
DtOSSubProyectos = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
|
|
GvNA.DataSource = ObjOS.DtResultados
|
|
TmpDT = ObjOS.DtResultados
|
|
Else
|
|
GvNA.DataSource = Nothing
|
|
End If
|
|
GvNA.DataBind()
|
|
ObjOS.Dispose()
|
|
UpOS.Update()
|
|
CargarTecnico()
|
|
End Sub
|
|
Private Sub CargaOrdenesServiciosAsignadas()
|
|
Dim ObjOS As New ClsOS
|
|
|
|
Dim FechaI, FechaF As String
|
|
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
|
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
|
|
|
If ObjOS.GetOrdenesServiciosAsignadas(DdlCliente.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlPersonas.SelectedValue.ToEntero, FechaI, FechaF) Then
|
|
GvNA.DataSource = ObjOS.DtResultados
|
|
TmpDT = ObjOS.DtResultados
|
|
Else
|
|
GvNA.DataSource = Nothing
|
|
End If
|
|
GvNA.DataBind()
|
|
ObjOS.Dispose()
|
|
UpOS.Update()
|
|
End Sub
|
|
Private Sub CargaOrdenesServiciosAsignadasXPersona()
|
|
Dim ObjOS As New ClsOS
|
|
If ObjOS.GetOSAsignadas(UsuarioActual.CveEmpresa) Then
|
|
GvA.DataSource = ObjOS.DtResultados
|
|
If ObjOS.DtResultados.Rows.Count = 0 Then
|
|
DivAsignacionPersona.Visible = False
|
|
End If
|
|
Else
|
|
GvA.DataSource = Nothing
|
|
DivAsignacionPersona.Visible = False
|
|
End If
|
|
ObjOS.Dispose()
|
|
GvA.DataBind()
|
|
End Sub
|
|
Private Sub CargaClientes()
|
|
DdlCliente.DataSource() = GlobalDTCliente(UsuarioActual.CveEmpresa)
|
|
DdlCliente.DataBind()
|
|
DdlCliente.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
End Sub
|
|
Private Sub CargaEstatusOS()
|
|
DdlEstatusOS.DataSource = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa)
|
|
DdlEstatusOS.DataBind()
|
|
End Sub
|
|
Private Sub DdlEstatusOS_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlEstatusOS.SelectedIndexChanged
|
|
Dim TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", DdlEstatusOS.SelectedValue))
|
|
|
|
If TipoEstatus.ToEntero = 1 Then
|
|
DivTecnico.Visible = False
|
|
Else
|
|
DivTecnico.Visible = True
|
|
End If
|
|
UPFiltros.Update()
|
|
End Sub
|
|
Private Sub CargarTecnico()
|
|
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 DtOSSubProyectos.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
|
|
DdlTecnico.DataSource = TecnicosResultado
|
|
DdlTecnico.DataBind()
|
|
DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
ObjOS.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "BTN'S"
|
|
Protected Sub BtnAsignar_Click(sender As Object, e As EventArgs) Handles BtnAsignar.Click
|
|
Dim ObjOS As New ClsOS
|
|
Dim TieneError = False
|
|
Dim CveEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC")
|
|
Dim time As DateTime
|
|
Dim contadorOrdenesAsignadas As Integer = 0
|
|
|
|
|
|
ObjOS.IniciaTransacSQL()
|
|
|
|
For Each row As GridViewRow In GvNA.Rows
|
|
If row.RowType = DataControlRowType.DataRow Then
|
|
|
|
Dim picker As MKB.TimePicker.TimeSelector = DirectCast(row.FindControl("TimeSelector"), MKB.TimePicker.TimeSelector)
|
|
|
|
If row.FCCheckBox("ChbxAsignar").Checked Then
|
|
time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, picker.AmPm))
|
|
contadorOrdenesAsignadas += 1
|
|
|
|
If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
|
|
Dim subProyectoDelTecnico As DataTable
|
|
subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", row.DataKey("CveSubProyecto")))
|
|
If subProyectoDelTecnico.Rows.Count > 0 Then
|
|
If Not ObjOS.UpdateOrdenesServiciosAsignadas(row.DataKey("CveOSDetalle").ToEntero, DdlTecnico.SelectedValue.ToEntero, row.FCTextBox("FechaOS").Text.ToDate, time, 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(CveEstatusOS.ToEntero, UsuarioActual.CveUsuario, row.DataKey("CveOS").ToEntero) Then
|
|
TieneError = True
|
|
End If
|
|
|
|
|
|
If Not TieneError Then
|
|
|
|
Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1"
|
|
Dim Fecha As DateTime = time
|
|
|
|
|
|
Dim OIDescripcion As String = $"{DdlTecnico.SelectedItem.Text} <b><a href='/OS/OrdenesServicios.aspx?CveOS={row.DataKey("CveOS")}' target='_blank' class='Texto' >Orden de servicio {row.DataKey("Folio")} </a></b>"
|
|
|
|
Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL())
|
|
If Not ObjEventos.AddEventoAgenda(2, DdlTecnico.SelectedItem.Text, OIDescripcion, 2, time, time.AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
|
RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2,
|
|
Importe:=0, CveOS:=row.DataKey("CveOS").ToEntero, CveSubProyecto:=row.DataKey("CveSubProyecto").ToEntero) Then
|
|
TieneError = True
|
|
End If
|
|
|
|
End If
|
|
|
|
Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnico.SelectedValue.ToEntero).Rows(0)("Correo").ToString
|
|
|
|
If Not TieneError Then
|
|
MandaCorreOS(row.DataKey("CveOS").ToEntero, CorreoAsignado)
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
|
|
|
|
If contadorOrdenesAsignadas > 0 Then
|
|
|
|
If Not TieneError Then
|
|
ObjOS.Commit()
|
|
Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion)
|
|
CargaOrdenesServiciosAsignadasXPersona()
|
|
CargaOrdenesServiciosNoAsignadas()
|
|
End If
|
|
Else
|
|
ObjOS.RollBack()
|
|
Alert("No se han seleccionado ordenes de servicio para asignar", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
|
|
ObjOS.Dispose()
|
|
UpAsignacionPersona.Update()
|
|
UpOS.Update()
|
|
End Sub
|
|
|
|
Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String)
|
|
|
|
|
|
|
|
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))
|
|
params.Add(New ReportParameter("FolioOS", dr("Folio").ToString))
|
|
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))
|
|
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
|
|
TmpDTOS = ObjOS.DtResultados
|
|
End If
|
|
|
|
If ObjOS.GetDetalleMateriales(-1, 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 = TmpDTOS}
|
|
|
|
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 BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
|
Dim TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", DdlEstatusOS.SelectedValue))
|
|
|
|
If TipoEstatus.ToEntero <= 1 Then
|
|
CargaOrdenesServiciosNoAsignadas()
|
|
Else
|
|
CargaOrdenesServiciosAsignadas()
|
|
End If
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "GV"
|
|
Private Sub GvNA_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvNA.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DataKey("CveUsuarioAtendio") <> "" Then
|
|
e.Row.FCCheckBox("ChbxAsignar").Visible = False
|
|
e.Row.FCTextBox("FechaOS").Visible = False
|
|
e.Row.FCLinkButton("imgCalendario").Visible = False
|
|
e.Row.FCLiteral("LtlFechaServicio").Visible = True
|
|
e.Row.FCLiteral("LtlHoraServicio").Visible = True
|
|
e.Row.FindControl("TimeSelector").Visible = False
|
|
Else
|
|
e.Row.FCLiteral("LtlFechaServicio").Visible = False
|
|
e.Row.FCCheckBox("ChbxAsignar").Checked = False
|
|
e.Row.FCCheckBox("ChbxAsignar").Visible = True
|
|
e.Row.FCTextBox("FechaOS").Visible = True
|
|
e.Row.FCTextBox("FechaOS").Text = NowADS().ToString("dd/MM/yyy")
|
|
e.Row.FCLinkButton("imgCalendario").Visible = True
|
|
e.Row.FCLiteral("LtlHoraServicio").Visible = False
|
|
e.Row.FindControl("TimeSelector").Visible = True
|
|
End If
|
|
|
|
End If
|
|
|
|
UpOS.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "IMPRIMIR PDF"
|
|
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
|
|
Dim params As New List(Of ReportParameter)
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
|
|
|
Dim dt As DataTable = TmpDT
|
|
|
|
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("FechaInicio", txtFechaI.Text))
|
|
params.Add(New ReportParameter("FechaFin", txtFechaF.Text))
|
|
|
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepOSAsignacion.rdlc", dt, params, "OrdenesServicio")
|
|
End Sub
|
|
#End Region
|
|
End Class |