generacion pdf y conceptos

This commit is contained in:
Jorge Luis caudillo esparza
2025-05-06 14:33:53 -07:00
parent 966265d952
commit 86841f44d9
7 changed files with 37 additions and 26 deletions

View File

@@ -1785,7 +1785,7 @@ Public Class ClsNominas
#End Region #End Region
#Region "ClsNominasSaatConceptos" #Region "ClsNominasSaatConceptos"
Public Function GetConceptos() As Boolean Public Function GetConceptoSAT() As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Nom_Sat_ConceptosGet") DataAdapter("PA_Nom_Sat_ConceptosGet")

View File

@@ -918,7 +918,7 @@ Public Class ClsPaginas
Dim AppNombre As String = "GlobalDTNomSatConceptos" Dim AppNombre As String = "GlobalDTNomSatConceptos"
If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Then If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Then
Using ObjNom As New ClsNominas() Using ObjNom As New ClsNominas()
If ObjNom.GetConceptos() Then Application(AppNombre) = ObjNom.DtResultados If ObjNom.GetConceptoSAT() Then Application(AppNombre) = ObjNom.DtResultados
End Using End Using
End If End If
GlobalDTNomSatConceptos = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) GlobalDTNomSatConceptos = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
@@ -8326,7 +8326,7 @@ Public Class ClsPaginas
End Function End Function
#End Region #End Region
#Region "PDF NOMINA" #Region "PDF NOMINA"
Public Function GeneraPDFNomina(CvePersonal As Integer, CvePeriodo As Integer, CveEmpresa As Integer, RutaEmpresa As String, Optional indemnizacion As Boolean = False) As Byte() Public Function GeneraPDFNomina(CvePersonal As Integer, CvePeriodo As Integer, CveEmpresa As Integer, RutaEmpresa As String) As Byte()
Dim Retorno As Byte() = Nothing Dim Retorno As Byte() = Nothing
Using ObjNomina As New ClsNominas Using ObjNomina As New ClsNominas
Using ObjPersonal As New ClsRH Using ObjPersonal As New ClsRH
@@ -8344,7 +8344,7 @@ Public Class ClsPaginas
Dim DTDeducciones As Data.DataTable Dim DTDeducciones As Data.DataTable
Dim DTDeducciones2 As New Data.DataTable Dim DTDeducciones2 As New Data.DataTable
Dim Ruta As String = UsuarioActual.Empresa.Ruta Dim Ruta As String = UsuarioActual.Empresa.Ruta
Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }{If(indemnizacion, "F", "")}-{ObjNomina.Folio}.xml" Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }-{ObjNomina.Folio}.xml"
Dim FechaEmision, FechaCertificacion As DateTime Dim FechaEmision, FechaCertificacion As DateTime
Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String
FolioFiscal = "" FolioFiscal = ""
@@ -8468,12 +8468,12 @@ Public Class ClsPaginas
Dim ajusteindemnizacion As Double = 0 Dim ajusteindemnizacion As Double = 0
'PERCECIONES - DEDUCCIONES 'PERCECIONES - DEDUCCIONES
If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
Dim filtrop As String = " AND CveSistema NOT IN(10,11,32)" Dim filtrop As String = "" '" AND CveSistema NOT IN(10,11,32)"
Dim friltrod As String = " AND CveSistema <>47" Dim friltrod As String = "" '" AND CveSistema <>47"
If indemnizacion Then 'If indemnizacion Then
filtrop = "AND CveSistema IN(10,11,32)" ' filtrop = "AND CveSistema IN(10,11,32)"
friltrod = " AND CveSistema =47" ' friltrod = " AND CveSistema =47"
End If 'End If
DTPercepciones = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND ((Importe <>0 AND EsPadre = 1 AND EsFormula =0) OR Imprimir =1)) {filtrop}") DTPercepciones = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND ((Importe <>0 AND EsPadre = 1 AND EsFormula =0) OR Imprimir =1)) {filtrop}")
DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND ((Importe >0 AND EsPadre = 1 AND EsFormula =0) OR Imprimir =1) ) {friltrod}") DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND ((Importe >0 AND EsPadre = 1 AND EsFormula =0) OR Imprimir =1) ) {friltrod}")
DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND (( Importe >0 AND EsPadre = 1 AND EsFormula =0) OR Imprimir =1) ){friltrod}") DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND (( Importe >0 AND EsPadre = 1 AND EsFormula =0) OR Imprimir =1) ){friltrod}")
@@ -8535,7 +8535,7 @@ Public Class ClsPaginas
RptParametro.Add(New ReportParameter("Cantidad", "1")) RptParametro.Add(New ReportParameter("Cantidad", "1"))
RptParametro.Add(New ReportParameter("Unidad", "ACT")) RptParametro.Add(New ReportParameter("Unidad", "ACT"))
RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA")) RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA"))
RptParametro.Add(New ReportParameter("Total", If(indemnizacion, ajusteindemnizacion, ObjNomina.Total - ajusteindemnizacion).ToString())) RptParametro.Add(New ReportParameter("Total", ObjNomina.Total.ToString()))
RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDecimal.Texto2Letras)) RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDecimal.Texto2Letras))
RptParametro.Add(New ReportParameter("Clave", "84111505")) RptParametro.Add(New ReportParameter("Clave", "84111505"))
cQr = GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal) cQr = GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal)

