This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-11-15 14:18:13 -07:00
parent 49ab1578e1
commit 919a647455
13 changed files with 848 additions and 90 deletions

View File

@@ -2593,7 +2593,7 @@ Public Class ClsNominas
Return retorno
End Function
#End Region
Public Function GetCalculoSBC(CveEmpresa As Integer, Tipo As Integer, FechaCalculo As String) As Boolean
Public Function GetCalculoSBC(CveEmpresa As Integer, Tipo As Integer, FechaCalculo As String, Optional CveRegistroPatronal As Integer = -1) As Boolean
Dim retorno As Boolean = False
Try
DTSet = New DataSet()
@@ -2601,6 +2601,7 @@ Public Class ClsNominas
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Tipo", SqlDbType.Int).Value = Tipo
.Add("@CveRegistroPatronal", SqlDbType.Int).Value = CveRegistroPatronal
.Add("@Fecha", SqlDbType.Date).Value = FechaCalculo
End With
SqlAdapter.Fill(DTSet)

View File

@@ -19,7 +19,7 @@ Public Class LogicNominas
sw.Start()
End If
Dim cfdi As CFDITimbre = PreTimbrar(CveNomina, UsuarioActual, False, CvePAC) 'CvePersonal, CvePeriodo,
Dim cfdi As CFDITimbre = PreTimbrar(CveNomina, UsuarioActual, False) 'CvePersonal, CvePeriodo,
If cfdi IsNot Nothing AndAlso cfdi.Mensaje = "" Then
If Not cfdi.Timbrado Then
Dim ObjTimbrado As New Timbrado
@@ -81,7 +81,7 @@ Public Class LogicNominas
Return Retorno
End Function
Dim hasfiniquito As Boolean
Public Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean, Optional CvePAC As Integer = 4) As CFDITimbre
Public Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean) As CFDITimbre
Dim continuar As Boolean = True
hasfiniquito = False
Dim CvePersonal As Integer = -1
@@ -439,7 +439,7 @@ Public Class LogicNominas
cfdi.Comprobante.TipoComprobante = "N"
cfdi.Comprobante.TipoDocto = "Egs"
cfdi.Comprobante.MetodoPago = "PUE"
cfdi.Comprobante.CondicionesdePago = If(CvePAC < 4, "CONTADO", "") '"" '""
cfdi.Comprobante.CondicionesdePago = "" '"CONTADO"
cfdi.Comprobante.FormadePago = If(UsuarioActual.Empresa.Funcionalidad(350).Contiene("1"), "", "99")
cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL
cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta

View File

@@ -71,7 +71,7 @@ Namespace Extensiones
Dim dataTable As DataTable = New DataTable()
Dim worksheet As GemBox.Spreadsheet.ExcelWorksheet = excelFile.Worksheets(0)
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
For cols = 0 To worksheet.Rows(curRow).AllocatedCells.Count - 1
If firstRowHasHeaders Then
@@ -81,12 +81,13 @@ Namespace Extensiones
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
End If
curRow = 1
Else
dataTable.Columns.Add("Column " & (cols + 1))
End If
Next
If firstRowHasHeaders Then
curRow = curRow + 1
End If
While curRow < worksheet.Rows.Count
columns = New String(cols - 1) {}

Binary file not shown.

View File

@@ -2360,7 +2360,7 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim ErrorArchivo = False
Dim ErrorExcel = False
DdlPlantilla.SelectedValue = DdlPlantilla2.SelectedValue
dt = ReadExcelFile(Ruta + FileName, True)
dt = ReadExcelFile(Ruta + FileName, True, 0)
If Not ErrorArchivo Then

View File

