This commit is contained in:
2023-02-16 16:06:52 -07:00
5 changed files with 352 additions and 94 deletions

View File

@@ -296,10 +296,14 @@ public partial class Nomina_CatConcepto : ClsPaginas
DdlCtaContable.DataSource = ObjConta.DtResultados; DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind(); DdlCtaContable.DataBind();
DdlCtaContableB.DataSource = ObjConta.DtResultados;
DdlCtaContableB.DataBind();
} }
} }
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1")); DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCtaContable.SelectedValueExist("-1"); DdlCtaContable.SelectedValueExist("-1");
DdlCtaContableB.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCtaContableB.SelectedValueExist("-1");
} }
} }

View File

@@ -413,6 +413,14 @@
DataTextField="TipoTrabajadorB" DataValueField="CveTipoTrabajador" ValidationGroup="GrpGuardar"> DataTextField="TipoTrabajadorB" DataValueField="CveTipoTrabajador" ValidationGroup="GrpGuardar">
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 65px;">Finiquito:</label>
<div class="col-md-1">
<asp:DropDownList ID="ddlfiniquito" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Mostrar" Value="1"></asp:ListItem>
<asp:ListItem Text="Ocultar" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-2" style="max-width: 160px !important; white-space: nowrap;"> <div class="col-md-2" style="max-width: 160px !important; white-space: nowrap;">
<label class="compoonenlabel">Ver obligaciones:</label> <label class="compoonenlabel">Ver obligaciones:</label>
<asp:CheckBox ID="Chkobligaciones" Text=" " CssClass="chksino" runat="server" /> <asp:CheckBox ID="Chkobligaciones" Text=" " CssClass="chksino" runat="server" />

View File

