RepServicioDomicilio mejoras, compras requeriri vinculacion de nc a facturas caundoe s acumuladora.

This commit is contained in:
Oscar Irigoyen
2023-01-27 19:25:02 -07:00
parent 980b0e14eb
commit a995cbf951
11 changed files with 539 additions and 311 deletions

View File

@@ -454,6 +454,8 @@
<label for="<%= HLkFolio.ClientID.ToString()%>" style="font-size:20px" >Folio: </label>
<asp:HyperLink ID="HLkFolio" runat="server" CssClass="Texto" Target="_blank" />
&nbsp;&nbsp;&nbsp;
<asp:HyperLink ID="HLKPDF" runat="server" CssClass="Texto" Target="_blank" ToolTip="Descargar PDF" ><i class="fa fa-file-pdf-o" aria-hidden="true"></i></asp:HyperLink>
</div>
</div>
<br />
@@ -662,6 +664,8 @@
<div class="modal-footer">
<asp:LinkButton runat="server" ID="LnkModalAsignar" CssClass="btn btn-success" Text="Guardar" OnClick="LnkModalAsignar_Click" ValidationGroup="GrpAsignar"></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<asp:LinkButton runat="server" ID="LnkCancelarOrden" CssClass="btn btn-danger" Text="Cancelar Orden" OnClick="LnkCancelarOrden_Click" Visible="false" >
</asp:LinkButton>
</div>
</div>
</ContentTemplate>
@@ -722,32 +726,8 @@
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CVHoraFin" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<%-- <div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtHorarioEnvio.ClientID.ToString() %>" style="font-size: 13px; color: #888888;">Hora de Envío:</label>
<div class="form-group form-md-line-input input-iconright">
<cc1:TimeSelector ID="TxtHorarioEnvio" runat="server" DisplaySeconds="false" DisplayButtons="false">
</cc1:TimeSelector>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TxtHorarioEnvio" Display="None" ErrorMessage="El campo <b>''Hora''</b> es necesario, por favor seleccione la hora correcta." ValidationGroup="GrpObligatorio" ValidateEmptyText="true"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="CVHoraInicio" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>--%>
</div>
<div class="modal-footer">
<asp:LinkButton runat="server" ID="LnkGuardarHorarioNoOpeartivo" CssClass="btn btn-success" Text="Guardar" OnClick="LnkGuardarHorarioNoOpeartivo_Click" ></asp:LinkButton>
@@ -759,6 +739,45 @@
</div>
<div id="DVModalCancelacionOrden" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpmodalCacelaOrden" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label runat="server" ID="LblModalCancelarTitulo">Cancelar Orden de Servicio</asp:Label></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtModalCancelarOrdenMotivo" CssClass="form-control" runat="server" MaxLength="100" CausesValidation="true"></asp:TextBox>
<asp:Label AssociatedControlID="TxtAnio" runat="server" Text="Motivo:"></asp:Label>
<asp:RequiredFieldValidator ID="RfvTxtModalCancelarOrdenMotivo" runat="server" ControlToValidate="TxtModalCancelarOrdenMotivo" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpCancelaOrden"></asp:RequiredFieldValidator>
<i></i>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton runat="server" ID="LnkmodalCancelarORdenServicio" CssClass="btn btn-danger" Text="Cancelar Orden" OnClick="LnkmodalCancelarORdenServicio_Click" ValidationGroup="GrpCancelaOrden" CausesValidation="true"
data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si"></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div style="display:none">

View File

