diff --git a/App_Code/ClsContratos.vb b/App_Code/ClsContratos.vb index 54e7cf9ff..13064ce48 100644 --- a/App_Code/ClsContratos.vb +++ b/App_Code/ClsContratos.vb @@ -490,6 +490,30 @@ Public Class ClsContratos End Try Return Retorno + End Function + + 'Usado en conrtatos Obra + Public Function AbrirCerrarContrato(CveContrato As Integer, CveEmpresa As Integer, Cerrar As Boolean, CveUsuario As Integer) As Boolean + + Dim Retorno = False + + DataAdapter("PA_Con_ContratosObraAbrirCerrar") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Cerrar", SqlDbType.Bit).Value = Cerrar + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al abrir o cerrar el contrato.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function 'Public Function AddContratosTipo1(NumeroContrato As String, DescripcionContrato As String, CveProveedor As Integer, CveCliente As Integer, FechaInicial As DateTime, FechaFinal As DateTime, @@ -550,7 +574,8 @@ 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 = "", Optional Lugar As String = "", Optional LimiteDeGasto As Double = 0) 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 = "", Optional LimiteDeGasto As Double = 0, + Optional ImporteSubTotal As Decimal = 0) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_Con_ContratosObraAdd") @@ -603,6 +628,7 @@ Public Class ClsContratos .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev .Add("@Lugar", SqlDbType.VarChar).Value = Lugar .Add("@LimiteDeGasto", SqlDbType.Money).Value = LimiteDeGasto + .Add("@ImporteSubTotal", SqlDbType.Money).Value = ImporteSubTotal .Add("@CveContrato", SqlDbType.Int).Direction = ParameterDirection.Output @@ -629,7 +655,8 @@ 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 = "", Optional Lugar As String = "", Optional LimiteDeGasto As Double = 0) 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 = "", Optional LimiteDeGasto As Double = 0, + Optional ImporteSubTotal As Decimal = 0) As Boolean Dim Retorno = False DataAdapter("PA_Con_ContratosObraUpdate") @@ -680,7 +707,8 @@ Public Class ClsContratos .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev .Add("@Lugar", SqlDbType.VarChar).Value = Lugar - .Add("@LimiteDeGasto", SqlDbType.Money).Value = LimiteDeGasto + .Add("@LimiteDeGasto", SqlDbType.Money).Value = LimiteDeGasto + .Add("@ImporteSubTotal", SqlDbType.Money).Value = ImporteSubTotal End With @@ -1821,14 +1849,35 @@ Public Class ClsContratos End Try Return Retorno - End Function + End Function + + 'Es usando en ContratoObra para validar la actualizacion de cantidad de avance + Public Function GetContratosDetalleAvance(CveContratoDetalle As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Con_ContratosDetalleAvanceGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el avance de los detalles", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + + #End Region - + #Region "S U B - T O T A L E S" - - + + Public Function GetSubTotalesConDetalle(CveEmpresa As Integer) As Boolean Dim Retorno = False diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 03880cf97..6cfd8a54b 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -131,6 +131,8 @@ Public Class ClsInventarios Public Property ResponsableCarga As String Public Property ResponsableRecibio As String Public Property Modulo As String + Public Property ConAplicacion As Boolean + @@ -2307,6 +2309,8 @@ Public Class ClsInventarios FechaI = dr("FechaInicio").ToString FechaF = dr("FechaFin").ToString Estatus = dr("Estatus").ToString + ConAplicacion = Convert.ToBoolean(dr("ConAplicacion").ToString) + Retorno = True End If diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 7bd11e2fc..31a54c57f 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -6582,6 +6582,8 @@ Namespace Modelos Me.ClienteSucursal.Sucursal = Cliente.Sucursal Me.ClienteSucursal.ImprimeNombreSucursal = Cliente.ImprimeNombreSucursal.ToString() End If + Else + Cliente = New Modelos.ClienteModel() End If End Sub Public Sub SetMoneda() @@ -9791,6 +9793,9 @@ Namespace Modelos Inherits Modelos.EntityModel Protected Overloads Sub SetDefaultValues() CveCliente = -1 + Nombre = "" + RFC = "" + Codigo = "" EnviarFactura = "Si" Estatus = "Activo" NoExt = "" diff --git a/Bancos/RepComplementoPago.aspx b/Bancos/RepComplementoPago.aspx index 06af838af..74cdfbed1 100644 --- a/Bancos/RepComplementoPago.aspx +++ b/Bancos/RepComplementoPago.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComplementoPago.aspx.vb" Inherits="Bancos_RepComplementoPago" %> +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="true" EnableEventValidation = "false" CodeFile="RepComplementoPago.aspx.vb" Inherits="Bancos_RepComplementoPago" %> @@ -10,15 +10,19 @@ - +
  • - PDF + <%--PDF--%> +
  • + + +
    diff --git a/Bancos/RepComplementoPago.aspx.vb b/Bancos/RepComplementoPago.aspx.vb index 79693c956..2669c672c 100644 --- a/Bancos/RepComplementoPago.aspx.vb +++ b/Bancos/RepComplementoPago.aspx.vb @@ -1,8 +1,10 @@ Option Explicit On Option Strict On Imports System.Data +Imports System.IO Imports Extensiones - +Imports GemBox.Spreadsheet + Partial Class Bancos_RepComplementoPago Inherits ClsPaginas @@ -33,16 +35,26 @@ Partial Class Bancos_RepComplementoPago Private Sub CargaDatos() Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero > 0, DdlCliente.SelectedValue.ToEntero, -1) Dim Banco As New ClsBancos + LnkExcel.Visible = False If Banco.GetComplementoPagosRep(CveCliente, txtFechaI.Text.ToDateTime, txtFechaF.Text.ToDateTime, -1, -1, DdlOpcion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Estatus:=DdlEstatus.SelectedValue.ToEntero) Then GvD.DataSource = Banco.DtResultados '.FiltraParametros("CveComplementoPago is null") + + + + If Banco.DtResultados.Rows.Count > 0 Then + LnkExcel.Visible = True + End If + End If Banco.Dispose() If DdlOpcion.SelectedValue = "2" Then GvD.Columns(8).Visible = True Else GvD.Columns(8).Visible = False GvD.DataBind() - UpDatos.Update() + UpDatos.Update() + UpAcciones.Update() + End Sub Private Sub GeneraTimbre() @@ -125,16 +137,16 @@ Partial Class Bancos_RepComplementoPago If e.Row.DBCampo("BloqueadoUtilerias") = "1" Then Mensaje = "Bloqueado Timbrando por aplicacion" End If - e.Row.FCLiteral("LtlMon").Text = e.Row.DBCampo("PagoAbreviaturaSAT") - - If Not Mensaje.Length = 0 Then - e.Row.ForeColor = Drawing.Color.Red - e.Row.FCCheckBox("Chk").Enabled = False - e.Row.FCCheckBox("Chk").ToolTip = Mensaje - End If - - Else - e.Row.FCHyperLink("HplXML").Visible = True : e.Row.FCHyperLink("HplXML").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=xml&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString))) + e.Row.FCLiteral("LtlMon").Text = e.Row.DBCampo("PagoAbreviaturaSAT") + + If Not Mensaje.Length = 0 Then + e.Row.ForeColor = Drawing.Color.Red + e.Row.FCCheckBox("Chk").Enabled = False + e.Row.FCCheckBox("Chk").ToolTip = Mensaje + End If + + Else + e.Row.FCHyperLink("HplXML").Visible = True : e.Row.FCHyperLink("HplXML").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=xml&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString))) e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=pdf&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString))) e.Row.FCLinkButton("LnkSendMail").Visible = True @@ -378,8 +390,8 @@ Partial Class Bancos_RepComplementoPago End If Else respuesta = False - End If - + End If + Return respuesta End Function @@ -390,5 +402,134 @@ Partial Class Bancos_RepComplementoPago TxtParaMail.Text = gvRow.DataKey("CobranzaCorreo").ToString UpSendMail.Update() RegistraScript("$('#ModalDivMail').modal('show');") + End Sub + + Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) + + ' GvD.ExportToExcelG("ReporteComplementos", "Reporte Complementos", UsuarioActual) + 'GvD.ExportToExcelx("ReporteComplementos.xlsx") + ' GvD.ExportToExcel("ReporteComplementos.xlsx") + + + Imprimir("Excel") + + + + End Sub + + + + Private Sub Imprimir(Optional reporte As String = "PDF") + If GvD.Rows.Count > 0 Then + Dim StrFiltro As New StringBuilder + 'If DdlProveedor.SelectedValue.ToEntero > 0 Then StrFiltro.AppendFormat("Proveedor: {0},", DdlProveedor.SelectedText) + 'If ddlProducto2.SelectedValue.ToEntero > 0 Then StrFiltro.AppendFormat(" Producto/Servicio: {0},", ddlProducto2.SelectedText) + If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio: {0} ", txtFechaI.Text) + If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin: {0}", txtFechaF.Text) + ExportToExcelG(GvD, "ReporteComplementos.xlsx", "Reporte complementos de pago", UsuarioActual, StrFiltro.ToString, 100, 150) + Else + Alert("Debe consultar para generar un excel", TipoMensaje.MsgAdvertencia) + End If + End Sub + + Public Sub ExportToExcelG(Gv As GridView, NombreArchivoXLSx As String, Optional Titulo As String = "Reporte", Optional Usuario As Usuario = Nothing, Optional Filtros As String = "", Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100) + Dim sw As New StringWriter() + Dim htw As New HtmlTextWriter(sw) + Gv.RenderControl(htw) + GemBox.Spreadsheet.SpreadsheetInfo.SetLicense("ESWN-4QFD-26JF-1SZ8") + + Dim excel As GemBox.Spreadsheet.ExcelFile + Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault + Using htmlStream = New MemoryStream(options.Encoding.GetBytes(sw.ToString())) + excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream, options) + If Usuario IsNot Nothing Then + Dim TotalRowHeader As Integer = 8 + Dim TotalRowFooter As Integer = 2 + + Dim worksheet = excel.Worksheets(0) + worksheet.Rows.InsertEmpty(0, TotalRowHeader) + Dim celdasConTexto = worksheet.GetUsedCellRange(True) + celdasConTexto.Style.Font.Name = "Calibri Light" + + Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex) + RangoNombreEmpresa.Merged = True + RangoNombreEmpresa.Value = Usuario.Empresa.Empresa + RangoNombreEmpresa.Style.Font.Size = 18 * 20 + RangoNombreEmpresa.Style.Font.Name = "Calibri Light" + RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + + Dim RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex) + RangoFiltros.Merged = True + RangoFiltros.Value = Filtros + RangoFiltros.Style.Font.Size = 15 * 20 + RangoFiltros.Style.Font.Name = "Calibri Light" + RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left + RangoFiltros.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + + Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex) + RangoTitulo.Merged = True + RangoTitulo.Value = Titulo + RangoTitulo.Style.Font.Size = 20 * 20 + RangoTitulo.Style.Font.Name = "Calibri Light" + RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + worksheet.Columns("C").Width = 20000 + worksheet.Columns("D").Width = 4000 + worksheet.Columns("E").Width = 6000 + worksheet.Columns("F").Width = 6000 + worksheet.Columns("G").Width = 4000 + worksheet.Columns("H").Width = 12000 + + For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex + + worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20 + worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255) + + If i > 0 Then + Try + worksheet.Columns(i).AutoFit(1) + Catch ex As Exception + End Try + End If + Next + + Dim IndexEndTable As Integer = Gv.Rows.Count + TotalRowHeader + TotalRowFooter + + worksheet.Rows(IndexEndTable).Cells(2).Value = "Usuario Imprimió" + worksheet.Rows(IndexEndTable + 1).Cells(2).Value = Usuario.Nombre + + worksheet.Rows(IndexEndTable).Cells(6).Value = "Fecha Impresión" + worksheet.Rows(IndexEndTable + 1).Cells(6).Value = DateTime.Now.ToString("dd/MM/yyyy") + + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)) + + If Imagen.Exists Then + Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta) + Using sr As New StreamReader(Ruta) + Dim ms As New MemoryStream() + sr.BaseStream.CopyTo(ms) + worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel) + End Using + End If + End If + + End Using + htw.Dispose() + + excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx") + + End Sub + + + Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub + + End Class diff --git a/Contratos/ContratoObra.aspx b/Contratos/ContratoObra.aspx index e14f9b4a6..546f57bcf 100644 --- a/Contratos/ContratoObra.aspx +++ b/Contratos/ContratoObra.aspx @@ -106,6 +106,15 @@ Agregar Maquinaria-Flotilla-Herramienta + +
  • + Abrir Contrato +
  • + +
  • + Cerrar Contrato +
  • + @@ -163,11 +172,8 @@
    - - - @@ -735,7 +741,7 @@ Descargar - + @@ -803,7 +809,7 @@
    @@ -1085,6 +1091,7 @@ + @@ -1181,7 +1188,8 @@
    +
    @@ -1287,35 +1295,35 @@ - - + + - + - + - - + + - + - + @@ -2220,7 +2228,9 @@ - + + +   @@ -2773,7 +2783,9 @@
    - + + +
    diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index 8e7140752..c3735a602 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -389,6 +389,19 @@ Partial Class Contratos_ContratoObra End Property + Property BloquearTodo As Boolean + Get + If ViewState("BloquearTodo") Is Nothing Then + Return False + Else + Return Boolean.Parse(ViewState("BloquearTodo").ToString) + End If + End Get + Set(value As Boolean) + ViewState("BloquearTodo") = value + End Set + End Property + #End Region @@ -483,6 +496,9 @@ Partial Class Contratos_ContratoObra CargaDLLCargaGVCentrosConsto() tabalCentrosdecotso() + + BloquearControles() + End If @@ -626,12 +642,38 @@ Partial Class Contratos_ContratoObra 'DdlProyecto.SelectedValue = "-1" TxtCantidad.Text = "" + RGVControlCantidadVentas.Visible = False TxtPU.Text = "" TmpDT.Clear() CargaGVPresupuestos(TmpDT) CargaGVPresupuestosInsumos(TmpDT) LbTotalGeneral.Text = "0.00" End Sub + + Private Sub BloquearControles() + + If BloquearTodo Then + + + LnkModalAddPSVentas.Visible = False + LnkModalAddPSControl.Visible = False + LnkModalAddPresupuestoVentas.Visible = False + LnkModalAddPresupuestoControl.Visible = False + LnkModalAddGastos.Visible = False + LnkModalAddMaquinariaFlotilla.Visible = False + + BtnDescargar.Enabled = False + A1.Visible = False + + BtnGuardar.Enabled = False + BtnEliminar.Enabled = False + BtnCancelar.Enabled = False + + + End If + + End Sub + #End Region #Region " CONFIGURA TIPOS CONTRATO " @@ -739,6 +781,24 @@ Partial Class Contratos_ContratoObra DdlCliente.SelectedValue = ObjContratos.CveCliente.ToString DdlCliente.SelectedText = ObjContratos.NombreComercial.ToString + + + LnkAbrirContrato.Visible = False + LnkCerrarContrato.Visible = False + + If UsuarioActual.TienePermisoProceso(330) Then + + If ObjContratos.TipoEstatus = 1 Then + LnkCerrarContrato.Visible = True + Else + LnkAbrirContrato.Visible = True + BloquearTodo = True + End If + + End If + + + If ObjContratos.CveProveedor > 0 Then ' TrProveedor.Visible = True TrCliente.Visible = False @@ -873,6 +933,11 @@ Partial Class Contratos_ContratoObra Alert("El Contrato Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) BtnGuardar.Enabled = False End If + + + + + Else CveContrato = -1 Alert("Ocurrió un error al cargar el Contrato. Por favor vuelva a intentar.", TipoMensaje.MsgError) @@ -1000,10 +1065,14 @@ Partial Class Contratos_ContratoObra TipoContrato = DdlTipoContratoObra.SelectedValue.ToEntero 'Crear Contrato + Dim ImporteSubTotal As Decimal = TmpDT.SUM("Total", " CveContratoDetalle > 0 AND CveTipoPresupuesto=2 ").ToDecimal If Not CveContrato > 0 Then Dim EstatusContrato As Integer = 1 + + + CveContrato = ObjContratos.AddContratosObra(TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate, TxtUbicacion.Text, TxtResponsable.Text, DdlProyecto.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble, TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total, @@ -1011,7 +1080,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(), Lugar:=TxtLugar.Text.Trim, LimiteDeGasto:=TxtLimiteGastos.Text.ToDouble) + Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim, LimiteDeGasto:=TxtLimiteGastos.Text.ToDouble, ImporteSubTotal:=ImporteSubTotal) TieneError = Not GuardaFianzas(ObjContratos) @@ -1074,7 +1143,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(), Lugar:=TxtLugar.Text.Trim, LimiteDeGasto:=TxtLimiteGastos.Text.ToDouble) Then + CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim, LimiteDeGasto:=TxtLimiteGastos.Text.ToDouble, ImporteSubTotal:=ImporteSubTotal) Then TieneError = Not GuardaFianzas(ObjContratos) @@ -1698,6 +1767,21 @@ Partial Class Contratos_ContratoObra End If + + If e.Row.RowType = DataControlRowType.DataRow Then + + If BloquearTodo Then + e.Row.FCLinkButton("LnkEditarPresupuestoVentaDetalle").Visible = False + e.Row.FCLinkButton("imgD").Visible = False + End If + + If e.Row.DataKey("CveContratoDetalle").ToEntero <= 0 Then + e.Row.FCLinkButton("LnkEditarPresupuestoVentaDetalle").Visible = False + e.Row.FCLinkButton("imgD").Visible = False + End If + + End If + If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then e.Row.FCDropDownList("DdlUMEdit").DataSource = GlobalDTProductosServiciosEquivalencias(e.Row.DataKey("CvePS").ToString.ToEntero, -1, UsuarioActual.CveEmpresa) e.Row.FCDropDownList("DdlUMEdit").DataBind() @@ -2078,6 +2162,23 @@ Partial Class Contratos_ContratoObra e.Row.FCDropDownList("DdlUMEdit").SelectedValue = e.Row.DataKey("CveUM") End If + + If e.Row.RowType = DataControlRowType.DataRow Then + If BloquearTodo Then + e.Row.FCLinkButton("LnkEditarPresupuestoControlDetalle").Visible = False + e.Row.FCLinkButton("imgD").Visible = False + End If + + + If e.Row.DataKey("CveContratoDetalle").ToEntero <= 0 Then + + e.Row.FCLinkButton("LnkEditarPresupuestoControlDetalle").Visible = False + e.Row.FCLinkButton("imgD").Visible = False + + End If + + End If + End Sub Protected Sub GVInsumos_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvInsumos.RowEditing GvInsumos.EditIndex = e.NewEditIndex @@ -2726,8 +2827,8 @@ Partial Class Contratos_ContratoObra End Sub Protected Sub GvContratoGastos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvContratosGastos.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CveContrato").ToString.ToEntero = 0 Or e.Row.DBCampo("CveVenta").ToString.ToEntero > 0 Then If e.Row.DBCampo("CveContrato").ToString.ToEntero = 0 Then e.Row.CssClass = "SubTotales" : e.Row.Cells(0).Text = e.Row.DBCampo("Cantidad").FormatoNumero(0) e.Row.FCLinkButton("imgE").Visible = False @@ -2738,6 +2839,16 @@ Partial Class Contratos_ContratoObra ScriptManager.GetCurrent(Me).RegisterAsyncPostBackControl(lb) End If End If + + + If e.Row.RowType = DataControlRowType.DataRow Then + If BloquearTodo Then + e.Row.FCLinkButton("imgU").Visible = False + e.Row.FCLinkButton("imgE").Visible = False + e.Row.FCLinkButton("imgD").Visible = False + End If + End If + End Sub Protected Sub GvContratoGastos_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) Handles GvContratosGastos.RowDeleting @@ -3185,6 +3296,15 @@ Partial Class Contratos_ContratoObra End If End If + + + If e.Row.RowType = DataControlRowType.DataRow Then + If BloquearTodo Then + e.Row.FCLinkButton("LinkEliminarBitacora").Visible = False + End If + End If + + End Sub Protected Sub BtnGuardarEventoBitacora_Click(sender As Object, e As EventArgs) Handles BtnGuardarEventoBitacora.Click @@ -4181,12 +4301,38 @@ Partial Class Contratos_ContratoObra + Dim CantidadMinimo As Integer = 0 + Dim ObjContrtato As New ClsContratos + + If ObjContrtato.GetContratosDetalleAvance(CveContratoDetalleEditar) Then + CantidadMinimo = ObjContrtato.DtResultados.Rows(0)(0).ToString.ToEntero + + + If CantidadMinimo = 0 Then + RGVControlCantidadVentas.Visible = False + Else + RGVControlCantidadVentas.Visible = True + RGVControlCantidadVentas.MinimumValue = CantidadMinimo.ToString + End If + + + End If + + + ObjContrtato.Dispose() + + + ModalVentasPSAdd = False ChkContinualAgregandoVentas.Visible = False ChkContinualAgregandoVentas.Checked = False + UpModalVentasAddPS.Update() RegistraScript("$('#ModalVentasAddPS').modal('show')") + + + End Sub Protected Sub LnkEditarPresupuestoControlDetalle_Click(sender As Object, e As EventArgs) @@ -4276,6 +4422,7 @@ Partial Class Contratos_ContratoObra 'TxtOCInterna.Text = "" TxtCantidad.Text = "" + RGVControlCantidadVentas.Visible = False 'ChkLimitarVenta.Checked = False 'TxtNoIdentificacionv.Text = "" DdlClasificacionAdd.SelectedValueExist(-1) @@ -5088,7 +5235,6 @@ Partial Class Contratos_ContratoObra Private Sub GvGastosVeiculos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvGastosVeiculos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - If e.Row.DataKey("ORDEN").ToEntero = 1 Then e.Row.CssClass = "Totales" e.Row.Cells(1).Text = "Total" @@ -5097,8 +5243,16 @@ Partial Class Contratos_ContratoObra End If - End If + + + + If e.Row.RowType = DataControlRowType.DataRow Then + If BloquearTodo Then + e.Row.FCLinkButton("LnkEliminarGasto").Visible = False + End If + End If + End Sub @@ -5433,6 +5587,39 @@ Partial Class Contratos_ContratoObra AddtabalCentrosdecotso(DdlCentroCostos.SelectedValue.ToEntero, DdlCentroCostos.SelectedItem.Text, TxtCentroCostosPorcentaje.Text.ToDecimal) End Sub + Protected Sub LnkAbrirContrato_Click(sender As Object, e As EventArgs) + AbrirCerrarContrto(False) + End Sub + Protected Sub LnkCerrarContrato_Click(sender As Object, e As EventArgs) + AbrirCerrarContrto(True) + End Sub + + + Private Sub AbrirCerrarContrto(Cerrar As Boolean) + + + Dim ObjConrtato As New ClsContratos + + If ObjConrtato.AbrirCerrarContrato(CveContrato, UsuarioActual.CveEmpresa, Cerrar, UsuarioActual.CveUsuario) Then + Alert($"Contrato { If(Cerrar, "Cerrado", "Abierto")} Correctamente", TipoMensaje.MsgInformacion, $"window.location.href=""./ContratoObra.aspx?CveContrato={CveContrato}"";") + End If + + + End Sub + + Private Sub GvInt_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvInt.RowDataBound + + If e.Row.RowType = DataControlRowType.DataRow Then + If BloquearTodo Then + + 'e.Row.FCLinkButton("LinkButton1").Enabled = False + 'e.Row.FCLinkButton("LinkButton2").Enabled = False + e.Row.FCLinkButton("LinkButton3").Visible = False + e.Row.FCLinkButton("LinkButton4").Visible = False + + End If + End If + End Sub End Class diff --git a/Contratos/RepContratosObraAvances.aspx b/Contratos/RepContratosObraAvances.aspx index 926b80966..525fc4072 100644 --- a/Contratos/RepContratosObraAvances.aspx +++ b/Contratos/RepContratosObraAvances.aspx @@ -106,7 +106,7 @@
    Contratos

    - +

    @@ -115,7 +115,7 @@
    Total

    - $ + $

    @@ -140,7 +140,7 @@ Avance

    - + @@ -150,7 +150,7 @@ Porcentaje

    - + @@ -192,7 +192,7 @@ Faltante

    - + @@ -202,7 +202,7 @@ Porcentaje

    - + @@ -309,7 +309,7 @@ - + diff --git a/Contratos/RepContratosObraAvances.aspx.vb b/Contratos/RepContratosObraAvances.aspx.vb index 512d4c423..15f33d2b3 100644 --- a/Contratos/RepContratosObraAvances.aspx.vb +++ b/Contratos/RepContratosObraAvances.aspx.vb @@ -48,7 +48,10 @@ Partial Class RepContratosObraAvances Dim NumeroContratos As Integer = DTDatos.Rows.Count - Dim TotalContratos As Decimal = DTDatos.SUM("Importe") + 'Dim TotalContratos As Decimal = DTDatos.SUM("Importe") + Dim TotalContratos As Decimal = DTDatos.SUM("ImporteSubTotal") + + Dim TotalAvance As Decimal = DTDatos.SUM("AvanceImporte") Dim TotalFaltante As Decimal = TotalContratos - TotalAvance diff --git a/Contratos/RepContratosObraAvancesDetalle.aspx b/Contratos/RepContratosObraAvancesDetalle.aspx index 88c16a484..dcbf5b694 100644 --- a/Contratos/RepContratosObraAvancesDetalle.aspx +++ b/Contratos/RepContratosObraAvancesDetalle.aspx @@ -29,7 +29,7 @@
    Numero Estimaciones

    - +

    @@ -38,7 +38,7 @@
    Numero Estimaciones

    - +

    @@ -63,7 +63,7 @@ Avance

    - + @@ -73,7 +73,7 @@ Porcentaje

    - + @@ -115,7 +115,7 @@ Fecha Fin

    - + @@ -125,7 +125,7 @@ Dias Restantes

    - + diff --git a/Contratos/RepContratosObraAvancesDetalle.aspx.vb b/Contratos/RepContratosObraAvancesDetalle.aspx.vb index 384ff2da2..1c1ede262 100644 --- a/Contratos/RepContratosObraAvancesDetalle.aspx.vb +++ b/Contratos/RepContratosObraAvancesDetalle.aspx.vb @@ -87,7 +87,7 @@ Partial Class RepContratosObraAvancesDetalle Dim AvanceImporte As Decimal = DTDatos(0)("AvanceImporte").ToString.ToDecimal - Dim TotalContratos As Decimal = DTDatos(0)("Importe").ToString.ToDecimal + Dim TotalContratos As Decimal = DTDatos(0)("ImporteSubTotal").ToString.ToDecimal Dim TotalAvancePorcentaje As Decimal = 0 If TotalContratos > 0 Then @@ -100,6 +100,8 @@ Partial Class RepContratosObraAvancesDetalle 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")}" @@ -109,7 +111,7 @@ Partial Class RepContratosObraAvancesDetalle SPAvance1.Attributes.Add("style", $"width:{TotalAvancePorcentaje.ToString.ToEntero}%") LtlFechaFin.Text = FechaFinal.ToString("dd/MM/yyyy") - LtlDiasRestantes.Text = Dias.ToString("###,###") + LtlDiasRestantes.Text = If(Dias <= 0, "0", Dias.ToString("###,###")) UpGrafica.Update() diff --git a/Empresas/141/Formatos/Factura.rdlc b/Empresas/141/Formatos/Factura.rdlc index 733c5c817..a3358cfb6 100644 --- a/Empresas/141/Formatos/Factura.rdlc +++ b/Empresas/141/Formatos/Factura.rdlc @@ -1,5 +1,5 @@ - + 0 @@ -2127,7 +2127,26 @@ - Sahuaro (662) 2161471 - Solidaridad (662) 216-0935 - Palo Verde (662) 4363254 - Progreso (662) 3105781 - Quiroga (662) 261- 0838 - Caborca (637) 3724214 - Magdalena (632) 322-4080 + Sahuaro (662) 2161471 - Solidaridad (662) 216-0935 - Palo Verde (662) 4363254 - Progreso (662) 3105781 - + + + + Portillo (662) 688-5349 + + + + - Quiroga (662) 261- 0838 - Caborca (637) 3724214 - - - - - - - - Tecate (665) 5212080 - Ensenada (646) 172-4075 - Ensenada2 (646) 176-2703 - Baja California Sur: La Paz (612) 146-3656 - La Paz 2 (612) 121-3185 - Los Cabos (624) 688 3552 + Sanalona (667) 713-667 - Tres Ríos (667) 455-4621 - Mazatlán (669) 910-2122 - Baja California: Tijuana1 (664) 622-5221 - Tijuana3 (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 Mexicali3 (686) 326 02 79 - Tecate (665) 5212080 - Ensenada (646) 172-4075 - Ensenada2 (646) 176-2703 - Baja California Sur: La Paz (612) 146-3656 - La Paz 2 (612) 121-3185 - Los Cabos (624) 688 3552 - - - -