This commit is contained in:
@@ -145,7 +145,10 @@
|
|||||||
<asp:LinkButton ID="LnkRegistrarProvision" Visible="false" OnClick="LnkRegistrarProvision_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Registrar provisión</asp:LinkButton>
|
<asp:LinkButton ID="LnkRegistrarProvision" Visible="false" OnClick="LnkRegistrarProvision_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Registrar provisión</asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<asp:HyperLink ID="LnkProvisionNomina" Visible="false" runat="server"><i class="fa fa-eye"></i>Ver provisón</asp:HyperLink>
|
<asp:LinkButton ID="LnkLayoutContable" Visible="false" OnClick="LnkLayoutContable_Click" runat="server"><i class="fa fa-university" aria-hidden="true"></i>Layout banco</asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<asp:HyperLink ID="LnkProvisionNomina" Visible="false" runat="server"><i class="fa fa-eye"></i>Ver provisión</asp:HyperLink>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<asp:LinkButton ID="LnkTimbrarTodos" Visible="false" OnClick="LnkTimbrarTodos_Click" runat="server"><i class="fa fa-bell"></i> Timbrar todos</asp:LinkButton>
|
<asp:LinkButton ID="LnkTimbrarTodos" Visible="false" OnClick="LnkTimbrarTodos_Click" runat="server"><i class="fa fa-bell"></i> Timbrar todos</asp:LinkButton>
|
||||||
@@ -187,6 +190,8 @@
|
|||||||
<Triggers>
|
<Triggers>
|
||||||
<asp:PostBackTrigger ControlID="LnkListaRaya" />
|
<asp:PostBackTrigger ControlID="LnkListaRaya" />
|
||||||
<asp:PostBackTrigger ControlID="LnkFormatoTabular" />
|
<asp:PostBackTrigger ControlID="LnkFormatoTabular" />
|
||||||
|
<asp:PostBackTrigger ControlID="LnkLayoutContable" />
|
||||||
|
|
||||||
</Triggers>
|
</Triggers>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ using static Extensiones.ModExtensiones;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using iTextSharp.text.pdf;
|
using iTextSharp.text.pdf;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Configuration;
|
||||||
|
|
||||||
public partial class Nomina_Nomina2 : ClsPaginas
|
public partial class Nomina_Nomina2 : ClsPaginas
|
||||||
{
|
{
|
||||||
@@ -370,14 +372,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
DataRow drow = objnom.DtResultados.Rows[0];
|
DataRow drow = objnom.DtResultados.Rows[0];
|
||||||
int Estatus = drow["Estatus"].ToString().ToEntero();
|
int Estatus = drow["Estatus"].ToString().ToEntero();
|
||||||
int CvePrePolizaProvision = drow["CvePrePolizaProvision"].ToString().ToEntero();
|
int CvePrePolizaProvision = drow["CvePrePolizaProvision"].ToString().ToEntero();
|
||||||
LnkConceptoEmpleado.Visible = true;
|
LnkConceptoEmpleado.Visible = (Estatus == 1);
|
||||||
LnkAutorizar.Visible = (Estatus == 1);
|
LnkAutorizar.Visible = true;// (Estatus == 1);
|
||||||
LnkRegistrarProvision.Visible = (Estatus > 2) && CvePrePolizaProvision<0;
|
LnkRegistrarProvision.Visible = (Estatus > 2) && CvePrePolizaProvision < 0;
|
||||||
LnkConceptoEmpleado.Visible = (Estatus < 2);
|
LnkConceptoEmpleado.Visible = (Estatus < 2);
|
||||||
LnkCargaAsistenciaMasiva.Visible = (Estatus < 2);
|
LnkCargaAsistenciaMasiva.Visible = (Estatus < 2);
|
||||||
LnkModalPlantillaNomina.Visible = (Estatus < 2);
|
LnkModalPlantillaNomina.Visible = (Estatus < 2);
|
||||||
LnkTimbrarTodos.Visible = (Estatus > 1);
|
LnkTimbrarTodos.Visible = (Estatus > 2);
|
||||||
|
|
||||||
|
LnkLayoutContable.Visible = (Estatus > 2);
|
||||||
LnkProvisionNomina.Visible = CvePrePolizaProvision > 0;
|
LnkProvisionNomina.Visible = CvePrePolizaProvision > 0;
|
||||||
LnkProvisionNomina.NavigateUrl = $"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaProvision}&Tipo=NOMPROV";
|
LnkProvisionNomina.NavigateUrl = $"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaProvision}&Tipo=NOMPROV";
|
||||||
UpAccciones.Update();
|
UpAccciones.Update();
|
||||||
@@ -396,7 +399,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
continuar = true;
|
continuar = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
LnkTimbrarTodos.Visible = dtempleados.Rows.Count >0 && dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0")>0;
|
LnkTimbrarTodos.Visible = dtempleados.Rows.Count > 0 && dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0") > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -2711,7 +2714,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
}
|
}
|
||||||
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Fecha Ingr:{0:dd/MM/yyyy}, S.D.:{1:N2}, S.D.I.:{2:N2}, S.B.C.:{3:N2} ", drow2["FechaIngreso"], drow2["SalarioDiario"], drow2["SalarioDiarioIntegrado"], drow2["SalarioDiarioIMSS"])); cell.Blocks.Add(paragraphh);
|
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Fecha Ingr:{0:dd/MM/yyyy}, S.D.:{1:N2}, S.D.I.:{2:N2}, S.B.C.:{3:N2} ", drow2["FechaIngreso"], drow2["SalarioDiario"], drow2["SalarioDiarioIntegrado"], drow2["SalarioDiarioIMSS"])); cell.Blocks.Add(paragraphh);
|
||||||
paragraphh.ParagraphFormat.Style = styilo;
|
paragraphh.ParagraphFormat.Style = styilo;
|
||||||
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Días pagados:{0}, Retardos: {1}, Ausencias:{2} ", drow2["DiasLaborados"], drow2["DiasRetardos"], drow2["DiasFaltados"])); cell.Blocks.Add(paragraphh);
|
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Días pagados:{0}, Retardos: {1}, Ausencias:{2}, Centro de costos: {3}", drow2["DiasLaborados"], drow2["DiasRetardos"], drow2["DiasFaltados"], drow2["SubProyecto"])); cell.Blocks.Add(paragraphh);
|
||||||
paragraphh.ParagraphFormat.Style = styilo;
|
paragraphh.ParagraphFormat.Style = styilo;
|
||||||
|
|
||||||
row = new GemBox.Document.Tables.TableRow(document);
|
row = new GemBox.Document.Tables.TableRow(document);
|
||||||
@@ -5266,11 +5269,421 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
using (ClsNominas objnom = new ClsNominas())
|
using (ClsNominas objnom = new ClsNominas())
|
||||||
{
|
{
|
||||||
if (objnom.PrimaRiesgoUP(UsuarioActual.CveEmpresa,TxtFechaPRT.Text.ToDateTime(),TxtPrimaRiesgo.Text.ToDecimal()))
|
if (objnom.PrimaRiesgoUP(UsuarioActual.CveEmpresa, TxtFechaPRT.Text.ToDateTime(), TxtPrimaRiesgo.Text.ToDecimal()))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
loadtablas();
|
loadtablas();
|
||||||
}
|
}
|
||||||
|
private void CrearLayout(DataTable DTNomina)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
StringBuilder SbErrores = new StringBuilder();
|
||||||
|
bool ErroresValidaciones = false;
|
||||||
|
|
||||||
|
|
||||||
|
SbErrores.AppendLine("Se detectaron los siguientes errores en la generación del layout");
|
||||||
|
|
||||||
|
foreach (DataRow dRow in DTNomina.Rows)
|
||||||
|
{
|
||||||
|
string RFC = dRow["RFC"].ToString();
|
||||||
|
string Nombre = dRow["Nombre"].ToString();
|
||||||
|
string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
|
||||||
|
decimal Importe = dRow["Importe"].ToString().ToDecimal();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (RFC.Trim().Length == 0)
|
||||||
|
SbErrores.AppendLine($"El RFC es requerido del empleado {Nombre}<br/>");
|
||||||
|
|
||||||
|
System.Text.RegularExpressions.Match Coincidencia = System.Text.RegularExpressions.Regex.Match(RFC, @"/^([A-Z,Ñ,&]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])[A-Z|\d]{3})$/");
|
||||||
|
if (!Coincidencia.Success)
|
||||||
|
{
|
||||||
|
SbErrores.AppendLine($"El RFC {RFC} del empleado {Nombre} no es valido <br/>");
|
||||||
|
ErroresValidaciones = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (BancoNumCuenta.Trim().Length != 10)
|
||||||
|
{
|
||||||
|
SbErrores.AppendLine($"Empleado {Nombre} numero de cuenta incorrecto, la cuenta debe de tener 10 caracteres<br/>"); // Bancomer 10 caracteres
|
||||||
|
ErroresValidaciones = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (Importe <= 0)
|
||||||
|
{
|
||||||
|
SbErrores.AppendLine($"Empleado {Nombre} el importe debe de ser mayor a 0 importe {Importe}"); // importe mayot a 0
|
||||||
|
ErroresValidaciones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ErroresValidaciones = false;
|
||||||
|
|
||||||
|
if (!ErroresValidaciones)
|
||||||
|
{
|
||||||
|
int Count = 1;
|
||||||
|
foreach (DataRow dRow in DTNomina.Rows)
|
||||||
|
{
|
||||||
|
StringBuilder SbLinea = new StringBuilder();
|
||||||
|
|
||||||
|
string RFC = dRow["RFC"].ToString();
|
||||||
|
string Nombre = dRow["Nombre"].ToString();
|
||||||
|
string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
|
||||||
|
decimal Importe = dRow["Importe"].ToString().ToDecimal().RoundSQL(2);
|
||||||
|
|
||||||
|
SbLinea.Append(Count.ToString("000000000"));
|
||||||
|
SbLinea.Append(RFC.Trim().PadRight(16));
|
||||||
|
SbLinea.Append("03");
|
||||||
|
SbLinea.Append(BancoNumCuenta.Trim().PadRight(20));
|
||||||
|
SbLinea.Append(Importe.ToString("0000000000000.00").Replace(".", ""));
|
||||||
|
|
||||||
|
|
||||||
|
if (Nombre.Trim().Length > 40)
|
||||||
|
Nombre = Nombre.Substring(0, 40);
|
||||||
|
|
||||||
|
SbLinea.Append(Nombre.Trim().PadRight(40));
|
||||||
|
|
||||||
|
SbLinea.Append("012");
|
||||||
|
SbLinea.Append("000");
|
||||||
|
|
||||||
|
sb.AppendLine(SbLinea.ToString());
|
||||||
|
|
||||||
|
|
||||||
|
Count = Count + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Response.Clear();
|
||||||
|
Response.ClearHeaders();
|
||||||
|
Response.AppendHeader("Content-Length", sb.ToString());
|
||||||
|
Response.ContentType = "text/plain";
|
||||||
|
//Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina{DateTime.Now.ToString("yyyyMMddhhmmss").ToString()}.txt\"");
|
||||||
|
Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina {DdlPeriodo.SelectedItem.Text }.txt\"");
|
||||||
|
Response.Write(sb.ToString());
|
||||||
|
Response.End();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Alert(SbErrores.ToString(), TipoMensaje.MsgAdvertencia);
|
||||||
|
}
|
||||||
|
protected void LnkLayoutContable_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
using (ClsClaseBasez objbase = new ClsClaseBasez())
|
||||||
|
{
|
||||||
|
if (objbase.runQuerystr($"PA_NomDispersiondenomina @CvePeriodo ={CvePeriodoSeleccionado}, @CveEmpresa ={UsuarioActual.CveEmpresa}"))
|
||||||
|
{
|
||||||
|
CrearLayout(objbase.DtResultados);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ClsClaseBasez : IDisposable
|
||||||
|
{
|
||||||
|
protected SqlConnection SqlConexion;
|
||||||
|
protected SqlDataAdapter SqlAdapter;
|
||||||
|
protected DataTable datos;
|
||||||
|
protected DataSet DTSet;
|
||||||
|
public DataTable DtResultados
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return datos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public DataSet DTSetResultados
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return DTSet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected bool disposedValue = false;
|
||||||
|
protected bool EsTransaccion = false;
|
||||||
|
public string MyCurrentError;
|
||||||
|
// REGISTRAR CONEXIÓN
|
||||||
|
private int CveConexion = 0;
|
||||||
|
|
||||||
|
public ClsClaseBasez(ClsClaseBasez adsObj = null)
|
||||||
|
{
|
||||||
|
if (adsObj != null && adsObj.SqlAdapter != null && adsObj.SqlAdapter.SelectCommand != null && adsObj.SqlAdapter.SelectCommand.Transaction != null)
|
||||||
|
{
|
||||||
|
SqlConexion = adsObj.SqlConexion;
|
||||||
|
SqlAdapter = adsObj.SqlAdapter;
|
||||||
|
EsTransaccion = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SqlConexion = new SqlConnection();
|
||||||
|
SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SqlConexion.Open();
|
||||||
|
SqlAdapter = new SqlDataAdapter("", SqlConexion);
|
||||||
|
ConexionAdd();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SqlDataAdapter(string StrSQL, CommandType TipoComando = CommandType.StoredProcedure)
|
||||||
|
{
|
||||||
|
if (SqlConexion.State == ConnectionState.Open)
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||||
|
SqlAdapter.SelectCommand.CommandText = StrSQL;
|
||||||
|
SqlAdapter.SelectCommand.CommandType = TipoComando;
|
||||||
|
datos = new DataTable();
|
||||||
|
DTSet = new DataSet();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected void DataAdapter(string StrSQL, CommandType TipoComando = CommandType.Text)
|
||||||
|
{
|
||||||
|
|
||||||
|
// if (SqlAdapter.SelectCommand == null)
|
||||||
|
// {
|
||||||
|
// if ((sqlCommand != null))
|
||||||
|
// {
|
||||||
|
// SqlAdapter.SelectCommand = sqlCommand;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// SqlAdapter.SelectCommand = new SqlCommand();
|
||||||
|
// }
|
||||||
|
// SqlAdapter.SelectCommand.Connection = SqlConexion;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (SqlConexion.State == ConnectionState.Open)
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||||
|
SqlAdapter.SelectCommand.CommandText = StrSQL;
|
||||||
|
SqlAdapter.SelectCommand.CommandType = TipoComando;
|
||||||
|
datos = new DataTable();
|
||||||
|
DTSet = new DataSet();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConexionAdd()
|
||||||
|
{
|
||||||
|
if (ConfigurationManager.AppSettings["RegistraConexion"] != null && ConfigurationManager.AppSettings["RegistraConexion"].ToString() == "1")
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SqlDataAdapter("PA_Sis_RegistrarConexion");
|
||||||
|
{
|
||||||
|
var withBlock = SqlAdapter.SelectCommand.Parameters;
|
||||||
|
withBlock.Add("@Clase", SqlDbType.VarChar).Value = this.GetType().Name;
|
||||||
|
withBlock.Add("@Modulo", SqlDbType.VarChar).Value = string.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString(), HttpContext.Current.Request.QueryString.ToString());
|
||||||
|
withBlock.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output;
|
||||||
|
}
|
||||||
|
SqlAdapter.Fill(datos);
|
||||||
|
CveConexion = SqlAdapter.SelectCommand.Parameters["@IDConexion"].Value.ToString().ToEntero();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConexionClose()
|
||||||
|
{
|
||||||
|
if (CveConexion > 0 && ConfigurationManager.AppSettings["RegistraConexion"] != null && ConfigurationManager.AppSettings["RegistraConexion"].ToString() == "1")
|
||||||
|
{
|
||||||
|
SqlDataAdapter(string.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SqlAdapter.Fill(datos);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo());
|
||||||
|
}
|
||||||
|
CveConexion = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected void addParameters(string name, SqlDbType tipo, object valor)
|
||||||
|
{
|
||||||
|
if (SqlConexion.State == ConnectionState.Open)
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Add(name, tipo).Value = valor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool runQuerystr(string Query, List<parametroQuery> Listaparametros = null, string msgError = "", bool mostrarError = true)
|
||||||
|
{
|
||||||
|
bool retorno = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (SqlConexion.State == ConnectionState.Open)
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||||
|
SqlAdapter.SelectCommand.CommandText = Query;
|
||||||
|
SqlAdapter.SelectCommand.CommandType = CommandType.Text;
|
||||||
|
datos = new DataTable();
|
||||||
|
if (Listaparametros != null)
|
||||||
|
{
|
||||||
|
foreach (parametroQuery pr in Listaparametros)
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SqlAdapter.Fill(datos);
|
||||||
|
retorno = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string InfoAdicional = "Se intenta realizar una conexion con una conexion cerrada";
|
||||||
|
InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}";
|
||||||
|
ModExtensiones.GuardaLog(InfoAdicional);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (SqlException sqEx)
|
||||||
|
{
|
||||||
|
retorno = false;
|
||||||
|
setOnError(msgError, sqEx);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
retorno = false;
|
||||||
|
setOnError(msgError, ex);
|
||||||
|
}
|
||||||
|
return retorno;
|
||||||
|
}
|
||||||
|
public int ExecQuery(string Query, List<parametroQuery> Listaparametros = null, string msgError = "", bool mostrarError = true)
|
||||||
|
{
|
||||||
|
int retorno = -1;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (SqlConexion.State == ConnectionState.Open)
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Clear();
|
||||||
|
SqlAdapter.SelectCommand.CommandText = Query;
|
||||||
|
SqlAdapter.SelectCommand.CommandType = CommandType.Text;
|
||||||
|
if (Listaparametros != null)
|
||||||
|
{
|
||||||
|
foreach (parametroQuery pr in Listaparametros)
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
retorno = SqlAdapter.SelectCommand.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string InfoAdicional = "Se intenta realizar una conexion con una conexion cerrada";
|
||||||
|
InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}";
|
||||||
|
this.GuardaLog(InfoAdicional);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (SqlException sqEx)
|
||||||
|
{
|
||||||
|
retorno = -1;
|
||||||
|
setOnError(msgError, sqEx);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
retorno = -1;
|
||||||
|
setOnError(msgError, ex);
|
||||||
|
}
|
||||||
|
return retorno;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected bool RunQuery(string msgOnError)
|
||||||
|
{
|
||||||
|
bool retorno = false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SqlAdapter.Fill(datos);
|
||||||
|
retorno = true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
retorno = false;
|
||||||
|
|
||||||
|
setOnError(msgOnError, ex);
|
||||||
|
}
|
||||||
|
return retorno;
|
||||||
|
}
|
||||||
|
protected bool RunQueryDS(string msgOnError)
|
||||||
|
{
|
||||||
|
bool retorno = false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SqlAdapter.Fill(DTSet);
|
||||||
|
retorno = true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
retorno = false;
|
||||||
|
|
||||||
|
setOnError(msgOnError, ex);
|
||||||
|
}
|
||||||
|
return retorno;
|
||||||
|
}
|
||||||
|
public void setOnError(string Mensaje, Exception Exeption)
|
||||||
|
{
|
||||||
|
string InfoAdicional = "";
|
||||||
|
if (SqlAdapter != null && SqlAdapter.SelectCommand != null && SqlAdapter.SelectCommand.Parameters != null)
|
||||||
|
InfoAdicional = SqlAdapter.SelectCommand.Parameters.ParametrosInfo();
|
||||||
|
MyCurrentError = string.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString(), "\r\n", InfoAdicional);
|
||||||
|
this.OnError(Mensaje, Exeption, InfoAdicional);
|
||||||
|
}
|
||||||
|
public void IniciaTransacSQL()
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Transaction = SqlConexion.BeginTransaction();
|
||||||
|
EsTransaccion = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Commit()
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Transaction.Commit();
|
||||||
|
SqlConexion.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RollBack()
|
||||||
|
{
|
||||||
|
SqlAdapter.SelectCommand.Transaction.Rollback();
|
||||||
|
SqlConexion.Close();
|
||||||
|
}
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
ConexionClose();
|
||||||
|
if ((SqlConexion != null))
|
||||||
|
{
|
||||||
|
if (SqlConexion.State == ConnectionState.Open)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if ((SqlAdapter != null))
|
||||||
|
SqlAdapter.Dispose();
|
||||||
|
|
||||||
|
SqlConexion.Close();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.OnError("Ocurrió un error al intentar cerrar la base de datos.", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SqlConexion.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (datos != null)
|
||||||
|
datos.Dispose();
|
||||||
|
if (SqlAdapter != null)
|
||||||
|
SqlAdapter.Dispose();
|
||||||
|
|
||||||
|
if (DTSet != null)
|
||||||
|
DTSet.Dispose();
|
||||||
|
|
||||||
|
GC.SuppressFinalize(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2323,8 +2323,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px!important">
|
||||||
|
|
||||||
|
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 160px;">
|
||||||
|
<asp:TextBox ID="TxtFechaPago" runat="server" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
|
||||||
|
<span class="input-group-btn ">
|
||||||
|
<asp:LinkButton ID="LnkTxtFechaPago" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||||
|
</span>
|
||||||
|
<ajax:MaskedEditExtender ID="MEETxtFechaPago" runat="server" TargetControlID="TxtFechaPago" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||||
|
<ajax:CalendarExtender runat="server" ID="CEETxtFechaPago" TargetControlID="TxtFechaPago" PopupButtonID="LnkTxtFechaPago" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||||
|
<label>Fecha pago</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px!important">
|
||||||
|
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
|
||||||
|
<label>días inhábiles</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<%--Motivo
|
<%--Motivo
|
||||||
<asp:TextBox ID="TxtMotivoVacaciones" runat="server" TextMode="MultiLine" Rows="4" CssClass="form-control Widthallimp"></asp:TextBox>--%>
|
<asp:TextBox ID="TxtMotivoVacaciones" runat="server" TextMode="MultiLine" Rows="4" CssClass="form-control Widthallimp"></asp:TextBox>--%>
|
||||||
|
|||||||
@@ -4455,15 +4455,17 @@ Partial Class RH_Personal
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub BtnSolicitarVacaciones_Click(sender As Object, e As EventArgs) Handles BtnSolicitarVacaciones.Click
|
Protected Sub BtnSolicitarVacaciones_Click(sender As Object, e As EventArgs) Handles BtnSolicitarVacaciones.Click
|
||||||
Dim fInicio As Date = TxtFechaInicioVac.Text.ToDate
|
Dim fInicio As Date = TxtFechaInicioVac.Text.ToDate()
|
||||||
Dim fFin As Date = TxtFechaFinVac.Text.ToDate
|
Dim fFin As Date = TxtFechaFinVac.Text.ToDate()
|
||||||
|
Dim fechapago As String = TxtFechaPago.Text.ToDate().ToString("yyyy/MM/dd")
|
||||||
|
Dim diasinhabil As Integer = Txtdiasinabiles.Text.ToEntero()
|
||||||
'Dim motivoVacaciones As String = TxtMotivoVacaciones.Text
|
'Dim motivoVacaciones As String = TxtMotivoVacaciones.Text
|
||||||
If fInicio <= fFin Then
|
If fInicio <= fFin Then
|
||||||
|
|
||||||
VacFolioActual = VacFolioActual + 1
|
VacFolioActual = VacFolioActual + 1
|
||||||
Dim objRH As New ClsRH
|
Dim objRH As New ClsRH
|
||||||
'Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, motivoVacaciones)
|
'Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, motivoVacaciones)
|
||||||
Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual)
|
Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, FechaPago:=fechapago, diasinabiles:=diasinhabil)
|
||||||
If objRH.DtResultados.Rows.Count > 0 Then
|
If objRH.DtResultados.Rows.Count > 0 Then
|
||||||
Dim ShowError As String = objRH.DtResultados.Rows(0)("ShowError").ToString()
|
Dim ShowError As String = objRH.DtResultados.Rows(0)("ShowError").ToString()
|
||||||
If ShowError.Length > 0 Then
|
If ShowError.Length > 0 Then
|
||||||
|
|||||||
@@ -1086,7 +1086,7 @@ function ADDropzone(txtid) {
|
|||||||
document.getElementById(txtid + '-paste').onpaste = function (event) {
|
document.getElementById(txtid + '-paste').onpaste = function (event) {
|
||||||
var __This = myDropzone;
|
var __This = myDropzone;
|
||||||
var objfiles = JSON.parse(TxtField.val());
|
var objfiles = JSON.parse(TxtField.val());
|
||||||
if (objfiles.length < maxFile) {
|
if ((maxFile != null) || (maxFile < 1) || objfiles.length < maxFile) {
|
||||||
// use event.originalEvent.clipboard for newer chrome versions
|
// use event.originalEvent.clipboard for newer chrome versions
|
||||||
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
|
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
|
||||||
//console.log(JSON.stringify(items)); // will give you the mime types
|
//console.log(JSON.stringify(items)); // will give you the mime types
|
||||||
|
|||||||
@@ -212,6 +212,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user