TFS_ANTIGUO/SInCathay/ULA.Cathay.Credito/Ultimus.Framework/IngresoCliente/Ultimus.API.IngresoCliente.ActualizarOperacionesCliente.js

588 lines
22 KiB
JavaScript

$("#formActualizarOperacionesCliente").EnableValidationToolTip();
var IdSolicitud = $("#hidden_co_solicitud").val();
var TasaCambios = 0;
var TasaBasePasiva = 0;
var TasaBasePrime = 0;
var ObjBpResponse = null;
var ObjOperacion = null;
var OfertaSolicitud = null;
var Facilidad = null;
var Linea = false; //Determina que son solo especificos
var NuevaGarantia = false;
var NuevaComision = false;
var Etapas = {
RE_Ela_Caratula: ($("#hiddenStep").val() == "RE_Ela_Caratula" ? true : false),
};
jQuery(document).ready(function () {
if (Etapas.RE_Ela_Caratula == true)
$('#btnImprimirCaratulaLayout').attr("style", "display:none;");
if ($("#hiddenTaskStatus").val() == 3)
GetControlsSettings("Cathay_ActualizarOperacionesClienteReadOnly", "Cathay_FrmActualizarOperacionesCliente", "formActualizarOperacionesCliente", true);
else
GetControlsSettings("Cathay_ActualizarOperacionesCliente", "Cathay_FrmActualizarOperacionesCliente", "formActualizarOperacionesCliente", true);
});
this.getDataModel = function () {
$('#btnCerrarFooter').click(function () {
if (NuevaComision == true || NuevaGarantia == true) {
alert("Estimado usuario, debe de guardar los cambios hechos a las garantías o comisiones antes de cerrar la pantalla.")
} else {
$('#modalOferta').modal('hide');
}
});
$('#btnCerrarheader').click(function () {
if (NuevaComision == true || NuevaGarantia == true) {
alert("Estimado usuario, debe de guardar los cambios hechos a las garantías o comisiones antes de cerrar la pantalla.")
} else {
$('#modalOferta').modal('hide');
}
});
$('#btnLimpiar').click(function () {
limpiar();
});
$('#btnGuardarDatos').click(function () {
ActualizarOperaciones();
});
$('#btnActOp_AgregarOperacion').click(function () {
AgregarOperaciones();
});
$('#txtTotalTBPTasaPropuestaMonedaLocal').change(function () {
onchangePropuestaMonedaLocal();
});
$('#txtTotalPRTasaPropuestaDolares').change(function () {
onchangePropuestaDolares();
});
$('#btnGuardarComisiones').click(function () {
AgregarComisiones();
});
$('#btnGuardarGarantia').click(function () {
AgregarGarantias();
});
$('#btnGuardar').click(function () {
GuadarDatosFacilidadOferta();
});
$('#txtMontoPropuestaOferta').change(function () {
OnchangeMontoPropuestaOferta();
CalcularValorEquivalente();
ENDREQUEST();
});
$('#tableComisionesPropuestas tbody td').live('click', 'td', function (event) {
if (event.target.id == "editControl") {
Comisiones = $('#tableComisionesPropuestas').DataTable().row($(this).parents('tr')).data();
$("#txtDetalleComisiones").val(Comisiones.DetalleComision);
}
else if (event.target.id == "deleteControl") {
Comisiones = $('#tableComisionesPropuestas').DataTable().row($(this).parents('tr')).data();
Comisiones.EsPropuesta = null;
CargarComisionesPropuetas();
}
});
$('#tableGarantiasPropuestas tbody td').live('click', 'td', function (event) {
if (event.target.id == "editControl") {
Garantias = $('#tableGarantiasPropuestas').DataTable().row($(this).parents('tr')).data();
$("#txtDetalleGarantia").val(Garantias.DetalleGarantia);
}
else if (event.target.id == "deleteControl") {
Garantias = $('#tableGarantiasPropuestas').DataTable().row($(this).parents('tr')).data();
Garantias.EsPropuesta = null;
CargarGarantiasPropuetas();
}
});
ObtenerTasasBase();
ObtenerTipoCambioContable();
LoadMessage();
if ($("#hiddenStep").val() == "AP_Corre_Caratula_Adjuntar_Doc" || $("#hiddenStep").val() == "RE_Ela_Caratula" || $("#hiddenStep").val() == "IN_Ela_Selec_Oferta") {
$('#btnFinalizarTarea').attr("style", "display:none;");
$('#btnCompletarTarea').attr("style", "display:none;");
}
ObtenerObjBpResponse(ObtenerOfertaSolicitud);
}
this.ObtenerOfertaSolicitud = function () {
Item = {
IdSolicitud: IdSolicitud,
IdTipoCategoria: $("#hiddenCategoriaOferta").val()
}
var uri = "api/IngresoClienteAPI/ObtenerOfertaSolicitud/"
var DTO = JSON.stringify(Item);
var ValorOpcion = "";
LoadMessage();
$.ajax({
type: 'POST',
url: server + uri,
cache: false,
data: DTO,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
if (data != null) {
OfertaSolicitud = data;
OfertaSolicitud.OfertaFacilidades = [];
CargarFacilidades(OfertaSolicitud.OfertaOperaciones);
}
}
}).fail(function (jqxhr, textStatus, error) {
if (typeof AjaxFailEvent !== 'undefined' && $.isFunction(AjaxFailEvent) && !AjaxFailEvent(jqxhr, textStatus, error))
return;
toastr.error("Ha ocurrido un error inesperado. Vuela a intentarlo mas tarde");
ENDREQUEST();
}).then(function (value) {
ENDREQUEST();
});
}
this.ObtenerObjBpResponse = function (FunctionCallBack) {
Item = {
IdSolicitud: IdSolicitud
}
var uri = "api/IngresoClienteAPI/ObtenerBPSap/"
var DTO = JSON.stringify(Item);
var ValorOpcion = "";
$.ajax({
type: 'POST',
url: server + uri,
cache: false,
data: DTO,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
if (data != null) {
ObjBpResponse = data;
if (ObjBpResponse.Identificacion != "") {
ConfigurarUrlCatalogos();
var ExistCallBack = (FunctionCallBack != null && typeof FunctionCallBack !== 'undefined' && $.isFunction(FunctionCallBack)) ? true : false;
if (ExistCallBack)
FunctionCallBack();
}
}
}
}).fail(function (jqxhr, textStatus, error) {
if (typeof AjaxFailEvent !== 'undefined' && $.isFunction(AjaxFailEvent) && !AjaxFailEvent(jqxhr, textStatus, error))
return;
toastr.error("Ha ocurrido un error inesperado. Vuela a intentarlo mas tarde");
ENDREQUEST();
}).then(function (value) {
ENDREQUEST();
});
}
this.ConfigurarUrlCatalogos = function () {
$('#btnActOp_TipoOperacion').unbind('click');
$("#btnActOp_TipoOperacion").click(function () {
SelectedCatalog = "ActOp_TipoOperacion";
CargarDataCatalogo($('#btnActOp_TipoOperacion').attr('direccion_api'), null, 2);
});
$('#btnActOp_Operaciones').unbind('click');
$("#btnActOp_Operaciones").click(function () {
SelectedCatalog = "ActOp_Operaciones";
CargarDataCatalogo($('#btnActOp_Operaciones').attr('direccion_api'), null, ObjBpResponse.Identificacion, ObjBpResponse.NumCliente);
});
$('#btnActOp_TipoDestinoUtilizacion').unbind('click');
$("#btnActOp_TipoDestinoUtilizacion").click(function () {
SelectedCatalog = "ActOp_TipoDestinoUtilizacion";
CargarDataCatalogo($('#btnActOp_TipoDestinoUtilizacion').attr('direccion_api'), null, 1);
});
$('#btnActOp_TipoNaturalezaGasto').unbind('click');
$("#btnActOp_TipoNaturalezaGasto").click(function () {
SelectedCatalog = "ActOp_TipoNaturalezaGasto";
CargarDataCatalogo($('#btnActOp_TipoNaturalezaGasto').attr('direccion_api'), null, 5);
});
$('#btnActOp_TipoGarantia').unbind('click');
$("#btnActOp_TipoGarantia").click(function () {
SelectedCatalog = "ActOp_TipoGarantia";
CargarDataCatalogo($('#btnActOp_TipoGarantia').attr('direccion_api'), null, 6);
});
$('#btnActOp_Estado').unbind('click');
$("#btnActOp_Estado").click(function () {
SelectedCatalog = "ActOp_Estado";
CargarDataCatalogo($('#btnActOp_Estado').attr('direccion_api'), null, 2);
});
ManualDisableControls();
}
this.ManualDisableControls = function () {
$("#txtActOp_FechaApertura").disable();
$("#txtActOp_FechaVencimiento").disable();
$("#btnTipoMoneda").hide();
$("#btn_eliminarTipoMoneda").hide();
}
this.DataCatalogo = function (SelectedCatalog, data) {
if (data != null && SelectedCatalog == "ActOp_Operaciones")
CargarDatosOperacion(data.codigo);
}
this.CargarDatosOperacion = function (NOperacion) {
limpiar();
$.each(ObjBpResponse.Operacion, function (key, item) {
if (item.Operacion == NOperacion) {
ObjOperacion = item;
}
});
if (ObjOperacion != null) {
$("#hiddenActOp_Operaciones").val(ObjOperacion.Operacion);
$("#txtActOp_Operaciones").val(ObjOperacion.Operacion);
$("#hiddenActOp_TipoOperacion").val(ObjOperacion.TipoOperacion);
$("#txtActOp_TipoOperacion").val(ObjOperacion.DescTipoOperacion);
$("#hiddenActOp_TipoDestinoUtilizacion").val(ObjOperacion.TipoDestinoUtilizacion);
$("#txtActOp_TipoDestinoUtilizacion").val(ObjOperacion.DescDestinoUtilizacion);
$("#hiddenActOp_TipoNaturalezaGasto").val(ObjOperacion.TipoNaturalezaGasto);
$("#txtActOp_TipoNaturalezaGasto").val(ObjOperacion.DescNaturalezaGasto);
$("#hiddenActOp_TipoGarantia").val(ObjOperacion.TipoGarantia);
$("#txtActOp_TipoGarantia").val(ObjOperacion.DescTipoGarantia);
$("#hiddenActOp_Estado").val(ObjOperacion.CodEstado);
$("#txtActOp_Estado").val(ObjOperacion.DescEstado);
$("#txtActOp_FechaApertura").dateFormatNoTime(ObjOperacion.FechaApertura);
$("#txtActOp_FechaVencimiento").dateFormatNoTime(ObjOperacion.FechaVencimiento);
$("#txtActOp_MontoSolicitado").autoNumeric('set', isNaN(ObjOperacion.MontoSolicitado) || ObjOperacion.MontoSolicitado == null ? "0" : ObjOperacion.MontoSolicitado);
Actualizarmoneda(ObjOperacion.Moneda, "txtActOp_MontoSolicitado")
$("#txtActOp_Plazo").autoNumeric('set', isNaN(ObjOperacion.Plazo) || ObjOperacion.Plazo == null ? "0" : ObjOperacion.Plazo);
$("#txtActOp_SaldoPendiente").autoNumeric('set', isNaN(ObjOperacion.SaldoPendiente) || ObjOperacion.SaldoPendiente == null ? "0" : ObjOperacion.SaldoPendiente);
Actualizarmoneda(ObjOperacion.Moneda, "txtActOp_SaldoPendiente")
$("#txtActOp_TasaInteres").autoNumeric('set', isNaN(ObjOperacion.TasaInteres) || ObjOperacion.TasaInteres == null ? "0" : ObjOperacion.TasaInteres);
$("#txtActOp_Linea").val(ObjOperacion.Linea);
$("#txtActOp_Moneda").val(ObjOperacion.Moneda);
$("#txtActOp_ComisionesOperaciones").val(ObjOperacion.Comisiones);
$("#txtActOp_FormaPagoOperaciones").val(ObjOperacion.FormasDePago);
}
}
this.CargarFacilidades = function (data) {
LoadMessage();
var option = null;
$('#tableOperaciones').TableInit(0, false, true, true, false, null, null);
var TableItems = $('#tableOperaciones').DataTable();
TableItems.clear().draw();
if (TasaCambios == 0 || TasaCambios == null) {
toastr.warning("No se pudo obtener el valor de la tasa Cambio, Verificar la conexión con el servicio SAP.");
}
$.each(data, function (key, item) {
if ($("#hiddenTaskStatus").val() == 3) {
option = $("#ItemsCondiciones").html();
option = replaceAll("[$NOperacion]", "'" + item.Operacion + "'", option);
var MontoMaximo = item.Moneda.IdMoneda == 1 ? item.MontoMaximo : item.MontoMaximo / TasaCambios;
var MontoActual = item.Moneda.IdMoneda == 1 ? item.MontoActual : item.MontoActual / TasaCambios;
var MontoPropuesto = item.Moneda.IdMoneda == 1 ? item.MontoPropuesto : item.MontoPropuesto / TasaCambios;
TableItems.row.add([item.Operacion,
item.Linea,
CustomNumberFormat(MontoMaximo == null ? 0 : MontoMaximo, 2, "$ ", ".", ","),
CustomNumberFormat(MontoActual == null ? 0 : MontoActual, 2, "$ ", ".", ","),
CustomNumberFormat(MontoPropuesto == null ? 0 : MontoPropuesto, 2, "$ ", ".", ","),
option]).draw();
$('#btnGuardarComisiones').attr("disabled", true);
$('#btnGuardarGarantia').attr("disabled", true);
$('#btnGuardar').attr("disabled", true);
}
else {
option = $("#ucItemsCondiciones").html();
option = replaceAll("[$NOperacion]", "'" + item.Operacion + "'", option);
var MontoMaximo = item.Moneda.IdMoneda == 1 ? item.MontoMaximo : item.MontoMaximo / TasaCambios;
var MontoActual = item.Moneda.IdMoneda == 1 ? item.MontoActual : item.MontoActual / TasaCambios;
var MontoPropuesto = item.Moneda.IdMoneda == 1 ? item.MontoPropuesto : item.MontoPropuesto / TasaCambios;
TableItems.row.add([item.Operacion,
item.Linea,
CustomNumberFormat(MontoMaximo == null || MontoMaximo == Infinity? 0 : MontoMaximo, 2, "$ ", ".", ","),
CustomNumberFormat(MontoActual == null || MontoMaximo == Infinity ? 0 : MontoActual, 2, "$ ", ".", ","),
CustomNumberFormat(MontoPropuesto == null || MontoMaximo == Infinity ? 0 : MontoPropuesto, 2, "$ ", ".", ","),
option]).draw();
}
});
}
this.BuscarOperaciones = function (NOperacion) {
$.each(OfertaSolicitud.OfertaOperaciones, function (key, item) {
if (item.Operacion == NOperacion) {
Facilidad = item;
}
});
}
this.AgregarOperaciones = function () {
LoadMessage();
Facilidad = null;
BuscarOperaciones(ObjOperacion.Operacion);
if (Facilidad == null) {
Facilidad = {
IdSolicitud: OfertaSolicitud.IdSolicitud,
Operacion: ObjOperacion.Operacion,
Linea: ObjOperacion.Linea,
MontoMaximo: ObjOperacion.MontoSolicitado,
MontoActual: ObjOperacion.SaldoPendiente,
MontoPropuesto: ObjOperacion.SaldoPendiente,
IdMonedaMontoPropuesto: ObjOperacion.Moneda == 'USD' ? 1 : 0,
Moneda: ObjOperacion.Moneda == 'USD' ? { IdMoneda: 1, Descripcion: "DOLARES" } : { IdMoneda: 0, Descripcion: "COLONES" },
CodigoNaturalezaGasto: ObjOperacion.TipoNaturalezaGasto,
DescNaturalezaGasto: ObjOperacion.DescNaturalezaGasto,
FechaVencimiento: ObjOperacion.FechaVencimiento,
FechaVencimientoActual: ObjOperacion.FechaVencimiento,
SubLimiteActual: ObjOperacion.Moneda == 'USD' ? ObjOperacion.SaldoPendiente : ObjOperacion.SaldoPendiente / TasaCambios,
SubLimitePropuesto: ObjOperacion.Moneda == 'USD' ? ObjOperacion.SaldoPendiente : ObjOperacion.SaldoPendiente / TasaCambios,
PlazoMaximoActual: ObjOperacion.Plazo,
PlazoMaximoPropuesto: ObjOperacion.Plazo,
FormaPagoActual: ObjOperacion.FormasDePago,
Recursos: ObjOperacion.Recursos,
IdFormaPagoPropuesto: null,
//--------------------------------------------------------------------------------------
//COLONES
//--------------------------------------------------------------------------------------
TBPActualMonedaLocal: ObjOperacion.Moneda != 'USD' && ObjOperacion.TasaBaseSpread != null && ObjOperacion.TasaBaseSpread != 0 ? TasaBasePasiva : null,
TasaActualMonedaLocal: ObjOperacion.Moneda != 'USD' ? ObjOperacion.TasaBaseSpread : null,
//--------------------------------------------------------------------------------------
TBPPropuestaMonedaLocal: TasaBasePasiva,
TasaPropuestaMonedaLocal: 0,
//--------------------------------------------------------------------------------------
//DOLARES
//--------------------------------------------------------------------------------------
PRActualDolares: ObjOperacion.Moneda == 'USD' && ObjOperacion.TasaBaseSpread != null && ObjOperacion.TasaBaseSpread != 0 ? TasaBasePrime : null,
TasaActualDolares: ObjOperacion.Moneda == 'USD' ? ObjOperacion.TasaBaseSpread : null,
//--------------------------------------------------------------------------------------
TRPropuestaDolares: TasaBasePrime,
TasaPropuestaDolares: 0,
UsuarioCreador: $("#hiddenUserID").val(),
FechaCreacion: null,
UsuarioModificado: null,
FechaModificacion: null,
Process: $("#hiddenProcess").val(),
Step: $("#hiddenStep").val(),
Incident: $("#hiddenIncident").val(),
FormasPagos: { IdFormaPago: null, Descripcion: null },
OfertaOperacionesComisiones: [{
IdSolicitud: OfertaSolicitud.IdSolicitud,
Operacion: ObjOperacion.Operacion,
IdComision: 1,
EsPropuesta: false,
Comision: null,
DetalleComision: ObjOperacion.Comisiones,
UsuarioCreador: $("#hiddenUserID").val(),
FechaCreacion: null,
UsuarioModificado: null,
FechaModificacion: null,
}],
OfertaOperacionesGarantias: [{
IdSolicitud: OfertaSolicitud.IdSolicitud,
Operacion: ObjOperacion.Operacion,
IdGarantia: 1,
EsPropuesta: false,
DetalleGarantia: ObjOperacion.DescTipoGarantia,
UsuarioCreador: $("#hiddenUserID").val(),
FechaCreacion: null,
UsuarioModificado: null,
FechaModificacion: null,
}],
}
OfertaSolicitud.OfertaOperaciones.push(Facilidad);
CargarFacilidades(OfertaSolicitud.OfertaOperaciones);
limpiar();
}
else {
Facilidad = null;
toastr.warning("Lo operación ya ha sido agregada.");
}
ENDREQUEST();
}
this.CargarCondiciones = function (NOperacion) {
BuscarOperaciones(NOperacion);
UpdateControlsSettings("Cathay_ElaborarOferta", "Cathay_FrmElaborarOfertaComisiones", "formElaborarOfertaComisiones", null);
UpdateControlsSettings("Cathay_ElaborarOferta", "Cathay_FrmElaborarOfertaGarantias", "formElaborarOfertaGarantias", null);
UpdateControlsSettings("Cathay_ElaborarOfertaOperaciones", "Cathay_FrmElaborarOferta", "formElaborarOferta", PageLoadFrom);
$('#modalOferta').modal('show');
}
this.limpiar = function () {
$("#hiddenActOp_Operaciones").val("");
$("#txtActOp_Operaciones").val("");
$("#hiddenActOp_TipoOperacion").val("");
$("#txtActOp_TipoOperacion").val("");
$("#hiddenActOp_TipoDestinoUtilizacion").val("");
$("#txtActOp_TipoDestinoUtilizacion").val("");
$("#hiddenActOp_TipoNaturalezaGasto").val("");
$("#txtActOp_TipoNaturalezaGasto").val("");
$("#hiddenActOp_TipoGarantia").val("");
$("#txtActOp_TipoGarantia").val("");
$("#hiddenActOp_Estado").val("");
$("#txtActOp_Estado").val("");
$("#txtActOp_FechaApertura").val("");
$("#txtActOp_FechaVencimiento").val("");
$("#txtActOp_MontoSolicitado").val("");
$("#txtActOp_Plazo").val("");
$("#txtActOp_SaldoPendiente").val("");
$("#txtActOp_TasaInteres").val("");
$("#txtActOp_Linea").val("");
$("#txtActOp_Moneda").val("");
$("#txtActOp_ComisionesOperaciones").val("");
$("#txtActOp_FormaPagoOperaciones").val("");
}
this.ActualizarOperaciones = function () {
LoadMessage();
var uri = 'api/IngresoClienteAPI/InsertaActualizarOfertaSolicitud/';
if (confirm("Se guardarán los cambios.\n ¿Desea continuar?")) {
OfertaSolicitud.UsuarioCreador = $("#hiddenUserID").val();
Ultimus.AjaxPostData(Ultimus.server + uri, OfertaSolicitud, true, false, function (data) {
if (data.CodigoRespuesta == "EXITOSO") {
UpdateControlsSettings("Cathay_ActualizarOperacionesCliente", "Cathay_FrmActualizarOperacionesCliente", "formActualizarOperacionesCliente", FinalizarGuardar);
$("#btnCompletarTarea").enable();
}
else if (data.CodigoRespuesta == "ERROR") {
toastr.error("Ha ocurrido un error al intentar actualizar la operación.<br>Por favor contacte al administrador del sistema. ");
ENDREQUEST();
}
else {
toastr.warning(data.DescripcionRespuesta);
ENDREQUEST();
}
}, "ERROR");
}
}
this.EliminarOperacion = function (NOperacion) {
var uri = "api/IngresoClienteAPI/EliminarFacilidadesOfertaSolicitud/"
var Item = null;
Item = {
IdSolicitud: IdSolicitud,
Step: $("#hiddenStep").val(),
UsuarioModificado: $("#hiddenUserID").val(),
UsuarioCreador: $("#hiddenUserFullName").val(),
OfertaOperaciones: [{
IdSolicitud: IdSolicitud,
Operacion: NOperacion,
}],
OfertaFacilidades: [],
}
LoadMessage();
Ultimus.AjaxPostData(Ultimus.server + uri, Item, true, false, function (data) {
if (data.CodigoRespuesta == "EXITOSO") {
ObtenerOfertaSolicitud();
}
else if (data.CodigoRespuesta == "ERROR") {
toastr.error("Ha ocurrido un error al intentar eliminar la operación.<br>Por favor contacte al administrador del sistema.");
ENDREQUEST();
}
else {
toastr.warning(data.DescripcionRespuesta);
ENDREQUEST();
}
}, "ERROR");
}
this.FinalizarGuardar = function () {
toastr.info('Información guardada con exito', 'Completado');
ENDREQUEST();
ManualDisableControls();
}
this.Actualizarmoneda = function (Moneda, Control) {
if (Moneda == "CRC") {
$('#' + Control).autoNumeric('update', { aSign: '¢ ' });
}
else {
$('#' + Control).autoNumeric('update', { aSign: '$ ' });
}
}