This commit is contained in:
jmoya 2018-08-07 16:57:58 +00:00
parent 395e7eebe7
commit 86af65d860
11 changed files with 267 additions and 99 deletions

View file

@ -7405,7 +7405,8 @@
<Content Include="Sinort-Scripts\Global.js" /> <Content Include="Sinort-Scripts\Global.js" />
<Content Include="Sinort-Scripts\Login.js" /> <Content Include="Sinort-Scripts\Login.js" />
<Content Include="Sinort-Scripts\Mantenimientos.js" /> <Content Include="Sinort-Scripts\Mantenimientos.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\MisEncuestas.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\ResponderMisEncuestas.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\VerEncuestas.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\MisSolicitudes.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\MisSolicitudes.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\ResponderEncuesta.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\ResponderEncuesta.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\Solicitud.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\Solicitud.js" />
@ -7526,7 +7527,8 @@
<Content Include="Views\NormativaReglamentacionTecnica\CrearEncuesta.cshtml" /> <Content Include="Views\NormativaReglamentacionTecnica\CrearEncuesta.cshtml" />
<Content Include="Views\Reportes\Aplicacion.cshtml" /> <Content Include="Views\Reportes\Aplicacion.cshtml" />
<Content Include="Views\NormativaReglamentacionTecnica\ResponderEncuesta.cshtml" /> <Content Include="Views\NormativaReglamentacionTecnica\ResponderEncuesta.cshtml" />
<Content Include="Views\NormativaReglamentacionTecnica\MisEncuestas.cshtml" /> <Content Include="Views\NormativaReglamentacionTecnica\VerEncuestas.cshtml" />
<Content Include="Views\NormativaReglamentacionTecnica\ResponderMisEncuestas.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="App_Data\" /> <Folder Include="App_Data\" />

View file

@ -55,10 +55,17 @@ namespace AYA.SlnSinort.Controllers.NormativaReglamentacionTecnica
InitControllers(); InitControllers();
return View(); return View();
} }
public ActionResult MisEncuestas() public ActionResult VerEncuestas()
{ {
InitControllers(); InitControllers();
return View(); return View();
} }
public ActionResult ResponderMisEncuestas()
{
InitControllers();
return View();
}
} }
} }

View file

