Автоматизация взаимодействия с клиентами в ООО "Сав-тур"

Общая характеристика предприятия и его деятельности. Изучение программной и технической архитектуры информационной системы предприятия. Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов. Описание программных модулей.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 17.08.2017
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

В данном дипломном охарактеризовать стратегию внедрения как стратегию узкого так как данный автоматизирует процесс, связанный работой менеджеров, и местом является скорость обработки заказов, согласования и детального уточнения.

наступает этап эксплуатации программного продукта. В с написанной инструкции применению, работу данной следует отслеживать работу каждые 2-4 часа, программа может зависнуть обработать не все , пришедшие сервис за отсутствии логики данного типа заявки В данном случае будут возвращен (пересланы) почтовый ящик горячей с пометкой в письма "Не обработано". рода риска следует 1 раз в и принимать решение необходимости доработки логики что в рамках программы первые пол эксплуатации будет выполняться программистом, реализовавшим описанную работы.

Под моделью цикла понимается структура, последовательность выполнения и процессов, действий и выполняемых на протяжении цикла. Модель жизненного зависит от специфики системы и специфики в которых последняя и функционирует

Жизненный проекта может модулироваться нескольким принципам: водопада, модели, спиральным методом, методом.

При моделировании принципу водопада работа проектом движется линейно ряд фаз, таких

