This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-03-23 16:26:20 -07:00
parent 43c1ef4732
commit d026079da0
14 changed files with 3834 additions and 3485 deletions

View File

@@ -6,6 +6,7 @@ using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using static Extensiones.ModExtensiones;
public partial class Nomina_Finiquito : ClsPaginas
{
@@ -42,6 +43,38 @@ public partial class Nomina_Finiquito : ClsPaginas
get { return ViewState["DtAltas"] != null ? (DataTable)ViewState["DtAltas"] : null; }
set { ViewState["DtAltas"] = value; }
}
private DataTable dtConceptos
{
get
{
if (ViewState["dtConceptos"] == null) { return null; }
else { return (DataTable)ViewState["dtConceptos"]; }
}
set { ViewState["dtConceptos"] = value; }
}
private DataTable dtempleadosConceptos
{
get
{
if (ViewState["dtempleadosConceptos"] == null) { return null; }
else { return (DataTable)ViewState["dtempleadosConceptos"]; }
}
set { ViewState["dtempleadosConceptos"] = value; }
}
private DataTable dtempleados
{
get
{
if (ViewState["dtempleados"] == null) { return null; }
else { return (DataTable)ViewState["dtempleados"]; }
}
set { ViewState["dtempleados"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
@@ -154,6 +187,7 @@ public partial class Nomina_Finiquito : ClsPaginas
}
protected void LnkConcepto_Click(object sender, EventArgs e)
{
Alert("x");
//SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero();
//SRTipoConcepto = ((LinkButton)sender).CommandArgument;
//#region carga conceptos
@@ -296,9 +330,32 @@ public partial class Nomina_Finiquito : ClsPaginas
}
protected void LnkTimbrar_Click(object sender, EventArgs e)
{
Alert("El finiquito se ha timbrado satisfactoriamente");
LnkTimbrar.Visible = false;
{
int CvePeriodo = CvePeriodoFiniquito;
string[] getcolumnas = new string[] { "CvePersonal", "CveMetodoPago", "CveNomina", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" };
DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0", CvePersonal), "", getcolumnas);
int CveNomina = dtr.Rows[0]["CveNomina"].ToString().ToEntero();
LogicNominas lognom = new LogicNominas();
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
if (Msg != null && Msg.Length > 0)
{ Alert(Msg, TipoMensaje.MsgAdvertencia); }
else
{
ClsNominas ObjPeriodo = new ClsNominas();
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
ObjPeriodo.Dispose();
//Alert("Se ha timbrado correctamente");
Alert("El finiquito se ha timbrado satisfactoriamente");
LnkTimbrar.Visible = false;
loadsobrerecibo(); UPDatos.Update();
}
}
protected void LnkFormatoRenuncia_Click(object sender, EventArgs e)
@@ -461,6 +518,10 @@ public partial class Nomina_Finiquito : ClsPaginas
continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa);
}
if (continuar)
{
continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa);
}
if (continuar)
{
ObjPersonal.Commit();
}
@@ -472,31 +533,20 @@ public partial class Nomina_Finiquito : ClsPaginas
}
}
UPDatos.Update();
}
public void loadsobrerecibo()
{
List<NConcepto> finordin = null;
List<NConcepto> finindem = null;
/*
DataTable dtConceptos = null;
DataTable dtempleadosConceptos = null;
DataTable dtempleados = null;
*/
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
dtConceptos = objnom.DTSetResultados.Tables[0];
}
if (dtConceptos != null && dtempleadosConceptos != null && dtempleados != null)
{
finordin = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
dtempleadosConceptos = null;
dtempleados = null;
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoIndemnizacion, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
@@ -507,23 +557,183 @@ public partial class Nomina_Finiquito : ClsPaginas
{
finindem = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
dtempleadosConceptos = null;
dtempleados = null;
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", "NomAutorizado =0") > 0);
LnkGuardarDatos.Enabled = LnkAutorizar.Visible;
LnkTimbrar.Visible = !(LnkAutorizar.Visible) && (dtempleados.COUNT("CvePersonal", "SeTimbro=0") > 0);
UpAcciones.Update();
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
dtConceptos = objnom.DTSetResultados.Tables[0];
}
if (dtConceptos != null && dtempleadosConceptos != null && dtempleados != null)
{
finordin = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
}
GvFinOrdinario.DataSource = finordin;
GVFinIndemnizacion.DataSource = finindem;
GvFinOrdinario.DataBind();
GVFinIndemnizacion.DataBind();
LnkGuardarDatos.Enabled = false;
LnkGuardarDatos.CssClass = "btn btn-default";
LnkGuardarDatos.ToolTip = "el finiquito ha sido capturado.";
//LnkGuardarDatos.Enabled = false;
if (!(LnkGuardarDatos.Enabled))
{
LnkGuardarDatos.CssClass = "btn btn-default";
LnkGuardarDatos.ToolTip = "el finiquito ha sido capturado.";
}
LnkAutorizar.Visible = true;
}
protected void LnkAutorizar_Click(object sender, EventArgs e)
{
autorizarNomina(CvePersonal);
UPDatos.Update();
//Alert("El finiquito se ha autorizado satisfactoriamente.");
//LnkAutorizar.Visible = false;
//LnkTimbrar.Visible = true;
}
Alert("El finiquito se ha autorizado satisfactoriamente.");
LnkAutorizar.Visible = false;
LnkTimbrar.Visible = true;
private void autorizarNomina(int FiltroCvePersonal)
{
bool continuar = true;
string[] getcolumnas = new string[] { "CvePersonal", "CveMetodoPago", "SumaPercepciones", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" };
DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0", FiltroCvePersonal), "", getcolumnas);
DataTable dtconp = null;
int CvePeriodoSeleccionado = CvePeriodoFiniquito;//cambiar reparar
#region PropNomina
int CvePersonal = 0;
int CveNomina = 0;
int CveMetodoPago = 0;
double SubTotal = 0;
double Total = 0;
int CveMoneda = 1;
#endregion
#region PropNominaDetalle
int CveConcepto = 0;
decimal ImporteConcepto = 0, ImporteGravadoConcepto = 0, ImporteExentoConcepto = 0, ImporteValor = 0;
#endregion
using (ClsNominas objNomina = new ClsNominas())
{
objNomina.IniciaTransacSQL();
foreach (DataRow rtemp in dtr.Rows)
{
CveNomina = 0;
CvePersonal = rtemp["CvePersonal"].ToString().ToEntero();
CveMetodoPago = rtemp["CveMetodoPago"].ToString().ToEntero();
SubTotal = rtemp["SumaPercepciones"].ToString().ToDouble();
Total = rtemp["Total"].ToString().ToDouble();
if (CvePersonal > 0)
{
if (continuar)
{
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
{
if (objNomina.DtResultados.Rows.Count > 0)
{
CveNomina = objNomina.CveNomina;
}
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, SubTotal, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
CveNomina = objNomina.CveNomina;
}
else
{
continuar = false;
}
}
}
}
if (CveNomina == 0)
{
continuar = false;
}
if (continuar)
{
dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0} AND Importe<>0", CvePersonal));
foreach (DataRow rcon in dtconp.Rows)
{
CveConcepto = rcon["CveConcepto"].ToString().ToEntero();
ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
ImporteValor = rcon["Valor"].ToString().ToDecimal();
if (continuar)
{
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario))
{
continuar = false;
}
}
}
}
if (continuar)
{
decimal SalarioDiario = rtemp["SalarioDiario"].ToString().ToEntero();
decimal SalarioDiarioIMSS = rtemp["SalarioDiarioIMSS"].ToString().ToEntero();
decimal SalarioDiarioIntegrado = rtemp["SalarioDiarioIntegrado"].ToString().ToEntero();
int DiasLaborados = rtemp["DiasLaborados"].ToString().ToEntero();
int DiasFaltados = rtemp["DiasFaltados"].ToString().ToEntero();
int DiasVacaciones = rtemp["DiasVacaciones"].ToString().ToEntero();
int DiasIncapacidad = rtemp["DiasIncapacidad"].ToString().ToEntero();
continuar = objNomina.PA_Nom_NominasAutorizarUP(CvePersonal, CvePeriodoSeleccionado, SalarioDiario, SalarioDiarioIMSS, SalarioDiarioIntegrado, 0, 0, Total, SubTotal, DiasLaborados, DiasFaltados, DiasVacaciones, DiasIncapacidad);
}
}
}
if (continuar)
{
continuar = objNomina.AutorizaNom_Nominas(-1, CvePeriodoSeleccionado, true);
}
if (continuar)
{
objNomina.Commit();
LnkAutorizar.Visible = false;
LnkTimbrar.Visible = true;
LnkGuardarDatos.Enabled = false;
LnkGuardarDatos.CssClass = "btn btn-default";
LnkGuardarDatos.ToolTip = "el finiquito ha sido capturado.";
Alert("La nomina se autorizó correctamente.");
}
else
{
objNomina.RollBack();
}
}
if (dtr != null)
{
dtr.Dispose();
}
if (dtconp != null)
{
dtconp.Dispose();
}
}
}