From 8c3f9bfad058fce84d74388f36284d1710ca6f84 Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Thu, 13 Oct 2022 09:48:05 -0700 Subject: [PATCH 1/9] ModExtrenciones numero a Letras --- App_Code/modExtensiones.vb | 4 ++-- Compras/CatProveedoresClasificaciones.aspx.vb | 4 ++-- Contabilidad2/CatCuentas.aspx | 2 +- Contabilidad2/CatCuentas.aspx.vb | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 681afe43a..ee58149a8 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -977,8 +977,8 @@ Namespace Extensiones Dim tmp As String = Mid(entero, 2, 6) - If entero.ToString.Length >= 7 And tmp = "000000" Then - If entero.ToString.Length = 7 And tmp = "000000" Then + If entero.ToString.Length >= 7 And tmp = "000000" Or Mid(entero, 3, 6) = "000000" Then + If entero.ToString.Length = 7 And tmp = "000000" Or Mid(entero, 3, 6) = "000000" Then palabras.Append("de ") End If Else diff --git a/Compras/CatProveedoresClasificaciones.aspx.vb b/Compras/CatProveedoresClasificaciones.aspx.vb index 038e00e54..623166051 100644 --- a/Compras/CatProveedoresClasificaciones.aspx.vb +++ b/Compras/CatProveedoresClasificaciones.aspx.vb @@ -90,8 +90,8 @@ Partial Class Compras_CatProveedoresClasificaciones End If End If - If ObjProveedorClasificacion.GetProveedorClasificacion(-1) Then - GlobalDTProveedorClasificacion(-1) = ObjProveedorClasificacion.DtResultados + If ObjProveedorClasificacion.GetProveedorClasificacion(UsuarioActual.CveEmpresa) Then + GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa) = ObjProveedorClasificacion.DtResultados End If RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddClasificacion")) diff --git a/Contabilidad2/CatCuentas.aspx b/Contabilidad2/CatCuentas.aspx index 51bcc8812..58b1d4c79 100644 --- a/Contabilidad2/CatCuentas.aspx +++ b/Contabilidad2/CatCuentas.aspx @@ -115,7 +115,7 @@
Subcuenta de
-
diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb index 6845bb71a..ac9f09bbf 100644 --- a/Contabilidad2/CatCuentas.aspx.vb +++ b/Contabilidad2/CatCuentas.aspx.vb @@ -331,7 +331,7 @@ Partial Class Contabilidad2_CatCuentas Dim ObjConta As New ClsContabilidad - If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then + If ObjConta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then DdlCuentaContable.DataSource = ObjConta.DtResultados End If From ceeaa684158b538ea903e5121047912660ae98aa Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 13 Oct 2022 16:43:28 -0700 Subject: [PATCH 2/9] =?UTF-8?q?--envio=20de=20cvesubproyecto=20en=20prep?= =?UTF-8?q?=C3=B3liza?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bancos/DepositosCaja.aspx | 2 +- Bancos/DepositosCaja.aspx.vb | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index e073494dc..d2a7a3d27 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -295,7 +295,7 @@
- + diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 3dc18e324..ca76c20ae 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -43,8 +43,8 @@ Partial Class Bancos_DepositosCaja DdlCajaChica.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta = 1", "", {"CveCuenta", "NumCuentaMoneda"}) DdlCajaChica.DataBind() - 'código temporal, para claudia y toñita, monge, anadelia - If UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033) Then + 'código temporal, para claudia y toñita, monge, anadelia, alba + If UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897) Then DdlCajaChica.Items.Add(New ListItem("Todas", "-1")) End If @@ -302,6 +302,7 @@ Partial Class Bancos_DepositosCaja Dim CveVenta As Integer = Gvr.DataKey("CveVenta").ToEntero Dim CvePrePoliza As Integer = Gvr.DataKey("CvePrePoliza").ToEntero Dim CveCuentaBancaria As Integer = Gvr.DataKey("CveCuenta").ToEntero + Dim tCveSubProyecto As Integer = Gvr.DataKey("CveSubProyecto").ToEntero FolioIE = ObjBancos.GetNextFolio(CveCuentaBancaria, 2) If Not FolioIE > 0 Then @@ -311,7 +312,7 @@ Partial Class Bancos_DepositosCaja CveIEDestino = ObjBancos.AddBancos_IE(CveCuentaBancaria, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, SerieFolio, 30, String.Format("Depósito Bancario: {0}", SerieFolio), Fecha, IdCuentaBancariaDestino, -1, CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino, ImporteMX:=Importe * TipoCambio) Then + If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, SerieFolio, 30, String.Format("Depósito Bancario: {0}", SerieFolio), Fecha, IdCuentaBancariaDestino, -1, CveClasificacion:=CveClasificacion, CveSubProyecto:=tCveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino, ImporteMX:=Importe * TipoCambio) Then OcurrioError = True Exit For End If From b8c4fadedfb322ed58bed465bdce31a6114b48d8 Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 13 Oct 2022 16:44:07 -0700 Subject: [PATCH 3/9] =?UTF-8?q?--=20filtrado=20de=20gv,=20de=20facturas=20?= =?UTF-8?q?NC=20--=20mejora=20en=20el=20mensaje=20de=20vinculaci=C3=B3n=20?= =?UTF-8?q?de=20NC,=20con=20docs=20relacionados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/Compras.aspx | 37 +++++++++++---------------- Compras/Compras.aspx.vb | 56 +++++++++++++---------------------------- 2 files changed, 31 insertions(+), 62 deletions(-) diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 7863393bd..d4347bc2b 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -155,11 +155,7 @@ .manita { cursor: pointer; } - - .centrarUM { - line-height: 40px; - } - + select.selecthidden { display: none; } @@ -766,7 +762,7 @@ <%-- 2 --%> - + @@ -2878,7 +2874,7 @@ - + @@ -4125,20 +4121,14 @@ Saldo -   - - - +   Fecha -   - - - +   @@ -4812,23 +4802,23 @@
-
- -
-
+

