TFS_ANTIGUO/SIGPC/ProyectoSIGPC/Forms/TRA/frwDevolucionActividadesSolicitud.aspx.cs
kledezma 7fdadc4709 KLB
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C519
2021-01-22 15:05:35 +00:00

641 lines
26 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using AyABL;
using AyABL.AUT.Autenticacion;
//using AyABL.APL;
using AyADAL;
using System.Configuration;
using AyABL.RCS;
using AyABL;
using AyABL.Usuario;
using AyABL.APL;
using AyABL.Tran;
using AyABL.TRA;
using System.Collections;
using System.Data;
public partial class Forms_TRA_frwDevolucionActividadesSolicitud : General
{
#region Inicializar Formulario (R0)
override protected void OnInit(EventArgs e) //M0
{
try
{
base.OnInit(e);
InicializarFormulario();
}
catch (Exception ex)
{
MensajeError("Error en R0M0", ex);
}
}
private void InicializarFormulario() //M1
{
try
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Javascript.CheckAllGridViewItems(Page);
}
catch (Exception ex)
{
MensajeError("Error en R0M1", ex);
}
}
#endregion
#region Variables (R1)
// GridView grvListaDatosCantonalesTemp, grvCantonalesADTemp;
AutenticacionBL objAutenticacionBL;
UsuarioRolBL objUsuarioRolBL;
RolItemMenuComandoBL objRolItemMenuComandoBL;
string strNumSolicitudTMP = "0";
ObservacionesActividadesBL objObservacionesBL;
int nPKSolicitud = 0;
AplicacionBL objAplicacionBL;
RolBL objRolBL;
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
#region variables del estandar
string strPagina = string.Empty;
string strScript = string.Empty;
#endregion
#endregion
#region Eventos Formulario (R2)
protected void Page_Load(object sender, EventArgs e) //M0
{
try
{
ScriptManager.GetCurrent(Page).RegisterPostBackControl(btnGuarda);
if (Session["SOLICITUD"] != null )
{
strNumSolicitudTMP = Session["SOLICITUD"].ToString();
nPKSolicitud = int.Parse(Session["PKSOLICITUD"].ToString());
lblActividad.Text = Session["NACTIVIDAD"].ToString();
if ((!IsPostBack) && (Session.Count > 0))
{
Session["Pagina"] = "";
mostrarDatos();
//mostrarFilaTabla(1);
ComandosxMenu();
}
}
else
Response.Redirect("../wfrLogin.aspx?sesion=expiro", false);
//{ ClientScript.RegisterStartupScript(this.GetType(), "Error", "<script>javascript: MensajeError();</script>"); }
}
catch (Exception ex)
{
MensajeError("Error en R2M0", ex);
}
}
#endregion
#region Eventos Controles Web (R3)
/// <summary>
/// Activa el evento del boton guardar.1
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
protected void btnGuardar_Click(object sender, EventArgs e)
{
try
{
if (txtIngresoObsevacion.Text == string.Empty)
{
ClientScript.RegisterStartupScript(this.GetType(), "Error", "<script>javascript: MensajeAlerta();</script>");
}
else
{
ViewState["MODO"] = "Nuevo";
int nResultado = GuardarDatos();
//llenarGridView(true);
limpiarCampos();
mostrarFilaTabla(1);
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString());
}
}
catch (Exception ex)
{
MensajeError("Error en R3M14", ex);
}
}
#endregion
#region Metodos Personalizados (R4)
/// <summary>
/// Oculta las filas que lo requieran
/// </summary>
/// <param name="p_intFila"></param>
///
private void mostrarFilaTabla(int p_intFila) //M0
{
try
{
divDatosSuperiores.Visible = false;
//divDatosInferiores.Visible = false;
switch (p_intFila)
{
case 1:
mostrarDatos();
divDatosSuperiores.Visible = true;
break;
case 2:
mostrarDatos();
//divDatosInferiores.Visible = true;
break;
case 3:
mostrarDatos();
//divDatosInferiores.Visible = true;
break;
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Metodo que se utiliza para el despliegue de los botones
/// </summary>
private void ComandosxMenu() //M4
{
try
{
DataSet dsComandos = getComandos();
if (dsComandos != null)
{
foreach (DataRow drTemp in dsComandos.Tables[0].Rows)
{
switch (drTemp["NOMBRECOMANDO"].ToString().ToUpper())
{
case "NUEVO":
break;
case "MODIFICA":
//Inicio de variable tipo VIEWSTATE
ViewState["PUEDEMODIFICAR"] = true;
break;
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region Metodos Controles a Datos (R5)
/// <summary>
/// guarda y modifica registros en la tabla.
/// </summary>
/// <returns></returns>
///
private int GuardarDatos()
{
int nValorRetornado = 0;
try
{
string strModo = ViewState["MODO"].ToString();
int nPkSolicitud = 0;
int nResultadoActualizar = 0;
string strPiePagina = "</BR> </BR></BR>AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”";
objObservacionesBL = new ObservacionesActividadesBL();
//objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP;
objObservacionesBL.objobservacionesEL.DESCRIPCION = "\n" + DateTime.Now.ToString()+ " - " + Session["NOMBREEMPLEADO"].ToString() + " - Devolución de la actividad: " + txtIngresoObsevacion.Text;
objObservacionesBL.objobservacionesEL.FKUSUARIOXDEPENDENCIA = int.Parse(Session["PKUSUARIOXDEPENDENCIA"].ToString());
objObservacionesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString());
objObservacionesBL.objobservacionesEL.Fecha = DateTime.Now;
objObservacionesBL.objobservacionesEL.TIPO = 2;//DEVOLUCION
//objObservacionesBL.objobservacionesEL.FKSOLICITUD = nPKSolicitud;
//objObservacionesBL.objobservacionesEL.USUARIO = Session["LOGIN"].ToString();
nValorRetornado = objObservacionesBL.insertarObservacionActividad();
if (nValorRetornado != 0)
{
solicitudBL objSolicitud = new solicitudBL();
objSolicitud.objresponsableActividadEL.FECHADEVOLUCION = DateTime.Now;
//objSolicitud.objresponsableActividadEL.PK = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString());
//poner la actividad actual en estado de devolucion
solicitudBL objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.ORDEN = int.Parse(Session["NACTIVIDAD"].ToString());
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
objSolicitud.objresponsableActividadEL.PK = int.Parse(row["PKRESPONSABLEACTIVIDAD"].ToString()); ;
objSolicitud.objresponsableActividadEL.FKESTADO = 6;//devolucion t_sgm_estadoactividad
nResultadoActualizar = objSolicitud.actualizarActividadSolicitud();
}
//actualizarEstadoActividad(objSolicitud, 2);
if (objSolicitudBL.objSolicitudEL.ORDEN == 5)
{
actualizarEstadoActividad(objSolicitud, 6);
//Instancia el objeto
cartaBL objCartaBL = new cartaBL();
//Asigna un valor al atributo de referencia del objeto
objCartaBL.objCartaEL.FKNUMSOLICITUD = nPKSolicitud;
objCartaBL.objCartaEL.NOMBREDOCUMENTO = string.Empty;
//objCartaBL.objCartaEL.FKREUTILIZA = nPKReutilizaTMP;
//Carga en un dataset la información
DataSet ds = objCartaBL.listarCartas();
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
int nPK = int.Parse(row["PKCARTA"].ToString());
eliminarCartaSolicitud(nPK);
}
}
}
if (objSolicitudBL.objSolicitudEL.ORDEN == 6)
{
actualizarEstadoActividad(objSolicitud, 5);
//Instancia el objeto
cartaBL objCartaBL = new cartaBL();
//Asigna un valor al atributo de referencia del objeto
objCartaBL.objCartaEL.FKNUMSOLICITUD = nPKSolicitud;
objCartaBL.objCartaEL.NOMBREDOCUMENTO = string.Empty;
//objCartaBL.objCartaEL.FKREUTILIZA = nPKReutilizaTMP;
//Carga en un dataset la información
DataSet ds = objCartaBL.listarCartas();
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
int nPK = int.Parse(row["PKCARTA"].ToString());
eliminarCartaSolicitud(nPK);
}
}
}
#region Envio de correo
arlCondicionesFiltroBusqueda = new ArrayList();
int nActividad = int.Parse(Session["NACTIVIDAD"].ToString());
#region Criterio tecnico
if (nActividad == 3 || nActividad == 4 )
{
strPiePagina = "</BR> </BR></BR>AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”";
ObservacionesActividadesBL objObservacionesActividadesBL = new ObservacionesActividadesBL();
objObservacionesActividadesBL.objobservacionesEL.DESCRIPCION = "\n" + DateTime.Now.ToString() + " - " + Session["NOMBREEMPLEADO"].ToString() + " - Se devuelve los formularios asociados a la actividad por el usuario " + Session["NOMBREEMPLEADO"].ToString();
objObservacionesActividadesBL.objobservacionesEL.FKUSUARIOXDEPENDENCIA = int.Parse(Session["PKUSUARIOXDEPENDENCIA"].ToString());
objObservacionesActividadesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString());
objObservacionesActividadesBL.objobservacionesEL.Fecha = DateTime.Now;
objObservacionesBL.objobservacionesEL.TIPO = 2;
nValorRetornado = objObservacionesActividadesBL.insertarObservacionActividad();
if (nActividad == 3 )
{
inspeccionapBL objInspeccionBL = new inspeccionapBL();
objInspeccionBL.objinspeccionapEL.FKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
//objInspeccionBL.objinspeccionapEL.FKESTADOINSPECCION = 3;//reinspeccion
//objInspeccionBL.objinspeccionapEL.PKINSPECCION = p_nPKInspeccion;
DataSet dsInspeccion = objInspeccionBL.listarInspecciones(null);
if (dsInspeccion.Tables[0].Rows.Count != 0)
{
int nValorRetornadoRevision = 0;
foreach (DataRow row in dsInspeccion.Tables[0].Rows)
{
//SE CAMBIA EL ESTADO A LA INSPECCION GENERAL A TODOS LOS FORMULARIOS t_dis_inspeccion
objInspeccionBL.objinspeccionapEL.PKINSPECCION = int.Parse(row["PKINSPECCION"].ToString());
nValorRetornadoRevision = objInspeccionBL.modificarEstadoInspecciongeneral();
//cambia el estado de la revision del formulario t_dis_revisionformulario
if (row["PKREVISIONFORMULARIO"].ToString() != string.Empty)
{
objInspeccionBL = new inspeccionapBL();
objInspeccionBL.objinspeccionapEL.PKREVISIONFORMULARIO = int.Parse(row["PKREVISIONFORMULARIO"].ToString());
objInspeccionBL.objinspeccionapEL.REVISIONREVISIONFORMULARIO = false;
objInspeccionBL.objinspeccionapEL.FECHAREVISIONREVISIONFORMULARIO = DateTime.Now;
nValorRetornadoRevision = objInspeccionBL.modificarRevisionFormulario();
}
}
}
actualizarEstadoActividad(objSolicitud, 3);
}
//se desactivan los formularios de inspeccion
if (nActividad == 4 )
{
inspeccionasBL objInspeccionBL = new inspeccionasBL();
objInspeccionBL.objinspeccionasEL.FKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
//objInspeccionBL.objinspeccionasEL.FKESTADOINSPECCION = 3;//reinspeccion
//objInspeccionBL.objinspeccionapEL.PKINSPECCION = p_nPKInspeccion;
DataSet dsInspeccion = objInspeccionBL.listarInspeccionesAS(null);
if (dsInspeccion.Tables[0].Rows.Count != 0)
{
int nValorRetornadoRevision = 0;
foreach (DataRow row in dsInspeccion.Tables[0].Rows)
{
//SE CAMBIA EL ESTADO A LA INSPECCION GENERAL A TODOS LOS FORMULARIOS t_dis_inspeccion
objInspeccionBL.objinspeccionasEL.PKINSPECCION = int.Parse(row["PKINSPECCION"].ToString());
nValorRetornadoRevision = objInspeccionBL.modificarEstadoInspecciongeneral();
//cambia el estado de la revision del formulario t_dis_revisionformulario
if (row["PKREVISIONFORMULARIO"].ToString() != string.Empty)
{
objInspeccionBL = new inspeccionasBL();
objInspeccionBL.objinspeccionasEL.PKREVISIONFORMULARIO = int.Parse(row["PKREVISIONFORMULARIO"].ToString());
objInspeccionBL.objinspeccionasEL.REVISIONREVISIONFORMULARIO = false;
objInspeccionBL.objinspeccionasEL.FECHAREVISIONREVISIONFORMULARIO = DateTime.Now;
nValorRetornadoRevision = objInspeccionBL.modificarRevisionFormulario();
}
}
}
actualizarEstadoActividad(objSolicitud, 4);
}
if (nActividad == 6)
{
actualizarEstadoActividad(objSolicitud, 5);
}
}
#endregion
if (nActividad > 2)
nActividad = 0;//SE ENVIA PARA REPROGRAMAR11
else
nActividad = 1;
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.FKACTIVIDAD = nActividad;
objSolicitudBL.objSolicitudEL.ORDEN = 0;
dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
if (dsEncargadosActividades.Tables[0].Rows.Count > 0)//SE LE ENVIA EL CORREO A TODOS LOS RESPONSABLES DE LAS OTRAS ACTIVIDADES
{
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
nPkSolicitud = Convert.ToInt32(row[1].ToString());//AQUI INSERTAMOS LA PK DE LA SOLICITUD
AyABL.TRA.correoBL objcorreoBL = new AyABL.TRA.correoBL();
objcorreoBL.objcorreoEL.FKNUMSOLICITUD = nPkSolicitud;
// objcorreoBL.objcorreoEL.CORREO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString() + "@aya.go.cr";
objcorreoBL.objcorreoEL.ASUNTO = "Devolución de actividad - SIGDD";
objcorreoBL.objcorreoEL.CONTENIDO = "La actividad " + Session["NACTIVIDAD"].ToString() + " de la solicitud N° " + Session["SOLICITUD"].ToString() + " ha sido devuelta para ver los detalles, " +
Session["NOMBREEMPLEADO"].ToString() + " - Devolución de la actividad: " + txtIngresoObsevacion.Text +
" ,ingrese al sistema <a href=http://" + HttpContext.Current.Request.Url.Authority + "/Forms/wfrLogin.> SIGDD</a>" + strPiePagina;
objcorreoBL.objcorreoEL.FKUSUARIO = Convert.ToInt32(row["FKUSUARIOXDEPENDENCIA"].ToString());
objcorreoBL.objcorreoEL.Fecha = DateTime.Now;
nValorRetornado = objcorreoBL.insertarCorreo();
}
}
#endregion
}
mostrarDatos();
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ingreso una nueva observacion por devolución de la actividad: " + Session["NACTIVIDAD"].ToString() + ", OBSERVACION:" + txtobservaciones.Text.Trim() + " para la solicitud numero: " + strNumSolicitudTMP,
"frwDevolucionActividadesSolicitud.aspx",
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
catch(Exception ex)
{
throw ex;
}
return nValorRetornado;
}
/// <summary>
/// Metodo que se utiliza para remover el role asignado al usuario
/// </summary>
/// <param name="p_nPk"></param>
private bool eliminarCartaSolicitud(int p_nPk) //M1
{
bool blnValorRetornado = false;
try
{
cartaBL objCartaBL = new cartaBL();
objCartaBL.objCartaEL.PK = p_nPk;
objCartaBL.objCartaEL.FKESTADOCARTA = 3;//eliminado
objCartaBL.activarInactivarCarta();
blnValorRetornado = true;
}
catch (Exception ex)
{
throw ex;
}
return blnValorRetornado;
}
public int actualizarEstadoActividad(solicitudBL p_objSolicitud,int p_nOrden)
{
int nResultadoActualizar = 0;
try
{
//Poner la actividad 2 programacion en pendiente(3)
solicitudBL objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.ORDEN = p_nOrden;
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
p_objSolicitud.objresponsableActividadEL.PK = int.Parse(row["PKRESPONSABLEACTIVIDAD"].ToString()); ;
p_objSolicitud.objresponsableActividadEL.FKESTADO = 3;//pendiente t_sgm_estadoactividad
nResultadoActualizar = p_objSolicitud.actualizarActividadSolicitud();
}
}
catch (Exception ex)
{
throw ex;
}
return nResultadoActualizar;
}
#endregion
#region Metodos Datos a Controles (R6)
/// <summary>
/// Muestra los datos del registro
/// </summary>
/// <param name="p_intPkConsultar"></param>
///
private void mostrarDatos() //M1
{
try
{
limpiarCampos();
objObservacionesBL = new ObservacionesActividadesBL();
objObservacionesBL.objobservacionesEL.PKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
objObservacionesBL.objobservacionesEL.PKPROGRAMACIONSOLICITUD = int.Parse(Session["PKPROGRAMACION"].ToString());
//objObservacionesBL.objobservacionesEL.PKACTIVIDAD = int.Parse(Session["NACTIVIDAD"].ToString());
objObservacionesBL.objobservacionesEL.ORDEN = int.Parse(Session["NACTIVIDAD"].ToString());
objObservacionesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString());
objObservacionesBL.objobservacionesEL.TIPO = 2;//DEVOLUCION
DataSet dsObservaciones = objObservacionesBL.dsListarObservacionesActividades(null);
if (dsObservaciones.Tables[0].Rows.Count > 0)
{
//Información de la cantonal
foreach (DataRow row in dsObservaciones.Tables[0].Rows)
{
txtobservaciones.Text += row["DESCRIPCIONOBSERVACIONACTIVIDAD"].ToString() + "\n";
}
}
else
{
}
}
catch (Exception ex)
{
throw ex;
}
}
private void limpiarCampos()
{
txtobservaciones.Text = string.Empty;
txtIngresoObsevacion.Text = string.Empty;
}
/// <summary>
/// Carga el grid principal
/// </summary>
/// <param name="p_Llenar"></param>
///
//private void buscarGridView() //M2
//{
// try
// {
// {
// objObservacionesBL = new ObservacionesBL();
// objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP;
// DataSet dsObservaciones = objObservacionesBL.dsListarObservaciones();
// }
// }
// catch (Exception ex)
// {
// throw ex;
// }
//}
#endregion
}