Mis solicitudes compra autorizadas

git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C421
This commit is contained in:
jmoya 2018-08-10 15:31:33 +00:00
parent ce0eb27dfd
commit 6566fb1d09
13 changed files with 353 additions and 5 deletions

View file

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013 # Visual Studio 2013
VisualStudioVersion = 12.0.40629.0 VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AYA.SlnSinort", "AYA.SlnSynor\AYA.SlnSinort.csproj", "{D672EAD6-E8C6-4374-B149-DED461546905}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AYA.SlnSinort", "AYA.SlnSynor\AYA.SlnSinort.csproj", "{D672EAD6-E8C6-4374-B149-DED461546905}"
EndProject EndProject

View file

@ -135,6 +135,10 @@ namespace AYA.SlnSinort.WCF
[OperationContract] [OperationContract]
SolicitudJSON ObtenerSolicitudUsuario(SolicitudJSON model); SolicitudJSON ObtenerSolicitudUsuario(SolicitudJSON model);
[OperationContract]
SolicitudJSON ObtenerSolicitudCompraAutorizadas(SolicitudJSON model);
[OperationContract] [OperationContract]
SolicitudJSON ObtenerPorTipo(SolicitudJSON model); SolicitudJSON ObtenerPorTipo(SolicitudJSON model);

View file