анализ требований (исследование

проектирования;

разработка и под проектов;

проверка проектов;

проверка проекта целом.

Недостатками такого является накопление возм на ранних этапах в момент окончания и, как следствие, риска провала проекта, стоимости проекта. Это формального подхода к проекта. Он оправдан, случаях выполнения однотипных когда проектировщик не каких-то отклонений или в технических решениях.

подход - выполнение параллельно с непрерывным полученных результатов и предыдущих этапов работы. при этом подходе каждой фазе развития цикл, который повторяется: - Реализация - - Оценка.

Преимущества подхода:

снижение действия рисков на ранних проекта, ведет к расходов на их

организация эффективной обратной проектной команды с (а также заказчиками) создание продукта, реально его потребностям;

акцент на наиболее важные критические направления проекта;

итеративное тестирование, позволяющее успешность всего проекта целом;

раннее выявление между требованиями, моделями реализацией проекта;

более загрузку участников проекта;

использование накопленного опыта;

оценка текущего состояния и, как следствие, уверенность заказчиков и участников в его завершении.

Итеративный подход, видно из перечня преимуществ, наиболее взвешенный, что обеспечивает оптимальное решение и на этапах выполнения и целом по проекта. можно добавить еще черту итеративного подхода, является очень важной, и не афишируется. каждый подэтап работы до непосредственных пользователей, их, моделировать типичные и, возникающие в Только благодаря обратной связи можно ошибки и кон ситуации еще на этапах проектирования.

При жизненного цикла проекта спиральной модели зависимость эффективности проекта его стоимости со На каждом витке выполняется создание очередной продукта, уточняются требования определяется его качество планируются работы следующего Фактически спиральная модель это непрерывное проектирование направлении усовершенствования объекта. модель выгодна и необходима для поддержания времени конкурентоспособности данного

Моделирование жизненного цикла инкрементного методом подразумевает большого объема проектно-конструкторских на последовательность более составных частей. Этот является аналогом метода и не исключает других названных методов.

оптимально считаю итеративную так как в были учтены все водопадной и спиральной В рамках доработки существующей ИС частенько новые замечания от , которые можно на новом шаге модели.

Рисунок Итеративная модель

2.1.2 Ожидаемые на этапах жизненного и их описание

реализации MSF могут следующие риски:

Фаза концепции. Основной на данном подэтапе недостаточное определение свойств требуемых для решения и неправильный выбор проектирования (чрезмерно большой недостаточный объем задач Это может потребовать, этапе эксплуатации, дополнительной ИС, что приведет финансовому риску. Риск использованием современных case-средств моделировании бизнес-процессов. При такого риска проводится моделирование с использованием case-средств.

Фаза планирования. сновной риск это определение функций ИС стратегии автоматизации. На подэтапе существует риск выбора способа приобретения Риск предотвращается основательным всех вариантов. В возникновения, риск устраняется повторного анализа вариантов ИС. Риск взаимосвязан риском неправильного определения ИС и стратегии Данный риск предотвращается устраняется использование современных в процессе анализа.

разработки. Основной это разработка неэффективного автоматизации: использование лишних или недостаточность ресурсов. риск является финансовым, использованием современных автоматизированных проектирования. В случае риск устраняется повторной плана-графика автоматизации.

Фаза Основные риски это разработка неправильной модели и неудобных пользователя прототипов экранных Риск предотвращается по прототипов экранных форм будущими пользователями, а дополнительной доработкой экранных а также использованием Model View Control Так же существуют и неправильной и расчетов показателей. устраняется тестированием программных на этапе внедрения.

внедрения. О риск заключается в разработке программы. Риск посредством использования для языка четвертого поколения который в процессе указывает некорректности различных разрабатываемого программного средства. учитывать также то, программные модули будут на этапе внедрения. на этой стадии некорректное тестирование технического программных модулей. Риск использованием лицензионного стендового а устраняется двойным

2.1.3 Организационно-правовые и средства обеспечения информационной и защиты информации

Для обеспечения ох и программно-аппаратны средств компании ООО «Сав- необходимо дать полную обоснованную характеристику проектируемым решения задач средствам ИБ и ЗИ. 

Защита от внутренних (разработка внутренней политики разграничение прав доступа информации и так Для этого необходимо группы пользователей разрабатываемой и назначить им права доступа к и модулям системы, требования к паролям частоте их смены, также другие параметры ИС. Подробные права описаны в таблице

Таблица 7

Разграничение пользователей

Группы пользователей

заявки

Возможность редактирования заявки

Возможность переназначит

Работа с базой

Сетевая группа

Чтение

Есть

Чтение/создание/удаление

Группа пользователей

Чтение

Есть

Чтение/создание/удаление

Лия взаимодейств с клиентами

Чтение/создание/удаление

Есть

Чтение

2. от внешних угроз каналов, протоколы, аутентификация, безопасная пересылку ключей т.д.).

Состав проектируемых и аппаратных средств быть оформлен в таблицы с содержанием

нормативно-правовые акты организации, (международные и отечественные);

и антишпионские средства;

защита от внешних и защита внешнего

защита от сетевых

защита от инсайдерских и защита информационных

физическая защита информации.

Обоснование выбора политики а также тех иных программных и средств, где должно

обоснование организационно-правовым методам программно-аппаратным средствам (средства быть конкретные, лицензионные, требованиями соответствующих стандартов);

различным аспектам защиты защита базы, резервное защита от хищения защита от порчи защита от инсайдерских уровни или сферы (обоснование разрабатываемого решения предмет уязвимостей, в числе ошибки кода, действия пользователя «защита дурака»).

2.2 Информационное задачи

2.2.1 Информационная и её описание

модель - модель представленная в виде описывающей существенные для рассмотрения параметры и величины объекта, связи ними, входы и объекта и позволяющая подачи на модель об изменениях входных моделировать возможные состояния

Рассмотрим информационную модель ЭИС: сперва необходимо логическую информационную модель. Для выделим основные сущности области:

Процесс обращения клиента реализуется через письмо на горячую линию, что также отражено на Информационной модели. Разработанная в данном дипломном проекте служба(сервис) обрабатывает почту , находя новые заявки и обрабатывая письма, связанные с уже зарегистрированными заявками(например согласование доступа). Данная служба обращается к базе данных HP OpenView Service Desk, в рамках которой созданы специальные таблички для ведения учета и получения статистики, а также добавления справочника ключевых слов. Основной таблицей в этой базе данных является таблица зарегистрированных заявок(Registered Letter). Данная таблица также фиксирует то, что было обработано данной службой и является основной в данном дипломном проекте. Для классификации проблемы по тексту письма, исполнителей заявки (ИТ специалистов) и группы(отдела), к которым принадлежит исполнитель были спроектированы следующие таблицы: It Worker, Klassification, IT_Group.

рисунке представлена и модель (Рисунок 9).

унок 9. Информационная ООО «Сав-тур»

2.2.2 Характеристика входной и оперативной

Под входной информацией вся информация, необходимая решения задачи и на различных носителях: документах, машинных носителях, памяти персонального компьютера.

информацией являются следующие

информация о сотруднике;

о туристических маршрутах

информация о состоянии маршрутов;

заявка

Данные о заказе в форме оформление В данные о входит следующая информация:

заказа, дата заказа, выполнения -- все заносятся в таблицу

данные о работнике, из справочника работников, код работника заносится таблицу заказ.

Далее макет экранной формы 10).

Рисунок 10. экранной формы

Результативная получается в процессе первичной и промежуточной и используется для управленческих решений.

В С формируется следующая информация:

Заказ. Представляет заполнение бланка заказа. бланк формируется на таблиц с переменной Заказ, тип продукции заказе, а так справочников с переменной о работниках предприятия образом:

из таблицы переменной информацией выбираются о заказе, а его номер и сумма;

из справочника переменной информации Тип на основании таблицы переменной информацией Тип в заказе перечень продукции, в этот заказ.

чего формируется бланк

2.2.3 Характеристика результатной

В результате работы системы, формируются следующие

1. Отчет по менеджерам за », который следующие поля таблицы:

отчёта;

источник данных;

2. Отчет , содержит следующие таблицы:

дата оформления

№ документа;

дата

страна;

маршрут;

стоимость;

количество дней.

Из данных, которые вырабатывает формируются шаблон каждого В этих документах результат проведенного анализа, результаты,. Формируется документация Microsoft Word или компоненте Rave report Менеджер может в момент либо добавить либо исправить уже

2.3 Программное обеспечение

Общие положения (дерево и сценарий диалога)

функций формируется с детального рассмотрения функциональных системы на различных иерархии. Функциональные возможности в полной мере через дерево форм, котором представлена совокупность меню и рабочей системы. Элементы меню по типам открываемых структура представлена на 11, также в рисунке 12 представлен диалога.

В функции происходят следующие действия:

о сотрудниках: ФИО, работы.

В данных производится заполнение данных заказе: номер заказа, заказа, заказчик.

В формирование происходят следующие

В формировании документа платежный документ, в должны быть подписи сторон заказчика и

В формировании отчёта отчёт о завершении в котором указана тура, срок, когда выполнен заказ, кто имя менеджера который заказом и т.д.

11. Дерево функций

12. диалога

2.3.2 Характеристика данных

Базу данных можно представить в следующей ER модели 13)

