This commit is contained in:
@@ -134,7 +134,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
|
||||
set { ViewState["PermisoEmitir"] = value; }
|
||||
}
|
||||
|
||||
|
||||
protected int CveTipoTrabajador
|
||||
{
|
||||
get
|
||||
@@ -247,9 +247,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
LnkCargaNetos.Visible = (UsuarioActual.CveRol == 1);
|
||||
using (ClsRH objrh = new ClsRH())
|
||||
{
|
||||
if(objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
|
||||
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
|
||||
{
|
||||
DataTable dt = objrh.DtResultados;
|
||||
DataRow drow = dt.NewRow();
|
||||
@@ -259,13 +260,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
dt.AcceptChanges();
|
||||
DdlTipoTrabajador.DataSource = dt;
|
||||
DdlTipoTrabajador.DataBind();
|
||||
DdlTipoTrabajador.SelectedValueExist( "-1");
|
||||
DdlTipoTrabajador.SelectedValueExist("-1");
|
||||
}
|
||||
}
|
||||
if (UsuarioActual.CveUsuario == 100)
|
||||
{
|
||||
Alert("recuerda que solo la empresa (119) tiene activado el timbrado 4.0", TipoMensaje.ToastAdventencia);
|
||||
}
|
||||
if (UsuarioActual.CveUsuario == 100)
|
||||
{
|
||||
Alert("recuerda que solo la empresa (119) tiene activado el timbrado 4.0", TipoMensaje.ToastAdventencia);
|
||||
}
|
||||
//CreaObjetoEmpresa(UsuarioActual);
|
||||
DataTable dtperinc = null;
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
@@ -1311,9 +1312,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
{
|
||||
LogicNominas lognom = new LogicNominas();
|
||||
|
||||
string Msg = "";
|
||||
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
|
||||
|
||||
string Msg = "";
|
||||
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
|
||||
|
||||
if (Msg != null && Msg.Length > 0)
|
||||
{
|
||||
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
|
||||
@@ -1498,8 +1499,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
UsuarioActual = this.UsuarioActual;
|
||||
}*/
|
||||
string Msg = "";// lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, (UsuarioActual.CveUsuario == 100 ? 4 : 4));
|
||||
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
|
||||
|
||||
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
|
||||
|
||||
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
|
||||
@@ -1742,6 +1743,178 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
|
||||
UpCargarNomina.Update();
|
||||
}
|
||||
protected void LnkCargaNetos_Click(object sender, EventArgs e)
|
||||
{
|
||||
RegistraScript("$('#DmodalNetos').modal();");
|
||||
|
||||
}
|
||||
protected void LnkFormatoNetos_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
StringBuilder str = new StringBuilder("0");
|
||||
bool continuar = false;
|
||||
using (ClsNominas ObjNomina = new ClsNominas())
|
||||
{
|
||||
if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
GVConceptosPlantilla.DataSource = ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
|
||||
GVConceptosPlantilla.DataBind();
|
||||
foreach (DataRow gvrow in ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveSistema =-1").Rows)
|
||||
{
|
||||
if (gvrow["CveConcepto"].ToEntero() > 0 )
|
||||
{
|
||||
str.AppendFormat(",{0}", gvrow["CveConcepto"]);
|
||||
continuar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
string msgerror = "Debe seleccionar los conceptos a cargar.";
|
||||
if (dtConceptos == null || dtConceptos.Columns.Count <= 2)
|
||||
{
|
||||
msgerror = "Debe cargar el periodo antes de descargar la plantilla";
|
||||
continuar = false;
|
||||
}
|
||||
if (continuar)
|
||||
{
|
||||
|
||||
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||
|
||||
var libro = wb.AddWorksheet("Nomina");
|
||||
int column = 1;
|
||||
libro.Row(1).Hide();
|
||||
libro.Cell(1, column).Value = "Codigo";
|
||||
libro.Cell(3, column).Value = "Codigo";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
libro.Cell(3, column).Value = "Empleado";
|
||||
libro.Column(column).Width = 35;
|
||||
DataTable dtcP = dtConceptos.FiltraParametros(string.Format("Tipo = 'P' AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||
DataTable dtcD = dtConceptos.FiltraParametros(string.Format("Tipo = 'D' AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||
DataTable dtcO = dtConceptos.FiltraParametros(string.Format("Tipo = 'O' AND EsPadre = 1 AND CveConcepto in({0})", str));
|
||||
int iniciotipe = column;
|
||||
foreach (DataRow row in dtcP.Rows)
|
||||
{
|
||||
column++;
|
||||
libro.Cell(1, column).Value = row["CveConcepto"].ToString();
|
||||
libro.Cell(FilaConceptos, column).Value = "S";
|
||||
libro.Cell(3, column).Value = row["Concepto"].ToString();
|
||||
libro.Cell(4, column).Value = row["Codigo"].ToString();
|
||||
libro.Column(column).Width = 15;
|
||||
}
|
||||
if (iniciotipe < column)
|
||||
{
|
||||
libro.Range(2, iniciotipe + 1, 2, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||
libro.Range(2, iniciotipe + 1, 2, column).Merge().Value = "-";
|
||||
}
|
||||
iniciotipe = column;
|
||||
foreach (DataRow row in dtcD.Rows)
|
||||
{
|
||||
column++;
|
||||
libro.Cell(1, column).Value = row["CveConcepto"].ToString();
|
||||
libro.Cell(FilaConceptos, column).Value = "S";
|
||||
libro.Cell(3, column).Value = row["Concepto"].ToString();
|
||||
libro.Cell(4, column).Value = row["Codigo"].ToString();
|
||||
libro.Column(column).Width = 15;
|
||||
}
|
||||
if (iniciotipe < column)
|
||||
{
|
||||
libro.Range(2, iniciotipe + 1, 2, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||
libro.Range(2, iniciotipe + 1, 2, column).Merge().Value = "-";
|
||||
}
|
||||
iniciotipe = column;
|
||||
foreach (DataRow row in dtcO.Rows)
|
||||
{
|
||||
column++;
|
||||
libro.Cell(1, column).Value = row["CveConcepto"].ToString();
|
||||
libro.Cell(FilaConceptos, column).Value = "S";
|
||||
libro.Cell(3, column).Value = row["Concepto"].ToString();
|
||||
libro.Cell(4, column).Value = row["Codigo"].ToString();
|
||||
libro.Column(column).Width = 15;
|
||||
}
|
||||
if (iniciotipe < column)
|
||||
{
|
||||
libro.Range(2, iniciotipe + 1, 2, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
|
||||
libro.Range(2, iniciotipe + 1, 2, column).Merge().Value = "-";
|
||||
}
|
||||
libro.Range(2, 1, 2, 2).Merge().Value = "";
|
||||
libro.Range(4, 1, 4, 2).Merge().Value = "";
|
||||
libro.Range(2, 1, 2, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Range(4, 1, 4, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(3).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(4).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(FilaConceptos).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Row(4).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
//libro.Row(FilaConceptos).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
libro.Cell(FilaConceptos, 1).Value = "'-------";
|
||||
libro.Cell(FilaConceptos, 1).Style.Font.FontColor = ClosedXML.Excel.XLColor.FromArgb(177, 160, 199);
|
||||
libro.Cell(FilaConceptos, 2).Value = "¿Modificar SI(S)/NO(N)?";
|
||||
libro.Cell(FilaConceptos, 1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||
libro.Row(FilaConceptos).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
|
||||
|
||||
int Fila = 5;
|
||||
foreach (DataRow erow in dtempleados.FiltraParametros("CvePersonal>0 AND NomAutorizado=0").Rows)
|
||||
{
|
||||
Fila++;
|
||||
column = 1;
|
||||
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
foreach (DataRow row in dtcP.Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
}
|
||||
foreach (DataRow row in dtcD.Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
}
|
||||
foreach (DataRow row in dtcO.Rows)
|
||||
{
|
||||
column++;
|
||||
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
|
||||
libro.Cell(Fila, column).Value = erow[Concepto];
|
||||
}
|
||||
}
|
||||
System.IO.Stream fs = new System.IO.MemoryStream();
|
||||
wb.SaveAs(fs);
|
||||
fs.Position = 0;
|
||||
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
|
||||
using (System.IO.Stream input = fs)
|
||||
|
||||
{
|
||||
input.CopyTo(memoryStream);
|
||||
}
|
||||
memoryStream.Position = 0;
|
||||
|
||||
Response.Clear();
|
||||
Response.Buffer = true;
|
||||
|
||||
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
||||
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "Plantilla conceptos nómina "));
|
||||
Response.BinaryWrite(memoryStream.ToArray());
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert(msgerror, TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
}
|
||||
protected void LnkFormato_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
@@ -1909,6 +2082,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
int chkImporte = 1;
|
||||
int chkImporteGravado = 0;
|
||||
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
|
||||
if(((LinkButton)sender).ID == LnkCargarNominaNetos.ID)
|
||||
{
|
||||
Filesgral = TxtCargarNetos.getfiles().Archivos;
|
||||
}
|
||||
|
||||
bool continuar = Filesgral.Count > 0;
|
||||
string stringError = "";
|
||||
Archivo fileItem = continuar ? Filesgral[0] : null;
|
||||
@@ -1924,6 +2102,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
stringError = "No se inserto un archivo de tipo Excel";
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
stringError = "favor de ingresar el archivo y esperar a que cargue";
|
||||
|
||||
}
|
||||
if (!(CvePeriodoSeleccionado >= 0))
|
||||
{
|
||||
@@ -2105,6 +2288,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
else
|
||||
{
|
||||
Alert("La información se a actualizado satisfactoriamente");
|
||||
if (((LinkButton)sender).ID == LnkCargarNominaNetos.ID || ChkRecalcularNomina.Checked)
|
||||
{
|
||||
cargaDatos(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6423,7 +6610,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
ObjPersonal.IniciaTransacSQL();
|
||||
bool OcurrioError = false;
|
||||
|
||||
if (!ObjPersonal.AddAsistenciaMasiva2(DdlPeriodoCM.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,-1))
|
||||
if (!ObjPersonal.AddAsistenciaMasiva2(DdlPeriodoCM.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1))
|
||||
OcurrioError = true;
|
||||
|
||||
if (OcurrioError)
|
||||
@@ -8267,7 +8454,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
for (int i = 2; i < DTEXcel.Columns.Count; i++)
|
||||
{
|
||||
DateTime FechaAsis = DTEXcel.Columns[i].ColumnName.ToDateTime();
|
||||
if( FechaAsis < fechai || FechaAsis > fechaf)
|
||||
if (FechaAsis < fechai || FechaAsis > fechaf)
|
||||
{
|
||||
continuar = false;
|
||||
stringError = "Las fechas no concuerdadn con el periodo seleccionado";
|
||||
|
||||
Reference in New Issue
Block a user