Отчет по производственной практике пп. 01. 01. 09. 02. 07 009 пм. 01 Проектирование и разработка ис
Скачать 276.65 Kb.
|
Министерство образования и науки Республики Марий Эл Государственное бюджетное профессиональное образовательное учреждение Республики Марий Эл «Марийский радиомеханический техникум» ОТЧЕТ ПО ПРОИЗВОДСТВЕННОЙ ПРАКТИКЕ ПП.01.01.09.02.07 - 009 ПМ.01 Проектирование и разработка ИС Выполнил студент группы П-42 ____________ Чередниченко А.В. Руководитель практики _____________ Эйбин С.А. Руководитель практики от предприятия ____________ Чернигин Е.А. Йошкар-Ола 2022 ГБПОУ Республики Марий Эл «Марийский радиомеханический техникум»
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕНа период производственной практики с «15» марта 2021г. по «11» апреля 2021г. студента группы П-42 специальности 09.02.03 Программирование в компьютерных системах по ПМ.01 Проектирование и разработка ИС тов. Чередниченко Алексей Вадимович Вопросы, подлежащие изучению: Создание функционального калькулятора для расчета стоимости ремонта помещений с использованием различных строительных материалов. 1) Верстка HTML модуля калькулятора. 2) Разработка функции расчета стоимости. 3) Интеграция калькулятора на страницу веб-сайта. Руководители практики:
Содержание Введение 5 1 Ознакомительный этап 6 1.1 Структура организации 7 1.2 Охрана труда и техника безопасности на предприятии 8 1.2.1 общие требования охраны труда 8 1.2.2 требования охраны труда перед началом работы 10 1.2.3 ТРЕБОВАНИЯ ОХРАНЫ ТРУДА ВО ВРЕМЯ РАБОТЫ 11 1.2.4 требования охраны труда в аварийных ситуациях 13 1.3 Описание рабочего места 15 2 Производственный этап 18 2.1 Техническое задание 18 2.2 Этапы разработки 19 2.2.1 Настройка рабочей среды. 19 2.2.2 Верстка калькулятора 19 2.2.3 Организация логики калькулятора 20 2.2.4 Расчет стоимости 22 2.2.5 Интеграция калькулятора на страницу веб-сайта. 31 ЗАКЛЮЧЕНИЕ 32 Литература 33 ВведениеВ соответствии с учебным планом проходил производственную практику в фирме «Балкон Сервис» ИП Чернигин Е.А. с 15.03.2021 г. по 11.04.2021 г. Был принят для прохождения производственной практики в качестве помощника системного администратора. В процессе прохождения, планируется: изучить рабочее место; поднять локальный сервер и развернуть на нем копию сайта организации; разработать дизайн калькулятора стоимости ремонта помещений; сверстать калькулятор; разработать функцию расчета стоимости на основе прайслиста из базы данных; протестировать готовый продукт и интегрировать на страницу веб-сайта. 1 Ознакомительный этапПрактика проходила на в фирме «Балкон Сервис» ИП Чернигин Е.А. находящейся по адресу: республика Марий Эл, город Йошкар-Ола, Сернурский тракт, д. 4. Во время прохождения производственной практики был ознакомлен со следующими инструкциями по охране труда: инструкция по охране труда для административно-управленческого персонала, специалистов, инженерно-технических работников (работающих на ПВЭМ); инструкция по охране труда для лиц, обслуживающих электронно-вычислительную технику; инструкция по проведению вводного инструктажа; инструкция о мерах пожарной безопасности; инструкция по оказанию первой помощи при несчастных случаях. 1.1 Структура организацииИП Чернигин Е.А. - организация, предоставляющая услуги по ремонту, остеклению и утеплению балконов, лоджий и ремонту квартир в городе Йошкар-Ола. Структура организации представлена на рисунке 1. Рисунок 1 – Иерархическая схема фирмы «Балкон Сервис» 1.2 Охрана труда и техника безопасности на предприятии1.2.1 общие требования охраны трудаРаботник офиса допускается к самостоятельной работе после прохождения: медицинского освидетельствования; вводного инструктажа по охране труда; обучения по охране труда и проверки знаний требований охраны труда; проверки знаний правил электробезопасности с присвоением необходимой квалификационной группы допуска; вводного противопожарного инструктажа; проверки знания настоящей инструкции. Работник обязан выполнять должностные обязанности, работать по заданию своего руководителя, соблюдать правила внутреннего трудового распорядка, выполнять требования охраны труда, бережно относиться к имуществу. Работник должен: знать опасные и вредные производственные факторы, проявляющиеся на его рабочем месте; знать и уметь применять меры предосторожности и средства защиты (в том числе индивидуальной) от опасных и вредных производственных факторов; знать инструкции по эксплуатации применяемого оборудования, оргтехники; знать места подключения токоприемников, коммутирующие устройства, а также уметь определять их исправное состояние и уметь отключать их в аварийных ситуациях; знать пути эвакуации персонала и действия в случае возникновения аварийных ситуаций; знать места нахождения средств пожаротушения и уметь их применять; знать и уметь оказывать первую помощь пострадавшим; соблюдать правила личной гигиены; использовать в работе только по прямому назначению и только исправные мебель, приспособления, средства оргтехники и другое оборудование рабочего места; не допускать нахождение на своем рабочем месте посторонних предметов, мешающих работе. В зависимости от условий работ, на рабочем месте, могут проявляться различные опасные и вредные производственные факторы. При эксплуатации персонального компьютера на работника могут оказывать действие следующие опасные производственные факторы: электромагнитное излучение; повышенная яркость светового изображения; напряжения в электрической цепи, замыкание которой может произойти через тело человека; напряжение зрения, внимания, длительные статические нагрузки. При эксплуатации электрооборудования опасным производственным фактором является электрический ток. Предельно допустимая величина переменного тока 0,3 мА. При увеличении тока до 0,6-1,6 мА человек начинает ощущать его воздействие. Виды поражения электротоком: электрический удар (паралич сердца и дыхания); термический ожог (электроожог); технические повреждения; электроофтальмия (воспаление глаз вследствие действия электротока). Также на работника могут воздействовать следующие опасные и вредные производственные факторы: нервно-психические и эмоциональные перегрузки; падения предметов с высоты (со шкафов, полок); шероховатая или острая поверхность оборудования, инструмента, оргтехники; 1.2.1.4.4 Информация об опасных и вредных производственных факторах, возникающих при эксплуатации другого оборудования, содержится в инструкциях по их эксплуатации. Средствами защиты работника являются: защитная изоляция проводов и кабелей, токоведущих частей оборудования и частей оборудования, которые могут оказаться под напряжением. Для работы на персональных электронных вычислительных машинах (далее – ПЭВМ) рекомендуется использование специальных спектральных очков. За нарушение требований настоящей инструкции, относящихся к выполняемой им работе, работник несет ответственность в соответствии с действующими трудовым, уголовным и административным законодательствами Российской Федерации. Каждый работник перед началом работы обязан: убрать с рабочего места посторонние предметы и предметы, не требующиеся для выполнения текущей работы (коробки, сумки, папки, книги и т.п.); убедиться внешним осмотром в отсутствии механических повреждений шнуров электропитания и корпусов средств оргтехники, а также в отсутствии механических повреждений электропроводки и других кабелей, электророзеток, электровыключателей, светильников, кондиционеров и другого оборудования; проверить: исправна и удобно ли расположена мебель, удобно ли размещены оборудование рабочего места и необходимые для работы материалы на рабочем столе, свободны ли подходы к рабочим местам; в случае обнаружения повреждений и неисправностей ПЭВМ, периферийных устройств, средств оргтехники, мебели, приспособлений, электропроводки и других кабелей, электророзеток, электровыключателей, светильников, кондиционеров и другого оборудования не включать оборудование, не приступать к работе, вызвать технический персонал и сообщить об этом своему непосредственному руководителю; проверить, достаточно ли освещено рабочее место. При недостаточной освещенности необходимо организовать местное освещение, причем расположить светильники местного освещения так, чтобы при выполнении работы источник света не слепил глаза как самому работающему, так и окружающим; убедиться в безопасности выполнения работ, только после этого можно приступать к выполнению работ. 1.2.3 ТРЕБОВАНИЯ ОХРАНЫ ТРУДА ВО ВРЕМЯ РАБОТЫКаждый работник во время работы обязан: содержать в порядке и чистоте рабочее место, не допускать загромождения его документами; содержать свободными проходы к рабочим местам, не загромождать оборудование предметами, которые снижают теплоотдачу средств оргтехники и другого оборудования; следить за исправностью средств оргтехники и другого оборудования, соблюдать правила их эксплуатации и инструкции по охране труда для соответствующих видов работ; при длительном отсутствии на рабочем месте отключать от электросети средства оргтехники и другое оборудование за исключением оборудования, определенного для круглосуточной работы (сетевые серверы и т.д.); быть внимательным, не отвлекаться и не отвлекать других; в случае замятия листа (ленты) бумаги в устройствах вывода на печать перед извлечением листа (ленты) остановить процесс и отключить устройство от электросети, вызвать технический персонал или сообщить об этом своему непосредственному руководителю; отключать средства оргтехники и другое оборудование от электросети, только держась за вилку штепсельного соединителя; не допускать натягивания, скручивания, перегиба и пережима шнуров электропитания оборудования, проводов и кабелей, не допускать нахождения на них каких-либо предметов и соприкосновения их с нагретыми поверхностями; во время установленных перерывов в работе выполнять рекомендованные упражнения для глаз, кистей рук; не допускать попадания влаги на поверхность ПЭВМ, периферийных устройств и другого оборудования. Не протирать влажной или мокрой ветошью оборудование, которое находится под электрическим напряжением. Во время работы не допускается: прикасаться к движущимся частям средств оргтехники и другого оборудования; работать при недостаточной освещенности рабочего места; касаться элементов средств оргтехники и другого оборудования влажными руками; переключать интерфейсные кабели, вскрывать корпуса средств оргтехники и другого оборудования и самостоятельно производить их ремонт. 1.2.4 требования охраны труда в аварийных ситуацияхРаботник при возникновении аварийных ситуаций обязан: немедленно прекратить работу, отключить от электросети средства оргтехники и прочее электрооборудование и сообщить о возникновении аварийной ситуации и ее характере непосредственному руководителю, а в его отсутствие старшему руководителю; при необходимости покинуть опасную зону; под руководством непосредственного руководителя принять участие в ликвидации создавшейся аварийной ситуации, если это не представляет угрозы для здоровья или жизни работников; в случае возникновения нарушений в работе средств оргтехники или другого оборудования, а также при возникновении нарушений в работе электросети (запах гари, посторонний шум при работе средств оргтехники и другого оборудования или ощущения действия электрического тока при прикосновении к их корпусам, мигание светильников и т.д.) отключить средства оргтехники и другое оборудование от электросети, вызвать технический персонал и сообщить об этом своему непосредственному руководителю; в случае обнаружения неисправностей мебели и приспособлений прекратить их использование, вызвать технический персонал и сообщить об этом своему непосредственному руководителю; при временном прекращении подачи электроэнергии отключить от электросети средства оргтехники и прочее электрооборудование; не приступать к работе до полного устранения повреждений и неисправностей средств оргтехники и оборудования рабочего места или устранения аварийной ситуации; при возникновении пожара необходимо прекратить работу, вызвать пожарную охрану, отключить средства оргтехники и прочее оборудование от электросети, оповестить о пожаре находящихся поблизости людей, принять меры к эвакуации людей из опасной зоны и принять участие в тушении пожара имеющимися первичными средствами пожаротушения, а при невозможности ликвидировать пожар покинуть опасную зону, действуя согласно инструкциям по пожарной безопасности и планам эвакуации; тушение очага пожара производить с помощью порошковых или углекислотных огнетушителей с обязательным использованием средств индивидуальной защиты; при несчастных случаях с другими работниками оказать пострадавшему первую помощь, помочь доставить его в здравпункт или ближайшее медицинское учреждение, при необходимости вызвать медицинских работников на место происшествия; немедленно сообщить своему непосредственному руководителю о происшедшем с работником или по его вине несчастном случае, а также о любом несчастном случае с участием других работников своей или сторонней организации, свидетелем, которого был работник; принять меры для сохранения обстановки несчастного случая, если это не сопряжено с опасностью для жизни и здоровья людей; при расследовании несчастного случая работник должен сообщить все известные ему обстоятельства происшедшего случая; при совершении террористических актов или угрозе их совершения действовать в соответствии с рекомендациями по безопасности при чрезвычайных ситуациях, действующими в организации; в случае обнаружения в служебных помещениях нарушений требований безопасности труда, которые не могут быть устранены собственными силами, а также в случае возникновения угрозы жизни или здоровью самого работника или других работников сообщить об этом своему непосредственному руководителю, приостановить работу и покинуть опасную зону. 1.2.5 ТРЕБОВАНИЯ ОХРАНЫ ТРУДА ПО ОКОНЧАНИИ РАБОТЫ После окончания работы необходимо: отключить от электросети средства оргтехники и другое оборудование, за исключением оборудования, которое определено для круглосуточной работы (факс, сетевые серверы и т.д.); привести в порядок рабочее место, обращая особое внимание на его противопожарное состояние; закрыть окна; выключить светильники; обо всех недостатках, обнаруженных во время работы, проинформировать своего непосредственного руководителя. 1.3 Описание рабочего местаНа предприятии имеется офисное помещение площадью 28 кв.м., оборудованное тремя рабочими местами: для директора, системного администратора и студентов-практикантов. Площадь каждого рабочего места не менее 7 кв.м.. На рабочем месте имеется письменный стол и стул. В качестве рабочего компьютера выступает мой личный ноутбук Apple Macbook Pro. Технические характеристики ПК: процессор: Intel Core i5 - 2,7Ghz; твердотельный накопитель (SSD) объем: 128 Гб; ОЗУ: 8 Гб; видеокарта: NVIDIA HD 6600, объем видеопамяти: 2048 Мб; операционная система (ОС): MacOS Mojave; дополнительная ОС: Windows 7 Ultimate. Перечень установленных программ на компьютере: 1) Parallels Desktop - виртуальная машина для запуска нескольких операционных систем; 2) Google Chrome - браузер для отображения веб страниц в процессе разработки и поиска информации в сети интернет; 3) Visual Studio Code - редактор исходного кода, разработанный Microsoft для Windows, Linux и macOS. Позиционируется как «лёгкий» редактор кода для кроссплатформенной разработки веб- и облачных приложений. Включает в себя отладчик, инструменты для работы с Git, подсветку синтаксиса, IntelliSense и средства для рефакторинга. Имеет широкие возможности для кастомизации: пользовательские темы, сочетания клавиш и файлы конфигурации. Распространяется бесплатно, разрабатывается как программное обеспечение с открытым исходным кодом, но готовые сборки распространяются под проприетарной лицензией; 4) Git - распределенная система управления версиями. Система спроектирована как набор программ, специально разработанных с учётом их использования в сценариях. Это позволяет удобно создавать специализированные системы контроля версий на базе Git или пользовательские интерфейсы. 2 Производственный этап2.1 Техническое задание1) Создать HTML верстку модуля калькулятора. Модуль должен быть выполнен отдельно от страниц сайта. Обеспечить целостность дизайна, так, чтобы калькулятор подходил под общий стиль сайта. Калькулятор должен содержать следующие поля: тип объекта (квартира или дом); вид объекта (новостройка или вторичка); площадь; высота пололка; демонтаж (да/нет); электропроводка (да/нет); радиаторы отопления (да/нет); водопровод (да/нет); двери (да/нет); окна (да/нет); отделка пола (выбор покрытия); отделка стен (выбор покрытия); отделка потолка (выбор покрытия); расчетная стоимость работ; расчетная стоимость материалов; кнопка для оформления заказа. 2) Создать функцию для обработки логики калькулятора. Цены на работы необходимо получить из базы данных. 3) Разместить блок калькулятора на главной странице сайта под шапкой сайта. 2.2 Этапы разработки2.2.1 Настройка рабочей среды.Для реализации задачи был развернут веб-сервер для разработки с поддержкой языка PHP и реляционных баз данных MySQL на базе программного обеспечения MAMP. MAMP - это стек решений, состоящий из бесплатного и проприетарного коммерческого программного обеспечения с открытым исходным кодом, используемого вместе для разработки и запуска динамических веб-сайтов на компьютерах Apple Macintosh. Системным администратором организации был предоставлен репозиторий с файлами и кодом веб-сайта, на котором необходимо реализовать формы. 2.2.2 Верстка калькулятораПо требованиям технического задания был написан и размещен в отдельном файле calc.php код калькулятора, написанный на языке HTML. Блок калькулятора имеет прозрачный фон. Все элементы калькулятора (кнопки, переключатели, чекбоксы, заголовки) были стилизованы акцентным цветом сайта – оранжевым, для придания контраста и обращения внимания пользователя. Конечный вид калькулятора изображен на рисунке 2. Рисунок 2 – Верстка калькулятора. 2.2.3 Организация логики калькулятораДля начала необходимо получить все значения цен на услуги из базы данных. Для запроса к БД я буду использовать ранее созданное мною подключение PDO, для этого сперва импортирую файл pdo.php командой require_once. Далее для каждой услуги я создаю переменную, значение которой получаю из базы данных с помощью SQL запроса. Зная идентификатор интересующей меня услуги я получаю значение поля price таблицы БД. Для того, чтобы получить только числовое значение, без строкового обозначения валютной единицы («руб.») я использую функцию intval(), которая выбирает из результата запроса только число. Код запроса можно посмотреть на рисунке 3. require_once './api/pdo.php'; $demontage_price = intval(getSingleValue($pdo, 'SELECT `price` FROM `pricelist` WHERE `id` = 4')); Рисунок 3 – Код запроса к БД на выборку стоимости услуги. Таким образом я создал переменные для каждого вида услуг и выбрал значения стоимости из базы данных. Хочу заметить, что выборка из БД происходит каждый раз при инициализации калькулятора на странице, грубо говоря, каждый раз, когда пользователь открывает или обновляет страницу. Поэтому, если значение в БД изменится (например, администратором), то калькулятор не будет считать «по старым ценам», это гарантирует актуальность данных. Сейчас переменные со значениями стоимости услуг находятся в коде PHP. Мне необходимо конвертировать их в переменные JavaScript, для этого я просто выведу средствами PHP на странице JS скрипт, в котором создам переменные и присвою им имеющиеся значения. Использую для этого команду echo – рисунок 4. echo "" Рисунок 4 – Конвертирование PHP переменных в JS. Итак, был создан JS объект pricelist, содержащий поля со стоимостью для каждой услуги используемой для расчета в калькуляторе. 2.2.4 Расчет стоимостиТак как на сайте подключена библиотека jQuery, то для удобства я буду использовать методы из этой библиотеки. Мне нужно, чтобы при изменении любого из полей калькулятора изменялось значение предварительной стоимости, значит мне необходимо обрабатывать события для всех полей input одновременно. Как раз jQuery позволяет сделать это быстро и удобно, повесив обработчик событий on Change на все поля input, находящиеся в блоке калькулятора – рисунок 5. $('.price-calc-container input').on('change', function() { наш код тут } Рисунок 5 – Скрипт отправки данных с формы посредством ajax. Теперь, при изменении любого инпута калькулятора будет выполняться код внутри обработчика событий. В первую очередь, при изменении полей будем получать значения всех полей и записывать их в переменные, чтобы работать с ними в дальнейшем – рисунок 6. let objectType = $('input[name="object-type"]:checked').val(); let objectState = $('input[name="object-state"]:checked').val(); Рисунок 6 – Получение значений полей калькулятора. В примере кода на картинке я показал только две переменные, но аналогично я создал переменные для всех 22 полей. Далее, необходимо задать базовые переменные, которые будут изменяться в зависимости от значений калькулятора. Я создам переменные для итоговой стоимости работ со значением ноль, полную итоговую стоимость также со значением ноль, а также множитель равный единице. В дальнейшем этот множитель будет изменяться от различных значений калькулятора. Чтобы иметь возможность рассчитать стоимость отделки стен, необходимо найти площадь стен. Площадь пола у нас уже есть, она указывается в поле калькулятора. Формула нахождения площади стен изображена на рисунке 7. let wallArea = Math.round(Math.sqrt(objectArea)) * 4 * objectHeight; Рисунок 7 – Формула нахождения площади стен из площади пола. Чтобы найти площадь всех стен, необходимо периметр умножить на высоту стен. Но мы не знаем периметр. Представим, что наше помещение является квадратом с одинаковыми сторонами, для нахождения периметра необходимо из площади с помощью функции Math.sqrt() найти квадратный корень площади – это длина одной стороны квадрата. Умножив это значение на количество сторон (4) получим периметр помещения. Здесь мы пренебрегаем перегородками, т.к. это расчет предварительной стоимости, и она не может быть максимально приближенной к реальной, т.к. существует еще множество моментов, которые будут влиять на реальную стоимость, которые выясняются только при замере. При выборе типа и вида объекта меняется множитель – рисунок 8. За частный дом к стоимости прибавляется 20%. За работу во вторичном жилье прибавляется 50% стоимости. При ремонте квартиры в новостройке множитель останется неизменным и будет равняться единице. if (objectType === 'house') multiplier += 0.2; if (objectState === 'old') multiplier += 0.5; Рисунок 8 – Условие изменение множителя. Следующим шагом переходим к расчету стоимости отдельных выбранных в калькуляторе параметров: Расчет стоимости демонтажа – рисунок 9. Если пользователь выбрал демонтаж в качестве услуги, то цена вычисляется по формуле: половина площади объекта умножить на цену демонтажа. Почему половина? Кому-то может потребоваться полный демонтаж пола по всей площади квартиры или перегородок, а кому-то лишь в одной комнате. Таким образом половина площади является средним значением. if (demontage === "true") { demontage_price = objectArea / 2 * pricelist.demontage_price; } else { demontage_price = 0; } Рисунок 9 – Расчет стоимости демонтажа. Расчет стоимости монтажа электропроводки приведен на рисунке 10. Электропроводка окутывает всю квартиру, чтобы в каждой комнате был свет и розетки. Для расчета стоимости проводки была разработана такая формула: периметр квартиры умножаем на цену прокладки электропроводки. if (montageElectricity === "true") { montageElectricity_price = Math.sqrt(objectArea) * 4 * pricelist.montage_electricity_price; } else { montageElectricity_price = 0; } Рисунок 10 – Расчет стоимости монтажа электропроводки. Расчет стоимости монтажа радиаторов отопления приведен на рисунке 11. Организация, предоставляющая ремонт рекомендует устанавливать радиаторы из расчета: один радиатор из десяти секций на 10 кв.м. площади. Тогда формула для расчета стоимости монтажа радиаторов будет такая: площадь объекта делим на 10 и умножаем на цену монтажа оного радиатора. if (montageRadiator === "true") { montageRadiator_price = objectArea / 10 * pricelist.montage_radiator_price; } else { montageRadiator_price = 0; } Рисунок 11 – Расчет стоимости монтажа радиаторов отопления. Расчет стоимости монтажа водопровода приведен на рисунке 12. В небольших квартирах площадь санузла и кухни может занимать до половины общей площади квартиры, поэтому формула расчета водопровода будет выглядеть так: половина площади квартиры умножаем на цену монтажа водопровода. if (montageWater === "true") { montageWater_price = objectArea * pricelist.montage_pipe_price; } else { montageWater_price = 0; } Рисунок 12 – Расчет стоимости монтажа водопровода. Расчет стоимости монтажа межкомнатных дверей – рисунок 13. Аналитика показала, что средняя площадь одной комнаты в квартире равняется 15-18 кв.м. Поэтому формула расчета стоимости монтажа межкомнатных дверей будет такой: общую площадь квартиры делим на 15, обязательно округляем до целого значения (т.к. мы не можем установить не целое количество дверей) и умножаем на цену монтажа двери из прайслиста. if (montageDoor === "true") { montageDoor_price = Math.round(objectArea / 15) * pricelist.montage_door_price; } else { montageDoor_price = 0; } Рисунок 13 – Расчет стоимости монтажа межкомнатных дверей. Расчет стоимости монтажа окон приведен на рисунке 14. Расчет стоимости монтажа окон проводится аналогичным способом, что и с дверями. if (montageWindow === "true") { montageWindow_price = Math.round(objectArea / 15) * pricelist.montage_window_price; } else { montageWindow_price = 0; } Рисунок 14 – Расчет стоимости монтажа окон. Далее идут такие параметры калькулятора, где возможен множественный выбор опций. Например, клиент хочет, чтобы в одной комнате у него в качестве напольного покрытия был ламинат, а в другой – керамическая плитка. Следовательно, при расчете стоимости следует учесть, что на некоторую часть площади придется стоимость ламината, а на другую – стоимость плитки. Для того, чтобы считать сколько всего различных материалов отделки пола принимать в расчет создам переменную floorCoverCount. При выборе параметра (ставим галочку) отделки пола увеличиваем переменную floorCoverCount на единицу и считаем стоимость одного отдельного покрытия на рисунке 15. if (montageFloorLaminat) { montageFloorLaminat_price = objectArea * pricelist.montage_floor_laminat_price; floorCoverCount++; } else { montageFloorLaminat_price = 0; floorCoverCount--; } Рисунок 15 – Расчет стоимости монтажа ламината на пол. В данном случае рассчитывается стоимость монтажа ламината на всю площадь пола. При выборе опции floorCoverCount увеличивается на 1, что означает использование еще одного покрытия на пол, при снятии галочки с опции floorCoverCount уменьшается на единицу и стоимость данной опции обнуляется. Аналогично проводятся расчеты для остальных четырех опций (паркет, доска, линолеум и штучный паркет). В конце концов необходимо рассчитать общую стоимость отделки пола (включающую все отдельные опции) – рисунок 16. Для этого складываем стоимость всех пяти отдельных опций, записываем в переменную montageFloor_totalPrice и делим на количество покрытий(опций). Таким образом, если клиент выбрал, например, паркет, ламинат и линолеум, то каждому из данных покрытий будет отведена треть стоимости отделки пола. let montageFloor_totalPrice = montageFloorLaminat_price + montageFloorMassive_price + montageFloorParket_price + montageFloorTile_price + montageFloorLinoleum_price; if (floorCoverCount > 0) { montageFloor_totalPrice /= floorCoverCount; } Рисунок 16 – Расчет полной стоимости отделки пола. Аналогичным образом проводится расчет стоимости для каждой отдельной опции отделки потолка и стен, а также полной стоимости (включающей все отдельные опции) отделки потолка и полной стоимости (включающей все отдельные опции) отделки стен, только в расчете стоимости отделки стен используется не площадь объекта, а площадь стен. Финальная общая стоимость ремонта рассчитывается путем складывания всех вычисленных ранее параметров и умножением суммы на множитель – рисунок 17. Исключением составляет стоимость демонтажа, она не зависит от множителя, а поэтому прибавляется к финальной стоимости в самом конце. total_price = ( montageElectricity_price + montageRadiator_price + montageWater_price + montageDoor_price + montageWindow_price + montageFloor_totalPrice + montageWall_totalPrice + montageCeiling_totalPrice ) * multiplier + demontage_price; Рисунок 17 – Расчет финальной общей стоимости ремонта. Директор компании рассказали, что стоимость материалов может достигать до половины от стоимости всех работ, а иногда и больше половины. Поэтому, в блоке вывода ориентировочной цены материалов буем выводить половину стоимости ремонта. Код функции вывода результата расчетов на страницу изображен на рисунке 18. $('.price-calc-total-price-total').text(Math.round(total_price) + ' руб.'); $('.price-calc-total-price-material').text(Math.round(total_price * 0.5) + ' руб.'); Рисунок 18 – Вывод результата на страницу. 2.2.5 Интеграция калькулятора на страницу веб-сайта.Калькулятор полностью готов. Файл с кодом калькулятора calc.php лежит в каталоге parts. Для того, чтобы подключить его в любом месте на любой странице воспользуюсь php командой require_once './parts/calc.php'. ЗАКЛЮЧЕНИЕВ процессе прохождения производственной практики в коммерческой организации «Бакон Сервис» ИП Чернигин Е.А. мною был разработан калькулятор стоимости ремонта помещений для веб-сайта организации. Теперь любой пользователь, зашедший на веб-сайт, сможет еще до общения с менеджером организации узнать предварительную стоимость ремонта своей квартиры или частного дома на основании актуальных цен на услуги из базы данных организации. ЛитератураКузнецов М. В., Симдянов И.В. PHP. Практика создания Web-сайтов. - 2-е изд. - СПб.: «БХВ-Петербург», 2008. - С. 1264. Ленгсторф Д. PHP и jQuery для профессионалов. - М.: «Вильямс», 2010. — С. 352. Макфарланд Д. JavaScript и jQuery: исчерпывающее руководство. - М.: «Диалектика», 2015. - 880 с. Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. - 4-е изд. - СПб.: «Бестселлеры O’Reilly», 2016. - С. 768. |