This commit is contained in:
2022-11-16 16:06:02 -07:00
14 changed files with 1436 additions and 91 deletions

View File

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

View File

@@ -19,7 +19,7 @@ Public Class LogicNominas
sw.Start() sw.Start()
End If 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 cfdi IsNot Nothing AndAlso cfdi.Mensaje = "" Then
If Not cfdi.Timbrado Then If Not cfdi.Timbrado Then
Dim ObjTimbrado As New Timbrado Dim ObjTimbrado As New Timbrado
@@ -81,7 +81,7 @@ Public Class LogicNominas
Return Retorno Return Retorno
End Function End Function
Dim hasfiniquito As Boolean 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 Dim continuar As Boolean = True
hasfiniquito = False hasfiniquito = False
Dim CvePersonal As Integer = -1 Dim CvePersonal As Integer = -1
@@ -439,7 +439,7 @@ Public Class LogicNominas
cfdi.Comprobante.TipoComprobante = "N" cfdi.Comprobante.TipoComprobante = "N"
cfdi.Comprobante.TipoDocto = "Egs" cfdi.Comprobante.TipoDocto = "Egs"
cfdi.Comprobante.MetodoPago = "PUE" 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.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.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL
cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta

View File

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

Binary file not shown.

View File

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

View File

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

View File

@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Web; using System.Web;
@@ -75,11 +76,33 @@ public partial class Nomina_Finiquito : ClsPaginas
set { ViewState["dtempleados"] = value; } 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 #endregion
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if (!Page.IsPostBack) if (!Page.IsPostBack)
{ {
CreaObjetoEmpresa(UsuarioActual);
GvFinOrdinario.DataSource = new DataTable(); GvFinOrdinario.DataSource = new DataTable();
GVFinIndemnizacion.DataSource = new DataTable(); GVFinIndemnizacion.DataSource = new DataTable();
GvFinOrdinario.DataBind(); 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) protected void LnkTimbrar_Click(object sender, EventArgs e)
{ {
int CvePeriodo = CvePeriodoFiniquito; int CvePeriodo = CvePeriodoFiniquito;
@@ -539,7 +665,16 @@ public partial class Nomina_Finiquito : ClsPaginas
int CveNomina = dtr.Rows[0]["CveNomina"].ToString().ToEntero(); int CveNomina = dtr.Rows[0]["CveNomina"].ToString().ToEntero();
LogicNominas lognom = new LogicNominas(); 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) if (Msg != null && Msg.Length > 0)
{ Alert(Msg, TipoMensaje.MsgAdvertencia); } { Alert(Msg, TipoMensaje.MsgAdvertencia); }
else else
@@ -547,7 +682,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsNominas ObjPeriodo = new ClsNominas()) 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); loadsobrerecibo(ObjPeriodo);
} }
//ObjPeriodo.Dispose(); //ObjPeriodo.Dispose();

View File

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

View File

