Compras Contratos

This commit is contained in:
rakcsle
2021-04-19 10:32:43 -07:00
parent 9a5bbbf1fb
commit ef2ee4d324
3 changed files with 181 additions and 32 deletions

View File

@@ -122,6 +122,19 @@
</ContentTemplate>
</asp:UpdatePanel>
<%--2021-04-15 contratos de obra--%>
<asp:UpdatePanel ID="UpAccionesContratosObra" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li style="text-align: left!important" runat="server" id="LIContratos" visible="false">
<asp:LinkButton runat="server" ID="LnkAcontratos" CssClass="" data-toggle="tooltip" data-placement="left" OnClick="LnkAcontratos_Click" title="Contratos" Text="<i class='fa fa-file-text'></i> Contratos"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
@@ -5332,16 +5345,12 @@
</div>
</div>--%>
<div id="DivmodalConmtrato" class="modal ADS fade">
<div id="DivmodalConmtrato" class="modal ADS fade">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalContrato" runat="server" class="modal-content rowpadding" tabindex="-1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4>
@@ -5353,25 +5362,25 @@
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList runat="server" ID="DdlContratosObra" AutoPostBack="true" OnSelectedIndexChanged="DdlContratosObra_SelectedIndexChanged" DataTextField="ContratoCompleto" DataValueField="CveContrato" CssClass="form-control input-sm select2me" Width="100%">
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlContratosObra.ClientID.ToString()%>">Contrato:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList runat="server" ID="DdlContratosObra" AutoPostBack="true" OnSelectedIndexChanged="DdlContratosCompras_SelectedIndexChanged" DataTextField="ContratoCompleto" DataValueField="CveContrato" CssClass="form-control input-sm select2me" Width="100%">
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlContratosObra.ClientID.ToString()%>">Contrato:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoGastoObra" runat="server" DataTextField="TipoGasto" DataValueField="CveTipoGasto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Width="100%">
<asp:DropDownList ID="DdlTipoGastoContrato" runat="server" DataTextField="TipoGasto" DataValueField="CveTipoGasto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoGastoObra.ClientID.ToString()%>">Tipo de Gasto:</label>
<label for="<%= DdlTipoGastoContrato.ClientID.ToString()%>">Tipo de Gasto:</label>
<asp:RequiredFieldValidator runat="server" Enabled="true" InitialValue="-1" Display="None" ID="RFVDdlTipoGastoObra" ControlToValidate="DdlTipoGastoObra" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Gasto''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpAplicaContrato"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="CERFVDdlTipoGastoObra" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlTipoGastoObra" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator runat="server" Enabled="true" InitialValue="-1" Display="None" ID="RFVDdlTipoGastoContrato" ControlToValidate="DdlTipoGastoContrato" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Gasto''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpAplicaContrato"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="CERFVDdlTipoGastoContrato" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlTipoGastoContrato" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
@@ -5382,7 +5391,7 @@
<div class="col-md-12">
<asp:GridView ID="GvContratosControl" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron partidas"
DataKeyNames="CveContratoDetalle,CvePS,PS,Cantidad,PU,CantidadMax,CveUnidadMedida,Abreviatura,CveSubProyecto,SubProyecto,Codigo,CveProyecto,Proyecto,IVA,RetISR,RetIVA,IEPSPorcentaje,IEPSGrabaIVA,CveClasificacion,Clasificacion,CveTipoPS,CveSATPS"
DataKeyNames="CveContratoDetalle,CvePS,PS,Cantidad,PU,CantidadMax,CveUnidadMedida,Abreviatura,CveSubProyecto,SubProyecto,Codigo,CveProyecto,Proyecto,IVA,RetISR,RetIVA,IEPSPorcentaje,IEPSGrabaIVA,CveClasificacion,Clasificacion"
CssClass="table GVEstimacion table-advance table-hover" GridLines="None" Width="100%">
<Columns>
@@ -5394,21 +5403,21 @@
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" Text="" type="number" step="any"
<asp:TextBox ID="TxtCantidad" Text="" CssClass="txtcant" onkeyup="ValidateCantCon(this)" type="number" step="any"
data-cantidad='<%# Eval("CantidadMax")%>' data-pu='<%# Eval("PU")%>' data-cve='<%# Eval("CveContratoDetalle") %>'
Width="90" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PU">
<ItemTemplate>
<asp:TextBox runat="server" ID="TxtPU" Text='<%# Eval("PU", "{0:N2}")%>' type="number" step="any" Width="60px">
</asp:TextBox>
<span><%# Eval("PU", "{0:N2}")%></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:TextBox ID="TxtImporte" Text="" CssClass='<%# String.Format("ImporteCSS CssImporte{0}", Eval("CveContratoDetalle")) %>' type="number" step="any" Width="90" runat="server" onkeydown="keydownenabledtab(event)"></asp:TextBox>
<asp:TextBox ID="TxtImporte" Text="" data-cve='<%# Eval("CveContratoDetalle") %>' CssClass="txtimporte" type="number" step="any" Width="90" runat="server" onkeydown="keydownenabledtab(event)"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
@@ -5418,17 +5427,12 @@
</div>
</div>
<div class="col-md-10" style="text-align: right!important">Sub Total: </div>
<div class="col-md-2">
<asp:Label runat="server" ClientIDMode="Static" ID="LblTotalContrato"></asp:Label>
</div>
<br />
</div>
<div class="modal-footer">
<asp:Button ID="BtnAplicarContrato" runat="server" Text="Aceptar" ClientIDMode="Static" CssClass="btn btn-success" OnClick="BtnAplicarContrato_Click" ValidationGroup="GrpAplicaContrato" CausesValidation="true" />
<div class="modal-footer">
<asp:Button ID="BtnAplicarContrato" runat="server" Text="Aceptar" ClientIDMode="Static" CssClass="btn btn-success" OnClick="BtnAplicarContrato_Click" Visible="false" ValidationGroup="GrpAplicaContrato" CausesValidation="true" />
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
@@ -5438,6 +5442,9 @@
</div>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="JS" runat="server">
<script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script>
@@ -6607,6 +6614,26 @@
}
function ValidateCantCon(variable) {
var txt = $(variable);
var max = txt.data('cantidad');
var value = parseInt(txt.val());
if (value > max) {
txt.val(max);
}
if (value < 0) {
txt.val(0);
}
var importe = $('.txtimporte[data-cve="' + txt.data('cve') + '"]');
importe.val(parseFloat(txt.val()) * parseFloat(txt.data('pu')));
}
</script>
</asp:Content>