@@ -255,6 +255,22 @@ Partial Class OS_RepServicioDomicilio
End Property
Private Property DTTecnicos As DataTable
Get
If ViewState("DTTecnicos") Is Nothing Then
ViewState("DTTecnicos") = New DataTable
End If
Return DirectCast(ViewState("DTTecnicos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DTTecnicos") = value
End Set
End Property
Enum OSModalTipoAccion
Agregar
@@ -268,7 +284,7 @@ Partial Class OS_RepServicioDomicilio
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaUsuariosTecnicos()
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyectoEtiqueta)
LblSubProyectoFiltro.Text = LblSubProyectoEtiqueta.Text
' LblModalSubProyectoLabel.Text = LblSubProyectoEtiqueta.Text
@@ -281,10 +297,15 @@ Partial Class OS_RepServicioDomicilio
cargaDropsModal()
CargaClientePublicoGeneral()
If UsuarioActual.TienePermisoProceso(348) Then
DVModalAsignacion.Visible = True
End If
If UsuarioActual.TienePermisoProceso(352) Then
LnkCancelarOrden.Visible = True
End If
'RegistraScript(" PrimeraCargaCalendario = true;")
@@ -293,6 +314,18 @@ Partial Class OS_RepServicioDomicilio
End If
End Sub
Private Sub CargaUsuariosTecnicos()
DTTecnicos = New DataTable
Dim ObjUsuarios As New ClsSisUsuarios
If ObjUsuarios.GetPermisosPorUsuarioProcesos(-1, -1, -1, -1, 351, UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) Then
DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0")
End If
ObjUsuarios.Dispose()
End Sub
#Region "CARGAS"
#End Region
@@ -323,7 +356,7 @@ Partial Class OS_RepServicioDomicilio
End Sub
Private Sub CargaTecnicos()
DdlTecnico.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
DdlTecnico.DataSource = DTTecnicos 'GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
DdlTecnico.DataBind()
DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
@@ -352,7 +385,7 @@ Partial Class OS_RepServicioDomicilio
'ObjOS.Dispose()
DdlTecnicoAsignar.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'")
DdlTecnicoAsignar.DataSource = DTTecnicos 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'")
DdlTecnicoAsignar.DataBind()
DdlTecnicoAsignar.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
@@ -716,6 +749,9 @@ Partial Class OS_RepServicioDomicilio
HLkFolio.Text = ObjOS.Folio.ToString
HLkFolio.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveOS={ObjOS.CveOS}"
HLKPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=OS&CVEOS={0}", ObjOS.CveOS))}"
HFCveOS.Value = ObjOS.CveOS.ToString
HFCveOsDetalle.Value = ObjOS.CveOSDetalle.ToString
TxtDescripcion.Text = ObjOS.Descripcion
@@ -743,18 +779,31 @@ Partial Class OS_RepServicioDomicilio
FechaInicioOriginal = ObjOS.FechaInicio
TxtModalFechaOS.Text = ObjOS.FechaInicio.ToString.ToDate.ToString("dd/MM/yyyy HH:mm")
DvModalSubProyecto.Visible = True
LblModalOStitulo.Text = "Actualizar Orden de Servicio"
'TSTimeSelector.Hour = If(ObjOS.FechaInicio.Hour > 12, ObjOS.FechaInicio.Hour - 12, ObjOS.FechaInicio.Hour)
'TSTimeSelector.Minute = ObjOS.FechaInicio.Minute
'TSTimeSelector.AmPm = If(ObjOS.FechaInicio.Hour > 12, MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
End If
Dim TipoEstatus As Integer = 0
TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio), "CveEstatusOrdenServicio ASC").ToEntero
LnkModalAsignar.Visible = If(TipoEstatus.Contiene(5), False, True)
LnkCancelarOrden.Visible = If(TipoEstatus.Contiene(5), False, True)
If (TipoEstatus = 5) Then
LblModalOStitulo.Text = "Orden Cancelada"
End If
RegistraScript("$('#DVModalOS').modal('show');")
End If
ObjOS.Dispose()
LblModalOStitulo.Text = "Actualizar Orden de Servicio"
ElseIf False Then ' Anterior
@@ -1255,7 +1304,7 @@ Partial Class OS_RepServicioDomicilio
DdlTecnicoAsignarHorario.Items.Clear()
DdlTecnicoAsignarHorario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'")
DdlTecnicoAsignarHorario.DataSource = DTTecnicos 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'")
DdlTecnicoAsignarHorario.DataBind()
DdlTecnicoAsignarHorario.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
DdlTecnicoAsignarHorario.SelectedValueExist("-1")
@@ -1393,4 +1442,89 @@ Partial Class OS_RepServicioDomicilio
End Sub
Protected Sub LnkCancelarOrden_Click(sender As Object, e As EventArgs)
RegistraScript($"$('#{TxtModalCancelarOrdenMotivo.ClientID}').focus();;$('#DVModalCancelacionOrden').modal('show');")
TxtModalCancelarOrdenMotivo.Focus()
TxtModalCancelarOrdenMotivo.Text = ""
UpmodalCacelaOrden.Update()
End Sub
'Protected Sub BtnGuardarEventoBitacora_Click(sender As Object, e As EventArgs) Handles BtnGuardarEventoBitacora.Click
' Dim ObjEventoBitacora As New ClsOIEventos
' Dim FileExtension As String = "-1"
' Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
' Dim filemove As String = ""
' For Each fileItem As Archivo In filesgral
' FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
' filemove = fileItem.filename
' Next
' If ObjEventoBitacora.AddEventoBitacora(TxtEventoDescripcion.Text.Trim, String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveOS, -1, -1, -1, -1) Then
' If filemove <> "" Then
' filemove.FilesMove(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("{0}OI", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
' End If
' GvEB.DataSource = ObjEventoBitacora.DtResultados
' TxtEventoDescripcion.Text = ""
' Anexo.Text = "[]"
' Alert("La bitácora/observación se guardó correctamente", TipoMensaje.MsgInformacion)
' RegistraScript("$('#ModalBitacora').modal('hide')", "hidemodal")
' End If
' ObjEventoBitacora.Dispose()
' GvEB.DataBind()
' UPEventoBitacora.Update()
' CargaEventoBitacora()
' UPAddEventoBitacora.Update()
'End Sub
Protected Sub LnkmodalCancelarORdenServicio_Click(sender As Object, e As EventArgs)
Dim TieneError As Boolean = True
Dim CveOS As Integer = HFCveOS.Value.ToEntero
Dim objOS As New ClsOS
Dim ObjEventoBitacora As New ClsOIEventos(objOS.IniciaTransacSQL)
If objOS.UpdateOrdenesServiciosFinaliza(CveOS, -1, -1, UsuarioActual.CveEmpresa, Opcion:=2) Then 'Opcion:=2 Es para cancelar
If ObjEventoBitacora.AddEventoBitacora($"Motivo Cancelación: {TxtModalCancelarOrdenMotivo.Text.Trim}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveOS, -1, -1, -1, -1) Then
TieneError = False
End If
End If
If TieneError Then
objOS.RollBack()
Else
objOS.Commit()
End If
objOS.Dispose()
If Not TieneError Then
Alert("Orden Cancelada Correctamente", TipoMensaje.MsgInformacion, "location.reload(true);")
RegistraScript("$('#DVModalCancelacionOrden').modal('hide');")
RegistraScript("$('#DVModalFinalizarOrden').modal('hide');")
End If
End Sub
End Class