Solicitudes = { }; Solicitudes.Constants = { }; Solicitudes.Constants.AppointmentStatusCreated = 'Creado'; Solicitudes.Constants.AppointmentStatusCancelled = 'Cancelado'; Solicitudes.Constants.SolicitudStatusValidated = 'Validado'; 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")|| lineFromBooking.label == "HSD" && (lineFromContainer == "MSL" ||lineFromContainer == "HSD")) { var lineFromContainer = lineFromBooking.label;//= 'lineFromBooking.label;//20180601 } // if lineFromContainer exists and does not match line from booking if (lineFromContainer != null && lineFromContainer != lineFromBooking.label) { 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; };