diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index cc76dc5f6..11f45eec7 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -439,7 +439,8 @@ Public Class ClsCompras Optional AplicaCostoIndirecto As Integer = -1, Optional EstatusAlmacen As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveTipoGasto As Integer = -1, Optional AF_Medida As Integer = -1, Optional AF_TipoMantenimiento As Integer = -1, Optional Referencia As String = "", Optional OtrosGastos As Decimal = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, - Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, Optional IEPSPSIVAPorcentaje As Double = 0, Optional NoDeducible As Boolean = False) As Boolean + Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, Optional IEPSPSIVAPorcentaje As Double = 0, + Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -482,6 +483,7 @@ Public Class ClsCompras .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje .Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible + .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle End With Try diff --git a/App_Code/ClsContratos.vb b/App_Code/ClsContratos.vb index 4aa1fc0a5..a46495d7e 100644 --- a/App_Code/ClsContratos.vb +++ b/App_Code/ClsContratos.vb @@ -145,6 +145,7 @@ Public Class ClsContratos Public Property FechaFinal As DateTime Public Property Ubicacion As String Public Property Responsable As String + Public Property Lugar As String Public Property CveSubProyecto As Integer Public Property SubProyectoContrato As String Public Property CveProyecto As Integer @@ -290,6 +291,8 @@ Public Class ClsContratos Me.FechaVenc = Data.Rows(0)("FechaVenc").ToString.ToDate Me.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero Me.ImporteTotal = Data.Rows(0)("ImporteTotal").ToString.ToDecimal + Me.Lugar = Data.Rows(0)("Lugar").ToString + Observaciones = Data.Rows(0)("Observaciones").ToString CveDireccionEnvio = Data.Rows(0)("CveDireccionEnvio").ToString.ToEntero AplicaImpuestosLocales = CBool(Data.Rows(0)("AplicaImpuestosLocales")) @@ -540,7 +543,7 @@ Public Class ClsContratos Geom As String, CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer, Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1, Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1, - Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "") As Integer + Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional Lugar As String = "") As Integer Dim Retorno As Integer = -1 DataAdapter("PA_Con_ContratosObraAdd") @@ -591,6 +594,7 @@ Public Class ClsContratos .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev + .Add("@Lugar", SqlDbType.VarChar).Value = Lugar .Add("@CveContrato", SqlDbType.Int).Direction = ParameterDirection.Output @@ -617,7 +621,7 @@ Public Class ClsContratos CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer, Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1, Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1, - Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "") As Boolean + Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional Lugar As String = "") As Boolean Dim Retorno = False DataAdapter("PA_Con_ContratosObraUpdate") @@ -666,7 +670,8 @@ Public Class ClsContratos .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) - .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev + .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev + .Add("@Lugar", SqlDbType.VarChar).Value = Lugar End With @@ -773,6 +778,30 @@ Public Class ClsContratos Return Retorno End Function + + Public Function GetContratosObraAvancesControlAcumulativo(CveContrato As Integer, CveEstimacion As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno = False + + DataAdapter("PA_Con_ContratosObraAvancesControlAcumulativo") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveEstimacion", SqlDbType.Int).Value = CveEstimacion + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al consultar elcontrol acumulativo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + + + #End Region #Region "C I C L O C O M E R C I A L" @@ -1040,9 +1069,10 @@ Public Class ClsContratos End Try Return Retorno - End Function - + End Function + #End Region + #Region "Contratos detalles Avance" Public Function GetContratosAvanceHistoricos(CveContrato As Integer, CveTipoPresupuesto As Integer, fecha As String) As Boolean Dim Retorno = False @@ -1254,6 +1284,30 @@ Public Class ClsContratos #End Region +#Region "CONTRATOS OBRA COMPRAS" + + Public Function GetContratosObraCompras(CveContrato As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno = False + + DataAdapter("PA_Con_ContratosAvanceObraComprasGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al cargar los avances del Contrato.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + +#End Region + + #Region " S E C C I O N E S " Public Function GetSecciones() As Boolean Dim Retorno As Boolean = False @@ -2100,11 +2154,11 @@ Public Class ClsContratos End Try Return Retorno - End Function - - + End Function + + #Region " REPORTES AVANCES " - + Public Function GetReporteContratosAvancesCP(CveEmpresa As Integer, CveCliente As Integer, CveProveedor As Integer, CveTipoContrato As Integer, CveContrato As Integer, Optional CveEstatus As Integer = -1, Optional CveTipoEstatus As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -2129,7 +2183,17 @@ Public Class ClsContratos End Try Return Retorno - End Function + End Function + + + + + + + + + + Public Function GetReporteContratosAvancesDetalleCP(CveContrato As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -2148,8 +2212,34 @@ Public Class ClsContratos OnError("Ocurrió un error al obtener el Reporte de Avances Detalle CP.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try + Return Retorno + End Function + + + + + Public Function GetReporteContratosAvancesDetalleControl(CveContrato As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Con_ReporteContratosAvancesControlDetalle") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Reporte de Avances de control.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function + + Public Function GetVentasAvance(CveContrato As Integer, CveClasificacion As Integer, CvePS As Integer, Tipo As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index b12725805..f9723e55e 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -68,6 +68,7 @@ Public Class ClsOC Public Property FechaEstimadaEntrega As Date 'Private _NombreUsuario As String Public Property CveProveedor As Integer + Public Property TipoProveedor As String Public Property CveProveedorSucursal As Integer Public Property SucursalDireccion As String Public Property ProveedorContacto As String @@ -736,6 +737,7 @@ Public Class ClsOC _NombreUsuario = dr("NombreUsuario").ToString _CveProveedor = If(Not IsDBNull(dr("CveProveedor")), dr("CveProveedor").ToString.ToEntero, -1) + Me.TipoProveedor = If(Not IsDBNull(dr("CveTipoProveedor")), dr("CveTipoProveedor").ToString, "-1") _CveProveedorSucursal = If(Not IsDBNull(dr("CveProveedorSucursal")), dr("CveProveedorSucursal").ToString.ToEntero, -1) _RazonSocial = If(Not IsDBNull(dr("RazonSocial")), dr("RazonSocial").ToString, "") _Direccion = If(Not IsDBNull(dr("Direccion")), dr("Direccion").ToString, "") @@ -1250,7 +1252,7 @@ Public Class ClsOC pObservacion As String, pCveUsuario As Integer, Optional pCveOrdenCompraPadre As Integer = -1, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0, Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0, Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, - Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveVentaDetalleCotizacion As Integer = -1) As Boolean + Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveVentaDetalleCotizacion As Integer = -1, Optional CveTipoGastoObra As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraDetalleAdd") @@ -1281,6 +1283,10 @@ Public Class ClsOC .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje .Add("@CveVentaDetalleCotizacion", SqlDbType.Int).Value = CveVentaDetalleCotizacion + .Add("@CveTipoGastoObra", SqlDbType.Int).Value = CveTipoGastoObra + + + End With Try @@ -1303,7 +1309,7 @@ Public Class ClsOC pObservacion As String, pCveUsuario As Integer, pCveOrdenCompraDetalle As Integer, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0, Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0, Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, - Optional IEPSPSIVAPorcentaje As Double = 0) As Integer + Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveTipoGastoObra As Integer = -1) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_OC_OrdenesCompraDetalleUpdate") @@ -1333,6 +1339,7 @@ Public Class ClsOC .Add("@RetISRPorcentaje", SqlDbType.Float).Value = RetISRPorcentaje .Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje .Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje + .Add("@CveTipoGastoObra", SqlDbType.Int).Value = CveTipoGastoObra End With Try diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index d82bbdd16..0cceddab1 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -7376,7 +7376,7 @@ Public Class ClsPaginas params.Add(New ReportParameter("Descuento", DtDetalle.SUM("Descuento").ToString.FormatoNumero(2))) End If 'DATOS PARA DESCUENTO - If EmpresaActual.CveEmpresa.Contiene(4, 145, 7, 11, 12, 13, 72, 80, 83, 122, 126) Then 'EMPRESAS QUE YA TIENEN EL AJUSTE EN EL FORMATO + If EmpresaActual.CveEmpresa.Contiene(4, 145, 7, 11, 12, 13, 72, 80, 83, 119, 122, 126) Then 'EMPRESAS QUE YA TIENEN EL AJUSTE EN EL FORMATO params.Add(New ReportParameter("SubTotal", ObjOC.SubTotal.ToString)) params.Add(New ReportParameter("SubTotal2", DtDetalle.SUM("Total").ToString)) Else @@ -7406,6 +7406,9 @@ Public Class ClsPaginas params.Add(New ReportParameter("ProveedorDireccion", If(ObjOC.CveProveedorSucursal > 0, ObjOC.SucursalDireccion, ObjOC.Direccion))) params.Add(New ReportParameter("ProveedorTel", If(ObjOC.CveProveedorSucursal > 0, ObjOC.SucursalTelefono, ObjOC.Telefono))) + If UsuarioActual.CveEmpresa = 119 Then + params.Add(New ReportParameter("TipoProveedor", ObjOC.TipoProveedor)) + End If params.Add(New ReportParameter("ProveedorRFC", ObjOC.RFC)) params.Add(New ReportParameter("IVA", ObjOC.IVA.ToString)) params.Add(New ReportParameter("RetIVA", ObjOC.RetIVA.ToString.FormatoNumero(2))) diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index 3c0189d72..46d96e18d 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -10,18 +10,25 @@ Imports System.IO Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest - If context.Request("metodo").ToString() = "GetTokenAngular" Then + If context.Request("metodo") IsNot Nothing AndAlso context.Request("metodo").ToString() = "GetTokenAngular" Then 'context.Response.ContentType = "application/json; charset=utf-8" context.Response.ContentType = "text/json" - Dim origin As String = context.Request.UrlReferrer.ToString() - context.Response.AddHeader("Access-Control-Allow-Origin", origin.Substring(0, origin.Length - 1)) + If context.Request IsNot Nothing AndAlso context.Request.UrlReferrer IsNot Nothing Then + Dim origin As String = context.Request.UrlReferrer.ToString() + context.Response.AddHeader("Access-Control-Allow-Origin", origin.Substring(0, origin.Length - 1)) + End If 'context.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:4200") 'context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST") context.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept") context.Response.AddHeader("Access-Control-Allow-Credentials", "true") context.Response.StatusCode = 200 - Dim key As String = GetTokenAngular(context) + Dim key As String = "" + Try + key = GetTokenAngular(context) + Catch ex As Exception + GuardaLog(ex.ToString()) + End Try Dim json As String = JsonConvert.SerializeObject(key) context.Response.Write(json) context.Response.Flush() @@ -959,6 +966,13 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Private Function GETUMSAT(ByVal context As HttpContext) As String Dim retorno As String = "" + + If context.Application("GlobalDTPSATUM") Is Nothing Then + Dim ObjGrales As New ClsGenerales + If ObjGrales.GetSATUnidadMedida Then context.Application("GlobalDTPSATUM") = ObjGrales.DtResultados.AsEnumerable() Else context.Application("GlobalDTPSATUM") = Nothing + ObjGrales.Dispose() + End If + Dim DTUM = DirectCast(context.Application("GlobalDTPSATUM"), EnumerableRowCollection(Of DataRow)) Dim DtPSRetorno As DataTable diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 0268da558..8f1c3a848 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2679,7 +2679,7 @@ Partial Class Compras_Compras TmpDT.Columns.Add("CveContrato", GetType(Integer)) TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - + TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) GvPS.DataSource = TmpDT @@ -5055,7 +5055,8 @@ Partial Class Compras_Compras CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal, RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble, IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, - IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False)) Then + IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False), + CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero) Then ErrorDetalles = True Exit For @@ -11262,6 +11263,8 @@ Partial Class Compras_Compras TmpDT.Columns.Add("DifPSSat", GetType(Integer)) + TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) + TmpDTOriginal = New DataTable TmpDTOriginal.Columns.Add("Consec", GetType(Integer)) TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal)) @@ -11367,6 +11370,7 @@ Partial Class Compras_Compras TmpDTOriginal.Columns.Add("NoDeducible", GetType(Boolean)) TmpDTOriginal.Columns.Add("Importe", GetType(Double)) + TmpDTOriginal.Columns.Add("CveContratoDetalle", GetType(Double)) End Sub @@ -14699,7 +14703,7 @@ Partial Class Compras_Compras If TxtFecha.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFecha.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Or DdlTipoComprobante.SelectedValue.Contiene("NC") Then 'CREA POLIZA NEGATIVA - If IdPoliza > 0 AndAlso ObjAC IsNot Nothing Then + If IdPoliza > 0 AndAlso ObjAC IsNot Nothing AndAlso UsuarioActual.Empresa.UsaAC Then If ObjAC.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then dt = ObjAC.DtResultados @@ -14737,7 +14741,7 @@ Partial Class Compras_Compras If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero, dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero, dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, - dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, dr("CveAcreedor").ToString.ToEntero, dr("CveColectiva").ToString.ToEntero, dr("CveCreditoDetalle").ToString.ToEntero, CveCuenta:=dr("CveCuenta").ToString.ToEntero, + dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero, CveCuenta:=dr("CveCuenta").ToString.ToEntero, ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero, CveCompraAmortizacion:=dr("CveCompraAmortizacion").ToString.ToEntero) Then ErrorCancelar = True @@ -14761,7 +14765,7 @@ Partial Class Compras_Compras If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero, dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero, dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, - dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, dr("CveAcreedor").ToString.ToEntero, dr("CveColectiva").ToString.ToEntero, dr("CveCreditoDetalle").ToString.ToEntero, CveCuenta:=dr("CveCuenta").ToString.ToEntero, + dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero, CveCuenta:=dr("CveCuenta").ToString.ToEntero, ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then ErrorCancelar = True Exit For @@ -15645,8 +15649,10 @@ Partial Class Compras_Compras Dim CveOrdenCompraDetalle As Integer = dr("CveOrdenCompraDetalle").ToString.ToEntero Dim EntregaDirecta As Integer = dr("EntregaDirecta").ToString.ToEntero Dim CveSATPS As Integer = gvr.FCDropDownLost("DdlSATPS").SelectedValue.ToEntero - Dim CveTipoGasto As Integer = -1 - Dim TipoGasto As String = "" + + Dim CveTipoGasto As Integer = dr("CveTipoGastoObra").ToString.ToEntero + Dim TipoGasto As String = dr("TipoGasto").ToString + Dim CveContratoDetalle As Integer = dr("CveContratoDetalle").ToString.ToEntero '[IPP] PROVISIONAL PARA TIPO GASTO If GlobalDTTiposGastos(UsuarioActual.CveEmpresa) IsNot Nothing AndAlso GlobalDTTiposGastos(UsuarioActual.CveEmpresa).Rows.Count = 1 Then @@ -15657,7 +15663,8 @@ Partial Class Compras_Compras End If End If - AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, RetIVA, RetISR, IEPSPS, IEPSPSIVA, Descuento, CveOrdenCompraDetalle, False, CantidadF:=CantidadF, EntregaDirecta:=EntregaDirecta, CveSATPS:=CveSATPS, CveTipoGasto:=CveTipoGasto, TipoGasto:=TipoGasto) + AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, RetIVA, RetISR, IEPSPS, IEPSPSIVA, Descuento, CveOrdenCompraDetalle, False, + CantidadF:=CantidadF, EntregaDirecta:=EntregaDirecta, CveSATPS:=CveSATPS, CveTipoGasto:=CveTipoGasto, TipoGasto:=TipoGasto, CveContratoDetalle:=CveContratoDetalle) 'CARGA PE Index = TmpDT.Rows.Count - 1 @@ -17896,7 +17903,7 @@ Partial Class Compras_Compras Obs As String, PU As Double, Total As Double, IVA As Double, RetIVA As Double, RetISR As Double, IEPSPS As Double, IEPSPSIVA As Double, Descuento As Double, Optional CveOrdenCompraDetalle As Integer = -1, Optional TCalculaTotales As Boolean = True, Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Double = 0, Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Double = 0, - Optional PorcentajeIEPS As Double = 0, Optional PorcentajeRetIVA As Double = 0, Optional PorcentajeRetISR As Double = 0, Optional NoDeducible As Boolean = False) As Integer + Optional PorcentajeIEPS As Double = 0, Optional PorcentajeRetIVA As Double = 0, Optional PorcentajeRetISR As Double = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1) As Integer Dim Row As DataRow = Nothing @@ -18017,6 +18024,8 @@ Partial Class Compras_Compras Row("CveTipoGasto") = CveTipoGasto Row("TipoGasto") = If(CveTipoGasto > 0, TipoGasto, "") + Row("CveContratoDetalle") = CveContratoDetalle + If UsuarioActual.Empresa.UsaAC Then Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero Row("CveUnidadAdministrativa") = DdlACGeneral2.SelectedValue.ToEntero diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 6644f7db1..9b8a0ed78 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -658,7 +658,7 @@ - - - + + + + + +
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
+ + + + +
+ + + + + + + + + +
Clasificación Contratado Avance Faltante Avance Por Facturar Anticipo
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + + + +
+
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
+ + + + +
+ + + + + + + <%-- + --%> + +
Clasificación Contratado Avance Faltante Avance Por Facturar Anticipo
+
+ + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + + + + + + --%> + + + + +
+
+ + +
+
+ + +
+ + - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index fe738afd7..da9636f7a 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -454,12 +454,12 @@ Partial Class Contratos_ContratoObra If CveContrato > 0 Then If UsuarioActual.TienePermisoProceso(164) Then BtnEliminar.Visible = True - Gv.Columns(11).Visible = True - GvInsumos.Columns(9).Visible = True + Gv.Columns(9).Visible = True + GvInsumos.Columns(8).Visible = True Else BtnEliminar.Visible = False - Gv.Columns(11).Visible = False - GvInsumos.Columns(9).Visible = False + Gv.Columns(9).Visible = False + GvInsumos.Columns(8).Visible = False End If 'If CveTipoContrato.Contiene(11, 25) Then 'ciclo comercial @@ -469,8 +469,8 @@ Partial Class Contratos_ContratoObra Else TabPres.Visible = False - Gv.Columns(11).Visible = True - GvInsumos.Columns(9).Visible = True + Gv.Columns(9).Visible = True + GvInsumos.Columns(8).Visible = True End If @@ -993,7 +993,7 @@ Partial Class Contratos_ContratoObra 'RowPorcentajeComision.Visible = False RowEstatus.Visible = False 'dvAddendum.Visible = False - liImprimir.Visible = True + 'liImprimir.Visible = True CargaPlantillas() 'TrContratoPlantilla.Visible = True 'DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo")) @@ -1042,7 +1042,7 @@ Partial Class Contratos_ContratoObra 'TDObservacion.Visible = True 'tdObservaciones.Visible = True TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString - Gv.Columns(6).Visible = True + Gv.Columns(4).Visible = True 'DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString) End If @@ -1073,6 +1073,7 @@ Partial Class Contratos_ContratoObra TxtFechaInicial.Text = ObjContratos.FechaInicial.ToShortDateString TxtUbicacion.Text = ObjContratos.Ubicacion TxtResponsable.Text = ObjContratos.Responsable + TxtLugar.Text = ObjContratos.Lugar TxtPorAnticipo.Text = ObjContratos.PorAmortizacionAnticipo.FormatoNumero TxtPorAmortizacionAnticipo.Text = ObjContratos.PorAmortizacionAnticipo.FormatoNumero TxtPorGarantia.Text = ObjContratos.PorGarantia.FormatoNumero @@ -1100,8 +1101,8 @@ Partial Class Contratos_ContratoObra If ObjContratos.TipoEstatus = 2 Then DdlEstatus.Enabled = False If UsuarioActual.TienePermisoProceso(173) Then - liVigenteContrato.Visible = True - LBVigenteContrato.Visible = True + 'liVigenteContrato.Visible = True + 'LBVigenteContrato.Visible = True End If Else DdlEstatus.Items.Clear() @@ -1110,17 +1111,17 @@ Partial Class Contratos_ContratoObra DdlEstatus.DataBind() Select Case ObjContratos.TipoEstatus Case 1 - If UsuarioActual.TienePermisoProceso(173) Then - liTerminarContrato.Visible = True - LBTerminarContrato.Visible = True - - liCancelarContrato.Visible = True - LBCancelarContrato.Visible = True + If UsuarioActual.TienePermisoProceso(173) Then + ' liTerminarContrato.Visible = True + 'LBTerminarContrato.Visible = True + + ' liCancelarContrato.Visible = True + 'LBCancelarContrato.Visible = True End If Case 2, 3 ' reactivar el contrato - If UsuarioActual.TienePermisoProceso(173) Then - liVigenteContrato.Visible = True - LBVigenteContrato.Visible = True + If UsuarioActual.TienePermisoProceso(173) Then + ' liVigenteContrato.Visible = True + ' LBVigenteContrato.Visible = True End If End Select @@ -1315,7 +1316,7 @@ Partial Class Contratos_ContratoObra TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=-1, CveAlmacenDestino:=-1, PorcentajeComision:=0, TipoGarantia:=-1, Folio:=0, FechaVenc:=Nothing, EstatusFianza:=1, CvePeriodo:=-1, CveCuentaEquipo:=-1, CveContratoPlantilla:=-1, CveVendedor:=-1, - Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim()) + Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim) TieneError = Not GuardaFianzas(ObjContratos) @@ -1414,7 +1415,7 @@ Partial Class Contratos_ContratoObra CveAlmacenOrigen:=-1, CveAlmacenDestino:=-1, PorcentajeComision:=0, TipoGarantia:=-1, Folio:=-1, FechaVenc:=Nothing, EstatusFianza:=-1, CveContratoPlantilla:=-1, CveCuentaEquipo:=-1, CveVendedor:=-1, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False, - CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim()) Then + CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim) Then TieneError = Not GuardaFianzas(ObjContratos) @@ -1840,11 +1841,11 @@ Partial Class Contratos_ContratoObra Gv.DataSource = DtTemp DtPresupuestos = DtTemp Gv.DataBind() - If CveTipoContrato = 25 Then - Gv.Columns(0).Visible = False - Gv.Columns(2).Visible = False - Gv.Columns(3).Visible = False - Gv.Columns(9).Visible = False + If CveTipoContrato = 25 Then + ' Gv.Columns(0).Visible = False + Gv.Columns(2).Visible = False + ' Gv.Columns(3).Visible = False + Gv.Columns(7).Visible = False End If 'If (Gv.Rows.Count > 0) Then ' Gv.UseAccessibleHeader = True @@ -2581,7 +2582,7 @@ Partial Class Contratos_ContratoObra End If TabReporteAvance.Visible = True - lbImprimirAvance.Visible = True + 'lbImprimirAvance.Visible = True Dim Modalidad = IfNull(Request("Tipo"), 1, 2) @@ -2600,16 +2601,32 @@ Partial Class Contratos_ContratoObra Alert("Ocurrió un Error al obtener el Reporte de Avances. Por favor vuelva a intentar", TipoMensaje.MsgError) End If - ObjContratos.Dispose() + 'ObjContratos.Dispose() GvDatosAvance.DataBind() If (GvDatosAvance.Rows.Count > 0) Then GvDatosAvance.UseAccessibleHeader = True GvDatosAvance.HeaderRow.TableSection = TableRowSection.TableHeader RegistraScript("OrdenarGV();") - End If - - UpGral.Update() + End If + + + + + + If ObjContratos.GetReporteContratosAvancesDetalleControl(CveContrato, UsuarioActual.CveEmpresa) Then + + GvDatosAvanceControl.DataSource = ObjContratos.DtResultados + Else + Alert("Ocurrió un Error al obtener el Reporte de Avances de control. Por favor vuelva a intentar", TipoMensaje.MsgError) + End If + + + GvDatosAvanceControl.DataBind() + + ObjContratos.Dispose() + UpGral.Update() + End Sub Protected Sub GvDatosAvance_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosAvance.RowDataBound @@ -2629,6 +2646,27 @@ Partial Class Contratos_ContratoObra e.Row.FCLinkButton("LBAvanceXFacturarCantidad").CommandArgument = Liga2 e.Row.FCLinkButton("LBAvanceXFacturarImporte").CommandArgument = Liga2 + End If + End Sub + + + Protected Sub GvDatosAvanceControl_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosAvanceControl.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + + If e.Row.DBCampo("CveClasificacion").ToString.ToEntero = 0 Then + e.Row.CssClass = "Totales white" + ElseIf e.Row.DBCampo("CvePS").ToString.ToEntero = 0 Then + e.Row.CssClass = "SubTotales" + End If + + 'Dim Liga1 = $"{e.Row.DBCampo("CveClasificacion").ToEntero}|{e.Row.DBCampo("Clasificacion")}|{e.Row.DBCampo("CvePS").ToEntero}|{e.Row.DBCampo("CodigoPS")}|1" + 'e.Row.FCLinkButton("LBAvanceCantidad").CommandArgument = Liga1 + 'e.Row.FCLinkButton("LBAvanceImporte").CommandArgument = Liga1 + + 'Dim Liga2 = $"{e.Row.DBCampo("CveClasificacion").ToEntero}|{e.Row.DBCampo("Clasificacion")}|{e.Row.DBCampo("CvePS").ToEntero}|{e.Row.DBCampo("CodigoPS")}|2" + 'e.Row.FCLinkButton("LBAvanceXFacturarCantidad").CommandArgument = Liga2 + 'e.Row.FCLinkButton("LBAvanceXFacturarImporte").CommandArgument = Liga2 + End If End Sub Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs) @@ -2672,9 +2710,9 @@ Partial Class Contratos_ContratoObra GVAvanceXDocumento.DataSource = ObjContratos.DtResultados DtAvanceDocumento = ObjContratos.DtResultados If DtAvanceDocumento.Rows.Count > 0 Then - LBImprimir.Visible = True - End If - LBImprimirInformacionG.Visible = True + 'LBImprimir.Visible = True + End If + ' LBImprimirInformacionG.Visible = True Else Alert("Ocurrió un error al obtener el Reporte de Avances por Documento. Por favor vuelva a intentar", TipoMensaje.MsgError) End If @@ -2871,7 +2909,7 @@ Partial Class Contratos_ContratoObra If GvContratosGastos.Rows.Count > 0 Then GvContratosGastos.HeaderRow.CssClass = "SinColor" - LBImprimirGastos.Visible = True + 'LBImprimirGastos.Visible = True End If UpContratoGasto.Update() @@ -2948,12 +2986,12 @@ Partial Class Contratos_ContratoObra UpPedidosDevoluciones.Update() End Sub - Protected Sub ImgExcelPedDev_Click(sender As Object, e As EventArgs) Handles LbImprimirPedDevExcel.Click - GenerarPDFPedDev("Excel") - End Sub - Protected Sub ImgImprimirPedDev_Click(sender As Object, e As EventArgs) Handles LbImprimirPedDev.Click - GenerarPDFPedDev() - End Sub + 'Protected Sub ImgExcelPedDev_Click(sender As Object, e As EventArgs) Handles LbImprimirPedDevExcel.Click + ' GenerarPDFPedDev("Excel") + 'End Sub + 'Protected Sub ImgImprimirPedDev_Click(sender As Object, e As EventArgs) Handles LbImprimirPedDev.Click + ' GenerarPDFPedDev() + 'End Sub Private Sub GenerarPDFPedDev(Optional Formato As String = "PDF") If DsDatosPedDev Is Nothing Then Alert("No se pudieron consultar los pedidos y devoluciones", TipoMensaje.MsgAdvertencia) @@ -3202,27 +3240,27 @@ Partial Class Contratos_ContratoObra ObjInv.Dispose() - LnkAjusteAF.Visible = True + 'LnkAjusteAF.Visible = True DivHajusteAF.Visible = False GvDatosAlmacen.Columns(6).Visible = False CargaInventarios() - UPHajusteAF.Update() - UpHajusteAcciones.Update() - + UPHajusteAF.Update() + ' UpHajusteAcciones.Update() + End Sub - Protected Sub LnkAjusteAF_Click(sender As Object, e As EventArgs) - - LnkAjusteAF.Visible = False + Protected Sub LnkAjusteAF_Click(sender As Object, e As EventArgs) + + ' LnkAjusteAF.Visible = False DivHajusteAF.Visible = True GvDatosAlmacen.Columns(6).Visible = True CargaInventarios() - UPHajusteAF.Update() - UpHajusteAcciones.Update() + UPHajusteAF.Update() + ' UpHajusteAcciones.Update() UpAlmacen.Update() End Sub @@ -3425,9 +3463,9 @@ Partial Class Contratos_ContratoObra Response.End() End If End Sub - Public Sub LbDescargarExcel_Click(sender As Object, e As EventArgs) Handles LbDescargarExcel.Click - DescargarFormato() - End Sub + 'Public Sub LbDescargarExcel_Click(sender As Object, e As EventArgs) Handles LbDescargarExcel.Click + ' DescargarFormato() + 'End Sub Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath) @@ -3702,9 +3740,9 @@ Partial Class Contratos_ContratoObra #Region " IMPRESION " #Region " IMPRIMIR AVANCE POR DOCUMENTO " - Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click - GenerarPDF() - End Sub + 'Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click + ' GenerarPDF() + 'End Sub Private Sub GenerarPDF(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) @@ -3730,66 +3768,67 @@ Partial Class Contratos_ContratoObra End If Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text) ImprimirPDF("Empresas/Grales/Formatos/RepContratoAvanceDocumento.rdlc", dt, params, $"{Nombre}-AvanceDocumento", Formato:=Formato) - End Sub - Private Sub LBImprimirInformacionG_Click(sender As Object, e As EventArgs) Handles LBImprimirInformacionG.Click - Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) - Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - - Dim dt As DataTable = DtAvanceDocumento - Dim params As New List(Of ReportParameter) - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) - params.Add(New ReportParameter("Contrato", Titulo)) - 'DATOS DEL CONTRATO - params.Add(New ReportParameter("NoContrato", TxtNumeroContrato.Text.Trim)) - params.Add(New ReportParameter("Descripcion", TxtDescripcionContrato.Text.Trim)) - params.Add(New ReportParameter("Proveedor", If(TrProveedor.Visible = True, DdlContratista.SelectedItem.Text.Trim, "-"))) - params.Add(New ReportParameter("Ubicacion", TxtUbicacion.Text.Trim)) - params.Add(New ReportParameter("Responsable", TxtResponsable.Text.Trim)) - params.Add(New ReportParameter("Almacen", "-")) - params.Add(New ReportParameter("Porcentaje", "-")) - 'CENTRO DE COSTOS - params.Add(New ReportParameter("Proyecto", If(DVddlproyecto.Visible = True, DdlProyecto.SelectedItem.Text.Trim, "-"))) - params.Add(New ReportParameter("SubProyecto", CveSubProyecto.ToString)) - params.Add(New ReportParameter("Addendum", "")) - 'INFORMACION - params.Add(New ReportParameter("Cliente", If(TrCliente.Visible = True, DdlCliente.SelectedItem.Text.Trim, "-"))) - params.Add(New ReportParameter("Sucursal", If(TrClienteSucursal.Visible = True, DdlSucursalCliente.SelectedItem.Text.Trim, "-"))) - params.Add(New ReportParameter("FechaInicial", TxtFechaInicial.Text.Trim)) - params.Add(New ReportParameter("FechaFinal", TxtFechaFinal.Text.Trim)) - params.Add(New ReportParameter("Moneda", DdlMoneda.SelectedItem.Text.Trim)) - params.Add(New ReportParameter("TipoCambio", If(tipoCambio.Visible = True, TxtTipoCambio.Text.Trim, "-"))) - params.Add(New ReportParameter("IVA", TxtPorIVA.Text.Trim)) - params.Add(New ReportParameter("Anticipo", TxtPorAnticipo.Text.Trim)) - params.Add(New ReportParameter("Amortizacion", TxtPorAmortizacionAnticipo.Text.Trim)) - params.Add(New ReportParameter("Garantia", TxtPorGarantia.Text.Trim)) - params.Add(New ReportParameter("Minimo", "-")) - params.Add(New ReportParameter("Maximo", "-")) - params.Add(New ReportParameter("Total", If(DvTotal.Visible = True, TxtTotal.Text.Trim, "-"))) - 'Estatus - params.Add(New ReportParameter("Estatus", DdlEstatus.SelectedItem.Text.Trim)) - params.Add(New ReportParameter("TipoGarantia", "")) - params.Add(New ReportParameter("EstatusFianza", "")) - params.Add(New ReportParameter("Folio", "0")) - params.Add(New ReportParameter("FechaVencimiento", "")) - - If Imagen.Exists Then - params.Add(New ReportParameter("LogoPath", logouri)) - Else - params.Add(New ReportParameter("LogoPath", "")) - End If - ImprimirPDF("Empresas/Grales/Formatos/Contrato.rdlc", dt, params, $"Contrato-{Titulo}", Formato:="PDF") - End Sub + 'Private Sub LBImprimirInformacionG_Click(sender As Object, e As EventArgs) Handles LBImprimirInformacionG.Click + ' Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + ' Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + + ' Dim dt As DataTable = DtAvanceDocumento + ' Dim params As New List(Of ReportParameter) + ' params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + ' params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + ' params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + ' params.Add(New ReportParameter("Contrato", Titulo)) + ' 'DATOS DEL CONTRATO + ' params.Add(New ReportParameter("NoContrato", TxtNumeroContrato.Text.Trim)) + ' params.Add(New ReportParameter("Descripcion", TxtDescripcionContrato.Text.Trim)) + ' params.Add(New ReportParameter("Proveedor", If(TrProveedor.Visible = True, DdlContratista.SelectedItem.Text.Trim, "-"))) + ' params.Add(New ReportParameter("Ubicacion", TxtUbicacion.Text.Trim)) + ' params.Add(New ReportParameter("Responsable", TxtResponsable.Text.Trim)) + ' params.Add(New ReportParameter("Almacen", "-")) + ' params.Add(New ReportParameter("Porcentaje", "-")) + ' 'CENTRO DE COSTOS + ' params.Add(New ReportParameter("Proyecto", If(DVddlproyecto.Visible = True, DdlProyecto.SelectedItem.Text.Trim, "-"))) + ' params.Add(New ReportParameter("SubProyecto", CveSubProyecto.ToString)) + ' params.Add(New ReportParameter("Addendum", "")) + ' 'INFORMACION + ' params.Add(New ReportParameter("Cliente", If(TrCliente.Visible = True, DdlCliente.SelectedItem.Text.Trim, "-"))) + ' params.Add(New ReportParameter("Sucursal", If(TrClienteSucursal.Visible = True, DdlSucursalCliente.SelectedItem.Text.Trim, "-"))) + ' params.Add(New ReportParameter("FechaInicial", TxtFechaInicial.Text.Trim)) + ' params.Add(New ReportParameter("FechaFinal", TxtFechaFinal.Text.Trim)) + ' params.Add(New ReportParameter("Moneda", DdlMoneda.SelectedItem.Text.Trim)) + ' params.Add(New ReportParameter("TipoCambio", If(tipoCambio.Visible = True, TxtTipoCambio.Text.Trim, "-"))) + ' params.Add(New ReportParameter("IVA", TxtPorIVA.Text.Trim)) + ' params.Add(New ReportParameter("Anticipo", TxtPorAnticipo.Text.Trim)) + ' params.Add(New ReportParameter("Amortizacion", TxtPorAmortizacionAnticipo.Text.Trim)) + ' params.Add(New ReportParameter("Garantia", TxtPorGarantia.Text.Trim)) + ' params.Add(New ReportParameter("Minimo", "-")) + ' params.Add(New ReportParameter("Maximo", "-")) + ' params.Add(New ReportParameter("Total", If(DvTotal.Visible = True, TxtTotal.Text.Trim, "-"))) + ' 'Estatus + ' params.Add(New ReportParameter("Estatus", DdlEstatus.SelectedItem.Text.Trim)) + ' params.Add(New ReportParameter("TipoGarantia", "")) + ' params.Add(New ReportParameter("EstatusFianza", "")) + ' params.Add(New ReportParameter("Folio", "0")) + ' params.Add(New ReportParameter("FechaVencimiento", "")) + + ' If Imagen.Exists Then + ' params.Add(New ReportParameter("LogoPath", logouri)) + ' Else + ' params.Add(New ReportParameter("LogoPath", "")) + ' End If + ' ImprimirPDF("Empresas/Grales/Formatos/Contrato.rdlc", dt, params, $"Contrato-{Titulo}", Formato:="PDF") + + 'End Sub + #End Region #Region "I M P R E S I O N D E G A S T O S" - Protected Sub ImgImprimirGastos_Click(sender As Object, e As EventArgs) Handles LBImprimirGastos.Click - GenerarPDFGastos() - End Sub + 'Protected Sub ImgImprimirGastos_Click(sender As Object, e As EventArgs) Handles LBImprimirGastos.Click + ' GenerarPDFGastos() + 'End Sub Private Sub GenerarPDFGastos(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) @@ -3819,22 +3858,22 @@ Partial Class Contratos_ContratoObra End If Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text) ImprimirPDF("Empresas/Grales/Formatos/RepContratoGastos.rdlc", dt, params, $"{Nombre}-Gastos", Formato:=Formato) - End Sub - - Private Sub LBAgregarGasto_Click(sender As Object, e As EventArgs) Handles LBAgregarGasto.Click - TxtDescripcion.Text = "" - TxtImporteC.Text = "" - TxtFecha.Text = "" - UpAgregarGastos.Update() - RegistraScript("$('#ModalAgregarGastos').modal();") End Sub + 'Private Sub LBAgregarGasto_Click(sender As Object, e As EventArgs) Handles LBAgregarGasto.Click + ' TxtDescripcion.Text = "" + ' TxtImporteC.Text = "" + ' TxtFecha.Text = "" + ' UpAgregarGastos.Update() + ' RegistraScript("$('#ModalAgregarGastos').modal();") + 'End Sub + #End Region #Region "I M P R E S I O N D E S U M I N I S T R O S" - Protected Sub ImgImprimirSuministros_Click(sender As Object, e As EventArgs) Handles LbImprimirSuministros.Click - GenerarPDFSuministros() - End Sub + 'Protected Sub ImgImprimirSuministros_Click(sender As Object, e As EventArgs) Handles LbImprimirSuministros.Click + ' GenerarPDFSuministros() + 'End Sub Private Sub GenerarPDFSuministros(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) @@ -3863,9 +3902,9 @@ Partial Class Contratos_ContratoObra #End Region #Region "I M P R E S I O N D E A V A N C E " - Private Sub lbImprimirAvance_Click(sender As Object, e As EventArgs) Handles lbImprimirAvance.Click - GenerarPDFAvance() - End Sub + 'Private Sub lbImprimirAvance_Click(sender As Object, e As EventArgs) Handles lbImprimirAvance.Click + ' GenerarPDFAvance() + 'End Sub Private Sub GenerarPDFAvance(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) @@ -3895,9 +3934,9 @@ Partial Class Contratos_ContratoObra #End Region #Region "I M P R E S I O N D E P R E S U P U E S T O " - Private Sub lLbImprimirPresupuesto_Click(sender As Object, e As EventArgs) Handles LbImprimirPresupuesto.Click - GenerarPDFPPresupuesto() - End Sub + 'Private Sub lLbImprimirPresupuesto_Click(sender As Object, e As EventArgs) Handles LbImprimirPresupuesto.Click + ' GenerarPDFPPresupuesto() + 'End Sub Private Sub GenerarPDFPPresupuesto(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) @@ -3927,12 +3966,12 @@ Partial Class Contratos_ContratoObra #End Region #Region "I M P R E S I O N D E A C T I V O S F I J O S " - Private Sub LbImprmirAF_Click(sender As Object, e As EventArgs) Handles LbImprmirAF.Click - GenerarPDFActivosFijos() - End Sub - Private Sub LbImprmirAFExcel_Click(sender As Object, e As EventArgs) Handles LbImprmirAFExcel.Click - GenerarPDFActivosFijos("Excel") - End Sub + 'Private Sub LbImprmirAF_Click(sender As Object, e As EventArgs) Handles LbImprmirAF.Click + ' GenerarPDFActivosFijos() + 'End Sub + 'Private Sub LbImprmirAFExcel_Click(sender As Object, e As EventArgs) Handles LbImprmirAFExcel.Click + ' GenerarPDFActivosFijos("Excel") + 'End Sub Private Sub GenerarPDFActivosFijos(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) @@ -4053,13 +4092,13 @@ Partial Class Contratos_ContratoObra ObjGral.Dispose() 'DdlPlantillaContrato.DataSource = DtPlantillasContratos 'DdlPlantillaContrato.DataBind() - End Sub - - Protected Sub BtnImprimirC_Click(sender As Object, e As EventArgs) Handles liImprimir.Click - ' Dim docx As String = DtPlantillasContratos.FiltroPrimeroValor("URL", $"CveContratoPlantilla = {DdlPlantillaContrato.SelectedValue}") - ' DescarFormato(docx) End Sub + 'Protected Sub BtnImprimirC_Click(sender As Object, e As EventArgs) Handles liImprimir.Click + ' ' Dim docx As String = DtPlantillasContratos.FiltroPrimeroValor("URL", $"CveContratoPlantilla = {DdlPlantillaContrato.SelectedValue}") + ' ' DescarFormato(docx) + 'End Sub + #End Region diff --git a/Contratos/RepContratosObraAvances.aspx b/Contratos/RepContratosObraAvances.aspx index 5587ae0af..7f31c16ea 100644 --- a/Contratos/RepContratosObraAvances.aspx +++ b/Contratos/RepContratosObraAvances.aspx @@ -28,7 +28,7 @@
-
+ <%--
Fecha Inicio:
@@ -46,9 +46,9 @@ -
- +
--%> +<%--
Fecha Fin:
@@ -65,7 +65,7 @@ -
+
--%>
Cliente: @@ -92,6 +92,151 @@ + + + + +
+ +
+
+ +
+ +
+ Contratos +

