diff --git a/Transportes/RepContratoDetalle.aspx b/Transportes/RepContratoDetalle.aspx index 4d1b16a83..04151d1a5 100644 --- a/Transportes/RepContratoDetalle.aspx +++ b/Transportes/RepContratoDetalle.aspx @@ -343,6 +343,13 @@ +
+ +
+ + +
+
diff --git a/Transportes/RepContratoDetalle.aspx.vb b/Transportes/RepContratoDetalle.aspx.vb index 74e695078..1f1950308 100644 --- a/Transportes/RepContratoDetalle.aspx.vb +++ b/Transportes/RepContratoDetalle.aspx.vb @@ -254,6 +254,8 @@ Partial Class RepContratoDetalle If CveVentaRemision > 0 Then DVFactura.Visible = True + ChkEsPresupuestal.Enabled = False + ChkEsPresupuestal.Checked = False End If End If @@ -326,6 +328,8 @@ Partial Class RepContratoDetalle HypRemision.Text = Contrato.Rows(0)("RemisionSerieFolio").ToString HypRemision.NavigateUrl = $"/Ventas/Ventas.aspx?CveVenta={ CveVentaRemision}" + ChkEsPresupuestal.Checked = Boolean.Parse(Contrato.Rows(0)("EsPresupuestal").ToString) + If Contrato.Rows(0)("RemisionSaldo").ToString.ToDecimal > 0 Then LblSaldo.Text = $"Saldo { Contrato.Rows(0)("RemisionSaldo").ToString.ToDecimal.ToString("###,###,###.00")}" Else @@ -449,22 +453,7 @@ Partial Class RepContratoDetalle End Sub - 'Protected Sub CargarArchivo(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AFU.UploadedComplete - ' If AFU.HasFile Then - - ' Dim UploadFolder As String = String.Format("{0}\Temp\", UsuarioActual.Empresa.Ruta) - ' UploadFolder.DirectoryExistsCreate() - ' Dim Extension As String = System.IO.Path.GetExtension(AFU.PostedFile.FileName) - - ' If File.Exists(String.Format("{0}{1}{2}", UploadFolder, UsuarioActual.CveUsuario.ToString, Extension)) Then File.Delete(String.Format("{0}{1}{2}", UploadFolder, UsuarioActual.CveUsuario.ToString, Extension)) - - ' AFU.SaveAs(UploadFolder & UsuarioActual.CveUsuario.ToString & Extension) - ' Session("FileUpload") = UploadFolder & UsuarioActual.CveUsuario.ToString & Extension - ' Session("FileExtension") = Extension - ' Session("FileFolder") = UploadFolder - ' End If - 'End Sub Protected Sub DownloadFile(ByVal sender As Object, ByVal e As EventArgs) Dim filePath As String = String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, CType(sender, LinkButton).CommandArgument) Dim Archivo As New System.IO.FileInfo(filePath) @@ -526,16 +515,8 @@ Partial Class RepContratoDetalle BtnDescargar.Visible = True End If End Sub - 'Private Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click - ' Dim File As New FileInfo(ViewState("FUrl").ToString) - ' Dim Url As String = $"{ObtenerUrlCompleta()}Compras/PopUpVerFactura.aspx?ArchivoContrato={Encripta(File.FullName)}" - ' If File.Exists Then - ' RegistraScript($"window.open({Url}, ""_blank"");") - ' End If - 'End Sub - Public Function ObtenerUrlCompleta() As String Dim Solicitud As HttpRequest = HttpContext.Current.Request @@ -555,31 +536,7 @@ Partial Class RepContratoDetalle Return url End Function - 'Private Sub DescargaArchivo(urlArchivo As String) - ' Dim File As New FileInfo(urlArchivo) - - ' If File.Exists Then 'set appropriate headers - - ' Response.Clear() - ' Response.ClearHeaders() - ' Response.ClearContent() - ' Response.AddHeader("Content-Disposition", "inline; filename=" & TxtFolio.Text & $"{File.Extension}") - ' Response.AddHeader("Content-Length", File.Length.ToString()) - ' 'Response.ContentType = "text/plain" - ' Response.ContentType = "application/octet-stream" - ' Response.Flush() - ' ' Response.TransmitFile(File.FullName) - ' Response.WriteFile(File.FullName) - ' Response.End() - - ' Else - - ' Alert("Ocurrio un error al descargar el archivo", TipoMensaje.MsgAdvertencia, "window.close()") - - ' End If - - 'End Sub Protected Sub UpdateContrato(sender As Object, e As EventArgs) Dim ArchivoUpdate As String = "-1" @@ -597,7 +554,7 @@ Partial Class RepContratoDetalle If Not ObjContratos.UpdateContratos(CveContrato, TxtFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", - DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, ArchivoUpdate, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, + DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, ArchivoUpdate, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ChkEsPresupuestal.Checked, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=CveContratoTipo, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveContratosEstatus:=CveContratoEstatus, Observaciones:=TxtObservaciones.Text) Then ErrorProceso = True End If @@ -617,6 +574,24 @@ Partial Class RepContratoDetalle End If End If + If Not ErrorProceso AndAlso Not CveVentaRemision > 0 AndAlso ChkEsPresupuestal.Checked = False Then + 'CveVentaRemision + Dim ObsRemisionPartida As String = $"{DdlTipoAF.SelectedItem.Text}-{ TxtDescripcion.Text}-{TxtFolio.Text}" + + Dim Respuesta As New RespuestaFacturacion() + Dim CvePS As Integer = 907784 + Respuesta = GeneraRemision(CveContrato, ObsRemisionPartida, TxtImporte.Text.ToDecimal, CvePS, ObjContratos.IniciaTransacSQL, DdlSubProyecto.SelectedValue.ToEntero) + + If Respuesta.CveVenta > 0 Then + CveVentaRemision = Respuesta.CveVenta + 'SerieFolioRemision = Respuesta.SerieFolio + ErrorProceso = False + Else + ErrorProceso = True + Alert("se presento un error al generar la remisión", TipoMensaje.MsgAdvertencia) + End If + End If + If Not ErrorProceso Then ObjContratos.Commit() @@ -796,23 +771,7 @@ Partial Class RepContratoDetalle New ReportParameter("FechaImpresion", Date.Now.ToString("dd/MM/yyyy HH:mm:ss")), New ReportParameter("Usuario", UsuarioActual.Nombre) } - 'New ReportParameter("Folio", TxtFolio.Text), - ' New ReportParameter("Cliente", DdlClientes.SelectedText), - ' New ReportParameter("Servicio", TxtDescripcion.Text), - ' New ReportParameter("Observaciones", TxtObservaciones.Text), - ' New ReportParameter("Ubicacion", TxtUbicacion.Text), - ' New ReportParameter("FechaSalida", TxtFechaSalida.Text.ToDate.ToString("dd/MM/yyyy")), - ' New ReportParameter("FechaRegreso", TxtFechaRegreso.Text.ToDate.ToString("dd/MM/yyyy")), - ' New ReportParameter("CantidadPasajeros", TxtCantidadPasajeros.Text), - ' New ReportParameter("TipoAF", DdlTipoAF.SelectedItem.ToString()), - ' New ReportParameter("Pesos", Math.Round(TxtImporte.Text.ToDecimal, 2).ToString), - ' New ReportParameter("Moneda", DdlMoneda.SelectedItem.ToString), - ' New ReportParameter("Anticipo", Math.Round((TxtAnticipo.Text.ToDecimal * TxtImporte.Text.ToDecimal), 2).ToString), - ' New ReportParameter("Total", Math.Round((TxtImporte.Text.ToDecimal - (TxtAnticipo.Text.ToDecimal * TxtImporte.Text.ToDecimal)), 2).ToString), - ' New ReportParameter("DiaSalida", $"{TxtFechaSalida.Text.ToDate.Hour}:{TxtFechaSalida.Text.ToDate.Minute} "), - ' New ReportParameter("TelefonoEmpresa", TelefonoEmpresa), - ' New ReportParameter("FechaImpresion", Date.Now.ToString("dd/MM/yyyy HH:mm:ss")), - ' New ReportParameter("Usuario", UsuarioActual.Nombre) + ImprimirPDFStimul($"{UsuarioActual.Empresa.Ruta}Formatos\Contrato.mrt", dtResult, params, NombreArchivo:=TxtFolio.Text) End Sub @@ -1114,7 +1073,85 @@ Partial Class RepContratoDetalle #End Region +#Region " R E M I S I O N " + Private Function GeneraRemision(CveContrato As Integer, ObsPartida As String, Importe As Decimal, CvePS As Integer, ByRef TransaccionSQL As SqlClient.SqlTransaction, CveSubProyecto As Integer) As RespuestaFacturacion + Dim Respuesta As New RespuestaFacturacion() + Dim CveRemisionGenerada As Integer = -1 + Dim ObjVentas As New ClsVentas(TransaccionSQL) + Dim ProcesoOK As Boolean = True + Dim CveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero + + Dim ObjFactura As Modelos.Factura = Modelos.Factura.CrearVentaNueva(UsuarioActual, CveSubProyecto, DdlClientes.SelectedValue.ToEntero, CveMoneda, "Rem") + + If ObjFactura IsNot Nothing AndAlso ProcesoOK Then + + ObjFactura.CveMoneda = CveMoneda + ObjFactura.CveContrato = CveContrato + ObjFactura.Observaciones = ObsPartida + ObjFactura.CveFormaPago33 = 20 ' por definir + If CveMoneda > 1 Then + ObjFactura.TipoCambio = GlobalTipoCambio(DateTime.Now).ToDecimal + End If + + Dim TmpDTMat As New DataTable + TmpDTMat.Columns.Add("Consec", GetType(Integer)) + TmpDTMat.Columns.Add("CvePS", GetType(Integer)) + TmpDTMat.Columns.Add("CveUM", GetType(Integer)) + TmpDTMat.Columns.Add("Cantidad", GetType(Integer)) + TmpDTMat.Columns.Add("PU", GetType(Decimal)) + TmpDTMat.Columns.Add("Lote", GetType(String)) + TmpDTMat.Columns.Add("FechaCaducidad", GetType(Date)) + TmpDTMat.Columns.Add("CveVentaDetalle", GetType(Integer)) + + Dim CantidadRegistro As Decimal = 1 + Dim PorcentajeIVA As Decimal = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimeroValor("IVA").ToDecimal + Dim SubTotal As Decimal = (Importe / (1D + PorcentajeIVA)) + Dim PU As Decimal = SubTotal + Dim Descuento As Decimal = 0 + Dim Obs As String = ObsPartida + + If CantidadRegistro > 0 Then + If ObjFactura.AgregarPS(CvePS, CantidadRegistro, PU, Descuento, Obs, CveSubProyecto:=CveSubProyecto, PorcentajeIVA:=PorcentajeIVA) Then + Dim drp As DataRow = TmpDTMat.NewRow + drp("CvePS") = CvePS + drp("Cantidad") = CantidadRegistro + drp("PU") = PU + TmpDTMat.Rows.Add(drp) + Else + Alert("Error al agregar producto", TipoMensaje.MsgAdvertencia) + ProcesoOK = False + End If + End If + + If ProcesoOK Then + ObjFactura.CalculaTotales() + Dim Resp As New Modelos.Factura.MMensajeFactura + Resp = ObjFactura.EmitirFactura(False, Transac:=TransaccionSQL) + + If Resp.CveVenta > 0 Then + Respuesta.CveVenta = Resp.CveVenta + Respuesta.SerieFolio = Resp.SerieFolio + Respuesta.dtdetalle = TmpDTMat + Else + ProcesoOK = False + End If + End If + Else + ProcesoOK = False + End If + Return Respuesta + + End Function + Friend Class RespuestaFacturacion + Public Property CveVenta As Integer = -1 + Public Property SerieFolio As String = "-1" + Public Property dtdetalle As DataTable = Nothing + Public Sub New() + + End Sub + End Class +#End Region End Class diff --git a/Transportes/RepContratos.aspx b/Transportes/RepContratos.aspx index 4878f656f..b1f82b7f8 100644 --- a/Transportes/RepContratos.aspx +++ b/Transportes/RepContratos.aspx @@ -257,14 +257,10 @@
- - <%----%> +
- - - - -
+ +
@@ -488,6 +484,15 @@
+ + +
+ +
+ +
+
+
diff --git a/Transportes/RepContratos.aspx.vb b/Transportes/RepContratos.aspx.vb index 3572a912e..2a132f422 100644 --- a/Transportes/RepContratos.aspx.vb +++ b/Transportes/RepContratos.aspx.vb @@ -137,7 +137,7 @@ Partial Class ListadoContratos Dim ObjFolios As New ClsGralFolios(ObjContratos.IniciaTransacSQL()) CveContrato = ObjContratos.AddContratos(LbFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDateTime, TxtFechaRegreso.Text.ToDateTime, TxtUbicacion.Text, "", - DdlSubProyectoModal.SelectedValue.ToEntero, -1, -1, -1, -1, LbArchivo.Text, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, + DdlSubProyectoModal.SelectedValue.ToEntero, -1, -1, -1, -1, LbArchivo.Text, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ChkEsPresupuestal.Checked, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=34, CveContratosEstatus:=50, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CantidadPasajeros:=TxtCantidadPasajeros.Text.ToEntero, Observaciones:=TxtObservaciones.Text, CveVendedor:=UsuarioActual.CveVendedor) @@ -180,7 +180,7 @@ Partial Class ListadoContratos End If Anexo.Text = "" - If ErrorProceso = False Then + If ErrorProceso = False AndAlso Not ChkEsPresupuestal.Checked Then Dim ObsRemisionPartida As String = $"{DdlTipoAF.SelectedItem.Text}-{ TxtDescripcion.Text}-{LbFolio.Text}"