@ -1139,6 +1139,23 @@ namespace AYA.SlnSinort.WCF
return registros; return registros;
} }
public SolicitudJSON ObtenerSolicitudCompraAutorizadas(SolicitudJSON model)
{
SolicitudJSON registros = new SolicitudJSON();
try
{
registros = new SolicitudDAL().ObtenerSolicitudCompraAutorizadas(model);
}
catch (Exception ex)
{
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return registros;
}
public SolicitudJSON ObtenerPorTipo(SolicitudJSON model) public SolicitudJSON ObtenerPorTipo(SolicitudJSON model)
{ {

View file

@ -7448,6 +7448,7 @@
<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\MisSolicitudesCompra.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\ResponderMisEncuestas.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\ResponderMisEncuestas.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\VerEncuestas.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\VerEncuestas.js" />
<Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\MisSolicitudes.js" /> <Content Include="Sinort-Scripts\NormativaReglamentacionTecnica\MisSolicitudes.js" />
@ -7576,6 +7577,7 @@
<Content Include="Views\NormativaReglamentacionTecnica\MisEncuestas.cshtml" /> <Content Include="Views\NormativaReglamentacionTecnica\MisEncuestas.cshtml" />
<Content Include="Views\Reportes\Reporte.cshtml" /> <Content Include="Views\Reportes\Reporte.cshtml" />
<Content Include="Views\Reportes\FichaTecnica.cshtml" /> <Content Include="Views\Reportes\FichaTecnica.cshtml" />
<Content Include="Views\NormativaReglamentacionTecnica\MisSolicitudesCompra.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="App_Data\" /> <Folder Include="App_Data\" />

View file

@ -44,6 +44,12 @@ namespace AYA.SlnSinort.Controllers.NormativaReglamentacionTecnica
return View(); return View();
} }
public ActionResult MisSolicitudesCompra()
{
InitControllers();
return View();
}
public ActionResult VerSolicitudesCompra() public ActionResult VerSolicitudesCompra()
{ {
InitControllers(); InitControllers();

View file

@ -0,0 +1,111 @@
var Item = {};
var data;
var model = {};
var InfoIContenidoRelacionado;
var InfoIdProyectoNormativo;
jQuery(document).ready(function () {
CargarSolicitudes();
});
this.CargarSolicitudes = function () {
var uri = SinortWCF + '/api/ObtenerSolicitudCompraAutorizadas';
var model = {
UsuarioSistema: UsuarioSistema,
IdEstadoSolicitud: Estados.Confirmado.Codigo
}
AjaxPostData(uri, model, true, true, CargarTablaSolicitudes, null, null);
}
this.CargarTablaSolicitudes = function (data) {
if (data != null && data.Solicitudes != null) {
Solicitudes = data.Solicitudes;
var Seleccionar = $("#ucbtnVista").html();
$.each(Solicitudes, function (key, item) {
var texto = "Solicitud de " + item.DescripcionTipoSolicitud + " #" + item.IdSolicitud + " realizada por " + item.UsuarioSistema;
item.Titulo = texto;
});
var columnDefinition = [
{ "data": 'IdSolicitud', "visible": false },
{ "data": "Titulo" },
{ "data": "DescripcionTipoSolicitud" },
{ "data": "FechaCreacion", "render": function (value) { return DateFormatNoTime(value); } },
{ "data": null, className: "center", defaultContent: Seleccionar }
];
var contador = 0;
$('#tableSolicitudes').DataTable({
initComplete: function () {
$('#tableSolicitudes').TableInit(1, false, true, true, true, columnDefinition, Solicitudes);
}
});
if ($.fn.DataTable.isDataTable('#tableSolicitudes')) {
$('#tableSolicitudes').DataTable().search('').draw();
ENDREQUEST();
}
}
}
this.ObtenerSolicitud = function (id) {
var uri = SinortWCF + '/api/ObtenerSolicitud';
model = { Solicitud: { IdSolicitud: id } }
AjaxPostData(uri, model, false, false, CargarFormulario, null, null);
}
this.CargarFormulario = function (data) {
var model = data;
$("#txtDocumentoAdjunto").val(model.Solicitud.DescripcionDocumento);
$("#txtUsuarioSistema").val(model.Solicitud.UsuarioSistema);
$("#txtCargoActual").val(model.Solicitud.CargoActual);
$("#txtNombreAreaFuncional").val(model.Solicitud.NombreAreaFuncional);
$("#txtNombreSubgerencia").val(model.Solicitud.NombreSubgerencia);
$("#txtNombreSuperior").val(model.Solicitud.NombreSuperior);
$("#txtNombreDocumentoTecnico").val(model.Solicitud.NombreDocumentoTecnico);
$("#txtAreaAplicacionDocumentoTecnico").val(model.Solicitud.AreaAplicacionDocumentoTecnico.Descripcion);
$("#txtAreaJustifiacion").val(model.Solicitud.JustifiacionSolicitud);
$("#txtEstadoSolicitud").val(model.Solicitud.Estado1.Descripcion);
ENDREQUEST();
}
$('#tableSolicitudes').on('click', 'button', function () {
var tabla = $('#tableSolicitudes').DataTable().row($(this).parents('tr')).data();
InfoIContenidoRelacionado = tabla.Titulo;
InfoIdProyectoNormativo = tabla.IdSolicitud;
var solicitud = $("#ucSolicitud").html();
solicitud = replaceAll('[$Solicitud]', InfoIContenidoRelacionado, solicitud);
$('#solicitudVer').empty();
$('#solicitudVer').append(solicitud);
$('#modalVer').modal('show');
$("#txtTitulo").val(InfoIContenidoRelacionado);
ObtenerSolicitud(InfoIdProyectoNormativo);
});

View file

@ -346,7 +346,8 @@ this.LeerFormulario = function () {
NombreDocumentoTecnico: $("#txtNombreDocumentoTecnico").val(), NombreDocumentoTecnico: $("#txtNombreDocumentoTecnico").val(),
IdAreaAplicacionDocumentoTecnico: $("#hiddenAreaAplicacionDocumentoTecnico").val(), IdAreaAplicacionDocumentoTecnico: $("#hiddenAreaAplicacionDocumentoTecnico").val(),
JustifiacionSolicitud: $("#txtAreaJustifiacion").val(), JustifiacionSolicitud: $("#txtAreaJustifiacion").val(),
IdEstadoSolicitud: $("#hiddenEstadoSolicitud").val() IdEstadoSolicitud: $("#hiddenEstadoSolicitud").val(),
Estado: 1
} }
model.Solicitud = Solicitud; model.Solicitud = Solicitud;

View file

@ -502,7 +502,8 @@ this.ActualizarEstadoSolicitud = function ()
NombreSuperior: Solicitud.NombreSuperior, NombreSuperior: Solicitud.NombreSuperior,
NombreDocumentoTecnico: Solicitud.NombreDocumentoTecnico, NombreDocumentoTecnico: Solicitud.NombreDocumentoTecnico,
IdAreaAplicacionDocumentoTecnico: Solicitud.IdAreaAplicacionDocumentoTecnico, IdAreaAplicacionDocumentoTecnico: Solicitud.IdAreaAplicacionDocumentoTecnico,
JustifiacionSolicitud: Solicitud.JustifiacionSolicitud JustifiacionSolicitud: Solicitud.JustifiacionSolicitud,
Estado: 1
} }
} }
else{ else{
@ -521,7 +522,8 @@ this.ActualizarEstadoSolicitud = function ()
NombreSuperior: Solicitud.NombreSuperior, NombreSuperior: Solicitud.NombreSuperior,
NombreDocumentoTecnico: Solicitud.NombreDocumentoTecnico, NombreDocumentoTecnico: Solicitud.NombreDocumentoTecnico,
IdAreaAplicacionDocumentoTecnico: Solicitud.IdAreaAplicacionDocumentoTecnico, IdAreaAplicacionDocumentoTecnico: Solicitud.IdAreaAplicacionDocumentoTecnico,
JustifiacionSolicitud: Solicitud.JustifiacionSolicitud JustifiacionSolicitud: Solicitud.JustifiacionSolicitud,
Estado: 1
} }
} }