+ + +

+ +
+ +
+ Total +

+ $ +

+
+ +
+ +
+ +
+ +
+ +
+ + +
+
+
+ +
+ + + + +
+ Avance +

+ + + + +

+ +
+ Porcentaje +

+ + + + +

+ +
+ +
+ +
+ +
+
+
+ +
+ + <%--76% Avance--%> + +
+ +
+
Avance
+
+
+ +
+
+
+ +
+
+
+ +
+ + + + +
+ Faltante +

+ + + + +

+ +
+ Porcentaje +

+ + + + +

+ +
+ + +
+ +
+ +
+
+
+
+ + <%--76% Avance--%> + +
+
+
Faltante
+
+
+
+
+
+ +
+ +
+
+ @@ -116,45 +261,91 @@ DataKeyNames="CveContrato,NumeroContrato" ShowHeader="True" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"> - - - - - - - - - - - - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + - + + + +
diff --git a/Contratos/RepContratosObraAvances.aspx.vb b/Contratos/RepContratosObraAvances.aspx.vb index 6215f5a5a..066bab9dc 100644 --- a/Contratos/RepContratosObraAvances.aspx.vb +++ b/Contratos/RepContratosObraAvances.aspx.vb @@ -11,7 +11,7 @@ Partial Class RepContratosObraAvances CargaClientes() CargaContratos() - 'CargaDatos() + CargaDatos() End If End Sub @@ -20,9 +20,11 @@ Partial Class RepContratosObraAvances Private Sub CargaDatos() Dim Con As New ClsContratos + Dim DTDatos As New DataTable - If Con.GetContratosObraRepAvances(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlCliente.SelectedValue.ToEntero, DdlContrato.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + If Con.GetContratosObraRepAvances(MinFecha, MaxFecha, DdlCliente.SelectedValue.ToEntero, DdlContrato.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then GVDatos.DataSource = Con.DtResultados + DTDatos = Con.DtResultados Else GVDatos.DataSource = Nothing End If @@ -30,8 +32,47 @@ Partial Class RepContratosObraAvances Con.Dispose() GVDatos.DataBind() - UpDatos.Update() - + UpDatos.Update() + + + If DTDatos.Rows.Count > 0 Then + Indicadores(DTDatos) + End If + + End Sub + + + + Private Sub Indicadores(DTDatos As DataTable) + + Dim NumeroContratos As Integer = DTDatos.Rows.Count + + Dim TotalContratos As Decimal = DTDatos.SUM("Importe") + Dim TotalAvance As Decimal = DTDatos.SUM("AvanceImporte") + Dim TotalFaltante As Decimal = TotalContratos - TotalAvance + + + Dim TotalAvancePorcentaje As Decimal = (TotalAvance * 100) / TotalContratos + Dim TotalFaltantePorcentaje As Decimal = 100 - TotalAvancePorcentaje + + + LtlGrafNumeroContratos.Text = NumeroContratos.ToString + LtlGrafTotal.Text = TotalContratos.ToString("###,###,###.00") + + + LtlAvanceImporte.Text = $"$ {TotalAvance.ToString("###,###,###.00")}" + LtlAvanceImporteProcentaje1.Text = $"{TotalAvancePorcentaje.ToString("###.00")} %" + LtlAvanceImporteProcentaje2.Text = $"{TotalAvancePorcentaje.ToString("###.00")}%" + SPAvance1.Attributes.Add("style", $"width:{TotalAvancePorcentaje.ToString.ToEntero}%") + + + LtlFaltanteImporte.Text = $"$ {TotalFaltante.ToString("###,###,###.00")}" + LtlFaltanteImportePorcentaje1.Text = $"{TotalFaltantePorcentaje.ToString("###.00")} %" + LtlFaltanteImportePorcentaje2.Text = $"{TotalFaltantePorcentaje.ToString("###.00")}%" + SPFaltante.Attributes.Add("style", $"width:{TotalFaltantePorcentaje.ToString.ToEntero}%") + + UpGrafica.Update() + End Sub #Region "C O M B O S" diff --git a/Contratos/RepContratosObraAvancesDetalle.aspx b/Contratos/RepContratosObraAvancesDetalle.aspx index 9a193cfdc..1cee61c45 100644 --- a/Contratos/RepContratosObraAvancesDetalle.aspx +++ b/Contratos/RepContratosObraAvancesDetalle.aspx @@ -8,89 +8,159 @@ - Reporte Contratos Avance Detalle + -<%-- + + + - -
-
+
-
- -
- -
-
- -
- Fecha Inicio: -
-
-
- - - - -
- - - - - - +
+
+
-
+
+ Numero Estimaciones +

