carga masiva salarios
This commit is contained in:
@@ -6,10 +6,26 @@ using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using AjaxControlToolkit.HtmlEditor.ToolbarButtons;
|
||||
using Extensiones;
|
||||
using StackExchange.Redis;
|
||||
using Telerik.Web.UI.Widgets;
|
||||
using static Extensiones.ModExtensiones;
|
||||
using static Stimulsoft.Report.StiOptions.Export;
|
||||
|
||||
public partial class RH_CalculoSBC : ClsPaginas
|
||||
{
|
||||
|
||||
private DataTable dtsalario
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ViewState["dtsalario"] == null) { return null; }
|
||||
else { return (DataTable)ViewState["dtsalario"]; }
|
||||
}
|
||||
|
||||
set { ViewState["dtsalario"] = value; }
|
||||
}
|
||||
private DataTable dtDetalleParteVariable
|
||||
{
|
||||
get
|
||||
@@ -33,7 +49,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
else
|
||||
DdlRegistroPatronal.DataSource = null;
|
||||
|
||||
DdlRegistroPatronal.DataBind();
|
||||
DdlRegistroPatronal.DataBind();
|
||||
ObjRH.Dispose();
|
||||
//string rutarchivos = string.Format("{0}modificacionsalarios\\", UsuarioActual.Empresa.RutaArchivos);
|
||||
//Alert(rutarchivos);
|
||||
@@ -49,7 +65,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
protected void LnkDownExcelSua_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
protected void LnkUpSuamodal_Click(object sender, EventArgs e)
|
||||
protected void LnkUpSuamodal_Click(object sender, EventArgs e)
|
||||
{
|
||||
TxtArchivoSua.Text = "";
|
||||
GVProcesarSUA.DataSource = null;
|
||||
@@ -87,7 +103,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
//RegistraScript("showResult();");
|
||||
RegistraScript("$('#DmodalCompareSua').modal('hide');shownew();");
|
||||
Alert("El archivo se a procesado Correctamente");
|
||||
LnkCalcular_Click(null,null);
|
||||
LnkCalcular_Click(null, null);
|
||||
UpArchivoSua.Update();
|
||||
}
|
||||
|
||||
@@ -196,9 +212,10 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
{
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), TxtFechaPago.Text,DdlRegistroPatronal.SelectedValue.ToEntero()))
|
||||
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), TxtFechaPago.Text, DdlRegistroPatronal.SelectedValue.ToEntero()))
|
||||
{
|
||||
GVCalculosSBC.DataSource = objnom.DTSetResultados.Tables[0];
|
||||
dtsalario = objnom.DTSetResultados.Tables[0];
|
||||
GVCFija.DataSource = objnom.DTSetResultados.Tables[0];
|
||||
GVPV.DataSource = objnom.DTSetResultados.Tables[0];
|
||||
if (objnom.DTSetResultados.Tables.Count > 1)
|
||||
@@ -214,6 +231,160 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
GVPV.DataBind();
|
||||
}
|
||||
|
||||
protected void LnkModalCargaMasiva_Click(object sender, EventArgs e)
|
||||
{
|
||||
txtfechacargamasiva.Text = TxtFechaPago.Text;
|
||||
UpCargarm.Update();
|
||||
RegistraScript("$('#DmodalCargaMasiva').modal();");
|
||||
}
|
||||
protected void LnkFormatocMasiva_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool continuar = true;
|
||||
string msgerror = "";
|
||||
if (continuar)
|
||||
{
|
||||
|
||||
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
|
||||
|
||||
var libro = wb.AddWorksheet("Salario");
|
||||
int column = 1;
|
||||
libro.Cell(1, column).Value = "Codigo";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Empleado";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Salariodiario";
|
||||
//column++;
|
||||
//libro.Cell(1, column).Value = "SDI";
|
||||
column++;
|
||||
libro.Cell(1, column).Value = "Salariovariable";
|
||||
libro.Column(column).Width = 35;
|
||||
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
|
||||
|
||||
int Fila = 1;
|
||||
foreach (DataRow erow in dtsalario.Rows)
|
||||
{
|
||||
Fila++;
|
||||
column = 1;
|
||||
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["Nombre"];
|
||||
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SalarioDiario"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SDI"];
|
||||
column++;
|
||||
libro.Cell(Fila, column).Value = erow["SalarioVariable"];
|
||||
}
|
||||
|
||||
libro.Columns().AdjustToContents();
|
||||
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 Salario "));
|
||||
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 LnkProcesarArchvo_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataTable dttempsalario = null;
|
||||
using (ClsNominas objnom = new ClsNominas())
|
||||
{
|
||||
if (objnom.GetCalculoSBC(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero(), txtfechacargamasiva.Text, DdlRegistroPatronal.SelectedValue.ToEntero()))
|
||||
{
|
||||
dttempsalario = objnom.DTSetResultados.Tables[0];
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
|
||||
Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null;
|
||||
DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
|
||||
|
||||
StringBuilder str = new StringBuilder();
|
||||
bool rollback = false;
|
||||
using (ClsRH objpersonal = new ClsRH())
|
||||
{
|
||||
using (ClsNominas objNomina = new ClsNominas(objpersonal.IniciaTransacSQL()))
|
||||
{
|
||||
|
||||
foreach (DataRow row in DTEXcel.FiltraParametros("LEN(Codigo)>0 ").Rows)
|
||||
{
|
||||
string Codigo = row["Codigo"].ToString();
|
||||
int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero();
|
||||
decimal Salariodiario = row["Salariodiario"].ToString().ToDecimal();
|
||||
decimal SDI = 0;
|
||||
decimal Salariovariable = row["Salariovariable"].ToString().ToDecimal();
|
||||
decimal SalarioCotizacion = 0;
|
||||
int CveMetodoPago = 0;
|
||||
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;
|
||||
}
|
||||
else
|
||||
{
|
||||
CvePersonal = 0;
|
||||
str.AppendLine(string.Format("No se encontro el codigo {0}<br>", Codigo));
|
||||
}
|
||||
if (CvePersonal > 0)
|
||||
{
|
||||
DataRow drw = dttempsalario.FiltroPrimero(string.Format("CvePersonal={0}", CvePersonal));
|
||||
decimal factordeintegracion = drw["Factordeintegracion"].ToString().ToDecimal();
|
||||
SDI = Salariodiario * factordeintegracion;
|
||||
SalarioCotizacion = Salariovariable + SDI;
|
||||
if (objpersonal.UpdateSalarios(CvePersonal, txtfechacargamasiva.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
Salariodiario.ToString().ToDouble(), SDI.ToString().ToDouble(), SalarioCotizacion.ToString().ToDouble(), Salariodiario.ToString().ToDouble()))
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rollback)
|
||||
{
|
||||
objpersonal.RollBack();
|
||||
}
|
||||
else
|
||||
{
|
||||
objpersonal.Commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception) { }
|
||||
|
||||
RegistraScript("$('#ModalDoctos').modal('hide');");
|
||||
}
|
||||
protected void LnkDownArchivosSua_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -250,12 +421,12 @@ 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");
|
||||
|
||||
Script =string.Format("{0}SaveCsv(\"Movtos{3}_{2:ddMMMyyyy}.txt\", '{1}');", Script, MovtosmodSalario, TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy"), oldRegistroPatronal);
|
||||
Script = string.Format("{0}SaveCsv(\"Movtos{3}_{2:ddMMMyyyy}.txt\", '{1}');", Script, MovtosmodSalario, TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy"), oldRegistroPatronal);
|
||||
|
||||
MovtosmodSalario = "";
|
||||
concater = "";
|
||||
@@ -323,7 +494,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
}
|
||||
RegistraScript(Script);
|
||||
|
||||
// RegistraScript(string.Format("SaveCsv(\"MovtosmodSalario{1:ddMMMyyyy}.txt\", '{0}');", MovtosmodSalario, TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy")));
|
||||
// RegistraScript(string.Format("SaveCsv(\"MovtosmodSalario{1:ddMMMyyyy}.txt\", '{0}');", MovtosmodSalario, TxtFechaPago.Text.ToDateTimeExcat("dd/MM/yyyy")));
|
||||
//RegistraScript(string.Format("SaveCsv(\"MovtosAfil.txt\", '{0}');SaveCsv(\"MovtosmodSalario.txt\", '{1}');SaveCsv(\"movtosBajas.txt\", '{2}');", MovtosAfil.Replace("'", "\\'"), MovtosmodSalario.Replace("'", "\\'"), movtosBajas.Replace("'", "\\'")));
|
||||
//RegistraScript("$('#DmodalGetSua').modal('hide');");
|
||||
}
|
||||
@@ -344,7 +515,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
double SalarioDiarioSSNuevo = Math.Round(item.DataKey("SalarioDiarioSSNuevo").ToDouble(), 2);
|
||||
double SalarioVariableNuevo = item.DataKey("SalarioVariableNuevo").ToDouble();
|
||||
double SalarioDiarioSS = Math.Round(item.DataKey("SalarioDiarioSS").ToDouble(), 2);
|
||||
if (continuar && SalarioDiarioSSNuevo != SalarioDiarioSS &&
|
||||
if (continuar && SalarioDiarioSSNuevo != SalarioDiarioSS &&
|
||||
(continuar = objrh.UpdateSalarios(CvePersonal, fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, SalarioDiario, SDINuevo, SalarioDiarioSSNuevo, SalarioDiario)))
|
||||
{
|
||||
|
||||
@@ -508,8 +679,8 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
string cfecha = urfile.Replace(rutarchivos, "").Substring(0, 10).ToDateTime().ToString("dd/MM/yyyy");
|
||||
|
||||
|
||||
archivosD arch = new archivosD() { nombrearchivo = cfecha, ruta = urfile, fecha= System.IO.File.GetCreationTime(urfile) };
|
||||
lisaarchivos.Add(arch);
|
||||
archivosD arch = new archivosD() { nombrearchivo = cfecha, ruta = urfile, fecha = System.IO.File.GetCreationTime(urfile) };
|
||||
lisaarchivos.Add(arch);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -518,6 +689,7 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
UpModalDoctos.Update();
|
||||
RegistraScript("$('#ModalDoctos').modal();");
|
||||
}
|
||||
|
||||
}
|
||||
public class archivosD
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user