@ -5,6 +5,7 @@ var RepositorioVirtual = $("#hiddenRepositorioVirtual").val();
var RepositorioLocal = $("#hiddenRepositorioLocal").val(); var RepositorioLocal = $("#hiddenRepositorioLocal").val();
var UsuarioSistema = $("#hiddenUsuarioSistema").val(); var UsuarioSistema = $("#hiddenUsuarioSistema").val();
var NombreUsuario = $("#hiddenNombreUsuario").val(); var NombreUsuario = $("#hiddenNombreUsuario").val();
var esSuperUsuario = false;
var server = window.location.protocol + "//" + "localhost" + "/" + (window.location.pathname.split('/')[1]) + "/"; var server = window.location.protocol + "//" + "localhost" + "/" + (window.location.pathname.split('/')[1]) + "/";
var SinorLoginWCF = "http://localhost/AYA.SlnSinort.WCF/Sinort.svc"; var SinorLoginWCF = "http://localhost/AYA.SlnSinort.WCF/Sinort.svc";
@ -194,6 +195,43 @@ this.ObtenerParametros = function (url) {
return obj; return obj;
} }
//verifica si el usuario conectado es tiene el rol pantalla de superusuario
this.ObtenerRolPantalla = function () {
var uri = CatalogosWCF + '/api/ObtenerRolesPantalla';
var model = {
codigo: Pantallas.SuperUser.Codigo
};
AjaxPostData(uri, model, true, false, ObtenerUsuarioRol, null, null);
}
this.ObtenerUsuarioRol = function (data) {
var modelPost = {
listaCodigos: []
};
$.each(data, function (key, item) {
modelPost.listaCodigos.push(item.IdRol);
});
//funcional experto
//if (modelPost.listaCodigos.indexOf(1) == -1)
// modelPost.listaCodigos.push(Roles.FuncionalExperto.Codigo);
var uri = CatalogosWCF + '/api/ObtenerUsuariosRol';
AjaxPostData(uri, modelPost, true, false, VerificarSuperusuario, null, null);
}
this.VerificarSuperusuario = function (data) {
$.each(data, function (key, item) {
if (item.UsuarioSistema == UsuarioSistema) {
esSuperUsuario = true;
}
});
}
this.RequiredToDisabled = function (controlId) { this.RequiredToDisabled = function (controlId) {
@ -1816,6 +1854,7 @@ this.ObtenerDatosUsuario = function () {
$('#nombreusuario').empty(); $('#nombreusuario').empty();
$('#nombreusuario').append(usuario); $('#nombreusuario').append(usuario);
} }
this.ObtenerCantidadTareasPendientes = function () { this.ObtenerCantidadTareasPendientes = function () {

View file

@ -37,7 +37,7 @@ this.CrearEncuesta = function (data) {
.applyTheme("darkblue"); .applyTheme("darkblue");
survey.locale = "es"; survey.locale = "es";
survey.title = data.DetalleEncuestas[0].EncabezadoEncuesta.Descripcion; survey.title = data.DetalleEncuestas[0].EncabezadoEncuesta.Descripcion + " - Respuestas de: " + Usuario;
survey.showProgressBar = "top"; survey.showProgressBar = "top";
var page = {}; var page = {};

View file

@ -0,0 +1,82 @@
var Item = {};
var data;
var IdEncabezadoEncuesta;
var Estado;
jQuery(document).ready(function () {
getDataModel();
CargarEncuestas();
});
this.getDataModel = function () {
$('#tableEncuestas').TableInit(0, false, true, true, false, null, null);
$('#tableEncuestas').DataTable().column(0).visible(false);
$('#tableEncuestas').DataTable().column(1).visible(false);
Estado = 0;
}
this.CargarEncuestas = function () {
var uri = SinortWCF + '/api/ObtenerEncabezadoEncuesta';
var model = {
UsuarioSistema: UsuarioSistema,
Estado: Estado
}
AjaxPostData(uri, model, false, false, CargarTablaEncuestas, null, null);
}
this.CargarTablaEncuestas = function (data) {
if (data != null && data.UsuariosEncuestas != null) {
Encuesta = data.UsuariosEncuestas;
var TableItems = $('#tableEncuestas').DataTable();
$.each(Encuesta, function (key, item) {
var Seleccionar = $("#ucbtnRespuesta").html();
TableItems.row.add([item.IdEncabezadoEncuesta,
item.Estado,
item.EncabezadoEncuesta.Descripcion,
Seleccionar]).draw();
});
ENDREQUEST();
}
}
$('#tableEncuestas').on('click', 'button', function () {
var data = $('#tableEncuestas').DataTable().row($(this).parents('tr')).data();
//if (data.PromotorProyecto != UsuarioSistema) {
// if (ValidarPermisos('Accesar expediente de propuesta normativa').length <= 0 || data.IdEstado == Estados.Contruccion.Codigo) {
// toastr.warning(Message_NoGrants, Message_Warning);
// return;
// }
//}
IdEncabezadoEncuesta = data[0].toString();
url = $("#hiddenHref").val();
url = url.replace("View", "ResponderEncuesta");
url = url.replace("Controller", "NormativaReglamentacionTecnica");
url = url.replace("[$ID]", ROT47(data[0].toString()));
url = url.replace("[$ESTADO]", ROT47(Estado.toString()));
url = url.replace("[$USUARIO]", UsuarioSistema);
document.location.href = url;
});

View file

@ -1,34 +1,51 @@
var Item = {}; var Item = {};
var data; var data;
var esSu = false;
var IdEncabezadoEncuesta; var IdEncabezadoEncuesta;
var Estado; var Estado;
jQuery(document).ready(function () { jQuery(document).ready(function () {
ObtenerRolPantalla();
CargarEncuestas();
getDataModel(); getDataModel();
}); });
this.getDataModel = function ()
{ this.getDataModel = function () {
$('#tableEncuestas').TableInit(0, false, true, true, false, null, null); $('#tableEncuestas').TableInit(0, false, true, true, false, null, null);
$('#tableEncuestas').DataTable().column(0).visible(false); $('#tableEncuestas').DataTable().column(0).visible(false);
$('#tableEncuestas').DataTable().column(1).visible(false); $('#tableEncuestas').DataTable().column(1).visible(false);
Estado = 1;
//if (esSuperUsuario) {
//}
//else {
//}
CargarEncuestas();
} }
this.CargarEncuestas = function () { this.CargarEncuestas = function () {
var uri = SinortWCF + '/api/ObtenerEncabezadoEncuesta'; var uri = SinortWCF + '/api/ObtenerEncabezadoEncuesta';
if (esSu) if (esSuperUsuario) {
{ var encabezado;
encabezado = $("#ucEnc").html();
encabezado = replaceAll('[$ENCABEZADO]', "Ver Encuestas", encabezado);
$('#encabezado').empty();
$('#encabezado').append(encabezado);
var model = { var model = {
UsuarioSistema: null UsuarioSistema: null,
Estado: Estado
} }
} }
else{ else {
var encabezado;
encabezado = $("#ucEnc").html();
encabezado = replaceAll('[$ENCABEZADO]', "Mis Encuestas", encabezado);
$('#encabezado').empty();
$('#encabezado').append(encabezado);
var model = { var model = {
UsuarioSistema: UsuarioSistema UsuarioSistema: UsuarioSistema,
Estado: Estado
} }
} }
AjaxPostData(uri, model, false, false, CargarTablaEncuestas, null, null); AjaxPostData(uri, model, false, false, CargarTablaEncuestas, null, null);
@ -48,12 +65,12 @@ this.CargarTablaEncuestas = function (data) {
var Seleccionar = $("#ucbtnRespuesta").html(); var Seleccionar = $("#ucbtnRespuesta").html();
if (item.Estado == false) { //if (item.Estado == false) {
Seleccionar = replaceAll('[$DESCRIPCION]', 'Responder', Seleccionar); // Seleccionar = replaceAll('[$DESCRIPCION]', 'Responder', Seleccionar);
} //}
else { //else {
Seleccionar = replaceAll('[$DESCRIPCION]', 'Ver Respuestas', Seleccionar); // Seleccionar = replaceAll('[$DESCRIPCION]', 'Ver Respuestas', Seleccionar);
} //}
TableItems.row.add([item.IdEncabezadoEncuesta, TableItems.row.add([item.IdEncabezadoEncuesta,
item.Estado, item.Estado,
item.EncabezadoEncuesta.Descripcion, item.EncabezadoEncuesta.Descripcion,
@ -65,42 +82,7 @@ this.CargarTablaEncuestas = function (data) {
} }
} }
this.ObtenerRolPantalla = function () {
var uri = CatalogosWCF + '/api/ObtenerRolesPantalla';
var model = {
codigo: Pantallas.SuperUser.Codigo
};
AjaxPostData(uri, model, false, false, ObtenerUsuarioRol, null, null);
}
this.ObtenerUsuarioRol = function (data) {
var modelPost = {
listaCodigos: []
};
$.each(data, function (key, item) {
modelPost.listaCodigos.push(item.IdRol);
});
if (modelPost.listaCodigos.indexOf(1) == -1)
modelPost.listaCodigos.push(Roles.FuncionalExperto.Codigo);
var uri = CatalogosWCF + '/api/ObtenerUsuariosRol';
AjaxPostData(uri, modelPost, false, false, VerificarSuperusuario, null, null);
}
this.VerificarSuperusuario = function (data) {
$.each(data, function (key, item) {
if (item.UsuarioSistema == UsuarioSistema)
{
esSu = true;
}
});
}
this.CargarUsuarios = function () { this.CargarUsuarios = function () {
var uri = SinortWCF + '/api/ObtenerUsuariosEncuestas'; var uri = SinortWCF + '/api/ObtenerUsuariosEncuestas';
@ -149,21 +131,21 @@ $('#tableEncuestas').on('click', 'button', function () {
//} //}
IdEncabezadoEncuesta = data[0].toString(); IdEncabezadoEncuesta = data[0].toString();
Estado = data[1];
if (esSu) { if (esSuperUsuario) {
$('#modalUsuario').modal('show'); $('#modalUsuario').modal('show');
CargarUsuarios(); CargarUsuarios();
} }
else { else {
url = $("#hiddenHref").val(); url = $("#hiddenHref").val();
url = url.replace("View", "ResponderEncuesta"); url = url.replace("View", "ResponderEncuesta");
url = url.replace("Controller", "NormativaReglamentacionTecnica"); url = url.replace("Controller", "NormativaReglamentacionTecnica");
url = url.replace("[$ID]", ROT47(data[0].toString())); url = url.replace("[$ID]", ROT47(data[0].toString()));
url = url.replace("[$ESTADO]", ROT47(data[1] != "true" ? "0" : "1")); url = url.replace("[$ESTADO]", ROT47(Estado.toString()));
url = url.replace("[$USUARIO]", UsuarioSistema); url = url.replace("[$USUARIO]", UsuarioSistema);
document.location.href = url; document.location.href = url;
} }
@ -176,13 +158,13 @@ $('#tableUsuario').on('click', 'button', function () {
var datos = $('#tableUsuario').DataTable().row($(this).parents('tr')).data(); var datos = $('#tableUsuario').DataTable().row($(this).parents('tr')).data();
url = $("#hiddenHref").val(); url = $("#hiddenHref").val();
url = url.replace("View", "ResponderEncuesta"); url = url.replace("View", "ResponderEncuesta");
url = url.replace("Controller", "NormativaReglamentacionTecnica"); url = url.replace("Controller", "NormativaReglamentacionTecnica");
url = url.replace("[$ID]", ROT47(IdEncabezadoEncuesta)); url = url.replace("[$ID]", ROT47(IdEncabezadoEncuesta));
url = url.replace("[$ESTADO]", ROT47(Estado != "true" ? "0" : "1")); url = url.replace("[$ESTADO]", ROT47(Estado.toString()));
url = url.replace("[$USUARIO]", datos.UsuarioSistema); url = url.replace("[$USUARIO]", datos.UsuarioSistema);
document.location.href = url; document.location.href = url;
$('#modalUsuario').modal('hide'); $('#modalUsuario').modal('hide');

View file

@ -0,0 +1,45 @@

@{
ViewBag.Title = "ResponderMisEncuestas";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<input type="hidden" id="hiddenHref" value="@string.Concat(Url.Action("View", "Controller", null), ViewBag.QueryEncripted)?encuestaid=[$ID]&estado=[$ESTADO]&usuario=[$USUARIO]">
<form id="formEncuestas" class="form-horizontal" role="form">
<div class="panel-body"> <h3 id="encabezado">&nbsp;<i class="glyphicon glyphicon-list-alt"></i>&nbsp; Responder mis encuestas </h3> </div>
<div style="background-color: #fff">
<div class="panel-body">
<br />
<div>
<table id="tableEncuestas" class="table table-condensed dataTable no-footer">
<thead>
<tr>
<th class="col-sm-1">ID</th>
<th class="col-sm-1">Estado</th>
<th class="col-sm-5">Título</th>
<th class="col-sm-5">Acción</th>
</tr>
</thead>
</table>
</div>
<div id="ucbtnRespuesta" style=" display:none;">
<button type="button" id="btnseleccionar" class="btn btn-default btn-xs">
<i class="fa fa-edit"></i>&nbsp;&nbsp;Responder
</button>
</div>
</div>
</div>
</form>
@section scripts{
@Scripts.Render("~/Sinort-Scripts/NormativaReglamentacionTecnica/ResponderMisEncuestas.js")
}

View file

@ -1,13 +1,13 @@
 
@{ @{
ViewBag.Title = "MisEncuestas"; ViewBag.Title = "VerEncuestas";
Layout = "~/Views/Shared/_Layout.cshtml"; Layout = "~/Views/Shared/_Layout.cshtml";
} }
<input type="hidden" id="hiddenHref" value="@string.Concat(Url.Action("View", "Controller", null), ViewBag.QueryEncripted)?encuestaid=[$ID]&estado=[$ESTADO]&usuario=[$USUARIO]"> <input type="hidden" id="hiddenHref" value="@string.Concat(Url.Action("View", "Controller", null), ViewBag.QueryEncripted)?encuestaid=[$ID]&estado=[$ESTADO]&usuario=[$USUARIO]">
<form id="formEncuestas" class="form-horizontal" role="form"> <form id="formEncuestas" class="form-horizontal" role="form">
<div class="panel-body"> <h3>&nbsp;<i class="glyphicon glyphicon-list-alt"></i>&nbsp; Mis Encuestas </h3> </div> <div class="panel-body" > <h3 id="encabezado">&nbsp;<i class="glyphicon glyphicon-list-alt"></i>&nbsp; [$ENCABEZADO] </h3> </div>
<div style="background-color: #fff"> <div style="background-color: #fff">
<div class="panel-body"> <div class="panel-body">
<br /> <br />
@ -27,7 +27,7 @@
<div id="ucbtnRespuesta" style=" display:none;"> <div id="ucbtnRespuesta" style=" display:none;">
<button type="button" id="btnseleccionar" class="btn btn-default btn-xs"> <button type="button" id="btnseleccionar" class="btn btn-default btn-xs">
<i class="fa fa-edit"></i>&nbsp;&nbsp;[$DESCRIPCION] <i class="fa fa-edit"></i>&nbsp;&nbsp;Ver Respuestas
</button> </button>
</div> </div>
</div> </div>
@ -37,9 +37,11 @@
</form> </form>
<div id="ucDesc" style="display:none;">
<div id="ucEnc" style="display:none;">
<span> <span>
[$DESCRIPCION] [$ENCABEZADO]
</span> </span>
</div> </div>
@ -84,6 +86,6 @@
@section scripts{ @section scripts{
@Scripts.Render("~/Sinort-Scripts/NormativaReglamentacionTecnica/MisEncuestas.js") @Scripts.Render("~/Sinort-Scripts/NormativaReglamentacionTecnica/VerEncuestas.js")
} }

View file

@ -163,8 +163,8 @@
<span><i class="fa fa-circle text-success"> Sitios</i> </span> <span><i class="fa fa-circle text-success"> Sitios</i> </span>
<li><a href="@Url.Action("CrearEncuesta", "NormativaReglamentacionTecnica")"> Crear encuesta </a></li> <li><a href="@Url.Action("CrearEncuesta", "NormativaReglamentacionTecnica")"> Crear encuesta </a></li>
@*<li><a href="@Url.Action("ResponderEncuesta", "NormativaReglamentacionTecnica")"> Responder encuesta </a></li>*@ <li><a href="@Url.Action("ResponderMisEncuestas", "NormativaReglamentacionTecnica")"> Responder mis encuestas </a></li>
<li><a href="@Url.Action("MisEncuestas", "NormativaReglamentacionTecnica")"> Ver mis encuestas </a></li> <li><a href="@Url.Action("VerEncuestas", "NormativaReglamentacionTecnica")"> Ver encuestas </a></li>
<span><i class="fa fa-circle text-success"> Administar</i> </span> <span><i class="fa fa-circle text-success"> Administar</i> </span>
<li><a href="@Url.Action("FichaTecnica", "NormativaReglamentacionTecnica")"> Ficha Técnica</a></li> <li><a href="@Url.Action("FichaTecnica", "NormativaReglamentacionTecnica")"> Ficha Técnica</a></li>
<li><a href="#"> Ver fichas técnicas inactivas</a></li> <li><a href="#"> Ver fichas técnicas inactivas</a></li>
@ -293,8 +293,10 @@
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function () { $(document).ready(function () {
ObtenerDatosUsuario(); ObtenerDatosUsuario();
ObtenerRolPantalla();
ObtenerCantidadTareasPendientes(); ObtenerCantidadTareasPendientes();
ObtenerCantidadGotitasPendientes(); ObtenerCantidadGotitasPendientes();
}); });
</script> </script>

View file

@ -145,8 +145,7 @@ namespace AYA.SlnSinortModel.DAL.Sinort
} }
public EncuestaJSON ObtenerEncabezadoEncuesta(EncuestaJSON model) public EncuestaJSON ObtenerEncabezadoEncuesta(EncuestaJSON model)
{ {
List<UsuariosEncuesta> listaEncuestas = new List<UsuariosEncuesta>();
EncuestaJSON registros = new EncuestaJSON();
try try
{ {
@ -154,31 +153,38 @@ namespace AYA.SlnSinortModel.DAL.Sinort
{ {
if (model.UsuarioSistema != null) if (model.UsuarioSistema != null)
{ {
registros.UsuariosEncuestas = db.UsuariosEncuesta model.UsuariosEncuestas = db.UsuariosEncuesta
.Include(q => q.EncabezadoEncuesta) .Include(q => q.EncabezadoEncuesta)
.Where(x => x.UsuarioSistema == model.UsuarioSistema).AsNoTracking() .Where(x => x.UsuarioSistema == model.UsuarioSistema && x.Estado == model.Estado ).AsNoTracking()
.ToList(); .ToList();
} }
else { else
registros.UsuariosEncuestas = db.UsuariosEncuesta {
model.UsuariosEncuestas = new List<UsuariosEncuesta>();
listaEncuestas = db.UsuariosEncuesta
.Include(q => q.EncabezadoEncuesta) .Include(q => q.EncabezadoEncuesta)
.Where(x => x.Estado == true).AsNoTracking() .Where(x => x.Estado == model.Estado).AsNoTracking()
.ToList(); .ToList();
foreach (var encuesta in listaEncuestas)
{
if (!model.UsuariosEncuestas.Any(q => q.IdEncabezadoEncuesta == encuesta.IdEncabezadoEncuesta))
model.UsuariosEncuestas.Add(encuesta);
}
} }
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex); log.Error(ex);
} }
return registros; return model;
} }
public EncuestaJSON ObtenerDetalleEncuesta(EncuestaJSON model) public EncuestaJSON ObtenerDetalleEncuesta(EncuestaJSON model)
@ -325,7 +331,8 @@ namespace AYA.SlnSinortModel.DAL.Sinort
return model; return model;
} }
public EncuestaJSON ObtenerUsuariosEncuestas(EncuestaJSON model){ public EncuestaJSON ObtenerUsuariosEncuestas(EncuestaJSON model)
{
try try