Solicitudes = { }; Solicitudes.Constants = { }; Solicitudes.Constants.AppointmentStatusCreated = 'Creado'; Solicitudes.Constants.AppointmentStatusCancelled = 'Cancelado'; Solicitudes.Constants.SolicitudStatusValidated = 'Validado'; Solicitudes.Constants.SolicitudStatusUsed = 'Utilizado'; function isContainerTipoR1(value) { return value.indexOf('R') != -1; } function validateBookingForGate(bookingCode) { if (bookingCode.charAt(0) == "S" && solicitudUserCompanyCode == "IST") throw new SolicitudError("Booking inválido para la puerta"); } function isDataEmpty(data) { return data == null || data == ""; } function canRowBeEdited(rowData) { return rowData.status == null || rowData.status == Solicitudes.Constants.AppointmentStatusCreated; } function isRowRegistered(rowData) { return rowData.appointmentId != null; } function isRowCancelled(rowData) { return rowData.status == Solicitudes.Constants.AppointmentStatusCancelled; } function validatesSolicitudInfoAgainstContainer(rowData) { if (rowData.custIdGKey == null || rowData.custIdGKey != solicitudAgenciaAduanalId) throw new SolicitudError("Agente Aduanal no concuerda entre la solicitud y el contenedor"); // validates shipper matches solicitud and container if (rowData.shipCustIdGKey == null || rowData.shipCustIdGKey != solicitudClienteId) throw new SolicitudError("Cliente no concuerda entre la solicitud y el contenedor"); } function validatesBookingInfoAgainstContainer(container, myColumn) { // no container history, all ok if (container == null) return; var typeFromContainer = container.type_Iso; var lineFromContainer = container.line_Op; var typeFromBooking = myColumn.getColumnValue('tipo'); var lineFromBooking = myColumn.getColumnValue('linea'); if (isDataEmpty(typeFromBooking)) { throw new SolicitudError("El tipo del Booking debe estar definido"); } if (lineFromBooking.label == "MSL" && (lineFromContainer == "MSL" ||lineFromContainer == "HSD" ||lineFromContainer == "SLA")|| lineFromBooking.label == "HSD" && (lineFromContainer == "MSL" ||lineFromContainer == "HSD"||lineFromContainer == "SLA")) { var lineFromContainer = lineFromBooking.label;//= 'lineFromBooking.label;//20180601 } // if lineFromContainer exists and does not match line from booking //if (lineFromContainer != null && ((lineFromContainer != lineFromBooking.label) || (lineFromContainer == 'SLA' && (lineFromBooking.label == "")))) if (lineFromContainer != null && lineFromContainer != lineFromBooking.label) { if (!((lineFromContainer === 'SLA' || lineFromContainer === 'MSL' || lineFromContainer === 'HSD') && (lineFromBooking.label === "MSL" ||lineFromBooking.label === "HSD" ||lineFromBooking.label === "SLA"))) { throw new SolicitudError("La línea del Contenedor no coincide con la línea del Booking"); } } // if lineFromContainer exists and does not match line from booking if (typeFromContainer != null && typeFromContainer != typeFromBooking.label) { throw new SolicitudError("El tipo del Contenedor no coincide con el tipo del Booking"); } } /* * SolicitudError object */ function SolicitudError(message, code) { this.message = message; this.code = code; } SolicitudError.prototype.getMessage = function() { return this.message; };