Ventas Medicas Pago directo inicial

This commit is contained in:
rakcsle
2023-11-14 08:30:53 -07:00
parent 543653e172
commit 22085d12c2
25 changed files with 18760 additions and 1283 deletions

View File

@@ -273,6 +273,7 @@ Partial Class OS_OrdenesServicios
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'DATOS CLIENTE
CveCliente = 0
@@ -303,6 +304,10 @@ Partial Class OS_OrdenesServicios
CreaDTPS()
CreaDtMaterialesDetalle()
CreaDtSolicitarMateriales()
CargaAgentes()
CargaProcedimientos()
CargaTiposVenta()
CveSub = -1
'Carga cliente
@@ -399,12 +404,11 @@ Partial Class OS_OrdenesServicios
DdlPsModalFinalizar.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
'DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPsModalFinalizar.SelectedText = ""
DdlPsModalFinalizar.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
DdlPsModalFinalizar.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPsModalFinalizar.ddl.DataBind()
DdlPsModalFinalizar.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
@@ -414,10 +418,31 @@ Partial Class OS_OrdenesServicios
End If
If UsuarioActual.Empresa.Funcionalidad(590).ToEntero = 1 Then
DVAgenteProcedimiento.Visible = True
DVTipoVenta.Visible = True
DVTipoVenta.Visible = True
End If
End If
End Sub
Private Sub CargaTiposVenta()
DdlTipoVenta.DataSource = GlobalDTTipoVenta().FiltraParametros("Estatus = 'True' ")
DdlTipoVenta.DataBind()
End Sub
Private Sub CargaProcedimientos()
DdlMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
DdlMedico.DataBind()
End Sub
Private Sub CargaAgentes()
DdlProcedimiento.DataSource = GlobalDTProcedimientos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
DdlProcedimiento.DataBind()
End Sub
#Region "DDL'S "
@@ -450,13 +475,50 @@ Partial Class OS_OrdenesServicios
TmpDT.AcceptChanges()
End Sub
Protected Sub DdlEstatusOS_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlEstatusOS.SelectedIndexChanged
Dim tipoDeEstatusSeleccionado As String = EstatusOSDelUsuario.FiltroPrimero(String.Format("CveEstatusOrdenServicio = {0}", DdlEstatusOS.SelectedValue)).Item("TipoEstatusTexto").ToString
Select Case tipoDeEstatusSeleccionado
Case "Inicial"
'Dim tipoDeEstatusSeleccionado As String = EstatusOSDelUsuario.FiltroPrimero(String.Format("CveEstatusOrdenServicio = {0}", DdlEstatusOS.SelectedValue)).Item("TipoEstatusTexto").ToString
'Select Case tipoDeEstatusSeleccionado
' Case "Inicial"
' 'Proceso
' Case "Terminado"
' 'Terminada
' 'Checar que todos los detalles esten terminados para poder cambiar a terminada
' If TmpDT.COUNT("Estatus", "Estatus = 'False'").ToEntero > 0 Then
' Alert("No se puede cambiar a Terminada, aún tiene Detalles de Orden de Servicio por Atender", TipoMensaje.MsgAdvertencia)
' 'Regresar a estatus Atendiendo
' 'DdlEstatusOS.SelectedValue = "2"
' End If
' ' Case 4
' ' 'Cancelada
' ' Case 5
' ' 'Entregada
' ' Guardar(True)
' Case "Cancelada"
' Dim CanceladoOrdenMinimo As String = EstatusOSDelUsuario.FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 5", "Orden ASC").ToString
' DdlEstatusOS.SelectedValue = CanceladoOrdenMinimo
' 'DdlEstatusOS.SelectedIndex = CanceladoOrdenMinimo
'End Select
''CargaEstatusOS(DdlEstatusOS.SelectedValue.ToEntero)
'PermisosSegunEstatus()
'GvPS.DataSource = TmpDT
'GvPS.DataBind()
Dim tmpTipoEstatus As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", $" CveEstatusOrdenServicio = {DdlEstatusOS.SelectedValue}").ToEntero
Select Case tmpTipoEstatus
Case 1, 2, 3
'Proceso
Case "Terminado"
Case 4
'Terminada
'Checar que todos los detalles esten terminados para poder cambiar a terminada
If TmpDT.COUNT("Estatus", "Estatus = 'False'").ToEntero > 0 Then
@@ -470,35 +532,34 @@ Partial Class OS_OrdenesServicios
' Case 5
' 'Entregada
' Guardar(True)
Case "Cancelada"
Case 5
Dim CanceladoOrdenMinimo As String = EstatusOSDelUsuario.FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 5", "Orden ASC").ToString
DdlEstatusOS.SelectedValue = CanceladoOrdenMinimo
'DdlEstatusOS.SelectedIndex = CanceladoOrdenMinimo
End Select
''CargaEstatusOS(DdlEstatusOS.SelectedValue.ToEntero)
'PermisosSegunEstatus()
'GvPS.DataSource = TmpDT
'GvPS.DataBind()
End Sub
#End Region
#Region "C A R G A S"
Private Sub CargaSubProyecto(Optional CveSubProyecto As Integer = -1)
Dim ObjOS As New ClsOS
If ObjOS.GetSubProyectosEstatusInicial(UsuarioActual.CveUsuario, 1, UsuarioActual.CveEmpresa) Then
DdlSubProyecto.Items.Clear()
DdlSubProyecto.SelectedValue = Nothing
DdlSubProyecto.DataSource = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
If CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExist(CveSubProyecto)
DdlEstatusOS.DataSource = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", CveSubProyecto), "", {"CveEstatusOrdenServicio", "EstatusOrdenServicio"})
End If
ObjOS.Dispose()
DdlSubProyecto.DataBind()
DdlEstatusOS.DataBind()
'Dim ObjOS As New ClsOS
'If ObjOS.GetSubProyectosEstatusInicial(UsuarioActual.CveUsuario, 1, UsuarioActual.CveEmpresa) Then
' DdlSubProyecto.Items.Clear()
' DdlSubProyecto.SelectedValue = Nothing
' DdlSubProyecto.DataSource = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
' If CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExist(CveSubProyecto)
' DdlEstatusOS.DataSource = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", CveSubProyecto), "", {"CveEstatusOrdenServicio", "EstatusOrdenServicio"})
'End If
'ObjOS.Dispose()
'DdlSubProyecto.DataBind()
'DdlEstatusOS.DataBind()
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto, AplicaTodos:="Seleccione Uno")
End Sub
Private Sub CargaTiposOrden()
Dim ObjOS As New ClsOS
@@ -529,7 +590,7 @@ Partial Class OS_OrdenesServicios
TxtSolicito.Text = ObjOS.PersonaSolicito
CveOsDetalle = ObjOS.CveOSDetalle
TxtFechaRecibido.Text = ObjOS.FechaRecepcion.ToString
TxtFechaRecibido.Text = ObjOS.FechaRecepcion.ToString("dd/MM/yyyy")
CveFolio = ObjOS.Folio
LblFolio.Text = ObjOS.Folio.ToString
@@ -542,16 +603,19 @@ Partial Class OS_OrdenesServicios
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))
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
CargarEstatusDelUsuario(TipoEstatus)
'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 = 2 Then
@@ -594,6 +658,11 @@ Partial Class OS_OrdenesServicios
DdlModeloAuto.SelectedValueExist(ObjOS.CveModeloAuto)
TxtAnio.Text = ObjOS.Año
DdlMedico.SelectedValueExist(ObjOS.CveMedico)
DdlProcedimiento.SelectedValueExist(ObjOS.CveProcedimiento)
DdlTipoVenta.SelectedValueExist(ObjOS.CveTipoVenta)
CargaEventoBitacora()
CargaHistorial()
Else
@@ -1016,17 +1085,53 @@ Partial Class OS_OrdenesServicios
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
Private Sub CargarEstatusDelUsuario(tipoEstatus As Integer)
'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()
'OS Estatus Inicial
If tipoEstatus = 1 And UsuarioActual.TienePermisoProceso(366) Then
Exit Sub
End If
ObjEstatusPermisos.Dispose()
'OS Estatus Asignación
If tipoEstatus = 2 And UsuarioActual.TienePermisoProceso(367) Then
Exit Sub
End If
'OS Estatus Proceso
If tipoEstatus = 3 And UsuarioActual.TienePermisoProceso(368) Then
Exit Sub
End If
'OS Estatus Terminado
If tipoEstatus = 4 And UsuarioActual.TienePermisoProceso(369) Then
Exit Sub
End If
'OS Estatus Cancelada
If tipoEstatus = 5 And UsuarioActual.TienePermisoProceso(370) Then
Exit Sub
End If
UpGuardar.Visible = False
End Sub
#End Region
@@ -1106,7 +1211,8 @@ Partial Class OS_OrdenesServicios
Dim bandera As Integer = DdlEstatusOS.SelectedValue.ToEntero
If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, EstatusOrdenServicio,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero,
Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text, CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text) Then
Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text, CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, CveMedico:=DdlMedico.SelectedValue.ToEntero,
CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, CveTipoVenta:=DdlTipoVenta.SelectedValue.ToEntero) Then
Errores = True
End If
CargaCliente(CveCliente)
@@ -1205,7 +1311,8 @@ Partial Class OS_OrdenesServicios
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, Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text,
CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text) Then
CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, CveMedico:=DdlMedico.SelectedValue.ToEntero,
CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, CveTipoVenta:=DdlTipoVenta.SelectedValue.ToEntero) Then
For Each Row As DataRow In TmpDT.Rows
If Not Errores Then
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero