This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2023-02-21 17:25:03 -07:00
parent 3a855248d4
commit 1a1ccd5bc6
10 changed files with 346 additions and 135 deletions

View File

@@ -106,6 +106,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["DtSuaProcesado"] = value; }
}
protected bool enviarCorreoEnTimbrado
{
get
{
if (ViewState["enviarCorreoEnTimbrado"] == null) { return false; }
else { return (bool)ViewState["enviarCorreoEnTimbrado"]; }
}
set { ViewState["enviarCorreoEnTimbrado"] = value; }
}
protected bool PermisoCancelarEmitido
{
get
@@ -249,6 +259,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!IsPostBack)
{
enviarCorreoEnTimbrado = (UsuarioActual.CveEmpresa == 141 ? false : true);
LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") || (UsuarioActual.CveRol == 1);
if (UsuarioActual.CveEmpresa == 141) { ddlfiniquito.SelectedValueExist("2"); }
using (ClsRH objrh = new ClsRH())
@@ -556,7 +567,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkFormatoTabular.Visible = true;
HypPDFSTimbrados.Visible = true;
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador,Neto: ddlfiniquito.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 4)
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador, Neto: ddlfiniquito.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 4)
{
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
@@ -1237,9 +1248,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
string Ruta = "";
string PathXML = "";
@@ -1252,7 +1262,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
//this.GuardaLog(PathXML);
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
@@ -1326,96 +1337,97 @@ public partial class Nomina_Nomina2 : ClsPaginas
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto", "RFC", "CURP" });
}
using (ClsNominas ObjNomina = new ClsNominas()) {
foreach (GridViewRow gvRow in GvNominas.Rows)
using (ClsNominas ObjNomina = new ClsNominas())
{
CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string Correo = string.Empty;
string NombreCompleto = string.Empty;
string RFC = string.Empty;
string CURP = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
foreach (GridViewRow gvRow in GvNominas.Rows)
{
Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString();
}
if (CvePersonal > 0 && LnkTimbrar.Visible)
{
LogicNominas lognom = new LogicNominas();
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
if (Msg != null && Msg.Length > 0)
CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string Correo = string.Empty;
string NombreCompleto = string.Empty;
string RFC = string.Empty;
string CURP = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo"));
Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString();
}
else
if (CvePersonal > 0 && LnkTimbrar.Visible)
{
LnkTimbrar.Visible = false;
gvRow.CssClass = "success";
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("Imgdesautorizar").Visible = false;
LogicNominas lognom = new LogicNominas();
gvRow.FindControl("LnkCancelar").Visible = true;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
gvRow.ForeColor = Color.Green;
if (Correo.Trim().Length > 0)
if (Msg != null && Msg.Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo"));
}
else
{
LnkTimbrar.Visible = false;
gvRow.CssClass = "success";
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("Imgdesautorizar").Visible = false;
gvRow.FindControl("LnkCancelar").Visible = true;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
gvRow.ForeColor = Color.Green;
if (enviarCorreoEnTimbrado && Correo.Trim().Length > 0)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
string Ruta = "";
string PathXML = "";
string PathXMLF = "";
string Xmlname = "";
string XmlnameF = "";
string empleado = "";
Ruta = UsuarioActual.Empresa.Ruta;
PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml";
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
string Ruta = "";
string PathXML = "";
string PathXMLF = "";
string Xmlname = "";
string XmlnameF = "";
string empleado = "";
Ruta = UsuarioActual.Empresa.Ruta;
PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml";
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
}
if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF });
}
}
if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF))
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
//Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
using (ClsRH objrh = new ClsRH())
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF });
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
}
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
//Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
}
}
}
}
}
}
if (msggral.Length > 0)
{
@@ -1492,16 +1504,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (Correo.Trim().Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
using (ClsNominas ObjNomina = new ClsNominas())
{
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
string Ruta = "";
string PathXML = "";
@@ -1514,6 +1525,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
@@ -1597,18 +1609,17 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClsNominas ObjPeriodo = new ClsNominas();
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
ObjPeriodo.Dispose();
if (Correo.Trim().Length > 0)
if (enviarCorreoEnTimbrado && Correo.Trim().Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
using (ClsNominas ObjNomina = new ClsNominas())
{
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
string Ruta = "";
string PathXML = "";
@@ -1621,6 +1632,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
@@ -7057,7 +7069,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
while (Neto != NetoSimulado && continuarV)
{
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto,ddlfiniquito.SelectedValue.ToEntero())
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto, ddlfiniquito.SelectedValue.ToEntero())
&& objnom.DTSetResultados.Tables.Count > 1)
{
dtempleadosSimula = objnom.DTSetResultados.Tables[3];