-
+
+ " style="display: inline-block; margin-right: -20px; width: 120px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+
-
-
+
+ <%# Eval("UUID")%> @@ -4844,7 +4835,7 @@ - + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 0cd09df4d..6db7b064a 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3586,7 +3586,7 @@ Partial Class Compras_Compras Private Sub CargaPSAlias() - DdlPSAlias2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + DdlPSAlias2.setEsWebService(True) If UsuarioActual.CveEmpresa = 66 Then DdlPSAlias2.ddlWS.Attributes.Add("data-subfamilia", "-1") @@ -6940,8 +6940,9 @@ Partial Class Compras_Compras For Each rw As GridViewRow In GvDeudores.Rows If rw.FCCheckBox("Chk").Checked Then importeMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - importeMN = importeMovimiento * tipoCambioActual * Multiplicador + importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL IdCtaContable = CtaProveedorDeudores + Dim tCveProveedor As Integer = rw.DataKey("CveProveedor").ToEntero 'Conta ContPAQ If IdCtaContable = 0 Then @@ -6949,7 +6950,7 @@ Partial Class Compras_Compras idCuentaContabilizacion = 0 End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True : Exit For End If @@ -6961,10 +6962,11 @@ Partial Class Compras_Compras For Each rw As GridViewRow In GvDeudores.Rows If rw.FCCheckBox("Chk").Checked Then importeMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - importeMN = importeMovimiento * tipoCambioActual * Multiplicador + importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL IdCtaContable = CtaProveedorDeudores + Dim tCveProveedor As Integer = rw.DataKey("CveProveedor").ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True Exit For End If @@ -20133,35 +20135,24 @@ Partial Class Compras_Compras Private Sub NCSeleccionFacturasRelacionadas(UUIDSListRelacioandos As List(Of String)) - If UUIDSListRelacioandos.Count > 0 Then Dim SaldoNota As Decimal = TxtTotal.Text.ToDecimal Dim SaldoNotaPorAplicar As Decimal = SaldoNota Dim CountAplicacion As Integer = 0 - Dim sbNoencontrados As New StringBuilder - For Each UUID As String In UUIDSListRelacioandos - UUID = UUID.ToUpper Dim UUIDEncontrado As Boolean = False For Each GvRow As GridViewRow In GvFacturaNC.Rows Dim UUIDGv As String = GvRow.DataKey("UUID").Trim.ToUpper - - - If UUID.Trim.ToUpper = GvRow.DataKey("UUID").Trim.ToUpper Then + If UUID.Trim.ToUpper = UUIDGv Then UUIDEncontrado = True Exit For End If - Next - - If Not UUIDEncontrado Then - sbNoencontrados.Append($"{UUID},") - End If - + If Not UUIDEncontrado Then sbNoencontrados.Append($"{UUID},
") Next Dim TeminarAmortizacion As Boolean = False @@ -20176,19 +20167,18 @@ Partial Class Compras_Compras If SaldoFactura <= SaldoNotaPorAplicar Then SaldoNotaPorAplicar = SaldoNotaPorAplicar - SaldoFactura - GvRow.FCTextBox("TxtImporte").Text = SaldoFactura.ToString("###,###,###.00") + GvRow.FCTextBox("TxtImporte").Text = SaldoFactura.FormatoNumero GvRow.FCCheckBox("ChkFacturaNC").Checked = True Else If SaldoFactura >= SaldoNotaPorAplicar Then - GvRow.FCTextBox("TxtImporte").Text = SaldoNotaPorAplicar.ToString("###,###,###.00") + GvRow.FCTextBox("TxtImporte").Text = SaldoNotaPorAplicar.FormatoNumero GvRow.FCCheckBox("ChkFacturaNC").Checked = True SaldoNotaPorAplicar = 0 TeminarAmortizacion = True - Else - GvRow.FCTextBox("TxtImporte").Text = SaldoFactura.ToString("###,###,###.00") + GvRow.FCTextBox("TxtImporte").Text = SaldoFactura.FormatoNumero GvRow.FCCheckBox("ChkFacturaNC").Checked = True SaldoNotaPorAplicar = SaldoNotaPorAplicar - SaldoFactura @@ -20198,36 +20188,28 @@ Partial Class Compras_Compras CountAplicacion = CountAplicacion + 1 Exit For End If - - If SaldoNotaPorAplicar <= 0 Then TeminarAmortizacion = True Exit For End If - Next - If TeminarAmortizacion Then Exit For End If - Next + Dim TipoMensaje As TipoMensaje = TipoMensaje.ToastInformacion - Dim TipoMesaje As TipoMensaje = TipoMensaje.ToastInformacion - - TipoMesaje = If(sbNoencontrados.ToString.Length > 0 Or (SaldoNotaPorAplicar <> 0), TipoMensaje.ToastAdventencia, TipoMesaje) - - + TipoMensaje = If(sbNoencontrados.ToString.Length > 0 Or (SaldoNotaPorAplicar <> 0), TipoMensaje.ToastAdventencia, TipoMensaje) Dim MsgSalida As String = "" If sbNoencontrados.ToString.Length > 0 Then - MsgSalida = $"UUIDS no encotradas o sin saldo: {sbNoencontrados.ToString()}
" + MsgSalida = $"Folios Fiscales no encontradas o sin saldo: {sbNoencontrados }