Рисунок 13. модель базы данных

структуры таблиц, базы данных в 14- 21

14

Структура таблицы

Номер атрибута

Название

Тип

данных

Ограничение

атрибута

1

EmployeeId

NOT NULL

Первичный

2

UserName

varchar

NULL

Логин пользователя

Password

varchar

NOT

Пароль пользователя

4

varchar

NOT NULL

5

LastName

varchar

NULL

Фамилия

6

datetime

NOT NULL

рождения

7

MarialStatusId

NOT NULL

Семейное

8

PositionId

int

NULL

Должность

9

varchar

NOT NULL

10

Phone

varchar

NULL

Номер телефона

Email

varchar

NOT

Электронная почта

12

varchar

NOT NULL

13

Photo

varbinary

NULL

Фото работника

CV

varbinary

NOT

Резюме работника

Таблица

Структура таблицы Position

атрибута

Название атрибута

данных

Ограничение

Назначение

1

PositionId

int

NULL

Первичный ключ

Name

varchar

NOT

Название должности

3

int

NOT NULL

Таблица 16

Структура Department

Номер атрибута

атрибута

Тип

данных

Назначение атрибута

1

int

NOT NULL

ключ

2

varchar

NOT NULL

отдела

Таблица 17

таблицы Application

Номер

Название атрибута

Тип

Ограничение

Назначение атрибута

ApplicationId

int

NOT

Первичный ключ

2

varchar

NOT NULL

заявления

3

Body

NOT NULL

Содержание

4

Date

datetime

NULL

Дата оформления

EmployeeId

int

NOT

Сотрудник

Таблица 18

таблицы TemplatedApplication

Номер

Название атрибута

Тип

Ограничение

Назначение атрибута

TemplatedApplicationId nId

int

NULL

Первичный ключ

Title

varchar

NOT

Название заявления

3

varchar

NULL

Поле заявления

4

templatedField2

NULL

Поле шаблонной

6

templatedMultiField3

NULL

Многострочное поле заявления

7

templatedMultiField

varchar

NULL

Многострочное шаблонного заявления

8

datetime

NOT NULL

оформления

Таблица 1

Структура таблицы UserTemplatedApplication

атрибута

Название атрибута

данных

Ограничение

Назначение

1

UserTemplatedApplicationId

int

NULL

Первичный ключ

TemplatedApplicationId

int

NOT

Шаблонное заявление

3

int

NOT NULL

Таблица 20

таблицы MaritalStatus

Номер

Название атрибута

Тип

Ограничение

Назначение атрибута

MaritalStatusId

int

NOT

Первичный ключ

2

varchar

NOT NULL

семейного положения

Также связи между описанными и их кардинальностью Таблице 12

Таблица

Связи между таблицами их кардинальность

Кардинальность

1

Employee Application

Один ко

2

Employee -

Один ко многим

TemplatedApplication

Один ко

4

UserTemplatedApplication

Один многим

5

Employee Salary

Один ко

6

MaritalStatus -

Один ко многим

Position - Employee

ко многим

8

- Position

Один многим

9

Employee Participant

Один ко

10

Project -

Один ко многим

ProjectStatus - Project

ко многим

12

- Enrollment

Один многим

13

TaskStatus Task

Один ко

14

Task -

Один ко многим

Employee - Message

ко многим

16

- Message1

Один многим

2.3.3 Структурная пакета (дерево вызова модулей)

Поскольку основным продуктом, который тся в данном является программа служб, работающая с то и описание функций будет именно неё.

Рисунок 14 Схема графических форм сервиса для обработки с клиентами ООО

В таблице 22 описание всех модулей схемы пакетов, представленных рисунке 14

Таблица 22

Таблица модулей разрабатываемого программного продукта

Наименование модуля

Функционал

1

Форма “основная работы сервиса”

Содержит себе глобальные переменные, и функции. Основная начинается с этого

2

Форма “Журнал заявок в одну

Форма формирование и отчета Созданных заявок одну итерацию.

3

«Журнал обработанных заявок»

формирование и отправки обработанных заявок.

4

«Авторизация»

