diff --git a/AF/OrdenTrabajo.aspx b/AF/OrdenTrabajo.aspx
index 55c220d37..6128ed0b5 100644
--- a/AF/OrdenTrabajo.aspx
+++ b/AF/OrdenTrabajo.aspx
@@ -241,6 +241,7 @@
+
@@ -253,6 +254,17 @@
+
+
+
+ Faltante
+
+
+
+
+
+
+ +
diff --git a/AF/OrdenTrabajo.aspx.vb b/AF/OrdenTrabajo.aspx.vb
index 70cbcf6f1..522701bf7 100644
--- a/AF/OrdenTrabajo.aspx.vb
+++ b/AF/OrdenTrabajo.aspx.vb
@@ -25,6 +25,18 @@ Partial Class AF_OrdenTrabajo
End Set
End Property
+ Property CveOrdenCompra As Integer
+ Get
+ If ViewState("CveOrdenCompra") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveOrdenCompra").ToString.ToEntero
+ End If
+ End Get
+ Set(value As Integer)
+ ViewState("CveOrdenCompra") = value
+ End Set
+ End Property
@@ -101,12 +113,8 @@ Partial Class AF_OrdenTrabajo
#End Region
-#Region " CARGA DATOS "
-
-#End Region
-
#Region " GV DATOS "
Private Sub CargaDatos()
@@ -128,17 +136,16 @@ Partial Class AF_OrdenTrabajo
DdlPrioridad.SelectedValueExist(ObjAF.DtResultados(0)("Prioridad").ToString)
txtFechaI.Text = ObjAF.DtResultados(0)("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy")
+ CveOrdenCompra = ObjAF.DtResultados(0)("CveOrdenCompra").ToString.ToEntero
+
If ObjAF.DtResultados(0)("FechaFin").ToString.Length > 0 Then
txtFechaF.Text = ObjAF.DtResultados(0)("FechaFin").ToString.ToDate.ToString("dd/MM/yyyy")
End If
'txtFechaFinReal.Text ""
DdlOrdenesTrabajoEstatus.SelectedValueExist(ObjAF.DtResultados(0)("CveEstatusOT").ToString)
-
-
-
- Else
- Alert("No se encontro la orden de rtabajo", TipoMensaje.MsgAdvertencia)
+ Else
+ Alert("No se encontro la orden de trabajo", TipoMensaje.MsgAdvertencia)
End If
End If
@@ -321,16 +328,27 @@ Partial Class AF_OrdenTrabajo
Private Sub CargaMaterial()
Dim ObjAF As New ClsAF
+ Dim MaterialFaltante As Decimal = 0
If ObjAF.GetOrdenesTrabajoMateriales(CveOrdenTrabajo, UsuarioActual.CveEmpresa) Then
GvMaterial.DataSource = ObjAF.DtResultados
+ MaterialFaltante = ObjAF.DtResultados.SUMD("Faltante")
Else
GvMaterial.DataSource = Nothing
End If
ObjAF.Dispose()
+
+
+
+ If MaterialFaltante > 0 AndAlso CveOrdenCompra <= 0 Then
+
+ GvMaterial.Columns(4).Visible = True
+ End If
+
GvMaterial.DataBind()
+
UpGvMaterial.Update()
End Sub
@@ -376,6 +394,17 @@ Partial Class AF_OrdenTrabajo
Protected Sub GvMaterial_RowDataBound(sender As Object, e As GridViewRowEventArgs)
+ If e.Row.RowType = DataControlRowType.Header Then
+
+ If GvMaterial.Columns(4).Visible Then
+
+ Dim HLOC As HyperLink = e.Row.FCHyperLink("HLOC")
+ HLOC.NavigateUrl = $"../OC/OC.aspx?CveOrdenTrabajo={CveOrdenTrabajo}"
+
+ End If
+
+ End If
+
End Sub
Protected Sub GvActividades_RowDataBound(sender As Object, e As GridViewRowEventArgs)
diff --git a/App_Code/ClsAF.vb b/App_Code/ClsAF.vb
index 201458f77..c70e0c563 100644
--- a/App_Code/ClsAF.vb
+++ b/App_Code/ClsAF.vb
@@ -4300,8 +4300,33 @@ Public Class ClsAF
.Add("@CveEstatusOT", SqlDbType.Int).Value = CveEstatusOT
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar la orden de trabajo", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
+ End Function
+ Public Function UpdateOrdenesTrabajoOC(CveOrdenTrabajo As Integer, CveOrdenCompra As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_AF_OrdenesTrabajoOCUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+
+
+ .Add("@CveOrdenTrabajo", SqlDbType.Int).Value = CveOrdenTrabajo
+ .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+
End With
Try
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index 78dd4be3a..4313f8638 100644
--- a/Bancos/IE.aspx.vb
+++ b/Bancos/IE.aspx.vb
@@ -974,12 +974,20 @@ Partial Class Bancos_IE
LnkEliminar.OnClientClick = "return confirm('¿Está seguro de eliminar el documento y su póliza?');"
EstaContabilizado = True
+
+ TxtFechaDocumento.Enabled = False
+ ImgCalendario.Visible = False
+
+
Else
BtnContabilizar.Visible = True
BtnDescontabilizar.Visible = False
HplIrPoliza.Visible = False
-
EstaContabilizado = False
+
+ 'TxtFechaDocumento.Enabled = True
+ 'ImgCalendario.Visible = True
+
End If
UPPDesContabilizar.Update()
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb
index 7b394c0fd..1d1460e35 100644
--- a/OC/OC.aspx.vb
+++ b/OC/OC.aspx.vb
@@ -167,7 +167,14 @@ Partial Class OC
End Property
Private Property NumCotizaciones As Integer
Get
- NumCotizaciones = ViewState("NumCotizaciones").ToString.ToEntero
+
+ If ViewState("NumCotizaciones") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("NumCotizaciones").ToString.ToEntero
+ End If
+
+
End Get
Set(value As Integer)
ViewState("NumCotizaciones") = value
@@ -524,6 +531,22 @@ Partial Class OC
End Set
End Property
+
+
+
+ Private Property CveOrdenTrabajo As Integer
+ Get
+ If ViewState("CveOrdenTrabajo") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveOrdenTrabajo").ToString.ToEntero
+ End If
+ End Get
+ Set(value As Integer)
+ ViewState("CveOrdenTrabajo") = value
+ End Set
+ End Property
+
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -672,6 +695,14 @@ Partial Class OC
'ASIGNA ESTATUS OC
CboE_SelectedIndexChanged(New Object, New EventArgs)
+
+ If Request("CveOrdenTrabajo") IsNot Nothing AndAlso Request("CveOrdenTrabajo").ToString.ToEntero > 0 Then
+ CveOrdenTrabajo = Request("CveOrdenTrabajo").ToEntero
+ CargaOT()
+ End If
+
+
+
End If
@@ -2548,6 +2579,20 @@ Partial Class OC
Else
TieneError = True
End If
+
+
+
+ If CveOrdenTrabajo > 0 Then
+
+ Dim ObjAF As New ClsAF(OC.IniciaTransacSQL)
+ If Not ObjAF.UpdateOrdenesTrabajoOC(CveOrdenTrabajo, CveOrdenCompra, UsuarioActual.CveEmpresa) Then
+ TieneError = True
+ End If
+
+ End If
+
+
+
End If
@@ -8076,4 +8121,112 @@ Partial Class OC
' End If
' ObjVentas.Dispose()
'End Sub
+
+
+ Private Sub CargaOT()
+
+ If CveOrdenTrabajo > 0 Then
+
+ Dim ObjAF As New ClsAF
+
+ Dim CveSubProyecto As Integer = 0
+ Dim SubProyecto As String = ""
+
+ Dim CveProyecto As Integer = 0
+ Dim Proyecto As String = ""
+
+ If ObjAF.GetOrdenesTrabajo(CveOrdenTrabajo, -1, -1, -1, -1, -1, MinFecha, MaxFecha, Nothing, -1, UsuarioActual.CveEmpresa) Then
+
+ If ObjAF.DtResultados IsNot Nothing AndAlso ObjAF.DtResultados.Rows.Count > 0 Then
+
+ lblFolio.Text = $"Folio OT: {ObjAF.DtResultados(0)("Folio").ToString}"
+
+ CveSubProyecto = ObjAF.DtResultados(0)("CveSubProyecto").ToString.ToEntero
+ SubProyecto = GlobalDTSubProyectos(-1, CveSubProyecto)(0)("SubProyecto").ToString
+
+ CveProyecto = GlobalDTSubProyectos(-1, CveSubProyecto)(0)("CveProyecto").ToString.ToEntero
+ Proyecto = GlobalDTSubProyectos(-1, CveSubProyecto)(0)("Proyecto").ToString
+
+ 'DdlAF.SelectedValueExist(ObjAF.DtResultados(0)("CveAF").ToString)
+ 'DdlTipoServicio.SelectedValueExist(ObjAF.DtResultados(0)("CveTipoServicio").ToString)
+ 'TxtServicio.Text = ObjAF.DtResultados(0)("Servicio").ToString
+ DdlPrioridad.SelectedValueExist(ObjAF.DtResultados(0)("Prioridad").ToString)
+ 'txtFechaI.Text = ObjAF.DtResultados(0)("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy")
+
+ If ObjAF.DtResultados(0)("FechaFin").ToString.Length > 0 Then
+ 'txtFechaF.Text = ObjAF.DtResultados(0)("FechaFin").ToString.ToDate.ToString("dd/MM/yyyy")
+ End If
+
+ 'txtFechaFinReal.Text ""
+ 'DdlOrdenesTrabajoEstatus.SelectedValueExist(ObjAF.DtResultados(0)("CveEstatusOT").ToString)
+ Else
+ Alert("No se encontro la orden de trabajo", TipoMensaje.MsgAdvertencia)
+ End If
+ End If
+
+ If ObjAF.GetOrdenesTrabajoMateriales(CveOrdenTrabajo, UsuarioActual.CveEmpresa) Then
+
+
+ For Each DRow As DataRow In ObjAF.DtResultados.Rows
+
+ Dim Cantidad As Decimal = DRow("Faltante").ToString.ToDecimal
+
+ If Cantidad > 0 Then
+
+
+ Dim CvePS As Integer = DRow("CvePS").ToString.ToEntero
+ Dim PrecioUnitario As Double = 0
+
+ Dim dr As DataRow = DtDetalle.NewRow
+ Dim DrPS = GlobalDTPS(CveEmpresaActual, CvePS:=CvePS).FiltroPrimero("")
+ If DrPS Is Nothing Then
+ Alert("Ocurrió un error al cargar la información de los productos del archivo. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia)
+ Continue For
+ End If
+ Dim RetIVA As Double = DrPS("RetIVA").ToString.ToDouble
+ Dim RetISR As Double = DrPS("RetISR").ToString.ToDouble
+ Dim PS As String = DrPS("PS").ToString
+ Dim TotalPS As Double = If(PrecioUnitario > 0, PrecioUnitario * Cantidad, 0)
+ Dim CveUnidadMedida As Integer = DrPS("CveUnidadMedida").ToString.ToEntero
+ Dim UM As String = DrPS("UnidadMedida").ToString
+ Dim IvaPS As Double = DrPS("IVA").ToString.ToDouble
+ 'If IvaPS = -1 Then
+ ' Dim Drr As DataRow = GlobalDTSubProyectos(-1, DdlSubProyecto.SelectedValue.ToEntero())(0)
+ ' IvaPS = Drr("IVA").ToString().ToDouble()
+ 'End If
+ Dim IEPSPS As Double = DrPS("IEPSPorcentaje").ToString.ToDouble
+ Dim IEPSPSIVA As Double = If(DrPS("IEPSGrabaIVA").ToString = "True", DrPS("IEPSPorcentaje").ToString.ToDouble, 0)
+ Dim CveClasificacion As Integer = DrPS("CveClasificacion").ToString.ToEntero
+ Dim Clasificacion As String = DrPS("Clasificacion").ToString
+ Dim CveActivoFijo = HdnCveActivoFijo.Value.ToEntero
+ Dim IdCuentaPorEjercer As Integer = If(HdnCveCuentaPorEjercer.Value = String.Empty, -1, HdnCveCuentaPorEjercer.Value.ToEntero)
+ Dim IdCuentaComprometido As Integer = If(HdnCveCuentaComprometido.Value = String.Empty, -1, HdnCveCuentaComprometido.Value.ToEntero)
+ Dim CveOrdenCompraDetalle As Integer = DtDetalle.MAX("CveOrdenCompraDetalle").ToEntero + 100
+
+ AddPS(Cantidad, CvePS, PS, "", PrecioUnitario, 0, TotalPS, CveUnidadMedida, IvaPS, IEPSPS, IEPSPSIVA, CveClasificacion, UM, Clasificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto, LblCodigo.Text,
+ CveActivoFijo, 0, CveOrdenCompraDetalle, CveOrdenCompra, IdCuentaPorEjercer, IdCuentaComprometido, DdlACGeneral1.SelectedValue.ToEntero, DdlACGeneral2.SelectedValue.ToEntero, DdlACGeneral3.SelectedValue.ToEntero, DdlACGeneral4.SelectedValue.ToEntero,
+ DdlACGeneral5.SelectedValue.ToEntero, RetIVA, RetISR)
+
+ End If
+
+
+ Next
+
+ End If
+
+
+
+
+ ObjAF.Dispose()
+
+ GvD.DataSource = DtDetalle
+ GvD.DataBind()
+
+ End If
+
+
+ End Sub
+
+
+
End Class