Ordenes de servicio actualizado

This commit is contained in:
Antonio Gonzalez
2019-10-11 11:26:42 -05:00
parent bf5d7d2d16
commit 0bd1f7f4fe

View File

@@ -238,6 +238,15 @@ Partial Class OS_OrdenesServicios
ViewState("MensajeAlert") = value
End Set
End Property
Private Property CveTecnico As Integer
Get
Return ViewState("CveTecnico").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveTecnico") = 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
@@ -270,18 +279,6 @@ Partial Class OS_OrdenesServicios
CreaDtMaterialesDetalle()
CreaDtSolicitarMateriales()
CveSub = -1
'Carga estatus
Dim ObjEstatusPermisos As New ClsOS
If ObjEstatusPermisos.GetEstatusUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
EstatusOSDelUsuario = ObjEstatusPermisos.DtResultados
Dim PermisoEstatus As New DataTable
PermisoEstatus = ObjEstatusPermisos.DtResultados.FiltraParametros("TipoEstatus = 1")
If PermisoEstatus.Rows.Count = 0 Then
UpGuardar.Visible = False
End If
End If
ObjEstatusPermisos.Dispose()
CargaEstatusOS(2)
'Carga cliente
If Request("CveCliente") IsNot Nothing AndAlso IsNumeric(Request("CveCliente")) AndAlso Request("CveCliente").ToEntero > 0 Then
@@ -315,6 +312,8 @@ Partial Class OS_OrdenesServicios
'Carga OS
If CveOS > 0 Then
CargaEstatusOS()
CargaDatos()
'PermisosSegunEstatus()
CargaDetalles()
@@ -454,33 +453,45 @@ Partial Class OS_OrdenesServicios
TxtFechaRecibido.Text = ObjOS.FechaRecepcion.ToString
CveFolio = ObjOS.Folio
LblFolio.Text = ObjOS.Folio.ToString
DdlEstatusOS.SelectedValue = ObjOS.CveEstatusOrdenServicio.ToString
DdlSubProyecto.SelectedValueExist(ObjOS.CveSubProyecto)
DdlTipoOrdenOS.SelectedValueExist(ObjOS.CveOSTipo)
DdlSucursalCliente.SelectedValueExist(ObjOS.CveClienteSucursal)
TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio), "CveEstatusOrdenServicio ASC").ToEntero
SeFacturara = GlobalDTTipoOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("SeFacturara", String.Format("CveOrdenServicioTipo = {0}", ObjOS.CveOSTipo))
If TipoEstatus = 2 Then
LnkTecnico.Visible = True
CveTecnico = ObjOS.CveUsuarioAtendio
CargarEstatusDelUsuario()
Dim validacionTieneEstatus As Integer = EstatusOSDelUsuario.FiltraParametros(String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio)).Rows.Count
If validacionTieneEstatus > 0 Then
DdlEstatusOS.Items.Clear()
DdlEstatusOS.DataSource = EstatusOSDelUsuario
DdlEstatusOS.DataBind()
Else
CargaEstatusOS()
DdlEstatusOS.Enabled = False
End If
DdlEstatusOS.SelectedValue = ObjOS.CveEstatusOrdenServicio.ToString
If TipoEstatus = 3 Then
DisableAll()
'If TipoEstatus = 2 Then
' LnkTecnico.Visible = True
'End If
If SeFacturara = "True" Then
HplFacturar.Visible = True
If ObjOS.CveCotizacion > 0 Then
HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", ObjOS.CveCotizacion)
Else
HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveOS={0}", CveOS)
End If
End If
'If TipoEstatus = 3 Then
' DisableAll()
ElseIf TipoEstatus = 4 Then
DisableAll()
End If
' If SeFacturara = "True" Then
' HplFacturar.Visible = True
' If ObjOS.CveCotizacion > 0 Then
' HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", ObjOS.CveCotizacion)
' Else
' HplFacturar.NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveOS={0}", CveOS)
' End If
' End If
'ElseIf TipoEstatus = 4 Then
' DisableAll()
'End If
DivCliente.Attributes.Add("class", "col-md-8")
DivFolio.Visible = True
@@ -662,11 +673,11 @@ Partial Class OS_OrdenesServicios
RegistraScript("OrdenarGVMateriales();")
End If
End Sub
Private Sub CargaEstatusOS(ValorSeleccionado As Integer)
Private Sub CargaEstatusOS()
DdlEstatusOS.Items.Clear()
DdlEstatusOS.DataSource = EstatusOSDelUsuario
DdlEstatusOS.DataSource = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa)
DdlEstatusOS.DataBind()
DdlEstatusOS.SelectedValue = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "Orden ASC")
'DdlEstatusOS.SelectedValue = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "Orden ASC")
End Sub
Private Sub CargaPS(CveClasificacion As Integer, Objeto As DropDownList)
Objeto.Items.Clear()
@@ -876,6 +887,19 @@ Partial Class OS_OrdenesServicios
GvPS.DataSource = TmpDT
GvPS.DataBind()
End Sub
Private Sub CargarEstatusDelUsuario()
Dim ObjEstatusPermisos As New ClsOS
If ObjEstatusPermisos.GetEstatusUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero) Then
EstatusOSDelUsuario = ObjEstatusPermisos.DtResultados
Dim PermisoEstatus As New DataTable
PermisoEstatus = ObjEstatusPermisos.DtResultados.FiltraParametros("TipoEstatus = 1")
If PermisoEstatus.Rows.Count = 0 Then
UpGuardar.Visible = False
End If
End If
ObjEstatusPermisos.Dispose()
End Sub
#End Region
#Region "BUSCAR CLIENTE "
@@ -1031,83 +1055,87 @@ Partial Class OS_OrdenesServicios
End If
Else
If CveTecnico = UsuarioActual.CveUsuario Then
If ObjOrdenServicio.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaRecibido.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, CveOS, UsuarioActual.CveUsuario, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
For Each Row As DataRow In TmpDT.Rows
If Not Errores Then
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
Dim CveOSDetalle As Integer = Row("CveOSDetalle").ToString.ToEntero
Dim Observaciones As String = Row("Observaciones").ToString
Dim SeFacturara As Boolean = CBool(Row("SeFacturara").ToString)
Dim Estatus As Boolean = CBool(Row("Estatus").ToString)
Dim SeSuperviso As Boolean = CBool(Row("SeSuperviso").ToString)
Dim CveCuentaEquipo As Integer = Row("CveCuentaEquipo").ToString.ToEntero
Dim Especificaciones As String = Row("Especificaciones").ToString
Dim ComentarioTecnico As String = Row("ComentarioTecnico").ToString
Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
Dim Archivo As New System.IO.FileInfo(Row("Archivo").ToString)
Dim CveUsuarioEntrego As Integer = If(Entregar = True, UsuarioActual.CveUsuario, -1)
Dim FechaEntrega As String = If(Entregar = True, Now.ToString("dd/MM/yyy"), "-1")
Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero
CveConsecutivo = Consecutivo
If ObjOrdenServicio.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaRecibido.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, CveOS, UsuarioActual.CveUsuario, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
For Each Row As DataRow In TmpDT.Rows
If Not Errores Then
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
Dim CveOSDetalle As Integer = Row("CveOSDetalle").ToString.ToEntero
Dim Observaciones As String = Row("Observaciones").ToString
Dim SeFacturara As Boolean = CBool(Row("SeFacturara").ToString)
Dim Estatus As Boolean = CBool(Row("Estatus").ToString)
Dim SeSuperviso As Boolean = CBool(Row("SeSuperviso").ToString)
Dim CveCuentaEquipo As Integer = Row("CveCuentaEquipo").ToString.ToEntero
Dim Especificaciones As String = Row("Especificaciones").ToString
Dim ComentarioTecnico As String = Row("ComentarioTecnico").ToString
Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
Dim Archivo As New System.IO.FileInfo(Row("Archivo").ToString)
Dim CveUsuarioEntrego As Integer = If(Entregar = True, UsuarioActual.CveUsuario, -1)
Dim FechaEntrega As String = If(Entregar = True, Now.ToString("dd/MM/yyy"), "-1")
Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero
CveConsecutivo = Consecutivo
If CveOSDetalle > 0 Then
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalle(CvePS, Cantidad, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, ComentarioTecnico, CveCuentaEquipo, Archivo.Name, "-1", FechaEntrega, CveOSDetalle, CveOS) Then
Errores = True
End If
Else
CveOSDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(CveOS, CvePS, Cantidad, -1, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, CveCuentaEquipo, "-1", "-1", FechaEntrega, ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
If Not CveOSDetalle > 0 Then Errores = True
End If
If Archivo.Name <> "-1" Then
'Cambiar el nombre del archivo de CveUsuario-Consecutivo.ext a CveOS-Consecutivo.ext
Dim ArchivoFinal As New System.IO.FileInfo(String.Format("{0}OS\Archivos\OS{1}-{2}{3}", UsuarioActual.Empresa.Ruta, CveOS, Consecutivo, System.IO.Path.GetExtension(Archivo.Extension)))
If ArchivoFinal.Exists() Then
ArchivoFinal.Delete()
End If
'Mover el archivo de los temporales a OS
System.IO.File.Move(UsuarioActual.Empresa.Ruta & "\OS\Temp\" & Archivo.Name, UsuarioActual.Empresa.Ruta & "\OS\Archivos\" & ArchivoFinal.Name)
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal.Name, ObjOrdenServicio.CveOSDetalle) Then
Errores = True
End If
End If
If TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows.Count > 0 Then
For Each RowE As DataRow In TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows
Dim CveCaracteristicaValor As Integer = RowE("CveCaracteristicaValor").ToString.ToEntero
Dim CveCaracteristica As Integer = RowE("CveCaracteristica").ToString.ToEntero
Dim CveOpcion As Integer = RowE("CveOpcion").ToString.ToEntero
Dim Valor As String = RowE("Valor").ToString
If Not ObjGenerales.AddUpdateCaracteristicasValores(CveCaracteristica, CveOpcion, Valor, UsuarioActual.CveUsuario, CveCaracteristicaValor:=CveCaracteristicaValor, CveOSDetalle:=CveOSDetalle) Then
If CveOSDetalle > 0 Then
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalle(CvePS, Cantidad, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, ComentarioTecnico, CveCuentaEquipo, Archivo.Name, "-1", FechaEntrega, CveOSDetalle, CveOS) Then
Errores = True
End If
Next
End If
Else
CveOSDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(CveOS, CvePS, Cantidad, -1, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, CveCuentaEquipo, "-1", "-1", FechaEntrega, ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
If Not CveOSDetalle > 0 Then Errores = True
If TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows.Count > 0 Then
For Each RowM As DataRow In TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows
Dim CveMaterial As Integer = RowM("CveMaterial").ToString.ToEntero
End If
Dim CveClasificacion As Integer = RowM("CveClasificacion").ToString.ToEntero
Dim CvePSMaterial As Integer = RowM("CvePS").ToString.ToEntero
Dim CveUnidadMedidaM As Integer = RowM("CveUM").ToString.ToEntero
Dim CantidadMaterial As Integer = RowM("Cantidad").ToString.ToEntero
If Archivo.Name <> "-1" Then
'Cambiar el nombre del archivo de CveUsuario-Consecutivo.ext a CveOS-Consecutivo.ext
Dim ArchivoFinal As New System.IO.FileInfo(String.Format("{0}OS\Archivos\OS{1}-{2}{3}", UsuarioActual.Empresa.Ruta, CveOS, Consecutivo, System.IO.Path.GetExtension(Archivo.Extension)))
If Not ObjOrdenServicio.AddUpdateDetalleMateriales(CveMaterial, CveOSDetalle, CantidadMaterial, CveUnidadMedidaM, CveClasificacion, CvePSMaterial, SeFacturara) Then
If ArchivoFinal.Exists() Then
ArchivoFinal.Delete()
End If
'Mover el archivo de los temporales a OS
System.IO.File.Move(UsuarioActual.Empresa.Ruta & "\OS\Temp\" & Archivo.Name, UsuarioActual.Empresa.Ruta & "\OS\Archivos\" & ArchivoFinal.Name)
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal.Name, ObjOrdenServicio.CveOSDetalle) Then
Errores = True
End If
Next
End If
If TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows.Count > 0 Then
For Each RowE As DataRow In TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows
Dim CveCaracteristicaValor As Integer = RowE("CveCaracteristicaValor").ToString.ToEntero
Dim CveCaracteristica As Integer = RowE("CveCaracteristica").ToString.ToEntero
Dim CveOpcion As Integer = RowE("CveOpcion").ToString.ToEntero
Dim Valor As String = RowE("Valor").ToString
If Not ObjGenerales.AddUpdateCaracteristicasValores(CveCaracteristica, CveOpcion, Valor, UsuarioActual.CveUsuario, CveCaracteristicaValor:=CveCaracteristicaValor, CveOSDetalle:=CveOSDetalle) Then
Errores = True
End If
Next
End If
If TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows.Count > 0 Then
For Each RowM As DataRow In TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows
Dim CveMaterial As Integer = RowM("CveMaterial").ToString.ToEntero
Dim CveClasificacion As Integer = RowM("CveClasificacion").ToString.ToEntero
Dim CvePSMaterial As Integer = RowM("CvePS").ToString.ToEntero
Dim CveUnidadMedidaM As Integer = RowM("CveUM").ToString.ToEntero
Dim CantidadMaterial As Integer = RowM("Cantidad").ToString.ToEntero
If Not ObjOrdenServicio.AddUpdateDetalleMateriales(CveMaterial, CveOSDetalle, CantidadMaterial, CveUnidadMedidaM, CveClasificacion, CvePSMaterial, SeFacturara) Then
Errores = True
End If
Next
End If
End If
End If
Next
Next
Else
Errores = True
End If
Else
Alert("No tienes permisos para modificar esta Orden de Servicio", TipoMensaje.MsgAdvertencia)
Errores = True
End If
@@ -1209,7 +1237,7 @@ Partial Class OS_OrdenesServicios
TxtSolicito.Text = ""
TxtFechaRecibido.Text = ""
TxtDescripcion.Text = ""
CargaEstatusOS(2)
CargaEstatusOS()
GvPS.DataSource = Nothing
GvPS.DataBind()