Данная форма запрос логина и для входа в интерфейс программы.

5

«О программе»

Краткая о созданной программе.

Описание программных модулей

описание работы программы понятным будет пояснение модуля процедуры Main. код данной процедуры приведен в приложении

Данный программный код в виде блок которая представлена на 15

Рисунок 15 схема работы основного MAIN

2.4 Контрольный реализации проекта и описание

При запуске пользователь должен авторизоваться. авторизации пользователь попадает главную страницу (Рисунок 6).

Рис 16. Главное

Главная страница содержит элементы:

Контекстное меню, следующие элементы

клиенты

физ. лица;

лица;

туры;

туристы;

туроператоры;

сотрудники.

А же кнопки:

кнопка Добавить»;

«Изменить»

кнопка «Удалить.

При переходе закладку «Клиенты (Рисунок 17 пользователь попадает на с информацией о компании. Причём вкладка «Физ. лица» 17 ) «Юр. лица» (Рисунок 8) позволяют всех клиентов в от их юридического

Рисунок 17 Информация о физических

Рисунок 1. Информация о лицах

При нажатии «Туры» попадает в меню заказа, где в вносится информация о и клиенте, который заказал (Рисунок 1).

Рисунок 1. Информация о и клиентах, которые заказали

В разработанной так же существует о работе менеджера 20).

Рисунок . Отчет

А же справочник продукт (товаров и услуг) 21)

Рисунок . Справочник

III экономической эффективности проекта

Выбор и обоснование расчёта экономической эффективности

экономической эффективности проекта неотъемлемой частью процесса программного средства. Развитие автоматизации должно осуществляться тесной привязке к в области управления При этом их не следует определять необходимостью внедрения технологических Разработчику нужно понять потребности бизнес-подразделений, а должны трезво оценивать разработчиков. Для принятия решения о модернизации внедрении ЭИС также сравнить существующий метод данных и внедряемый. также экономическая эффективность информационной системы определяется достижения поставленной цели зависимости от ее

Поэтому важнейшей задачей анализ экономической эффективности системы. Ее своевременное дает возможность сравнить варианты автоматизации и оптимальный вариант, оценить влияние на изменение деятельности организации.

Эффективность автоматизированной системы обуславливается ряда факторов организационного, и экономического характера.

эффект проявляется в работников от рутинных по систематизации и учетных данных, многочисленных и записей в и другую документацию, показателей, увеличив тем время для проведения и оценки эффективности управленческих решений.

Информационный эффективности выражается в уровня информированности персонала скорости обработки.

Экономический проявляется в том, учетная информация, имеющая полное и своевременное и состояние объекта причин, влияющих на развитие, в конечном направлена на улучшение производственных ресурсов.

Опыт комплексов задач показал, в процессе автоматизации работ достигается снижение отдельных операций, рост и улучшений условий отдельных работников, повышение достоверности, включая подготовку при постоянно растущем первичной документации без численности персонала и

Затраты на разработку (производственные затраты) представляют единовременные расходы на этапах инновационного процесса: разработка, эксплуатация. Определение на разработку проекта путем составления калькуляции себестоимости. В плановую включаются все затраты, с ее выполнением, от источника их Смета затрат состоит прямых и накладных

В плановую себестоимость все затраты, связанные выполнением работ, независимо источника их финансирования. расходов, связанных с ЭИС, включает в следующие статьи: заработная исполнителей, начисления на стоимость материалов, амортизационные накладные расходы, прочие

Заработанная плата и ей затраты будет на студента-дипломника, так он является разработчиком проекта.

3.2 Расчёт экономической эффективности проекта

заработную плату исполнителя учетом сорокачасовой рабочей Трудовой календарь 2016 составляет 1974 часов. тарифной ставки месячного рассчитывается по формуле (в рублях):

где -- месячный оклад

Месячный оклад исполнителя 6200 рублей. Соответственно:

разработку ЭИС количество составит 283 часа. плату исполнителя рассчитаем формуле (2) (ЗП):

(2)

где Т часовая тарифная ставка

Ч -- количество (часы).

Следующей статьей являются материалы. К можно отнести:

бумага принтера;

тонер для

канцелярские принадлежности.

Расчет материалов приведен в 23.

Таблица

Стоимость материалов

Материалы

за единицу, (рублей)

(штук)

Стоимость, (рублей)

для принтера

130

130

Тонер для

1 000

1

000

Канцтовары (ручки, ластики и т.д.)

Итого:

1 430

общие затраты по статье составляют 1430

Статья «Начисления заработную плату» в себя отчисления, представлены в таблице .

Таблица 24

на заработную плату

Отчисления, %

Сумма руб.

ПФР

22

ФСС

2,9

309,32

5,1

543,97

Итого

3199,86

ФФОМС

5,1

Эксплуатационные затраты при ЭВМ в процессе и программирования рассчитываются амортизационным отчислениям при основных средств. Амортизационные можно рассчитать по (3):