+ + +

+ +
+ +
+ Numero Estimaciones +

+ +

+
+ +
+ +
+ +
+ +
+ +
-
- Fecha Fin: -
-
-
- - - +
+
+
+ +
+ + + + +
+ Avance +

+ + - - - - - - - - + +

+ +
+ Porcentaje +

+ + + + +

+ +
-
- Cliente: -
-
- -
+
+ +
+ +
+
+
+ +
+ + <%--76% Avance--%> + +
+ +
+
Avance
+
+
-
- Contrato: -
-
- -
- - -
-
-
- + +
+
+
+ +
+ + + + +
+ Fecha Fin +

+ + + + +

+ +
+ Dias Restantes +

+ + + + +

+ +
+ + +
+ +
+ +
+
+ + <%--
+
+ + 76% Avance + +
+
+
Días
+
+
+
--%> + +
+
+ +
+ - --%> + @@ -99,11 +169,11 @@
-
- +
+
-
+
" style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4;" /> " class="btn btn-circle btn-sm label-info"> @@ -115,10 +185,10 @@
-
+
@@ -162,6 +232,14 @@ + + + + + + + +
diff --git a/Contratos/RepContratosObraAvancesDetalle.aspx.vb b/Contratos/RepContratosObraAvancesDetalle.aspx.vb index d17028e61..33736e982 100644 --- a/Contratos/RepContratosObraAvancesDetalle.aspx.vb +++ b/Contratos/RepContratosObraAvancesDetalle.aspx.vb @@ -1,12 +1,13 @@ Imports Extensiones Imports System.Data - +Imports System.IO +Imports ClosedXML.Excel + Partial Class RepContratosObraAvancesDetalle Inherits ClsPaginas Property CveContrato As Integer - Get If ViewState("CveContrato") Is Nothing Then Return -1 @@ -16,17 +17,30 @@ Partial Class RepContratosObraAvancesDetalle End Get Set(value As Integer) ViewState("CveContrato") = value - End Set - - - End Property - + End Set + End Property + + Property NumeroContrato As String + Get + If ViewState("NumeroContrato") Is Nothing Then + Return "" + Else + Return ViewState("NumeroContrato").ToString + End If + End Get + Set(value As String) + ViewState("NumeroContrato") = value + End Set + End Property + + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then CveContrato = If(Request("CveContrato") IsNot Nothing AndAlso Request("CveContrato").ToString.ToEntero > 0, Request("CveContrato").ToString.ToEntero, -1) - LblNumeroContrato.Text = If(Request("NumeroContrato") IsNot Nothing AndAlso Request("NumeroContrato").ToString.Length > 0, $"Numero Contrato: {Request("NumeroContrato").ToString}", "") + NumeroContrato = If(Request("NumeroContrato") IsNot Nothing AndAlso Request("NumeroContrato").ToString.Length > 0, $"{Request("NumeroContrato").ToString}", "") + LblNumeroContrato.Text = If(Request("NumeroContrato") IsNot Nothing AndAlso Request("NumeroContrato").ToString.Length > 0, $"Estimaciones del Contrato: {Request("NumeroContrato").ToString}", "") If CveContrato > 0 Then CargaDatos() @@ -38,63 +52,385 @@ Partial Class RepContratosObraAvancesDetalle Private Sub CargaDatos() Dim Con As New ClsContratos - + Dim DTDatos As DataTable = New DataTable + Dim DTContrato As DataTable = New DataTable + If Con.GetContratosObraRepAvancesDetalle(CveContrato, UsuarioActual.CveEmpresa) Then GVDatos.DataSource = Con.DtResultados - + DTDatos = Con.DtResultados If Con.DtResultados.Rows.Count = 0 Then Alert("No se encontraron estimaciones.", TipoMensaje.MsgAdvertencia) End If Else GVDatos.DataSource = Nothing + End If + If Con.GetContratosObraRepAvances(MinFecha, MaxFecha, -1, CveContrato, UsuarioActual.CveEmpresa) Then + DTContrato = Con.DtResultados + If DTContrato.Rows.Count > 0 Then + Indicadores(DTContrato, DTDatos.Rows.Count) + End If End If + + Con.Dispose() GVDatos.DataBind() - UpDatos.Update() - + UpDatos.Update() + End Sub - '#Region "C O M B O S" + Private Sub Indicadores(DTDatos As DataTable, NumeroEstimaciones As Integer) + + LtlGrafNumeroEstimaciones.Text = NumeroEstimaciones - ' Private Sub CargaContratos() - ' DdlContrato.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo IN(30,31) ") - ' DdlContrato.DataBind() - ' DdlContrato.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todos", "-1")) - ' End Sub + Dim AvanceImporte As Decimal = DTDatos(0)("AvanceImporte").ToString.ToDecimal + Dim TotalContratos As Decimal = DTDatos(0)("Importe").ToString.ToDecimal + Dim TotalAvancePorcentaje As Decimal = (AvanceImporte * 100) / TotalContratos + Dim TotalFaltantePorcentaje As Decimal = 100 - TotalAvancePorcentaje + + Dim FechaFinal As Date = DTDatos(0)("FechaFinal").ToString.ToDate + Dim Dias As Integer = (FechaFinal - Now).Days + + Dias = If(Dias < 0, 0, Dias) + + LtlAvanceImporte.Text = $"$ {AvanceImporte.ToString("###,###,###.00")}" + + LtlAvanceImporteProcentaje1.Text = $"{TotalAvancePorcentaje.ToString("###.00")} %" + LtlAvanceImporteProcentaje2.Text = $"{TotalAvancePorcentaje.ToString("###.00")}%" + SPAvance1.Attributes.Add("style", $"width:{TotalAvancePorcentaje.ToString.ToEntero}%") + + LtlFechaFin.Text = FechaFinal.ToString("dd/MM/yyyy") + LtlDiasRestantes.Text = Dias.ToString("###,###") + + UpGrafica.Update() + + End Sub + - ' Private Sub CargaClientes() - ' Dim dt As DataTable = Nothing - ' Dim Cli As New ClsClientes - ' If Cli.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then - ' dt = Cli.DtResultados - ' End If - ' Cli.Dispose() - ' DdlCliente.DataSource = dt - ' DdlCliente.DataBind() - ' DdlCliente.Items.Insert(0, New ListItem("Todos", "-1")) - ' End Sub - '#End Region Protected Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim HplNumeroEstimacion As HyperLink = e.Row.FCHyperLink("HplNumeroEstimacion") - HplNumeroEstimacion.NavigateUrl = $"./RepContratosObraAvancesPartida.aspx?CveEstimacion={e.Row.DataKey("CveEstimacion")}&NumeroEstimacion={ e.Row.DataKey("NumeroEstimacion")}&CveContrato={ CveContrato }" + HplNumeroEstimacion.NavigateUrl = $"./RepContratosObraAvancesPartida.aspx?CveEstimacion={e.Row.DataKey("CveEstimacion")}&NumeroEstimacion={ e.Row.DataKey("NumeroEstimacion")}&CveContrato={ CveContrato }&NumeroContrato={NumeroContrato}" + Dim LnkAnexo As LinkButton = e.Row.FCLinkButton("LnkAnexo") + + ScriptManager.GetCurrent(Me).RegisterPostBackControl(LnkAnexo) ' NavigateUrl='<%# Eval("CveEstimacion", "RepContratosObraAvancesPartida.aspx?CveEstimacion={0}")%>' End If - End Sub - - 'Protected Sub CmdConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click - ' CargaDatos() - 'End Sub + End Sub + + + + Protected Sub LnkAnexo_Click(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) + + Dim CveEstimacion As Integer = GvRow.DataKey("CveEstimacion").ToEntero + Dim NumeroEstimacion As Integer = GvRow.DataKey("NumeroEstimacion").ToEntero + Dim FechaEstimacion As Date = GvRow.DataKey("FechaEstimacion").ToDate + Dim NumeroContrato As String = GvRow.DataKey("NumeroContrato") + + If CveEstimacion > 0 Then + GeneraAnexo(CveEstimacion, NumeroEstimacion, FechaEstimacion, NumeroContrato) + End If + + + End Sub + + + Private Sub GeneraAnexo(CveEstimacion As Integer, NumeroEstimacion As Integer, FechaEstimacion As Date, NumeroContrato As String) + + Dim PlantillaAnexo As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Anexo.xlsx" + + If Not System.IO.File.Exists(PlantillaAnexo) Then + Alert("No se encuentra la platilla de anexos.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim DtControl As New DataTable + Dim ObjContratos As New ClsContratos + Dim Lugar As String = "" + Dim DescripcionContrato As String = "" + + + If ObjContratos.GetContratosObraAvancesControlAcumulativo(CveContrato, CveEstimacion, UsuarioActual.CveEmpresa) Then + DtControl = ObjContratos.DtResultados + + + If DtControl.Rows.Count > 0 Then + Lugar = DtControl(0)("Lugar").ToString + DescripcionContrato = DtControl(0)("DescripcionContrato").ToString + End If + End If + ObjContratos.Dispose() + + If DtControl.Rows.Count > 0 Then + + Dim WBAnexo = New ClosedXML.Excel.XLWorkbook(PlantillaAnexo) + + Dim WBAnexoSalvar = New ClosedXML.Excel.XLWorkbook + + Dim WSControl = WBAnexo.Worksheet(1) + Dim WSDetalle = WBAnexo.Worksheet(2) + + Dim CuerrentRow As Integer = 28 + + WSControl.Cell(17, 2).Value = NumeroEstimacion 'Estimacion + WSControl.Cell(20, 9).Value = FechaEstimacion.ToString("dd/MM/yyyy") 'Fecha estimacion + WSControl.Cell(19, 8).Value = "$ " & DtControl.SUM("Importe").ToString("###,###,###.00") 'Total + WSControl.Cell(19, 8).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right) + + WSControl.Cell(20, 6).Value = NumeroContrato + + WSControl.Cell(18, 2).Value = Lugar + WSControl.Cell(18, 2).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left) + WSControl.Cell(18, 2).Style.Alignment.SetVertical(XLAlignmentVerticalValues.Top) + + WSControl.Cell(17, 6).Value = "" 'Periodo Fecha Inicial + WSControl.Cell(17, 7).Value = "" 'Periuodo Fecha Final + WSControl.Cell(20, 2).Value = DescripcionContrato + WSControl.Cell(20, 2).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left) + WSControl.Cell(20, 2).Style.Alignment.SetVertical(XLAlignmentVerticalValues.Top) + + WSControl.Cell(22, 7).Value = "" 'Presupuesto segun contrato + WSControl.Cell(19, 5).Value = "" 'Contrtatista + + Dim RowCountControl As Integer = 1 + + For Each Drow As DataRow In DtControl.Rows + + WSControl.Cell(CuerrentRow, 1).Value = Drow("Codigo").ToString + WSControl.Cell(CuerrentRow, 2).Value = Drow("PS").ToString + WSControl.Cell(CuerrentRow, 3).Value = Drow("Abreviatura").ToString + WSControl.Cell(CuerrentRow, 4).Value = Drow("Cantidad").ToString.ToDecimal + WSControl.Cell(CuerrentRow, 5).Value = Drow("AcumuladoTotal").ToString.ToDecimal + WSControl.Cell(CuerrentRow, 6).Value = Drow("AcumuladoAnterior").ToString.ToDecimal + WSControl.Cell(CuerrentRow, 7).Value = Drow("CantidadActual").ToString.ToDecimal + WSControl.Cell(CuerrentRow, 8).Value = Drow("PU").ToString.ToDecimal + WSControl.Cell(CuerrentRow, 9).Value = Drow("Total").ToString.ToDecimal + + WSControl.Cell(CuerrentRow, 9).Style.NumberFormat.Format = "$ ###,###,###.00" + + + WSControl.Cell(CuerrentRow, 1).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 2).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 3).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 4).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 5).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 6).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 7).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 8).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 9).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + + + WSControl.Cell(CuerrentRow, 1).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 2).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 3).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 4).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 5).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 6).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 7).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 8).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow, 9).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium + + 'ultimo Row + If DtControl.Rows.Count = RowCountControl Then + + + WSControl.Cell(CuerrentRow + 1, 1).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 2).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 3).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 4).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 5).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 6).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 7).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 8).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 9).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + + + WSControl.Cell(CuerrentRow + 1, 1).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 2).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 3).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 4).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 5).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 6).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 7).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 8).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + WSControl.Cell(CuerrentRow + 1, 9).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium + + WSControl.Cell(CuerrentRow + 1, 8).Value = "Total:" + WSControl.Cell(CuerrentRow + 1, 8).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right) + WSControl.Cell(CuerrentRow + 1, 8).Style.Font.Bold = True + WSControl.Cell(CuerrentRow + 1, 9).Value = DtControl.SUM("Total") + WSControl.Cell(CuerrentRow + 1, 9).Style.Font.Bold = True + + WSControl.Cell(CuerrentRow + 1, 9).Style.NumberFormat.Format = "$ ###,###,###.00" + + + Dim range = WSControl.Range($"A{CuerrentRow + 3}:D{CuerrentRow + 3}") + range.Merge() + range.Style.Border.TopBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center) + + range = WSControl.Range($"E{CuerrentRow + 3}:I{CuerrentRow + 3}") + range.Merge() + range.Style.Border.TopBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium + range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center) + + + + + range = WSControl.Range($"A{CuerrentRow + 4}:D{CuerrentRow + 4}") + range.Merge() + range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center) + range.Value = "ING. WALTER ROBERTO VILLEGAS LARES" + + range = WSControl.Range($"E{CuerrentRow + 4}:I{CuerrentRow + 4}") + range.Merge() + range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium + range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center) + range.Value = "C. SALVADOR SUAREZ" + + + + + range = WSControl.Range($"A{CuerrentRow + 5}:D{CuerrentRow + 5}") + range.Merge() + range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center) + range.Value = "SERVICIOS ELECTRICOS Y CONTROL DE HERMOSILLO S.A. DE C.V." + range.Style.Font.Bold = True + + range = WSControl.Range($"E{CuerrentRow + 5}:I{CuerrentRow + 5}") + range.Merge() + range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin + range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium + range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center) + range.Value = "GASERVICIO MATAMOROS SA DE CV" + range.Style.Font.Bold = True + + + + + End If + + CuerrentRow = CuerrentRow + 1 + RowCountControl = RowCountControl + 1 + Next + + WBAnexo.Worksheet(1).CopyTo(WBAnexoSalvar, "CONTROL") + + + For Each Drow As DataRow In DtControl.Rows + + + If Drow("CantidadActual").ToString.ToDecimal > 0 Then + + WSDetalle.Cell(3, 6).Value = NumeroContrato + + WSDetalle.Cell(4, 9).Value = "" 'Fecha de + WSDetalle.Cell(4, 10).Value = "" 'Fecha a + WSDetalle.Cell(4, 11).Value = NumeroEstimacion + + WSDetalle.Cell(6, 6).Value = DescripcionContrato + + WSDetalle.Cell(14, 2).Value = Drow("Codigo").ToString + WSDetalle.Cell(14, 3).Value = Drow("PS").ToString + WSDetalle.Cell(14, 4).Value = Drow("Abreviatura").ToString + + + WSDetalle.Cell(12, 3).Value = "" 'Concepto + + WSDetalle.Cell(14, 10).Value = Drow("CantidadActual").ToString.ToDecimal + WSDetalle.Cell(14, 11).Value = Drow("CantidadActual").ToString.ToDecimal + 'WSDetalle.Cell(61, 6).Value = "" 'Empresario + WSDetalle.Cell(61, 9).Value = Drow("Nombre").ToString 'Cliente + + + + Dim objContrato As New ClsContratos + Dim DTArchivos As New DataTable + + If objContrato.GetContratosAvanceAnexos(Drow("CveContratoDetalle").ToString.ToEntero, Drow("Fecha").ToString, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then + DTArchivos = objContrato.DtResultados + End If + objContrato.Dispose() + + Dim Imagenes As New List(Of ClosedXML.Excel.Drawings.IXLPicture) + + Dim CurrectRowImg As Integer = 19 'Row 19 primera imggen + Dim RowH As Double = WSDetalle.Row(19).Height + + For Each drowArchivos In DTArchivos.Rows + + Dim Archivo As String = drowArchivos("Archivo").ToString + Dim RutaArchivo As String = $"{UsuarioActual.Empresa.Ruta}\Contrato\{CveContrato}\Anexos\{Archivo}" + + If File.Exists(RutaArchivo) Then + + Dim Imagen = WSDetalle.AddPicture(RutaArchivo).MoveTo(WSDetalle.Cell(CurrectRowImg, 3)) + Imagen.Scale(WSDetalle.Column(3).Width / (Imagen.OriginalWidth * 0.145D)) + + Dim ImgWidth As Double = Imagen.Height + + Dim nRowmas As Integer = (ImgWidth / RowH).ToEntero + + CurrectRowImg = CurrectRowImg + nRowmas + + Imagenes.Add(Imagen) + End If + + Next + WBAnexo.Worksheet(2).CopyTo(WBAnexoSalvar, If(Drow("Codigo").ToString.Trim.Length > 0, Drow("Codigo").ToString, Drow("CvePS").ToString)) + + For Each img As ClosedXML.Excel.Drawings.IXLPicture In Imagenes + img.Delete() + Next + + + End If + + + Next + + + + + Dim msB = New MemoryStream() + WBAnexoSalvar.SaveAs(msB) + + Dim BB As Byte() = msB.ToArray + msB.Dispose() + + Response.Clear() + Response.Buffer = True + Response.AddHeader("content-disposition", "attachment; filename=Anexo_Estimacion" & NumeroEstimacion & ".xlsx") + Response.ContentType = "application/vnd.ms-excel" + Response.BinaryWrite(BB) + Response.End() + + + Else + Alert("No se encontraron datos des control", TipoMensaje.MsgAdvertencia) + End If + + End Sub End Class \ No newline at end of file diff --git a/Contratos/RepContratosObraAvancesPartida.aspx b/Contratos/RepContratosObraAvancesPartida.aspx index 31ffcfad3..ec7f8299d 100644 --- a/Contratos/RepContratosObraAvancesPartida.aspx +++ b/Contratos/RepContratosObraAvancesPartida.aspx @@ -8,45 +8,14 @@ - Reporte Contratos Avance por partida + -<%-- - - -
-
-
-
    -
  • Cliente: - -
  • -
  • Contratos: - -
  • -
  • Sección: - -
  • -
  • Partida: - -
  • -
  • Productos y Servicios: - -
  • -