@@ -249,7 +249,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!IsPostBack) if (!IsPostBack)
{ {
LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") ||(UsuarioActual.CveRol == 1); LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") || (UsuarioActual.CveRol == 1);
if (UsuarioActual.CveEmpresa == 141) { ddlfiniquito.SelectedValueExist("2"); }
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa)) if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
@@ -555,7 +556,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkFormatoTabular.Visible = true; LnkFormatoTabular.Visible = true;
HypPDFSTimbrados.Visible = true; HypPDFSTimbrados.Visible = true;
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador) && 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]; dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4]; dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
@@ -1210,41 +1211,68 @@ public partial class Nomina_Nomina2 : ClsPaginas
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" }); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" });
} }
foreach (GridViewRow gvRow in GvNominas.Rows) using (ClsRH objrh = new ClsRH())
using (ClsNominas ObjNomina = new ClsNominas())
{ {
CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero(); foreach (GridViewRow gvRow in GvNominas.Rows)
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero());
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string Correo = string.Empty;
string NombreCompleto = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{ {
Correo = drow["Correo"].ToString(); CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
NombreCompleto = drow["NombreCompleto"].ToString(); int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
} int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
if (CvePersonal > 0 && SeTimbro == 1) int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero());
{ LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string Correo = string.Empty;
if (Correo.Trim().Length > 0) string NombreCompleto = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{ {
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); Correo = drow["Correo"].ToString();
if (pdf != null) NombreCompleto = drow["NombreCompleto"].ToString();
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
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 (CvePersonal > 0 && SeTimbro == 1)
{
if (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" });
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
{
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";
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 });
}
}
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);
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
}
}
} }
} }
Alert("se reenviaron los recibos timbrados"); Alert("se reenviaron los recibos timbrados");
@@ -1298,7 +1326,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto", "RFC", "CURP" }); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto", "RFC", "CURP" });
} }
foreach (GridViewRow gvRow in GvNominas.Rows) using (ClsNominas ObjNomina = new ClsNominas()) {
foreach (GridViewRow gvRow in GvNominas.Rows)
{ {
CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero(); CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero(); int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
@@ -1347,6 +1376,30 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
{
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";
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 });
}
}
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, 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); //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()) using (ClsRH objrh = new ClsRH())
@@ -1362,6 +1415,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
}
if (msggral.Length > 0) if (msggral.Length > 0)
{ {
@@ -1438,11 +1492,39 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (Correo.Trim().Length > 0) 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) if (pdf != null)
{ {
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
using (ClsNominas ObjNomina = new ClsNominas())
{
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
{
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";
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 });
}
}
}
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, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
@@ -1522,6 +1604,34 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" }); objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
using (ClsNominas ObjNomina = new ClsNominas())
{
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
{
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";
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 });
}
}
}
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, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
@@ -1768,9 +1878,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
protected void LnkCargarNominaNetos_Click(object sender, EventArgs e) protected void LnkCargarNominaNetos_Click(object sender, EventArgs e)
{ {
LnkCargarNomina_Click(sender, e); LnkCargarNomina_Click(sender, e);
} }
protected void LnkFormatoNetos_Click(object sender, EventArgs e) protected void LnkFormatoNetos_Click(object sender, EventArgs e)
{ {
try try
{ {
@@ -2119,7 +2229,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
StringBuilder str = new StringBuilder("0"); StringBuilder str = new StringBuilder("0");
bool continuar = true; bool continuar = true;
str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero()); str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero());
string msgerror = ""; string msgerror = "";
if (dtConceptos == null || dtConceptos.Columns.Count <= 2) if (dtConceptos == null || dtConceptos.Columns.Count <= 2)
{ {
@@ -2132,12 +2242,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet("Nomina"); var libro = wb.AddWorksheet("Nomina");
int column = 1; int column = 1;
libro.Cell(1, column).Value = "Codigo"; libro.Cell(1, column).Value = "Codigo";
column++; column++;
libro.Cell(1, column).Value = "Empleado"; libro.Cell(1, column).Value = "Empleado";
libro.Column(column).Width = 35; libro.Column(column).Width = 35;
DataTable dtcP = dtConceptos.FiltraParametros(string.Format(" CveConcepto in({0})", str)); DataTable dtcP = dtConceptos.FiltraParametros(string.Format(" CveConcepto in({0})", str));
foreach (DataRow row in dtcP.Rows) foreach (DataRow row in dtcP.Rows)
{ {
column++; column++;
@@ -2736,7 +2846,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
e.Row.FCDropDownList("DdlTipoAsistencias").SelectedValue = e.Row.DBCampo("CveAsistenciasInasistencias"); e.Row.FCDropDownList("DdlTipoAsistencias").SelectedValue = e.Row.DBCampo("CveAsistenciasInasistencias");
// Carga Motivos Horas Extras // Carga Motivos Horas Extras
e.Row.FCDropDownList("DdlMotivoHoraExtra").DataSource = GlobalDTMotivosHorasExtras.FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa); e.Row.FCDropDownList("DdlMotivoHoraExtra").DataSource = get_GlobalDTMotivosHorasExtras(UsuarioActual.CveEmpresa).FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa);
e.Row.FCDropDownList("DdlMotivoHoraExtra").DataBind(); e.Row.FCDropDownList("DdlMotivoHoraExtra").DataBind();
if (e.Row.DBCampo("CveMotivoHoraExtra") != "-1") if (e.Row.DBCampo("CveMotivoHoraExtra") != "-1")
e.Row.FCDropDownList("DdlMotivoHoraExtra").SelectedValue = e.Row.DBCampo("CveMotivoHoraExtra"); e.Row.FCDropDownList("DdlMotivoHoraExtra").SelectedValue = e.Row.DBCampo("CveMotivoHoraExtra");
@@ -6828,7 +6938,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
if (DdlMotivoHoraExtra.Items.Count == 1) if (DdlMotivoHoraExtra.Items.Count == 1)
{ {
DdlMotivoHoraExtra.DataSource = GlobalDTMotivosHorasExtras.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)); DdlMotivoHoraExtra.DataSource = get_GlobalDTMotivosHorasExtras(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
DdlMotivoHoraExtra.DataBind(); DdlMotivoHoraExtra.DataBind();
} }
@@ -6947,7 +7057,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
while (Neto != NetoSimulado && continuarV) while (Neto != NetoSimulado && continuarV)
{ {
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto) if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto,ddlfiniquito.SelectedValue.ToEntero())
&& objnom.DTSetResultados.Tables.Count > 1) && objnom.DTSetResultados.Tables.Count > 1)
{ {
dtempleadosSimula = objnom.DTSetResultados.Tables[3]; dtempleadosSimula = objnom.DTSetResultados.Tables[3];
@@ -8466,7 +8576,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DateTime fechai = TxtRIFechaInicio.Text.ToDateTime(); DateTime fechai = TxtRIFechaInicio.Text.ToDateTime();
DateTime fechaf = TxtRIFechaFin.Text.ToDateTime(); DateTime fechaf = TxtRIFechaFin.Text.ToDateTime();
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
int CveTipoPeriodo=0; int CveTipoPeriodo = 0;
using (ClsNominas nom = new ClsNominas()) using (ClsNominas nom = new ClsNominas())
{ {
if (nom.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado, -1) && (nom.DtResultados.Rows.Count > 0)) if (nom.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado, -1) && (nom.DtResultados.Rows.Count > 0))
@@ -8476,7 +8586,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
CveTipoPeriodo = -nom.DtResultados.Rows[0]["CveTipoPeriodo"].ToString().ToEntero(); CveTipoPeriodo = -nom.DtResultados.Rows[0]["CveTipoPeriodo"].ToString().ToEntero();
} }
if (nom.ReportedeincidenciasGET(UsuarioActual.CveEmpresa, fechai, fechaf, CveTipoPeriodo)) if (nom.ReportedeincidenciasGET(UsuarioActual.CveEmpresa, fechai, fechaf, CveTipoPeriodo))
{ {
var libro = wb.AddWorksheet(nom.DTSetResultados.Tables[2], "Incidencias"); var libro = wb.AddWorksheet(nom.DTSetResultados.Tables[2], "Incidencias");

View File

@@ -28,9 +28,6 @@
<li> <li>
<asp:LinkButton ID="LnkDescargar" OnClick="LnkDescargar_Click" runat="server"><i class="fa fa-ad-excel"></i> Descargar</asp:LinkButton> <asp:LinkButton ID="LnkDescargar" OnClick="LnkDescargar_Click" runat="server"><i class="fa fa-ad-excel"></i> Descargar</asp:LinkButton>
</li> </li>
<li>
<asp:LinkButton ID="LnkFormatocMasiva" OnClick="LnkFormatocMasiva_Click" runat="server"><i class="fa fa-ad-excel"></i> Formato carga masiva</asp:LinkButton>
</li>
<li> <li>
<asp:LinkButton ID="LnkModalCargaMasiva" OnClick="LnkModalCargaMasiva_Click" runat="server"><i class="fa fa-save"></i> Carga masiva</asp:LinkButton> <asp:LinkButton ID="LnkModalCargaMasiva" OnClick="LnkModalCargaMasiva_Click" runat="server"><i class="fa fa-save"></i> Carga masiva</asp:LinkButton>
</li> </li>
@@ -46,7 +43,6 @@
</ContentTemplate> </ContentTemplate>
<Triggers> <Triggers>
<asp:PostBackTrigger ControlID="LnkDescargar" /> <asp:PostBackTrigger ControlID="LnkDescargar" />
<asp:PostBackTrigger ControlID="LnkFormatocMasiva" />
<%-- <asp:PostBackTrigger ControlID="LnkListaRaya" /> --%> <%-- <asp:PostBackTrigger ControlID="LnkListaRaya" /> --%>
</Triggers> </Triggers>
</asp:UpdatePanel> </asp:UpdatePanel>
@@ -203,7 +199,8 @@
<asp:TemplateField ItemStyle-HorizontalAlign="Right"> <asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate> <HeaderTemplate>
Salario Salario
<br />SUA <br />
SUA
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblSalarioSUA" runat="server" Text='<%# Eval("SalarioSUA","{0:N2}")%>'> </asp:Label> <asp:Label ID="lblSalarioSUA" runat="server" Text='<%# Eval("SalarioSUA","{0:N2}")%>'> </asp:Label>
@@ -839,7 +836,7 @@
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="DmodalCargaMasiva" class="modal ADS fade" role="dialog"> <div id="DmodalCargaMasiva" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpCargarm" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpCargarm" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
@@ -848,10 +845,10 @@
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
<h4 class="modal-title" runat="server" style="text-align: left">Carga masiva salario</h4> <h4 class="modal-title" runat="server" style="text-align: left">Carga masiva</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="portlet light smmallpadding bordered"> <div class="portlet light smmallpadding bordered">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-green"> <div class="caption font-green">
@@ -862,43 +859,59 @@
<div class="tools"> <div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a> <a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div> </div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkFormatocMasivaRegistroPatronal" CssClass="btn btn-default" OnClick="LnkFormatocMasivaRegistroPatronal_Click" runat="server"><i class="fa fa-ad-excel"></i> Formato Registro Patronal</asp:LinkButton>
<asp:LinkButton ID="LnkFormatocMasiva" CssClass="btn btn-default" OnClick="LnkFormatocMasiva_Click" runat="server"><i class="fa fa-ad-excel"></i> Formato Salario</asp:LinkButton>
</div>
</div>
</div> </div>
<div class="portlet-body rowpadding "> <div class="portlet-body rowpadding ">
<div class="row"> <div class="row">
<asp:Label ID="Label2" runat="server" CssClass="col-md-1 ">Fecha :</asp:Label> <label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 65px;">Tipo:</label>
<div class="col-md-2" id="Div2" runat="server"> <div class="col-md-4">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;"> <asp:DropDownList ID="ddltipoCarga" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:TextBox ID="txtfechacargamasiva" runat="server" Text="01/03/2021" CssClass="form-control" CausesValidation="true" Width="90%" MaxLength="10"></asp:TextBox> <asp:ListItem Text="Salario" Value="1"></asp:ListItem>
<span class="input-group-btn "> <asp:ListItem Text="Registro Patronal" Value="2"></asp:ListItem>
<asp:LinkButton ID="lnkcargamasiva" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> </asp:DropDownList>
</span> </div>
</div> <asp:Label ID="Label2" runat="server" CssClass="col-md-1 ">Fecha :</asp:Label>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="txtfechacargamasiva" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <div class="col-md-2" id="Div2" runat="server">
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtfechacargamasiva" PopupButtonID="lnkcargamasiva" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<%--<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtfechacargamasiva" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator> <asp:TextBox ID="txtfechacargamasiva" runat="server" Text="01/03/2021" CssClass="form-control" CausesValidation="true" Width="90%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="lnkcargamasiva" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="txtfechacargamasiva" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtfechacargamasiva" PopupButtonID="lnkcargamasiva" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<%--<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtfechacargamasiva" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtfechacargamasiva" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtfechacargamasiva" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>--%> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</div> </div>
</div> </div>
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox> <asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional"> <asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:LinkButton ID="LnkProcesarArchvo" OnClick="LnkProcesarArchvo_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton> <asp:LinkButton ID="LnkProcesarArchvo" OnClick="LnkProcesarArchvo_Click" CssClass="btn btn-primary" runat="server">Procesar</asp:LinkButton>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
<Triggers> <Triggers>
<asp:PostBackTrigger ControlID="LnkFormatocMasiva" />
<asp:PostBackTrigger ControlID="LnkFormatocMasivaRegistroPatronal" />
</Triggers> </Triggers>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Net.Http.Headers;
using System.Text; using System.Text;
using System.Web; using System.Web;
using System.Web.UI; using System.Web.UI;
@@ -237,12 +238,92 @@ public partial class RH_CalculoSBC : ClsPaginas
UpCargarm.Update(); UpCargarm.Update();
RegistraScript("$('#DmodalCargaMasiva').modal();"); RegistraScript("$('#DmodalCargaMasiva').modal();");
} }
protected void LnkFormatocMasivaRegistroPatronal_Click(object sender, EventArgs e)
{
try
{
bool continuar = true;
string msgerror = "";
if (dtsalario == null || dtsalario.Rows.Count == 0)
{
msgerror = "favor de calcular primero";
continuar = false;
}
if (continuar)
{
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet("Salario");
int column = 1;
libro.Cell(1, column).Value = "Codigo";
column++;
libro.Cell(1, column).Value = "Empleado";
column++;
libro.Cell(1, column).Value = "RegistroPatronal";
//column++;
//libro.Cell(1, column).Value = "SDI";
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
int Fila = 1;
foreach (DataRow erow in dtsalario.Rows)
{
Fila++;
column = 1;
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
column++;
libro.Cell(Fila, column).Value = erow["Nombre"];
column++;
libro.Cell(Fila, column).Value = erow["RegistroPatronal"];
//column++;
//////libro.Cell(Fila, column).Value = erow["SDI"];
////column++;
////libro.Cell(Fila, column).Value = erow["SalarioVariable"];
}
libro.Columns().AdjustToContents();
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
using (System.IO.Stream input = fs)
{
input.CopyTo(memoryStream);
}
memoryStream.Position = 0;
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "Plantilla Salario "));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
else
{
Alert(msgerror, TipoMensaje.MsgAdvertencia);
}
}
catch (Exception ex)
{
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia);
}
}
protected void LnkFormatocMasiva_Click(object sender, EventArgs e) protected void LnkFormatocMasiva_Click(object sender, EventArgs e)
{ {
try try
{ {
bool continuar = true; bool continuar = true;
string msgerror = ""; string msgerror = "";
if (dtsalario == null || dtsalario.Rows.Count == 0)
{
msgerror = "favor de calcular primero";
continuar = false;
}
if (continuar) if (continuar)
{ {
@@ -274,8 +355,8 @@ public partial class RH_CalculoSBC : ClsPaginas
column++; column++;
libro.Cell(Fila, column).Value = erow["SalarioDiario"]; libro.Cell(Fila, column).Value = erow["SalarioDiario"];
column++; //column++;
libro.Cell(Fila, column).Value = erow["SDI"]; //libro.Cell(Fila, column).Value = erow["SDI"];
column++; column++;
libro.Cell(Fila, column).Value = erow["SalarioVariable"]; libro.Cell(Fila, column).Value = erow["SalarioVariable"];
} }
@@ -313,24 +394,26 @@ public partial class RH_CalculoSBC : ClsPaginas
protected void LnkProcesarArchvo_Click(object sender, EventArgs e) protected void LnkProcesarArchvo_Click(object sender, EventArgs e)
{ {
DataTable dttempsalario = null; if (ddltipoCarga.SelectedValue.ToEntero() == 1)
using (ClsNominas objnom = new ClsNominas())
{ {
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), txtfechacargamasiva.Text, DdlRegistroPatronal.SelectedValue.ToEntero()))
{
dttempsalario = objnom.DTSetResultados.Tables[0];
}
}
try
{
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null;
DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
StringBuilder str = new StringBuilder(); DataTable dttempsalario = null;
bool rollback = false; using (ClsNominas objnom = new ClsNominas())
using (ClsRH objpersonal = new ClsRH())
{ {
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), txtfechacargamasiva.Text, DdlRegistroPatronal.SelectedValue.ToEntero()))
{
dttempsalario = objnom.DTSetResultados.Tables[0];
}
}
try
{
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null;
DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
StringBuilder str = new StringBuilder();
bool rollback = false;
using (ClsRH objpersonal = new ClsRH())
using (ClsNominas objNomina = new ClsNominas(objpersonal.IniciaTransacSQL())) using (ClsNominas objNomina = new ClsNominas(objpersonal.IniciaTransacSQL()))
{ {
@@ -380,10 +463,50 @@ public partial class RH_CalculoSBC : ClsPaginas
} }
} }
} }
} catch (Exception) { }
catch (Exception) { }
RegistraScript("$('#ModalDoctos').modal('hide');"); }
if (ddltipoCarga.SelectedValue.ToEntero() == 2)
{
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null;
DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
StringBuilder str = new StringBuilder();
bool rollback = false;
using (ClsClaseBase objNomina = new ClsClaseBase( ))
using (ClsRH objpersonal = new ClsRH())
{
foreach (DataRow row in DTEXcel.FiltraParametros("LEN(Codigo)>0 ").Rows)
{
string Codigo = row["Codigo"].ToString();
int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero();
string RegistroPatronal = row["RegistroPatronal"].ToString() ;
int CveMetodoPago = 0;
if (Codigo != "-1" && objpersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
objpersonal.DtResultados.Rows.Count == 1)
{
CvePersonal = objpersonal.CvePersonal;
CveMetodoPago = objpersonal.CveMetodoPago;
}
else
{
CvePersonal = 0;
str.AppendLine(string.Format("No se encontro el codigo {0}<br>", Codigo));
}
if (CvePersonal > 0)
{
objNomina.runQuerystr(string.Format("EXEC PA_RH_PersonalRPUpdate {0},'{1}'", CvePersonal, RegistroPatronal));
}
}
}
}
RegistraScript("$('#DmodalCargaMasiva').modal('hide');");
} }
protected void LnkDownArchivosSua_Click(object sender, EventArgs e) protected void LnkDownArchivosSua_Click(object sender, EventArgs e)
{ {