View file

@ -0,0 +1,173 @@

@{
ViewBag.Title = "MisSolicitudesCompra";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<form id="formSolicitudes" class="form-horizontal" role="form">
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<div class="panel-body"> <h3>&nbsp;<i class="fa fa-file-text"></i>&nbsp;Mis Solicitudes de Compra Autorizadas</h3> </div>
<div style="background-color: #fff">
<div class="panel-body">
<br />
<div>
<table id="tableSolicitudes" class="table table-condensed dataTable no-footer">
<thead>
<tr>
<th class="col-sm-1">ID</th>
<th class="col-sm-5">Título</th>
<th class="col-sm-3">Tipo</th>
<th class="col-sm-4">Creado</th>
<th class="col-sm-2">Acción</th>
</tr>
</thead>
</table>
</div>
<div id="ucbtnVista" style=" display:none;">
<button type="button" id="btnseleccionar" class="btn btn-default btn-xs">
<i class="fa fa-search"></i>&nbsp;&nbsp;Ver
</button>
</div>
</div>
</div>
</form>
<div id="ucSolicitud" style="display:none;">
<span>
[$Solicitud]
</span>
</div>
@section Modals{
@*---------------------Ver Solicitud---------------------------------------------------------*@
<div class="modal fade" id="modalVer" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="display: none;z-index:1600;">
<div class="modal-dialog modal-lg" style="width:90%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="solicitudVer">[$Solicitud]</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
@*---------------------Titulo---------------------------------------------------------*@
<div class="form-group " id="divTitulo">
<label class="col-sm-4 control-label ControlsForms" id="lblTitulo">Título</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6">
<input name="txtTitulo" class="form-control imput-xs" id="txtTitulo" readonly style="cursor: not-allowed;" />
</div>
</div>
@*---------------------Documento adjunto---------------------------------------------------------*@
<div class="form-group " id="divDocumentoAdjunto">
<label class="col-sm-4 control-label ControlsForms" id="lblDocumentoAdjunto">Documento Adjunto</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6">
<input name="txtDocumentoAdjunto" class="form-control imput-xs" id="txtDocumentoAdjunto" readonly style="cursor: not-allowed;" />
</div>
</div>
@*---------------------Usuario Sistema---------------------------------------------------------*@
<div class="form-group " id="divUsuarioSistema">
<label class="col-sm-4 control-label ControlsForms" id="lblUsuarioSistema">Usuario</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6">
<input name="txtUsuarioSistema" class="form-control imput-xs" id="txtUsuarioSistema" readonly style="cursor: not-allowed;" />
</div>
</div>
@*---------------------Cargo Actual---------------------------------------------------------*@
<div class="form-group " id="divCargoActual">
<label class="col-sm-4 control-label ControlsForms" id="lblCargoActual">Cargo actual</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6 ">
<input name="txtCargoActual" class="form-control imput-xs" id="txtCargoActual" readonly style="cursor: not-allowed;" />
</div>
</div>
@*---------------------Nombre Area Funcional---------------------------------------------------------*@
<div class="form-group " id="divNombreAreaFuncional">
<label class="col-sm-4 control-label ControlsForms" id="lblNombreAreaFuncional">Nombre del área funcional inmediata</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6 ">
<input name="txtNombreAreaFuncional" class="form-control imput-xs" id="txtNombreAreaFuncional" readonly style="cursor: not-allowed;" />
</div>
</div>
@*---------------------Nombre Subgerencia---------------------------------------------------------*@
<div class="form-group " id="divNombreSubgerencia">
<label class="col-sm-4 control-label ControlsForms" id="lblNombreSubgerencia">Nombre de la subgerencia</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6 ">
<input name="txtNombreSubgerencia" class="form-control imput-xs" id="txtNombreSubgerencia" readonly style="cursor: not-allowed;" />
</div>
</div>
</div>
<div class="col-md-6">
@*---------------------Nombre Superior---------------------------------------------------------*@
<div class="form-group" id="divNombreSuperior">
<label class="col-sm-4 control-label ControlsForms" id="lblNombreSuperior">Nombre del superior inmediato</label>
<div class="input-group input-group-sm col-lg-8 col-md-6 col-sm-6 col-xs-6">
<input id="hiddenNombreSuperior" type="hidden">
<input name="txtNombreSuperior" title="" class="form-control TextBoxCatalogo inputWarning error" id="txtNombreSuperior" required="required" type="text" readonly="readonly" data-original-title="" style="cursor: not-allowed;">
</div>
</div>
@*---------------------Nombre Documento Tecnico---------------------------------------------------------*@
<div class="form-group " id="divNombreDocumentoTecnico">
<label class="col-sm-4 control-label ControlsForms" id="lblNombreDocumentoTecnico">Nombre del documento técnico</label>
<div class="input-group col-lg-8 col-md-6 col-sm-6 col-xs-6 ">
<input name="txtNombreDocumentoTecnico" class="form-control imput-xs" id="txtNombreDocumentoTecnico" readonly style="cursor: not-allowed;" />
</div>
</div>
@*---------------------Area Aplicacion Documento Tecnico---------------------------------------------------------*@
<div class="form-group" id="divAreaAplicacionDocumentoTecnico">
<label class="col-sm-4 control-label ControlsForms" id="lblAreaAplicacionDocumentoTecnico">Área de aplicación del documento técnico</label>
<div class="input-group input-group-sm col-lg-8 col-md-6 col-sm-6 col-xs-6">
<input name="txtAreaAplicacionDocumentoTecnico" class="form-control imput-xs" id="txtAreaAplicacionDocumentoTecnico" readonly style="cursor: not-allowed;">
</div>
</div>
@*---------------------Justifiacion Solicitud---------------------------------------------------------*@
<div class="form-group " id="divJustifiacion">
<label class="col-sm-4 control-label ControlsForms" id="lblJustifiacion">Justificación de la solicitud</label>
<div class="input-group input-group-sm col-lg-8 col-md-8 col-sm-8 col-xs-8">
<textarea name="txtAreaJustifiacion" rows="6" cols="60" id="txtAreaJustifiacion" style="resize: none; cursor: not-allowed;" readonly></textarea>
</div>
</div>
@*---------------------Estado Solicitud---------------------------------------------------------*@
<div class="form-group" id="divEstadoSolicitud">
<label class="col-sm-4 control-label ControlsForms" id="lblEstadoSolicitud">Estado de la solicitud</label>
<div class="input-group input-group-sm col-lg-8 col-md-6 col-sm-6 col-xs-6">
<input id="hiddenEstadoSolicitud" type="hidden">
<input name="txtEstadoSolicitud" title="" class="form-control TextBoxCatalogo inputWarning error" id="txtEstadoSolicitud" required="required" type="text" readonly="readonly" data-original-title="" style="cursor: not-allowed;">
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button id="btnCerrarVer" type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
}
@section scripts{
@Scripts.Render("~/Sinort-Scripts/NormativaReglamentacionTecnica/MisSolicitudesCompra.js")
}

View file

@ -160,6 +160,7 @@
<li><a href="javascript: EntrarPantallaSolicitud('2');"> Compra de documento técnica </a></li> <li><a href="javascript: EntrarPantallaSolicitud('2');"> Compra de documento técnica </a></li>
<li><a href="javascript: EntrarPantallaSolicitud('3');"> Modificación de documento </br> técnico</a></li> <li><a href="javascript: EntrarPantallaSolicitud('3');"> Modificación de documento </br> técnico</a></li>
<li><a href="@Url.Action("MisSolicitudes", "NormativaReglamentacionTecnica")"> Ver mis solicitudes </a></li> <li><a href="@Url.Action("MisSolicitudes", "NormativaReglamentacionTecnica")"> Ver mis solicitudes </a></li>
<li><a href="javascript: ValidarAcceder('MisSolicitudesCompra','NormativaReglamentacionTecnica','Ver mis solicitudes de compra autorizadas');"> Ver mis solicitudes</br>de compra autorizadas </a></li>
<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="javascript: ValidarAcceder('CrearEncuesta','NormativaReglamentacionTecnica','Super Usuario');"> Crear encuesta </a></li> <li><a href="javascript: ValidarAcceder('CrearEncuesta','NormativaReglamentacionTecnica','Super Usuario');"> Crear encuesta </a></li>

View file

@ -55,7 +55,7 @@ namespace AYA.SlnSinortModel.DAL.Sinort
{ {
registros.Solicitudes = db.Solicitud registros.Solicitudes = db.Solicitud
.Where(x => x.Estado == true || x.UsuarioSistema.ToString() == model.UsuarioSistema || .Where(x => x.Estado == true && x.UsuarioSistema.ToString() == model.UsuarioSistema ||
x.IdTipoSolicitud == model.IdTipoSolicitud).AsNoTracking() x.IdTipoSolicitud == model.IdTipoSolicitud).AsNoTracking()
.OrderBy(x => x.IdTipoSolicitud) .OrderBy(x => x.IdTipoSolicitud)
.ToList(); .ToList();
@ -73,6 +73,35 @@ namespace AYA.SlnSinortModel.DAL.Sinort
return registros; return registros;
} }
public SolicitudJSON ObtenerSolicitudCompraAutorizadas(SolicitudJSON model)
{
SolicitudJSON registros = new SolicitudJSON();
try
{
using (SinortContex db = new SinortContex())
{
registros.Solicitudes = db.Solicitud
.Where(x => x.Estado == true && x.UsuarioSistema.ToString() == model.UsuarioSistema &&
x.IdEstadoSolicitud == model.IdEstadoSolicitud).AsNoTracking()
.OrderBy(x => x.IdTipoSolicitud)
.ToList();
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
}
catch (Exception ex)
{
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return registros;
}
public SolicitudJSON ObtenerPorTipo(SolicitudJSON model) public SolicitudJSON ObtenerPorTipo(SolicitudJSON model)
{ {

View file

@ -96,6 +96,8 @@ namespace AYA.SlnSinortModel.Entidades
public string UsuarioSistema { get; set; } public string UsuarioSistema { get; set; }
public string Mensaje { get; set; } public string Mensaje { get; set; }
public int? IdEstadoSolicitud { get; set; }
} }
public class EncuestaJSON : BaseJson public class EncuestaJSON : BaseJson