Descuento via nomina en prestamos a personal

This commit is contained in:
2023-04-11 16:20:35 -07:00
parent 0be22d1f24
commit 38b5eec518
3 changed files with 690 additions and 539 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -100,6 +100,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
CargaCuentas();
CargaPersonal();
CargaReporte();
CargaConceptos();
TxtFechaDocumento.Text = DateTime.Now.ToShortDateString();
TxtFechaPrestamo.Text = DateTime.Now.ToShortDateString();
txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString();
@@ -162,6 +164,21 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
DdlFuncionarioEmpleadoPago.DataBind();
DdlFuncionarioEmpleadoPrestamo.DataBind();
}
private void CargaConceptos()
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetConceptos(UsuarioActual.CveEmpresa))
{
DdlConcepto.DataSource = objnom.DtResultados.FiltraParametros("Tipo = 'D'");
}
}
DdlConcepto.DataBind();
DdlConcepto.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
#endregion
#region "PAGO ACREEDORES"
@@ -378,17 +395,17 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
//CONTABILIZA
if (UsuarioActual.Empresa.Funcionalidad(200).Equals("1") && MsgError.Equals(""))
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancos > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancos > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
//}
//else
//{
@@ -519,9 +536,43 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
protected void BtnGuardarPrestamo_Click(object sender, EventArgs e)
{
if (ChkDescuentoViaNomina.Checked)
{
if (string.IsNullOrEmpty(TxtObservacionesPrestamo.Text.Trim()))
{
Alert("Debe ingresar texto en el campo de observaciones.", TipoMensaje.MsgAdvertencia);
return;
}
if (string.IsNullOrEmpty(TxtValor.Text.Trim()))
{
Alert("Debe ingresar el valor al prestamo.", TipoMensaje.MsgAdvertencia);
return;
}
if (DdlTipoDescto.SelectedValue.ToEntero() == 3)
{
if (TxtValor.Text.ToDecimal() > TxtImportePrestamo.Text.ToDecimal())
{
Alert("El valor no puede ser mayor al importe del prestamo.", TipoMensaje.MsgAdvertencia);
return;
}
}
if (DdlTipoDescto.SelectedValue.ToEntero() == 4)
{
if (TxtValor.Text.ToDecimal() > 100m)
{
Alert("El porcentaje no puede ser mayor a 100", TipoMensaje.MsgAdvertencia);
return;
}
}
}
ClsBancos ObjIE = new ClsBancos();
ClsContabilidad ObjMov = new ClsContabilidad(ObjIE.IniciaTransacSQL());
ClsCompras ObjComp = new ClsCompras(ObjIE.IniciaTransacSQL());
ClsNominas ObjNominas = new ClsNominas(ObjIE.IniciaTransacSQL());
string MsgError = "";
int CveIE = 0;
@@ -588,7 +639,7 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
//GUARDA COMPROBANTE
if (!filemove.Equals(""))
{
filemove.FilesMove(CveIE.ToString(), string.Format(@"{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:false);
filemove.FilesMove(CveIE.ToString(), string.Format(@"{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase: false);
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContableBanco, Conc, DateTime.Now, IDCtaContableBancosPrestamo, -1, CveIE, CvePersonal: DdlFuncionarioEmpleadoPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteMN, TipoCambio: TC, TipoCambioPago: TC))
@@ -611,6 +662,25 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
MsgError = "No se pudo insertar concepto de acreedor complementaria";
}
}
if (ChkDescuentoViaNomina.Checked && string.IsNullOrEmpty(MsgError))
{
decimal montoLimite = Importe;
double valor = TxtValor.Text.ToDouble();
decimal porcentaje = (valor.ToString().ToDecimal() / montoLimite);
int vecesPorAplicar = 1;
if (porcentaje > 0)
{
vecesPorAplicar = (1m / porcentaje).ToEntero();
}
if (ObjNominas.AddMovtoPermanente(DdlConcepto.SelectedValue.ToEntero(), DdlFuncionarioEmpleadoPrestamo.SelectedValue.ToEntero(), TxtObservacionesPrestamo.Text, DdlTipoDescto.SelectedValue.ToEntero(), valor, vecesPorAplicar, montoLimite, TxtFechaPrestamo.Text, true, -1, CveIE: CveIE) <= 0)
{
MsgError = "No se pudo insertar el movimiento permanente";
}
}
}
else
{
@@ -634,17 +704,17 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
//CONTABILIZA
if (UsuarioActual.Empresa.Funcionalidad(200).Equals("1") && MsgError.Equals(""))
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancosPrestamo > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancosPrestamo > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
//}
//else
//{
@@ -667,8 +737,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
Msg.Append("El Documento se guardo correctamente");
}
System.IO.FileInfo archivo = null;
if (DdlTipoTransanccionPrestamo.SelectedValue.ToEntero().Contiene(2, 8, 9))
{
archivo = new System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta));
@@ -690,8 +760,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
if (IDPoliza > 0)
{
Msg.AppendFormat(@"<br/><br/><a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IDPoliza);
}
}
}
else
{
@@ -771,4 +841,20 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
protected void ChkDescuentoViaNomina_CheckedChanged(object sender, EventArgs e)
{
DivMovtoPermanente.Visible = ChkDescuentoViaNomina.Checked;
UpPrestamo.Update();
}
//protected void DdlTipoDescto_SelectedIndexChanged(object sender, EventArgs e)
//{
// DivMontoLimite.Visible = DdlTipoDescto.SelectedValue.ToEntero() > 2;
// DivVencesAplicar.Visible = DdlTipoDescto.SelectedValue.ToEntero() < 3;
// DivImportePrestamo.Visible = DdlTipoDescto.SelectedValue.ToEntero() < 3;
// UpPrestamo.Update();
//}
}

View File

@@ -1342,24 +1342,25 @@
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("TipoDescuentoTexto")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<asp:TemplateField HeaderText="Valor" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" OnClick="LnkEditarMovtoPermanente_Click"
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("Valor")%>'></asp:LinkButton>
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("Valor","{0:###,###.##}")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Veces por aplicar">
<asp:TemplateField HeaderText="Veces por aplicar" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" OnClick="LnkEditarMovtoPermanente_Click"
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("VecesAplicar","{0:###,###.##}")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Monto limite">
<asp:TemplateField HeaderText="Monto limite" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" OnClick="LnkEditarMovtoPermanente_Click"
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("MontoLimite","{0:###,###.##}")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField HeaderText="Movto. Bancario" DataNavigateUrlFields="CveIE" DataTextField="FolioIE" DataNavigateUrlFormatString="/Bancos/IE.aspx?CveIE={0}" Target="_blank" />
<asp:TemplateField ItemStyle-Width="38">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" ID="LnkEditarmovtoper" OnClick="LnkEditarMovtoPermanente_Click" CssClass="btn btn-circle btn-sm btn-xs green" runat="server" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>