This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-12-22 17:09:23 -07:00
parent 7e819271cc
commit 443360a9f3
15 changed files with 9040 additions and 214 deletions

View File

@@ -246,14 +246,14 @@ Public Class ClsEdocumentacion
End Try
Return Retorno
End Function
End Function
#End Region
#Region "D O C U M E N T A C I O N - E L E C T R O N I C A"
Public Function DocumentacionElectronicaGet(CvePersonal As Integer, CveCliente As Integer, CveProveedor As Integer, CveEmpresa As Integer, CveDocumentacionTipo As Integer, Optional CveVenta As Integer = -1, Optional Modulo As Integer = 1) As Boolean
Public Function DocumentacionElectronicaGet(CvePersonal As Integer, CveCliente As Integer, CveProveedor As Integer, CveEmpresa As Integer, CveDocumentacionTipo As Integer, Optional CveVenta As Integer = -1, Optional Modulo As Integer = 1, Optional Periodo As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Edoc_DocumentacionElectronicaGet")
@@ -265,6 +265,7 @@ Public Class ClsEdocumentacion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveDocumentacionTipo", SqlDbType.Int).Value = CveDocumentacionTipo
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
.Add("@Periodo", SqlDbType.Int).Value = Periodo
.Add("@Modulo", SqlDbType.Int).Value = Modulo
End With
@@ -279,7 +280,7 @@ Public Class ClsEdocumentacion
End Function
Public Function DocumentacionElectronicaAdd(CveDocumentacion As Integer, CvePersonal As Integer, CveCliente As Integer, CveProveedor As Integer, Estatus As Integer, Observacion As String, Adjunto As String,
CveUsuario As Integer, FechaLimite As Date, Optional FechaVigencia As Date = Nothing, Optional CveVenta As Integer = -1, Optional Observacion2 As String = "-1") As Integer
CveUsuario As Integer, FechaLimite As Date, Optional FechaVigencia As Date = Nothing, Optional CveVenta As Integer = -1, Optional Observacion2 As String = "-1", Optional Periodo As Integer = 190001) As Integer
Dim Retorno As Integer = 0
@@ -298,6 +299,7 @@ Public Class ClsEdocumentacion
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@FechaLimite", SqlDbType.Date).Value = FechaLimite
.Add("@FechaVigencia", SqlDbType.Date).Value = FechaVigencia
.Add("@Periodo", SqlDbType.Int).Value = Periodo
.Add("@CveDocumentacionElectronica", SqlDbType.Int).Direction = ParameterDirection.Output
'FechaVigencia
End With
@@ -534,6 +536,9 @@ Public Class ClsEdocumentacion
Dim retorno As Boolean = False
Try
SqlAdapter.Fill(DSet)
If DSet.Tables.Count > 0 Then
Data = DSet.Tables(0)
End If
retorno = True
Catch ex As Exception
retorno = False
@@ -543,8 +548,64 @@ Public Class ClsEdocumentacion
End Function
#Region "CRUD_Edoc_MaterialidadEnvios"
Public Function Edoc_MaterialidadEnviosGet(cveMaterialidadEnvios As Int32, cveCliente As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Edoc_MaterialidadEnviosGet", CommandType.StoredProcedure)
addParameters("@CveMaterialidadEnvios", SqlDbType.Int, cveMaterialidadEnvios)
addParameters("@CveCliente", SqlDbType.Int, cveCliente)
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al obtener el Edoc_MaterialidadEnvios.")
Return retorno
End Function
Public Function Edoc_MaterialidadEnviosAdd(cveCliente As Int32, periodo As Int32, noarchivos As Int32, observacion As String, Correos As String, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Edoc_MaterialidadEnviosAdd", CommandType.StoredProcedure)
addParameters("@CveCliente", SqlDbType.Int, cveCliente)
addParameters("@Periodo", SqlDbType.Int, periodo)
addParameters("@Noarchivos", SqlDbType.Int, noarchivos)
addParameters("@Observacion", SqlDbType.VarChar, observacion)
addParameters("@Correos", SqlDbType.VarChar, Correos)
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al agregar el Edoc_MaterialidadEnvios.")
Return retorno
End Function
Public Function Edoc_MaterialidadEnviosUp(cveMaterialidadEnvios As Int32, cveCliente As Int32, periodo As Int32, noarchivos As Int32, observacion As String, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Edoc_MaterialidadEnviosUp", CommandType.StoredProcedure)
addParameters("@CveMaterialidadEnvios", SqlDbType.Int, cveMaterialidadEnvios)
addParameters("@CveCliente", SqlDbType.Int, cveCliente)
addParameters("@Periodo", SqlDbType.Int, periodo)
addParameters("@Noarchivos", SqlDbType.Int, noarchivos)
addParameters("@Observacion", SqlDbType.VarChar, observacion)
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al actualizar el Edoc_MaterialidadEnvios.")
Return retorno
End Function
Public Function Edoc_MaterialidadEnviosRemove(cveMaterialidadEnvios As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Edoc_MaterialidadEnviosRemove", CommandType.StoredProcedure)
addParameters("@CveMaterialidadEnvios", SqlDbType.Int, cveMaterialidadEnvios)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al eliminar el Edoc_MaterialidadEnvios.")
Return retorno
End Function
#End Region
#Region "CRUD_Edoc_Materialidad"
Public Function materialidadDoctos(strxml As String, cveUsuario As Integer, cveEmpresa As Integer, periodo As Integer, Optional guardar As Boolean = False) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_MaterialidadAddXmlDoctos", CommandType.StoredProcedure)
addParameters("@strxml", SqlDbType.Xml, If(String.IsNullOrEmpty(strxml.Trim()), DBNull.Value, DirectCast(strxml, Object)))
addParameters("@CveUsuario", SqlDbType.Int, cveUsuario)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
addParameters("@Periodo", SqlDbType.Int, periodo)
addParameters("@Guardar", SqlDbType.Bit, guardar)
retorno = RunQueryds("Ocurrió un error al analizar archivos.")
Return retorno
End Function
Public Function TableroMaterialidadGET(cveEmpresa As Integer, anio As Integer, mes As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Edoc_TableroMaterialidad", CommandType.StoredProcedure)

View File

@@ -2356,6 +2356,14 @@ Public Class ClsNominas
Return retorno
End Function
Public Function CalculoISRAnual(ejercicio As Integer, cveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_CalculoISRAnual", CommandType.StoredProcedure)
addParameters("@Ejercicio", SqlDbType.Int, ejercicio)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
retorno = RunQuery("Ocurrió un error al obtener el PA_Nom_CalculoISRAnual.")
Return retorno
End Function
Public Function GetNominaAcumulado(Ejercicio As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveTurno As Integer, CvePeriodoI As Integer, CvePeriodoF As Integer, CveEmpresa As Integer, Optional RegimenContratacion As Integer = 1, Optional CvePersonal As Integer = -1) As Boolean
Dim retorno As Boolean = False

View File

@@ -4109,6 +4109,9 @@ Public Class ClsPaginas
PaginaDict.Add("/Nomina/NomTimbrados.aspx".ToUpper(), 920)
PaginaDict.Add("/Nomina/Aguinaldo.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/RepInversiondeNomina.aspx".ToUpper(), 906)
PaginaDict.Add("/Nomina/CalculoISRAnual.aspx".ToUpper(), 983)
PaginaDict.Add("/Documentacion/TableroMaterialidad.aspx".ToUpper(), 965)
PaginaDict.Add("/Documentacion/TableroMaterialidadDetalle.aspx".ToUpper(), 965)
PaginaDict.Add("/RH/DiasFestivos.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/FiniquitoB.aspx".ToUpper(), -1)
''CONFIGURACIONES GENERALES
@@ -5181,8 +5184,6 @@ Public Class ClsPaginas
PaginaDict.Add("/RH/RepVacaciones.aspx".ToUpper(), 422)
PaginaDict.Add("/RH/CatChecadorTipo.aspx".ToUpper(), 427)
PaginaDict.Add("/RH/CatChecadorHorarios.aspx".ToUpper(), 428)
PaginaDict.Add("/Documentacion/TableroMaterialidad.aspx".ToUpper(), -1)
PaginaDict.Add("/Documentacion/TableroMaterialidadDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/RH/RepChecadorPreAsistencia.aspx".ToUpper(), 628)

View File

@@ -202,11 +202,62 @@ Partial Class PopUpVerFactura
If Request("onlyPrint").ToString() = "PalletCaja" Then
imprimirpallet(Request("CvePallet").ToString.ToEntero())
End If
If Request("onlyPrint").ToString() = "manifiesto" Then
imprimirManifiesto(Request("cveEmbarqueManifiesto").ToString.ToEntero())
End If
End If
End If
End Sub
Private Sub imprimirManifiesto(cveEmbarqueManifiesto As Integer)
Dim NoEmbarque As String = ""
Dim Fecha As String = ""
Dim SubProyecto As String = ""
Dim AgenciaAduanalUSA As String = ""
Dim AgenciaAduanalMEX As String = ""
Dim tablaReporte As New DataTable
'Envase = "1 1/9"
'Tamano = "Small"
'Cultivo = "Tomate"
'noPallet = "000001"
'Variedad = "Golden"
Using objnom As New ClsNominas
If objnom.PA_AGRO_Embarque_ManifiestoGet(-1, -1, -1, cveEmbarqueManifiesto) And objnom.DtResultados.Rows.Count > 0 Then
Dim row As DataRow = objnom.DtResultados.Rows(0)
NoEmbarque = row("NoEmbarque").ToString()
Fecha = row("Fecha").ToString()
SubProyecto = row("SubProyecto").ToString()
AgenciaAduanalUSA = row("AgenciaAduanalUSA").ToString()
AgenciaAduanalMEX = row("AgenciaAduanalMEX").ToString()
End If
End Using
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NoEmbarque", NoEmbarque))
params.Add(New ReportParameter("Fecha", Fecha))
params.Add(New ReportParameter("SubProyecto", SubProyecto))
params.Add(New ReportParameter("AgenciaAduanalUSA", AgenciaAduanalUSA))
params.Add(New ReportParameter("AgenciaAduanalMEX", AgenciaAduanalMEX))
params.Add(New ReportParameter("Temperatura", "45"))
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = tablaReporte}
lrds.Add(rds)
'"Empresas/Grales/Formatos/EquiposGPS.rdlc"
'"D:\\ADSistemas\\Proyectos\\SIG\\SIGIT\\GPS\\PalletEtiqueta.rdlc"
ImprimirPDF("GPS/EmbarqueManifiesto.rdlc", lrds, params, "Equipo GPS")
End Sub
Private Sub imprimirpallet2(cvePallet As Integer)
Dim Envase As String = ""
Dim Tamano As String = ""

View File

@@ -11,6 +11,9 @@
#C_Tab_Tlablero tr td:nth-child(n+2) {
text-align: center
}
.spanfoliofiscal{
white-space:nowrap;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
@@ -36,7 +39,7 @@
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server">
<asp:UpdatePanel runat="server" ID="upPaneldata" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
@@ -111,7 +114,14 @@
</asp:Repeater>
<th>XML Timbrados</th>
<th>PDF Timbrados</th>
<th style="width: 85px;"></th>
<th style="width: 85px;">
<asp:HyperLink ID="hypEnviarDocto" onclick="EnviarCorreo();" CssClass="btn btn-sm btn-primary" runat="server">Enviar</asp:HyperLink>
<asp:TextBox ID="TxtClientescorreo" CssClass="hidden TxtClientescorreo" runat="server"></asp:TextBox>
<asp:Button ID="Btnenviardocto" UseSubmitBehavior="false" CssClass="hidden Btnenviardocto" OnClick="Btnenviardocto_Click" runat="server" Text="Button" />
</th>
</tr>
@@ -149,7 +159,8 @@
<%# string.Format("<a href=\"/Documentacion/TableroMaterialidadDetalle.ASPX?CveCliente={2}&anio={3}&mes={4}\" >{1}/{0}</a>",DataBinder.Eval(Container.DataItem, "Personal"),DataBinder.Eval(Container.DataItem, "PersonalPDF"),DataBinder.Eval(Container.DataItem, "CveCliente"),anio,mes) %>
</td>
<td>
<%# string.Format("<a class=\"btn btn-primary\" onclick=\"enviarDocto({0})\">Enviar</a>",DataBinder.Eval(Container.DataItem, "CveCliente"),anio,mes) %>
<asp:CheckBox Checked="true" CssClass="Chkenviardocto" runat="server" data-cvecliente='<%# DataBinder.Eval(Container.DataItem, "CveCliente") %>' />
<%-- <%# string.Format("<a class=\"btn btn-primary\" onclick=\"enviarDocto({0})\">Enviar</a>",DataBinder.Eval(Container.DataItem, "CveCliente"),anio,mes) %>--%>
</td>
</tr>
</ItemTemplate>
@@ -159,163 +170,519 @@
</tbody>
</table>
<div id="ModalDoctosxmlpdf" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar documentos XML PDF Timbrados.</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="Upxmlpdf" UpdateMode="Conditional">
<ContentTemplate>
<div class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
Los documentos cargados serán relacionados en el periodo:
<asp:Literal runat="server" ID="LtlPeriodoXMLPDF"></asp:Literal>
</div>
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Paso 1: Procesar 'ZIP'</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkCargarZip" CssClass="btn btn-success" OnClick="LnkCargarZip_Click" runat="server">Procesar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body rowpadding ">
<div>
<asp:TextBox ID="Anexoxmlpdf" CssClass="ADSdropzone hidden" data-maxfilesize ="500" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</div>
</div>
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Paso 2: Guardar</span>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding " style="display: none">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<div class="dashboard-stat red-intense">
<div class="visual"><i class="fa fa-bar-chart-o"></i></div>
<div class="details">
<div class="number">Documentos</div>
<div class="desc">
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="">
<asp:Literal ID="LtlNoDoctos" runat="server"></asp:Literal></label>
<label class="indicadortipo4 col-md-6 tooltips" data-original-title=""></label>
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="XML">
<asp:Literal ID="LtlNoXml" runat="server"></asp:Literal></label>
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="PDF">
<asp:Literal ID="LtlNoPDF" runat="server"></asp:Literal></label>
</div>
</div>
<a class="more" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" tabindex="0">Ver Más <i class="m-icon-swapright m-icon-white"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<%--<asp:Button ID="BtnAddClienteDocumentoxmlpd" UseSubmitBehavior="false" OnClick="BtnAddClienteDocumentoxmlpd_Click" runat="server" Text="Guardar" CssClass="btn btn-primary" />--%>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="portlet light smmallpadding bordered procesardiv">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Historial de envio</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
</div>
<div id="ModalDoctos" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<div class="portlet-body rowpadding ">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar documento</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalDoctos" UpdateMode="Conditional">
<ContentTemplate>
<div class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
Los documentos cargados serán relacionados en el periodo:
<asp:Literal runat="server" ID="LtlPeriodo"></asp:Literal>
</div>
<asp:GridView ID="GvHistorialGral" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true" EmptyDataText="No se ha enviado documentos"
DataKeyNames="Noarchivos,FechaIng,Usuario">
<Columns>
<asp:TemplateField HeaderText="Fecha ">
<ItemTemplate>
<asp:Label ID="lblfechaIng" runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy hh}:{0:mm}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Noarchivos">
<ItemTemplate>
<asp:Label ID="lblnoarchivos" runat="server" Text='<%# Eval("Noarchivos")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario">
<ItemTemplate>
<asp:Label ID="lblusuario" runat="server" Text='<%# Eval("Usuario")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<span class="doctitulo"></span>
<asp:TextBox ID="TxtcveCliente" CssClass="hidden TxtcveCliente" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtcveDocumentacion" CssClass="hidden TxtcveDocumentacion" runat="server"></asp:TextBox>
Tipo documento
<asp:DropDownList ID="DdlDocumentacion" DataValueField="CveDocumentacion" DataTextField="Documentacion" Width="100%" runat="server" CssClass="form-control select2me"></asp:DropDownList>
<div>
<br />
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnAddClienteDocumento" UseSubmitBehavior="false" OnClick="BtnAddClienteDocumento_Click" runat="server" Text="Guardar" CssClass="btn btn-primary" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<asp:TextBox ID="TxtcveClienteCorreo" CssClass="hidden TxtcveClienteCorreo" runat="server"></asp:TextBox>
<asp:Button ID="BtnEnviarDoctos" UseSubmitBehavior="false" OnClick="BtnEnviarDoctos_Click" runat="server" Text="Enviar" CssClass="btn btn-primary hidden BtnEnviarDoctos" />
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalDoctosxmlpdf" class="modal ADS fade" role="dialog">
<div class="modal-dialog modal-lg">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar documentos XML PDF Timbrados.</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="Upxmlpdf" UpdateMode="Conditional">
<ContentTemplate>
<div class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
Los documentos cargados serán relacionados en el periodo:
<asp:Literal runat="server" ID="LtlPeriodoXMLPDF"></asp:Literal>
</div>
<div class="portlet light smmallpadding bordered procesardiv">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Paso 1: Procesar 'ZIP'</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkCargarZip" CssClass="btn btn-success" OnClick="LnkCargarZip_Click" runat="server">Procesar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body rowpadding ">
<div>
<asp:TextBox ID="Anexoxmlpdf" CssClass="ADSdropzone hidden" data-maxfilesize="500" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</div>
</div>
<div class="portlet light smmallpadding bordered guardardiv">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Paso 2: Guardar</span>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkProcesarDoctos" CssClass="btn btn-success" OnClick="LnkProcesarDoctos_Click" runat="server">Guardar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body rowpadding" style="display: none">
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<div class="dashboard-stat red-intense">
<div class="visual"><i class="fa fa-bar-chart-o"></i></div>
<div class="details">
<div class="number">Documentos</div>
<div class="desc">
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="XML">
<asp:Literal ID="LtlNoXml" runat="server"></asp:Literal></label>
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="PDF">
<asp:Literal ID="LtlNoPDF" runat="server"></asp:Literal></label>
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="Todos">
<asp:Literal ID="LtlNoDoctos" runat="server"></asp:Literal></label>
<label class="indicadortipo4 col-md-6 tooltips" data-original-title="Otros">
<asp:Literal ID="LtlOtrosDoctos" runat="server"></asp:Literal></label>
</div>
</div>
<a class="more" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" tabindex="0">Ver Más <i class="m-icon-swapright m-icon-white"></i>
</a>
</div>
</div>
</div>
<asp:Panel runat="server" ID="pnlinconsistencias" Visible="false" CssClass="alert alert-warning" Style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>Se encontraron inconsistencias en los documentos cargados, solo se guardaran los archivos sin inconsistencias.
</asp:Panel>
<ajax:TabContainer ID="Tabsmodal" runat="server" Width="100%" AutoPostBack="True">
<ajax:TabPanel ID="TabDoctos" runat="server" HeaderText="Documentos">
<ContentTemplate>
<asp:GridView ID="GVmaterialidadDoctos" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD" AutoGenerateColumns="False" OnRowDataBound="GVmaterialidadDoctos_RowDataBound"
DataKeyNames="FolioFiscal,nofiles,archivoXML,archivoPDF,Receptor,RfcReceptor,Emisor,RfcEmisor,SubTotal,Descuento,Total,Serie,Folio,Fecha,FechaPago,FechaInicio,FechaFin,TotalPercepciones,TotalDeducciones,NumDiasPagados,CURP,NSS,TN,NDP,TP,Periodo,PeriodoOk,CvePersonal,CvePeriodo,CveNomina"
data-height="250">
<Columns>
<asp:TemplateField HeaderText="Folio Fiscal">
<ItemTemplate>
<asp:Label CssClass="spanfoliofiscal" runat="server" Text='<%# Eval("FolioFiscal")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Doctos">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("nofiles")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="XML">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("archivoXML").ToString().Length>0?"Si":"No" %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PDF">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("archivoPDF").ToString().Length>0?"Si":"No" %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Empleado">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Receptor")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="RFC">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RfcReceptor")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CURP">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CURP")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NSS">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("NSS")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Emisor">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Emisor")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Neto">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Total","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Periodo">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("PeriodoText")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>
Fecha<br />inicio
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>
Fecha<br />fin
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>
Fecha<br />pago
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaPago","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<HeaderTemplate>
Días<br />pago
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("NumDiasPagados")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="Tabperiodos" runat="server" HeaderText="Periodos sin registrar">
<ContentTemplate>
<asp:GridView ID="GvPeriodo" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD" AutoGenerateColumns="False"
DataKeyNames="FechaInicio,FechaFin,TN,TP" data-height="250">
<Columns>
<asp:TemplateField HeaderText="Fecha Inicio">
<ItemTemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin">
<ItemTemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabPersonal" runat="server" HeaderText="Personal sin registrar">
<ContentTemplate>
<asp:GridView ID="GvPersonal" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD" AutoGenerateColumns="False"
DataKeyNames="CvePersonal,Receptor,CURP,NombreCompleto,Codigo" data-height="250">
<Columns>
<asp:TemplateField HeaderText="Empleado">
<ItemTemplate>
<asp:Label ID="lblreceptor" runat="server" Text='<%# Eval("Receptor")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CURP">
<ItemTemplate>
<asp:Label ID="lblcURP" runat="server" Text='<%# Eval("CURP")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabConceptos" runat="server" HeaderText="Conceptos sin registrar" Visible="false">
</ajax:TabPanel>
</ajax:TabContainer>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<%--<asp:Button ID="BtnAddClienteDocumentoxmlpd" UseSubmitBehavior="false" OnClick="BtnAddClienteDocumentoxmlpd_Click" runat="server" Text="Guardar" CssClass="btn btn-primary" />--%>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<div id="ModalDoctos" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar documento</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalDoctos" UpdateMode="Conditional">
<ContentTemplate>
<div class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
Los documentos cargados serán relacionados en el periodo:
<asp:Literal runat="server" ID="LtlPeriodo"></asp:Literal>
</div>
Tipo documento
<asp:DropDownList ID="DdlDocumentacion" DataValueField="CveDocumentacion" DataTextField="Documentacion" Width="100%" runat="server" CssClass="form-control select2me"></asp:DropDownList>
<div>
<br />
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" Text="" runat="server"></asp:TextBox>
Observaciones
<asp:TextBox ID="TxtObservaciones" TextMode="MultiLine" Rows="4" CssClass="form-control" runat="server"></asp:TextBox>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnAddClienteDocumento" UseSubmitBehavior="false" OnClick="BtnAddClienteDocumento_Click" runat="server" Text="Guardar" CssClass="btn btn-primary" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<div id="ModalShowDoctos" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Documentos</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalshowdoctos" UpdateMode="Conditional">
<ContentTemplate>
<span class="doctitulo"></span>
<asp:TextBox ID="TxtcveCliente" CssClass="hidden TxtcveCliente" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtcveDocumentacion" CssClass="hidden TxtcveDocumentacion" runat="server"></asp:TextBox>
<asp:Button ID="btnshowdoc" UseSubmitBehavior="false" CssClass="hidden btnshowdoc" OnClick="btnshowdoc_Click" runat="server" Text="Button" />
<div class="portlet light smmallpadding bordered procesardiv">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Documentos</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding ">
<asp:GridView ID="GVdocelect" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall mysmallbtn" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true"
EmptyDataText="No se encontraron documentos"
DataKeyNames="CveDocumentacionElectronica,CveDocumentacion,Documentacion,DocumentacionFormato,Orden,Adjunto,CveDocumentacionTipo,Requerido,DocumentacionTipo,SCompleto,Estatus,Observacion,Fecha,FechaIng,FechaLimite,FechaVigencia,Usuario,DiasLimite,CveVenta,Observacion2,AplicaDiasLimite,AplicaFechaVencimiento,Modulo">
<Columns>
<asp:TemplateField HeaderText="Documento">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Observacion2")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Observacion">
<ItemTemplate>
<asp:Label ID="lblobservacion" runat="server" Text='<%# Eval("Observacion")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Archivo" ItemStyle-Width="50">
<ItemTemplate>
<asp:HyperLink ID="HypFile" onclick='<%# string.Format("downfile(\"{0}\",\"{1}\");",Eval("Adjunto"),Eval("Observacion2"))%>' CssClass="btn btn-circle btn-sm blue mysmallbtn" runat="server"><i class="fa fa-download"></i></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="LnkEliminardocto" OnClick="LnkEliminardocto_Click" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" runat="server" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el documento?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<div class="portlet light smmallpadding bordered procesardiv">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Historial</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding ">
<asp:GridView ID="GVMaterialidadEnvios" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
DataKeyNames="CveMaterialidadEnvios,CveCliente,Periodo,Noarchivos,Observacion,FechaIng,CveUsuario,CveEmpresa">
<Columns>
<asp:TemplateField HeaderText="Fecha ">
<ItemTemplate>
<asp:Label ID="lblfechaIng" runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy hh}:{0:mm}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Noarchivos">
<ItemTemplate>
<asp:Label ID="lblnoarchivos" runat="server" Text='<%# Eval("Noarchivos")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Observacion">
<ItemTemplate>
<asp:Label ID="lblobservacion" runat="server" Text='<%# Eval("Observacion")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario">
<ItemTemplate>
<asp:Label ID="lblusuario" runat="server" Text='<%# Eval("Usuario")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<asp:TextBox ID="TxtDoctoName" CssClass="hidden TxtDoctoName" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtCveDocumentacionElectronica" CssClass="hidden TxtCveDocumentacionElectronica" runat="server"></asp:TextBox>
<asp:Button ID="BtnDocumentacionElectronica" UseSubmitBehavior="false" CssClass="hidden BtnDocumentacionElectronica" OnClick="BtnDocumentacionElectronica_Click" runat="server" Text="Button" />
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
var showhideprocesarguardar = 0;
function openguardar() {
if (showhideprocesarguardar == 1) {
materialidadshowhide('.guardardiv', 1)
materialidadshowhide('.procesardiv', 0)
} else {
materialidadshowhide('.guardardiv', 0)
materialidadshowhide('.procesardiv', 1)
}
}
function EnviarCorreo() {
let clientes = '';
let coma = ''
$('.Chkenviardocto').each(
function () {
if ($(this).find('input').is(':checked')) {
clientes += coma + $(this).data("cvecliente");
coma = ',';
}
}
)
$('.TxtClientescorreo').val(clientes);
$('.Btnenviardocto').click();
}
function downfile(file, DoctoName) {
$('.TxtDoctoName').val(DoctoName);
$('.TxtCveDocumentacionElectronica').val(file);
$('.BtnDocumentacionElectronica').click();
}
function materialidadshowhide(porlet, showhide) {
var collapseexpand = $(porlet + ' >.portlet-title .collapse,' + porlet + ' >.portlet-title .expand')
collapseexpand.removeClass('collapse')
collapseexpand.removeClass('expand')
if (showhide == 1) {
collapseexpand.addClass('collapse')
$(porlet + ' >.portlet-body').show();
} else {
collapseexpand.addClass('expand')
$(porlet + ' >.portlet-body').hide();
}
}
function cargarDocto(cveCliente, cveDocumentacion, cliente, documentacion) {
$('.TxtcveCliente').val(cveCliente)
$('.TxtcveDocumentacion').val(cveDocumentacion)
$('.TxtcveCliente').val(cveCliente);
$('.TxtcveDocumentacion').val(cveDocumentacion);
$('.doctitulo').html(cliente + ' - ' + documentacion);
$('#ModalDoctos').modal()
$('.btnshowdoc').click();
//
}
function enviarDocto(cveCliente) {
$('.TxtcveClienteCorreo').val(cveCliente);
$('.BtnEnviarDoctos').click();
}
function ADSBegin() {
openguardar();
}
</script>
</asp:Content>

View File

@@ -4,12 +4,16 @@ using System.Data;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Xml.Linq;
using Extensiones;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
public partial class Documentacion_TableroMaterialidad : ClsPaginas
{
@@ -25,6 +29,27 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
get { return ViewState["mes"] != null ? ViewState["mes"].ToString().ToEntero() : 0; }
set { ViewState["mes"] = value; }
}
public string directorio
{
get { return ViewState["directorio"] != null ? ViewState["directorio"].ToString() : string.Empty; }
set
{
if (ViewState["directorio"] != null && !string.IsNullOrEmpty(ViewState["directorio"].ToString()))
{
System.IO.Directory.Delete(ViewState["directorio"].ToString(), true);
}
ViewState["directorio"] = value;
}
}
public string xmlobject
{
get { return ViewState["xmlobject"] != null ? ViewState["xmlobject"].ToString() : string.Empty; }
set
{
ViewState["xmlobject"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
@@ -51,6 +76,7 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
}
}
upPaneldata.Update();
}
protected void RptDatos_ItemDataBound(object sender, RepeaterItemEventArgs e)
@@ -65,6 +91,35 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
protected void BtnAddClienteDocumento_Click(object sender, EventArgs e)
{
List<Archivo> litsarchivoxml = Anexo.getfiles().Archivos;
int CveDocumentacion = DdlDocumentacion.SelectedValue.ToEntero();
int CveDocumentacionElectronica = 0;
string obs = TxtObservaciones.Text;
string rutaempresa = string.Format("{0}\\materialidad\\", UsuarioActual.Empresa.Ruta);
if (!System.IO.Directory.Exists(rutaempresa))
{
System.IO.Directory.CreateDirectory(rutaempresa);
}
foreach (Archivo arch in litsarchivoxml)
{
DateTime fecha = string.Format("{0}-{1}-01", anio, mes).ToDateTime();
using (ClsEdocumentacion edoc = new ClsEdocumentacion())
{
CveDocumentacionElectronica = edoc.DocumentacionElectronicaAdd(CveDocumentacion, -1, -1, -1, 1, obs, "", UsuarioActual.CveUsuario, fecha, fecha, Periodo: string.Format("{0}{1}", anio, mes).ToEntero());
if (CveDocumentacionElectronica > 0)
{
edoc.DocumentacionElectronicaUpdate(CveDocumentacionElectronica, CveDocumentacion, -1, -1, -1, 2, obs, string.Format("{0}.{1}", CveDocumentacionElectronica, arch.Extension.ToLower()), UsuarioActual.CveUsuario, fecha, fecha, arch.filenameO);
System.IO.File.Move(arch.FileUrl, string.Format("{2}{0}.{1}", CveDocumentacionElectronica, arch.Extension.ToLower(), rutaempresa));
Alert("los registros se guardaron correctamente");
cargadatos();
RegistraScript("$('#ModalDoctos').modal('hide');");
Anexo.Text = "[]";
}
}
}
}
@@ -78,10 +133,6 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
cargadatos();
}
protected void BtnAddClienteDocumentoxmlpd_Click(object sender, EventArgs e)
{
}
protected void LckOpModalDoctos_Click(object sender, EventArgs e)
{
@@ -95,21 +146,32 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
{
DateTime fecha = string.Format("{0}-{1}-01", anio, mes).ToDateTime();
LtlPeriodoXMLPDF.Text = fecha.ToString("MMMM yyyy", System.Globalization.CultureInfo.CreateSpecificCulture("es-MX"));
RegistraScript("$('#ModalDoctosxmlpdf').modal();");
RegistraScript("$('#ModalDoctosxmlpdf').modal();showhideprocesarguardar =0; openguardar();");
Upxmlpdf.Update();
}
protected void LnkCargarZip_Click(object sender, EventArgs e)
{
string xmlobject = null;
List<Archivo> litsarchivoxml = Anexoxmlpdf.getfiles().Archivos;
if (litsarchivoxml.Count > 0)
{
Archivo archivoxml = litsarchivoxml[0];
if (archivoxml.Extension.ToLower() == "zip")
{
xmlobject = null;
string text;
string[] lines;
string[] splitword;
List<string> fechas = new List<string>();
string foliofiscal = string.Empty;
string CURP = string.Empty;
directorio = string.Empty;
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
Regex rgxfecha = new Regex(@"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$");
Regex rgxcurp = new Regex("^(([A-ZÑ&]{4})([0-9]{2})([0][13578]|[1][02])(([0][1-9]|[12][\\d])|[3][01])([A-Z0-9]{3}))|(([A-ZÑ&]{4})([0-9]{2})([0][13456789]|[1][012])(([0][1-9]|[12][\\d])|[3][0])([A-Z0-9]{3}))|(([A-ZÑ&]{4})([02468][048]|[13579][26])[0][2]([0][1-9]|[12][\\d])([A-Z0-9]{3}))|(([A-ZÑ&]{4})([0-9]{2})[0][2]([0][1-9]|[1][0-9]|[2][0-8])([A-Z0-9]{3}))$");
string directorio = archivoxml.FileUrl.Substring(0, archivoxml.FileUrl.Length - 4);
directorio = archivoxml.FileUrl.Substring(0, archivoxml.FileUrl.Length - 4);
System.IO.Directory.CreateDirectory(directorio);
ZipFile.ExtractToDirectory(archivoxml.FileUrl, directorio);
@@ -117,13 +179,14 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
XElement xfolder = new XElement("folder");
foreach (var urfile in System.IO.Directory.GetFiles(directorio, "*", SearchOption.AllDirectories))
{
XElement xfile = new XElement("archivo", urfile);
XElement xfile = new XElement("archivo");
xfile.SetAttributeValue("URL", urfile);
xfile.SetAttributeValue("EXT", Path.GetExtension(urfile).ToLower());
if (Path.GetExtension(urfile).ToLower() == ".xml")
{
var xmlobj = ADSistemaLibrary3.SatXml.XmlSatCFDI.readXML(urfile);
xfile.SetAttributeValue("UUID", xmlobj.complemento.UUID);
xfile.SetAttributeValue("Receptor", xmlobj.receptor.Nombre);
xfile.SetAttributeValue("RfcReceptor", xmlobj.receptor.Rfc);
xfile.SetAttributeValue("RfcEmisor", xmlobj.emisor.Rfc);
@@ -131,6 +194,9 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
xfile.SetAttributeValue("SubTotal", xmlobj.comprobante.SubTotal);
xfile.SetAttributeValue("Descuento", xmlobj.comprobante.Descuento);
xfile.SetAttributeValue("Total", xmlobj.comprobante.Total);
xfile.SetAttributeValue("Serie", xmlobj.comprobante.Serie);
xfile.SetAttributeValue("Folio", xmlobj.comprobante.Folio);
xfile.SetAttributeValue("Fecha", xmlobj.comprobante.Fecha);
xfile.SetAttributeValue("FechaPago", xmlobj.complemento.nomina12.FechaPago);
@@ -140,9 +206,113 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
xfile.SetAttributeValue("TotalPercepciones", xmlobj.complemento.nomina12.TotalPercepciones);
xfile.SetAttributeValue("TotalDeducciones", xmlobj.complemento.nomina12.TotalDeducciones);
xfile.SetAttributeValue("CURP", xmlobj.complemento.nomina12.Receptor.CURP);
xfile.SetAttributeValue("NSS", xmlobj.complemento.nomina12.Receptor.NSS);
xfile.SetAttributeValue("TN", xmlobj.complemento.nomina12.TipoNomina);
xfile.SetAttributeValue("NDP", xmlobj.complemento.nomina12.NumDiasPagados);
xfile.SetAttributeValue("TP", xmlobj.complemento.nomina12.Receptor.TipoPeriodo);
foreach (var con in xmlobj.complemento.nomina12.Percepciones)
{
XElement concepto = new XElement("con");
concepto.SetAttributeValue("TCon", "P");
concepto.SetAttributeValue("SV", "0");
concepto.SetAttributeValue("Tipo", con.TipoPercepcion);
concepto.SetAttributeValue("Clave", con.Clave);
concepto.SetAttributeValue("Concepto", con.Concepto);
concepto.SetAttributeValue("Importe", con.ImporteGravado + con.ImporteExento);
concepto.SetAttributeValue("ImporteG", con.ImporteGravado);
concepto.SetAttributeValue("ImporteE", con.ImporteExento);
xfile.Add(concepto);
}
foreach (var con in xmlobj.complemento.nomina12.OtrosPagos)
{
XElement concepto = new XElement("con");
concepto.SetAttributeValue("TCon", "D");
concepto.SetAttributeValue("SV", "0");
concepto.SetAttributeValue("Tipo", con.TipoOtroPago);
concepto.SetAttributeValue("Clave", con.Clave);
concepto.SetAttributeValue("Concepto", con.Concepto);
concepto.SetAttributeValue("Importe", -con.Importe);
concepto.SetAttributeValue("ImporteG", -con.Importe);
concepto.SetAttributeValue("ImporteE", 0);
xfile.Add(concepto);
}
foreach (var con in xmlobj.complemento.nomina12.Deducciones)
{
if (con.TipoDeduccion == "-001-") { }
else
{
XElement concepto = new XElement("con");
concepto.SetAttributeValue("TCon", "D");
if (con.TipoDeduccion == "-000-")
{
concepto.SetAttributeValue("SV", "1");
concepto.SetAttributeValue("Tipo", "000");
}
else
{
concepto.SetAttributeValue("SV", "0");
concepto.SetAttributeValue("Tipo", con.TipoDeduccion);
}
concepto.SetAttributeValue("Clave", con.Clave);
concepto.SetAttributeValue("Concepto", con.Concepto);
concepto.SetAttributeValue("Importe", con.Importe);
concepto.SetAttributeValue("ImporteG", con.Importe);
concepto.SetAttributeValue("ImporteE", 0);
xfile.Add(concepto);
}
}
}
else if (Path.GetExtension(urfile).ToLower() == ".pdf")
{
try
{
PdfReader reader = new PdfReader(urfile);
text = PdfTextExtractor.GetTextFromPage(reader, 1, new LocationTextExtractionStrategy());
foliofiscal = string.Empty;
CURP = string.Empty;
fechas.RemoveAll(z => true);
lines = text.Split('\n');
foreach (string linea in lines)
{
foreach (string word in Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(linea)).Split(delimiterChars))
{
if (word.Length == 36 && (splitword = word.Split('-')).Length == 5 &&
splitword[0].Length == 8 && splitword[1].Length == 4 && splitword[2].Length == 4 &&
splitword[3].Length == 4 && splitword[4].Length == 12)
{
foliofiscal = word;
}
if (rgxcurp.IsMatch(word))
{
CURP = word;
}
if (rgxfecha.IsMatch(word))
{
fechas.Add(word);
}
}
}
reader.Close();
}
catch (Exception) { }
if (fechas.Count > 2)
{
xfile.SetAttributeValue("FechaInicio", fechas[2].ToDateTime().ToString("yyyy-MM-dd"));
}
if (fechas.Count > 3)
{
xfile.SetAttributeValue("FechaFin", fechas[3].ToDateTime().ToString("yyyy-MM-dd"));
}
xfile.SetAttributeValue("CURP", CURP);
xfile.SetAttributeValue("UUID", foliofiscal);
}
@@ -150,24 +320,223 @@ public partial class Documentacion_TableroMaterialidad : ClsPaginas
}
xmlarchivos.Add(xfolder);
xmlobject = xmlarchivos.ToString();
//System.IO.StreamWriter archivoW = null;
//try { archivoW = new System.IO.StreamWriter(string.Format("{0}xml.txt", directorio), true, System.Text.Encoding.UTF8); } catch (Exception) { }
//if (archivoW != null)
//{
// try { archivoW.WriteLine(xmlobject); } catch (Exception) { }
// try
// {
// archivoW.Close();
// archivoW.Dispose();
// }
// catch (Exception) { }
//}
}
foreach (Archivo obj in litsarchivoxml)
{
System.IO.File.Delete(obj.FileUrl);
}
if (!string.IsNullOrEmpty(xmlobject))
{
procesararchivo(xmlobject, string.Format("{0}{1}", anio, mes).ToEntero());
}
Anexoxmlpdf.Text = "[]";
RegistraScript("showhideprocesarguardar =1; openguardar();");
Upxmlpdf.Update();
//RegistraScript("$('#ModalDoctosxmlpdf').modal();");
}
}
public void procesararchivo(string xmlobject,int periodo, bool guardarInformacion =false)
{
using (ClsEdocumentacion edoc = new ClsEdocumentacion())
{
if (edoc.materialidadDoctos(xmlobject,UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, periodo, guardarInformacion))
{
if (edoc.DtResultados.Rows.Count > 0)
{
DataRow row = edoc.DtResultados.Rows[0];
LtlNoDoctos.Text = row["AllFiles"].ToString().ToEntero().ToString("N0");
LtlOtrosDoctos.Text = row["OTROSFiles"].ToString().ToEntero().ToString("N0");
LtlNoXml.Text = row["XMLFiles"].ToString().ToEntero().ToString("N0");
LtlNoPDF.Text = row["PDFFiles"].ToString().ToEntero().ToString("N0");
}
pnlinconsistencias.Visible = (edoc.DSResultados.Tables[2].FiltraParametros("CvePersonal IS NULL OR CvePeriodo IS NULL OR PeriodoOk =0").Rows.Count > 0);
if (edoc.DSResultados.Tables.Count > 2)
{
GVmaterialidadDoctos.DataSource = edoc.DSResultados.Tables[2];
GVmaterialidadDoctos.DataBind();
}
if (edoc.DSResultados.Tables.Count > 3)
{
GvPersonal.DataSource = edoc.DSResultados.Tables[3].FiltraParametros("CvePersonal IS NULL");
GvPersonal.DataBind();
}
if (edoc.DSResultados.Tables.Count > 4)
{
GvPeriodo.DataSource = edoc.DSResultados.Tables[4].FiltraParametros("CvePeriodo IS NULL");
GvPeriodo.DataBind();
}
}
}
}
protected void LnkProcesarDoctos_Click(object sender, EventArgs e)
{
}
protected void GVmaterialidadDoctos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string toolTip = "";
int PeriodoOk = e.Row.DataKey("PeriodoOk").ToEntero();
int cvePersonal = e.Row.DataKey("CvePersonal").ToEntero();
int CvePeriodo = e.Row.DataKey("CvePeriodo").ToEntero();
int CveNomina = e.Row.DataKey("CveNomina").ToEntero();
if (CveNomina > 0)
{
e.Row.CssClass = "info";
toolTip = string.Format("{0}{1}Nomina registrada.", toolTip, (toolTip.Length > 0 ? " " : ""));
}
if (PeriodoOk <= 0)
{
e.Row.CssClass = "warning";
toolTip = string.Format("{0}{1}Esta nomina no pertenece a este periodo", toolTip, (toolTip.Length > 0 ? " " : ""));
}
if (cvePersonal <= 0)
{
e.Row.CssClass = "danger";
toolTip = string.Format("{0}{1}No se encontro el personal", toolTip, (toolTip.Length > 0 ? " " : ""));
}
if (CvePeriodo <= 0)
{
e.Row.CssClass = "danger";
toolTip = string.Format("{0}{1}No se encontro el periodo", toolTip, (toolTip.Length > 0 ? " " : ""));
}
e.Row.ToolTip = toolTip;
}
}
protected void btnshowdoc_Click(object sender, EventArgs e)
{
GVdocelect.DataSource = new DataTable();
GVMaterialidadEnvios.DataSource = new DataTable();
using (ClsEdocumentacion edoc = new ClsEdocumentacion())
{
if (edoc.DocumentacionElectronicaGet(-1, -1, -1, UsuarioActual.CveEmpresa, -1, -1, -2, string.Format("{0}{1}", anio, mes).ToEntero()))
{
GVdocelect.DataSource = edoc.DtResultados.FiltraParametros(string.Format("CveDocumentacion ={0}", TxtcveDocumentacion.Text.ToEntero()));
}
if (edoc.Edoc_MaterialidadEnviosGet(-1, TxtcveCliente.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
{
GVMaterialidadEnvios.DataSource = edoc.DtResultados;
}
}
foreach (Archivo obj in litsarchivoxml)
{
System.IO.File.Delete(obj.FileUrl);
}
RegistraScript("$('#ModalDoctosxmlpdf').modal();");
GVMaterialidadEnvios.DataBind();
GVdocelect.DataBind();
RegistraScript("$('#ModalShowDoctos').modal()");
}
protected void LnkEliminardocto_Click(object sender, EventArgs e)
{
int CveDocumentacionElectronica = ((GridViewRow)((LinkButton)sender).NamingContainer).DataKey("CveDocumentacionElectronica").ToEntero();
string Adjunto = ((GridViewRow)((LinkButton)sender).NamingContainer).DataKey("Adjunto");
using (ClsEdocumentacion edoc = new ClsEdocumentacion())
{
if (edoc.DocumentacionElectronicaRemove(CveDocumentacionElectronica, -1))
{
string ruta = string.Format("{0}\\materialidad\\{1}", UsuarioActual.Empresa.Ruta, Adjunto);
if (System.IO.File.Exists(ruta))
{
try
{
System.IO.File.Delete(ruta);
}
catch (Exception) { }
}
if (edoc.DocumentacionElectronicaGet(-1, -1, -1, UsuarioActual.CveEmpresa, -1, -1, -2, string.Format("{0}{1}", anio, mes).ToEntero()))
{
GVdocelect.DataSource = edoc.DtResultados.FiltraParametros(string.Format("CveDocumentacion ={0}", TxtcveDocumentacion.Text.ToEntero()));
GVdocelect.DataBind();
}
Alert("El documento se a eliminado");
}
}
}
protected void BtnDocumentacionElectronica_Click(object sender, EventArgs e)
{
String Adjunto = TxtCveDocumentacionElectronica.Text;
string ruta = string.Format("{0}\\materialidad\\{1}", UsuarioActual.Empresa.Ruta, Adjunto);
using (ClsEdocumentacion edoc = new ClsEdocumentacion())
{
if (System.IO.File.Exists(ruta))
{
System.IO.FileInfo file = new System.IO.FileInfo(ruta);
string mimeType = "text/plain";
try
{
mimeType = MimeMapping.GetMimeMapping(ruta);
}
catch (Exception ex)
{
}
// Response.Write(path)
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("Content-Disposition", $"attachment; filename= {Uri.EscapeDataString(TxtDoctoName.Text)}");
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = mimeType;
Response.Flush();
Response.TransmitFile(file.FullName);
Response.End();
}
else
{
Alert("no se encontro el documento.");
}
}
}
protected void Btnenviardocto_Click(object sender, EventArgs e)
{
int periodo = string.Format("{0}{1}", anio, mes).ToEntero();
DataTable dtdoctos = null;
DataTable dtdocs = null;
string CorreoCumplimiento = string.Empty;
using (ClsEdocumentacion edoc = new ClsEdocumentacion())
{
if (edoc.TableroMaterialidadGET(UsuarioActual.CveEmpresa, anio, mes) && edoc.DSResultados.Tables.Count > 1)
{
dtdoctos = edoc.DSResultados.Tables[0];
}
if (edoc.DocumentacionElectronicaGet(-1, -1, -1, UsuarioActual.CveEmpresa, -1, -1, -2, periodo))
{
dtdocs = edoc.DtResultados.FiltraParametros(string.Format("CveDocumentacionElectronica>0"));
}
DataRow row = null;
foreach (string item in TxtClientescorreo.Text.Split(','))
{
if (item.ToEntero() > 0 && dtdoctos != null && (row = dtdoctos.FiltroPrimero(string.Format("CveCliente ={0}", item))) != null && dtdocs != null && dtdocs.Rows.Count > 0 && !string.IsNullOrEmpty(CorreoCumplimiento = row["CorreoCumplimiento"].ToString()))
{
edoc.Edoc_MaterialidadEnviosAdd(item.ToEntero(), periodo, dtdocs.Rows.Count, "Envio", CorreoCumplimiento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
}
}
}
Alert("El correo se ha enviado.");
}
}
public class archivoxmlpdf
{
@@ -196,8 +565,6 @@ public class archivoxmlpdf
}
namespace ADSistemaLibrary3.SatXml
{
public class XmlSatCFDI
@@ -515,17 +882,18 @@ namespace ADSistemaLibrary3.SatXml
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyComplemento)
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
{
}
while (canread && xtr.Depth > cDepth)
bool enterdept = true;
bool noavance = true;
xmlCFDI.complemento.nomina12 = new CFDINomina();
while (canread && (xtr.Depth > cDepth || enterdept))
{
enterdept = false;
if (noavance)
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
noavance = true;
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "TimbreFiscalDigital" && xmlCFDI.comprobante.Version != null)
{
xmlCFDI.complemento.xmlns_tfd = xtr.GetAttribute("xmlns:tfd");
@@ -539,13 +907,10 @@ namespace ADSistemaLibrary3.SatXml
xmlCFDI.complemento.SelloSAT = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("SelloSAT") : xtr.GetAttribute("selloSAT");
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName.ToUpper() == "NOMINA" && xmlCFDI.comprobante.Version != null)
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName.ToUpper() == "NOMINA" && xmlCFDI.comprobante.Version != null)
{
xmlCFDI.complemento.nomina12 = new CFDINomina();
//Version="1.2" TipoNomina="E" FechaPago="2021-12-08"
//="2021-12-08" ="2021-12-08"
//="1" ="5026.31" ="254.34"
cont = xtr.MoveToFirstAttribute();
while (cont)
{
@@ -556,14 +921,150 @@ namespace ADSistemaLibrary3.SatXml
case "FECHAFINALPAGO": xmlCFDI.complemento.nomina12.FechaFin = xtr.Value; break;
case "NUMDIASPAGADOS": xmlCFDI.complemento.nomina12.NumDiasPagados = xtr.Value.ToEntero(); break;
case "TIPONOMINA": xmlCFDI.complemento.nomina12.TipoNomina = xtr.Value; break;
case "Version": xmlCFDI.complemento.nomina12.Version = xtr.Value; break;
case "VERSION": xmlCFDI.complemento.nomina12.Version = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "Pagos" && xmlCFDI.comprobante.Version != null)
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "NOMINA12:RECEPTOR")
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CURP": xmlCFDI.complemento.nomina12.Receptor.CURP = xtr.Value; break;
case "NUMSEGURIDADSOCIAL": xmlCFDI.complemento.nomina12.Receptor.NSS = xtr.Value; break;
case "FECHAINICIORELLABORAL": xmlCFDI.complemento.nomina12.Receptor.FechaInicioContrato = xtr.Value; break;
case "ANTIGÜEDAD": xmlCFDI.complemento.nomina12.Receptor.Antiguedad = xtr.Value; break;
case "TIPOCONTRATO": xmlCFDI.complemento.nomina12.Receptor.TipoContrato = xtr.Value; break;
case "NUMEMPLEADO": xmlCFDI.complemento.nomina12.Receptor.CodigoEmpleado = xtr.Value; break;
case "DEPARTAMENTO": xmlCFDI.complemento.nomina12.Receptor.Departamento = xtr.Value; break;
case "TIPOREGIMEN": xmlCFDI.complemento.nomina12.Receptor.CodigoRegimenContratacion = xtr.Value; break;
case "SINDICALIZADO": xmlCFDI.complemento.nomina12.Receptor.Sindicalizado = xtr.Value; break;
case "TIPOJORNADA": xmlCFDI.complemento.nomina12.Receptor.CodigoTipoJornada = xtr.Value; break;
case "PUESTO": xmlCFDI.complemento.nomina12.Receptor.Puesto = xtr.Value; break;
case "RIESGOPUESTO": xmlCFDI.complemento.nomina12.Receptor.CodigoRiesgoPuesto = xtr.Value; break;
case "SALARIOBASECOTAPOR": xmlCFDI.complemento.nomina12.Receptor.SBC = xtr.Value.ToDouble(); break;
case "SALARIODIARIOINTEGRADO": xmlCFDI.complemento.nomina12.Receptor.SDI = xtr.Value.ToDouble(); break;
case "CLAVEENTFED": xmlCFDI.complemento.nomina12.Receptor.CodigoEntidadFederativa = xtr.Value; break;
case "PERIODICIDADPAGO": xmlCFDI.complemento.nomina12.Receptor.TipoPeriodo = xtr.Value; break;
case "CUENTABANCARIA": xmlCFDI.complemento.nomina12.Receptor.NumeroCuenta = xtr.Value; break;
case "BANCO": xmlCFDI.complemento.nomina12.Receptor.CodigoBanco = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "NOMINA12:PERCEPCION")
{
if (xmlCFDI.complemento.nomina12.Percepciones == null)
{
xmlCFDI.complemento.nomina12.Percepciones = new List<CFDINominaPercepciones>();
}
CFDINominaPercepciones concepto = new CFDINominaPercepciones();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CLAVE": concepto.Clave = xtr.Value; break;
case "TIPOPERCEPCION": concepto.TipoPercepcion = xtr.Value; break;
case "IMPORTEGRAVADO": concepto.ImporteGravado = xtr.Value.ToDecimal(); break;
case "IMPORTEEXENTO": concepto.ImporteExento = xtr.Value.ToDecimal(); break;
case "CONCEPTO": concepto.Concepto = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xmlCFDI.complemento.nomina12.Percepciones.Add(concepto);
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "NOMINA12:DEDUCCION")
{
if (xmlCFDI.complemento.nomina12.Deducciones == null)
{
xmlCFDI.complemento.nomina12.Deducciones = new List<CFDINominaDeducciones>();
}
CFDINominaDeducciones concepto = new CFDINominaDeducciones();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CLAVE": concepto.Clave = xtr.Value; break;
case "TIPODEDUCCION": concepto.TipoDeduccion = xtr.Value; break;
case "IMPORTE": concepto.Importe = xtr.Value.ToDecimal(); break;
case "CONCEPTO": concepto.Concepto = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xmlCFDI.complemento.nomina12.Deducciones.Add(concepto);
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "NOMINA12:OTROPAGO")
{
if (xmlCFDI.complemento.nomina12.OtrosPagos == null)
{
xmlCFDI.complemento.nomina12.OtrosPagos = new List<CFDINominaOtrosPagos>();
}
CFDINominaOtrosPagos concepto = new CFDINominaOtrosPagos();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CLAVE": concepto.Clave = xtr.Value; break;
case "TIPOOTROPAGO": concepto.TipoOtroPago = xtr.Value; break;
case "IMPORTE": concepto.Importe = xtr.Value.ToDecimal(); break;
case "CONCEPTO": concepto.Concepto = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xmlCFDI.complemento.nomina12.OtrosPagos.Add(concepto);
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "NOMINA12:SUBSIDIOALEMPLEO")
{
if (xmlCFDI.complemento.nomina12.Deducciones == null)
{
xmlCFDI.complemento.nomina12.Deducciones = new List<CFDINominaDeducciones>();
}
CFDINominaDeducciones concepto = new CFDINominaDeducciones();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
concepto.TipoDeduccion = "-000-";
concepto.Clave = "D025";
concepto.Concepto = "Subsidio acreditable";
switch (xtr.Name.ToUpper())
{
case "SubsidioCausado": concepto.Importe = -xtr.Value.ToDecimal(); break;
}
cont = xtr.MoveToNextAttribute();
}
CFDINominaDeducciones concepto2 = new CFDINominaDeducciones();
concepto2.TipoDeduccion = "-001-";
concepto2.Clave = concepto.Clave;
concepto2.Concepto = concepto.Concepto;
concepto2.Importe = -concepto.Importe;
xmlCFDI.complemento.nomina12.Deducciones.Add(concepto2);
xmlCFDI.complemento.nomina12.Deducciones.Add(concepto);
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName.ToUpper() == "PAGOS" && xmlCFDI.comprobante.Version != null)
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
xmlCFDI.complemento.Pagos = new CFDIPago();
@@ -618,13 +1119,9 @@ namespace ADSistemaLibrary3.SatXml
conts = xtr.MoveToFirstAttribute();
xmlCFDI.complemento.Pagos.doctosRelacionados.Add(objpago);
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
noavance = false;
}
}
else
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
}
}
@@ -1179,8 +1676,4 @@ namespace ADSistemaLibrary3.SatXml
public string UUID { get; set; }
}
}
}