@@ -1606,7 +1606,7 @@ KM12 HERMOSILLO, SONORA</Value>
<Height>5.84433in</Height>
<Style />
</Body>
<Width>5.09083in</Width>
<Width>4.93458in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Linq;
using System.Web;
@@ -75,11 +76,33 @@ public partial class Nomina_Finiquito : ClsPaginas
set { ViewState["dtempleados"] = value; }
}
private HybridDictionary EmpresasFuncionalidades
{
get
{
if (ViewState["EmpresasFuncionalidades"] == null) { return null; }
else { return (HybridDictionary)ViewState["EmpresasFuncionalidades"]; }
}
set { ViewState["EmpresasFuncionalidades"] = value; }
}
private HybridDictionary EmpresasFuncionalidadesnoV4
{
get
{
if (ViewState["EmpresasFuncionalidadesnoV4"] == null) { return null; }
else { return (HybridDictionary)ViewState["EmpresasFuncionalidadesnoV4"]; }
}
set { ViewState["EmpresasFuncionalidadesnoV4"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
CreaObjetoEmpresa(UsuarioActual);
GvFinOrdinario.DataSource = new DataTable();
GVFinIndemnizacion.DataSource = new DataTable();
GvFinOrdinario.DataBind();
@@ -529,6 +552,109 @@ public partial class Nomina_Finiquito : ClsPaginas
// }
//}
private void CreaObjetoEmpresa(Usuario UsuarioActual)
{
ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
{
if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
{
System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
EmpresasFuncionalidades = new HybridDictionary();
EmpresasFuncionalidadesnoV4 = new HybridDictionary();
foreach (System.Data.DataRow Row in dttmp.Rows)
{
if (Convert.ToInt32(Row["CveFuncionalidad"]) != 350)
{
EmpresasFuncionalidadesnoV4.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
}
EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
}
//ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
}
UsuarioActual.Empresa = ObjEmpresa.Empresa;
}
else
{
}
ObjEmpresa.Dispose();
}
public string TimbrarNominaV3_3(int CveNomina, int CvePersonal, int CvePeriodo, Usuario UsuarioActual, int CvePAC = 4)
{
LogicNominas lnom = new LogicNominas();
string Retorno = "";
string GetError = ""; // Le reasigno el current error a nulo
//System.Diagnostics.Stopwatch sw = null;
bool hasfiniquito = false;
UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidadesnoV4);
//if (guardarLogTimbrado)
//{
// sw = new System.Diagnostics.Stopwatch();
// sw.Start();
//}
CFDITimbre cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, false); // CvePersonal, CvePeriodo,
cfdi.Comprobante.CondicionesdePago = "";
if (cfdi != null && cfdi.Mensaje == "")
{
if (!cfdi.Timbrado)
{
Timbrado ObjTimbrado = new Timbrado();
Modelos.Factura ObjFactura = new Modelos.Factura();
ObjFactura.TipoDocto = "Nomina";
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
ObjFactura.Serie = cfdi.Comprobante.Serie;
ObjFactura.Timbre = cfdi;
if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
Retorno = ObjTimbrado.MensajeErrorCFDI;
}
if (Retorno != "")
Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
else if (hasfiniquito)
{
cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, true); // CvePersonal, CvePeriodo,
if (cfdi != null && cfdi.Mensaje == "")
{
if (!cfdi.Timbrado)
{
Timbrado ObjTimbrado = new Timbrado();
Modelos.Factura ObjFactura = new Modelos.Factura();
ObjFactura.TipoDocto = "Nomina";
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
ObjFactura.Serie = cfdi.Comprobante.Serie;
ObjFactura.Timbre = cfdi;
if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
Retorno = ObjTimbrado.MensajeErrorCFDI;
if (Retorno != "")
Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
else
{
}
}
}
else if (cfdi == null)
Retorno = $"No se pudo generar el pretimbre(GetError): <br/> {GetError}";
else
Retorno = $"No se pudo generar el pretimbre: <br/> {cfdi.Mensaje}";
}
}
else if (cfdi == null)
Retorno = $"No se pudo generar el pretimbre(GetError): <br/> {GetError}";
else
Retorno = $"No se pudo generar el pretimbre: <br/> {cfdi.Mensaje}";
//if (guardarLogTimbrado)
//{
// sw.Stop();
// GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC, "Nomina");
//}
UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
return Retorno;
}
protected void LnkTimbrar_Click(object sender, EventArgs e)
{
int CvePeriodo = CvePeriodoFiniquito;
@@ -539,7 +665,16 @@ public partial class Nomina_Finiquito : ClsPaginas
int CveNomina = dtr.Rows[0]["CveNomina"].ToString().ToEntero();
LogicNominas lognom = new LogicNominas();
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
string Msg = "";
if (UsuarioActual.CveEmpresa == 119)
{
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
}
else
{
Msg = TimbrarNominaV3_3(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
}
if (Msg != null && Msg.Length > 0)
{ Alert(Msg, TipoMensaje.MsgAdvertencia); }
else
@@ -547,7 +682,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsNominas ObjPeriodo = new ClsNominas())
{
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
//ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
loadsobrerecibo(ObjPeriodo);
}
//ObjPeriodo.Dispose();

View File

@@ -4060,7 +4060,7 @@
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RetiroSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>showResult
</Columns>
</asp:GridView>--%>
</div>

View File

@@ -97,11 +97,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
get
{
if (ViewState["dtempleados"] == null) { return null; }
else { return (DataTable)ViewState["dtempleados"]; }
if (ViewState["DtSuaProcesado"] == null) { return null; }
else { return (DataTable)ViewState["DtSuaProcesado"]; }
}
set { ViewState["dtempleados"] = value; }
set { ViewState["DtSuaProcesado"] = value; }
}
protected bool PermisoCancelarEmitido
@@ -206,12 +206,37 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["FiltAgrupador"] = value; }
}
private HybridDictionary EmpresasFuncionalidades
{
get
{
if (ViewState["EmpresasFuncionalidades"] == null) { return null; }
else { return (HybridDictionary)ViewState["EmpresasFuncionalidades"]; }
}
set { ViewState["EmpresasFuncionalidades"] = value; }
}
private HybridDictionary EmpresasFuncionalidadesnoV4
{
get
{
if (ViewState["EmpresasFuncionalidadesnoV4"] == null) { return null; }
else { return (HybridDictionary)ViewState["EmpresasFuncionalidadesnoV4"]; }
}
set { ViewState["EmpresasFuncionalidadesnoV4"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CreaObjetoEmpresa(UsuarioActual);
DataTable dtperinc = null;
using (ClsNominas objnom = new ClsNominas())
{
@@ -1185,7 +1210,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
Alert("se reenviaron los recibos timbrados");
}
public string msgCorregidoSat(string msg, int CvePersonal, string RFC, string CURP)
{
string retorno = msg;
@@ -1255,7 +1280,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
LogicNominas lognom = new LogicNominas();
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
string Msg = "";
if (UsuarioActual.CveEmpresa == 119)
{
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
}
else
{
Msg = TimbrarNominaV3_3(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
}
if (Msg != null && Msg.Length > 0)
{
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
@@ -1311,7 +1344,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
UpDatos.Update();
}
private void CreaObjetoEmpresa(ref Usuario UsuarioActual)
private void CreaObjetoEmpresa(Usuario UsuarioActual)
{
ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
@@ -1320,10 +1353,17 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
HybridDictionary EmpresasFuncionalidades = new HybridDictionary();
EmpresasFuncionalidades = new HybridDictionary();
EmpresasFuncionalidadesnoV4 = new HybridDictionary();
foreach (System.Data.DataRow Row in dttmp.Rows)
{
if (Convert.ToInt32(Row["CveFuncionalidad"]) != 350)
{
EmpresasFuncionalidadesnoV4.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
}
EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
}
//ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
}
UsuarioActual.Empresa = ObjEmpresa.Empresa;
@@ -1427,7 +1467,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
UsuarioActual = this.UsuarioActual;
}*/
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual,(UsuarioActual.CveUsuario==100?4:4));
string Msg = "";// lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, (UsuarioActual.CveUsuario == 100 ? 4 : 4));
if (UsuarioActual.CveEmpresa == 119)
{
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
}
else
{
Msg = TimbrarNominaV3_3(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
}
if (Msg != null && Msg.Length > 0)
{ Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:<br/>{0}", Msg), TipoMensaje.MsgAdvertencia); }
else
@@ -2562,12 +2610,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
DdlFormapagovacaciones_SelectedIndexChanged(null, null);
ChkVacPrimaVacacional.Checked = true;
ChkVacCobrarIMSS.Checked = true;
using(ClsNominas objnom = new ClsNominas())
using (ClsNominas objnom = new ClsNominas())
{
if(objnom.GETPersonalVacResumen(UsuarioActual.Empresa.CveEmpresa, SRCvePersonal))
if (objnom.GETPersonalVacResumen(UsuarioActual.Empresa.CveEmpresa, SRCvePersonal))
{
DataRow drow = objnom.DtResultados.FiltroPrimero("Selected =1");
if(drow != null)
if (drow != null)
{
DdlVacPeriodo.SelectedValueExist(drow["Ejercicio"].ToString());
@@ -7364,7 +7412,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
TxtSRINCfolio.Text = "";
TxtSRINCfechaInicio.Text = "";
TxtSRINCdiasAutorizados.Text = "";
TxtDiasPagoEmpresa.Text = UsuarioActual.CveEmpresa ==141?"3":"";
TxtDiasPagoEmpresa.Text = UsuarioActual.CveEmpresa == 141 ? "3" : "";
DdlSRINCcveTipodeIncidencia.SelectedValue = "-1";
DdlSRINCcveRamoSeguro.SelectedValue = "-1";
DdlSRINCcveTipoRiesgo.SelectedValue = "-1";
@@ -8070,7 +8118,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
using (ClsNominas nom = new ClsNominas())
{
if (nom.GetPeriodos(-1,UsuarioActual.CveEmpresa,-1,-1, DdlPeriodo.SelectedValue.ToEntero(),-1) && (nom.DtResultados.Rows.Count>0))
if (nom.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado, -1) && (nom.DtResultados.Rows.Count > 0))
{
fechai = nom.DtResultados.Rows[0]["FechaInicio"].ToString().ToDateTime();
fechaf = nom.DtResultados.Rows[0]["FechaFin"].ToString().ToDateTime();
@@ -8124,10 +8172,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
int chkImporteValor = 1;
int chkImporte = 1;
int chkImporteGravado = 0;
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
//int chkImporteValor = 1;
//int chkImporte = 1;
//int chkImporteGravado = 0;
DateTime fechai = TxtRIFechaInicio.Text.ToDateTime();
DateTime fechaf = TxtRIFechaFin.Text.ToDateTime();
List<Archivo> Filesgral = TxtAsistenciaTabular.getfiles().Archivos;
bool continuar = Filesgral.Count > 0;
string stringError = "";
Archivo fileItem = continuar ? Filesgral[0] : null;
@@ -8156,7 +8206,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
try
{
DataTable dtxz = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true,4);
DataTable dtxz = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true, 4);
DTEXcel = dtxz.FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
}
@@ -8174,32 +8224,96 @@ public partial class Nomina_Nomina2 : ClsPaginas
continuar = false;
stringError = "No se encontraron cambios";
}
if(continuar)
if (continuar)
{
for (int j = 2; j < DTEXcel.Rows.Count; j++)
using (ClsNominas nom = new ClsNominas())
{
for (int i = 1; i < DTEXcel.Columns.Count; i++)
if (nom.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado, -1) && (nom.DtResultados.Rows.Count > 0))
{
/*
//
string conceptocodigo = drowx[i].ToString(); string CveConcepto;
DataRow dconr = dtConceptos.FiltroPrimero(string.Format("codigo='{0}'", conceptocodigo));
if (dconr != null)
{
CveConcepto = dconr["CveConcepto"].ToString();
dtxz.Columns[i].ColumnName = CveConcepto;
}
else
{
continuar = false;
stringError = string.Format("Ocurrio un Error al procesar el excel código no valido '{0}'({1}).", conceptocodigo, i);
break;
}*/
//int CveConcepto = dtxz.Columns[i].ColumnName.ToEntero();
fechai = nom.DtResultados.Rows[0]["FechaInicio"].ToString().ToDateTime();
fechaf = nom.DtResultados.Rows[0]["FechaFin"].ToString().ToDateTime();
}
}
for (int i = 2; i < DTEXcel.Columns.Count; i++)
{
DateTime FechaAsis = DTEXcel.Columns[i].ColumnName.ToDateTime();
if( FechaAsis < fechai || FechaAsis > fechaf)
{
continuar = false;
stringError = "Las fechas no concuerdadn con el periodo seleccionado";
}
}
}
if (continuar)
{
int CvePersonal = 0;
string Codigo;
DateTime FechaAsis;
DataTable dtasis = GlobalDTAsistenciasInasistencias.FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa);
List<string> listaerrores = new List<string>();
using (ClsRH ObjPersonal = new ClsRH())
{
for (int j = 0; j < DTEXcel.Rows.Count; j++)
{
Codigo = DTEXcel.Rows[j]["Codigo"].ToString();
CvePersonal = -1;
if (Codigo != "-1" && ObjPersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
ObjPersonal.DtResultados.Rows.Count == 1)
{
CvePersonal = ObjPersonal.CvePersonal;
//CveMetodoPago = objpersonal.CveMetodoPago;
}
for (int i = 2; i < DTEXcel.Columns.Count; i++)
{
FechaAsis = DTEXcel.Columns[i].ColumnName.ToDateTime();
string tipoasistencia = DTEXcel.Rows[j][i].ToString();
DataRow drasis = dtasis.FiltroPrimero(string.Format("Tipo = '{0}'", tipoasistencia));
if (CvePersonal > 0 && drasis != null && ObjPersonal.AddAsistencia(CvePersonal, -2, -2, FechaAsis,
drasis["CveAsistenciasInasistencias"].ToString().ToEntero(), 100, -2, -2, -2, TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
continuar = true;
}
if (CvePersonal > 0 && drasis == null && !listaerrores.Contains(tipoasistencia) && tipoasistencia != "" && tipoasistencia != "--" && tipoasistencia != "-")
{
listaerrores.Add(DTEXcel.Rows[j][i].ToString());
// stringError = String.Format("{0}<br>el empleado {1} tiene una asistencia invalidad el dia {2:dd/MM/yyyy}", stringError, Codigo, FechaAsis);
}
}
}
}
if (continuar)
{
cargarasistencia();
if (listaerrores.Count > 0)
{
string strmsg = "Los siguientes tipos de asistencia no pudieron ser cargados porque no se encuentran registrados ";
for (int i = 0; i < listaerrores.Count; i++)
{
strmsg = String.Format("{0}<br/>{1}", strmsg, listaerrores[i]);
}
Alert(strmsg, TipoMensaje.MsgInformacion);
}
else
{
Alert("La Asistencia se guardó correctamente.", TipoMensaje.MsgInformacion);
}
UpDatos.Update();
}
else
{
Alert(stringError, TipoMensaje.MsgAdvertencia);
}
}
else
{
Alert(stringError, TipoMensaje.MsgAdvertencia);
}
RegistraScript("$('#DModalAsistenciaTabular').modal('hide')");
}
protected void LnkProcesarReporteIncidencia_Click(object sender, EventArgs e)
@@ -9017,4 +9131,79 @@ public partial class Nomina_Nomina2 : ClsPaginas
RegistraScript(string.Format("$('#ModalViewCorreo').modal();", TxtmcImporte.ClientID));
}
public string TimbrarNominaV3_3(int CveNomina, int CvePersonal, int CvePeriodo, Usuario UsuarioActual, int CvePAC = 4)
{
LogicNominas lnom = new LogicNominas();
string Retorno = "";
string GetError = ""; // Le reasigno el current error a nulo
//System.Diagnostics.Stopwatch sw = null;
bool hasfiniquito = false;
UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidadesnoV4);
//if (guardarLogTimbrado)
//{
// sw = new System.Diagnostics.Stopwatch();
// sw.Start();
//}
CFDITimbre cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, false); // CvePersonal, CvePeriodo,
cfdi.Comprobante.CondicionesdePago = "";
if (cfdi != null && cfdi.Mensaje == "")
{
if (!cfdi.Timbrado)
{
Timbrado ObjTimbrado = new Timbrado();
Modelos.Factura ObjFactura = new Modelos.Factura();
ObjFactura.TipoDocto = "Nomina";
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
ObjFactura.Serie = cfdi.Comprobante.Serie;
ObjFactura.Timbre = cfdi;
if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
Retorno = ObjTimbrado.MensajeErrorCFDI;
}
if (Retorno != "")
Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
else if (hasfiniquito)
{
cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, true); // CvePersonal, CvePeriodo,
if (cfdi != null && cfdi.Mensaje == "")
{
if (!cfdi.Timbrado)
{
Timbrado ObjTimbrado = new Timbrado();
Modelos.Factura ObjFactura = new Modelos.Factura();
ObjFactura.TipoDocto = "Nomina";
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
ObjFactura.Serie = cfdi.Comprobante.Serie;
ObjFactura.Timbre = cfdi;
if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
Retorno = ObjTimbrado.MensajeErrorCFDI;
if (Retorno != "")
Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
else
{
}
}
}
else if (cfdi == null)
Retorno = $"No se pudo generar el pretimbre(GetError): <br/> {GetError}";
else
Retorno = $"No se pudo generar el pretimbre: <br/> {cfdi.Mensaje}";
}
}
else if (cfdi == null)
Retorno = $"No se pudo generar el pretimbre(GetError): <br/> {GetError}";
else
Retorno = $"No se pudo generar el pretimbre: <br/> {cfdi.Mensaje}";
//if (guardarLogTimbrado)
//{
// sw.Stop();
// GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC, "Nomina");
//}
UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
return Retorno;
}
}