@@ -97,11 +97,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
get get
{ {
if (ViewState["dtempleados"] == null) { return null; } if (ViewState["DtSuaProcesado"] == null) { return null; }
else { return (DataTable)ViewState["dtempleados"]; } else { return (DataTable)ViewState["DtSuaProcesado"]; }
} }
set { ViewState["dtempleados"] = value; } set { ViewState["DtSuaProcesado"] = value; }
} }
protected bool PermisoCancelarEmitido protected bool PermisoCancelarEmitido
@@ -206,12 +206,37 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["FiltAgrupador"] = value; } 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 #endregion
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if (!IsPostBack) if (!IsPostBack)
{ {
CreaObjetoEmpresa(UsuarioActual);
DataTable dtperinc = null; DataTable dtperinc = null;
using (ClsNominas objnom = new ClsNominas()) using (ClsNominas objnom = new ClsNominas())
{ {
@@ -1185,7 +1210,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
Alert("se reenviaron los recibos timbrados"); Alert("se reenviaron los recibos timbrados");
} }
public string msgCorregidoSat(string msg, int CvePersonal, string RFC, string CURP) public string msgCorregidoSat(string msg, int CvePersonal, string RFC, string CURP)
{ {
string retorno = msg; string retorno = msg;
@@ -1255,7 +1280,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
LogicNominas lognom = new LogicNominas(); 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) if (Msg != null && Msg.Length > 0)
{ {
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP); Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
@@ -1311,7 +1344,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
UpDatos.Update(); UpDatos.Update();
} }
private void CreaObjetoEmpresa(ref Usuario UsuarioActual) private void CreaObjetoEmpresa(Usuario UsuarioActual)
{ {
ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas(); ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1")) 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; System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
HybridDictionary EmpresasFuncionalidades = new HybridDictionary(); EmpresasFuncionalidades = new HybridDictionary();
EmpresasFuncionalidadesnoV4 = new HybridDictionary();
foreach (System.Data.DataRow Row in dttmp.Rows) 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()); EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades); }
//ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
} }
UsuarioActual.Empresa = ObjEmpresa.Empresa; UsuarioActual.Empresa = ObjEmpresa.Empresa;
@@ -1427,7 +1467,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
UsuarioActual = this.UsuarioActual; 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) 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); } { Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:<br/>{0}", Msg), TipoMensaje.MsgAdvertencia); }
else else
@@ -2562,12 +2610,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
DdlFormapagovacaciones_SelectedIndexChanged(null, null); DdlFormapagovacaciones_SelectedIndexChanged(null, null);
ChkVacPrimaVacacional.Checked = true; ChkVacPrimaVacacional.Checked = true;
ChkVacCobrarIMSS.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"); DataRow drow = objnom.DtResultados.FiltroPrimero("Selected =1");
if(drow != null) if (drow != null)
{ {
DdlVacPeriodo.SelectedValueExist(drow["Ejercicio"].ToString()); DdlVacPeriodo.SelectedValueExist(drow["Ejercicio"].ToString());
@@ -7364,7 +7412,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
TxtSRINCfolio.Text = ""; TxtSRINCfolio.Text = "";
TxtSRINCfechaInicio.Text = ""; TxtSRINCfechaInicio.Text = "";
TxtSRINCdiasAutorizados.Text = ""; TxtSRINCdiasAutorizados.Text = "";
TxtDiasPagoEmpresa.Text = UsuarioActual.CveEmpresa ==141?"3":""; TxtDiasPagoEmpresa.Text = UsuarioActual.CveEmpresa == 141 ? "3" : "";
DdlSRINCcveTipodeIncidencia.SelectedValue = "-1"; DdlSRINCcveTipodeIncidencia.SelectedValue = "-1";
DdlSRINCcveRamoSeguro.SelectedValue = "-1"; DdlSRINCcveRamoSeguro.SelectedValue = "-1";
DdlSRINCcveTipoRiesgo.SelectedValue = "-1"; DdlSRINCcveTipoRiesgo.SelectedValue = "-1";
@@ -8070,7 +8118,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
using (ClsNominas nom = new ClsNominas()) 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(); fechai = nom.DtResultados.Rows[0]["FechaInicio"].ToString().ToDateTime();
fechaf = nom.DtResultados.Rows[0]["FechaFin"].ToString().ToDateTime(); fechaf = nom.DtResultados.Rows[0]["FechaFin"].ToString().ToDateTime();
@@ -8124,10 +8172,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
int chkImporteValor = 1; //int chkImporteValor = 1;
int chkImporte = 1; //int chkImporte = 1;
int chkImporteGravado = 0; //int chkImporteGravado = 0;
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos; DateTime fechai = TxtRIFechaInicio.Text.ToDateTime();
DateTime fechaf = TxtRIFechaFin.Text.ToDateTime();
List<Archivo> Filesgral = TxtAsistenciaTabular.getfiles().Archivos;
bool continuar = Filesgral.Count > 0; bool continuar = Filesgral.Count > 0;
string stringError = ""; string stringError = "";
Archivo fileItem = continuar ? Filesgral[0] : null; Archivo fileItem = continuar ? Filesgral[0] : null;
@@ -8156,7 +8206,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
try 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'"); DTEXcel = dtxz.FiltraParametros(" LEN(Codigo)>0 AND Codigo <> 'Codigo'");
} }
@@ -8174,32 +8224,96 @@ public partial class Nomina_Nomina2 : ClsPaginas
continuar = false; continuar = false;
stringError = "No se encontraron cambios"; 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))
{ {
/* fechai = nom.DtResultados.Rows[0]["FechaInicio"].ToString().ToDateTime();
// fechaf = nom.DtResultados.Rows[0]["FechaFin"].ToString().ToDateTime();
string conceptocodigo = drowx[i].ToString(); string CveConcepto; }
DataRow dconr = dtConceptos.FiltroPrimero(string.Format("codigo='{0}'", conceptocodigo)); }
if (dconr != null)
{ for (int i = 2; i < DTEXcel.Columns.Count; i++)
CveConcepto = dconr["CveConcepto"].ToString(); {
dtxz.Columns[i].ColumnName = CveConcepto; DateTime FechaAsis = DTEXcel.Columns[i].ColumnName.ToDateTime();
} if( FechaAsis < fechai || FechaAsis > fechaf)
else {
{ continuar = false;
continuar = false; stringError = "Las fechas no concuerdadn con el periodo seleccionado";
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();
} }
} }
} }
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) 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)); 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>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <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; 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; background-color: #88d6cd !important;
} }
</style> </style>
@@ -23,7 +23,9 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<li> <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> <asp:LinkButton ID="LnkDescargar" OnClick="LnkDescargar_Click" runat="server"><i class="fa fa-ad-excel"></i> Descargar</asp:LinkButton>
</li> </li>
<li> <li>
@@ -32,7 +34,7 @@
<li> <li>
<asp:LinkButton ID="Lnkmostrararchivos" OnClick="Lnkmostrararchivos_Click" runat="server"><i class="fa fa-save"></i> Mostrar archivos</asp:LinkButton> <asp:LinkButton ID="Lnkmostrararchivos" OnClick="Lnkmostrararchivos_Click" runat="server"><i class="fa fa-save"></i> Mostrar archivos</asp:LinkButton>
</li> </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> <asp:LinkButton ID="LnkDownArchivosSua" OnClick="LnkDownArchivosSua_Click" runat="server"><i class="fa fa-download"></i> Descargar Archivos IDSE</asp:LinkButton>
</li> </li>
</ContentTemplate> </ContentTemplate>
@@ -55,7 +57,7 @@
<div class="titlefiltros caption"> <div class="titlefiltros caption">
<div class="row"> <div class="row">
<asp:Label ID="Label1" runat="server" CssClass="col-md-1 ">Tipo :</asp:Label> <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: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="1" Text="Cambio en salario variable" Selected="True"></asp:ListItem>
<asp:ListItem Value="2" Text="modificación de salario"></asp:ListItem> <asp:ListItem Value="2" Text="modificación de salario"></asp:ListItem>
@@ -63,7 +65,7 @@
</div> </div>
<asp:Label ID="LblFechaPago" runat="server" CssClass="col-md-1 ">Fecha :</asp:Label> <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;"> <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> <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 "> <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> <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> <ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </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" /> <asp:LinkButton ID="LnkCalcular" OnClick="LnkCalcular_Click" runat="server" Text="Calcular" Visible="true" class="btn btn-primary" />
</div> </div>
</div> </div>
@@ -86,18 +95,23 @@
</div> </div>
</div> </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:TabContainer ID="Tab" runat="server" Width="100%">
<ajax:TabPanel ID="TabSBC" runat="server" HeaderText="Salario base cotización"> <ajax:TabPanel ID="TabSBC" runat="server" HeaderText="Salario base cotización">
<ContentTemplate> <ContentTemplate>
<table id="tableheader" style="display: none"> <table id="tableheader" style="display: none">
<tr> <tr>
<th colspan="7"></th> <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 colspan="3" style="background-color: #88d6cd !important;">Nuevo</th>
<th></th> <th></th>
<%--<th></th>--%>
</tr> </tr>
</table> </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"> 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> <Columns>
<asp:TemplateField HeaderText="Código"> <asp:TemplateField HeaderText="Código">
@@ -112,13 +126,13 @@
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Sucursal"> <asp:TemplateField HeaderText="Sucursal">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubProyecto")%>'> </asp:Label> <asp:Label runat="server" Text='<%# Eval("SubProyecto")%>'> </asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Registro Patronal"> <asp:TemplateField HeaderText="Registro Patronal">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("RegistroPatronal")%>'> </asp:Label> <asp:Label runat="server" Text='<%# Eval("RegistroPatronal")%>'> </asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField> <asp:TemplateField>
@@ -179,6 +193,15 @@
<asp:Label ID="lblsalarioDiarioSS" runat="server" Text='<%# Eval("SalarioDiarioSS","{0:N2}")%>'> </asp:Label> <asp:Label ID="lblsalarioDiarioSS" runat="server" Text='<%# Eval("SalarioDiarioSS","{0:N2}")%>'> </asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </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"> <asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate> <HeaderTemplate>
@@ -186,7 +209,7 @@
integrado integrado
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <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> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right"> <asp:TemplateField ItemStyle-HorizontalAlign="Right">
@@ -196,7 +219,7 @@
variable variable
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <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> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right"> <asp:TemplateField ItemStyle-HorizontalAlign="Right">
@@ -206,7 +229,7 @@
cotización cotización
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <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> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="center"> <asp:TemplateField ItemStyle-HorizontalAlign="center">
@@ -214,7 +237,15 @@
Modificación Modificación
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <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> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>
@@ -224,7 +255,7 @@
<ajax:TabPanel ID="TabParteFija" runat="server" HeaderText="Parte fija"> <ajax:TabPanel ID="TabParteFija" runat="server" HeaderText="Parte fija">
<ContentTemplate> <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"> DataKeyNames="CvePersonal,Codigo,Nombre,FechaInicio,Antiguedad,Incapacitado,NumeroSS,CveTipodeSalario,TipodeSalario,SalarioDiario,SDI,SalarioVariable,SalarioDiarioSS,PorPrimaVacacional,NumDiasAguinaldo,Acumulado,diasBimestre,Faltas,Incapaciadad,diaslaborados">
<Columns> <Columns>
<asp:TemplateField HeaderText="Código"> <asp:TemplateField HeaderText="Código">
@@ -331,7 +362,7 @@
<ajax:TabPanel ID="TabParteVariable" runat="server" HeaderText="Parte variable"> <ajax:TabPanel ID="TabParteVariable" runat="server" HeaderText="Parte variable">
<ContentTemplate> <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"> DataKeyNames="CvePersonal,Codigo,Nombre,FechaInicio,Antiguedad,Incapacitado,NumeroSS,CveTipodeSalario,TipodeSalario,SalarioDiario,SDI,SalarioVariable,SalarioDiarioSS,PorPrimaVacacional,NumDiasAguinaldo,Acumulado,diasBimestre,Faltas,Incapaciadad,diaslaborados">
<Columns> <Columns>
<asp:TemplateField HeaderText="Código"> <asp:TemplateField HeaderText="Código">
@@ -344,9 +375,10 @@
<asp:Label ID="lblnombre" runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label> <asp:Label ID="lblnombre" runat="server" Text='<%# Eval("Nombre")%>'> </asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField > <asp:TemplateField>
<HeaderTemplate> <HeaderTemplate>
Fecha alta <br /> Fecha alta
<br />
o reingreso o reingreso
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
@@ -373,18 +405,20 @@
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right"> <asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate> <HeaderTemplate>
Percepciones <br /> Percepciones
<br />
variables variables
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblacumulado" runat="server" Text='<%# Eval("Acumulado","{0:N2}")%>'> </asp:Label> <asp:Label ID="lblacumulado" runat="server" Text='<%# Eval("Acumulado","{0:N2}")%>'> </asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField > <asp:TemplateField>
<HeaderTemplate> <HeaderTemplate>
Días <br /> Días
<br />
incapacidad incapacidad
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
@@ -417,7 +451,7 @@
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabDetalleParteVariable" runat="server" HeaderText="Detalle parte variable"> <ajax:TabPanel ID="TabDetalleParteVariable" runat="server" HeaderText="Detalle parte variable">
<ContentTemplate> <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> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
</ajax:TabContainer> </ajax:TabContainer>
@@ -580,7 +614,223 @@
</div> </div>
</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>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
@@ -600,6 +850,32 @@
document.body.removeChild(elem); 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> </script>
</asp:Content> </asp:Content>

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Text;
using System.Web; using System.Web;
using System.Web.UI; using System.Web.UI;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
@@ -23,6 +24,17 @@ public partial class RH_CalculoSBC : ClsPaginas
if (!IsPostBack) if (!IsPostBack)
{ {
TxtFechaPago.Text = String.Format("{0:01/MM/yyyy}", DateTime.Now); 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); //string rutarchivos = string.Format("{0}modificacionsalarios\\", UsuarioActual.Empresa.RutaArchivos);
//Alert(rutarchivos); //Alert(rutarchivos);
//ADSNetLibrary.SIGAPI.Services.Agropecuaria.IAgropecuariaService servicioAgro = new ADSNetLibrary.SIGAPI.Services.Agropecuaria.AgropecuariaService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString); //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) protected void LnkCalcular_Click(object sender, EventArgs e)
{ {
using (ClsNominas objnom = new ClsNominas()) 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]; GVCalculosSBC.DataSource = objnom.DTSetResultados.Tables[0];
GVCFija.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 SalarioDiarioSSNuevo = Math.Round(item.DataKey("SalarioDiarioSSNuevo").ToDouble(), 2);
double SalarioDiarioSS = Math.Round(item.DataKey("SalarioDiarioSS").ToDouble(), 2); double SalarioDiarioSS = Math.Round(item.DataKey("SalarioDiarioSS").ToDouble(), 2);
string RegistroPatronal = item.DataKey("RegistroPatronal"); string RegistroPatronal = item.DataKey("RegistroPatronal");
if(oldRegistroPatronal != "-1" && oldRegistroPatronal != RegistroPatronal) if(oldRegistroPatronal != "-1" && oldRegistroPatronal != RegistroPatronal )
{ {
MovtosmodSalario = string.Format("{0}{1}{2}", MovtosmodSalario, concater, MovtosmodSalario = string.Format("{0}{1}{2}", MovtosmodSalario, concater,
$"************* 00{(contador < 1000 ? "0" : "")}{(contador < 100 ? "0" : "")}{(contador < 10 ? "0" : "")}{contador} 00001 9"); $"************* 00{(contador < 1000 ? "0" : "")}{(contador < 100 ? "0" : "")}{(contador < 10 ? "0" : "")}{contador} 00001 9");
@@ -103,7 +261,7 @@ public partial class RH_CalculoSBC : ClsPaginas
concater = ""; concater = "";
contador = 0; contador = 0;
} }
if (SalarioDiarioSSNuevo != SalarioDiarioSS) if (SalarioDiarioSSNuevo != SalarioDiarioSS || item.FCCheckBox("chkCon").Checked)
{ {
MovtosmodSalario = string.Format("{0}{1}{2}", MovtosmodSalario, concater, item.DataKey("Movtotxt")); MovtosmodSalario = string.Format("{0}{1}{2}", MovtosmodSalario, concater, item.DataKey("Movtotxt"));
concater = "\\r\\n"; 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(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(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(3, 7, 3, 9).Merge().Value = $"Hora:{DateTime.Now:HH:mm}";
libro.Range(5, 8, 5, 11).Merge().Value = "Actual"; libro.Range(5, 8, 5, 12).Merge().Value = "Actual";
libro.Range(5, 12, 5, 14).Merge().Value = "Nuevo"; 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, 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, 6, 16).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, 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, 12).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, 8, 6, 12).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, 13, 6, 15).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, 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; libro.Range(7, 8, 7 + dt.Rows.Count, 12).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Right;

View File

@@ -381,7 +381,7 @@
<h4> <asp:Literal ID="Literal2" runat="server">Etiquetas</asp:Literal></h4> <h4> <asp:Literal ID="Literal2" runat="server">Etiquetas</asp:Literal></h4>
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body ADScroller ADScroller-body" style="max-height:80vh">
<div class="col-md-6 table-responsive"> <div class="col-md-6 table-responsive">
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>

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> <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> <i></i>
</div> </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"> <div class="form-group form-md-line-input input-iconright" style="display: none">

588
vwd.webinfo Normal file
View File

@@ -0,0 +1,588 @@
<?xml version="1.0"?>
<!--
Visual Studio global web project settings.
-->
<VisualWebDeveloper>
<StartupServices>
<Service ID="{C0C07587-41A7-46C8-8FBD-3F9C8EBE2DDC}"/>
</StartupServices>
</VisualWebDeveloper>