7579
GPS/EmbarqueManifiesto.rdlc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -156,7 +156,8 @@
Salario<br />diario
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtsueldoDiario" runat="server" Text='<%# Eval("SalarioDiario", "${0:N2}")%>'> </asp:Label>
<asp:Label ID="lblsueldoDiario" runat="server" Text='<%# Eval("SalarioDiario", "${0:N2}")%>'> </asp:Label>
<asp:TextBox ID="TxtsueldoDiario" runat="server" Text='<%# Eval("SalarioDiario", "${0:N2}")%>'> </asp:TextBox>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" CssClass="dSala" />
</asp:TemplateField>

View File

@@ -295,8 +295,8 @@ public partial class Nomina_Aguinaldo : ClsPaginas
objNomina.RollBack();
}
objNomina.Dispose();
}
}
@@ -324,10 +324,20 @@ public partial class Nomina_Aguinaldo : ClsPaginas
if (e.Row.RowType == DataControlRowType.DataRow)
{
int CveNomina = e.Row.DBCampo("CveNomina").ToString().ToEntero();
int CvePersonal = e.Row.DBCampo("CvePersonal").ToString().ToEntero();
if (CveNomina > 0)
{
e.Row.CssClass = "success";
}
if (UsuarioActual.CveEmpresa == 154 || UsuarioActual.CveEmpresa == 153)
{
e.Row.FCTextBox("TxtsueldoDiario").Visible = (CvePersonal > 0);
e.Row.FCLabel("lblsueldoDiario").Visible = false;
}else
{
e.Row.FCTextBox("TxtsueldoDiario").Visible = false;
e.Row.FCLabel("lblsueldoDiario").Visible = true;
}
}
}
@@ -382,7 +392,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
{
CveSubProyecto = gvrow.DataKey("CveSubProyecto").ToEntero();
CvePersonal = gvrow.DataKey("CvePersonal").ToEntero();
salariodiario = gvrow.FCLabel("TxtsueldoDiario").Text.ToDecimal();
salariodiario = gvrow.FCTextBox("TxtsueldoDiario").Text.ToDecimal();
diaslaborados = gvrow.FCLabel("TxtdiasLaborados").Text.ToDecimal();
diasaguinaldo = gvrow.FCLabel("TxtdiasAguinaldo").Text.ToDecimal();
descuento = gvrow.FCTextBox("TxtDescuento").Text.ToDecimal();
@@ -573,7 +583,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
libro.Cell(fila, 1).Value = gvrow.FCLabel("lblnombreCompleto").Text;
libro.Cell(fila, 2).Value = gvrow.FCLabel("lblfechaingreso").Text;
libro.Cell(fila, 3).Value = gvrow.FCLabel("TxtsueldoDiario").Text.ToDecimal();
libro.Cell(fila, 3).Value = gvrow.FCTextBox("TxtsueldoDiario").Text.ToDecimal();
libro.Cell(fila, 4).Value = gvrow.FCLabel("TxtdiasLaborados").Text.ToDecimal();
libro.Cell(fila, 5).Value = gvrow.FCLabel("TxtdiasAguinaldo").Text.ToDecimal();
libro.Cell(fila, 6).Value = gvrow.FCLabel("lbldiasAguinaldoprop").Text.ToDecimal();
@@ -645,7 +655,7 @@ class ClsClaseBaseD : IDisposable
// REGISTRAR CONEXIÓN
private int CveConexion = 0;
public ClsClaseBaseD(ClsClaseBaseD adsObj = null, SqlTransaction sqlTransacc = null, SqlDataAdapter sqlAdapter =null)
public ClsClaseBaseD(ClsClaseBaseD adsObj = null, SqlTransaction sqlTransacc = null, SqlDataAdapter sqlAdapter = null)
{

View File

@@ -0,0 +1,95 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CalculoISRAnual.aspx.cs" Inherits="Nomina_CalculoISRAnual" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style >
.GVCalculoISRAnual tr td:nth-child(n+4){
text-align :right;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Calculo ISR anual
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<li>
<asp:LinkButton ID="LnkdownExcel" OnClick="LnkdownExcel_Click" runat="server"><i class="fa fa-download" aria-hidden="true"></i>Excel</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="upDatos" runat ="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:GridView ID="GVCalculoISRAnual" runat="server" GridLines="None" CssClass ="table table-hover table-striped ScrollAD GVCalculoISRAnual Widthall" AutoGenerateColumns="False"
datakeynames="CvePersonal,Codigo,NombreCompleto,TipoIngreso,FechaInicio,IngresosTotales,BaseGravada,Deducciones,ISRRetenido,Art152,SubsCorrespondiente,LimiteInferior,LimiteSuperior,CuotaFija,Porcentaje,ImpuestoAnual,Acargo,Acompensar">
<Columns>
<asp:TemplateField HeaderText="Código">
<ItemTemplate>
<asp:Label ID="lblcodigo" runat="server" Text='<%# Eval("Codigo")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Nombre ">
<ItemTemplate>
<asp:Label ID="lblnombreCompleto" runat="server" Text='<%# Eval("NombreCompleto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo Ingreso">
<ItemTemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# string.Format("{0} - {1:dd/MM/yyyy}",Eval("TipoIngreso"), Eval("FechaInicio"))%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ingresos Totales">
<ItemTemplate>
<asp:Label ID="lblingresosTotales" runat="server" Text='<%# Eval("IngresosTotales","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Base Gravada">
<ItemTemplate>
<asp:Label ID="lblbaseGravada" runat="server" Text='<%# Eval("BaseGravada","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ISRRetenido">
<ItemTemplate>
<asp:Label ID="lbliSRRetenido" runat="server" Text='<%# Eval("ISRRetenido","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Art152">
<ItemTemplate>
<asp:Label ID="lblart152" runat="server" Text='<%# Eval("Art152","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subs Correspondiente">
<ItemTemplate>
<asp:Label ID="lblsubsCorrespondiente" runat="server" Text='<%# Eval("SubsCorrespondiente","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Impuesto Anual">
<ItemTemplate>
<asp:Label ID="lblimpuestoAnual" runat="server" Text='<%# Eval("ImpuestoAnual","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Acargo">
<ItemTemplate>
<asp:Label ID="lblacargo" runat="server" Text='<%# Eval("Acargo","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Acompensar">
<ItemTemplate>
<asp:Label ID="lblacompensar" runat="server" Text='<%# Eval("Acompensar","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Nomina_CalculoISRAnual : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaCalculoISRAnual();
}
}
protected void CargaCalculoISRAnual()
{
using (ClsNominas onom = new ClsNominas())
{
onom.CalculoISRAnual(2021, UsuarioActual.Empresa.CveEmpresa);
GVCalculoISRAnual.DataSource = onom.DtResultados;
}
GVCalculoISRAnual.DataBind();
upDatos.Update();
}
protected void LnkdownExcel_Click(object sender, EventArgs e)
{
}
}

