-- mejora SMS, manejo de pago directo

This commit is contained in:
2024-09-20 11:33:38 -07:00
parent cbfebe2585
commit 0d4add5d3c
2 changed files with 34 additions and 44 deletions

View File

@@ -602,13 +602,13 @@
<tr runat="server" id="TrVentasMedicas2" visible="false"> <tr runat="server" id="TrVentasMedicas2" visible="false">
<td runat="server" id="TdRequiereTecnico1" visible="true"> <td runat="server" id="TdRequiereTecnico1" visible="true">
<b>Requiere Técnico:</b> <b>Req. Técnico:</b>
</td> </td>
<td runat="server" id="TdRequiereTecnico2" visible="true"> <td runat="server" id="TdRequiereTecnico2" visible="true">
<asp:CheckBox ID="ChkRequiereTecnico" runat="server" CssClass="chksino" OnCheckedChanged="ChkRequiereTecnico_CheckedChanged" AutoPostBack="true" Text="Requiere Técnico:" Checked="false" /> <asp:CheckBox ID="ChkRequiereTecnico" runat="server" CssClass="chksino" OnCheckedChanged="ChkRequiereTecnico_CheckedChanged" AutoPostBack="true" Text="Requiere Técnico:" Checked="false" />
</td> </td>
<td runat="server" id="TdFechaOS1" visible="true"> <td runat="server" id="TdFechaOS1" visible="true">
<b>Fecha de Cirugía:</b> <b>Fecha de Cx:</b>
</td> </td>
<td runat="server" id="TdFechaOS2" visible="true"> <td runat="server" id="TdFechaOS2" visible="true">
<asp:TextBox ID="TxtFechaOS" type="datetime-local" runat="server" CausesValidation="true" CssClass="fechahora" Style="width: 130px; line-height: 22px;"></asp:TextBox> <asp:TextBox ID="TxtFechaOS" type="datetime-local" runat="server" CausesValidation="true" CssClass="fechahora" Style="width: 130px; line-height: 22px;"></asp:TextBox>

View File