View File

@@ -4,11 +4,11 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.GVCalculosSBC tr th:nth-child(n+8):not(:nth-child(n+12)) {
.GVCalculosSBC tr th:nth-child(n+8):not(:nth-child(n+13)) {
background-color: #a9a9e8 !important;
}
.GVCalculosSBC tr th:nth-child(n+12):not(:nth-child(n+15)) {
.GVCalculosSBC tr th:nth-child(n+13):not(:nth-child(n+16)) {
background-color: #88d6cd !important;
}
</style>
@@ -23,7 +23,9 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkUpSuamodal" OnClick="LnkUpSuamodal_Click" runat="server"><i class="fa fa-check"></i> Cargar archivo SUA</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkDescargar" OnClick="LnkDescargar_Click" runat="server"><i class="fa fa-ad-excel"></i> Descargar</asp:LinkButton>
</li>
<li>
@@ -32,7 +34,7 @@
<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">
<li>
<asp:LinkButton ID="LnkDownArchivosSua" OnClick="LnkDownArchivosSua_Click" runat="server"><i class="fa fa-download"></i> Descargar Archivos IDSE</asp:LinkButton>
</li>
</ContentTemplate>
@@ -55,7 +57,7 @@
<div class="titlefiltros caption">
<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">
<div class="col-md-2" id="Div1" 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>
@@ -63,7 +65,7 @@
</div>
<asp:Label ID="LblFechaPago" runat="server" CssClass="col-md-1 ">Fecha :</asp:Label>
<div class="col-md-3" id="DivFechaPago" runat="server">
<div class="col-md-2" id="DivFechaPago" runat="server">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaPago" runat="server" Text="01/03/2021" CssClass="form-control" CausesValidation="true" Width="90%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
@@ -77,7 +79,14 @@
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="TxtFechaPago" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<asp:Label runat="server" AssociatedControlID="DdlRegistroPatronal" Text="Registro Patronal:" CssClass="col-md-1 "></asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlRegistroPatronal" runat="server" Width="100%" DataTextField="RegistroPatronal" CssClass="form-control input-sm select2me" DataValueField="CveRegistroPatronal" AppendDataBoundItems="true">
<asp:ListItem Value="-1" Text="Todas"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-2">
<asp:LinkButton ID="LnkCalcular" OnClick="LnkCalcular_Click" runat="server" Text="Calcular" Visible="true" class="btn btn-primary" />
</div>
</div>
@@ -86,18 +95,23 @@
</div>
</div>
</div>
<div style="float: right;">
<asp:TextBox CssClass="TxtBusqueda form-control input-sm" runat="server" onkeyup="FiltrarTablaV2('.TxtBusqueda','.GVBuscaddor')" Style="display: inline-block; margin-right: -20px; width: 150px;"></asp:TextBox>
<a href="javascript:;" onclick="FiltrarTablaV2('.TxtBusqueda','.GVCalculosSBC')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier" style="font-weight: bold;"></i></a>
</div>
<ajax:TabContainer ID="Tab" runat="server" Width="100%">
<ajax:TabPanel ID="TabSBC" runat="server" HeaderText="Salario base cotización">
<ContentTemplate>
<table id="tableheader" style="display: none">
<tr>
<th colspan="7"></th>
<th colspan="4" style="background-color: #a9a9e8 !important;">Actual</th>
<th colspan="5" style="background-color: #a9a9e8 !important;">Actual</th>
<th colspan="3" style="background-color: #88d6cd !important;">Nuevo</th>
<th></th>
<%--<th></th>--%>
</tr>
</table>
<asp:GridView ID="GVCalculosSBC" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVCalculosSBC" AutoGenerateColumns="False" data-tableheader="#tableheader"
<asp:GridView ID="GVCalculosSBC" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVCalculosSBC GVBuscaddor" AutoGenerateColumns="False" data-tableheader="#tableheader"
DataKeyNames="CvePersonal,Codigo,Nombre,FechaInicio,Antiguedad,Incapacitado,NumeroSS,CveTipodeSalario,TipodeSalario,SalarioDiario,SDINuevo,SalarioVariableNuevo,SalarioDiarioSSNuevo,SDI,SalarioVariable,SalarioDiarioSS,PorPrimaVacacional,NumDiasAguinaldo,Acumulado,diasBimestre,Faltas,Incapaciadad,diaslaborados,Movtotxt,RegistroPatronal">
<Columns>
<asp:TemplateField HeaderText="Código">
@@ -112,13 +126,13 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Sucursal">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubProyecto")%>'> </asp:Label>
<asp:Label runat="server" Text='<%# Eval("SubProyecto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Registro Patronal">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RegistroPatronal")%>'> </asp:Label>
<asp:Label runat="server" Text='<%# Eval("RegistroPatronal")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
@@ -179,6 +193,15 @@
<asp:Label ID="lblsalarioDiarioSS" runat="server" Text='<%# Eval("SalarioDiarioSS","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
Salario
<br />SUA
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSalarioSUA" runat="server" Text='<%# Eval("SalarioSUA","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
@@ -186,7 +209,7 @@
integrado
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsDI" runat="server" Text='<%# Eval("SDINuevo","{0:N2}")%>'> </asp:Label>
<asp:Label ID="lblsDIn" runat="server" Text='<%# Eval("SDINuevo","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
@@ -196,7 +219,7 @@
variable
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsalarioVariable" runat="server" Text='<%# Eval("SalarioVariableNuevo","{0:N2}")%>'> </asp:Label>
<asp:Label ID="lblsalarioVariablev" runat="server" Text='<%# Eval("SalarioVariableNuevo","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
@@ -206,7 +229,7 @@
cotización
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsalarioDiarioSS" runat="server" Text='<%# Eval("SalarioDiarioSSNuevo","{0:N2}")%>'> </asp:Label>
<asp:Label ID="lblsalarioDiarioSSs" runat="server" Text='<%# Eval("SalarioDiarioSSNuevo","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="center">
@@ -214,7 +237,15 @@
Modificación
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsalarioDiarioSS" runat="server" Text='<%# (Eval("SalarioDiarioSSNuevo", "{0:N2}") == Eval("SalarioDiarioSS", "{0:N2}") ? "NO" : "SI") %>'> </asp:Label>
<asp:Label ID="lblsalarioDiarioSSf" runat="server" Text='<%# (Eval("SalarioDiarioSSNuevo", "{0:N2}") == Eval("SalarioDiarioSS", "{0:N2}") ? "NO" : "SI") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="center" Visible="false">
<ItemTemplate>
<div style="width: 50px;">
<asp:CheckBox runat="server" ID="chkCon" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
@@ -224,7 +255,7 @@
<ajax:TabPanel ID="TabParteFija" runat="server" HeaderText="Parte fija">
<ContentTemplate>
<asp:GridView ID="GVCFija" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
<asp:GridView ID="GVCFija" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVBuscaddor" AutoGenerateColumns="False" HeaderStyle-CssClass="ADtr"
DataKeyNames="CvePersonal,Codigo,Nombre,FechaInicio,Antiguedad,Incapacitado,NumeroSS,CveTipodeSalario,TipodeSalario,SalarioDiario,SDI,SalarioVariable,SalarioDiarioSS,PorPrimaVacacional,NumDiasAguinaldo,Acumulado,diasBimestre,Faltas,Incapaciadad,diaslaborados">
<Columns>
<asp:TemplateField HeaderText="Código">
@@ -331,7 +362,7 @@
<ajax:TabPanel ID="TabParteVariable" runat="server" HeaderText="Parte variable">
<ContentTemplate>
<asp:GridView ID="GVPV" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
<asp:GridView ID="GVPV" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVBuscaddor" AutoGenerateColumns="False" HeaderStyle-CssClass="ADtr"
DataKeyNames="CvePersonal,Codigo,Nombre,FechaInicio,Antiguedad,Incapacitado,NumeroSS,CveTipodeSalario,TipodeSalario,SalarioDiario,SDI,SalarioVariable,SalarioDiarioSS,PorPrimaVacacional,NumDiasAguinaldo,Acumulado,diasBimestre,Faltas,Incapaciadad,diaslaborados">
<Columns>
<asp:TemplateField HeaderText="Código">
@@ -344,9 +375,10 @@
<asp:Label ID="lblnombre" runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Fecha alta <br />
Fecha alta
<br />
o reingreso
</HeaderTemplate>
<ItemTemplate>
@@ -373,18 +405,20 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
Percepciones <br />
Percepciones
<br />
variables
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblacumulado" runat="server" Text='<%# Eval("Acumulado","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>
Días <br />
Días
<br />
incapacidad
</HeaderTemplate>
<ItemTemplate>
@@ -417,7 +451,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" HeaderStyle-CssClass="ADtr" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVBuscaddor"></asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
@@ -580,7 +614,223 @@
</div>
</div>
<div id="DmodalCompareSua" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpArchivoSua" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content rowpadding">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" runat="server" style="text-align: left">Procesar Archivo SUA</h4>
</div>
<div class="modal-body">
<div class="portlet light smmallpadding bordered" id="cargaarchivoprocesasua">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-download font-green"></i>
<span class="caption-subject bold uppercase">Cargar Archivo</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<asp:TextBox ID="TxtArchivoSua" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
<div class="text-center">
</div>
</div>
</div>
<div class="portlet light smmallpadding bordered" id="resultadoprocesasua" style="display: none">
<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:Resultado (Periodo :
<asp:Literal ID="LtlPeriodo" runat="server"></asp:Literal>)</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="LnkDownExcelSua" OnClick="LnkDownExcelSua_Click" CssClass="btn btn-default" runat="server"><i class="fa fa-ad-excel"></i>Descargar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body rowpadding " style="display: none;">
<div style="width: 1200px; min-height: 340px;">
<table id="headerProcesaSUAxd" style="display: none">
<tr>
<th colspan="5"></th>
<th colspan="10">Obrera</th>
<th colspan="10">Patronal</th>
</tr>
<tr>
<th></th>
<th colspan="2">Salario</th>
<th colspan="2">Días</th>
<th colspan="2">Cuota Excedente</th>
<th colspan="2">Prestaciones en Dinero</th>
<th colspan="2">Gastos Medicos</th>
<th colspan="2">Invalidez y Vida</th>
<th colspan="2">Cesantia y Vejez</th>
<th colspan="2">Cuota Fija</th>
<th colspan="2">Riesgos de Trabajo</th>
<th colspan="2">Guarderia</th>
<th colspan="2">Retiro</th>
<th colspan="2">Cesantia y Vejez</th>
</tr>
</table>
<asp:GridView ID="GVProcesarSUA" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD" AutoGenerateColumns="False"
OnRowDataBound="GVProcesarSUA_RowDataBound" data-height="300" data-tableheader="#headerProcesaSUAxd"
DataKeyNames="CvePersonal,CodigoNombreCompleto,CuotaFijaSUA,CuotaFijaSIG,CuotaExcedenteSUA,CuotaExcedenteSIG,PrestacionesDineroSUA,PrestacionesSIG,GastosMedPenSUA,GastosMedicosSIG,RiesgosdeTrabajoSUA,RiesgoTrabajoSIG,InvalidezyVidaSUA,InvalidezyVidaSIG,GuarderiaSUA,GuarderiaSIG,RetiroSUA,RetiroSIG,SalarioSUA,SalarioSIG,CesantiayVejezObreraSUA,CesantiayVejezObreraSIG,CesantiayVejezPatronalSUA,CesantiayVejezPatronalSIG">
<Columns>
<asp:TemplateField HeaderText="Nombre">
<ItemTemplate>
<asp:Label ID="lblcodigoNombreCompleto" runat="server" Text='<%# Eval("CodigoNombreCompleto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SalarioSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SalarioSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("DiasMes","{0:N0}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("DiasAsistio","{0:N0}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CuotaExcedenteSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CuotaExcedenteSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("PrestacionesDineroSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("PrestacionesSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("GastosMedPenSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("GastosMedicosSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("InvalidezyVidaSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("InvalidezyVidaSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CesantiayVejezObreraSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CesantiayVejezObreraSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CuotaFijaSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CuotaFijaSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RiesgosdeTrabajoSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RiesgoTrabajoSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("GuarderiaSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("GuarderiaSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RetiroSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RetiroSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SUA">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CesantiayVejezPatronalSUA","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("CesantiayVejezPatronalSIG","{0:N2}")%>'> </asp:Label></td>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkUpSuaFile" OnClick="LnkUpSuaFile_Click" CssClass="btn btn-primary" runat="server"> Procesar</asp:LinkButton>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDownExcelSua" />
</Triggers>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
@@ -600,6 +850,32 @@
document.body.removeChild(elem);
}
}
function showResult() {
/*
setTimeout(function () {
let collapse = $('#cargaarchivoprocesasua .expand');
let body = $('#cargaarchivoprocesasua .portlet-body');
if (collapse && collapse.length > 0) {
collapse.removeClass('collapse');
collapse.addClass('expand');
}
if (body && body.length > 0) {
body.css('display', 'none');
}
collapse = $('#resultadoprocesasua .collapse');
body = $('#resultadoprocesasua .portlet-body');
if (collapse && collapse.length > 0) {
collapse.addClass('collapse');
collapse.removeClass('expand');
}
if (body && body.length > 0) {
body.css('display', '');
}
setTimeout(function () { loadadscroll(); }, 50);
}, 400);*/
}
</script>
</asp:Content>

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -23,6 +24,17 @@ public partial class RH_CalculoSBC : ClsPaginas
if (!IsPostBack)
{
TxtFechaPago.Text = String.Format("{0:01/MM/yyyy}", DateTime.Now);
ClsRH ObjRH = new ClsRH();
if (ObjRH.GetRegistrosPatronales(-1, UsuarioActual.CveEmpresa, 1))
DdlRegistroPatronal.DataSource = ObjRH.DtResultados;
else
DdlRegistroPatronal.DataSource = null;
DdlRegistroPatronal.DataBind();
ObjRH.Dispose();
//string rutarchivos = string.Format("{0}modificacionsalarios\\", UsuarioActual.Empresa.RutaArchivos);
//Alert(rutarchivos);
//ADSNetLibrary.SIGAPI.Services.Agropecuaria.IAgropecuariaService servicioAgro = new ADSNetLibrary.SIGAPI.Services.Agropecuaria.AgropecuariaService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
@@ -34,11 +46,157 @@ public partial class RH_CalculoSBC : ClsPaginas
}
}
protected void LnkDownExcelSua_Click(object sender, EventArgs e)
{
}
protected void LnkUpSuamodal_Click(object sender, EventArgs e)
{
TxtArchivoSua.Text = "";
GVProcesarSUA.DataSource = null;
GVProcesarSUA.DataBind();
RegistraScript("$('#DmodalCompareSua').modal();shownew();");
UpArchivoSua.Update();
}
protected void LnkUpSuaFile_Click(object sender, EventArgs e)
{
string fileurl = "";
GVProcesarSUA.DataSource = null;
Files archivos = TxtArchivoSua.getfiles();
if (archivos.Archivos.Count > 0)
{
fileurl = archivos.Archivos[0].FileUrl;
string SuaFiletext = System.IO.File.ReadAllText(fileurl, Encoding.GetEncoding("iso-8859-1"));
using (ClsNominas ObjPersonal = new ClsNominas())
{
if (ObjPersonal.ProcesarSUA(SuaFiletext, UsuarioActual.CveEmpresa))
{
if (ObjPersonal.DTSetResultados.Tables.Count > 4)
{
DateTime dateperiodo;
DateTime.TryParseExact(string.Format("{0}01", ObjPersonal.DTSetResultados.Tables[1].Rows[0]["Periodo"]), "yyyyMMdd", new System.Globalization.CultureInfo("es-MX"), System.Globalization.DateTimeStyles.None, out dateperiodo);
LtlPeriodo.Text = dateperiodo.Date.ToString("MMMM yyyy", new System.Globalization.CultureInfo("es-MX"));
//DtSuaProcesado = ObjPersonal.DTSetResultados.Tables[3];
GVProcesarSUA.DataSource = ObjPersonal.DTSetResultados.Tables[3];
}
}
}
}
GVProcesarSUA.DataBind();
TxtArchivoSua.Text = "";
//RegistraScript("showResult();");
RegistraScript("$('#DmodalCompareSua').modal('hide');shownew();");
Alert("El archivo se a procesado Correctamente");
LnkCalcular_Click(null,null);
UpArchivoSua.Update();
}
protected void GVProcesarSUA_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowIndex == 0)
{
e.Row.CssClass = "Totales";
}
string SalarioSUA = string.Format("{0:N2}", e.Row.DataKey("SalarioSUA").ToDecimal());
string SalarioSIG = string.Format("{0:N2}", e.Row.DataKey("SalarioSIG").ToDecimal());
int celda = 1;
if (Math.Abs(SalarioSUA.ToDecimal() - SalarioSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 4;
string CuotaExcedenteSUA = string.Format("{0:N2}", e.Row.DataKey("CuotaExcedenteSUA").ToDecimal());
string CuotaExcedenteSIG = string.Format("{0:N2}", e.Row.DataKey("CuotaExcedenteSIG").ToDecimal());
if (Math.Abs(CuotaExcedenteSUA.ToDecimal() - CuotaExcedenteSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string PrestacionesDineroSUA = string.Format("{0:N2}", e.Row.DataKey("PrestacionesDineroSUA").ToDecimal());
string PrestacionesSIG = string.Format("{0:N2}", e.Row.DataKey("PrestacionesSIG").ToDecimal());
if (Math.Abs(PrestacionesDineroSUA.ToDecimal() - PrestacionesSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string GastosMedPenSUA = string.Format("{0:N2}", e.Row.DataKey("GastosMedPenSUA").ToDecimal());
string GastosMedicosSIG = string.Format("{0:N2}", e.Row.DataKey("GastosMedicosSIG").ToDecimal());
if (Math.Abs(GastosMedPenSUA.ToDecimal() - GastosMedicosSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string InvalidezyVidaSUA = string.Format("{0:N2}", e.Row.DataKey("InvalidezyVidaSUA").ToDecimal());
string InvalidezyVidaSIG = string.Format("{0:N2}", e.Row.DataKey("InvalidezyVidaSIG").ToDecimal());
if (Math.Abs(InvalidezyVidaSUA.ToDecimal() - InvalidezyVidaSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string CesantiayVejezObreraSUA = string.Format("{0:N2}", e.Row.DataKey("CesantiayVejezObreraSUA").ToDecimal());
string CesantiayVejezObreraSIG = string.Format("{0:N2}", e.Row.DataKey("CesantiayVejezObreraSIG").ToDecimal());
if (Math.Abs(CesantiayVejezObreraSUA.ToDecimal() - CesantiayVejezObreraSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string CuotaFijaSUA = string.Format("{0:N2}", e.Row.DataKey("CuotaFijaSUA").ToDecimal());
string CuotaFijaSIG = string.Format("{0:N2}", e.Row.DataKey("CuotaFijaSIG").ToDecimal());
if (Math.Abs(CuotaFijaSUA.ToDecimal() - CuotaFijaSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string RiesgosdeTrabajoSUA = string.Format("{0:N2}", e.Row.DataKey("RiesgosdeTrabajoSUA").ToDecimal());
string RiesgoTrabajoSIG = string.Format("{0:N2}", e.Row.DataKey("RiesgoTrabajoSIG").ToDecimal());
if (Math.Abs(RiesgosdeTrabajoSUA.ToDecimal() - RiesgoTrabajoSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string GuarderiaSUA = string.Format("{0:N2}", e.Row.DataKey("GuarderiaSUA").ToDecimal());
string GuarderiaSIG = string.Format("{0:N2}", e.Row.DataKey("GuarderiaSIG").ToDecimal());
if (Math.Abs(GuarderiaSUA.ToDecimal() - GuarderiaSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string RetiroSUA = string.Format("{0:N2}", e.Row.DataKey("RetiroSUA").ToDecimal());
string RetiroSIG = string.Format("{0:N2}", e.Row.DataKey("RetiroSIG").ToDecimal());
if (Math.Abs(RetiroSUA.ToDecimal() - RetiroSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
celda = celda + 2;
string CesantiayVejezPatronalSUA = string.Format("{0:N2}", e.Row.DataKey("CesantiayVejezPatronalSUA").ToDecimal());
string CesantiayVejezPatronalSIG = string.Format("{0:N2}", e.Row.DataKey("CesantiayVejezPatronalSIG").ToDecimal());
if (Math.Abs(CesantiayVejezPatronalSUA.ToDecimal() - CesantiayVejezPatronalSIG.ToDecimal()) > 1)
{
e.Row.Cells[celda].CssClass = "cellFail";
e.Row.Cells[celda + 1].CssClass = "cellFail";
}
}
}
protected void LnkCalcular_Click(object sender, EventArgs e)
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), TxtFechaPago.Text))
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), TxtFechaPago.Text,DdlRegistroPatronal.SelectedValue.ToEntero()))
{
GVCalculosSBC.DataSource = objnom.DTSetResultados.Tables[0];
GVCFija.DataSource = objnom.DTSetResultados.Tables[0];
@@ -92,7 +250,7 @@ public partial class RH_CalculoSBC : ClsPaginas
double SalarioDiarioSSNuevo = Math.Round(item.DataKey("SalarioDiarioSSNuevo").ToDouble(), 2);
double SalarioDiarioSS = Math.Round(item.DataKey("SalarioDiarioSS").ToDouble(), 2);
string RegistroPatronal = item.DataKey("RegistroPatronal");
if(oldRegistroPatronal != "-1" && oldRegistroPatronal != RegistroPatronal)
if(oldRegistroPatronal != "-1" && oldRegistroPatronal != RegistroPatronal )
{
MovtosmodSalario = string.Format("{0}{1}{2}", MovtosmodSalario, concater,
$"************* 00{(contador < 1000 ? "0" : "")}{(contador < 100 ? "0" : "")}{(contador < 10 ? "0" : "")}{contador} 00001 9");
@@ -103,7 +261,7 @@ public partial class RH_CalculoSBC : ClsPaginas
concater = "";
contador = 0;
}
if (SalarioDiarioSSNuevo != SalarioDiarioSS)
if (SalarioDiarioSSNuevo != SalarioDiarioSS || item.FCCheckBox("chkCon").Checked)
{
MovtosmodSalario = string.Format("{0}{1}{2}", MovtosmodSalario, concater, item.DataKey("Movtotxt"));
concater = "\\r\\n";
@@ -249,18 +407,18 @@ public partial class RH_CalculoSBC : ClsPaginas
//libro.Range(3, 2, 3, 6).Merge().Value = $"del {fechai:dd/MM/yyyy} al {fechaf:dd/MM/yyyy}";
libro.Range(2, 7, 2, 9).Merge().Value = $"Fecha:{DateTime.Now:dd/MM/yyyy}";
libro.Range(3, 7, 3, 9).Merge().Value = $"Hora:{DateTime.Now:HH:mm}";
libro.Range(5, 8, 5, 11).Merge().Value = "Actual";
libro.Range(5, 12, 5, 14).Merge().Value = "Nuevo";
libro.Range(5, 8, 5, 12).Merge().Value = "Actual";
libro.Range(5, 13, 5, 15).Merge().Value = "Nuevo";
libro.Range(5, 1, 6, 14).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(5, 1, 6, 13).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
libro.Range(5, 1, 5, 13).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.None;
libro.Range(5, 1, 6, 16).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
libro.Range(5, 1, 5, 16).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.None;
libro.Range(5, 8, 6, 11).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(128, 100, 162));
libro.Range(5, 8, 6, 11).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(5, 12, 6, 14).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(136, 214, 205));
libro.Range(5, 12, 6, 14).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(5, 8, 6, 12).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(128, 100, 162));
libro.Range(5, 8, 6, 12).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(5, 13, 6, 15).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(136, 214, 205));
libro.Range(5, 13, 6, 15).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(7, 8, 7 + dt.Rows.Count, 12).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Right;

View File

@@ -316,10 +316,6 @@
<asp:RegularExpressionValidator ID="REVCorreo" runat="server" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" CssClass="help-block errorimput" ControlToValidate="TxtCorreo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Correo - Email''</b> no es válido, por favor ingrése uno correcto." ValidationGroup="GrpGuardar"></asp:RegularExpressionValidator>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtMailrecibonomina" runat="server" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtMailrecibonomina" Text="Mail recibo nómina:"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright" style="display: none">

View File

@@ -578,6 +578,8 @@