, (3)

норма амортизации;

C основных фондов;

T использования основных фондов(дни).

амортизации, установленная на вычислительной техники, составляет в год.

Соответственно, (A) ЭВМ студента-выпускника 15000 и принтера 5000 рублей за реализации проекта составила:

В накладные расходы расходы на управление хозяйственное обслуживание, которые равной степени относятся всем операциям выполняемой Величина накладных расходов (Р) определяется по следующей (4):

, (4)

коэффициент учета накладных Зп зарплата.

расходы составляют 20 от прямых расходов. коэффициенте учета накладных равном 0,2, получим:

Прочие затраты -- это затраты пользование средствами связи, расходы на электроэнергию, защиту информации, на данными с внешними На практике для занимающихся подобной деятельностью, расходы составляют 10 % фонда заработной платы.

затраты (S) составят:

В таблице 25 сметная калькуляция затрат:

25

Сметная калькуляция

Статьи затрат

Затраты,

Зарплата исполнителя

10666,26

с зарплаты

3199,86

материалов

1430

Амортизационные

323,28

Накладные расходы

Прочие расходы

1066,62

18819,27

Заключение

предприятие автоматизация модуль программный

данной работе был комплекс работ по процесса обработки заказов компании ООО «».

В первой была рассмотрена компания, деятельность. Описаны бизнес-процессы. анализе бизнес-процессов было что область деятельности по учету заказов и позволит снизить при автоматизации.

В были обоснованы проектные по информационному, программному, обеспечению. Была проведена задачи.

Во второй было проведено проектирование обеспечения поставленной задачи. информационная модель, описана нормативно-справочная и результатная

Построена математическая модель и алгоритм работы.

проведён анализ информационной компании, который показал, оборудование и ПО, на компьютерах и отвечает современным требованиям не нуждается в

Также было рассмотрено обеспечение поставленной задачи.

выбрана СУБД My . В качестве разработки была выбрана IDE.

Спроектировано функций. Разработаны новые и процедуры обработки.

рассмотрен процесс технологического обработки и хранения

Результатом проделанной работы проект информационной системы заказов компании ООО Сав-тур». В потребуется разработка и данной системы.

Список литературы

Агальцов, В.П. данных. В 2-х Т. 2. Распределенные удаленные базы данных: / В.П. Агальцов. М.: ИД ФОРУМ, ИНФРА-М, 2013. - c.

Аткинсон MySQL. Библиотека - СПб: Вильямс, - 624 c

Бен-Ган И., Microsoft Server 2008. Основы -SQL. СПб:БХВ-Петербург, 2011. -

Бритов Г., Осипова Моделирование бизнес-процессов. - LAP, 2014. 124 с.

Виейра баз данных Microsoft Server 2008. Базовый / Р. Виейра Диалектика М., 2011. 812 с.

Гамма Хелм Р., Джонсон Влиссидес Дж. Приемы проектирования. Паттерны проектирования. СПб.:Питер, 2015. - с.

Голицына, О.Л. данных: Учебное пособие О.Л. Голицына, Н.В. И.И. Попов. - Форум, 2012. - c.

Грофф Вайнберг П., Оппель SQL. Полное - СПб.: Вильямс, - 960с.

Гудсон Стюард Р. Практическое по доступу к - СПб.:БХВ-Петербург, 2013. 304 с.

Гурвиц Microsoft Access 2010. приложений на реальном - СПб.: БХВ-Петербург, - 497с.

Давыдова М. Базы данных пособие для вузов Е. М. Давыдова, А. Новгородова. - изд., перераб. и - Томск : 2012. - 128

Дейт К.Дж. Введение системы баз данных. К.: Диалектика, 2012. 360 c.

В.В. Базы данных. SQL для студента Издательство: БХВ, 2013. 196 с.

Дюваль М. Непрерывная интеграция. качества программного обеспечения снижение риска - Вильямс, 2013. - c.

Илюшечкин Основы использования и баз данных. Учебник. М.:Юрайт, 2014. -

Исаев Г. Проектирование систем. Учебное пособие. М.: Омега-Л, 2015. 432с.

Карпова, И.П. данных: Учебное пособие И.П. Карпова. - Питер, 2013. - c.

Кириллов, Введение в реляционные данных.Введение в реляционные данных / В.В. Г.Ю. Громов. - БХВ-Петербург, 2012. - c.

Кит Томпсон Автоматизация продаж. подход. - М.: 2016 - 272

Коваленко В. Проектирование систем. - М.: 2012. - 320с.

А.В. Базы данных: пособие для студ. учеб. заведений / Кузин, С.В. Левонисова. М.: ИЦ Академия, - 320 c

Кузнецов С. Базы - М.: Academia 2012. - 496с.

Н. Имитационное моделирование процессов. - М.:Инфра-М, - 256с.

Малыхина Базы данных. Основы, использование. - СПб.: 2012. - 528с.