" End If - MsgSalida = $"{MsgSalida}Se seleccionó {(SaldoNota - SaldoNotaPorAplicar).ToString("###,###,###.00")} de {SaldoNota.ToString("###,###,###.00")} a {CountAplicacion} factura{If(CountAplicacion > 0, "s", "")}." + MsgSalida = $"{MsgSalida} Se seleccionó $ {(SaldoNota - SaldoNotaPorAplicar).FormatoNumero} de $ {SaldoNota.FormatoNumero} a {CountAplicacion} factura {If(CountAplicacion > 0, "s", "")}." - Alert(MsgSalida, TipoMesaje) + Alert(MsgSalida, TipoMensaje) If CountAplicacion > 0 Then BtnFacturaNC_Click(Nothing, Nothing) @@ -20235,8 +20217,6 @@ Partial Class Compras_Compras End If - - End Sub @@ -20244,8 +20224,6 @@ End Class - - Public Class MMensajeDevolucion Public Property CveMovimiento As Integer Public Property TieneError As Boolean From 2c0dba780fc84eed795035cf36aa1cdf40e0b9ad Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 14 Oct 2022 16:25:46 -0700 Subject: [PATCH 4/9] -- longitud campo de ret iva --- Ventas/ProductosServicios.aspx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx index 53a8876e8..3eabe9555 100644 --- a/Ventas/ProductosServicios.aspx +++ b/Ventas/ProductosServicios.aspx @@ -572,7 +572,7 @@
--%>
- + @@ -580,7 +580,7 @@ %
- + From d5f7abb8f27a8ebff7be48382638cdd4c6384a81 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 14 Oct 2022 16:25:57 -0700 Subject: [PATCH 5/9] =?UTF-8?q?--=20correci=C3=B3n=20texto=20vacio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/RepRemisiones.aspx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/RepRemisiones.aspx b/Ventas/RepRemisiones.aspx index d765228b8..e97d8a298 100644 --- a/Ventas/RepRemisiones.aspx +++ b/Ventas/RepRemisiones.aspx @@ -217,7 +217,7 @@
- From 8a818eb874e85b82df4539c59ec901256ac27515 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 14 Oct 2022 16:26:12 -0700 Subject: [PATCH 6/9] -- tipo de cuenta --- AF/AF.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AF/AF.aspx.vb b/AF/AF.aspx.vb index 2b9409625..7d5ffee83 100644 --- a/AF/AF.aspx.vb +++ b/AF/AF.aspx.vb @@ -376,7 +376,7 @@ Partial Class AF_AF InicializaValores() - If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.UsaContabilidad Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso (UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.UsaContabilidad) Then CargaCuentasContables() End If From 9855ba45bb84c6bf10dd73cf47267ab0c7610769 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 14 Oct 2022 16:28:10 -0700 Subject: [PATCH 7/9] -- --- App_Code/ClsPaginas.vb | 98 +++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 6fc77753c..94e9ad87b 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9632,70 +9632,70 @@ Public Class ClsPaginas 'si tiene iva y su proporcion If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then - ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL - ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL - If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - - Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - - If CompraActual.IVADeducible > 0 Then - - ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible).RoundSQL - ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL - 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe - If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento.RoundSQL * Pago.TCPago).RoundSQL - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - End If - - If CompraActual.IVANoDeducible > 0 Then - - ImporteMovimiento = (PorcentajePago * CompraActual.IVANoDeducible).RoundSQL + ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + + If CompraActual.IVADeducible > 0 Then + + ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento.RoundSQL * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + End If + + If CompraActual.IVANoDeducible > 0 Then + + ImporteMovimiento = (PorcentajePago * CompraActual.IVANoDeducible).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + + End If End If - End If + 'si tiene RET IVA y su proporcion + If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - 'si tiene RET IVA y su proporcion - If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then - ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL - ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL - If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento + Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaRetIVA + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaRetIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe - If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - - End If - - 'si tiene Ret ISR y su proporcion - If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then - ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL - ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL - If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento - Dim ContabilizableISR As Boolean = False - If UsuarioActual.CveEmpresa = 140 Then - ContabilizableISR = True End If - Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaRetISR - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + 'si tiene Ret ISR y su proporcion + If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL + ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL + If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento + Dim ContabilizableISR As Boolean = False + If UsuarioActual.CveEmpresa.Contiene(140, 7, 11, 12, 122, 145) Then + ContabilizableISR = True + End If - 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe - If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL + Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaRetISR + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - End If + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + + End If 'si tiene IEPS y su proporcion If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then From f5d84f920db2425a20284b376e55e0e17b042c1d Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Fri, 14 Oct 2022 22:16:03 -0700 Subject: [PATCH 8/9] Servicios --- App_Code/ClsOS.vb | 22 ++++++++++++++-- Bancos/ConciliacionesBancarias.aspx.vb | 5 ++-- Empresas/172/Formatos/OC.rdlc | 3 ++- General/SaldosIniciales.aspx.vb | 27 ++++++++++++------- OS/OrdenesServicios.aspx | 36 +++++++++++++++++++++++--- OS/OrdenesServicios.aspx.vb | 30 +++++++++++++++++++-- OS/RepServicioDomicilio.aspx | 9 ++++++- 7 files changed, 110 insertions(+), 22 deletions(-) diff --git a/App_Code/ClsOS.vb b/App_Code/ClsOS.vb index 102870404..c4148db68 100644 --- a/App_Code/ClsOS.vb +++ b/App_Code/ClsOS.vb @@ -59,6 +59,10 @@ Public Class ClsOS Public Property CveSubProyecto As Integer Public Property CveOSDetalle As Integer Public Property CveOSTipo As Integer + Public Property Telefono As String = "" + Public Property CveModeloAuto As Integer = -1 + Public Property Año As String = "" + Private Class Especificaciones Public CveValor As Integer Public CvePSCaracteristica As Integer @@ -516,6 +520,10 @@ Public Class ClsOS Me.UsuarioEntrego = Data.Rows(0)("UsuarioEntrego").ToString Me.CveSubProyecto = Data.Rows(0)("CveSubproyecto").ToString Me.CveOSTipo = Data.Rows(0)("CveOrdenServicioTipo").ToString.ToEntero + + Me.Telefono = Data.Rows(0)("TelefonoContacto").ToString + Me.CveModeloAuto = Data.Rows(0)("CveModeloAuto").ToString.ToEntero + Me.Año = Data.Rows(0)("Año").ToString End If Retorno = True Catch ex As Exception @@ -569,7 +577,7 @@ Public Class ClsOS End Function Public Function AddOrdenesServicios(CveCliente As Integer, CveSubProyecto As Integer, PersonaSolicito As String, FechaRecepcion As Date, Descripcion As String, CveUsuarioRecibio As Integer, CveEstatusOrdenServicio As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveCotizacion As Integer, CveVenta As Integer, CveOSPadre As Integer, CveOSTipo As Integer, Optional CveClienteSucursal As Integer = -1, - Optional Direccion As String = "-1") As Boolean + Optional Direccion As String = "-1", Optional Telefono As String = "", Optional CveModeloAuto As Integer = -1, Optional Año As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_OrdenesServiciosAdd") @@ -591,6 +599,10 @@ Public Class ClsOS .Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal .Add("@Direccion", SqlDbType.VarChar).Value = Direccion + .Add("@Telefono", SqlDbType.VarChar).Value = Telefono + .Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto + .Add("@Año", SqlDbType.VarChar).Value = Año + .Add("@CveOS", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -633,7 +645,8 @@ Public Class ClsOS Return Retorno End Function Public Function UpdateOrdenesServicios(PersonaSolicito As String, FechaRecepcion As String, Descripcion As String, CveUsuarioRecibio As Integer, CveEstatusOrdenServicio As Integer, CveOS As Integer, CveUsuarioModifico As Integer, - CveOSTipo As Integer, Optional CveClienteSucursal As Integer = -1, Optional Direccion As String = "-1") As Boolean + CveOSTipo As Integer, Optional CveClienteSucursal As Integer = -1, Optional Direccion As String = "-1", + Optional Telefono As String = "", Optional CveModeloAuto As Integer = -1, Optional Año As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_OrdenesServiciosUpdate") @@ -649,6 +662,11 @@ Public Class ClsOS .Add("@CveOS", SqlDbType.Int).Value = CveOS .Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal .Add("@Direccion", SqlDbType.VarChar).Value = Direccion + + .Add("@Telefono", SqlDbType.VarChar).Value = Telefono + .Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto + .Add("@Año", SqlDbType.VarChar).Value = Año + End With Try diff --git a/Bancos/ConciliacionesBancarias.aspx.vb b/Bancos/ConciliacionesBancarias.aspx.vb index 1bb67144a..05a6e20ff 100644 --- a/Bancos/ConciliacionesBancarias.aspx.vb +++ b/Bancos/ConciliacionesBancarias.aspx.vb @@ -551,8 +551,9 @@ Partial Class Bancos_ConciliacionesBancariasaspx End Sub Protected Sub GeneraPDF(Formato As String) Dim params As List(Of ReportParameter) = New List(Of ReportParameter)() + Dim Imagen As System.IO.FileInfo = 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) + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString())) @@ -662,7 +663,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx params.Add(New ReportParameter("Filtros", Filtros)) If Imagen.Exists Then - params.Add(New ReportParameter("LogoPath", logouri)) + params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}")) Else params.Add(New ReportParameter("LogoPath", "")) End If diff --git a/Empresas/172/Formatos/OC.rdlc b/Empresas/172/Formatos/OC.rdlc index e9580c58c..2920340b9 100644 --- a/Empresas/172/Formatos/OC.rdlc +++ b/Empresas/172/Formatos/OC.rdlc @@ -682,6 +682,7 @@ DsOC + 0cm 0.04788in 0.36752in 8.15357in @@ -1702,7 +1703,7 @@ - Citrus Game, S.A. de C.V. + CITRUS GAME S.A.P.I. DE C.V. - + @@ -1394,7 +1397,7 @@ 20.06179cm 10 - = (Parameters!AplicaPagare.Value="0" OrElse Parameters!AplicaPagare.Value="") + true diff --git a/OS/RepServicioDomicilio.aspx b/OS/RepServicioDomicilio.aspx index 6a5edb7ba..1ea3a3297 100644 --- a/OS/RepServicioDomicilio.aspx +++ b/OS/RepServicioDomicilio.aspx @@ -1,5 +1,8 @@ <%@ Page Title="Reporte Servicio a Domicilio" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepServicioDomicilio.aspx.vb" Inherits="OS_RepServicioDomicilio" %> +<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %> + + @@ -87,19 +90,6 @@ height: 150px !important; } - /*#overlay a:hover { - position: fixed; - display: none; - width: 100%; - height: 100%; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0,0,0,0.5); - z-index: 2; - cursor: pointer; - }*/ #moopio a { @@ -137,8 +127,6 @@ - -
@@ -159,9 +147,7 @@
-
- - +
@@ -177,6 +163,24 @@
+ + +
+
+ Orden de Servicio: +
+
+ +
+
+ Asignar +
+
+
+
+ + +
@@ -411,6 +415,99 @@ + + @@ -454,10 +551,7 @@ function selectDate(start, end, allDay) { $('#ModalAgenda').modal('show'); - $("#SpanTituloAgenda").html("Agregar Evento");; - - //$("#< %=BtnGuardar.ClientID%>").val('Guardar'); - //$("#< %=BtnEliminar.ClientID%>").css("display", "none"); + $("#SpanTituloAgenda").html("Agregar Evento"); $("#HdnCveEvento").val(-1); @@ -490,9 +584,7 @@ function updateEvent(event, element) { $('#ModalAgenda').modal('show'); - //$("#SpanTituloAgenda").html("Actualizar Evento");; - //$("#< %=BtnGuardar.ClientID%>").val('Actualizar'); - //$("#< %=BtnEliminar.ClientID%>").css("display", ""); + $("#DivDescripcionUpdate").css("display", "block"); $("#<%=TxtDescripcionAgenda.ClientID%>").css("display", "none"); @@ -520,8 +612,7 @@ $("#TxtFechaFinAgenda").val("" + event.end.format("DD/MM/YYYY HH:mm")); //Identifica el tipo de Fecha Termino de la Recurrencia - if (event.recurrenciafin == 0) { - //$("#RBSinFechaFinUpdate").prop('checked', true); + if (event.recurrenciafin == 0) { $("#TxtFrecuencia").val('0'); } else if (!isNaN(event.recurrenciafin)) { $("#RBNumeroOcurrencias").prop('checked', true); @@ -776,7 +867,7 @@ select: selectDate, editable: true, minTime: "08:00:00", - maxTime: "17:00:00", + maxTime: "19:00:00", events: { url: '/Ashx/CargaEventos.ashx', type: 'GET', diff --git a/OS/RepServicioDomicilio.aspx.vb b/OS/RepServicioDomicilio.aspx.vb index 0551ba567..48e21a909 100644 --- a/OS/RepServicioDomicilio.aspx.vb +++ b/OS/RepServicioDomicilio.aspx.vb @@ -5,6 +5,8 @@ Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Imports System.Web.Services +Imports Telerik.Web.UI +Imports APP_Code_CSharp Partial Class OS_RepServicioDomicilio Inherits ClsPaginas @@ -59,6 +61,126 @@ Partial Class OS_RepServicioDomicilio End Property + Private Property DT_OSSubProyectos As DataTable + Get + If ViewState("DT_OSSubProyectos") Is Nothing Then + ViewState("DT_OSSubProyectos") = New DataTable + End If + Return DirectCast(ViewState("DT_OSSubProyectos"), DataTable) + + End Get + + Set(value As DataTable) + ViewState("DT_OSSubProyectos") = value + End Set + End Property + + Private Property DT_OSNoAsignadas As DataTable + Get + If ViewState("DT_OSNoAsignadas") Is Nothing Then + ViewState("DT_OSNoAsignadas") = New DataTable + End If + Return DirectCast(ViewState("DT_OSNoAsignadas"), DataTable) + + End Get + + Set(value As DataTable) + ViewState("DT_OSNoAsignadas") = value + End Set + End Property + + Private Property CveOSDetalleAsignar As Integer + Get + If ViewState("CveOSDetalleAsignar") Is Nothing Then + ViewState("CveOSDetalleAsignar") = -1 + End If + Return ViewState("CveOSDetalleAsignar").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveOSDetalleAsignar") = value + End Set + End Property + + Private Property CveSubProyectoAsignar As Integer + Get + If ViewState("CveSubProyectoAsignar") Is Nothing Then + ViewState("CveSubProyectoAsignar") = -1 + End If + Return ViewState("CveSubProyectoAsignar").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveSubProyectoAsignar") = value + End Set + End Property + + + + Private Property CveOSAsignar As Integer + Get + If ViewState("CveOSAsignar") Is Nothing Then + ViewState("CveOSAsignar") = -1 + End If + Return ViewState("CveOSAsignar").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveOSAsignar") = value + End Set + End Property + + + Private Property FolioAsignar As String + Get + If ViewState("FolioAsignar") Is Nothing Then + ViewState("FolioAsignar") = "" + End If + Return ViewState("FolioAsignar").ToString + End Get + Set(value As String) + ViewState("FolioAsignar") = value + End Set + End Property + + + Private Property ConceptoAsignar As String + Get + If ViewState("ConceptoAsignar") Is Nothing Then + ViewState("ConceptoAsignar") = "" + End If + Return ViewState("ConceptoAsignar").ToString + End Get + Set(value As String) + ViewState("ConceptoAsignar") = value + End Set + End Property + Private Property ClienteAsignar As String + Get + If ViewState("ClienteAsignar") Is Nothing Then + ViewState("ClienteAsignar") = "" + End If + Return ViewState("ClienteAsignar").ToString + End Get + Set(value As String) + ViewState("ClienteAsignar") = value + End Set + End Property + Private Property SubProyectoAsignar As String + Get + If ViewState("SubProyectoAsignar") Is Nothing Then + ViewState("SubProyectoAsignar") = "" + End If + Return ViewState("SubProyectoAsignar").ToString + End Get + Set(value As String) + ViewState("SubProyectoAsignar") = value + End Set + End Property + + + + + + + #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -66,12 +188,14 @@ Partial Class OS_RepServicioDomicilio CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyectoEtiqueta) LblSubProyectoFiltro.Text = LblSubProyectoEtiqueta.Text - - DdlTecnico.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) - DdlTecnico.DataBind() - DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1")) + LblModalSubProyectoLabel.Text = LblSubProyectoEtiqueta.Text + CargaTecnicos() + ConsultaOrdenesServiciosNoAsignadas() + CargaOrdenesServiciosNoAsignadas() + CargaTecnicosAsignar() InicializaCalendar() + End If End Sub @@ -115,6 +239,46 @@ Partial Class OS_RepServicioDomicilio ObjEventos.Dispose() End Sub + + Private Sub CargaTecnicos() + DdlTecnico.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) + DdlTecnico.DataBind() + DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub + + Private Sub CargaTecnicosAsignar() + + + Dim ObjOS As New ClsOS + Dim TecnicosSubProyectos As New DataTable + Dim TecnicosResultado As New DataTable + + If ObjOS.GetSubProyectosEstatusInicial(-1, 3, UsuarioActual.CveEmpresa) Then + TecnicosSubProyectos = ObjOS.DtResultados + End If + + For Each SubProyecto As DataRow In DT_OSSubProyectos.Rows + Dim TecnicosSubProyectoAux As DataTable = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))) + If TecnicosSubProyectoAux.Rows.Count > 0 Then + Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero + Dim dtAuxiliar As New DataTable + dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) + TecnicosResultado.Merge(dtAuxiliar) + End If + Next + 'DtTecnicosSubProyectos = TecnicosResultado + + ObjOS.Dispose() + + DdlTecnicoAsignar.DataSource = TecnicosResultado + DdlTecnicoAsignar.DataBind() + DdlTecnicoAsignar.Items.Insert(0, New ListItem("Seleccione uno", "-1")) + + UpModalOSAsginar.Update() + + End Sub + + Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Dim ObjEventos As New ClsOIEventos @@ -281,4 +445,325 @@ Partial Class OS_RepServicioDomicilio Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) RegistraScript("Calendario();") End Sub + + + Private Sub CargaOrdenesServiciosNoAsignadas() + + DdlOrdenesSinAsignar.DataSource = DT_OSNoAsignadas + DdlOrdenesSinAsignar.DataBind() + UpOrdenesSinAsignar.Update() + + End Sub + + + Private Sub ConsultaOrdenesServiciosNoAsignadas() + + Dim CveEstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus=1").ToEntero + + If CveEstatusOrdenServicio = 0 Then + Alert("No se pudo carga el estatus", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjOS As New ClsOS + + If ObjOS.GetOrdenesServiciosNoAsignadas(-1, -1, CveEstatusOrdenServicio, UsuarioActual.CveEmpresa, "-1", "-1") Then + DT_OSSubProyectos = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) + DT_OSNoAsignadas = ObjOS.DtResultados + Else + + DT_OSSubProyectos = New DataTable + DT_OSNoAsignadas = New DataTable + End If + + + + ObjOS.Dispose() + + + + If DT_OSNoAsignadas.Rows.Count > 0 Then + DVOSPendientes.Visible = True + Else + DVOSPendientes.Visible = False + End If + UpOrdenesSinAsignar.Update() + + End Sub + + + + Protected Sub LnkOrdenesSinAsignarMostarModal_Click(sender As Object, e As EventArgs) + + CveOSDetalleAsignar = -1 + CveOSAsignar = -1 + CveSubProyectoAsignar = -1 + Dim DTable As DataTable = DT_OSNoAsignadas.FiltraParametros($"CveOSDetalle={DdlOrdenesSinAsignar.SelectedValue}") + + + If DTable.Rows.Count = 1 Then + + CveOSDetalleAsignar = DTable.Rows(0)("CveOSDetalle").ToString.ToEntero + CveSubProyectoAsignar = DTable.Rows(0)("CveSubProyecto").ToString.ToEntero + CveOSAsignar = DTable.Rows(0)("CveOS").ToString.ToEntero + FolioAsignar = DTable.Rows(0)("Folio").ToString + + LblModalConcepto.Text = DTable.Rows(0)("Concepto").ToString + LblModalCliente.Text = DTable.Rows(0)("Nombre").ToString + LblModalSubProyecto.Text = DTable.Rows(0)("SubProyecto").ToString + + + UpModalOSAsginar.Update() + RegistraScript("$('#DVModalOSAsginar').modal('show');") + Else + Alert("Error al cargar datos.") + End If + + + + + End Sub + + + + Protected Sub LnkModalAsignar_Click(sender As Object, e As EventArgs) + + Dim TieneError As Boolean = False + Dim CveEstatusOS = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero + + Dim CorreoAsignado As String = "" + + Dim picker As MKB.TimePicker.TimeSelector = TSTimeSelector + Dim time As DateTime + time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtModalFechaOS.Text, picker.Hour, picker.Minute, picker.AmPm)) + + + Dim ObjOS As New ClsOS + ObjOS.IniciaTransacSQL() + + If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then + Dim subProyectoDelTecnico As DataTable + subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoAsignar}") + If subProyectoDelTecnico.Rows.Count > 0 Then + If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOSDetalleAsignar, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, time, UsuarioActual.CveEmpresa) Then + TieneError = True + End If + Else + Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia) + TieneError = True + End If + End If + + If Not TieneError Then + + If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusOS, UsuarioActual.CveUsuario, CveOSAsignar) Then + TieneError = True + End If + + + If Not TieneError Then + + Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1" + Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} Orden de servicio {FolioAsignar} " + + Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL()) + If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, time, time.AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, + RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2, + Importe:=0, CveOS:=CveOSAsignar, CveSubProyecto:=CveSubProyectoAsignar) Then + TieneError = True + End If + + End If + + CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString + + End If + + + If Not TieneError Then + ObjOS.Commit() + Else + ObjOS.RollBack() + End If + + ObjOS.Dispose() + + If Not TieneError And CorreoAsignado.Trim.Length > 0 Then + MandaCorreOS(CveOSAsignar, CorreoAsignado) + End If + + If Not TieneError Then + ConsultaOrdenesServiciosNoAsignadas() + Alert("Orden asignada correctamente.") + RegistraScript("$('#DVModalOSAsginar').modal('hide');Calendario();") + + End If + + End Sub + + + Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String) + + + + Dim ObjOS As New ClsOS() + Dim params As New List(Of ReportParameter) + Dim CveFolio = "" + + Dim TmpDTOS = New DataTable + TmpDTOS.Columns.Add("CveOSDetalle", GetType(Integer)) + + TmpDTOS.Columns.Add("CveClasificacion", GetType(Integer)) + TmpDTOS.Columns.Add("Clasificacion", GetType(String)) + TmpDTOS.Columns.Add("CvePS", GetType(Integer)) + TmpDTOS.Columns.Add("CveUM", GetType(Integer)) + TmpDTOS.Columns.Add("UM", GetType(String)) + TmpDTOS.Columns.Add("Cantidad", GetType(Integer)) + TmpDTOS.Columns.Add("PS", GetType(String)) + TmpDTOS.Columns.Add("Especificaciones", GetType(String)) + TmpDTOS.Columns.Add("Materiales", GetType(String)) + TmpDTOS.Columns.Add("CveCuentaEquipo", GetType(Integer)) + TmpDTOS.Columns.Add("Observaciones", GetType(String)) + TmpDTOS.Columns.Add("FechaAtencion", GetType(String)) + TmpDTOS.Columns.Add("CveUsuarioAtendio", GetType(Integer)) + TmpDTOS.Columns.Add("UsuarioAtendio", GetType(String)) + TmpDTOS.Columns.Add("FechaTermino", GetType(String)) + TmpDTOS.Columns.Add("FechaEntrega", GetType(String)) + TmpDTOS.Columns.Add("CveUsuarioEntrego", GetType(Integer)) + TmpDTOS.Columns.Add("UsuarioEntrego", GetType(String)) + TmpDTOS.Columns.Add("SeFacturara", GetType(String)) + TmpDTOS.Columns.Add("SeSuperviso", GetType(String)) + TmpDTOS.Columns.Add("Estatus", GetType(String)) + TmpDTOS.Columns.Add("Archivo", GetType(String)) + TmpDTOS.Columns.Add("ComentarioTecnico", GetType(String)) + + + Dim TmpDTMaterialesOS = New DataTable + TmpDTMaterialesOS.Columns.Add("CveOSDetalle", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveConsecutivo", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveConsecutivoDetalle", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveMaterial", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("Cantidad", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CveClasificacion", GetType(Integer)) + TmpDTMaterialesOS.Columns.Add("CvePS", GetType(String)) + TmpDTMaterialesOS.Columns.Add("CveUM", GetType(String)) + TmpDTMaterialesOS.Columns.Add("Clasificacion", GetType(String)) + TmpDTMaterialesOS.Columns.Add("PS", GetType(String)) + TmpDTMaterialesOS.Columns.Add("UM", GetType(String)) + + Dim FolioOS As String = "" + + Dim RutaReporte As New System.IO.FileInfo(String.Format("{0}Formatos/OrdenServicio.rdlc", UsuarioActual.Empresa.Ruta)) + + If ObjOS.GetOrdenesServicios(CveOS, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then + If ObjOS.DtResultados.Rows.Count > 0 Then + + Dim dtOS As DataTable = ObjOS.DtResultados + Dim dr As DataRow = dtOS.Rows(0) + params.Add(New ReportParameter("Cliente", dr("Cliente").ToString)) + params.Add(New ReportParameter("Solicito", dr("PersonaSolicito").ToString)) + params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) + params.Add(New ReportParameter("Recibio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaRecibido", dr("FechaRecepcion").ToString)) + params.Add(New ReportParameter("FolioOS", dr("Folio").ToString)) + FolioOS = dr("Folio").ToString + params.Add(New ReportParameter("ClienteTelefono", dr("Telefono").ToString)) + params.Add(New ReportParameter("ClienteCalle", dr("Direccion").ToString)) + params.Add(New ReportParameter("ClienteColonia", dr("Colonia").ToString)) + params.Add(New ReportParameter("ClienteCiudad", dr("Ciudad").ToString)) + params.Add(New ReportParameter("ClienteEstado", dr("Estado").ToString)) + CveFolio = dr("Folio").ToString + + If RutaReporte.Exists Then + params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString)) + params.Add(New ReportParameter("RFC", dr("RFC").ToString)) + params.Add(New ReportParameter("Vendedor", " ")) + params.Add(New ReportParameter("Correo", dr("Correo").ToString)) + params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString)) + params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString)) + params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString)) + params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString)) + params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString)) + params.Add(New ReportParameter("Copia", "Copia: Original")) + params.Add(New ReportParameter("Equipo", dr("Equipo").ToString)) + End If + End If + End If + + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + + If Not RutaReporte.Exists Then + + RutaReporte = New System.IO.FileInfo(String.Format("{0}Empresas\Grales\Formatos\OrdenServicio.rdlc", ModExtensiones.DirectorioBaseEmpresas)) + + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) + + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}")) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + + End If + + If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then + TmpDTOS = ObjOS.DtResultados + End If + + If ObjOS.GetDetalleMateriales(-1, CveOS) Then + TmpDTMaterialesOS = ObjOS.DtResultados + End If + Dim lrds As New List(Of ReportDataSource) + Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS} + Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTOS} + + lrds.Add(rds) + lrds.Add(rds2) + ObjOS.Dispose() + + Dim ReporteByte As Byte() = StreamPDF(RutaReporte.FullName, lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio)) + + If ReporteByte IsNot Nothing Then + Try + ViewState("Para") = CorreoUsuarioAsignado + ViewState("ArrayCC") = "" + ViewState("Asunto") = "Asinación Orden de Servicio" + ViewState("FolioOSMail") = FolioOS + ViewState("Body") = "Asinación Orden de Servicio" + + + ViewState("bytesOS") = ReporteByte + Dim Hilo As New Threading.Thread(AddressOf SendmailOS) + Hilo.Start() + Catch ex As Exception + GuardaLogAD($"Error al enviar correo de OS {ex.StackTrace}") + End Try + + End If + + + + + End Sub + + Private Sub SendmailOS() + + Dim Asunto, Para, ArrayCC, Body As String + Asunto = If(IsNothing(ViewState("Asunto")), "", ViewState("Asunto").ToString) + Para = If(IsNothing(ViewState("Para")), "", ViewState("Para").ToString) + ArrayCC = If(IsNothing(ViewState("ArrayCC")), "", ViewState("ArrayCC").ToString) + + Body = If(IsNothing(ViewState("Body")), "", ViewState("Body").ToString) + + + Dim Mail As New ClsSisMail() + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.NombreArchivo = $"OS_{ViewState("FolioOSMail") }.pdf", .ArchivoBinario = DirectCast(ViewState("bytesOS"), Byte())}) + Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC, LSRutasMail) + + + End Sub + End Class