This commit is contained in:
2024-05-31 06:07:49 -07:00
14 changed files with 443 additions and 310 deletions

View File

@@ -3812,6 +3812,27 @@ Public Class ClsNominas
End Function End Function
Public Function MovimientosSaldosGet(cvePersonal As Int32, cvePeriodo As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_MovimientosSaldosGet", CommandType.StoredProcedure)
addParameters("@CvePersonal", SqlDbType.Int, cvePersonal)
addParameters("@CvePeriodo", SqlDbType.Int, cvePeriodo)
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al obtener el MovimientosSaldosGet.")
Return retorno
End Function
Public Function NomMovimientosShow(cvePersonal As Int32, cvePeriodo As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_MovimientosShow", CommandType.StoredProcedure)
addParameters("@CvePersonal", SqlDbType.Int, cvePersonal)
addParameters("@CvePeriodo", SqlDbType.Int, cvePeriodo)
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al obtener el NomMovimientosShow.")
Return retorno
End Function
Public Sub addParameters(varsql As String, sqltipe As SqlDbType, valor As Object) Public Sub addParameters(varsql As String, sqltipe As SqlDbType, valor As Object)
SqlAdapter.SelectCommand.Parameters.Add(varsql, sqltipe).Value = valor SqlAdapter.SelectCommand.Parameters.Add(varsql, sqltipe).Value = valor

View File

@@ -1728,7 +1728,7 @@ Public Class ClsOS
Return Retorno Return Retorno
End Function End Function
Public Function UpdateOrdenesServiciosAsignadas(CveOSDetalle As Integer, CveUsuario As Integer, FechaCita As Date, HoraCita As DateTime, CveEmpresa As Integer) As Boolean Public Function UpdateOrdenesServiciosAsignadas(CveOSDetalle As Integer, CveUsuarioAtendio As Integer, FechaCita As Date, HoraCita As DateTime, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OS_OrdenesServiciosAsignadasUpdate") DataAdapter("PA_OS_OrdenesServiciosAsignadasUpdate")
@@ -1737,6 +1737,7 @@ Public Class ClsOS
.Add("@FechaCita", SqlDbType.Date).Value = FechaCita .Add("@FechaCita", SqlDbType.Date).Value = FechaCita
.Add("@HoraCita", SqlDbType.DateTime).Value = HoraCita .Add("@HoraCita", SqlDbType.DateTime).Value = HoraCita
.Add("@CveOSDetalle", SqlDbType.Int).Value = CveOSDetalle .Add("@CveOSDetalle", SqlDbType.Int).Value = CveOSDetalle
.Add("@CveUsuarioAtendio", SqlDbType.Int).Value = CveUsuarioAtendio
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With End With

View File

@@ -7945,299 +7945,315 @@ Public Class ClsPaginas
#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, Optional indemnizacion As Boolean = False) As Byte()
Dim ObjNomina As New ClsNominas
Dim ObjPersonal As New ClsRH
Dim TieneError As Boolean = False
Dim Retorno As Byte() = Nothing Dim Retorno As Byte() = Nothing
If Not ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, CveEmpresa) Then Using ObjNomina As New ClsNominas
Alert("Ocurrio un erro al obtener datos de la nomina", TipoMensaje.MsgError) Using ObjPersonal As New ClsRH
ObjPersonal.Dispose()
ObjNomina.Dispose()
Return Nothing
End If
Dim CveNomina As Integer = ObjNomina.CveNomina
Dim DTPercepciones As Data.DataTable
Dim DTDeducciones As Data.DataTable
Dim DTDeducciones2 As New Data.DataTable
Dim Ruta As String = UsuarioActual.Empresa.Ruta
Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }{If(indemnizacion, "F", "")}-{ObjNomina.Folio}.xml"
Dim FechaEmision, FechaCertificacion As DateTime
Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String
FolioFiscal = ""
NoSerieCertificado = ""
SelloCFDi = ""
SelloSAT = ""
NoSerieCertificadoContribuyente = ""
Dim RutaCBB As String = String.Format("{0}CBB\Nomina\{1}.jpg", RutaEmpresa, ObjNomina.SerieFolio)
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim ImgCBB As String
Dim RutaFormato As String = String.Format("{0}Formatos\Nomina.rdlc", RutaEmpresa)
Dim RutaFormatoDefault As String = String.Format("Empresas\Grales\Formatos\Nomina.rdlc")
Dim CFDIVersion As String = ""
Dim UsoCFDI As String = "ND"
'SI ESTA TIMBRADA - CON XML
If System.IO.File.Exists(PathXML) Then
Dim XmlDoc As New System.Xml.XmlDocument
'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml")
XmlDoc.Load(PathXML)
If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then
FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1
If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then
FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText
NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("NoCertificadoSAT").InnerText
FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate
SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloCFD").InnerText
SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloSAT").InnerText
End If
Next
Else
FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1
If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:timbreFiscalDigital" Then
FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText
NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText
FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("fechaTimbrado").InnerText.ToDate
SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText
SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText
End If
Next
End If
Try
CFDIVersion = ValorNodoXML(XmlDoc.DocumentElement, "version")
Dim nsManager As New XmlNamespaceManager(XmlDoc.NameTable)
nsManager.AddNamespace("cfdi", If(CFDIVersion = "4.0", "http://www.sat.gob.mx/cfd/4", "http://www.sat.gob.mx/cfd/3"))
Dim receptorNode As XmlNode = XmlDoc.SelectSingleNode("/cfdi:comprobante/cfdi:emisor/cfdi:receptor", nsManager)
If receptorNode IsNot Nothing Then
UsoCFDI = ValorNodoXML(receptorNode, "usocfdi")
Dim UsoCFDIImprimir As String = GlobalDTSATUsosCFDI(-1, "-1").FiltroPrimeroValor("UsoCFDIDescripcion", $" UsoCFDI = '{UsoCFDI}' ")
If UsoCFDIImprimir.Trim.Length > 0 Then
UsoCFDI = UsoCFDIImprimir
End If
Dim TieneError As Boolean = False
If Not ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, CveEmpresa) Then
Alert("Ocurrio un erro al obtener datos de la nomina", TipoMensaje.MsgError)
ObjPersonal.Dispose()
ObjNomina.Dispose()
Return Nothing
End If End If
Dim CveNomina As Integer = ObjNomina.CveNomina
Dim DTPercepciones As Data.DataTable
Dim DTDeducciones As Data.DataTable
Dim DTDeducciones2 As New Data.DataTable
Dim Ruta As String = UsuarioActual.Empresa.Ruta
Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.Serie }{If(indemnizacion, "F", "")}-{ObjNomina.Folio}.xml"
Dim FechaEmision, FechaCertificacion As DateTime
Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String
FolioFiscal = ""
NoSerieCertificado = ""
SelloCFDi = ""
SelloSAT = ""
NoSerieCertificadoContribuyente = ""
Dim RutaCBBDir As String = String.Format("{0}CBB\Nomina\", RutaEmpresa)
If Not (System.IO.Directory.Exists(RutaCBBDir)) Then
System.IO.Directory.CreateDirectory(RutaCBBDir)
End If
Dim RutaCBB As String = String.Format("{0}{1}.jpg", RutaCBBDir, ObjNomina.SerieFolio)
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim ImgCBB As String
Dim RutaFormato As String = String.Format("{0}Formatos\Nomina.rdlc", RutaEmpresa)
Dim RutaFormatoDefault As String = String.Format("Empresas\Grales\Formatos\Nomina.rdlc")
Dim CFDIVersion As String = ""
Dim UsoCFDI As String = "ND"
If UsoCFDI = "ND" Or UsoCFDI = "" Then
If CFDIVersion = "4.0" Then
UsoCFDI = "CN01 - Nómina" 'SI ESTA TIMBRADA - CON XML
If System.IO.File.Exists(PathXML) Then
Dim XmlDoc As New System.Xml.XmlDocument
'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml")
XmlDoc.Load(PathXML)
If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then
FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1
If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then
FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText
NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("NoCertificadoSAT").InnerText
FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate
SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloCFD").InnerText
SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloSAT").InnerText
End If
Next
Else Else
UsoCFDI = "P01 - Por definir" FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1
If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:timbreFiscalDigital" Then
FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText
NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText
FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("fechaTimbrado").InnerText.ToDate
SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText
SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText
End If
Next
End If End If
Try
CFDIVersion = ValorNodoXML(XmlDoc.DocumentElement, "version")
Dim nsManager As New XmlNamespaceManager(XmlDoc.NameTable)
nsManager.AddNamespace("cfdi", If(CFDIVersion = "4.0", "http://www.sat.gob.mx/cfd/4", "http://www.sat.gob.mx/cfd/3"))
Dim receptorNode As XmlNode = XmlDoc.SelectSingleNode("/cfdi:comprobante/cfdi:emisor/cfdi:receptor", nsManager)
If receptorNode IsNot Nothing Then
UsoCFDI = ValorNodoXML(receptorNode, "usocfdi")
Dim UsoCFDIImprimir As String = GlobalDTSATUsosCFDI(-1, "-1").FiltroPrimeroValor("UsoCFDIDescripcion", $" UsoCFDI = '{UsoCFDI}' ")
If UsoCFDIImprimir.Trim.Length > 0 Then
UsoCFDI = UsoCFDIImprimir
End If
End If
If UsoCFDI = "ND" Or UsoCFDI = "" Then
If CFDIVersion = "4.0" Then
UsoCFDI = "CN01 - Nómina"
Else
UsoCFDI = "P01 - Por definir"
End If
End If
Catch ex As Exception
End Try
'SIN TIMBRAR - SIN XML
Else
FolioFiscal = "Sin Timbrar"
NoSerieCertificado = "Sin Timbrar"
SelloCFDi = "Sin Timbrar"
SelloSAT = "Sin Timbrar"
End If End If
'Si no tiene CBB, SE GENERA
If Not ImagenCBB.Exists Then
Catch ex As Exception If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then
GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString.ToDecimal, FolioFiscal, RutaGuardado:=RutaCBB)
End Try End If
'SIN TIMBRAR - SIN XML
Else
FolioFiscal = "Sin Timbrar"
NoSerieCertificado = "Sin Timbrar"
SelloCFDi = "Sin Timbrar"
SelloSAT = "Sin Timbrar"
End If
'Si no tiene CBB, SE GENERA
If Not ImagenCBB.Exists Then
If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then
GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString.ToDecimal, FolioFiscal, RutaGuardado:=RutaCBB)
End If
End If
ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Nomina/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, ObjNomina.SerieFolio)
Dim cQr As Byte() = Nothing
Try
Dim CadenaOriginalCFD As String = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||"
Dim RptParametro As New List(Of ReportParameter)
'Datos Empresa
RptParametro.Add(New ReportParameter("RegistroPatronal", ObjNomina.RegistroPatronal))
Dim ajusteindemnizacion As Double = 0
'PERCECIONES - DEDUCCIONES
If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
Dim filtrop As String = " AND CveSistema NOT IN(10,11,32)"
Dim friltrod As String = " AND CveSistema <>47"
If indemnizacion Then
filtrop = "AND CveSistema IN(10,11,32)"
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 SoloVisible =0) OR Imprimir =1)) {filtrop}") ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Nomina/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, ObjNomina.SerieFolio)
DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND ((Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ) {friltrod}") Dim cQr As Byte() = Nothing
DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND (( Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ){friltrod}") Try
ajusteindemnizacion = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema IN(10,11,32)").SUM("Importe") - Dim CadenaOriginalCFD As String = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||"
Dim RptParametro As New List(Of ReportParameter)
'Datos Empresa
RptParametro.Add(New ReportParameter("RegistroPatronal", ObjNomina.RegistroPatronal))
Dim ajusteindemnizacion As Double = 0
'PERCECIONES - DEDUCCIONES
If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
Dim filtrop As String = " AND CveSistema NOT IN(10,11,32)"
Dim friltrod As String = " AND CveSistema <>47"
If indemnizacion Then
filtrop = "AND CveSistema IN(10,11,32)"
friltrod = " AND CveSistema =47"
End If
DTPercepciones = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND ((Importe <>0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1)) {filtrop}")
DTDeducciones = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND ((Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ) {friltrod}")
DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND (( Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR Imprimir =1) ){friltrod}")
ajusteindemnizacion = ObjNomina.DtResultados.FiltraParametros($"((Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema IN(10,11,32)").SUM("Importe") -
ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema =47").SUM("Importe") ObjNomina.DtResultados.FiltraParametros($"(Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) AND CveSistema =47").SUM("Importe")
For Each row As DataRow In DTPercepciones.Rows For Each row As DataRow In DTPercepciones.Rows
If row("Tipo").ToString() = "D" Then If row("Tipo").ToString() = "D" Then
row("Codigo") = row("Codigo").ToString().Replace("D", "OP") row("Codigo") = row("Codigo").ToString().Replace("D", "OP")
row("Importe") = row("Importe").ToString().ToDecimal() * -1 row("Importe") = row("Importe").ToString().ToDecimal() * -1
End If
Next
Else
DTPercepciones = Nothing
DTDeducciones = Nothing
End If End If
Next Dim SalarioDiario As String
Else Dim SDI As String
DTPercepciones = Nothing Dim Departamento As String
DTDeducciones = Nothing Dim Puesto As String
End If 'DATOS DEL EMPLEADO
Dim SalarioDiario As String If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then
Dim SDI As String RptParametro.Add(New ReportParameter("NoEmpleado", ObjPersonal.Codigo))
Dim Departamento As String RptParametro.Add(New ReportParameter("RFC", ObjPersonal.RFC))
Dim Puesto As String RptParametro.Add(New ReportParameter("CURP", ObjPersonal.CURP))
'DATOS DEL EMPLEADO RptParametro.Add(New ReportParameter("NombreCompleto", String.Format("{0} {1} {2}", ObjPersonal.Nombres, ObjPersonal.APaterno, ObjPersonal.AMaterno).Trim()))
If ObjPersonal.GetPersonal(CvePersonal, CveEmpresa) Then RptParametro.Add(New ReportParameter("Regimen", ObjPersonal.RegimenContratacion))
RptParametro.Add(New ReportParameter("NoEmpleado", ObjPersonal.Codigo)) RptParametro.Add(New ReportParameter("RiesgoPuesto", ObjPersonal.RiesgoPuesto))
RptParametro.Add(New ReportParameter("RFC", ObjPersonal.RFC)) RptParametro.Add(New ReportParameter("NSS", ObjPersonal.NumeroSS))
RptParametro.Add(New ReportParameter("CURP", ObjPersonal.CURP)) Departamento = ObjPersonal.Departamento
RptParametro.Add(New ReportParameter("NombreCompleto", String.Format("{0} {1} {2}", ObjPersonal.Nombres, ObjPersonal.APaterno, ObjPersonal.AMaterno).Trim())) Puesto = ObjPersonal.Puesto.ToString()
RptParametro.Add(New ReportParameter("Regimen", ObjPersonal.RegimenContratacion)) RptParametro.Add(New ReportParameter("FechaIngreso", ObjPersonal.FechaIngreso.ToString("dd/MM/yyyy")))
RptParametro.Add(New ReportParameter("RiesgoPuesto", ObjPersonal.RiesgoPuesto)) RptParametro.Add(New ReportParameter("Contrato", ObjPersonal.TipoContrato.ToString))
RptParametro.Add(New ReportParameter("NSS", ObjPersonal.NumeroSS)) RptParametro.Add(New ReportParameter("Jornada", ObjPersonal.Jornada))
Departamento = ObjPersonal.Departamento RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo))
Puesto = ObjPersonal.Puesto.ToString() RptParametro.Add(New ReportParameter("Banco", ObjPersonal.Banco))
RptParametro.Add(New ReportParameter("FechaIngreso", ObjPersonal.FechaIngreso.ToString("dd/MM/yyyy"))) RptParametro.Add(New ReportParameter("CLABE", ObjPersonal.CLABE))
RptParametro.Add(New ReportParameter("Contrato", ObjPersonal.TipoContrato.ToString)) SalarioDiario = ObjPersonal.SalarioDiario.ToString
RptParametro.Add(New ReportParameter("Jornada", ObjPersonal.Jornada)) SDI = ObjPersonal.SDI.ToString
RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) If ObjNomina.GetNom_NominasDataXML(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) AndAlso ObjNomina.DtResultados.Rows.Count > 0 Then
RptParametro.Add(New ReportParameter("Banco", ObjPersonal.Banco)) Dim drow As DataRow = ObjNomina.DtResultados.Rows(0)
RptParametro.Add(New ReportParameter("CLABE", ObjPersonal.CLABE)) SalarioDiario = drow("SalarioDiario").ToString()
SalarioDiario = ObjPersonal.SalarioDiario.ToString SDI = drow("NomRSalarioDiarioIntegrado").ToString()
SDI = ObjPersonal.SDI.ToString Departamento = drow("NomRDepartamento").ToString()
If ObjNomina.GetNom_NominasDataXML(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) AndAlso ObjNomina.DtResultados.Rows.Count > 0 Then Puesto = drow("NomRPuesto").ToString()
Dim drow As DataRow = ObjNomina.DtResultados.Rows(0) End If
SalarioDiario = drow("SalarioDiario").ToString() RptParametro.Add(New ReportParameter("SalarioBase", SalarioDiario))
SDI = drow("NomRSalarioDiarioIntegrado").ToString() RptParametro.Add(New ReportParameter("SalarioDiarioInt", SDI))
Departamento = drow("NomRDepartamento").ToString() RptParametro.Add(New ReportParameter("Departamento", Departamento))
Puesto = drow("NomRPuesto").ToString() RptParametro.Add(New ReportParameter("Puesto", Puesto))
End If 'DATOS NOMINA
RptParametro.Add(New ReportParameter("SalarioBase", SalarioDiario)) If ObjNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) Then
RptParametro.Add(New ReportParameter("SalarioDiarioInt", SDI)) RptParametro.Add(New ReportParameter("ReciboNomina", ObjNomina.Folio.ToString))
RptParametro.Add(New ReportParameter("Departamento", Departamento)) RptParametro.Add(New ReportParameter("Serie", ObjNomina.Serie))
RptParametro.Add(New ReportParameter("Puesto", Puesto)) RptParametro.Add(New ReportParameter("Fecha", ObjNomina.Fecha.ToString))
'DATOS NOMINA RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo))
If ObjNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, 1, CveEmpresa) Then RptParametro.Add(New ReportParameter("DiasPagados", ObjNomina.DiasPagados.ToString))
RptParametro.Add(New ReportParameter("ReciboNomina", ObjNomina.Folio.ToString)) RptParametro.Add(New ReportParameter("MetodoPago", ObjNomina.MetodoPago)) '"""PUE"" (Pago en una sola exhibición)"
RptParametro.Add(New ReportParameter("Serie", ObjNomina.Serie)) RptParametro.Add(New ReportParameter("FormaPago", """99"" (Por definir)"))
RptParametro.Add(New ReportParameter("Fecha", ObjNomina.Fecha.ToString)) RptParametro.Add(New ReportParameter("Cantidad", "1"))
RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo)) RptParametro.Add(New ReportParameter("Unidad", "ACT"))
RptParametro.Add(New ReportParameter("DiasPagados", ObjNomina.DiasPagados.ToString)) RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA"))
RptParametro.Add(New ReportParameter("MetodoPago", ObjNomina.MetodoPago)) '"""PUE"" (Pago en una sola exhibición)" RptParametro.Add(New ReportParameter("Total", If(indemnizacion, ajusteindemnizacion, ObjNomina.Total - ajusteindemnizacion).ToString()))
RptParametro.Add(New ReportParameter("FormaPago", """99"" (Por definir)")) RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDecimal.Texto2Letras))
RptParametro.Add(New ReportParameter("Cantidad", "1")) RptParametro.Add(New ReportParameter("Clave", "84111505"))
RptParametro.Add(New ReportParameter("Unidad", "ACT")) cQr = GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal)
RptParametro.Add(New ReportParameter("Descripcion", "PAGO DE NÓMINA")) Else
RptParametro.Add(New ReportParameter("Total", If(indemnizacion, ajusteindemnizacion, ObjNomina.Total - ajusteindemnizacion).ToString())) TieneError = True
RptParametro.Add(New ReportParameter("ImporteLetra", ObjNomina.Total.ToString.ToDecimal.Texto2Letras)) End If
RptParametro.Add(New ReportParameter("Clave", "84111505")) Else
cQr = GeneraQRSAT(UsuarioActual.Empresa.RFC, ObjPersonal.RFC, ObjNomina.Total.ToString().ToDecimal(), FolioFiscal) TieneError = True
Else End If
TieneError = True If Not TieneError Then
End If If ObjNomina.GetPeriodos(-1, CveEmpresa, -1, -1, CvePeriodo) Then
Else RptParametro.Add(New ReportParameter("FechaInicio", ObjNomina.FechaInicio.ToString("dd/MM/yyyy")))
TieneError = True RptParametro.Add(New ReportParameter("FechaFin", ObjNomina.FechaFin.ToString("dd/MM/yyyy")))
End If Else
If Not TieneError Then TieneError = True
If ObjNomina.GetPeriodos(-1, CveEmpresa, -1, -1, CvePeriodo) Then End If
RptParametro.Add(New ReportParameter("FechaInicio", ObjNomina.FechaInicio.ToString("dd/MM/yyyy")))
RptParametro.Add(New ReportParameter("FechaFin", ObjNomina.FechaFin.ToString("dd/MM/yyyy")))
Else
TieneError = True
End If
End If
RptParametro.Add(New ReportParameter("PU", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("Importe", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("ImporteDeducciones", DTDeducciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("SubTotal", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("Descuentos", DTDeducciones.SUM("Importe", "SATCveConcepto <> '002'").ToString()))
RptParametro.Add(New ReportParameter("ISR", DTDeducciones.SUM("Importe", "SATCveConcepto = '002'").ToString()))
'Timbrado
RptParametro.Add(New ReportParameter("FolioFiscal", FolioFiscal))
RptParametro.Add(New ReportParameter("CertificadoSAT", NoSerieCertificado))
RptParametro.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString))
RptParametro.Add(New ReportParameter("SelloDigitalEmisor", SelloCFDi))
RptParametro.Add(New ReportParameter("SelloDigitalSAT", SelloSAT))
RptParametro.Add(New ReportParameter("CadenaOriginal", CadenaOriginalCFD))
RptParametro.Add(New ReportParameter("QR", ImgCBB.ToString))
RptParametro.Add(New ReportParameter("CFDIVersion", CFDIVersion))
RptParametro.Add(New ReportParameter("UsoCFDI", UsoCFDI))
Dim LSRds As New List(Of ReportDataSource)
Dim rds2 As ReportDataSource = New ReportDataSource()
Dim dtqr As New DataTable
Dim column As DataColumn = New DataColumn("ImagenByte")
column.DataType = System.Type.[GetType]("System.Byte[]")
column.AllowDBNull = True
column.Caption = "ImagenByte"
dtqr.Columns.Add(column)
Dim rowqr As DataRow = dtqr.NewRow()
rowqr("ImagenByte") = cQr
dtqr.Rows.Add(rowqr)
rds2.Name = "dsImagenes"
rds2.Value = dtqr
LSRds.Add(rds2)
Dim numnewfiles As Integer = 0
If DTPercepciones.Rows.Count > DTDeducciones2.Rows.Count Then
numnewfiles = DTPercepciones.Rows.Count - DTDeducciones2.Rows.Count
For index As Integer = 1 To numnewfiles
DTDeducciones2.Rows.Add(DTDeducciones2.NewRow)
Next
Else
If DTDeducciones2.Rows.Count > DTPercepciones.Rows.Count Then
numnewfiles = DTDeducciones2.Rows.Count - DTPercepciones.Rows.Count
For index As Integer = 1 To numnewfiles
DTPercepciones.Rows.Add(DTPercepciones.NewRow)
Next
End If
End If
Dim RptDS As New ReportDataSource
RptDS.Name = "DsOC"
RptDS.Value = DTPercepciones
LSRds.Add(RptDS)
Dim RDS As New ReportDataSource
RDS.Name = "DataSet1"
RDS.Value = DTDeducciones2
LSRds.Add(RDS)
Dim Archivo As New System.IO.FileInfo(RutaFormato)
If Not TieneError Then
If Archivo.Exists Then
Retorno = StreamPDF(RutaFormato, LSRds, RptParametro, ObjNomina.SerieFolio, "PDF", MR:=Nothing)
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio))
If Not ArchivoPDF.Exists Then
Try
DirectoryExistsCreate(String.Format("{0}PDF", RutaEmpresa))
DirectoryExistsCreate(String.Format("{0}PDF\{1}", RutaEmpresa, "Nomina"))
File.WriteAllBytes(String.Format("{0}PDF\Nomina\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio), Retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
GuardaLog(String.Format("Ocurrió un error al generar el PDF {0}", ex))
End Try
End If End If
Else
'ImprimirPDF(String.Format("{0}\Formatos\Nomina.rdlc", RutaEmpresa), LSRds, RptParametro, ObjNomina.SerieFolio)
End If
Else
Alert("Ocurrio un error al obtener los datos de la Nomina")
End If
Catch ex As Exception
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
End Try
ObjNomina.Dispose() RptParametro.Add(New ReportParameter("PU", DTPercepciones.SUM("Importe").ToString()))
ObjPersonal.Dispose() RptParametro.Add(New ReportParameter("Importe", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("ImporteDeducciones", DTDeducciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("SubTotal", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("Descuentos", DTDeducciones.SUM("Importe", "SATCveConcepto <> '002'").ToString()))
RptParametro.Add(New ReportParameter("ISR", DTDeducciones.SUM("Importe", "SATCveConcepto = '002'").ToString()))
'Timbrado
RptParametro.Add(New ReportParameter("FolioFiscal", FolioFiscal))
RptParametro.Add(New ReportParameter("CertificadoSAT", NoSerieCertificado))
RptParametro.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString))
RptParametro.Add(New ReportParameter("SelloDigitalEmisor", SelloCFDi))
RptParametro.Add(New ReportParameter("SelloDigitalSAT", SelloSAT))
RptParametro.Add(New ReportParameter("CadenaOriginal", CadenaOriginalCFD))
RptParametro.Add(New ReportParameter("QR", ImgCBB.ToString))
RptParametro.Add(New ReportParameter("CFDIVersion", CFDIVersion))
RptParametro.Add(New ReportParameter("UsoCFDI", UsoCFDI))
Dim LSRds As New List(Of ReportDataSource)
Dim rds2 As ReportDataSource = New ReportDataSource()
Dim dtqr As New DataTable
Dim column As DataColumn = New DataColumn("ImagenByte")
column.DataType = System.Type.[GetType]("System.Byte[]")
column.AllowDBNull = True
column.Caption = "ImagenByte"
dtqr.Columns.Add(column)
Dim rowqr As DataRow = dtqr.NewRow()
rowqr("ImagenByte") = cQr
dtqr.Rows.Add(rowqr)
rds2.Name = "dsImagenes"
rds2.Value = dtqr
LSRds.Add(rds2)
Dim numnewfiles As Integer = 0
If DTPercepciones.Rows.Count > DTDeducciones2.Rows.Count Then
numnewfiles = DTPercepciones.Rows.Count - DTDeducciones2.Rows.Count
For index As Integer = 1 To numnewfiles
DTDeducciones2.Rows.Add(DTDeducciones2.NewRow)
Next
Else
If DTDeducciones2.Rows.Count > DTPercepciones.Rows.Count Then
numnewfiles = DTDeducciones2.Rows.Count - DTPercepciones.Rows.Count
For index As Integer = 1 To numnewfiles
DTPercepciones.Rows.Add(DTPercepciones.NewRow)
Next
End If
End If
If ObjNomina.NomMovimientosShow(CvePersonal, CvePeriodo, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
If Not IsNothing(ObjNomina.DtResultados) And ObjNomina.DtResultados.Rows.Count > 0 And ObjNomina.DtResultados.Rows(0)("ShowMovtosPermanentes").ToString() = "1" Then
If ObjNomina.MovimientosSaldosGet(CvePersonal, CvePeriodo, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Dim RptDSMP As New ReportDataSource
RptDSMP.Name = "DsMovtosPermanentes"
RptDSMP.Value = ObjNomina.DtResultados
LSRds.Add(RptDSMP)
End If
End If
End If
Dim RptDS As New ReportDataSource
RptDS.Name = "DsOC"
RptDS.Value = DTPercepciones
LSRds.Add(RptDS)
Dim RDS As New ReportDataSource
RDS.Name = "DataSet1"
RDS.Value = DTDeducciones2
LSRds.Add(RDS)
Dim Archivo As New System.IO.FileInfo(RutaFormato)
If Not TieneError Then
If Archivo.Exists Then
Retorno = StreamPDF(RutaFormato, LSRds, RptParametro, ObjNomina.SerieFolio, "PDF", MR:=Nothing)
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio))
If Not ArchivoPDF.Exists Then
Try
DirectoryExistsCreate(String.Format("{0}PDF", RutaEmpresa))
DirectoryExistsCreate(String.Format("{0}PDF\{1}", RutaEmpresa, "Nomina"))
File.WriteAllBytes(String.Format("{0}PDF\Nomina\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio), Retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
GuardaLog(String.Format("Ocurrió un error al generar el PDF {0}", ex))
End Try
End If
Else
'ImprimirPDF(String.Format("{0}\Formatos\Nomina.rdlc", RutaEmpresa), LSRds, RptParametro, ObjNomina.SerieFolio)
End If
Else
Alert("Ocurrio un error al obtener los datos de la Nomina")
End If
Catch ex As Exception
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
End Try
End Using
End Using
Return Retorno Return Retorno
End Function End Function
#End Region #End Region

View File

@@ -321,6 +321,21 @@ Public Class ClsRH
#End Region #End Region
#Region "ClsRHAsistenciasInasistencias" #Region "ClsRHAsistenciasInasistencias"
Public Function CargaInicialAsistenciaInasistencia(cveEmpresa As Int32, cveUsuario As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_RH_CargaInicialAsistenciaInasistencia", CommandType.StoredProcedure)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al realizar la carga inicial de asistencia inasistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetAsistenciasInasistencias(CveEmpresa As Integer) As Boolean Public Function GetAsistenciasInasistencias(CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -3594,13 +3594,10 @@ Partial Class Compras_Compras
End If End If
End If End If
<<<<<<< HEAD
CargaRetIVAConcepto(True, ObjProveedor.DIOTCveTipoOperacion)
CargaRetISRConcepto(True, ObjProveedor.DIOTCveTipoOperacion)
CargaRetIVAConcepto(True, ObjProveedor.DIOTCveTipoOperacion) CargaRetIVAConcepto(True, ObjProveedor.DIOTCveTipoOperacion)
CargaRetISRConcepto(True, ObjProveedor.DIOTCveTipoOperacion) CargaRetISRConcepto(True, ObjProveedor.DIOTCveTipoOperacion)
>>>>>>> GDiaz 2024.05.21
LbAgregar.Enabled = True LbAgregar.Enabled = True
UpPSS.Update() UpPSS.Update()
@@ -3647,11 +3644,7 @@ Partial Class Compras_Compras
PorcentajeProntoPago = ObjProveedor.PorcentajeProntoPago PorcentajeProntoPago = ObjProveedor.PorcentajeProntoPago
End If End If
<<<<<<< HEAD
=======
>>>>>>> GDiaz 2024.05.21
Else Else
Alert("El Proveedor solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgAdvertencia) Alert("El Proveedor solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgAdvertencia)
End If End If
@@ -3659,9 +3652,6 @@ Partial Class Compras_Compras
<<<<<<< HEAD
=======
>>>>>>> GDiaz 2024.05.21
If UsuarioActual.Empresa.Funcionalidad(560) = "1" Then If UsuarioActual.Empresa.Funcionalidad(560) = "1" Then
If ObjProveedor.GetProveedoresEvaluacionPediente(Me.CveProveedor, UsuarioActual.CveEmpresa) Then If ObjProveedor.GetProveedoresEvaluacionPediente(Me.CveProveedor, UsuarioActual.CveEmpresa) Then
If ObjProveedor.DtResultados.Rows.Count > 0 Then If ObjProveedor.DtResultados.Rows.Count > 0 Then

View File

@@ -3967,7 +3967,7 @@ Partial Class General_SaldosIniciales
TxtExcel.Text = "" TxtExcel.Text = ""
UpDatos.Update() UpDatos.Update()
Else Else
Alert(String.Format("Se agregaron: <b>{0}</b> Empleados correctamente.", NumRows), TipoMensaje.MsgInformacion) Alert(String.Format("Se agregaron: <b>{0}</b> Empleados correctamente.", ContadorAgregados), TipoMensaje.MsgInformacion)
ObjRH.Commit() ObjRH.Commit()
TxtExcel.Text = "" TxtExcel.Text = ""
UpDatos.Update() UpDatos.Update()

View File

@@ -325,7 +325,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
if (!IsPostBack) if (!IsPostBack)
{ {
cargarutaempresa();
{ {
DtNomOrden = new DataTable(); DtNomOrden = new DataTable();
@@ -474,6 +475,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
} }
private void cargarutaempresa()
{
string rutaCBBDir = String.Format("{0}CBB\\Nomina\\", UsuarioActual.Empresa.Ruta);
if (!Directory.Exists(rutaCBBDir))
{
Directory.CreateDirectory(rutaCBBDir);
}
}
#region Filtros #region Filtros
private void cargaEjercicios() private void cargaEjercicios()
{ {
@@ -2109,7 +2119,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
column++; column++;
libro.Cell(1, column).Value = row["CveConcepto"].ToString(); libro.Cell(1, column).Value = row["CveConcepto"].ToString();
libro.Cell(FilaConceptos, column).Value = "N"; libro.Cell(FilaConceptos, column).Value = "S";
libro.Cell(3, column).Value = row["Concepto"].ToString(); libro.Cell(3, column).Value = row["Concepto"].ToString();
libro.Cell(4, column).Value = row["Codigo"].ToString(); libro.Cell(4, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15; libro.Column(column).Width = 15;
@@ -2124,7 +2134,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
column++; column++;
libro.Cell(1, column).Value = row["CveConcepto"].ToString(); libro.Cell(1, column).Value = row["CveConcepto"].ToString();
libro.Cell(FilaConceptos, column).Value = "N"; libro.Cell(FilaConceptos, column).Value = "S";
libro.Cell(3, column).Value = row["Concepto"].ToString(); libro.Cell(3, column).Value = row["Concepto"].ToString();
libro.Cell(4, column).Value = row["Codigo"].ToString(); libro.Cell(4, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15; libro.Column(column).Width = 15;
@@ -2139,7 +2149,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
column++; column++;
libro.Cell(1, column).Value = row["CveConcepto"].ToString(); libro.Cell(1, column).Value = row["CveConcepto"].ToString();
libro.Cell(FilaConceptos, column).Value = "N"; libro.Cell(FilaConceptos, column).Value = "S";
libro.Cell(3, column).Value = row["Concepto"].ToString(); libro.Cell(3, column).Value = row["Concepto"].ToString();
libro.Cell(4, column).Value = row["Codigo"].ToString(); libro.Cell(4, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15; libro.Column(column).Width = 15;

View File

@@ -82,17 +82,26 @@
</div> </div>
</asp:Panel> </asp:Panel>
<br /> <br />
<div style=" text-align: right" ">
<div >
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVCalcularUtilidades.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVCalcularUtilidades.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:GridView ID="GVCalcularUtilidades" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVCalcularUtilidades" AutoGenerateColumns="False" <asp:GridView ID="GVCalcularUtilidades" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVCalcularUtilidades" AutoGenerateColumns="False"
DataKeyNames="Nombre,CvePersonal,DiasLaborados,SueldoTotal,Importe"> DataKeyNames="Nombre,CvePersonal,DiasLaborados,SueldoTotal,Importe" >
<Columns> <Columns>
<asp:TemplateField HeaderText="Código "> <asp:TemplateField HeaderText="Código ">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblC" runat="server" Text='<%# Eval("Codigo")%>'> </asp:Label> <%--<asp:Literal ID="lblC" runat="server" > </asp:Literal>--%>
<asp:HyperLink ID="lblC" runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Nombre "> <asp:TemplateField HeaderText="Nombre ">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblnombreCompleto" runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label> <asp:HyperLink ID="lblnombreCompleto" runat="server" Text='<%# Eval("Nombre") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink>
<%--<asp:Literal ID="lblnombreCompleto" runat="server" > </asp:Literal>--%>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>

View File

@@ -241,4 +241,18 @@ Partial Class Nomina_ReportePTU
End If End If
End If End If
End Sub End Sub
'Protected Sub GVCalcularUtilidades_RowDataBound(sender As Object, e As GridViewRowEventArgs)
' If e.Row.RowType = DataControlRowType.DataRow Then
' Dim dataItem As DataRowView = CType(e.Row.DataItem, DataRowView)
' Dim cvePersonal As String = e.Row.DataKey("CvePersonal").ToString()
' Dim codigo As String = e.Row.DataKey("Codigo").ToString()
' Dim nombre As String = e.Row.DataKey("Nombre").ToString()
' Dim lblC As Label = CType(e.Row.FindControl("lblC"), Label)
' lblC.Text = String.Format("<a class='Texto sline' href='/RH/Personal.aspx?CvePersonal={0}'>{1}</a>", cvePersonal, codigo)
' Dim lblnombreCompleto As Label = CType(e.Row.FindControl("lblnombreCompleto"), Label)
' lblnombreCompleto.Text = String.Format("<a class='Texto sline' href='/RH/Personal.aspx?CvePersonal={0}'>{1}</a>", cvePersonal, nombre)
' End If
'End Sub
End Class End Class

View File

@@ -1866,7 +1866,7 @@ Partial Class OS_OrdenesServicios
GvHistorial.DataSource = Nothing GvHistorial.DataSource = Nothing
End If End If
GvHistorial.DataBind() GvHistorial.DataBind()
ObjGral.Dispose() UpHistorial.Update()
End Sub End Sub
#End Region #End Region
@@ -3536,24 +3536,40 @@ Partial Class OS_OrdenesServicios
End Class End Class
Protected Sub LnkActualizarUsaurioAtendio_Click(sender As Object, e As EventArgs) Protected Sub LnkActualizarUsaurioAtendio_Click(sender As Object, e As EventArgs)
Dim ObjOs As New ClsOS
Dim ProcesoOk As Boolean = True
If DdlUsuarioAtendio.SelectedValue.ToEntero > 0 Then If DdlUsuarioAtendio.SelectedValue.ToEntero > 0 Then
Dim ObjOS As New ClsOS
ObjOS.IniciaTransacSQL()
Dim ProcesoOk As Boolean = True
For Each GvRow As GridViewRow In GvPS.Rows For Each GvRow As GridViewRow In GvPS.Rows
If Not ObjOs.UpdateOrdenesServiciosAsignadas(GvRow.DataKey("CveOSDetalle").ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, MinFecha, DateTime.Parse(MinFecha.ToShortDateString), UsuarioActual.CveEmpresa) Then If Not ObjOS.UpdateOrdenesServiciosAsignadas(GvRow.DataKey("CveOSDetalle").ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, MinFecha, DateTime.Parse(MinFecha.ToShortDateString), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
ProcesoOk = False ProcesoOk = False
Alert($"Se presento un error al actualizar el técnico.")
Exit For Exit For
End If End If
Next Next
If ProcesoOk Then If ProcesoOk Then
Alert($"Técnico actualizado correctamenrte a {DdlUsuarioAtendio.SelectedItem.Text}.") ObjOS.Commit()
Else
ObjOS.RollBack()
End If End If
ObjOS.Dispose()
If ProcesoOk Then
Alert($"Se presento un error al actualizar el técnico.")
CargaHistorial()
End If
Else Else
Alert("Debe de seleccionar un ténico para actualziar", TipoMensaje.MsgAdvertencia) Alert("Debe de seleccionar un ténico para actualziar", TipoMensaje.MsgAdvertencia)
End If End If
ObjOs.Dispose()
End Sub End Sub

View File

@@ -16,6 +16,9 @@
<li> <li>
<asp:LinkButton runat="server" ID="BtnAgregarMotivoD" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Asistencia/Inacistencia"></asp:LinkButton> <asp:LinkButton runat="server" ID="BtnAgregarMotivoD" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Asistencia/Inacistencia"></asp:LinkButton>
</li> </li>
<li>
<asp:LinkButton runat="server" ID="LnkCargapredefinidos" OnClick="LnkCargapredefinidos_Click" Text="<i class='fa fa-plus'></i>Agregar Predefinidos" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si"></asp:LinkButton>
</li>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>

View File

@@ -48,6 +48,7 @@ Partial Class RH_CatAsistenciasInasistencias
Dim ObjAsistenciasInasistencias As New ClsRH Dim ObjAsistenciasInasistencias As New ClsRH
If ObjAsistenciasInasistencias.GetAsistenciasInasistencias(UsuarioActual.CveEmpresa) Then If ObjAsistenciasInasistencias.GetAsistenciasInasistencias(UsuarioActual.CveEmpresa) Then
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados
LnkCargapredefinidos.Visible = ObjAsistenciasInasistencias.DtResultados.Rows.Count = 0
Else Else
Me.GvDatos.DataSource = Nothing Me.GvDatos.DataSource = Nothing
End If End If
@@ -258,4 +259,17 @@ Partial Class RH_CatAsistenciasInasistencias
#End Region #End Region
Protected Sub LnkCargapredefinidos_Click(sender As Object, e As EventArgs)
Using objrh As New ClsRH()
'objrh.IniciaTransacSQL()
If objrh.CargaInicialAsistenciaInasistencia(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
'objrh.Commit()
Else
'objrh.RollBack()
End If
End Using
CargaDatos()
End Sub
End Class End Class

View File

@@ -201,13 +201,13 @@
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtCiudadOrigen" runat="server" MaxLength="30"></asp:TextBox> <asp:DropDownList ID="DdlEstados" runat="server" DataTextField="NombreEstado" DataValueField="CveEstado" Width="100%" Class="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= TxtCiudadOrigen.ClientID.ToString()%>">Ciudad Nacimiento: </label> <label for="<%= DdlEstados.ClientID.ToString()%>">Estado de nacimiento: </label>
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlEstados" runat="server" DataTextField="NombreEstado" DataValueField="CveEstado" Width="100%" Class="form-control input-sm select2me"></asp:DropDownList> <asp:TextBox CssClass="form-control" ID="TxtCiudadOrigen" runat="server" MaxLength="30"></asp:TextBox>
<label for="<%= DdlEstados.ClientID.ToString()%>">Lugar de nacimiento: </label> <label for="<%= TxtCiudadOrigen.ClientID.ToString()%>">Ciudad Nacimiento: </label>
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
@@ -315,6 +315,13 @@
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtCP" runat="server" MaxLength="5"></asp:TextBox> <asp:TextBox CssClass="form-control" ID="TxtCP" runat="server" MaxLength="5"></asp:TextBox>
<asp:CustomValidator ID="cvCadena" runat="server" ControlToValidate="TxtCP" Enabled="true"
OnServerValidate="cvCadena_ServerValidate" ValidationGroup="GrpGuardar"
ErrorMessage="La cadena debe ser numérica y de 5 dígitos."></asp:CustomValidator>
<asp:RequiredFieldValidator ID="rfvTxtCP" runat="server" ControlToValidate="TxtCP"
CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Código Postal''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= TxtCP.ClientID.ToString()%>">Código Postal: </label> <label for="<%= TxtCP.ClientID.ToString()%>">Código Postal: </label>
<i></i> <i></i>
</div> </div>

View File

@@ -8103,5 +8103,22 @@ Partial Class RH_Personal
UpDatos.Update() UpDatos.Update()
End Sub End Sub
Protected Sub cvCadena_ServerValidate(source As Object, args As ServerValidateEventArgs)
Dim retorno As Boolean = True
' Verifica que la longitud de la cadena sea 5
If Len(args.Value) <> 5 Then
retorno = False
End If
' Verifica que la cadena sea numérica
If Not IsNumeric(args.Value) Then
retorno = False
End If
args.IsValid = retorno
End Sub
End Class End Class