View File

@@ -382,6 +382,18 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
}
if (continuar)
{
using (ClsClaseBase objbase = new ClsClaseBase())
{
/*
INSERT INTO Gral_HistorialBitacora(CvePersonal,CveConceptoHistorialBitacora,Descripcion,Motivo,CveUsuario,CveEmpresa,Fecha,Actual)
SELECT CvePersonal, 384,'se ingreso asistencia manual','se ingreso asistencia manual',100,@CveEmpresa,MIN(CAST(Fecha AS DATE))
*/
objbase.runQuerystr(string.Format("INSERT INTO Gral_HistorialBitacora(CvePersonal,CveConceptoHistorialBitacora,Descripcion,Motivo,CveUsuario,CveEmpresa,Fecha,Actual)SELECT {0}, 384,'SE INGRESO ASISTENCIA MANUAL','SE INGRESO ASISTENCIA MANUAL',{3},{2},'{1:yyyy/MM/dd}','Asistió'",
DdlmcPersonal.SelectedValue.ToEntero(), fechaing, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario));
}
Alert(string.Format("La asistencia se a agregado ({0:dd-MM-yyyy HH:mm:ss}).", fechaing), ModExtensiones.TipoMensaje.ToastInformacion);
}
if (!chkcontinuarAgregando.Checked)