View File

@@ -1478,6 +1478,10 @@ Partial Class Compras_Compras
UpLnkPaqueteriaGuias.Update()
End If
If Not CveCompra > 0 And UsuarioActual.CveRol = 1 Then
LIContratos.Visible = True
End If
'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
LblSaldoFactura.Text = If(CveCompra > 0, Saldo.FormatoNumero, TxtTotal.Text.FormatoNumero)
'cuando es factura con amortizacion, el importe a descontar es el saldo que se debe de aplicar para la amortizacion
@@ -20821,10 +20825,128 @@ Partial Class Compras_Compras
End Sub
Protected Sub BtnAplicarContrato_Click(sender As Object, e As EventArgs)
#Region "Contratos Obra"
Protected Sub LnkAcontratos_Click(sender As Object, e As EventArgs)
DdlContratosObra.Items.Clear()
DdlContratosObra.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}"))
DdlContratosObra.DataBind()
DdlContratosObra.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlTipoGastoContrato.Items.Clear()
DdlTipoGastoContrato.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGastoContrato.DataBind()
DdlTipoGasto.Items.Insert(0, New ListItem("Seleccione", "-1"))
RegistraScript("$('#DivmodalConmtrato').modal('show')")
UpModalContrato.Update()
End Sub
Protected Sub DdlContratosCompras_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlContratosObra.SelectedValue.ToEntero > 0 Then
Dim ObjContratos As New ClsContratos()
If ObjContratos.GetContratosObraCompras(DdlContratosObra.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjContratos.DtResultados.Rows.Count > 0 Then
GvContratosControl.DataSource = ObjContratos.DtResultados
BtnAplicarContrato.Visible = True
Else
GvContratosControl.DataSource = Nothing
BtnAplicarContrato.Visible = False
End If
End If
ObjContratos.Dispose()
GvContratosControl.DataBind()
UpModalContrato.Update()
End If
End Sub
Protected Sub BtnAplicarContrato_Click(sender As Object, e As EventArgs)
TmpDT.Rows.Clear()
Dim CveTipoGastoObra As Integer = DdlTipoGastoContrato.SelectedValue.ToEntero
Dim TuipoGasto As String = DdlTipoGastoContrato.SelectedItem.Text
For Each GvRow As GridViewRow In GvContratosControl.Rows
Dim CveContratoDetalle As Integer = GvRow.DataKey("CveContratoDetalle").ToEntero
Dim Cantidad As Double = GvRow.FCTextBox("TxtCantidad").Text.ToDouble
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
Dim PS As String = GvRow.DataKey("PS")
Dim PU As Double = GvRow.DataKey("PU").ToDouble
Dim TotalPS As Double = GvRow.FCTextBox("TxtImporte").Text.ToDouble
Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero
Dim UMAbreviatura As String = GvRow.DataKey("Abreviatura").ToString
Dim SubProyecto As String = GvRow.DataKey("SubProyecto")
Dim CveSubProyecto As Integer = GvRow.DataKey("CveSubProyecto").ToEntero
Dim Codigo As String = "" 'GvRow.DataKey("Codigo")
Dim Proyecto As String = GvRow.DataKey("Proyecto")
Dim CveProyecto As Integer = GvRow.DataKey("CveProyecto").ToEntero
Dim RetISR As Double = GvRow.DataKey("RetISR").ToString.ToDouble
Dim RetIVA As Double = GvRow.DataKey("RetIVA").ToString.ToDouble
Dim IvaPS As Double = GvRow.DataKey("IVA").ToString.ToDouble
Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToString.ToEntero
Dim Clasificacion As String = GvRow.DataKey("Clasificacion")
Dim IEPSPS As Double = GvRow.DataKey("IEPSPorcentaje").ToString.ToDouble
Dim IEPSPSIVA As Double = If(GvRow.DataKey("IEPSGrabaIVA").ToString = "True", IEPSPS, 0)
Dim IdCuentaPorEjercer As Integer = -1
Dim IdCuentaComprometido As Integer = -1
If Cantidad > 0 Then
AddPS(Cantidad, CveUnidadMedida, UMAbreviatura, CveClasificacion, Clasificacion, CvePS, PS, 1, CveSubProyecto.ToString, SubProyecto, Proyecto, CveProyecto.ToString, "", PU, PU * Cantidad, IvaPS, RetIVA, RetISR, IEPSPS, IEPSPSIVA, 0, CveContratoDetalle:=CveContratoDetalle,
CveTipoGasto:=CveTipoGastoObra, TipoGasto:=TuipoGasto)
'ContratoObraAplciado = True
End If
Next
AddPS2()
RegistraScript("$('#DivmodalConmtrato').modal('hide')")
End Sub
#End Region
Protected Sub ChkMostrarTodos_CheckedChanged(sender As Object, e As EventArgs)
CargaNCINV(ShowAllPendientes:=True)
UpFacturaNC.Update()

View File

@@ -4622,7 +4622,7 @@ Partial Class Contratos_ContratoObra
CveUnidadMedida = GlobalDTUnidadesMedida(CveEmpresa:=UsuarioActual.CveEmpresa).Rows(0)("CveUnidadMedida").ToString.ToEntero
End If
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, DrowPS("Codigo").ToString.Trim, "", "", DrowPS("Producto").ToString, DrowPS("PU").ToString.ToDouble, -1, 0, False, 0, False, If(TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Ventas, True, False),
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, DrowPS("Codigo").ToString.Trim, "", "", DrowPS("Producto").ToString, DrowPS("PU").ToString.ToDouble, 0, 0, False, 0, False, If(TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Ventas, True, False),
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, CveTipoPS:=2, CveSATPS:=-1, CveMarca:=-1, CveTamaño:=-1, CveMedida:=-1, CveRinTamaño:=-1, CveModelo:=-1, Litraje:=-1, IEPSPorcentaje:=-1, CveClasificacion2:=-1, CveClasificacionDetalle:=-1) > 0 Then
CvePS = ObjPS.CvePS
Else