-
-
- -
-
-
-
-
-
--%> + @@ -56,7 +25,7 @@
- +
diff --git a/Contratos/RepContratosObraAvancesPartida.aspx.vb b/Contratos/RepContratosObraAvancesPartida.aspx.vb index 07287f5ab..2abb6424b 100644 --- a/Contratos/RepContratosObraAvancesPartida.aspx.vb +++ b/Contratos/RepContratosObraAvancesPartida.aspx.vb @@ -25,7 +25,6 @@ Partial Class RepContratosObraAvancesPartida Property CveContrato As Integer - Get If ViewState("CveContrato") Is Nothing Then Return -1 @@ -36,8 +35,20 @@ Partial Class RepContratosObraAvancesPartida Set(value As Integer) ViewState("CveContrato") = value End Set - - + End Property + + + Property NumeroContrato As String + Get + If ViewState("NumeroContrato") Is Nothing Then + Return "" + Else + Return ViewState("NumeroContrato").ToString + End If + End Get + Set(value As String) + ViewState("NumeroContrato") = value + End Set End Property Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load @@ -46,8 +57,9 @@ Partial Class RepContratosObraAvancesPartida CveEstimacion = If(Request("CveEstimacion") IsNot Nothing AndAlso Request("CveEstimacion").ToString.ToEntero > 0, Request("CveEstimacion").ToString.ToEntero, -1) CveContrato = If(Request("CveContrato") IsNot Nothing AndAlso Request("CveContrato").ToString.ToEntero > 0, Request("CveContrato").ToString.ToEntero, -1) + NumeroContrato = If(Request("NumeroContrato") IsNot Nothing AndAlso Request("NumeroContrato").ToString.Length > 0, $"{Request("NumeroContrato").ToString}", "") - LblEstimacion.Text = If(Request("NumeroEstimacion") IsNot Nothing AndAlso Request("NumeroEstimacion").ToString.Length > 0, $"Numero Estimacion: {Request("NumeroEstimacion").ToString}", "") + LblEstimacion.Text = If(Request("NumeroEstimacion") IsNot Nothing AndAlso Request("NumeroEstimacion").ToString.Length > 0, $"Contgrato { NumeroContrato } Estimacion {Request("NumeroEstimacion").ToString}", "") If CveEstimacion > 0 Then diff --git a/Empresas/119/Formatos/OC.rdlc b/Empresas/119/Formatos/OC.rdlc index 972fe2b26..1d461c99b 100644 --- a/Empresas/119/Formatos/OC.rdlc +++ b/Empresas/119/Formatos/OC.rdlc @@ -12,10 +12,16 @@ 1.5586cm - 11.45281cm + 9.58751cm - 5.42617cm + 3.627cm + + + 1.8653cm + + + 1.79919cm @@ -254,6 +260,122 @@ + + + + true + true + + + + + P. U. + + + + + + + Textbox2 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #008204 + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Total + + + + + + + Textbox1 + + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + + LightGrey + + 1pt + + #008204 + 2pt + 2pt + 2pt + 2pt + + + + @@ -477,6 +599,75 @@ + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe + + + 2pt + 2pt + 1pt + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + + Total + + + 2pt + 2pt + 1pt + + + + @@ -487,6 +678,16 @@ + + + =IIF(Parameters!TipoProveedor.Value = "1",true,false) + + + + + =IIF(Parameters!TipoProveedor.Value = "1",true,false) + + @@ -503,7 +704,7 @@ 4.58198cm 0.20457cm 0.96717cm - 20.2584cm + 20.25842cm =Today @@ -2276,6 +2480,12 @@ true ReportParameter1 + + String + true + true + ReportParameter1 + diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 245310417..8e68f2b23 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1237,14 +1237,15 @@ Partial Class General_SaldosIniciales Dim TipoDocto As String = Row("Tipo Documento").ToString Dim CveProveedor As Integer = DtProveedores.FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero GuardaLog(Sucursal + " - " + Row("Sucursal").ToString) - Dim RetIVA As Double = Row("Ret IVA").ToString.ToDouble - Dim RetISR As Double = Row("Ret ISR").ToString.ToDouble + Dim RetIVA As Decimal = Row("Ret IVA").ToString.ToDecimal + Dim RetISR As Decimal = Row("Ret ISR").ToString.ToDecimal Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal Dim Moneda As String = Row("Moneda").ToString Dim TipoCambio As String = Row("Tipo Cambio").ToString Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString.ToDate Dim CveMoneda As Integer = 1 Dim CveProveedorSucursal As Integer = Row("CveProveedorSucursal").ToString.ToEntero + Dim PorcentajeIVA As String = Row("PorcentajeIVA").ToString If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorCompras = True @@ -1252,7 +1253,7 @@ Partial Class General_SaldosIniciales If Not CveProveedor > 0 Then Alert(String.Format("No se encontró el Proveedor con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorCompras = True : Exit For If Not CveProveedorSucursal > 0 Then CveProveedorSucursal = -1 - TipoDocto = IIf(TipoDocto.ToUpper = "INGRESOS", "Fac", "NC").ToString + TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESOS", "INGRESO", "ING"), "Fac", "NC").ToString 'Temporalmente SE BORRARA @@ -1261,9 +1262,9 @@ Partial Class General_SaldosIniciales Dim CodProvee As String = "" 'Row("CodProvee2").ToString 'Moneda - If Moneda = "Pesos" Then + If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then CveMoneda = 1 - ElseIf Moneda = "Dólares" Then + ElseIf Moneda.ToUpper.Contiene("DOLARES", "DOLAR", "USD", "DÓLARES") Then CveMoneda = 2 End If @@ -1287,7 +1288,7 @@ Partial Class General_SaldosIniciales 'Compra If Not ObjCompras.AddCompra(TipoDocto, "", Serie, Folio, Folio2, CveProveedor.ToEntero, SubTotal, 0, 0, IVA, RetIVA, RetISR, IEPS, 0, 0, Total, Fecha, CveMoneda, TipoCambio.ToDouble, FechaVencimiento, False, CodProvee, 1, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorSucursal:=CveProveedorSucursal, - NumeroReembolso:=Transaccion, PorcentajeIVA:=0.16) Then + NumeroReembolso:=Transaccion, PorcentajeIVA:=PorcentajeIVA.ToDecimal) Then ErrorCompras = True Exit For End If @@ -1308,6 +1309,10 @@ Partial Class General_SaldosIniciales If IEPS > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IEPS, Folio, 25, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=IEPS, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + If RetIVA > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetIVA, Folio, 15, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=RetIVA, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + If RetISR > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, Folio, 16, String.Format("{0}-{1}", Serie, Folio), Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=RetISR, CveSubProyecto:=Sucursal.ToEntero) Then ErrorCompras = True : Exit For + + 'Saldo If Saldo < Total Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Folio, 17, Folio, Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Total - Saldo) Then ErrorCompras = True : Exit For diff --git a/Inventarios/AjustesSeccionAlmacen.aspx b/Inventarios/AjustesSeccionAlmacen.aspx index ea8e354af..3e8855dea 100644 --- a/Inventarios/AjustesSeccionAlmacen.aspx +++ b/Inventarios/AjustesSeccionAlmacen.aspx @@ -73,7 +73,7 @@ - + <%----%> @@ -91,7 +91,7 @@ - + @@ -102,8 +102,8 @@ -
- +
+ diff --git a/Inventarios/Consignaciones.aspx.vb b/Inventarios/Consignaciones.aspx.vb index e6886a8f2..8da1e3b5e 100644 --- a/Inventarios/Consignaciones.aspx.vb +++ b/Inventarios/Consignaciones.aspx.vb @@ -595,9 +595,9 @@ Partial Class Inventarios_Consignaciones Dim CveSeccionAlmacen As Integer = DdlSeccionAlmacen.SelectedValue.ToEntero Dim SeccionAlmacen As String = DdlSeccionAlmacen.SelectedItem.Text - Dim Serie As String = If(TxtSerie.Text = "", "-1", TxtSerie.Text) - Dim Lote As String = If(TxtLote.Text = "", "-1", TxtLote.Text) - Dim Caducidad As String = If(TxtCaducidad.Text = "", "-1", TxtCaducidad.Text) + Dim Serie As String = If(TxtSerie.Text = "", "", TxtSerie.Text) + Dim Lote As String = If(TxtLote.Text = "", "", TxtLote.Text) + Dim Caducidad As String = If(TxtCaducidad.Text = "", MinFecha.ToShortDateString, TxtCaducidad.Text) Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=PSSelected).FiltroPrimero("") @@ -634,6 +634,15 @@ Partial Class Inventarios_Consignaciones GvDatos.DataSource = DtMovimientos GvDatos.DataBind() + + If DtMovimientos IsNot Nothing AndAlso DtMovimientos.Rows.Count > 0 Then + GvDatos.Columns(7).Visible = DtMovimientos.MAX("CveSeccionAlmacen").ToEntero > 0 + GvDatos.Columns(8).Visible = DtMovimientos.MAX("Serie") <> "" + GvDatos.Columns(9).Visible = DtMovimientos.MAX("Lote") <> "" + GvDatos.Columns(10).Visible = DtMovimientos.MAX("FechaCaducidad").ToDate > MinFecha + + End If + TxtCantidad.Text = "" TxtPU.Text = "" LbTotal.Text = "" @@ -849,7 +858,7 @@ Partial Class Inventarios_Consignaciones 'AGREGAMOS MOVIMIENTO If MovtoNew Then Folio = ObjInventario.GetFolioSiguiente(ConceptoDevolucion, UsuarioActual.CveEmpresa) - CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, ConceptoDevolucion, DdlMoneda.SelectedValue.ToEntero, Fecha, Folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveConsignacion:=CveConsignacion, Observaciones:=TxtObservacionesDevolucion.Text.Trim) + CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, ConceptoDevolucion, DdlMoneda.SelectedValue.ToEntero, Fecha, Folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveConsignacion:=CveConsignacion, Observaciones:=TxtObservacionesDevolucion.Text.Trim, Modulo:="Consig") End If If CveMovimiento > 0 Then diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 7dd85fdfa..20e6e8e4e 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1259,6 +1259,13 @@ Partial Class Inventarios_EntradasSalidas Alert("El producto requiere Serie", TipoMensaje.MsgAdvertencia) End If + If RowPS("VentaMinima").ToString.ToDecimal > 0 Then + If Cantidad Mod RowPS("VentaMinima").ToString().ToDecimal <> 0 Then + Alert(String.Format("El producto se vende solo en cantidades de {0}", RowPS("VentaMinima").ToString())) + Valido = False + End If + End If + 'salida If Valido AndAlso DdlConcepto.SelectedValue.Contiene({"3", "5", "7", "8", "11", "12", "13", "15", "16", "17", "20", "21", "30", "31"}) Then ' salida de almacen diff --git a/Inventarios/EntregaAlmacen.aspx b/Inventarios/EntregaAlmacen.aspx index 7b0398fbb..2bbd9cffe 100644 --- a/Inventarios/EntregaAlmacen.aspx +++ b/Inventarios/EntregaAlmacen.aspx @@ -516,7 +516,7 @@ - + diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 3856176b0..499598d68 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -851,6 +851,7 @@ Partial Class Inventarios_EntregaAlmacen If AplicaCaducidad Then GvDatos.Columns(9).Visible = True GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad") + SugerirFechaLote() End If GvDatos.DataSource = DtDatos @@ -2466,25 +2467,34 @@ Partial Class Inventarios_EntregaAlmacen CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenTraspasoDestino, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimiento, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(), Modulo:="RE/G8") FolioEntrada = ObjInventario.Folio + Dim ImporteAlmacen As Decimal = 0 If CveMovimientoEntrada <= 0 Then TextoError.AppendFormat("No se pudo generar el movimiento de entrada correctamente") ErrorMovInv = True Else - If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then + If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then + ImporteAlmacen = ObjInventario.DtResultados.SUMD("Total") + For Each Dr As DataRow In ObjInventario.DtResultados.Rows If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), CveSeccionAlmacen:=-3, Serie:=Dr("Serie").ToString(), Lote:=Dr("Lote").ToString(), FechaCaducidad:=Dr("FechaCaducidad").ToString().ToDate, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), EsInterno:=EsInterno, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero()) Then ErrorMovInv = True TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de entrada") Exit For End If - Next + Next + Else ErrorMovInv = True TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de entrada") End If End If + 'se registra + If ContabilizaMovimientoAlmacen(ObjConta, TxtFecha.Text.ToDate, HLFolio.Text, "EntregaAlmacen", CveMovimiento, CveMovimientoEntrada, ImporteAlmacen, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, True) <= 0 Then + ErrorMovInv = True + End If + Else 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN - SALIDA ALMACEN ErrorMovInv = Not GenerarPrePoliza(ObjInventario, ObjVentas, ObjConta, CveMovimiento, TextoError) End If @@ -3810,5 +3820,85 @@ Partial Class Inventarios_EntregaAlmacen End Sub #End Region +#Region "sugerir caducidad" + Private Sub SugerirFechaLote() + Dim ObjInventarios As New ClsInventarios() + Dim FechasExcluidas As New List(Of String) + FechasExcluidas.Add(MinFecha.ToDate.ToString) + Dim MaxRows As Integer = DtDatos.Rows.Count - 1 + For contador As Integer = 0 To MaxRows + Dim DtRow As DataRow = DtDatos.Rows(contador) + Dim AplicaCaducidad As Boolean = DtRow.Item("AplicaCaducidad").ToString = "True" + Dim AplicaLote As Boolean = DtRow.Item("AplicaLote").ToString = "True" + Dim Cantidad As Integer = DtRow.Item("CantidadC").ToString.ToEntero + Dim FechasExcluidasFiltro As String = String.Format("FechaCaducidad NOT IN('{0}')", String.Join("','", FechasExcluidas)) + If AplicaCaducidad Or AplicaLote Then + Dim CvePS As Integer = DtRow.Item("CvePS").ToString.ToEntero + If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjInventarios.DtResultados.Rows.Count > 0 Then + Dim MinimumRow As DataRow = ObjInventarios.DtResultados.FiltroPrimero(FechasExcluidasFiltro, "FechaCaducidad") + DtRow.Item("FechaCaducidad") = MinimumRow.Item("FechaCaducidad").ToString + DtRow.Item("Lote") = MinimumRow.Item("Lote").ToString + Dim CantidadDisponible As Integer = MinimumRow.Item("Cantidad").ToString.ToEntero + DtRow.Item("CantidadF") = CantidadDisponible + DtRow.Item("CantidadS") = CantidadDisponible + + If Cantidad > CantidadDisponible Then + Dim RowFaltante As DataRow = DtDatos.NewRow() + Dim CantidadFaltante As Integer = (Cantidad - CantidadDisponible) + RowFaltante.Item("CantidadC") = CantidadFaltante + RowFaltante.Item("CantidadF") = CantidadFaltante + RowFaltante.Item("CantidadS") = CantidadFaltante + DtRow.Item("CantidadC") = CantidadDisponible + For Each Column As DataColumn In DtDatos.Columns + If Not Column.ColumnName.Contiene("CantidadC", "CantidadF", "CantidadS") Then + RowFaltante.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) + End If + Next + FechasExcluidas.Add(MinimumRow.Item("FechaCaducidad").ToString) + DtDatos.Rows.Add(RowFaltante) + MaxRows += 1 + Else + DtRow.Item("CantidadF") = Cantidad + End If + End If + End If + End If + Next + + 'For Each DtRow As DataRow In DtDatos.Rows + ' Dim AplicaCaducidad As Boolean = DtRow.Item("AplicaCaducidad").ToString = "True" + ' Dim AplicaLote As Boolean = DtRow.Item("AplicaLote").ToString = "True" + ' Dim Cantidad As Integer = DtRow.Item("CantidadC").ToString.ToEntero + ' Dim FechasExcluidasFiltro As String = String.Format("FechaCaducidad NOT IN('{0}')", String.Join("','", FechasExcluidas)) + ' If AplicaCaducidad Or AplicaLote Then + ' Dim CvePS As Integer = DtRow.Item("CvePS").ToString.ToEntero + ' If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' Dim MinimumRow As DataRow = ObjInventarios.DtResultados.FiltroPrimero(FechasExcluidasFiltro, "FechaCaducidad") + ' DtRow.Item("FechaCaducidad") = MinimumRow.Item("FechaCaducidad").ToString + ' DtRow.Item("Lote") = MinimumRow.Item("Lote").ToString + ' Dim CantidadDisponible As Integer = MinimumRow.Item("Cantidad").ToString.ToEntero + ' DtRow.Item("CantidadF") = CantidadDisponible + + ' If Cantidad > CantidadDisponible Then + ' Dim RowFaltante As DataRow = DtDatos.NewRow() + ' RowFaltante.Item("CantidadC") = (Cantidad - CantidadDisponible) + ' RowFaltante.Item("CantidadF") = (Cantidad - CantidadDisponible) + ' RowFaltante.Item("CantidadS") = (Cantidad - CantidadDisponible) + ' For Each Column As DataColumn In DtDatos.Columns + ' If Not Column.ColumnName.Contiene("CantidadC", "CantidadF", "CantidadS") Then + ' RowFaltante.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) + ' End If + ' Next + + ' DtDatos.Rows.Add(RowFaltante) + ' End If + ' End If + ' End If + 'Next + ObjInventarios.Dispose() + End Sub + +#End Region End Class diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx index 08c2ac128..4b82deae4 100644 --- a/Inventarios/Kardex.aspx +++ b/Inventarios/Kardex.aspx @@ -4,6 +4,11 @@