А.С., Лисовский К.Ю. данных. Введение в и методологию: Учебник. М.: Финансы и 2015. - 512

Миков А. Информационные и нормативные системы IT. Математические Проблемы проектирования. Новые - М.: Либроком, - 256с.

Набатов Правовая защита баз и прав ее по законодательству РФ. М.:LAP, - 72с.

Наумов Вендров А.М., Иванов и др. Системы базами данных и - М.: Финансы статистика, 2014. - c.

Озкарахан Машины баз данных управление базами данных. М.: Мир, 2013. 551 c.

В.Ю. Информационные системы базы данных: организация проектирование: Учебное пособие В.Ю. Пирогов. - БХВ-Петербург, 2014. - c.

Редько Бассараб И.А. Базы и информационные системы. М.: Знание, 2015. 602 c.

В. Информационные технологии продажами и маркетингом. М.: LAP Lambert Publishing, 2013. 284 с.

Советов, Базы данных: теория практика: Учебник для / Б.Я. Советов, Цехановский, В.Д. Чертовской. М.: Юрайт, 2013. 463 c.

Дэн Настройка SQL СПб: Питер, 2013. 539 c.

В.Е. Основы проектирования баз данных - Бином, 2012. - c.

Уорден Новые интеллектуальные материалы конструкции. Свойства и М.: Техносфера, 2012. 456 c.

В., Балдин К. системы в экономике. М.: Academia, - 288с.

Фейерштейн Прибыл Б. Oracle /SQL для - СПб: Питер, - 540 c

Фуфаев, Э.В. Базы Учебное пособие для учреждений среднего профессионального / Э.В. Фуфаев, Фуфаев. - М.: Академия, 2012. - c.

Хаббард Автоматизированное проектирование баз - М.: Мир, - 453 c

Шаймарданов Р.Б. Моделирование автоматизация проектирования структур данных - М.: 2016. - 469 .

Приложение

Программа

<?php

if( ! '_VALID_MOS' ) && defined( '_JEXEC' )

die( 'Direct Access ' . basename( ) . ' not allowed.' )

/**

*

* $Id: ps_product_attribute.php 1879 08:20:46Z soeren_nb $

@package VirtueMart

* classes

* @copyright (C) 2004-2009 soeren All rights reserved.

to the GNU Public License, and distributed it includes

* is derivative works licensed under GNU General Public or

* other or open source licenses.

* See for copyright notices details.

*

*/

* The class is used to the product attributes.

*/

class vm_ps_product_attribute

/**

* Validates all variables for updating an attribute

are correct

*

@param array $d

@return boolean True successful, false when

*/

function validate( ) {

global

Logger, $VM_LANG;

$valid true ;

if( == "" )

$vmLogger->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_ATTRNAME' ) ;

$valid false ;

} $d["old_attribute_name"] != $d["attribute_name"] {

$db = ps_DB( ) ;

= "SELECT attribute_name #__{vm}_product_attribute_sku " ;

.= "WHERE attribute_name '" . $db->getEscaped( ) . "'"

$q .= "AND = '" . . "'" ;

$q ) ;

$db->next_record() ) {

$VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_ATTRUNIQ' ) ;

$valid = ;

}

}

$valid ;

}

* Validates all for deleting an

*

* @param $d

* @return True when successful, when not

*/

validate_delete( &$d )

global $vmLogger, $VM_LANG

require_once (CLASSPATH . ;

$ps_product = ps_product( ) ;

= new ps_DB( ;

$q = product_id FROM #__{vm}_product_attribute_sku product_id = ' (int)$d["product_id"] ;

$db->query( ) ;

if( == 1 && $d["product_id"] ) )

$vmLogger->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_DELITEMS' ) ;

return ;

}

return ;

}

/**

Adds an attribute

*

* @param $d

* @return True when successful, when not

*/

add( &$d )

global $VM_LANG ;

! $this->validate( $d ) {

return ;

}

$db new ps_DB( )

$fields = array( => $d["product_id"] , => $d["attribute_name"] , => $d["attribute_list"] )

$db->buildQuery( 'INSERT', '#__{vm}_product_attribute_sku', ) ;

if( === false )

$GLOBALS['vmLogger']->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_SAVING' ) ;

return ;

}

/** new Attribute Name child table **/

= new ps_product( ;

$child_pid = $d["product_id"] ) ;

$i = 0 $i < count( ) ; $i ) {

$fields array( 'product_id' => , 'attribute_name' => ) ;

$db->buildQuery( '#__{vm}_product_attribute', $fields )

$db->query() ;

}

$VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_SAVED' ) ;

return true

}

/**

* an attribute record

* @param array

* @return boolean when successful, false not

*/

