This commit is contained in:
2023-12-13 19:40:41 -07:00
8 changed files with 369 additions and 31 deletions

View File

@@ -70,6 +70,7 @@ Public Class ClsOS
Public Property CveMedico As Integer = -1
Public Property CveProcedimiento As Integer = -1
Public Property CveTipoVenta As Integer = -1
Public Property CveVenta As Integer = -1
Public Property Paciente As String
Public Property IdentificadorCliente As String
@@ -591,6 +592,7 @@ Public Class ClsOS
Me.CveTipoVenta = Data.Rows(0)("CveTipoVenta").ToString.ToEntero
Me.Paciente = Data.Rows(0)("Paciente").ToString
Me.IdentificadorCliente = Data.Rows(0)("IdentificadorCliente").ToString
Me.CveVenta = Data.Rows(0)("CveVenta").ToString.ToEntero
End If
Retorno = True
@@ -1323,6 +1325,29 @@ Public Class ClsOS
Return Retorno
End Function
Public Function GetOrdenesServicioDevolucionMaterial(CveOS As Integer, CveVenta As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OS_OrdenesServicioDevolucionMaterialGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveOS", SqlDbType.Int).Value = CveOS
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los productos de devolución.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetCotizacionOS(CveCotizacion As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OS_GetCotizacionOS")

View File

@@ -84,7 +84,7 @@
<TextRun>
<Value>=Parameters!Beneficiario.Value</Value>
<Style>
<FontSize>11pt</FontSize>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>

View File

@@ -3010,6 +3010,15 @@ Partial Class Inventarios_EntregaAlmacen
OnError("Ocurrió un error al guardar", ex)
End Try
If EsDevolucionVenta = 1 AndAlso CveOSSurtir > 0 AndAlso TipoMovimiento = 2 Then
If Not CierreOS(CveOSSurtir) Then
ErrorMovInv = True
Alert("Error al finalizar orden de servicio", TipoMensaje.MsgError)
End If
End If
If Not ErrorMovInv Then
ObjInventario.Commit()
@@ -4217,5 +4226,25 @@ Partial Class Inventarios_EntregaAlmacen
End If
End Sub
End Sub
Private Function CierreOS(CveOSCerrar As Integer) As Boolean
Dim Respuesta As Boolean = True
Dim CveOSEstatusFinalizada As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 4").ToEntero
If CveOSEstatusFinalizada > 0 Then
Dim ObjOS As New ClsOS()
Respuesta = ObjOS.UpdateOrdenesServiciosEstatus(CveOSEstatusFinalizada, UsuarioActual.CveUsuario, CveOSCerrar)
ObjOS.Dispose()
Else
Alert("No se pudo obtener el estado para finalizar la orden de servicio.")
Respuesta = False
End If
Return Respuesta
End Function
End Class

View File

@@ -8,7 +8,10 @@
.dSala {
width: 90px;
}
.dSalaz input {
width: 50px;
text-align: right;
}
.dlab {
width: 50px;
}
@@ -58,8 +61,13 @@
</asp:DropDownList>
</div>
<label class="col-md-1" style="width: 60px !important;"></label>
<label class="col-md-1" style="width: 60px !important;">ISR</label>
<div class="col-md-2">
<asp:DropDownList ID="ddltipoCalculo" runat="server" CssClass="select2me" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Método del Reglamento de la Ley del Impuesto Sobre la Renta (artículo 174)" Value="1"></asp:ListItem>
<asp:ListItem Text="Método de la Ley del ISR" Value="2"></asp:ListItem>
<asp:ListItem Text="Mixto(ISR Menor)" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-3">
<asp:Button ID="BtnCalcular" runat="server" Text="Calcular" OnClick="BtnCalcular_Click" class="btn btn-primary" />
@@ -211,26 +219,36 @@
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>
Días <br /> aguinaldo
Días <br /> pago
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lbldiasAguinaldoprop" runat="server" Text='<%# Eval("diasPropAgui", "{0:N2}")%>'> </asp:Label>
<asp:TextBox ID="TxtdiasAguinaldoprop" runat="server" Text='<%# Eval("diasPropAgui", "{0:N2}")%>'> </asp:TextBox>
<%--<asp:Label ID="lbldiasAguinaldoprop" runat="server" Text='<%# Eval("diasPropAgui", "{0:N2}")%>'> </asp:Label>--%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="" />
<ItemStyle HorizontalAlign="Right" CssClass="dSalaz" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Ajuste">
<asp:TemplateField >
<HeaderTemplate>
Aguinaldo
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtAjuste" runat="server" Text=''> </asp:TextBox>
<asp:Label ID="lblsueldoAguinaldoz" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Ajuste($)">
<ItemTemplate>
<asp:TextBox ID="TxtAjuste" runat="server" Text='<%# Eval("Ajuste", "{0:N2}")%>'> </asp:TextBox>
<asp:Label ID="lblAjuste" runat="server" > </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>
Aguinaldo <br /> completo
Aguinaldo <br /> Por Pagar
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsueldoAguinaldoCompleto" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
<asp:Label ID="lblsueldoAguinaldo" runat="server" Text='<%# Eval("Aguinaldo", "${0:N2}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
@@ -274,6 +292,25 @@
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Total Gravado" >
<ItemTemplate>
<asp:Label ID="lbltotalgravado" runat="server" > </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="I.S.R. Total">
<ItemTemplate>
<asp:Label ID="lblISRTotal" runat="server" > </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="I.S.R. Mensual">
<ItemTemplate>
<asp:Label ID="lblISRMensual" runat="server" > </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="I.S.R.">
<ItemTemplate>

View File

@@ -24,11 +24,24 @@ public partial class Nomina_Aguinaldo : ClsPaginas
ViewState["DTAguinaldos"] = value;
}
}
private int tipocalculo
{
get
{
return ViewState["tipocalculo"].ToString().ToEntero();
}
set
{
ViewState["tipocalculo"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
tipocalculo = 1;
using (ClsNominas objnom = new ClsNominas())
{
@@ -197,10 +210,10 @@ public partial class Nomina_Aguinaldo : ClsPaginas
CveNomina = gvrow.DataKey("CveNomina").ToEntero();
CvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
CveMetodoPago = gvrow.DataKey("CveMetodoPago").ToEntero();
Importe = gvrow.FCLabel("lblsueldoAguinaldoCompleto").Text.ToDecimal();
Importe = gvrow.FCLabel("lblsueldoAguinaldo").Text.ToDecimal();
ImporteGravado = gvrow.FCLabel("lblAguinaldoGravado").Text.ToDecimal();
ImporteExento = Importe - ImporteGravado;
ImporteValor = gvrow.FCLabel("lbldiasAguinaldoprop").Text.ToEntero();
ImporteValor = gvrow.FCTextBox("TxtdiasAguinaldoprop").Text.ToEntero();
importeAjuste = gvrow.FCTextBox("TxtAjuste").Text.ToDecimal();
ImporteDescuento = gvrow.FCTextBox("TxtDescuento").Text.ToDecimal();
@@ -347,13 +360,21 @@ public partial class Nomina_Aguinaldo : ClsPaginas
protected void BtnRecalcular_Click(object sender, EventArgs e)
{
tipocalculo = ddltipoCalculo.SelectedValue.ToEntero();
GVCalcularAguinaldo.Columns[13].Visible = (tipocalculo ==1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[14].Visible = (tipocalculo == 1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[15].Visible = (tipocalculo == 1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[16].Visible = (tipocalculo == 1 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[17].Visible = (tipocalculo == 2 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[18].Visible = (tipocalculo == 2 || tipocalculo == 3);
GVCalcularAguinaldo.Columns[19].Visible = (tipocalculo == 2 || tipocalculo == 3);
decimal uma = LtlUma.Text.ToDecimal();
decimal aguiexentogral = uma * 30;
decimal salarioAguinaldo = 0;
decimal salariodiario = 0;
decimal diasanio = 365;
decimal diaslaborados = 0;
decimal diasaguinaldo = 0;
//decimal diaslaborados = 0;
//decimal diasaguinaldo = 0;
decimal diasaguipago = 0;
decimal salariomensual = 0;
decimal aguinaldo = 0;
@@ -388,6 +409,11 @@ public partial class Nomina_Aguinaldo : ClsPaginas
decimal ISRTOTAL = 0;
decimal AguinaldoapagarTotal = 0;
decimal totalgravado= 0;
decimal isrtotalgravado = 0;
decimal isrmensual= 0;
decimal lisr = 0;
GridViewRow gvrowTotal = null;
GridViewRow gvrowSubProyecto = null;
int CvePersonal = 0;
@@ -402,11 +428,11 @@ public partial class Nomina_Aguinaldo : ClsPaginas
CvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
salarioAguinaldo = gvrow.FCTextBox("TxtSalarioAguinaldo").Text.ToDecimal();
salariodiario = gvrow.FCTextBox("TxtsueldoDiario").Text.ToDecimal();
diaslaborados = gvrow.FCLabel("TxtdiasLaborados").Text.ToDecimal();
diasaguinaldo = gvrow.FCLabel("TxtdiasAguinaldo").Text.ToDecimal();
//diaslaborados = gvrow.FCLabel("TxtdiasLaborados").Text.ToDecimal();
//diasaguinaldo = gvrow.FCLabel("TxtdiasAguinaldo").Text.ToDecimal();
descuento = gvrow.FCTextBox("TxtDescuento").Text.ToDecimal();
ajuste = gvrow.FCTextBox("TxtAjuste").Text.ToDecimal();
//aguinaldoExcentoreg = gvrow.FCTextBox("TxtAguinaldoExento").Text.ToDecimal();
//aguinaldoExcentoreg = gvrow.FCTextBox("TxtAguinaldoExento").Text.ToDecimal(); TxtdiasAguinaldoprop
if (CvePersonal > 0)
{
@@ -414,7 +440,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
if (salariodiario > 0)
{
diasaguipago = (diaslaborados / diasanio) * diasaguinaldo;
diasaguipago = gvrow.FCTextBox("TxtdiasAguinaldoprop").Text.ToDecimal();// (diaslaborados / diasanio) * diasaguinaldo;
salariomensual = salariodiario * 30;
aguinaldo = (diasaguipago * salarioAguinaldo)+ ajuste;
/*if (gvrow.FCTextBox("TxtAguinaldoExento").Text.Length > 0)
@@ -429,6 +455,23 @@ public partial class Nomina_Aguinaldo : ClsPaginas
aguinaldogravado = aguinaldo - aguinaldoexcento;
if (aguinaldogravado > 0)
{
totalgravado = aguinaldogravado + salariomensual;
if (objbase.CalculosISRAguinaldo(totalgravado, salariomensual, diasmes, DdlEjercicios.SelectedValue.ToEntero()))
{
DataRow drow = objbase.DtResultados.Rows[0];
isrtotalgravado = drow["isrFraccionII_2"].ToString().ToDecimal();
isrmensual = drow["isrFraccionIII_1"].ToString().ToDecimal();
}
else { break; }
lisr = isrtotalgravado- isrmensual;
FraccionI = (aguinaldogravado / diasanio) * diasmes;
FraccionII_1 = salariomensual + FraccionI;
//str.Clear();
@@ -462,7 +505,14 @@ public partial class Nomina_Aguinaldo : ClsPaginas
aguinaldogravado = 0;
FraccionIV = 0;
}
if (tipocalculo == 2)
{
FraccionIV = lisr;
}
if (tipocalculo == 3 && FraccionIV > lisr)
{
FraccionIV = lisr;
}
Aguinaldoapagar = Aguinaldoapagar - descuento;
aguinaldogravadoSubproyeto += aguinaldogravado;
@@ -481,7 +531,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
aguinaldoTotal += aguinaldo;
AguinaldoapagarTotal += Aguinaldoapagar;
gvrow.FCLabel("lblsueldoAguinaldoCompleto").Text = string.Format("${0:N2}", aguinaldo);
gvrow.FCLabel("lblsueldoAguinaldo").Text = string.Format("${0:N2}", aguinaldo);
gvrow.FCLabel("lblAguinaldoGravado").Text = string.Format("${0:N2}", aguinaldogravado);
gvrow.FCLabel("lblFraccion1").Text = string.Format("${0:N2}", FraccionI);
@@ -489,6 +539,9 @@ public partial class Nomina_Aguinaldo : ClsPaginas
gvrow.FCLabel("lblFraccion3").Text = string.Format("${0:N2}", FraccionIII_2);
gvrow.FCLabel("lblFraccion4").Text = string.Format("${0:N2}", FraccionIV);
gvrow.FCLabel("lbltotalgravado").Text = string.Format("${0:N2}", totalgravado);
gvrow.FCLabel("lblISRTotal").Text = string.Format("${0:N2}", isrtotalgravado);
gvrow.FCLabel("lblISRMensual").Text = string.Format("${0:N2}", isrmensual);
gvrow.FCLabel("lblISRAguinaldo").Text = string.Format("${0:N2}", FraccionIV);
gvrow.FCLabel("lblAguinaldo").Text = string.Format("${0:N2}", Aguinaldoapagar);
@@ -502,7 +555,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
gvrowSubProyecto.FCLabel("lblAguinaldoGravado").Text = string.Format("${0:N2}", aguinaldogravadoSubproyeto);
gvrowSubProyecto.FCLabel("lblDescuento").Text = string.Format("${0:N2}", descuentoSubproyeto);
gvrowSubProyecto.FCLabel("lblAjuste").Text = string.Format("${0:N2}", ajusteSubproyeto);
gvrowSubProyecto.FCLabel("lblsueldoAguinaldoCompleto").Text = string.Format("${0:N2}", aguinaldoSubproyeto);
gvrowSubProyecto.FCLabel("lblsueldoAguinaldo").Text = string.Format("${0:N2}", aguinaldoSubproyeto);
gvrowSubProyecto.FCLabel("lblAguinaldo").Text = string.Format("${0:N2}", AguinaldoapagarTotalSubproyeto);
}
if (CveSubProyecto > 0)
@@ -519,7 +572,8 @@ public partial class Nomina_Aguinaldo : ClsPaginas
AguinaldoapagarTotalSubproyeto = 0;
descuentoSubproyeto = 0;
ajusteSubproyeto = 0;
gvrow.CssClass = "Totales"; gvrow.FCTextBox("TxtDescuento").Visible = false; gvrow.FCTextBox("TxtAjuste").Visible = false;
gvrow.CssClass = "Totales"; gvrow.FCTextBox("TxtDescuento").Visible = false; gvrow.FCTextBox("TxtAjuste").Visible = false;
gvrow.FCTextBox("TxtdiasAguinaldoprop").Visible = false;
}
}
@@ -530,7 +584,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
gvrowSubProyecto.FCLabel("lblAguinaldoGravado").Text = string.Format("${0:N2}", aguinaldogravadoSubproyeto);
gvrowSubProyecto.FCLabel("lblDescuento").Text = string.Format("${0:N2}", descuentoSubproyeto);
gvrowSubProyecto.FCLabel("lblAjuste").Text = string.Format("${0:N2}", ajusteSubproyeto);
gvrowSubProyecto.FCLabel("lblsueldoAguinaldoCompleto").Text = string.Format("${0:N2}", aguinaldoSubproyeto);
gvrowSubProyecto.FCLabel("lblsueldoAguinaldo").Text = string.Format("${0:N2}", aguinaldoSubproyeto);
gvrowSubProyecto.FCLabel("lblAguinaldo").Text = string.Format("${0:N2}", AguinaldoapagarTotalSubproyeto);
}
if (gvrowTotal != null)
@@ -539,7 +593,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
gvrowTotal.FCLabel("lblAguinaldoGravado").Text = string.Format("${0:N2}", aguinaldogravadoTotal);
gvrowTotal.FCLabel("lblDescuento").Text = string.Format("${0:N2}", descuentoTotal);
gvrowTotal.FCLabel("lblAjuste").Text = string.Format("${0:N2}", ajusteTotal);
gvrowTotal.FCLabel("lblsueldoAguinaldoCompleto").Text = string.Format("${0:N2}", aguinaldoTotal);
gvrowTotal.FCLabel("lblsueldoAguinaldo").Text = string.Format("${0:N2}", aguinaldoTotal);
gvrowTotal.FCLabel("lblAguinaldo").Text = string.Format("${0:N2}", AguinaldoapagarTotal);
}
@@ -566,10 +620,10 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Cell(fila, cxc++).Value = "Salario diario";
libro.Cell(fila, cxc++).Value = "Salario Aguinaldo";
libro.Cell(fila, cxc++).Value = "Días laborados";
libro.Cell(fila, cxc++).Value = "Días Faltados";//lbldiasAguinaldoprop
libro.Cell(fila, cxc++).Value = "Días Incapacidad";//lbldiasAguinaldoprop
libro.Cell(fila, cxc++).Value = "Días Faltados";
libro.Cell(fila, cxc++).Value = "Días Incapacidad";
libro.Cell(fila, cxc++).Value = "Días base";
libro.Cell(fila, cxc++).Value = "Días aguinaldo";//lbldiasAguinaldoprop
libro.Cell(fila, cxc++).Value = "Días aguinaldo";
libro.Cell(fila, cxc++).Value = "Ajuste";//TxtAjuste
libro.Cell(fila, cxc++).Value = "Aguinaldo completo";
libro.Cell(fila, cxc++).Value = "Aguinaldo gravado";
@@ -613,12 +667,12 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("TxtdiasFaltados").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("TxtdiasIncapacidad").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("TxtdiasAguinaldo").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lbldiasAguinaldoprop").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCTextBox("TxtdiasAguinaldoprop").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCTextBox("TxtAjuste").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblsueldoAguinaldoCompleto").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblsueldoAguinaldo").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblAguinaldoGravado").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblsueldoAguinaldoCompleto").Text.ToDecimal() - gvrow.FCLabel("lblAguinaldoGravado").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblsueldoAguinaldo").Text.ToDecimal() - gvrow.FCLabel("lblAguinaldoGravado").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblFraccion1").Text.ToDecimal();
libro.Cell(fila, cxc++).Value = gvrow.FCLabel("lblFraccion2").Text.ToDecimal();

View File

@@ -13,6 +13,9 @@
<li>
<asp:LinkButton ID="ImgImprimir" runat="server"> <i class="fa fa-ad-pdf"></i> Imprimir Orden</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkAccionesDevolucion" runat="server" OnClick="LnkAccionesDevolucion_Click" Visible="false"> <i class="fa fa-plus"></i> Devolución Material</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ImgImprimir" />
@@ -1259,6 +1262,67 @@
<%--MODAL FINALIZAR ORDEN INICIO --%>
<div id="DVModalSolicitarDevolucion" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalSolicitarDevolucion" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" >Solicitar Devolución</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvSolicitarDevolucion" runat="server" AutoGenerateColumns="False" EmptyDataText="No se han capturado Historial"
DataKeyNames="CveVentaDetalle,Cantidad"
CssClass="table table-striped table-advance table-hover Widthall" GridLines="None" OnRowDataBound="GvSolicitarDevolucion_RowDataBound">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Cant.</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LblCantidad" runat="server" Text='<%# Eval("Cantidad") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Dev</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtDev" runat="server" Width="50px" ></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" FilterType="Custom" TargetControlID="TxtDev" ValidChars="123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Concepto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlcodigoPS" runat="server" Text='<%# Eval("CodigoPS") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkModalSolicitarDevolucion" runat="server" CssClass="btn btn-primary" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si"
OnClick="LnkModalSolicitarDevolucion_Click" >Guardar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<%--MODAL FINALIZAR ORDEN INICIO --%>
</asp:Content>
<asp:Content ID="content7" ContentPlaceHolderID="JS" runat="server">
<script src="/Scripts/DataTables.js"></script>
@@ -1405,5 +1469,15 @@
});
$('#GvMateriales').parent().parent().children().first().css("position", "static");
}
function ValidarCantidad(t, c) {
if (t.value > c) {
t.value = c;
}
}
</script>
</asp:Content>

View File

@@ -7,6 +7,10 @@ Imports System.Data
Imports Microsoft.Reporting.WebForms
Imports ADSNetLibrary.SIGAPI.Models.Sistema
Imports Telerik.Charting.Styles
Imports Telerik.Web.UI
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports Profact.TimbraCFDI.Complementos.InstitucionesEducativas
'Imports msExcel = Microsoft.Office.Interop.Excel
'Imports VBIDE
@@ -84,6 +88,22 @@ Partial Class OS_OrdenesServicios
ViewState("CveOS") = value
End Set
End Property
Private Property CveVenta As Integer
Get
If ViewState("CveVenta") Is Nothing Then
ViewState("CveVenta") = -1
End If
Return ViewState("CveVenta").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveVenta") = value
End Set
End Property
Private Property CveOsDetalle As Integer
Get
Return ViewState("CveOsDetalle").ToString.ToEntero
@@ -286,6 +306,7 @@ Partial Class OS_OrdenesServicios
TipoEstatus = 1
CveConsecutivo = 0
CveOsDetalle = -1
CveVenta = -1
CveUsuarioAtendioCount = 0
ImgImprimir.Visible = False
@@ -613,6 +634,7 @@ Partial Class OS_OrdenesServicios
SeFacturara = GlobalDTTipoOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("SeFacturara", String.Format("CveOrdenServicioTipo = {0}", ObjOS.CveOSTipo))
CveTecnico = ObjOS.CveUsuarioAtendio
CargarEstatusDelUsuario(TipoEstatus)
CveVenta = ObjOS.CveVenta
'Dim validacionTieneEstatus As Integer = EstatusOSDelUsuario.FiltraParametros(String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio)).Rows.Count
@@ -677,6 +699,11 @@ Partial Class OS_OrdenesServicios
CargaEventoBitacora()
CargaHistorial()
If CveVenta > 0 And TipoEstatus.Contiene(1, 2, 3) Then
LnkAccionesDevolucion.Visible = True
End If
Else
Alert("La Orden de Servicio Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
@@ -3003,4 +3030,91 @@ Partial Class OS_OrdenesServicios
End Sub
Protected Sub LnkAccionesDevolucion_Click(sender As Object, e As EventArgs)
LnkModalSolicitarDevolucion.Visible = True
GvSolicitarDevolucion.DataSource = Nothing
Dim ObjOS As New ClsOS
Dim DTTemp As New DataTable
If ObjOS.GetOrdenesServicioDevolucionMaterial(CveOS, CveVenta, UsuarioActual.CveEmpresa) Then
DTTemp = ObjOS.DtResultados
GvSolicitarDevolucion.DataSource = DTTemp
End If
ObjOS.Dispose()
GvSolicitarDevolucion.DataBind()
Dim EsDevolucionVenta As Boolean = (DTTemp.FiltroPrimeroValor("EsDevolucionVenta", "").ToEntero > 0)
RegistraScript("$('#DVModalSolicitarDevolucion').modal();")
If EsDevolucionVenta Then
Alert("Ya existe una solicitud de devolución", TipoMensaje.MsgAdvertencia)
LnkModalSolicitarDevolucion.Visible = False
End If
UpModalSolicitarDevolucion.Update()
End Sub
Protected Sub GvSolicitarDevolucion_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCTextBox("TxtDev").Attributes.Add("onblur", String.Format("ValidarCantidad(this, {0})", e.Row.DataKey("Cantidad")))
End If
End Sub
Protected Sub LnkModalSolicitarDevolucion_Click(sender As Object, e As EventArgs)
Dim PropcesoOK As Boolean = True
Dim ObjV As New ClsVentas
ObjV.IniciaTransacSQL()
If Not ObjV.UpdateVentasDevolucionAlmacen(1, CveVenta) Then
PropcesoOK = False
End If
If PropcesoOK Then
For Each GvRow As GridViewRow In GvSolicitarDevolucion.Rows
Dim CveVentaDetalle As Integer = GvRow.DataKey("CveVentaDetalle").ToEntero
Dim CantidadDev As Decimal = GvRow.FCTextBox("TxtDev").Text.ToDecimal
If CantidadDev > 0 Then
If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then
PropcesoOK = False
Exit For
End If
End If
Next
End If
If PropcesoOK Then
'ObjV.RollBack()
ObjV.Commit()
Alert("La solicitud de Devolución de Almacén se guardó correctamente")
RegistraScript("$('#DVModalSolicitarDevolucion').modal('hide');")
Else
ObjV.RollBack()
End If
ObjV.Dispose()
End Sub
End Class

View File

@@ -13145,6 +13145,11 @@ Partial Class Ventas
End If
End If
If UsuarioActual.CveEmpresa.Contiene(186) AndAlso EsVentaMedica AndAlso RBLTipoVenta.SelectedValue.ToEntero <> 2 Then
CveAlmacenTraspasoDestino = 1031 'FIXME OIC 2023-12-12 Por definir almacen
End If
Dim TotalImpuestoLocal As Double = 0
If GvImpuestosLocales2.Rows.Count > 0 Then
For Each gvr As GridViewRow In GvImpuestosLocales2.Rows