View File

@@ -23,19 +23,22 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkDescargar" OnClick="LnkDescargar_Click" runat="server"><i class="fa fa-ad-excel"></i> Descargar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkGuardarCambios" OnClick="LnkGuardarCambios_Click" runat="server"><i class="fa fa-save"></i> Guardar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="Lnkmostrararchivos" OnClick="Lnkmostrararchivos_Click" runat="server"><i class="fa fa-save"></i> Mostrar archivos</asp:LinkButton>
</li>
<li style="display: none">
<asp:LinkButton ID="LnkDownArchivosSua" OnClick="LnkDownArchivosSua_Click" runat="server"><i class="fa fa-download"></i> Descargar Archivos IDSE</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargar" />
<%-- <asp:PostBackTrigger ControlID="LnkListaRaya" /> --%>
<asp:PostBackTrigger ControlID="LnkDescargar" />
<%-- <asp:PostBackTrigger ControlID="LnkListaRaya" /> --%>
</Triggers>
</asp:UpdatePanel>
</asp:Content>
@@ -53,7 +56,7 @@
<div class="row">
<asp:Label ID="Label1" runat="server" CssClass="col-md-1 ">Tipo :</asp:Label>
<div class="col-md-3" id="Div1" runat="server">
<asp:DropDownList ID="DdlTipo" runat="server">
<asp:DropDownList ID="DdlTipo" runat="server" CssClass="form-control select2me">
<asp:ListItem Value="1" Text="Cambio en salario variable" Selected="True"></asp:ListItem>
<asp:ListItem Value="2" Text="modificación de salario"></asp:ListItem>
</asp:DropDownList>
@@ -386,7 +389,7 @@
</ajax:TabPanel>
<ajax:TabPanel ID="TabDetalleParteVariable" runat="server" HeaderText="Detalle parte variable">
<ContentTemplate>
<asp:GridView ID="GVDetalleParteVariable" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" ></asp:GridView>
<asp:GridView ID="GVDetalleParteVariable" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall"></asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
@@ -498,6 +501,59 @@
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalDoctos" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Documentos Generados</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalDoctos" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GVDoctos" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
DataKeyNames="nombrearchivo,ruta" ShowHeaderWhenEmpty="true" EmptyDataText="No se encontr">
<Columns>
<asp:TemplateField HeaderText="Documento">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("nombrearchivo")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Generado" ItemStyle-Width="110">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("fecha","{0:dd/MM/yyyy HH}:{0:mm}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>