View File

@@ -16,7 +16,7 @@ Partial Class Nom_CatSatConceptos
End Sub End Sub
Public Sub CargaDatos() Public Sub CargaDatos()
Dim ObjConceptos As New ClsNominas Dim GetConceptoSAT As New ClsNominas
If ObjConceptos.GetConceptos() Then If ObjConceptos.GetConceptos() Then
ViewState("DTConceptos") = ObjConceptos.DtResultados ViewState("DTConceptos") = ObjConceptos.DtResultados
GlobalDTNomSatConceptos = ObjConceptos.DtResultados GlobalDTNomSatConceptos = ObjConceptos.DtResultados

View File

@@ -265,7 +265,7 @@ public partial class Nomina_CatConcepto : ClsPaginas
{ {
using (ClsNominas objnom = new ClsNominas()) using (ClsNominas objnom = new ClsNominas())
{ {
objnom.GetConceptos(); objnom.GetConceptoSAT();
DdlConceptoSAT.DataSource = objnom.DtResultados; DdlConceptoSAT.DataSource = objnom.DtResultados;
} }

View File

@@ -236,6 +236,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["CveTipoTrabajador"] = value; } set { ViewState["CveTipoTrabajador"] = value; }
} }
protected int posconceptospersonalizar
{
get
{
if (ViewState["posconceptospersonalizar"] == null) { return 0; }
else { return ViewState["posconceptospersonalizar"].ToString().ToEntero(); }
}
set { ViewState["posconceptospersonalizar"] = value; }
}
protected int CvePeriodoSeleccionado protected int CvePeriodoSeleccionado
{ {
@@ -4947,12 +4957,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
addcoltopersonalizar("Sueldo diario", "0", "", ""); addcoltopersonalizar("Sueldo diario", "0", "", "");
addcoltopersonalizar("Dias Pen Pago", "0", "", ""); addcoltopersonalizar("Dias Pen Pago", "0", "", "");
int pos = 4;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 AND EsFormula =0").Rows) foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 AND EsFormula =0").Rows)
{ {
if (!(dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0)) if (!(dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{ {
addcoltopersonalizar(row["Concepto"].ToString(), "1", string.Format("[V_{0}]", row["CveConcepto"].ToString()), row["Codigo"].ToString()); addcoltopersonalizar(row["Concepto"].ToString(), "1", string.Format("[V_{0}]", row["CveConcepto"].ToString()), row["Codigo"].ToString());
pos = pos + 1;
} }
} }
@@ -4971,7 +4982,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
//addcoltopersonalizar("Deducciones", "1", "Deducciones", ""); //addcoltopersonalizar("Deducciones", "1", "Deducciones", "");
addcoltopersonalizar("Neto a Pagar", "1", "Total", ""); addcoltopersonalizar("Neto a Pagar", "1", "Total", "");
posconceptospersonalizar = pos;
//foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 AND EsFormula =0").Rows)//EsFormula =0 //foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 AND EsFormula =0").Rows)//EsFormula =0
//{ //{
@@ -5013,7 +5024,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
drorden["Tipo"] = "0"; drorden["Tipo"] = "0";
drorden["ColumnaDB"] = DdlMOPXColumna.SelectedItem.Value; drorden["ColumnaDB"] = DdlMOPXColumna.SelectedItem.Value;
//drorden["TipoDB"] = DdlMOTipo.SelectedItem.Value; //drorden["TipoDB"] = DdlMOTipo.SelectedItem.Value;
DtNomPersonalizarxls.Rows.Add(drorden); DtNomPersonalizarxls.Rows.InsertAt(drorden, posconceptospersonalizar);
} }
GvPersonalizarExcel.DataSource = DtNomPersonalizarxls; GvPersonalizarExcel.DataSource = DtNomPersonalizarxls;
@@ -5109,7 +5120,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClosedXML.Excel.XLColor colororange = ClosedXML.Excel.XLColor.FromArgb(247, 150, 70); ClosedXML.Excel.XLColor colororange = ClosedXML.Excel.XLColor.FromArgb(247, 150, 70);
ClosedXML.Excel.XLColor colororangeblue = ClosedXML.Excel.XLColor.FromArgb(79, 129, 189); ClosedXML.Excel.XLColor colororangeblue = ClosedXML.Excel.XLColor.FromArgb(79, 129, 189);
ClosedXML.Excel.IXLCell celda; ClosedXML.Excel.IXLCell celda;
DataTable dtConceptos = this.dtConceptos.FiltraParametros("(Tipo ='P' AND EsPadre = 1 AND EsFormula =0) OR (Tipo = 'D' AND EsPadre = 1 AND EsFormula =0) OR Tipo = 'O' AND EsPadre = 1 AND EsFormula =0"); DataTable dtConceptos = this.dtConceptos.FiltraParametros("");
DataTable dtFiltrado = dtConceptos.Clone(); // Clonar la estructura del DataTable DataTable dtFiltrado = dtConceptos.Clone(); // Clonar la estructura del DataTable
foreach (GridViewRow row in GvPersonalizarExcel.Rows) foreach (GridViewRow row in GvPersonalizarExcel.Rows)
@@ -9578,14 +9589,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta); pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (confiniquito) //if (confiniquito)
{ //{
List<byte[]> pdfs = new List<byte[]>(); // List<byte[]> pdfs = new List<byte[]>();
pdfs.Add(pdf); // pdfs.Add(pdf);
pdfs.Add(GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta, true)); // pdfs.Add(GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta, true));
pdf = MergeFiles(pdfs); // pdf = MergeFiles(pdfs);
} //}
} }
else else
{ {

View File

@@ -912,7 +912,7 @@ Partial Class RH_Personal
End If End If
LnkContratoAgropecuaria.Visible = (UsuarioActual.CveEmpresa.Contiene(1, 158)) LnkContratoAgropecuaria.Visible = (UsuarioActual.CveEmpresa.Contiene(1, 158))
Using objno As New ClsNominas Using objno As New ClsNominas
objno.GetConceptos() objno.GetConceptos(UsuarioActual.CveEmpresa)
dtNomConceptos = objno.DtResultados dtNomConceptos = objno.DtResultados
objno.GetSubTipoPeriodo(UsuarioActual.CveEmpresa) objno.GetSubTipoPeriodo(UsuarioActual.CveEmpresa)
dtSubTipoPeriodo = objno.DtResultados dtSubTipoPeriodo = objno.DtResultados

View File

@@ -1397,7 +1397,7 @@ Public Class WS_PuntoVenta
Dim objInventario As New ClsInventarios Dim objInventario As New ClsInventarios
Dim Respuesta As New RespuestaWS Dim Respuesta As New RespuestaWS
If objInventario.GetConceptos() Then If objInventario.GetConceptoSAT() Then
Respuesta.Datos = objInventario.DtResultados '.FiltraParametros(String.Format("CveVendedor={0}", CveEmpresa)) Respuesta.Datos = objInventario.DtResultados '.FiltraParametros(String.Format("CveVendedor={0}", CveEmpresa))
Respuesta.Datos.TableName = "Inv_Conceptos" Respuesta.Datos.TableName = "Inv_Conceptos"
Respuesta.HuboError = False Respuesta.HuboError = False