@@ -14194,7 +14194,6 @@ Partial Class Ventas
End If End If
End If End If
If UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso EsVentaMedica Then If UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso EsVentaMedica Then
Dim CveClientesucursatTemp As Integer = DdlClienteSucursalSucursal() Dim CveClientesucursatTemp As Integer = DdlClienteSucursalSucursal()
If CveClientesucursatTemp > 0 Then If CveClientesucursatTemp > 0 Then
@@ -14227,20 +14226,19 @@ Partial Class Ventas
End If End If
If RBLTipoVenta.SelectedValue = "2" Then If RBLTipoVenta.SelectedValue = "2" Then
If Not ChkRequiereTecnico.Checked Then If DdlTipoComprobante.SelectedValue = "Rem" Then 'Not ChkRequiereTecnico.Checked, antes
CveAlmacenTraspasoDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 10 AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString().ToEntero() CveAlmacenTraspasoDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 10 AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString().ToEntero()
ElseIf DdlTipoComprobante.SelectedValue = "Ped" Then
CveAlmacenTraspasoDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 4 AND Almacen like '%Pago%' AND CveSubProyecto = {DdlSubProyectoDatos.SelectedValue}").ToString().ToEntero()
End If End If
If CveAlmacenTraspasoDestino <= 0 Then If CveAlmacenTraspasoDestino <= 0 Then
ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado.") ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado.")
End If End If
Else Else
If CveAlmacenTraspasoDestino <= 0 Then If CveAlmacenTraspasoDestino <= 0 Then
ErrorList.Add("Ocurrió un error al seleccionar el almacen de resguardo del cliente.") ErrorList.Add("Ocurrió un error al seleccionar el almacen de resguardo del cliente.")
End If End If
End If End If
End If End If
Dim TotalImpuestoLocal As Double = 0 Dim TotalImpuestoLocal As Double = 0
@@ -14297,13 +14295,11 @@ Partial Class Ventas
RFCReceptor = factura.ClienteSucursal.RFC RFCReceptor = factura.ClienteSucursal.RFC
End If End If
End If End If
End If End If
Dim DescripcionVenta As String = "" Dim DescripcionVenta As String = ""
If TxtDescripcionVenta.Text <> "" Then DescripcionVenta = TxtDescripcionVenta.Text If TxtDescripcionVenta.Text <> "" Then DescripcionVenta = TxtDescripcionVenta.Text
Dim CveMedico As Integer = -1 Dim CveMedico As Integer = -1
Dim CveProcedimiento As Integer = -1 Dim CveProcedimiento As Integer = -1
Dim CveTipoVentaGuardar As Integer = -1 Dim CveTipoVentaGuardar As Integer = -1
@@ -14701,8 +14697,11 @@ Partial Class Ventas
ErrorList.Add("Ocurrió un error al actualizar el estatus del pedido2") ErrorList.Add("Ocurrió un error al actualizar el estatus del pedido2")
End If End If
End If End If
Dim GenerarOS As Boolean = ChkRequiereTecnico.Checked
'si es pago directo, genera siempre OS
If RBLTipoVenta.SelectedValue = "2" Then GenerarOS = True
If EsVentaMedica AndAlso ErrorList.Count = 0 AndAlso ChkRequiereTecnico.Checked Then If EsVentaMedica AndAlso ErrorList.Count = 0 AndAlso GenerarOS Then
GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList, CveVentaOS:=factura.CveVenta, SerieFolioOS:=factura.SerieFolio) GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList, CveVentaOS:=factura.CveVenta, SerieFolioOS:=factura.SerieFolio)
@@ -38565,10 +38564,7 @@ Partial Class Ventas
Protected Sub ChkRequiereTecnico_CheckedChanged(sender As Object, e As EventArgs) Protected Sub ChkRequiereTecnico_CheckedChanged(sender As Object, e As EventArgs)
TdFechaOS1.Visible = ChkRequiereTecnico.Checked TdFechaOS1.Visible = ChkRequiereTecnico.Checked
UpCliente.Update() UpCliente.Update()
End Sub End Sub
@@ -38732,14 +38728,12 @@ Partial Class Ventas
Exit Sub Exit Sub
End If End If
End If End If
If DdlClienteSucursalCliente() > 0 Then If DdlClienteSucursalCliente() > 0 Then
CveClienteOS = DdlClienteSucursalCliente() CveClienteOS = DdlClienteSucursalCliente()
Else Else
Alert("Debe de seleccionar un hospital.", TipoMensaje.MsgAdvertencia) Alert("Debe de seleccionar un hospital.", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
End If End If
Else Else
If DdlClienteSucursalCliente() > 0 Then If DdlClienteSucursalCliente() > 0 Then
ViewState("CveCliente") = DdlClienteSucursalCliente() ViewState("CveCliente") = DdlClienteSucursalCliente()
@@ -38778,8 +38772,8 @@ Partial Class Ventas
ChkRequiereTecnico.Checked = ChkRequiereTecnicoModal.Checked ChkRequiereTecnico.Checked = ChkRequiereTecnicoModal.Checked
TxtFechaOS.Text = TxtFechaModal.Text TxtFechaOS.Text = TxtFechaModal.Text
TdFechaOS1.Visible = ChkRequiereTecnicoModal.Checked 'TdFechaOS1.Visible = ChkRequiereTecnicoModal.Checked
TdFechaOS2.Visible = ChkRequiereTecnicoModal.Checked 'TdFechaOS2.Visible = ChkRequiereTecnicoModal.Checked
DdlMedico.SelectedValueExist(DdlMedicoModal.SelectedValue) DdlMedico.SelectedValueExist(DdlMedicoModal.SelectedValue)
DdlProcedimiento.SelectedValueExist(DdlProcedimientoModal.SelectedValue) DdlProcedimiento.SelectedValueExist(DdlProcedimientoModal.SelectedValue)
@@ -38797,18 +38791,18 @@ Partial Class Ventas
DdlTipoComprobante.SelectedValueExistInsert("Rem", "Remisión") DdlTipoComprobante.SelectedValueExistInsert("Rem", "Remisión")
End If End If
ElseIf RBLTipoVenta.SelectedValue.Contiene("3") Then ' A vista ElseIf RBLTipoVenta.SelectedValue.Contiene("3") Then ' A vista
DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Ped")) DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Ped"))
DdlTipoComprobante.SelectedValueExist("Ped") DdlTipoComprobante.SelectedValueExist("Ped")
TrVentasMedicas1.Visible = False TrVentasMedicas1.Visible = False
TrVentasMedicas2.Visible = False TrVentasMedicas2.Visible = False
ChkRequiereTecnico.Enabled = True ChkRequiereTecnico.Enabled = True
ElseIf RBLTipoVenta.SelectedValue.Contiene("4") Then ' consignacion ElseIf RBLTipoVenta.SelectedValue.Contiene("4") Then ' consignacion
DdlTipoComprobante.SelectedValueExist("Ing") DdlTipoComprobante.SelectedValueExist("Ing")
TrVentasMedicas1.Visible = False TrVentasMedicas1.Visible = False
TrVentasMedicas2.Visible = False TrVentasMedicas2.Visible = False
ChkRequiereTecnico.Enabled = True ChkRequiereTecnico.Enabled = True
Else Else
DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Ped")) DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Ped"))
DdlTipoComprobante.SelectedValueExist("Ped") DdlTipoComprobante.SelectedValueExist("Ped")
TrVentasMedicas1.Visible = True TrVentasMedicas1.Visible = True
TrVentasMedicas2.Visible = True TrVentasMedicas2.Visible = True
@@ -38895,7 +38889,7 @@ Partial Class Ventas
Protected Sub ChkRequiereTecnicoModal_CheckedChanged(sender As Object, e As EventArgs) Protected Sub ChkRequiereTecnicoModal_CheckedChanged(sender As Object, e As EventArgs)
DvModalRequiereOSFecha.Visible = ChkRequiereTecnicoModal.Checked 'DvModalRequiereOSFecha.Visible = ChkRequiereTecnicoModal.Checked
UpDvModalTipoVenta.Update() UpDvModalTipoVenta.Update()
End Sub End Sub
@@ -38921,7 +38915,6 @@ Partial Class Ventas
For Each GvRow As GridViewRow In GvProductosProcedimiento.Rows For Each GvRow As GridViewRow In GvProductosProcedimiento.Rows
If RBLTipoVenta.SelectedValue = "2" Then If RBLTipoVenta.SelectedValue = "2" Then
Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidad").Text.ToDecimal Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidad").Text.ToDecimal
Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero
Dim Abreviatura As String = GvRow.DataKey("Abreviatura").ToString Dim Abreviatura As String = GvRow.DataKey("Abreviatura").ToString
@@ -38937,13 +38930,11 @@ Partial Class Ventas
Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePS, CveClasificacion) Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePS, CveClasificacion)
PrecioSugerido = ObjPrecioSugerido.PrecioSugerido PrecioSugerido = ObjPrecioSugerido.PrecioSugerido
If ObjPrecioSugerido.CvePrecioLista > 0 AndAlso DivPrecioLista.Visible Then If ObjPrecioSugerido.CvePrecioLista > 0 AndAlso DivPrecioLista.Visible Then
DdlPrecioLista.SelectedValueExist(ObjPrecioSugerido.CvePrecioLista) DdlPrecioLista.SelectedValueExist(ObjPrecioSugerido.CvePrecioLista)
End If End If
If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido
GvRow.FCTextBox("TxtPrecio").Text = PrecioSugerido.ToString("#,###.####") GvRow.FCTextBox("TxtPrecio").Text = PrecioSugerido.ToString("#,###.####")
End If End If
@@ -38955,21 +38946,20 @@ Partial Class Ventas
Private Function GeneraOS(ByRef TransacSQL As SqlClient.SqlTransaction, ByRef errorList As List(Of String), CveVentaOS As Integer, SerieFolioOS As String) As Boolean Private Function GeneraOS(ByRef TransacSQL As SqlClient.SqlTransaction, ByRef errorList As List(Of String), CveVentaOS As Integer, SerieFolioOS As String) As Boolean
Dim Errores As Boolean = False Dim Errores As Boolean = False
Dim ObjOrdenServicio As New ClsOS(TransacSQL)
Dim CveOSTipo As Integer = -1
If ObjOrdenServicio.GetTipoOrdenesServicios(UsuarioActual.CveEmpresa) Then
CveOSTipo = ObjOrdenServicio.DtResultados.FiltroPrimeroValor("CveOrdenServicioTipo", " Estatus = 'Activo' ").ToEntero
End If
Dim CveVentaAdicional As Integer = -1 Dim CveVentaAdicional As Integer = -1
If RBLTipoVenta.SelectedValue.Contiene("5", "6") Then Dim CveOSTipo As Integer = GlobalDTTipoOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveOrdenServicioTipo", " Estatus = 'Activo' ").ToEntero
Dim EstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1").ToEntero
'If RBLTipoVenta.SelectedValue.Contiene("5", "6") Then
' CveVentaAdicional = CveVentaOS
'End If
If RBLTipoVenta.SelectedValue.Contiene("2") AndAlso DdlTipoComprobante.SelectedValue = "Rem" Then 'pago directo, sino require técnico, que pase de estatus
EstatusOrdenServicio = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 4").ToEntero 'tipo: 4.finalizada.3.en proceso
CveVentaAdicional = CveVentaOS CveVentaAdicional = CveVentaOS
End If End If
Dim EstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1").ToEntero Dim ObjOrdenServicio As New ClsOS(TransacSQL)
If ObjOrdenServicio.AddOrdenesServicios(CveClienteOS, DdlSubProyectoDatos.SelectedValue.ToEntero, UsuarioActual.Nombre, TxtFechaOS.Text.Replace(",", "").ToDateTime, $"Venta: {LblSerie.Text}-{TxtFolio.Text}", UsuarioActual.CveUsuario, EstatusOrdenServicio, If ObjOrdenServicio.AddOrdenesServicios(CveClienteOS, DdlSubProyectoDatos.SelectedValue.ToEntero, UsuarioActual.Nombre, TxtFechaOS.Text.Replace(",", "").ToDateTime, $"Venta: {LblSerie.Text}-{TxtFolio.Text}", UsuarioActual.CveUsuario, EstatusOrdenServicio,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVentaOS, CveVentaAdicional, -1, CveOSTipo, CveClienteSucursal:=CveClienteSucursalOS, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVentaOS, CveVentaAdicional, -1, CveOSTipo, CveClienteSucursal:=CveClienteSucursalOS,
Direccion:="", Telefono:="", CveModeloAuto:=-1, Año:="", CveMedico:=DdlMedico.SelectedValue.ToEntero, Direccion:="", Telefono:="", CveModeloAuto:=-1, Año:="", CveMedico:=DdlMedico.SelectedValue.ToEntero,