View File

@@ -41,9 +41,9 @@ public partial class RH_CalculoSBC : ClsPaginas
GVCalculosSBC.DataSource = objnom.DTSetResultados.Tables[0];
GVCFija.DataSource = objnom.DTSetResultados.Tables[0];
GVPV.DataSource = objnom.DTSetResultados.Tables[0];
if (objnom.DTSetResultados.Tables.Count >1)
if (objnom.DTSetResultados.Tables.Count > 1)
{
dtDetalleParteVariable=objnom.DTSetResultados.Tables[1];
dtDetalleParteVariable = objnom.DTSetResultados.Tables[1];
GVDetalleParteVariable.DataSource = dtDetalleParteVariable;
GVDetalleParteVariable.DataBind();
}
@@ -63,7 +63,7 @@ public partial class RH_CalculoSBC : ClsPaginas
//string movtosBajas = "";
using (ClsRH ObjPersonal = new ClsRH())
{
if (ObjPersonal.GetMovimientosToSUA(UsuarioActual.CveEmpresa, "2021-03-01", "2021-03-03"))
if (ObjPersonal.GetMovimientosToSUA(UsuarioActual.CveEmpresa, TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy-MM-dd"), TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy-MM-dd")))
{
////01: MovtosAfil
//concater = "";
@@ -105,6 +105,34 @@ public partial class RH_CalculoSBC : ClsPaginas
//}
}
string rutarchivos = string.Format("{0}\\modificacionsalarios\\", UsuarioActual.Empresa.RutaArchivos);
if (!System.IO.Directory.Exists(rutarchivos))
{
System.IO.Directory.CreateDirectory(rutarchivos);
}
string namearchivoO = TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy-MM-dd");
string namearchivo = namearchivoO;
int contadorz = 1;
while (System.IO.File.Exists(string.Format("{0}{1}", rutarchivos, namearchivo)))
{
namearchivo = string.Format("{0}({1})", namearchivoO, contadorz++);
}
System.IO.StreamWriter archivoW = null;
try { archivoW = new System.IO.StreamWriter(string.Format("{0}{1}", rutarchivos, namearchivo), true, System.Text.Encoding.UTF8); } catch (Exception) { }
if (archivoW != null)
{
try { archivoW.WriteLine(MovtosmodSalario); } catch (Exception) { }
try
{
archivoW.Close();
archivoW.Dispose();
}
catch (Exception) { }
}
RegistraScript(string.Format("SaveCsv(\"MovtosmodSalario{1:ddMMMyyyy}.txt\", '{0}');", MovtosmodSalario, TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy")));
//RegistraScript(string.Format("SaveCsv(\"MovtosAfil.txt\", '{0}');SaveCsv(\"MovtosmodSalario.txt\", '{1}');SaveCsv(\"movtosBajas.txt\", '{2}');", MovtosAfil.Replace("'", "\\'"), MovtosmodSalario.Replace("'", "\\'"), movtosBajas.Replace("'", "\\'")));
//RegistraScript("$('#DmodalGetSua').modal('hide');");
@@ -138,7 +166,7 @@ public partial class RH_CalculoSBC : ClsPaginas
}
else
{
objrh.RollBack ();
objrh.RollBack();
}
}
if (continuar)
@@ -160,7 +188,7 @@ public partial class RH_CalculoSBC : ClsPaginas
protected void LnkDescargar_Click(object sender, EventArgs e)
{
DataTable dt = GVToDT(GVCalculosSBC,"Salario");
DataTable dt = GVToDT(GVCalculosSBC, "Salario");
DataTable dtPF = GVToDT(GVCFija, "Parte fija");
DataTable dtPV = GVToDT(GVPV, "Parte variable");
dtDetalleParteVariable.TableName = "Detalle parte variable";
@@ -203,7 +231,7 @@ public partial class RH_CalculoSBC : ClsPaginas
libro.Range(7, 6, 7 + dt.Rows.Count, 12).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Right;
libro.Range(7, 6, 7+ dt.Rows.Count, 12).Style.NumberFormat.Format = "$##,###,###,0.00";
libro.Range(7, 6, 7 + dt.Rows.Count, 12).Style.NumberFormat.Format = "$##,###,###,0.00";
@@ -228,10 +256,11 @@ public partial class RH_CalculoSBC : ClsPaginas
}
public string limpiarcelda( string celdatext)
public string limpiarcelda(string celdatext)
{
celdatext = celdatext.Replace("<br />", "\r\n").Replace(" ", " ");
while (celdatext.Contains(" ")){
while (celdatext.Contains(" "))
{
celdatext = celdatext.Replace(" ", " ");
}
celdatext = celdatext.Replace("\n ", " ");
@@ -250,7 +279,7 @@ public partial class RH_CalculoSBC : ClsPaginas
foreach (TableCell cell in GridView.HeaderRow.Cells)
{
string titulo = HttpUtility.HtmlDecode(Extensiones.ModExtensiones.TextoCelda(cell)).Trim();
titulo = limpiarcelda( titulo);
titulo = limpiarcelda(titulo);
if (GridView.Columns.Count > i && GridView.Columns[i].Visible && titulo.Length > 0)
{
if (dt.Columns.Contains(titulo))
@@ -275,4 +304,33 @@ public partial class RH_CalculoSBC : ClsPaginas
}
return dt;
}
protected void Lnkmostrararchivos_Click(object sender, EventArgs e)
{
string rutarchivos = string.Format("{0}\\modificacionsalarios\\", UsuarioActual.Empresa.RutaArchivos);
List<archivosD> lisaarchivos = new List<archivosD>();
foreach (var urfile in System.IO.Directory.GetFiles(rutarchivos, "*"))
{
if (urfile.Replace(rutarchivos, "").Length > 9)
{
string cfecha = urfile.Replace(rutarchivos, "").Substring(0, 10).ToDateTime().ToString("dd/MM/yyyy");
archivosD arch = new archivosD() { nombrearchivo = cfecha, ruta = urfile, fecha= System.IO.File.GetCreationTime(urfile) };
lisaarchivos.Add(arch);
}
}
GVDoctos.DataSource = lisaarchivos;
GVDoctos.DataBind();
UpModalDoctos.Update();
RegistraScript("$('#ModalDoctos').modal();");
}
}
public class archivosD
{
public string nombrearchivo { get; set; }
public string ruta { get; set; }
public DateTime fecha { get; set; }
}

View File

@@ -835,7 +835,7 @@ Partial Class RH_Personal
CargaRiesgoPuesto()
CargaBancos()
CargaSubProyectosZona()
CargaEstados(1)
CargaEstados(151)
CargaMonedas()
CargaSuperioresOrganigrama()
CargaUsuariosNomina()