This commit is contained in:
2024-05-01 16:33:14 -07:00
15 changed files with 282 additions and 92 deletions

View File

@@ -1314,46 +1314,55 @@
</button>
<h4 class="modal-title" >Material Utilizado</h4>
</div>
<div class="modal-body">
<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">
<asp:GridView ID="GvMU" runat="server" AutoGenerateColumns="False" EmptyDataText="No se ha capturado material utilizado"
DataKeyNames="CveVentaDetalle,Cantidad,CveAlmacenActual,CvePS,CveUM,PU,CveMovimientoDetalle,Lote,Serie,FechaCaducidad,AplicaSerie,AplicaLote,AplicaCaducidad,CodigoPS,Descuento,Observaciones"
<asp:GridView ID="GvMU" runat="server" AutoGenerateColumns="False" EmptyDataText="No se ha capturado material utilizado"
DataKeyNames="CveVentaDetalle,Cantidad,CveAlmacenActual,CvePS,CveUM,PU,CveMovimientoDetalle,Lote,Serie,FechaCaducidad,AplicaSerie,AplicaLote,AplicaCaducidad,CodigoPS,Descuento,Observaciones"
CssClass="table table-striped table-advance table-hover Widthall" GridLines="None" OnRowDataBound="GvMU_RowDataBound">
<Columns>
<asp:TemplateField>
@@ -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>
<ItemTemplate>
<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>
<ItemTemplate>
<asp:Label ID="LblLote" runat="server" Text='<%# Eval("Lote") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<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"
@@ -3329,7 +3347,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
@@ -3358,7 +3376,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
@@ -3367,33 +3385,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