function &$d ) {

$VM_LANG ;

if( $this->validate( $d ) {

return false

}

$db = ps_DB( ) ;

= array( 'attribute_name' $d["attribute_name"] , 'attribute_list' $d["attribute_list"] ) ;

'UPDATE', '#__{vm}_product_attribute_sku', $fields, product_id='" . (int)$d["product_id"] "' AND attribute_name='" $db->getEscaped( $d["old_attribute_name"] ) "'" ) ;

$db->query() === false {

$GLOBALS['vmLogger']->err( $VM_LANG->_( ) ) ;

false ;

}

$d["old_attribute_name"] != $d["attribute_name"] {

$ps_product = ps_product( ) ;

= $ps_product->get_child_product_ids( $d["product_id"] ;

for( $i 0 ; $i count( $child_pid ) $i ++ )

$fields = array( => $d["attribute_name"] )

$db->buildQuery( 'UPDATE', '#__{vm}_product_attribute', "WHERE product_id='" . . "' AND . $db->getEscaped( $d["old_attribute_name"] . "' " ;

$db->query() ;

}

$GLOBALS['vmLogger']->info( $VM_LANG->_( ) ) ;

true ;

}

* Controller for Records.

*/

function &$d ) {

= $d["attribute_name"] ;

is_array( $record_id ) {

foreach( $record_id $record ) {

! $this->delete_record( $record, ) )

return ;

}

return ;

} else

return $this->delete_record( $record_id, ) ;

}

/**

* Deletes Record.

*/

function $record_id, &$d )

global $db ;

! $this->validate_delete( $d ) {

return ;

}

$q "DELETE FROM #__{vm}_product_attribute_sku ;

$q .= product_id = ' (int)$d["product_id"] . ' ;

$q .= attribute_name = '" $db->getEscaped( $record_id ) "'" ;

$db->query( ) ;

$ps_product new ps_product( )

$child_pid = $ps_product->get_child_product_ids( ) ;

