SMS 2024-04-25

This commit is contained in:
rakcsle
2024-04-27 00:41:55 -07:00
parent a05b5ee7d9
commit 17428b548d
9 changed files with 169 additions and 64 deletions

View File

@@ -497,7 +497,7 @@ Public Class ClsOS
Public Function GetRepOrdenesServicioMedicasRep(FechaI As Date, FechaF As Date, CveCliente As Integer, CveVendedor As Integer, CveEstatusOrdenServicio As Integer, CveUsuarioAtendio As Integer, CveSubProyecto As Integer, CveEmpresa As Integer,
Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveEspecialidad As Integer = -1, Optional CveClienteSucursal As Integer = -1) As Boolean
Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveEspecialidad As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional CveUsuario As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OS_OrdenesServiciosMedicasRepGet")
@@ -516,6 +516,7 @@ Public Class ClsOS
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@CveEspecialidad", SqlDbType.Int).Value = CveEspecialidad
.Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With

View File

@@ -6931,7 +6931,7 @@ Public Class ClsVentas
#End Region
Public Function GetVentasMedicasIndicadoresRep(Grupo As Integer, FechaI As Date, FechaF As Date, CveCliente As Integer, CveMedico As Integer, CveProcedimiento As Integer, CveEmpresa As Integer) As Boolean
Public Function GetVentasMedicasIndicadoresRep(Grupo As Integer, FechaI As Date, FechaF As Date, CveCliente As Integer, CveMedico As Integer, CveProcedimiento As Integer, CveEmpresa As Integer, CveVendedor As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasMedicasIndicadoresRepGet")
@@ -6943,6 +6943,7 @@ Public Class ClsVentas
.Add("@CveMedico", SqlDbType.Int).Value = CveMedico
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
End With
Try
SqlAdapter.Fill(Data)

View File

@@ -681,6 +681,49 @@ Namespace Extensiones
directorioNew.Clear()
Return retorno
End Function
<Runtime.CompilerServices.Extension()>
Public Function FilesCopy(oldName As String, newName As String, newDirectorio As String, Optional Sobreescribir As Boolean = False, Optional ConcatenarDirectorioBase As Boolean = True) As Boolean
Dim retorno As Boolean = True
Dim directorioOld As New StringBuilder
Dim directorioNew As New StringBuilder
directorioOld.AppendFormat("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, oldName)
If newName = "" Then
newName = oldName
Else
newName = String.Format("{0}{1}", newName, System.IO.Path.GetExtension(directorioOld.ToString()))
End If
'SI VA A LA CARPETA DE EMPRESAS TIENE QUE TOMAR LA RUTA DE EMPRESAS
If ConcatenarDirectorioBase Then
If newDirectorio.Contains("Empresas") Then
directorioNew.AppendFormat("{0}{1}\", ModExtensiones.DirectorioBaseEmpresas, newDirectorio)
Else
directorioNew.AppendFormat("{0}{1}\", AppDomain.CurrentDomain.BaseDirectory, newDirectorio)
End If
Else
'SI YA TIENE EL DIRECTORIO COMPLETO NO CONCANTENA EL DIRECTORIO
directorioNew.AppendFormat("{0}\", newDirectorio)
End If
If Not Directory.Exists(directorioNew.ToString) Then
Directory.CreateDirectory(directorioNew.ToString)
End If
directorioNew.Append(newName)
Try
My.Computer.FileSystem.CopyFile(directorioOld.ToString, directorioNew.ToString, Sobreescribir)
Catch ex As Exception
Alert("", String.Format("{0} code[FilesMove]", ex.Message), TipoMensaje.MsgAdvertencia)
retorno = False
End Try
directorioOld.Clear()
directorioNew.Clear()
Return retorno
End Function
<Runtime.CompilerServices.Extension()>
Public Function DirectoryExistsCreate(ByRef NombreDirectorio As String) As Boolean

View File

@@ -1316,38 +1316,47 @@
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" id="DvTxtPacienteModal">
<asp:TextBox ID="TxtPacienteModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtPacienteModal" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtPacienteModal"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Paciente''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMaterialUtilizado"></asp:RequiredFieldValidator>
<label for="<%= TxtPacienteModal.ClientID.ToString()%>">Paciente:</label>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" id="DvTxtEpisodioModal">
<asp:TextBox ID="TxtEpisodioModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="20"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtEpisodioModal" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtEpisodioModal"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Episodio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMaterialUtilizado"></asp:RequiredFieldValidator>
<label for="<%= TxtEpisodioModal.ClientID.ToString()%>">Episodio:</label>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" id="DvTxtFolioRemisionModal">
<asp:TextBox ID="TxtFolioRemisionModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="20"></asp:TextBox>
<label for="<%= TxtFolioRemisionModal.ClientID.ToString()%>">Folio:</label>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server">
<asp:TextBox ID="TxtObservacionModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="250"></asp:TextBox>
<label for="<%= TxtFolioRemisionModal.ClientID.ToString()%>">Observaciones:</label>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" id="DvTxtPacienteModal">
<asp:TextBox ID="TxtPacienteModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtPacienteModal" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtPacienteModal"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Paciente''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMaterialUtilizado"></asp:RequiredFieldValidator>
<label for="<%= TxtPacienteModal.ClientID.ToString()%>">Paciente:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" id="DvTxtEpisodioModal">
<asp:TextBox ID="TxtEpisodioModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="20"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtEpisodioModal" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtEpisodioModal"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Episodio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMaterialUtilizado"></asp:RequiredFieldValidator>
<label for="<%= TxtEpisodioModal.ClientID.ToString()%>">Episodio:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" runat="server" visible="false" id="DvTxtFolioRemisionModal">
<asp:TextBox ID="TxtFolioRemisionModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="20"></asp:TextBox>
<label for="<%= TxtFolioRemisionModal.ClientID.ToString()%>">Folio:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" runat="server">
<asp:TextBox ID="TxtObservacionModal" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="250"></asp:TextBox>
<label for="<%= TxtFolioRemisionModal.ClientID.ToString()%>">Observaciones:</label>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
<asp:TextBox ID="AnexoManerialUtilizado" CssClass="ADSdropzone hidden" data-maxFile="5" Text="" runat="server"></asp:TextBox>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
@@ -1365,32 +1374,32 @@
<asp:TemplateField>
<HeaderTemplate>Utilizado</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtUtilizado" runat="server" Width="50px" ></asp:TextBox>
<asp:TextBox ID="TxtUtilizado" runat="server" Width="50px"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" FilterType="Custom" TargetControlID="TxtUtilizado" ValidChars="1234567890." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Concepto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlcodigoPS" runat="server" Text='<%# Eval("CodigoPS") %>' ></asp:Literal>
<asp:Literal ID="LtlcodigoPS" runat="server" Text='<%# Eval("CodigoPS") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Serie</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblSerie" runat="server" Text='<%# Eval("Serie") %>'></asp:Label>
<asp:Label ID="LblSerie" runat="server" Text='<%# Eval("Serie") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Lote</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblLote" runat="server" Text='<%# Eval("Lote") %>'></asp:Label>
<asp:Label ID="LblLote" runat="server" Text='<%# Eval("Lote") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha Cad.</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblFechaCaducidad" runat="server" Text='<%# Eval("FechaCaducidad", "{0:dd/MM/yyyy}") %>' ></asp:Label>
<asp:Label ID="LblFechaCaducidad" runat="server" Text='<%# Eval("FechaCaducidad", "{0:dd/MM/yyyy}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

View File

@@ -1851,6 +1851,9 @@ Partial Class OS_OrdenesServicios
GvEB.DataSource = Nothing
End If
GvEB.DataBind()
UPEventoBitacora.Update()
End Sub
#End Region
@@ -3062,11 +3065,24 @@ Partial Class OS_OrdenesServicios
End If
End If
Dim TieneArchivos As Boolean = False
Dim Filesgral As List(Of Archivo) = AnexoManerialUtilizado.getfiles().Archivos
For Each fileItem As Archivo In Filesgral
TieneArchivos = True
Exit For
Next
If Not TieneArchivos Then
Alert("Debe de Agregar Un Documento de Confirmación (hasta 5 maximo).")
Exit Sub
End If
Dim CveAlmacenActual As Integer = DTSolicitudDev.FiltroPrimeroValor("CveAlmacenActual").ToEntero
Dim CveMoneda As Integer = DTSolicitudDev.FiltroPrimeroValor("CveMoneda").ToEntero
Dim CveSubProyectoPedido As Integer = DTSolicitudDev.FiltroPrimeroValor("CveSubProyecto").ToEntero
Dim CveVentaPedido As Integer = DTSolicitudDev.FiltroPrimeroValor("CveVenta").ToEntero
Dim CveAlmacenDestino As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 10).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto = {CveSubProyectoPedido}").ToEntero
Dim CveVentaRemisionGenerada As Integer = -1
If DdlTipoVenta.SelectedValue.ToEntero = 5 Then
Dim TotalSeleccionado As Decimal = 0
@@ -3193,6 +3209,8 @@ Partial Class OS_OrdenesServicios
Respuesta = GeneraRemision(CveVentaPedido, ObjV.IniciaTransacSQL())
If Respuesta.CveVenta > 0 Then
CveVentaRemisionGenerada = Respuesta.CveVenta
If ObjV.GetVentaDetalle(Respuesta.CveVenta) Then
Dim dtClon As DataTable = ObjV.DtResultados.Copy
dtClon.DefaultView.Sort = "CveVentaDetalle ASC"
@@ -3328,7 +3346,7 @@ Partial Class OS_OrdenesServicios
End If
If ProcesoOK Then
ProcesoOK = GuardarArchivoConfirmacion(ObjV.IniciaTransacSQL, CveOS)
ProcesoOK = GuardarArchivoConfirmacion(ObjV.IniciaTransacSQL, CveOS, CveVentaRemisionGenerada)
End If
If ProcesoOK Then
@@ -3357,7 +3375,7 @@ Partial Class OS_OrdenesServicios
End Sub
Private Function GuardarArchivoConfirmacion(ByRef transaccion As SqlTransaction, CveOSActual As Integer) As Boolean
Private Function GuardarArchivoConfirmacion(ByRef transaccion As SqlTransaction, CveOSActual As Integer, CveVentaRemisionGenerada As Integer) As Boolean
Dim respuesta As Boolean = False
@@ -3366,33 +3384,55 @@ Partial Class OS_OrdenesServicios
Dim FileExtension As String = "-1"
Dim Filesgral As List(Of Archivo) = AnexoManerialUtilizado.getfiles().Archivos
Dim Filename As String = ""
'Dim ProcesoOK As Boolean = True
For Each fileItem As Archivo In Filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
Filename = fileItem.filename
Next
If Filename = String.Empty Then
respuesta = False
Alert("Error al agregar Documento de Confirmación")
Exit For
Else
If Filename = String.Empty Then
respuesta = True
Else
If ObjEventoBitacora.AddEventoBitacora("Documento de Confirmación", String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOS:=CveOSActual) Then
If Filename <> "" Then
If CveVentaRemisionGenerada > 0 Then
If ObjEventoBitacora.AddEventoBitacora("Documento de Confirmación", String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVentaRemisionGenerada) Then
Try
Filename.FilesCopy(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("{0}OI", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
Catch ex As Exception
Alert("Error al mover archivo de confirmación", TipoMensaje.MsgAdvertencia)
respuesta = False
Exit For
End Try
Else
respuesta = False
Exit For
End If
End If
If ObjEventoBitacora.AddEventoBitacora("Documento de Confirmación", String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOS:=CveOSActual) Then
Try
Filename.FilesMove(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("{0}OI", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
respuesta = True
Catch ex As Exception
Alert("Error al mover archivo de confirmación", TipoMensaje.MsgAdvertencia)
respuesta = False
Exit For
End Try
Else
respuesta = False
Exit For
End If
AnexoManerialUtilizado.Text = "[]"
End If
End If
Next
AnexoManerialUtilizado.Text = "[]"
Return respuesta

View File

@@ -80,7 +80,8 @@ Partial Class OS_RepOSMedicas
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString
txtFechaF.Text = NowADS().AddDays(2).ToShortDateString
DdlMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
DdlMedico.DataSource = If(UsuarioActual.CveVendedor > 0, GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros($" Estatus = 'True' AND CveVendedor = {UsuarioActual.CveVendedor} "), GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' "))
DdlMedico.DataBind()
DdlProcedimiento.DataSource = GlobalDTProcedimientos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
@@ -151,7 +152,7 @@ Partial Class OS_RepOSMedicas
If ObjOS.GetRepOrdenesServicioMedicasRep(FechaI, FechaF, Cvecliente, DdlVendedor.SelectedValue.ToEntero, DdlEstatusOS.SelectedValue.ToEntero, DdlTecnico.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa,
CveMedico:=DdlMedico.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, CveEspecialidad:=DdlEspecialidad.SelectedValue.ToEntero,
CveClienteSucursal:=CveClienteSucursal) Then
CveClienteSucursal:=CveClienteSucursal, CveUsuario:=UsuarioActual.CveUsuario) Then
GvDatos.DataSource = ObjOS.DtResultados
If ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then
LnkPersonalizar.Visible = True

View File

@@ -73,7 +73,15 @@ Partial Class Ventas_CatMedicos
Dim ObjVentas As New ClsVentas
If ObjVentas.GetMedicos(-1, UsuarioActual.CveEmpresa, -1) Then
GvDatos.DataSource = ObjVentas.DtResultados
If UsuarioActual.CveVendedor > 0 Then
GvDatos.DataSource = ObjVentas.DtResultados.FiltraParametros($" CveVendedor = {UsuarioActual.CveVendedor}")
Else
GvDatos.DataSource = ObjVentas.DtResultados
End If
Else
GvDatos.DataSource = Nothing
End If
@@ -252,8 +260,10 @@ Partial Class Ventas_CatMedicos
Dim objVentas As New ClsVentas
Dim CveVendedor As Integer = If(UsuarioActual.CveVendedor > 0, UsuarioActual.CveVendedor, -1)
Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1)
If objVentas.GetVentasMedicasIndicadoresRep(DdlGrupo.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, CveCliente, DdlMedico.SelectedValue.ToEntero, DdlProcedimiento.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
If objVentas.GetVentasMedicasIndicadoresRep(DdlGrupo.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, CveCliente, DdlMedico.SelectedValue.ToEntero, DdlProcedimiento.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveVendedor) Then
GvIndicadores.DataSource = objVentas.DtResultados
End If

View File

@@ -183,7 +183,7 @@ Partial Class Ventas_CatProcedimientos
Dim objVentas As New ClsVentas
Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1)
If objVentas.GetVentasMedicasIndicadoresRep(DdlGrupo.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, CveCliente, DdlMedico.SelectedValue.ToEntero, DdlProcedimiento.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
If objVentas.GetVentasMedicasIndicadoresRep(DdlGrupo.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, CveCliente, DdlMedico.SelectedValue.ToEntero, DdlProcedimiento.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1) Then
GvIndicadores.DataSource = objVentas.DtResultados
End If

View File

@@ -37294,10 +37294,10 @@ Partial Class Ventas
DdlMedicoModal.ClearSelection()
DdlMedicoModal.SelectedValue = Nothing
DdlMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
DdlMedico.DataSource = If(UsuarioActual.CveVendedor > 0, GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros($" Estatus = 'True' AND CveVendedor = {UsuarioActual.CveVendedor} "), GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' "))
DdlMedico.DataBind()
DdlMedicoModal.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
DdlMedicoModal.DataSource = If(UsuarioActual.CveVendedor > 0, GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros($" Estatus = 'True' AND CveVendedor = {UsuarioActual.CveVendedor} "), GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' "))
DdlMedicoModal.DataBind()
If CveMedicoSeleccion > 0 Then