ПЗ Авиакасса. Основные задачи проекта
Скачать 1.27 Mb.
|
ЗАКЛЮЧЕНИЕРазработанное программное средство автоматизирует деятельность кассы авиакомпании, с его помощью можно с лёгкостью осуществить поиск рейса с необходимыми критериями, датой, количеством пассажиров, страной вылета, и узнать стоимость рейса. На основании чего выбрать самый оптимальный рейс. Благодаря разделению приложения на две основные части, для обычных пользователей и сотрудников авиакассы, получается универсальное приложение, позволяющие для обычных пользователей искать необходимые рейсы на определённое время и выбирать желаемый класс полёта, бронировать места на рейс с последующей регистрацией в аэропорту. А для сотрудников авиакассы просматривать информацию о рейсах и уже занятых, и забронированных местах. Регистрировать клиентов согласно их коду бронирования, учитывать их пожелания по выбору места. Всё это благодаря форме поиска бронирования и графической схемы мест самолёта. Программное средство «Деятельности кассы авиакомпании» отлично подходит для решения поставленных задач. Программный продукт работает под управлением любой операционной системы, главное требование — это наличие актуальной версии веб-браузера, а также интернет соединения. ЛИТЕРАТУРА1. Хуан Диего Гоше. HTML5. Для профессионалов. 2-е изд. – БХВ-Петербург, 2014 – 560 с. 2. Робин Никсон. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 4-е издание – БХВ-Петербург, 2016 – 688 с. 3. Шелли Пауэрс. Добавляем Ajax – БХВ-Петербург, 2009 – 488 с. 4. Леа Веру. Секреты CSS. Идеальные решения ежедневных задач - Издательский дом "Питер”, 2016 – 336 с. 5. HTML5 BY [Электронный ресурс]. – Электронные данные. Режим доступа: http://html5.by. 6. Хабрахабр [Электронный ресурс]. – Электронные данные. Режим доступа: https://habrahabr.ru. Приложение АДиаграмма деятельности (обязательное) Приложение БДиаграмма вариантов использования (обязательное) Приложение ВЛистинг программы (обязательное) var Total_Info = new Object({ inf: "ОбъектСоздан", col_passengers: "1" }); console.log(Total_Info); var currency = "EUR"; $(document).ready(function () { AdobeEdge.loadComposition('monuments', 'anim-momuments', { scaleToFit: "none", centerStage: "none", minW: "0px", maxW: "undefined", width: "500px", height: "350px" }, { "dom": {} }, { "style": { "${symbolSelector}": { "isStage": "true", "rect": ["undefined", "undefined", "500px", "350px"], "fill": ["rgba(255,255,255,1)"] } }, "dom": {} }); }); //Подсказка при вводе пунктов вылета/прибытия $(function () { $("#departure, #arrival").autocomplete({ source: '/php/search.php', minLength: 2 // select: function( event, ui ){ // window.location = 'search.php?search=' + encodeURIComponent(ui.item.value); // } }); }); function HbtnFindTic() { $.fn.fullpage.moveSectionDown(); } //Доп информация о рейсе function showInf(tr) { var b = $(tr).closest("tr").next("tr").fadeToggle(); } var col_passengers = 1; function col_passeng(col) { col_passengers = Number(col.value); var g2 = $('#group-2'); var g3 = $('#group-3'); var g4 = $('#group-4'); switch (col_passengers) { case 1: g2.fadeOut(); g3.fadeOut(); g4.fadeOut(); break; case 2: g2.fadeIn(); g3.fadeOut(); g4.fadeOut(); break; case 3: g2.fadeIn(); g3.fadeIn(); g4.fadeOut(); break; case 4: g2.fadeIn(); g3.fadeIn(); g4.fadeIn(); break; } Total_Info.col_passengers = col_passengers $(window).on("load resize ", function () { var scrollWidth = $('.itickets-container-3').width() - $('.tickets-container-3').width(); $('.tickets-container-3').css({ 'padding-right': scrollWidth }); }).resize(); } var RegEmp = RegExp("\\(([^(\\)]*)\\)"); function TicketType() { // var TicketTypeP = "variant_1"; var v1 = $('#v1').prop("checked"); var v2 = $('#v2').prop("checked"); var TicketTypeP; // alert(v1); if (!v1 && !v2) { $(".choose label").addClass("error"); } else { if (v1) { $(".choose label").removeClass("error"); $('#group-backward').show(); $('.backForms #arrivalTime').prop("disabled", false); // $.fn.fullpage.moveSlideRight(); TicketTypeP = "variant_1"; } if (v2) { $(".choose label").removeClass("error"); $('#group-backward').hide(); $('.backForms #arrivalTime').prop("disabled", true); TicketTypeP = "variant_2"; } $('#TableTo #route').text($('#departure').val().replace(RegEmp, "") + "—" + $('#arrival').val().replace(RegEmp, "")); $('#TableTo #timeroute').text($("#departTime").val()); $('#TableBack #timerouteBack').text($("#arrivalTime").val()); $('#TableBack #routeBack').text($('#arrival').val().replace(RegEmp, "") + "—" + $('#departure').val().replace(RegEmp, "")); $("#col_pass").text(col_passengers); Total_Info.TicketType = TicketTypeP; SearchDataAjax(TicketTypeP); $.fn.fullpage.moveSlideRight(); } function SearchDataAjax(TicketTypeP) { var DataJson = { "ticketType": TicketTypeP, "departure": $("#departure").val(), "departTime": $("#departTime").val(), "arrival": $("#arrival").val(), "arrivalTime": $("#arrivalTime").val() }; var dataToPHP = JSON.stringify(DataJson); if (TicketTypeP == "variant_1") { $.ajax({ url: "/TableTo.php", type: "POST", data: 'dataPHP=' + dataToPHP, dataType: "html", beforeSend: function () { //Показать блок анимации $(".table-preload").show(); }, success: function (data) { $("#TableTo .body-table").html(data); $(".table-preload").delay(1700).fadeOut('slow'); //Показать таблицу с данными $("#TableTo .body-table").delay(1700).fadeIn('slow'); } }); $.ajax({ url: "/TableBack.php", type: "POST", data: 'dataPHP=' + dataToPHP, dataType: "html", success: function (data) { // console.log(data); $("#TableBack .body-table").html(data); } }); } if (TicketTypeP == "variant_2") { $.ajax({ url: "/TableTo.php", type: "POST", data: 'dataPHP=' + dataToPHP, dataType: "html", beforeSend: function () { //Показать блок анимации $(".table-preload").show(); }, success: function (data) { $("#TableTo .body-table").html(data); $(".table-preload").delay(1700).fadeOut('slow') $("#TableTo .body-table").delay(1700).fadeIn('slow'); } }); } } function checkSelectTicket(SelectVoyage) { var checkType = $(SelectVoyage).data("type"); if (checkType == 'depart') { infoDepart = $(SelectVoyage).closest("tr").data("info-depart"); var check = $(SelectVoyage).attr('class'); switch (check) { case 'depart radiotable one': infoDepart["SelectedClass"] = { "Type": "Economy", "Price": infoDepart.Economy }; break; case 'depart radiotable three': infoDepart["SelectedClass"] = { "Type": "Economy-Flexible", "Price": infoDepart.Economy_Flexible }; break; case 'depart radiotable two': infoDepart["SelectedClass"] = { "Type": "Business", "Price": infoDepart.Business }; break; } $(".result-thither .body-table").html('
total_price_depart = Number(infoDepart.SelectedClass.Price) * col_passengers; Total_Info.Depart = infoDepart; } if (checkType == 'arrival') { infoArrival = $(SelectVoyage).closest("tr").data("info-arrival"); var check = $(SelectVoyage).attr('class'); switch (check) { case 'arrival radiotable one': infoArrival["SelectedClass"] = { "Type": "Economy", "Price": infoArrival.Economy }; break; case 'arrival radiotable three': infoArrival["SelectedClass"] = { "Type": "Economy-Flexible", "Price": infoArrival.Economy_Flexible }; break; case 'arrival radiotable two': infoArrival["SelectedClass"] = { "Type": "Business", "Price": infoArrival.Business }; break; } $(".result-backwardbody-table").html('
total_price_arrival = Number(infoArrival.SelectedClass.Price) * col_passengers; Total_Info.Arrival = infoArrival; } $("#total_price").text( ( Number(infoDepart.SelectedClass.Price) * Number(col_passengers) ) + ( Number(infoArrival.SelectedClass.Price) * Number(col_passengers) ) ); $("#total_price").text(total_price_depart + total_price_arrival + " " + currency); Total_Info.TotalPrice = total_price_depart + total_price_arrival; } function PlaySlider(play) { $(function () { var slider = $(".wrapper"), item = $("> input", slider), block = $(".slides", slider), pause = 8000, timer; function sliderAuto() { var i = item.index($(".wrapper input:checked")), i = ++i % item.length; play && item.eq(i++).prop({ "checked": true }) timer = window.setTimeout(sliderAuto, pause) } slider.on("mouseenter", function () { play = false; window.clearTimeout(timer) }); slider.on("mouseleave", function () { play = true; timer = window.setTimeout(sliderAuto, pause) }); sliderAuto() }); } function confimPay() { var rules = $('#rules').prop("checked") if ($('#rules').prop('checked')) { } else {} } function str_rand() { var result = ''; var words = '0123456789QWERTYUIOPASDFGHJKLZXCVBNM'; var max_position = words.length - 1; for (i = 0; i < 6; ++i) { position = Math.floor(Math.random() * max_position); result = result + words.substring(position, position + 1); } return result; } function Pay() { var fields = $(".inpt-passengers :input").serializeArray(), obj = {}; $.each(fields, function (indx, el) { if (obj[el.name]) { if (!obj[el.name].push) { obj[el.name] = [obj[el.name]]; } obj[el.name].push(el.value || ''); } else { obj[el.name] = el.value || ''; } }); Total_Info.Passengers = obj; Total_Info.Passengers.CodeReserv_1 = str_rand(); Total_Info.Passengers.CodeReserv_2 = str_rand(); Total_Info.Passengers.CodeReserv_3 = str_rand(); Total_Info.Passengers.CodeReserv_4 = str_rand(); var dataPrint = JSON.stringify(Total_Info); if (Total_Info.Authorized) { window.open("/printCashbox.php?Data=" + dataPrint); } else { window.open("/printWeb.php?Data=" + dataPrint) } var ReserveNumDepart; function Places(sectionReserve) { var numDeprt; if (sectionReserve){ var Selector = ".Reserve "; ReserveNumDepart = $("#ID-reserve").data("info-reserve"); if (ReserveNumDepart != undefined) { numDeprt = ReserveNumDepart.numDepart; } alert(ReserveNumDepart.numDepart); } else { var Selector = "#SelectChair "; if (Total_Info.Depart != undefined) { numDeprt = Total_Info.Depart.numDeparture; } } $.ajax({ url: "/Places.php", type: "GET", data: ({ number: numDeprt }), dataType: "json", beforeSend: function (){ // alert("beforeSend"); }, success: function (data) { // console.log("places"); console.log(data); // alert(data); var ArrayPlaces = data["chair"]; var countReserve = data["row_cnt_reserve"]; var countChair = data["row_cnt_chair"]; for (var i = 0; i < ArrayPlaces.length; i++) { // console.log(ArrayPlaces[i]); $(Selector+'.places-list li').eq(ArrayPlaces[i] - 1).addClass("busy-place"); } $(Selector+'.num-reserve').html(' Кол-во забронированных: '+countReserve+''); |