--SMS 2024.04.23
This commit is contained in:
@@ -189,7 +189,7 @@
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GvNA" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Órdenes de Servicio No Asignadas" ClientIDMode="Static"
|
||||
DataKeyNames="CveOSDetalle, CveOS,CveUsuarioAtendio,TipoEstatus,EstatusOrdenServicio,CveSubProyecto,Folio,FechaCita,FechaCitaOS"
|
||||
DataKeyNames="CveOSDetalle, CveOS,CveUsuarioAtendio,TipoEstatus,EstatusOrdenServicio,CveSubProyecto,Folio,FechaCita,FechaCitaOS,Medico,Procedimiento,Nombre"
|
||||
data-sort="true"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
|
||||
<Columns>
|
||||
|
||||
@@ -42,7 +42,7 @@ Partial Class OS_Asignaciones
|
||||
If Not IsPostBack Then
|
||||
GvNA_ConfiguraColumnas()
|
||||
CargaEstatusOS()
|
||||
'CargaUsuarios()
|
||||
CargaUsuarios()
|
||||
CargaClientes()
|
||||
CargaSubProyecto()
|
||||
|
||||
@@ -225,75 +225,84 @@ Partial Class OS_Asignaciones
|
||||
DdlTecnico.DataBind()
|
||||
DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
ObjOS.Dispose()
|
||||
End Sub
|
||||
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
|
||||
Protected Sub BtnAsignar_Click(sender As Object, e As EventArgs) Handles BtnAsignar.Click
|
||||
|
||||
Dim TieneError As Boolean = False
|
||||
Dim CveEstatusOS As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero
|
||||
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 As Integer = 0, Frecuencia As Integer = -1, DiasSemana As String = "-1", Dias As Integer = -1, Mes As Integer = -1, RecurrenciaFin As String = "-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, TrasaccionSql:=ObjOS.IniciaTransacSQL)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim contadorOrdenesAsignadas As Integer = 0
|
||||
|
||||
Dim ObjOS As New ClsOS
|
||||
Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL())
|
||||
|
||||
Try
|
||||
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 As Integer = 0, Frecuencia As Integer = -1, DiasSemana As String = "-1", Dias As Integer = -1, Mes As Integer = -1, RecurrenciaFin As String = "-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>"
|
||||
|
||||
|
||||
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
|
||||
|
||||
If Not TieneError Then
|
||||
If Not AgendarCirugia(ObjEventos, row.DataKey("CveOS").ToEntero, time, DdlTecnico.SelectedValue.ToEntero(), row.DataKey("Medico"), row.DataKey("Procedimiento"), row.DataKey("Nombre")) 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, TrasaccionSql:=ObjOS.IniciaTransacSQL)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
TieneError = True
|
||||
OnError("Ocurrió un error al asignar", ex)
|
||||
End Try
|
||||
|
||||
If contadorOrdenesAsignadas > 0 Then
|
||||
|
||||
@@ -301,7 +310,10 @@ Partial Class OS_Asignaciones
|
||||
ObjOS.Commit()
|
||||
Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion)
|
||||
CargaOrdenesServiciosAsignadasXPersona()
|
||||
CargaOrdenesServiciosNoAsignadas()
|
||||
CargaOrdenesServiciosNoAsignadas()
|
||||
Else
|
||||
ObjOS.RollBack()
|
||||
Alert("Ocurrió un error al asignar", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
Else
|
||||
ObjOS.RollBack()
|
||||
@@ -312,7 +324,40 @@ Partial Class OS_Asignaciones
|
||||
ObjOS.Dispose()
|
||||
UpAsignacionPersona.Update()
|
||||
UpOS.Update()
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
Protected Function AgendarCirugia(ByRef ObjEventos As ClsOIEventos, CveOS As Integer, FechaCirugia As DateTime, CveUsuarioAgendar As Integer, Medico As String, Procedimiento As String, Hospital As String) As Boolean
|
||||
Dim TieneError As Boolean = False
|
||||
Try
|
||||
If FechaCirugia > MinFecha Then
|
||||
|
||||
If CveUsuarioAgendar > 0 Then
|
||||
|
||||
Dim Asunto As String = "Cirugía"
|
||||
Dim Descripcion As New StringBuilder
|
||||
|
||||
Descripcion.AppendFormat("Dr {0} {1}", Hospital, "<br/>")
|
||||
|
||||
Descripcion.AppendFormat("Cirugía {0} {1}", Procedimiento, "<br/>")
|
||||
|
||||
Descripcion.AppendFormat("Fecha de Cirugía {0} {1}", FechaCirugia.ToString("dd/MM/yyyy HH:mm"), "<br/>")
|
||||
|
||||
Descripcion.AppendFormat("{0} {1}", Hospital, "<br/>")
|
||||
|
||||
If Not ObjEventos.AddEventoAgenda(4, Asunto, Descripcion.ToString(), 3, FechaCirugia, FechaCirugia, CveUsuarioAgendar, UsuarioActual.CveEmpresa, RecurrenciaTipo:=0, CveTipoEvento:=2, CveOS:=CveOS) Then
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
TieneError = True
|
||||
OnError("Ocurrió un error al generar la agenda", ex)
|
||||
End Try
|
||||
|
||||
Return Not TieneError
|
||||
End Function
|
||||
|
||||
Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, ByRef TrasaccionSql As SqlClient.SqlTransaction)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user