for( = 0 ; < count( $child_pid ; $i ++ {

$q = FROM #__{vm}_product_attribute "

$q .= "WHERE = '$child_pid[$i]' "

$q .= "AND = '" . $record_id ) . ;

$db->query( $q ;

}

return ;

}

/**

Lists all child/sister

of the given

*

* @param $product_id

* @return HTML code with attributes & price

function list_attribute( $product_id, = null )

// The default method

$product_list = ;

$display_use_parent =

$child_options = ps_product::get_child_options( ) ;

if( empty( $child_options ) {

extract( $child_options ;

}

$quantity_options ps_product::get_quantity_options( $product_id )

if( ! empty( ) ) {

= $quantity_options['quantity_box'] ;

$child_option_ids = ps_product::get_field( 'child_option_ids' ) ;

$child_option_ids != '' $product_list == "N" {

$product_list = ;

}

if( ) {

$child_option_ids $child_option_ids ? "," $extra_ids : $extra_ids

}

if( empty( ) ) {

= "" ;

switch( $product_list) {

"Y" :

return $product_id, $display_use_parent, $product_list_child, $class_suffix, $child_option_ids, $dw, $display_header, $product_list_type, $product_list ;

break ;

"YM" :

return $product_id, $display_use_parent, $product_list_child, $class_suffix, $child_option_ids, $dw, $display_header, $product_list_type, $product_list ;

break ;

"N" :

default

return $this->list_attribute_drop( $product_id, ) ;

break

}

}

/**

Lists all child/sister of the given

*

* @param $product_id

* @return HTML code with attributes & price

function list_attribute_drop( $product_id, ) {

global $CURRENCY_DISPLAY, $mm_action_url, $sess

$db = new ) ;

$cur_product_id $_REQUEST['product_id'];

// $q="select from #__{vm}_product where

$q = "SELECT FROM #__{vm}_product p

JOIN #__{vm}_product_type_1 p1 p1.product_id=p.product_id

WHERE p.product_parent_id='$cur_product_id' p.product_publish='Y'";

// AND

// and p1.door_color='$cur_door_color'

" ;

$db->setQuery($q);

$db->next_record();

$new_id = "product_id" );

if($new_id){

$product_id=$new_id;

$_REQUEST['product_id']=$new_id;

$cur_product_id=$new_id;

// parent всРжРлуСшРужРздРСЃСЊ СѓР·°С‚:

$q="select product_parent_id #__{vm}_product where product_id=$cur_product_id";

$db->query();

$db->next_record();

$product_parent_id $db->f( "product_parent_id" );

// echo">>>>>>>>>>>>>>>>>>>>>$cur_product_id -

//if($product_id ==19)$product_id =23;

(CLASSPATH . 'ps_product.php')

$ps_product = new ) ;

$Itemid $sess->getShopItemid() ;

$category_id vmGet( $_REQUEST, 'category_id', ) ;

$db_sku new ps_DB( )

$db_item = new ) ;

$tpl new $GLOBALS['VM_THEMECLASS']( )

$tpl->set( "cls_suffix", $cls_suffix ;

$tpl->set( "product_id", ) ;

// Advanced Attributes

$tpl->set( $this->list_advanced_attribute( $product_id, $db->f( ) ) )

$tpl->set( "custom_attribute", $this->list_custom_attribute( $db->f( "product_id" ) ) ;

// list of children

= "";

if( && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != {

$q1 = AND product_in_stock > ";

}

// = "SELECT product_id,product_name #__{vm}_product WHERE product_parent_id='$product_id' product_publish='Y'" ;

//tra

$q="select door_color, door_type #__{vm}_product_type_1 where product_id=$cur_product_id";

$db->query();

$db->next_record();

$cur_door_type $db->f( "door_type" );

= $db->f( "door_color"

//echo">>>>>>>>>>>>>>>>>> $product_parent_id - - $cur_door_type -

$q = "SELECT FROM #__{vm}_product p

JOIN #__{vm}_product_type_1 p1 p1.product_id=p.product_id

WHERE p.product_parent_id='$product_parent_id' p.product_publish='Y'

AND p1.door_type!='$cur_door_type'

p1.door_color='$cur_door_color'

" ;

$db->query();

$db->next_record();

$alt_id=$d

}

$addhtml.="";

$q "SELECT p.product_id,p.product_name FROM p

INNER JOIN p1 on p1.product_id=p.product_id

p.product_parent_id='$product_parent_id' AND p.product_publish='Y'

p1.door_type='$cur_door_type'" ;

$db->query($q.$q1);

$db->num_rows() < 1 {

// Must a child then

= $product_id;

// to Get list sisters & brothers

= $ps_product->get_field( $product_id, ) ;

if( != "0" )

$product_id = $product_parent_id;

$q = "SELECT FROM #__{vm}_product WHERE AND product_parent_id<>0 AND ;

//traveller:

$q "SELECT p.product_id,p.product_name FROM p WHERE p.product_parent_id='$product

Start row for child

$html .= value=\"" . $db->f( ) . "\" ;

///$html .= "product_name" ) ." " ;

$q="select door_type from #__{vm}_product_type_1 product_id=".$db->f( "product_id" );

$db_sku->query();

$db_sku->next_record();

$html "door_color" ).", ".$db_sku->f( );

/*

// each child get values by looping attribute list

$q "SELECT product_id, attribute_name #__{vm}_product_attribute_sku " ;

.= "WHERE product_id='$product_id' BY attribute_list ASC"

$db_sku->setQuery( $q )

$db_sku->query() ;

while( ) {

$q "SELECT attribute_name, attribute_value, " ;

$q "FROM #__{vm}_product_attribute WHERE ;

$q .= . $db->f( "product_id" . "' AND ;

$q .= . $db_sku->f( "attribute_name" . "'" ;

$q ) ;

;

while( $db_item->next_record() {

//$html .= "attribute_name" ) . " ;

$html $db_item->f( "attribute_value" )

if( ! $db_sku->is_last_record()

$html .= '; ;

}

}

///////$html.="--".$db->f( "product_id" );

Attributes for this are done.

// get item price

$_SESSION['auth']['show_prices'] && _SHOW_PRICES {

$price = $db->f( "product_id" ) ;

$price["product_price"] = $price["product_price"], $price["product_currency"] )

if( $_SESSION["auth"]["

show_price_including_tax"] 1 ) {

= 1 + $db->f( "product_id" ) ;

$price['product_price'] *= ;

}

$html ' - ' $CURRENCY_DISPLAY->getFullValue( $price["product_price"] )

}

$html .= ;

}

$html "</select>\n" ;

$tpl->set( $html ) ;

else {

$html "<input type=\"hidden\" name=\"product_id\" />\n" ;

$html "<input type=\"hidden\" name=\"prod_id[]\" />\n" ;

$tpl->set( $html ) ;

$html = $tpl->fetch( ) ;

return $html , "drop" ;

}

/**

Lists all child/sister of the given

*

* @param $product_id

* @return HTML code with attributes & price

function list_attribute_drop_multi( $product_id, ) {

global $CURRENCY_DISPLAY, $mm

_action_url, ;

require_once (CLASSPATH 'ps_product.php') ;

$ps_product new ps_product( )

$Itemid = $sess->getShopItemid()

$category_id = vmGet( 'category_id', "" )

$db = new ) ;

$db_sku new ps_DB( )

$db_item = new ) ;

$tpl new $GLOBALS['VM_THEMECLASS']( )

$tpl->set( "cls_suffix", $cls_suffix ;

$tpl->set( "product_id", ) ;

// Advanced Attributes

$tpl->set( $this->list_advanced_attribute( $product_id, $db->f( ) ) )

$tpl->set( "custom_attribute", $this->list_custom_attribute( $db->f( "product_id" ) ) ;

// list of children

= "SELECT product_id,product_name #__{vm}_product WHERE product_parent_id='$product_id' product_publish='Y'" ;

$db->setQuery( ) ;

$db->query()

if( $db->num_rows() < ) {

// to Get list sisters & brothers

= "SELECT product_parent_id #__{vm}_product WHERE product_id='$product_id'"

$db->setQuery( $q )

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.