Создание системы по работе с клиентами для ЗАО «ННВП»

Для выборки данных в Trnsct-SQL существует команда SELECT которая позволяет как делать простую выборку всех данных из одной таблицы текущей базы данных так и выполнять сложные запросы одновременно к множеству таблиц различных баз данных расположенных на нескольких серверах сети Результатом SQL- запроса на выборку всегда является таблица. В качестве примера можно привести запрос позволяющий создать временную таблицу содержащую информацию о талонах проданных в заданный период времени: INSERT INTO TempTble coupon_num dte sttus gs_nme...

2015-09-27

763.82 KB

7 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Содержание

Введение…………………………………………………………………………………5          

         1 Расчетно-теоретическая часть………………………………...……………………….6    1.1 Описание предметной области…………………………………………………..6

 1.2   Разработка технического задания……………………………………………...8      1.2.1 Наименование и область применения.............................................................8

 1.2.2 Цель и назначение разработки..........................................................................8

 1.2.3 Требование к срокам разработки ИС………………………………………...8

 1.2.4 Технические требования к программе.............................................................8

   1.2.4.1 Функциональные требования к программе………………………………8

   1.2.4.2 Требования к пользовательскому интерфейсу...........................................8

 1.2.5 Условия эксплуатации…………………………………………………...........9

1.3 Анализ технического задания……………………………………………............9
              1.4 Выбор средств решения выполнения технического задания... ………………..9

2  Технологическая часть     ……………………………………………………….....12

  2.1  Разработка структуры базы данных…………………………………………...12

  2.2  Индексирование ………………………………………………………………..22

  2.3  Архитектура базы данных……………………………………………………...23

              2.4 Описание созданных запросов.............................................................................26

              2.5 Описание созданных отчетов...............................................................................26

3  Руководство пользователя информационной системы…………………………..32

4  Организационно - экономическая часть…………………………………………..42

           5 Безопасность и экологичность...................................................................................54

Заключение…………………………………………………………………………….80

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

Приложение А

Введение

Данная работа посвящена проектированию информационной системы по работе с   клиентами на предприятии по реализации нефтепродуктов.

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

Заказчиком данного проекта является ЗАО «ННВП» - одно из крупнейших             предприятий Нижегородской области по розничной торговле бензином и дизельным      топливом. На предприятии действуют такие системы расчетов с клиентами, как               топливные карты и талоны.

Целью данной работы послужило создание системы по работе с клиентами для ЗАО «ННВП», которая бы отвечала всем поставленным перед ней задачам. Она должна          отражать всю информацию о клиентской базе, предоставлять текущие данные по            состоянию счета клиента, организовывать процесс выдачи и погашения талонов,          формировать необходимые в процессе учета отчеты, позволяющие производить сверку данных с бухгалтерией. Система должна быть с простым и  понятным интерфейсом.

 

1 Расчетно- теоретическая часть

1.1 Описание предметной области

Проектируемая информационная система предназначена для  ЗАО «ННВП» - предприятия, занимающегося розничной торговлей нефтепродуктами. На предприятии существуют специализированные формы оплаты – это бензиновые карты и талоны.

Топливная карта - техническое средство отпуска продукции, представляющее    собой пластиковый (с микропроцессором) носитель информации,  подтверждающий его право на получение продукции на АЗС. Информация о количестве оплаченного бензина хранится в литрах (раздельно по каждому виду топлива) на самой карте и  в общей базе данных компании. Количество оплаченных литров фиксируется на момент оплаты и не меняется при изменении розничных цен. Карты защищены от копирования, подделки и несанкционированного доступа. Талон на бензин – это уникальная (для нашего региона) форма оплаты за ГСМ. Талоны специального образца различаются по виду  бензина и номиналу: бензин  А-76, Аи-92, Аи-95 по 20 литров, дизельное топливо по 40 литров каждый.

Проектируемая информационная система предназначена для организации учета выдачи нефтепродуктов клиентам по картам и талонам. Конечными пользователями    данной системы являются работники коммерческого отдела и операторы на АЗС ЗАО «ННВП», она должна быть понятна для пользователя, в тоже время необходимо            позаботиться о наборе функциональных средств, обеспечивающих удобство работы.  

Основные требования, предъявляемые к системе:

1)  Система должна обеспечивать пользователя следующей информацией:

  - реквизиты клиента;

  - тип обслуживания карты;

  - количество карт у клиента;

  - тип бензина  и лимит, установленный на карте;

  - текущее состояние топлива на карте;

  - информацию о поступивших на счет клиента платежах;

  - о датах и местах реализации топлива по каждой карте;

  - номера проданных талонов;

  - дата и место погашения талонов.

2) Система должна обеспечить организацию работы с покупателем по            топливным картам:

  - выдачу новых и изъятие неисправных карт;

  - установку и изменение типа обслуживания и  лимита на карту;

  - производить пополнение карты (т.е. произвести запись на карту оплаченного  бензина в литрах);

  - производить распределение платежей клиента, в соответствии с                       проведенными платежами в базе «1С:Предприятие»;

  - отслеживать текущее состояние счета клиента;

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

3) Система должна обеспечить организацию работы по талонам:

   - отслеживание движения талонов внутри организации;

   - обеспечить выдачу талонов клиенту;

   - обеспечить внесение в базу данных номеров погашенных талонов;

   - обеспечить поиск талонов по различным критериям.

4) Система должна представлять отчеты в печатной форме:

  - баланс денежных средств;

  - отчет по реализации топлива за выбранный период;

  - отчет по состоянию стоп – листа;

  - отчет по реализации топлива по пластиковым картам на АЗС;

  - отчет по кредитованию - дебетованию пластиковых карт в офисе;

  -  отчет по распределению денежных средств;

  - отчет по поступлению денежных средств на счет клиента;

  - отчет по пополнению пластиковых карт на АЗС;

  - размер кредита для корпоративных клиентов по состоянию на заданный         период;

  - отчет по погашенным талонам (итоги по клиентам);

  - отчет по выданным талонам (итоги);

  - отчет по реализации топлива по талонам на АЗС (сменные итоги);

  - отчет по погашенным талонам за определенный период по клиенту.

1.2 Разработка технического задания

1.2.1 Наименование и область применения информационной системы

Информационная система по работе с клиентами на предприятии по реализации нефтепродуктов «VP_Office».

Область применения – ЗАО «ННВП» - предприятие, занимающееся розничной торговлей       нефтепродуктов.

1.2.2 Цель и назначение разработки

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

Информационная система будет применяться для работы с клиентами, приобретающими ГСМ по таким системам, как топливные карты и талоны. Система должна автоматизировать работу сотрудников с клиентами и  предоставлять  полную статистическую информацию любого содержания по операциям с карточками и талонами.

1.2.3 Требования к срокам разработки ИС

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

1.2.4 Технические требования  к программе

1.2.4.1 Функциональные требования к программе

Программа должна обеспечивать:

1) Организацию работы предприятия с клиентами по топливным картам;

2) Организацию работы предприятия с клиентами по талонам;

3) Предоставление всей отчетной документации по реализации топлива.

1.2.4.2 Требования к пользовательскому интерфейсу программы

1)    Программа должна иметь русскоязычный интуитивно-понятный интерфейс;

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

1.2.5 Условия эксплуатации

Для эксплуатации информационной системы требуется оператор, обладающий следующим минимальным набором навыков и знаний:

1) ознакомленный с техникой безопасности и правилами работы с персональным компьютером;

2) обладающий навыками работы на компьютере IBM PC в операционной системе Windows;

3) прошедший инструктаж по работе с данной программой.

1.3 Анализ технического задания

Согласно требованиям технического задания целесообразно информационную систему реализовать в виде СУБД - компьютерной программы, которая управляет реляционной базой данных. База данных представляет собой набор таблиц, в которых содержатся сведения о клиентах, о системах их обслуживания, о пластиковых картах, о количестве топлива, которое клиент может снять, о движении талонов на всех стадиях (выдача, погашение), а также информация, извлеченная из базы данных 1С.

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

1.4 Выбор средств решения выполнения технического задания

Проанализировав поставленную задачу, было принято решение использования языка SQL – структурированного языка запросов (Structured Query Language), язык программирования, который применяется для организации взаимодействия пользователя с базой данных. SQL используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю. К ним относятся:

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

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

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

- Управление доступом. С помощью SQL можно ограничить возможности пользователя по выборке и изменению данных и защитить их от несанкционированного доступа.

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

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

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

Язык SQL является фундаментом системы безопасности реляционной СУБД: требования, предъявляемые к системе защиты информации в базе данных, формулируются с помощью инструкций SQL. С защитой данных в SQL связаны три основные концепции:

- Действующими лицами в базе данных являются пользователи. Каждый раз, когда  СУБД извлекает, вставляет, удаляет или обновляет данные, она делает это от имени какого-то пользователя. СУБД выполнит требуемое действие или откажется его выполнять в зависимости от того, какой пользователь запрашивает это действие;

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

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

СУБД Microsoft SQL Server удерживает первую позицию по производительности среди других СУБД.

Microsoft SQL Server поддерживает язык Transact SQL, являющийся расширением стандарта ANSI-92, что позволяет создавать приложения, части которых функционируют целиком на сервере. Эти серверные компоненты реализуются в виде хранимых процедур и триггеров, которые могут обеспечить выполнение как специфических правил целостности данных, так и бизнес-логики. Применение серверных компонент, в частности, снижает расходы на сопровождение системы, так как все изменения производятся только на сервере.

Microsoft SQL Server будет оптимальным по следующим причинам:

- производительность, надежность и функциональность соответствуют современным требованиям;

- самое низкое соотношение цена/производительность;

- удобный и понятный графический интерфейс сокращает затраты на обучение;

- возможность выбора привычного средства программирования позволяет использовать накопленный опыт;

- масштабируемость обеспечивает поэтапность инвестиций.

2 Технологическая часть

2.1 Разработка структуры БД

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

Важнейшим этапом проектирования БД является разработка инфологической (информационно-логической) модели предметной области, не ориентированной на СУБД. В инфологической модели средствами структур данных в интегрированном виде отражают состав и структуру данных, а также информационные потребности приложений (задач и запросов).

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

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

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

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

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

Модель типа "сущность – связь" (entity-relationship model) – это неформальная модель  предметной области, которая используется на этапе инфологического проектирования базы данных. Эта модель позволяет моделировать объекты ПО, взаимоотношения объектов. Относительная простота, применение естественного языка и легкость понимания позволяют использовать модель как инструмент для общения с будущими пользователями для сбора информации о предметной области для проектирования базы данных.

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

Существует несколько подходов к построению моделей типа  "сущность – связь". Общим для всех подходов является использование трех основных конструктивных элементов для представления составляющих ПО – сущность, атрибут и связь.

Сущность – это собирательное понятие, некоторая абстракция реально существующего объекта, процесса или явления, о котором необходимо хранить информацию в системе. В качестве сущностей в моделях предметной области рассматриваются материальные (предприятие, изделие, сотрудники учреждения и т. п.) и не материальные (описание некоторого явления, применяемых в системе структур данных, рефераты научных статей и т. д.) объекты реальной действительности. В моделях предметной области типа "сущность – связь" каждая рассматриваемая конкретная сущность является узловой точкой  сбора информации об этой сущности. В модели используется также  понятие "экземпляр сущности".

Тип сущности определяет набор однородных объектов, а экземпляр сущности – конкретный объект в наборе. Каждый рассматриваемый в модели тип сущности должен быть поименован.

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

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

Эта модель основывается на некоторой важной семантической информации о реальном мире. Вводится специальный диаграммный метод (ER - диаграммы) как средство проектирования баз данных. ER–диаграмма разрабатываемой информационной системы представлена на рисунке 2.1.

               Рис. 2.1 «ER-диаграмма информационной системы».

При планировании информационной системы «VP_Office» и определении состава входной информации была разработана структура базы данных. В базе данных содержится четырнадцать таблиц. В каждой таблице хранится информация об одном конкретном типе сущности:

- в таблице COUPONS хранятся данные о каждом талоне, такие как его номер; идентификатор его статуса; идентификатор вида топлива и его номинала; идентификатор склада, которому он принадлежит; идентификатор АЗС, на которой талон реализован; идентификатор служащего, который произвел операцию.

- в таблице CUSTOMER хранятся данные о каждом клиенте, такие, как название компании, ИНН, адреса и телефоны, идентификатор типа обслуживания, размер возможного кредита.

- в таблице SERVICE хранится информация о типе работы с клиентом (работа в кредит или по предоплате).

- в таблице STATUS хранится информация о возможных статусах талонов (не выдан/выдан/погашен/в стоп-листе).

- в таблице SKLAD хранится информация обо всех складах ЗАО «ННВП», на которых могут храниться талоны.

- в таблице GAS_COUPON хранится информация о типах талонов, т. е. о том, к какому типу бензина он относится и какой у него номинал (бензин А-76, Аи-92, Аи-95 по 20 литров и дизельное топливо по 40 литров).

- в таблице AZS хранится информация о всех АЗС ЗАО «ННВП».

- в таблице CARD хранятся данные о топливных картах: номер карты, идентификатор покупателя, которому она принадлежит, идентификатор текущего состояния карты.

- в таблице GAS_CARD хранятся данные о типах топлива, находящихся на карте, и количестве литров каждого типа, идентификатор типа лимита и его величина.

- в таблице CARD_PROPERTY  хранится информация о текущем состоянии карты (выдана, изъята или карта находится в стоп-листе).

- в таблице GAS_TYPE хранится информация о типах топлива (бензин А-76,     Аи-92, Аи-95 и дизельное топливо).

- в таблице  TYPE_LIMIT хранится информация о  типе лимита, установленном на карте (сутки, неделя, месяц).

- таблица EVENT  - журнал событий, содержит информацию о типе события, дате, типе топлива, его количестве (приобретенного, реализованного или возвращенного), цене за литр.

- в таблице EVENT_TYPE хранится информация о всевозможных типах событий.

Схема данных представлена на рисунке  2.2.

                                        Рис. 2.2 «Схема данных»

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

1) Блок, отвечающий за работу с клиентами по талонам на бензин.

2) Блок, отвечающий за работу с клиентами по топливным картам.  

Первый функциональный блок представлен на рисунке 2.3.

     Рис. 2.3 «Блок, отвечающий за работу с клиентами по талонам на бензин»

Второй блок представлен на рисунке 2.4.

    Рис. 2.4 «Блок, отвечающий за работу с клиентами по топливным картам»

Рассмотрим каждую таблицу подробнее:

Таблица 2.1 COUPONS

Поле

Тип данных

Описание

id_coup

int

ключевое поле

coupon_num

char(10)

номер талона

stutus_id

int

идентификатор статуса талона

gas_coupon_id

int

идентификатор типа топлива

sklad_id

int

идентификатор склада

date_operation

datetime

дата операции

cust_id

int

идентификатор покупателя

azs_id

int

идентификатор АЗС

date_realiz

datetime

дата погашения талона

Таблица 2.2 – STATUS

Поле

Тип данных

Описание

id_status

int

ключевое поле

status_name

text

наименование статуса талона

Таблица 2.3 – GAS_COUPON

Поле

Тип данных

Описание

id_gas_coupon

int

ключевое поле

gas_name

text

наименование бензина

nominal

int

номинал талона

Таблица 2.4 – SKLAD

Поле

Тип данных

Описание

id_sklad

int

ключевое поле

sklad_name

text

наименование склада

properties

text

дополнительные свойства

Таблица 2.5 – AZS

Поле

Тип данных

Описание

id_azs

int

ключевое поле

azs_name

text

наименование АЗС

descriptions

text

описание

Таблица 2.7 – CUSTOMERS

Поле

Тип данных

Описание

id_cust

int

ключевое поле

cust_name

text

название организации

inn

int

ИНН

address

text

адрес

service_id

int

идентификатор типа обслуживания

credit

int

величина возможного кредита

Таблица 2.8 – CARD

Поле

Тип данных

Описание

id_card

int

ключевое поле

card_num

char(10)

номер карты

card_property_id

int

идентификатор текущего состояния карты

cust_id

int

идентификатор покупателя

Таблица 2.9 – CARD_PROPERTY

Поле

Тип данных

Описание

id_card_property

int

ключевое поле

card_property

text

наименование состояния карты

Таблица 2.10 – GAS_CARD

Поле

Тип данных

Описание

id_gas_card

int

ключевое поле

card_id

int

идентификатор карты

gas_type_id

int

идентификатор типа бензина

gas_qty

int

количество бензина

type_limit_id

int

идентификатор типа лимита

limit_qty

int

величина лимита

Таблица 2.11 – TYPE_LIMIT

Поле

Тип данных

Описание

id_type_limit

int

ключевое поле

limit_name

text

наименование лимита

Таблица 2.12 – GAS_TYPE

Поле

Тип данных

Описание

id_gas_type

int

ключевое поле

gas_name

text

наименование бензина

Таблица 2.13 – SERVICE

Поле

Тип данных

Описание

id_service

int

ключевое поле

service_name

text

наименование типа бслуживания

Таблица 2.14 – EVENT

Поле

Тип данных

Описание

id_event

int

ключевое поле

cust_id

int

идентификатор клиента

card_id

int

идентификатор карты

date

datetime

дата события

event_type_id

int

идентификатор события

gas_type_id

int

идентификатор типа топлива

gas_count

int

количество литров

gas_price

int

цена за литр

azs_id

int

идентификатор АЗС

Таблица 2.15 – EVENT_TYPE

Поле

Тип данных

Описание

id_event_type

int

ключевое поле

event_type_name

text

описание типа события

2.2 Индексирование

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

Индекс – независимый объект, логически отдельный от индексированной таблицы; создание или удаление индекса никак не воздействует на определение или данные индексированной таблицы.

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

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

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

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

В  рассматриваемой базе данных было уместно создание дополнительных индексов на основе следующих столбцов:

- CUST_NAME таблицы CUSTOMERS, т.к данные о покупках часто извлекаются по названию организации.

- COUPON_NUM таблицы COUPONS, т.к данные о текущем состоянии талона часто извлекаются по его номеру.

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

Ниже приведена инструкция CREATE INDEX, которая создает индекс для таблицы COUPONS:

CREATE NONCLUSTERED INDEX [COUPON_NUM_IDX] ON [dbo].[COUPONS]

 ([COUPON_NUM] ASC)

   WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) 

           ON [PRIMARY]

2.3  Архитектура базы данных

Разработанная информационная система реализована на основе клиент-серверной архитектуры.

Клиент-серверная информационная система состоит в простейшем случае из трех основных компонентов:

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

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

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

Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД. SQL-сервер – это специальная программа, управляющая удаленной базой данных. SQL-сервер обеспечивает интерпретацию запроса, его выполнение в базе данных. Формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю. Так как клиентскому приложению посылается результат выполнения запроса, по сети "путешествуют" только те данные, которые необходимы клиенту. В итоге снижается нагрузка на сеть. Поскольку выполнение запроса происходит там же, где хранятся данные (на сервере), нет необходимости в пересылке больших пакетов данных. Кроме того, SQL-сервер, если это возможно, оптимизирует полученный запрос таким образом, чтобы он был выполнен в минимальное время с наименьшими накладными расходами.

Все это повышает быстродействие системы и снижает время ожидания результата запроса.

При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются в базе данных на сервере и являются едиными для всех приложений, использующих эту БД. Таким образом, исключается возможность определения противоречивых правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый SQL-серверами, позволяет исключить одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно. Таким образом, функциями приложения-клиента являются:

- посылка к серверу запросов;

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

- реализация интерфейса пользователя.

SQL-сервер - это программа, расположенная на компьютере сетевого сервера. SQL-сервер должен быть загружен на момент принятия запроса от клиента. Функциями сервера БД являются:

- прием запросов от приложений-клиентов, интерпретация запросов, выполнение запросов в БД, отправка результата выполнения запроса приложению-клиенту;

- управление целостностью БД, обеспечение системы безопасности, блокировка неверных действий приложений-клиентов;

- хранение бизнес-правил, часто используемых запросов в уже интерпретированном виде;

- обеспечение одновременно безопасной и отказоустойчивой многопользовательской работы с одними и теми же данными. В архитектуре "клиент-сервер" используются так называемые "удаленные" (или "промышленные") СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. Локальные СУБД предназначены для однопользовательской работы или для обеспечения работы информационных систем, рассчитанных на небольшие группы пользователей.

Использование архитектуры "клиент-сервер":

- резко уменьшает сетевой трафик;

- понижает сложность приложений-клиентов (поскольку тем уже нет необходимости обеспечивать целостность и безопасность БД и следить за параметрами многопользовательской работы с БД);

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

- повышает надежность БД, ее целостность, безопасность и секретность.

Описание созданных запросов

Язык SQL предназначен в первую очередь для выполнения запросов.

SQL Server 2005 позволяет в одном запросе обращаться сразу к множеству разнообразных источников данных, возможно расположенных на разных серверах сети За счет использования технологии OLE DB пользователи могут получить доступ не только к реляционным источникам данных, как это было бы во время применения ODBC, но и к нереляционным, таким как текстовые файлы и электронные таблицы.
Для выборки данных в Transact-SQL существует команда SELECT, которая позволяет как делать простую выборку всех данных из одной таблицы текущей базы данных, так и выполнять сложные запросы одновременно к множеству таблиц различных баз данных, расположенных на нескольких серверах сети

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

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

 INSERT INTO #TempTable( coupon_num, date, status, gas_name, cust_name )

 SELECT DISTINCT coupons.id_coupon, coupons.date, coupons.status,

  coupons.gas_name,

  (SELECT cust_name FROM customers WHERE ID1C = (SELECT ClientID1C FROM [dbo].[1CBill]))

 FROM [dbo].[Coupon] coupon

2.5 Описание созданных отчетов

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

Для создания отчетов, использовалась технология XML (Extensible Markup Language) -  это производный язык разметки документов, позволяющий структурировать информацию разного типа, используя для этого произвольный набор инструкций. XML  может использоваться в любых приложениях, которым нужна структурированная информация - от сложных геоинформационных систем, с гигантскими объемами передаваемой информации до обычных "однокомпьютерных" программ, использующих этот язык для описания служебной информации.

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

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

- Язык XML позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Это означает, что XML может служить мощным дополнением к HTML.

- XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах. Обычно схема взаимодействия между серверами приложений и баз данных зависит от конкретной СУБД и диалекта SQL, используемого для доступа к данным. Если же результаты запроса будут представлены в некотором универсальном текстовом формате, то звено СУБД, как таковое, станет "прозрачным" для приложения.

- Информация, содержащаяся в XML-документах, может изменяться, передаваться на машину клиента и обновляться по частям.

- Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML- документов.

- XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.

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

После создания XML документа и убеждения, что набор используемых при этом тэгов позволяет осуществлять любые манипуляции с информацией. Необходимо создать DTD - определения, для того, чтобы утвердить правила  языка, т.е. список допустимых элементов, их возможное содержимое и атрибуты. Определение типа документа (Document Type Definition, DTD) является тем фундаментом, на котором создаются XML-документы.

DTD определяет части документа и указывает, каким образом они могут использоваться, что может быть в них размещено, и требуются ли им фрагменты документа. DTD представляет собой набор правил, определяющий инструкции, которые могут быть переданы анализатору (parser) для обработки им этого документа. DTD может включать в себя набор объявлений элементов и атрибутов, а также сущности (entities), условные обозначения (notations) и комментарии. Различные объявления компонентов определяют, как документ будет структурирован, и эта информация (в виде инструкций) передается анализатору (parser). Анализатор, в свою очередь, отправляет результаты в приложение, обеспечивающее просмотр данных.

XML применяют для предоставления информации о структуре документа, а информация о форматировании документа предоставляется в виде таблицы стилей. XSL является механизмом создания таблиц стилей XML-документов, связывает правила форматирования с различными элементами в документе и дает указания браузеру или же программному обеспечению, осуществляющему управление отображением информации, о том, как необходимо форматировать элемент и его содержание. XSL обеспечивает преобразование XML-документов в форматы HTML, RTF (в нашем случае в HTML формат), а также в другие XML-словари.

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

1) Активные талоны. Итоги. (рисунок 2.5)

2) Баланс (пластиковые карты). (рисунок 2.6)

3) Выданные пластиковые карты.

4) Выданные пластиковые карты, подробно.

5) Выданные талоны. Итоги.

6) Движение талонов. Итоги. (рисунок 2.7)

7) Погашенные талоны. Итоги

8) Размер кредита.

9) Суммарный отчет по реализации топлива на АЗС.

10) Текущее состояние счета корпоративных клиентов.

11) Отчет по дебетованию-кредитованию пластиковых карт.

12) Список клиентов

13) Текущее состояние стоп-листа пластиковых карт

14) Пополнение пластиковых карт. Итоги

15) Пополнение пластиковых карт. Сменные итоги.

16) Продажа пластиковых карт.

17) Реализация  топлива по пластиковым картам.

18) Реализация топлива по талонам. Сменные итоги по всем АЗС.

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

                           Рисунок 2.5 «Отчет по активным талонам.Итоги»

                                    Рисунок  2.6 «Баланс пластиковые карты»

                                             Рисунок 2.7 «Отчет о движении талонов»

3 Руководство пользователя информационной системы

Данное приложение предназначено для работы с БД. Запускается программа из операционной системы Windows, и имеет стандартный интерфейс windows – приложений.

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

В зависимости от задач, стоящих перед пользователем, ему предлагаются две основные формы: АЗС и контрагенты.

Форма «АЗС», представленная на рисунке 3.1, содержит все данные, сгруппированные по наименованию АЗС.

                                       

Рисунок 3.1 «Форма АЗС»

Эта форма предназначена для:

- отражения информации об автозаправочных станциях, принадлежащих ЗАО «ННВП», о месте их расположения, о реализуемых типах топлива;

- отражения информации о реализации топлива на конкретной АЗС по топливным картам за заданный период времени;

- отражения   информации о зачислениях топлива на карты, производимых на АЗС;

- отражения информации о погашенных талонах в заданный промежуток времени;

- формирования необходимых отчетов за заданный промежуток времени.

При вызове вкладки Отчеты – Прочие пользователь, задав интересующий его промежуток времени на форме «Общие отчеты по АЗС» (рисунок 3.2), может сформировать интересующие его отчеты.

 

Рисунок 3.2 «Общие отчеты по АЗС»

Форма «контрагенты» (рисунок 3.3) отражает данные, сгруппированные по наименованию покупателя топлива. На этой форме отражаются такие данные, как реквизиты клиента, номера карт клиента, состояние его счета, платежи, реализация топлива.

Рисунок 3.3 «Форма контрагенты»

Эта форма содержит следующие вкладки:

1) Вкладка контрагент, вызывающая форму «Условия обслуживания», на которой задаются такие параметры базы данных, как тип обслуживания карт клиента (кредитные или предоплатные) и размер кредита в рублях (рисунок 3.4)

                           Рисунок 3.4 «Форма Условия обслуживания»

2) Вкладка пластиковые карты  позволяет просмотреть историю стоп-листа пластиковой карты, остатки топлива на каждой карте (рисунок 3.5), кредитовать-дебетовать топливо на карте, изъять карту, поставить карту в стоп-лист и изъять из него, аннулировать карту. При выборе любого из действий, появляется окно с просьбой подтвердить действие.

                             Рисунок 3.5 «Остатки топлива на карте»

3) Вкладка талоны, вызывающая формы для организации работы предприятия по талонам:

  - форма «Погашение талонов» (рисунок 3.6) предназначена для учета реализованных талонов (сверки реализации топлива по талонам с ежедневными отчетами, поступающими с АЗС), смены статуса талона с выданного на погашенный во избежание повторного погашения одного и того же талона.

                                Рисунок  3.6 «Погашение талонов»

- форма «Поиск талонов» (рисунок 3.7) предназначена для нахождения всех талонов, находящихся в базе данных предприятия (не выданных, выданных или уже погашенных). Настройки критериев поиска позволяют произвести расширенный поиск талонов по номерам, по текущему состоянию, по дате операции над талоном, по номеру АЗС, на которой он был погашен, по дате погашения, по статусу, по номиналу, по типу бензина. При сочетании разных критериев, можно запрашивать более точную информацию, например для сверки данных с АЗС по погашенным за смену талонам, при определении конкретной АЗС, даты погашения и типа бензина, пользователь получит информацию о номерах талонов определенного типа, погашенных в заданный день на конкретной АЗС.

                               Рисунок 3.7 «Форма поиск талонов»

Так же на этой форме есть кнопка «Коррекция», вызывающая форму «Коррекция ошибки погашения» (рисунок 3.8), вызывая которую можно изменить характеристики погашения или отменить его совсем.

                   Рисунок 3.8 «Форма коррекция ошибки погашения»

- форма «Движение талонов» (рисунок 3.9) позволяет производить движение талонов внутри организации ЗАО «ННВП», вносить талоны, прибывшие в организацию.

                                         Рисунок 3.9 «Форма движение талонов»

- форма «Список складов талонов» (рисунок 3.10) отражает список складов с описанием, где могут находиться талоны, и позволяет занести информацию о новом складе.

                                Рисунок 3.10 «Форма список складов талонов»

- форма «Поиск операций по движению талонов внутри организации» (рисунок 3.11) предназначена для осуществления поиска производимых операций над талонами (поиск по номерам талонов, поиск по дате операции).

Рисунок 3.11 «Форма поиск операций по движении. талонов внутри организации»

Работа пользователя  по картам, начинается с синхронизации данных с 1С. При проведении платежей от клиентов в 1С, они отражаются в VP_Office (рисунок 3.12).

               Рисунок 3.12 «Форма синхронизация данных с 1С»

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

                          Рисунок 3.13 «Форма распределение денег»

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

Рисунок 3.14 «Форма для работы с клиентами»

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

                      Рисунок 3.15 «Форма общие отчеты по клиентам»


4
 Организационно - экономическая часть

4.1 Задание к организационно – экономической части дипломного проекта

Темой дипломного проекта является проектирование информационной системы по работе с клиентами на предприятии по реализации нефтепродуктов. Все работы по выполнению данного дипломного проекта происходили в помещении ЗАО «ННВП».

ЗАО «ННВП» - одно из крупнейших предприятий Нижегородской области по розничной торговле бензином и дизельным топливом. Заправочная сеть компании состоит из тридцати АЗС.

Автозаправочные станции компании оснащены современным оборудованием, гарантирующем быстрое, точное и безопасное обслуживание клиентов, отвечают всем экологическим и противопожарным требованиям.

Для организации учета выдачи ГСМ  на предприятии существуют  специальные система расчетов – это бензиновые карты и талоны. Бензиновая карта – это своеобразный «электронный»  кошелек, она передается клиенту в бессрочное пользование, за право пользования картой взимается разовый платеж. Информация о количестве оплаченного бензина хранится в литрах (раздельно по каждому виду топлива) на самой карте и  в общей базе данных компании. Количество оплаченных литров фиксируется на момент оплаты и не меняется при изменении розничных цен. Карты защищены от копирования, подделки и несанкционированного доступа.

Талон на бензин – это уникальная (для нашего региона) форма оплаты за ГСМ. Талоны специального образца различаются по виду бензина и номиналу: А-76, Аи-92, Аи-95 по 20 литров, Дт по 40 литров каждый. Эта система имеет неоспоримые преимущества, что привлекает покупателей: цена бензина по талонам значительно ниже розничной цены на АЗС, цена фиксируется на момент оплаты, наличие талонов позволяет обходиться без наличных денег, дополнительная экономия за счет НДС, включенного в стоимость бензина в счетах-фактурах.

Данная информационная система предназначена для автоматизации работы компании с клиентами, приобретающими ГСМ по талонам и бензиновым картам.

В конечном итоге, основные функции, которые должна выполнять данная система:

1) Ведение базы данных клиентов с банковскими реквизитами, юридическим и почтовым адресами для юридических лиц и Ф.И.О., паспортными данными для физических лиц:

  •  ввод новой записи о покупателе;
  •  редактирование записи;
  •  удаление записи;

2) Ведение  базы данных проданных бензиновых карт:

  •  ввод новой записи в базу при продаже;
  •  удаление записи при изъятии карты;
  •  запись на карту приобретенного покупателем топлива;

3) Ведение базы данных талонов:

-   организация движения талонов внутри организации;

-   организация выдачи талонов покупателю;

-   учет погашенных талонов;

4) Получение информации:

  •  выдача информации о клиентах, выданных картах, о состоянии  стоп-листа, кредитованию-дебетованию пластиковых карт, об изъятых пластиковых картах, о движении талонов, о выданных и погашенных талонах и т.п.;

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

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

В данном проекте широко используются последние разработки в области программирования.

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

Требования заказчика к законченному программному продукту:

  •  реализация клиент-серверной архитектуры;
  •  обеспечение взаимодействия;
  •  обеспечение взаимодействия с базой данных;
  •  интуитивно-понятный интерфейс;
  •  возможность генерации отчетов.

4.2 Актуальность разработки

ЗАО «ННВП» - современное динамично развивающееся предприятие, занимающее определенное место среди предприятий  по розничной торговле нефтепродуктов. Основным критерием, определяющим успешность предприятия, служит конкурентоспособность производимой продукции или поставляемых услуг.

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

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

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

4.3 Затраты на проектирование информационной системы

4.3.1 Затраты на основную заработную плату

Разработку ведет один постоянный инженер-программист ЗАО «ННВП», затраты по заработной плате указаны в таблице 4.1.

Таблица 4.1 – Затраты на  заработную плату

Затраты на осн. заработную плату:

Значение

Единица измерения 

Затраты на доп.зар.плату (15%)

3 000

руб

Инженер-программист

20 000

руб/мес

Срок выполнения

2

мес

Итого фонд осн. зар.платы

40 000

руб

Итого фонд доп. зар. платы

6 000

руб

ИТОГО

46 000

руб

4.3.2 Затраты на ЕСН

Ставка ЕСН составляет 26% от фонда основной заработной платы, из которых:

20% - отчисления в Федеральный бюджет;

2,9% - отчисления в Фонд социального страхования РФ;

1,1% - отчисления в Федеральный фонд обязательного медицинского страхования;

2,0% - отчисления в Территориальные фонды обязательного медицинского страхования.

Т.е. ЕСН составляет 10 400 руб.

4.3.3 Затраты на расходные материалы

Таблица  4.2 – Затраты на расходные материалы

№  п/п

Наименование материала

Расход,

шт.

Цена, руб./шт.

Сумма,

руб.

1

Бумага SvetoCopy 500л

2

210

420

2

Картридж для лазерного принтера

1

2 000

2 000

3

Вспомогательная литература

-

-

3000

Итого

5 420

4.3.4 Затраты на технологические и хозяйственные нужды

Затраты на технологические и хозяйственные нужды складываются из затрат:

-   электроэнергия на технологические нужды;

-   арендная плата за помещения;

-   плата за телефон;

-   амортизация технологического оборудования;

-   амортизация мебели.

Затраты по электроэнергии на технологические нужды рассчитываются по формуле:

                                                                                    (4.1)

где      М - мощность прибора, кВт;

 k - коэффициент использования мощности;

- эффективное время работы (за 0,6 месяца), час;

 C - стоимость 1 кВт*час энергии (С = 1,5 руб/ кВт*час).

Затраты на электроэнергию на технологические нужды сведены в таблицу 4.3.

Таблица 4.3 – Затраты на электроэнергию.

Наименование оборудования

М, кВТ

k

, час

, руб

Рабочая станция инженера программиста (вместе с монитором)

0,46

1

1 440

993,6

Сервер разработки (без монитора)

0,76

1

1 440

1 641,6

Итого

2 635,2

Итого затраты на электроэнергию составляют 2 635 рублей 20 копеек.

Для расчета затрат на арендную плату используем формулу:

                                                                                         (4.2)    

где АП – арендная плата за помещение (650руб/мес за кв.метр);

      - число рабочих мест в помещении (три рабочих места);

      - суммарное время работы всех участников проекта (2 месяца).

АП = 650*20 = 13 000 руб/мес

Из этого следует что затраты на арендную плату составляют 8 700 рублей.

Оплата за телефон входит в стоимость аренды помещения.

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

Таблица 4.4 – Амортизация рабочего места разработчика

Наименование оборудования

Срок эксплуатации оборудования, мес

Время эксплуатации оборудования в процессе разработки, мес

Стоимость оборудования, руб

Амортизация оборудования, руб

Рабочая станция инженера-программиста

48

2

16 700

695,83

Таким образом, амортизация технологического оборудования составляет 695,83 рубля.

Амортизация мебели состоит из амортизации мебели на рабочих местах разработчиков.

Таблица 4.5 – Амортизация мебели

Наименование мебели

Срок эксплуатации, мес

Время эксплуатации в процессе разработки, мес

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

Амортизация мебели, руб

Стол компьютерный

120

2

2 500

41,7

В рабочее место разработчика входит еще стул офисный, его амортизация составляет 3,5 рубля.

Таким образом, амортизация мебели составила 45,2 рублей.

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

4.3.5 Затраты на информацию

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

                                                                       (4.3)

где  МПИ – месячная плата за интернет;

       - число рабочих мест в помещении (три рабочих места);

      - суммарное время работы всех участников проекта (2 месяца).

Из этого следует что затраты на информацию составили 606 рублей.

4.3.6 Смета затрат на разработку информационной системы

Смета затрат представлена в таблице 4.6.

Таблица 4.6 – Смета затрат на разработку информационной системы

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

Величина затрат, руб

Заработная плата исполнителей НИР

46 000

ЕСН

10 400

Расходные материалы

5 420

Затраты на технологические нужды

12 067,20

Затраты на информацию

606

Итого

74 493, 20

4.4  Расчет трудоемкости проекта

Общие затраты труда на разработку и внедрение изделия (проекта)  определяют следующим образом:

                                                                         (4.4)

где ti - затраты труда на выполнение i -го этапа проекта.

Полный перечень работ с разделением их по этапам выполнения проекта оформлен в виде таблицы 4.7.

Таблица 4.7 – Перечень работ

Этап ti

№ работы

Содержание работы

Трудоемкость

чел/час

чел/дней

1

 

 

 

 

 

 

 

1

Планирование и определение требований

16

2

2

Разработка общих алгоритмов

64

8

3

Разработка структуры данных

32

4

4

Анализ возможностей сред программирования

56

7

5

Разработка структурных схем

40

5

6

Выбор оборудования

16

2

2

 

 

7

Разработка программных модулей

16

2

8

Разработка интерфейса

16

2

9

Подготовка баз данных

24

3

3

 

 

10

Разработка методики проведения тестирования

40

5

11

Отладка ПО

56

7

12

Исправление ошибок и недочетов и т.п.

40

5

4

 

13

Внедрение

40

5

14

Расчеты и оценки

16

2

 Итого:

472

59

В данном случае общие затраты труда на разработку и внедрение изделия (проекта)

59чел/дней = 472чел/час                                 (4.6)

где na - коэффициент затрат на алгоритмизацию и равен 0,3;

nt - коэффициент затрат на тестирование и равен 0,3;

nu - коэффициент затрат на исправление и равен 0,3;

nд  - коэффициент затрат на написание документации и равен 0,35;

t –  время разработки/реализации системы и определяется как сумма временных затрат на работы № 3,4,5,7,9,10,11  и равный 264 часам.

Систему разрабатывает один инженер-программист, поэтому трудоемкость остается такой же. Длительность рабочего дня взята равной восьми часам.

Для наглядности длительность работ для одного разработчика представлена на диаграмме 1.

Диаграмма 1 «Длительность работ».

4.5 Альтернативные пути решения поставленной задачи

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

В таблице 4.8 приведен стандартный план разработки проекта по созданию базы данных.

Таблица 4.8 – План разработки

№ работы

Содержание работы

Трудоемкость

чел/час

чел/дней

1

изучение профиля деятельность компании

40

5

2

изучение бизнес-процессов заказчика

72

9

3

разработка технического задания

32

4

5

определение состава входной информации

64

8

6

разработка структуры базы данных

32

4

7

определение состава выходной информации

32

4

8

описание аппаратно-программного комплекса

56

7

9

описание информационного обеспечения

48

6

10

тестирование базы данных

40

5

11

ввод в опытную эксплуатацию

40

5

12

доработка базы данных по результатам опытной эксплуатации

40

5

13

ввод в эксплуатацию

56

7

14

сопровождение созданной базы данных

56

7

Итого

608

76

Согласно стандартным тарифам компании – разработчика, совокупная стоимость разработки будет составлять от 80 000 руб до 90 000 руб, к этой сумме может добавиться стоимость обучения персонала.

Сравнение путей решения представлены в  таблице 4.9.

Таблица 4.9 – Сводная таблица вариантов решения

Разработка

программного продукта инженером-программистом ЗАО «ННВП»

Разработка

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

Стоимость, руб.

74 493, 20

> 80 000

Затраченное время, дней

59

76

Трудоемкость, чел-дней

472

608

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

4.6  Эффективность внедрения системы

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

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

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

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

Талоны на бензин – это уникальная для нашего региона форма оплаты за ГСМ. Преимущества приобретения талонов (цена бензина по талонам значительно ниже розничной цены на АЗС, цена фиксируется на момент оплаты, наличие талонов позволяет обходиться без наличных денег) позволяют расширить клиентскую базу организации.

Вторая система оплаты за ГСМ – это топливные карты:

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

- позволяют в любой момент времени получать статистическую информацию любого содержания по операциям с карточками;

- позволяют полностью автоматизировать процесс работы с клиентами.

Неоспоримые преимущества этих систем расчета за ГСМ, позволяют увеличить продажи компании, за счет расширения клиентской базы. Что в свою очередь приведет к увеличению прибыли.

Создание  информационной системы по работе с клиентами на предприятии ЗАО «ННВП», занимающегося  реализацией нефтепродуктов, позволяет:

- полностью автоматизировать учет расходования ГСМ на предприятии;

- автоматизировать работу сотрудников с клиентами;

- снизить трудозатраты по ведению организации учета расходования ГСМ

 

5 Безопасность и экологичность проекта

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

Все работы по выполнению данного дипломного проекта происходили в помещении ЗАО «ННВП». Разработка и эксплуатация программы осуществлялась на стационарной персональной электронной вычислительной машине (ПЭВМ). В состав используемой ПЭВМ входили:

  •  жидкокристаллический монитор LG FLATRON L1953S;
  •  системный блок с процессором Intel Pentium 4 с тактовой частотой 3ГГц;
  •  клавиатура Genius K639;
  •  манипулятор типа мышь Genius GM-04003P.

Помещение, в котором разрабатывался проект, имеет следующие размеры: ширина – 4 метров, длина – 5 метров, высота – 3,5 метра. В комнате находится мебель: 3 стола, 3 стула, 4 тумбочки, шкаф для бумаг, и оборудование: 3 ПЭВМ, кондиционер. Данная комната оборудована на 3 рабочих места программиста. В ней постоянно работают 3 человека.

                                          Рисунок 5.1 «Схема помещения»

5.1 Оценка безопасности и экологичности проекта

При внедрении проекта на предприятии, согласно ГОСТ 12.0.003-74 «Опасные и вредные производственные факторы. Классификация», можно выделить следующие опасные и вредные производственные факторы:

Физические:

- повышенное значение напряжения в электрической цепи, замыкание которой может произойти через тело человека;

- повышенный уровень шума на рабочем месте;

- повышенная или пониженная температура воздуха рабочей зоны;

- повышенная или пониженная влажность воздуха;

- повышенная или пониженная подвижность воздуха;

- отсутствие или недостаток естественного света;

- недостаточная освещенность рабочей зоны;

- пониженная контрастность;

- повышенная яркость света;

- прямая и отраженная блесткость;

- повышенная пульсация светового потока;

- повышенный уровень статического электричества;

- повышенный уровень электромагнитных излучений;

- повышенная напряженность электрического поля;

- повышенная напряженность магнитного поля;

Психофизиологические опасные и вредные производственные факторы по характеру действия подразделяются на следующие:

- физические перегрузки (статические);

- нервно-психические перегрузки (умственное перенапряжение; перенапряжение анализаторов; монотонность труда; эмоциональные перегрузки.).

5.2 Микроклимат

Микроклимат — комплекс физических факторов внутренней среды помещений, оказывающий влияние на тепловой обмен организма и здоровье человека. Оптимальные и допустимые параметры воздуха рабочей зоны в помещениях определяются по СанПиН 2.2.4.548-96 «Санитарно-гигиенические требования к микроклимату производственных помещений». Микроклимат в помещении характеризуется температурой воздуха tв, °C, относительной влажностью , % и скоростью движения воздуха V, м/с, температурой поверхностей tп, °C, интенсивностью теплового излучения, Вт/м2.

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

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

Категория тяжести, выполняемой согласно проекту, работы –  1а, это работа, производимая сидя и сопровождающаяся с незначительным физическим напряжением, с интенсивностью энергозатрат до 139 Вт.

Согласно СанПиН 2.2.2/2.4.1340-03  «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы» в таблице 5.1 приведены оптимальные параметры микроклимата на рабочем месте (для данной категории работ), которые соответствуют параметрам в рассматриваемом помещении.

Таблица 5.1 – Допустимые и оптимальные величины показателей микроклимата на рабочих местах производственных помещений.

Период года

Температура, С

Влажность, %

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

Оптимальная

Допустимая

оптимальная

допустимая, не более

Оптимальная

Допустимая

Холодный

(tср <=10oC)

22-24

20-25

60-40

15-75

0,1

0,1

Теплый

(tср >10oC)

23-35

21-28

60-40

15-75

0,1

0,2

Параметры   микроклимата   поддерживаются отоплением   и сплит-системой кондиционирования согласно СНиП 41-01-2003 «Отопление,   вентиляция   и   кондиционирование». Система отопления в помещении водяная, согласно таблице 5.2.

Таблица 5.2 – Система отопления, приложение Б СНиП 41-01-2003

Помещения

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

Б.1. общественные и административно-бытовые

Водяная с радиаторами, при температуре тепло носителя для однотрубных - не более 105 °С.

В помещении проводится ежедневная влажная уборка и регулярное проветривание после каждого часа работы на ПЭВМ, что обеспечивает улучшение качественного состава воздуха, а также аэроионного режима.

Уровни положительных и отрицательных аэроионов в воздухе помещения с ПЭВМ соответствую СанПиН 22.2.4.1294-03 “Санитарно-гигиенические нормы допустимых уровней ионизации воздуха”, приведенным в таблице 5.3.

Таблица 5.3 – Уровни положительных и отрицательных аэроионов в воздухе помещений с ВДТ и ПЭВМ.

Число ионов в 1 см3 воздуха (N+, N-)

 N+

 N- 

 Минимально необходимые

 400

 600

 Оптимальные

 1500-3000

 3000-5000

 Максимально допустимые

 50000

 50000

5.3 Производственное освещение

Освещение рабочего места должно удовлетворять нормам, представленным в СанПин 2.2.2/2.4.1340-03 “Гигиенические требования к персональным электронно-вычислительным машинам и организации работы”.  Требования по освещенности, предъявляемые к помещениям, оборудованным ПЭВМ:

- помещения для эксплуатации ПЭВМ должны иметь естественное и искусственное освещение.

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

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

- для внутренней отделки интерьера помещений, где расположены ПЭВМ, должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка – 0,7 – 0,8; для стен – 0,5 – 0,6; для пола – 0,3 – 0,5.

- искусственное освещение в помещениях для эксплуатации ПЭВМ должно осуществляться системой общего равномерного освещения. В производственных и административно-общественных помещениях, в случаях преимущественной работы с документами, следует применять системы комбинированного освещения;

- освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300 – 500 лк. Освещение не должно создавать бликов на поверхности экрана.

- Освещенность поверхности экрана не должна быть более 300 лк;

- следует ограничивать прямую блесткость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле зрения, должна быть не более 200 кд/м2;

- следует ограничивать отраженную блесткость на рабочих поверхностях (экран, стол, клавиатура и др.) за счет правильного выбора типов светильников и расположения рабочих мест по отношению к источникам естественного и искусственного освещения, при этом яркость бликов на экране ПЭВМ не должна превышать 40 кд/м2 и яркость потолка не должна превышать 200 кд/м2;

- показатель ослепленности для источников общего искусственного освещения в производственных помещениях должен быть не более 20. Показатель дискомфорта в административно-общественных помещениях не более 40;

- яркость светильников общего освещения в зоне углов излучения от 50 до 90 градусов с вертикалью в продольной и поперечной плоскостях должна составлять не более 200 кд/м2, защитный угол светильников должен быть не менее 40 градусов;

- светильники местного освещения должны иметь не просвечивающий отражатель с защитным углом не менее 40 градусов;

- следует ограничивать неравномерность распределения яркости в поле зрения пользователя ПЭВМ, при этом соотношение яркости между рабочими поверхностями не должно превышать 3:1 – 5:1, а между рабочими поверхностями и поверхностями стен и оборудования 10:1;

- для освещения помещений с ПЭВМ следует применять светильники с зеркальными параболическими решетками, укомплектованными электронными пуско-регулирующими аппаратами (ЭПРА).

- в качестве источников света при искусственном освещении следует применять преимущественно люминесцентные лампы  типа ЛБ и компактные люминесцентные лампы (КЛЛ). В светильниках местного освещения допускается применение ламп накаливания, в том числе галогенные;

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

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

- коэффициент пульсации не должен превышать 5%;

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

- Гигиенические требования к естественному, искусственному и совмещенному освещению соответствуют СанПиН 2.2.1/2.1.1.1278-03 «Гигиенические требования к естественному, искусственному и совмещенному освещению жилых и общественных зданий» и приведены в таблице 5.4.

Таблица 5.4  - Гигиенические требования к естественному, искусственному и совмещенному освещению жилых и общественных зданий

Рабочая поверхность и плоскость нормирования КЕО и освещенности (Г - горизонтальная, В - вертикальная) и высота плоскости над полом, м

Естественное освещение

Совмещенное освещение

Искусственное освещение

КЕО ен, %

КЕО ен, %

при верхнем или комбинированном освещении

при боковом освещении

при верхнем или комбинированном освещении

при боковом освещении

Освещенность, лк

Показатель дискомфорта М, не более

Коэффициент пульсации освещенности, Кп, %, не более

при комбинированном освещении

при общем освещении

всего

от общего

Г-0,8

Экран дисплея: В-1

3,5

1,2

2,1

0,7

500

300

400

200

15

10

5.4 Шум и вибрация

Шум в рассматриваемом помещении создается внутренними источниками:

- вентилятор охлаждения блока питания;

- жесткий диск;

- вентилятор охлаждения процессора;

- люминесцентные лампы;

В рассматриваемом помещение тип шумов можно классифицировать как:

- широкополосный (по спектральному составу);

- непостоянный (по временным характеристикам).

Источники шума и классы производимых ими шумов представлены в таблице 5.5.

Таблица 5.5 – Источники шума и классы производимых ими шумов

Класс шума

Источник шума

Механический

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

Электромагнитный

люминесцентные лампы, блок питания

Аэродинамический

вентиляция

Допустимые уровни звукового давления и уровней звука на рабочем месте для помещения вычислительного центра согласно СН 2.2.4/2.1.8.562-96 «Шум на рабочих местах, в помещениях жилых, общественных зданий и на территории жилой застройки» приведены в таблице 5.6. Допустимый уровень звукового давления и уровень звука определяется в зависимости от характеристики шума и назначения помещения.

Таблица 5.6 - Допустимые значения уровней звукового давления в октавных полосах частот

Вид трудовой деятельности

Уровни звукового давления (дБ) в октавных полосах со среднегеометрическими частотами, Гц

Уровень звука в дБА

31,5

63

125

250

500

1000

2000

4000

8000

Эксплуатация ПЭВМ

86

71

61

54

49

45

42

40

38

50

Предельно допустимые величины нормируемых параметров вибрации рабочих мест при длительности вибрационного воздействия 480 мин (8 ч) приведены в таблице 5.7. Согласно СанПин 2.2.2/2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы» при выполнении работ с использованием ПЭВМ в производственных помещениях уровень вибрации не должен превышать допустимых значений вибрации для рабочих мест (категория 3, тип «в», технологическая вибрация на рабочих местах в помещениях для работников умственного труда) в соответствии с СН 2.2.4/2.1.8.566-96 «Производственная вибрация, вибрация в помещениях жилых и общественных зданий».

Таблица 5.7 - Предельно допустимые величины нормируемых параметров вибрации рабочих мест при длительности вибрационного воздействия 480 мин

Среднегеометрические частоты полос, ГЦ

1,0

2,0

4,0

8,0

16,0

31,5

63,0

Корректированные и эквивалентные корректированные значения и их уровни

Предельно допустимые значения виброскорости, дБ

91

82

76

75

75

75

75

5.5 Электромагнитное излучение

Источниками излучений при работе с ПЭВМ являются:

-системный блок;

- соединительные кабели;

- монитор с электронно-лучевой трубкой (ЭЛТ)

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

Рекомендуется находиться не ближе 1,2 м от задних и боковых поверхностей видеотерминалов (как можно дальше от трансформатора строчной развертки) и 70 см от экрана, если это не вредит зрению.

Временные допустимые уровни элекромагнитного поля, создаваемые ПЭВМ на рабочих местах (СанПин 2.2.2/2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы») представлены в таблице 5.8.

Таблица 5.8 – Временные допустимые уровни ЭМП, создаваемых ПЭВМ на рабочих местах.

Наименование параметра

Временное допустимое значение

Напряженность электромагнитного поля на расстоянии 0,5 м от видеодисплейного терминала по электрической составляющей:

- в диапазоне частот 5 Гц – 2 кГц;

- в диапазоне частот 2 – 400 кГц.

25 В/м

2,5 В/м

Плотность магнитного потока:

- в диапазоне частот 5 Гц – 2 кГц;

- в диапазоне частот 2 – 400 кГц.

250 нТл

25 нТл

Напряженность электростатического поля

15 кВ/м

5.6 Безопасность технологических процессов и оборудования

Требования безопасности перед началом работы:

- Привести в порядок одежду;

- Осмотреть рабочее место, убрать все мешающие работе предметы;

- Протереть рабочую поверхность клавиатуры, очистить экран;

- Визуально проверить правильность подключения ПЭВМ к электросети;

Требования безопасности во время работы:

- Убедиться в работоспособности ПЭВМ после выключения питающего напряжения электросети.

- Запрещается работать на оборудовании со снятыми кожухами и крышками.

- Запрещается трогать кабели и провода, соединяющие блоки ПЭВМ, перемещать устройства, находящиеся под напряжением.

- Не оставлять без присмотра включенные ПЭВМ и отдельные устройства.

- Запрещается производить самостоятельно любые виды ремонта и устранение неисправностей.

- Не устанавливать неизвестные системы паролирования и самостоятельно проводить переформатирование диска.

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

Требования безопасности по окончании работы:

- Отключить ПЭВМ от сети.

- Привести в порядок рабочее место.

- При сменной работе передать рабочее место в рабочем состоянии по смене, сделать запись в журнале учета работ и передачи смены. Если дальнейшей работы не будет, сдать рабочее место старшему по смене или ответственному за помещение

Основным оборудованием, используемым в данном проекте, является ЭВМ. Данное оборудование удовлетворяет требованиям ГОСТ 12.2.003-91 «Оборудование производственное. Общие требования безопасности». ПРТО, ЭВМ, материалы и конструкции не оказывают опасного и вредного воздействия на организм человека на всех заданных режимах работы и предусмотренных условиях эксплуатации; отсутствуют движущиеся части; элементы конструкции не имеют острых углов, кромок: отсутствуют выбросы вредных веществ и   т. п.

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

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

К самостоятельной работе на ПЭВМ допускаются работники, не имеющие медицинских противопоказаний, прошедшие вводный инструктаж по безопасности труда и пожарной безопасности, первичный инструктаж на рабочем месте, проверку теоретических знаний и приобретенных навыков безопасных способов и приемов работы, проверку знаний на первую квалификационную группу по электробезопасности. Допуск к самостоятельной работе производит начальник отдела с записью в контрольном листке инструктажа. Повторный инструктаж проводится не реже одного раза в 3 месяца.  Профессиональные пользователи ПЭВМ проходят обязательные предварительные (при поступлении на работу) и периодические (1 раз в 2 года) медицинские осмотры.

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

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

Контроль за соблюдением работающими требований инструкции возлагается на руководителя отдела (группы).

Требования безопасности перед началом работы:

- Привести в порядок одежду.

- Осмотреть рабочее место, убрать все мешающие работе предметы.

- Протереть рабочую поверхность клавиатуры, очистить экран.

- Визуально проверить правильность подключения ПЭВМ к электросети.

- Требования безопасности во время работы:

- Убедиться в работоспособности ПЭВМ после выключения питающего  напряжения      электросети.

- Запрещается работать на оборудовании со снятыми кожухами и крышками.

- Запрещается трогать кабели и провода, соединяющие блоки ПЭВМ, перемещать устройства, находящиеся под напряжением.

- Не оставлять без присмотра включенные ПЭВМ и отдельные устройства.

- Запрещается производить самостоятельно любые виды ремонта и устранение неисправностей.

- Не устанавливать неизвестные системы паролирования и самостоятельно проводить переформатирование диска.

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

Требования безопасности в аварийных ситуациях

- При нарушении работы ПЭВМ, перегорании предохранителей и т.п. аппаратура должна быть немедленно отключена.

- При временном отключении электроэнергии тумблера электропитания должны быть выключены.

- При появлении запаха гари, дыма в помещении или на рабочем месте сеть электропитания ПЭВМ и других устройств должна быть выключена и приняты меры к обнаружению источника загорания и тушению первичными средствами пожаротушения. Тушение загорания оборудования, находящегося под напряжением, производить только углекислотными или порошковыми огнетушителями. При работе с углекислотными огнетушителями не следует браться руками за раструб (температура до -80 град.С).

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

- Требования безопасности по окончании работы

- Отключить ПЭВМ от сети.

- Привести в порядок рабочее место.

- При сменной работе передать рабочее место в рабочем состоянии по смене, сделать запись в журнале учета работ и передачи смены. Если дальнейшей работы не будет, сдать рабочее место старшему по смене или ответственному за помещение.

5.7 Электробезопасность

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

В рассматриваемом помещении находится следующее электрооборудование (классификация согласно ГОСТ 12.2.007.0-75 ССБТ «Изделия электротехнические. Общие требования безопасности»):

- электротехнические изделия с классом защиты  I: 4 ПЭВМ с видео дисплеями, принтер, ксерокс, ПРТО;

- элеткротехнические изделия с классом защиты  0: осветительные приборы.

В помещении нет признаков повышенной опасности. Отсутствует возможность одновременного прикосновения к металлическим корпусам электрооборудования (ПЭВМ, сетевая аппаратура) и заземленным металлоконструкциям зданий, на пример к батарее центрального отопления. Таким образом, согласно ПУЭ, по степени опасности поражения электрическим током данное помещение относится к классу помещений без повышенной опасности.

Поражение человека электрическим током в данном помещении может произойти по следующим причинам:

- прикосновение к сетевому шнуру с поврежденной изоляцией;

- прикосновение к корпусу электроприбора, оказавшегося под напряжением вследствие повреждения изоляции;

- неисправность проводки, выключателей, розеток.

Электробезопасность, в соответствии с ГОСТ 12.1.019-79 ССБТ "Электробезопасность. Общие требования", должна обеспечиваться:

- конструкцией электроустановок;

- техническими способами и средствами защиты;

- организационными и техническими мероприятиями.

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

- номинального напряжения, рода и частоты тока электроустановки (220В, частота переменного тока 50Гц);

- способа электроснабжения (от стационарной сети);

- режима нейтрали  (глухозаземленная нейтраль);

- вида исполнения (стационарные);

- условий внешней среды (помещения без повышенной опасности);

- характера возможного прикосновения человека к элементам цепи тока (однофазное прикосновение, прикосновение к металлическим нетоковедущим частям, оказавшимся под напряжением);

- видов работ (эксплуатация).

Для обеспечения защиты от случайного прикосновения к токоведущим частям применяются следующие способы и средства:

- безопасное расположение токоведущих частей (внутри корпуса);

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

- защитное отключение(защита от перегрузок и коротких замыканий);

- малые напряжения (клавиатура, мышь);

- предупредительная сигнализации (зеленая лампа на системном блоке).

Для обеспечения защиты от поражения электрическим током при прикосновении к металлическим нетоковедущим частям, которые могут оказаться под напряжением в результате повреждения изоляции, применяют следующие способы:

- защитное зануление;

- защитное  отключение.

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

5.8 Пожарная безопасность

В помещении, в котором выполнялся данный проект, находились следующие горючие материалы:

- бумага;

- мебель;

- полиматериалы (пластмассовые корпуса ПЭВМ).

Наиболее вероятные причины возникновения пожара в рассматриваемом помещении:

- короткое замыкание;

- нарушение правил пожарной безопасности;

- нарушение изоляции токонесущих частей;

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

Согласно НПБ 105-03 “Определение категорий помещений и зданий по взрывопожарной и пожарной опасности”, данное помещение относится к категории «В».

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

Таблица  5.9 – Категории помещений в зависимости от  удельной пожарной нагрузки

Категория помещения

Удельная пожарная нагрузка g на участке, МДж/м-2

В1

Более 2200

В2

1401 - 2200

В3

181 - 1400

В4

1 - 180

                                                                                                            (5.1)                   

где  - количество i-го материала пожарной нагрузки, кг;

- низшая теплота сгорания i-го материала пожарной нагрузки, МДж / кг.

Удельная пожарная нагрузка , МДж /, определяется из соотношения:

                                                                                                                   (5.2)

где  - площадь размещения пожарной нагрузки,  (но не менее 10 ).

Таким образом .

Получается, что помещение относится к категории B3 по количеству и пожароопасным свойствам, находящихся в помещении веществ и материалов. Возможный пожар следует отнести к классу А (пожары твердых веществ, в основном органического происхождения, горение которых сопровождается тлением), В (горючие жидкости и плавящиеся при нагревании материалы) и Е (оборудование под напряжением).

Пожарная безопасность обеспечивается согласно ГОСТ 12.1.004-91 ССБТ "Пожарная безопасность":

- Предотвращение пожара должно достигаться предотвращением образования горючей среды и (или) предотвращением образования в горючей среде (или внесения в нее) источников зажигания.

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

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

- применением технологического процесса и оборудования, удовлетворяющего требованиям электростатической искробезопасности по ГОСТ 12.1.018;

- устройством молниезащиты зданий, сооружений и оборудования.

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

Противопожарная защита должна достигаться применением одного из следующих способов или их комбинацией:

- применением средств пожаротушения;

При защите от пожара помещений, оборудованных ПЭВМ, рекомендуется применять хладоновые и углекислотные огнетушители с учетом предельно допустимой концентрации огнетушащего вещества. Для защиты рассматриваемого помещения используются огнетушители ОУ-5. На этаже, где расположено рассматриваемое помещение имеется два ручных углекислотных огнетушителя типа ОУ-5. Расстояние от возможного очага пожара до места размещения огнетушителя не должно превышать 30 м (так как помещение категории В).

- применением автоматических установок пожарной сигнализации и пожаротушения;

В соответствии с НПБ 110-03 "Перечень зданий, сооружений, помещений и оборудования, подлежащих защите автоматическими установками пожаротушения и автоматической пожарной сигнализацией" в таблице 5.10 указаны категория рассматриваемого помещения и необходимые автоматические системы.

Таблица 5.10 –  Перечень помещений, подлежащих защите АУПТ и АУПС

Объект защиты

АУПТ

АУПС

Помещения связи

Помещение для размещения персональных ЭВМ на рабочих столах пользователей

Независимо от площади

- применением основных строительных конструкций и материалов, с нормированными показателями пожарной опасности;

В таблице 5.11 указаны различные параметры для производственных зданий согласно СНиП 31-03-2001. Рассматриваемое здание относится к III степени огнестойкости.

Таблица 5.11–  Производственные здания

Категория зданий или пожарных отсеков

Высота здания*, м

Степень огнестойкости зданий

Класс конструктивной пожарной опасности зданий

Площадь этажа, м2, в пределах

пожарного отсека зданий

одноэтажных

в два этажа

в три этажа и более

В

24

III

С0

25000

10400

5200

В таблице 5.12 указаны пределы огнестойкости строительных конструкций для рассматриваемого здания, согласно СНиП 21-01-97 "Пожарная безопасность зданий и сооружений".

Таблица 5.12 –  Предел огнестойкости строительных конструкций.

Степень огнестойкости здания

Предел огнестойкости строительных конструкций, не менее

Несущие элементы здания

Наружные ненесущие стены

Перекрытия междуэтажные, (в т.ч. чердачные и над подвалами)

Элементы бесчердачных покрытий

Лестничные клетки

Настилы (в том числе с утеплителем)

Фермы, балки, прогоны

Внутренние стены

Мерши и площадки лестниц

III

R 45

Е 15

REI 45

RE 15

R 15

REI 60

R 45

Предел огнестойкости строительных конструкций устанавливается по времени (в минутах) наступления одного или последовательно нескольких, нормируемых для данной конструкции, признаков предельных состояний:

- потери несущей способности (R);

- потери целостности (Е);

- потери теплоизолирующей способности (I).

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

Таблица 5.13 –  Конструктивные характеристики зданий в зависимости от их степени огнестойкости.

Степень огнестойкости

Конструктивные характеристики

III

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

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

Здание, где расположено рассматриваемое помещение, имеет 3 этажа. В соответствии с НПБ 104-03 "Проектирование систем оповещения людей о пожаре в зданиях и сооружениях» в этом здании установлена СОУЭ типа 2. Обоснование в таблице 5.14.

Таблица 5.14 – Тип СОУЭ для зданий

Группа зданий, комплексов и сооружений (наименование нормативного показателя)

Наибольшее число этажей

Тип СОУЭ

Учреждения, проектно-конструкторские организации, НИИ, информационные центры и другие административные здания

До 6

2

СОУЭ типа 2 обладает следующими характеристиками:

- Звуковой способ оповещения (сирена);

- Статические оповещатели «Выход»;

- Статические указатели направления движения.

Для обеспечения эвакуации предусмотрено:

- 2 эвакуационных выхода (на каждом этаже здания) шириной 1 м, и соответствующее конструктивное исполнение эвакуационных путей;

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

В таблице 5.15 представлены нормы на ширину эвакуационного выхода.

Таблица 5.15 – Ширина эвакуационного выхода.

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

Степень огнестойкости здания

Класс конструктивной пожарной опасности здания

Количество людей на 1 м ширины эвакуационного выхода (двери) из коридора, чел.

В3

III

С0

173

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

Таблица 5.16 –  Нормы эвакуации

Объем помещения, тыс. м3

Категория помещения

Степень огнестойкости зданий

Класс конструктивной пожарной опасности зданий

Расстояние, м, при плотности людского потока в общем проходе, чел/м

до 1

св.1 до 3

св. 3 до 5

80 и более

В3

III

С0

240

140

100

Организационно-технические мероприятия должны включать:

- организацию пожарной охраны;

- организацию обучения работающих правилам пожарной безопасности на производстве;

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

В соответствии с ППБ 01-03 «Правила пожарной безопасности РФ» предъявляются следующие требования к работникам, помещениям и зданиям:

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

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

- определены и оборудованы места для курения;

- определен порядок обесточивания электрооборудования в случае пожара и по окончании рабочего дня;

регламентированы:

- порядок проведения временных огневых и других пожароопасных работ;

- действия работников при обнаружении пожара;

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

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

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

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

- территории организаций должны иметь наружное освещение в темное время суток для быстрого нахождения пожарных гидрантов, наружных пожарных лестниц и мест размещения пожарного инвентаря. Места размещения (нахождения) средств пожарной безопасности и специально оборудованные места для курения должны быть обозначены знаками пожарной безопасности, в том числе знаком пожарной безопасности "Не загромождать";

- двери на путях эвакуации должны открываться свободно и по направлению выхода из здания.

5.9 Организация рабочего места

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

В соответствии с СанПиН 2.2.2/2.4.1340-03 «Гигиенические требования к  персональным электронно-вычислительным машинам и организации работы» и ГОСТ 12.2.032-78 "Рабочее место при выполнении работ сидя. Общие эргономические требования" рабочее место должно соответствовать:

- при размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м. Фактическое расстояние межу видеомониторами 1,3 м;

Площадь на одно рабочее место пользователей ПЭВМ с ВДТ на базе электроннолучевой трубки (ЭЛТ) должна составлять не менее 6 м2, в  помещениях культурно-развлекательных учреждений и с ВДТ на базе плоских дискретных экранов (жидкокристаллические, плазменные) – 4,5 м2.

При использовании ПЭВМ с ВДТ на базе ЭЛТ (без вспомогательных устройств – принтер, сканер и др.), отвечающих требованиям международных стандартов безопасности компьютеров, с продолжительностью работы менее 4-х часов в в день допускается минимальная площадь 4,5 м2 на одно рабочее место пользователя (взрослого и учащегося высшего профессионального образования).

- конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учетом его количества и конструктивных особенностей, характера выполняемой работы. Допускается использование рабочих столов различных конструкций, отвечающих современным требованиям эргономики. Поверхность рабочего стола должна иметь коэффициент отражения 0,5 - 0,7;

- экран видеомонитора должен находиться от глаз пользователя на расстоянии 600 - 700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов;

- спинка стула должна быть изогнутой формы, повторяющей анатомический изгиб позвоночника в поясничном отделе, ее длина – 0,3 м, угол наклона – 10-30 градусов, стол расположен на расстоянии 0,65 м от стула. В рассматриваемом помещении используются стулья с возможностями вращения во круг оси, регулировки высоты сидения и угла наклона спинки.

Длительность рабочего дня составляет 9 часов с 48 минутным перерывом на обед и регламентированным перерывом 15 минут через каждый час.

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

Общие требования к организации рабочих мест пользователей ПЭВМ:

При размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов не менее 1,2 м.

Рабочие места с ПЭВМ в помещениях с источниками вредных производственных факторов должны размещаться в изолированных кабинах с организованным воздухообменом.

Рабочие места с ПЭВМ при выполнении творческой работы, требующей значительного умственного напряжения или высокой концентрации внимания, рекомендуется изолировать друг от друга перегородками 1,5 – 2,0 м.

Экран видеомонитора должен находиться от глаз пользователя на расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

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

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

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

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

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

Требования к организации и оборудованию рабочих мест с ПЭВМ для взрослых пользователей:

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

Модульными размерами рабочей поверхности стола для ПЭВМ, на основании которых должны рассчитываться конструктивные размеры, следует считать: ширину 800, 1000, 1200 и 1400 мм; глубину 800 и 1000 мм при нерегулируемой его высоте, равной 725 мм.

Рабочий стол должен иметь пространство для ног высотой не менее 600 мм, шириной – не менее 500 мм, глубиной на уровне колен – не менее 450 мм и на уровне вытянутых ног – не менее 650 мм.

Конструкция рабочего стула должна обеспечивать:

- ширину и глубину поверхности сиденья не менее 400 мм;

- поверхность сиденья с закругленным передним краем;

- регулировку высоты поверхности сиденья в пределах 400 – 550 мм и углам наклона вперед до 15 град., и назад до 5 град.;

- высоту опорной поверхности спинки 300 ± 20 мм, ширину – не менее 380 мм и радиус кривизны горизонтальной плоскости – 400 мм;

- угол наклона спинки в вертикальной плоскости в пределах ± 30 градусов;

- регулировку расстояния спинки от переднего края сиденья в пределах 260 – 400 мм;

- стационарные или съемные подлокотники длиной не менее 250 мм и шириной 50 – 70 мм;

- регулировка подлокотников по высоте над сиденьем в пределах 230 ± 30 мм и внутреннего расстояния между подлокотниками в пределах 350 – 500 мм.

Рабочее место пользователя ПЭВМ следует оборудовать подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте  в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20 градусов. Поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм.

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

5.10 Расчетная часть

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

Работа пользователя ЭВМ требует большой зрительной нагрузки, поэтому помимо естественного освещения приходиться использовать искусственное.

В помещении в светлое время суток используется естественное и искусственное освещение, в темное время суток - общее равномерное искусственное освещение.

При общем искусственном освещении: освещенность – 400 лк.

Согласно СанПиН 2.2.2.542-96 для освещения помещений с ВДТ и ПЭВМ следует применять светильники серии ЛПО. Группа светильников – 8.

Для искусственного освещения будем использовать светильники типа ЛПО 01-2х400/Д-01 по 2 лампы ЛБ 40 в каждом.

Определим количество светильников необходимое для освещения.

Световой поток лампы (ФЛ) в светильниках с люминесцентными лампами и при расположении светильников в ряд определяют по формуле:

                                           (5.3)

где:

ЕН – нормированная освещенность, лк;

S – площадь освещаемого помещения, м2;

k – коэффициент запаса;

Z – коэффициент минимальной освещенности;

NP – количество рядов;

n1 – количество светильников в ряду;

n2 – количество ламп в светильнике;

– коэффициент использования светового потока;

Коэффициенты использования светового потока для принятого типа светильника определяют по индексу помещения i и коэффициентам отражения потолка, стен, и пола.

Индекс помещения определяется по формуле:

                                                                                                          (5.4)

где:

А и Б соответственно длина и ширина помещения, м;

НР – высота подвеса светильников, м.

Рабочее помещение имеет следующие размеры:

ширина – 5 м;

длинна – 4 м;

высота подвеса – 3,5 м

Нр = 3,5 – 0,8 – 0,2 = 2,5 м

Определим индекс помещения:

                                                                                                   (5.5)

Согласно СанПиН 2.2.2.542-96 для внутренней отделки интерьера помещений с ВДТ и ПЭВМ должны использоваться диффузно-отражающие материалы с коэффициентом отражения:

для потолка   – 0,7;

для стен         – 0,5;

для пола         – 0,3.

Принимая данные коэффициенты отражения потолка, стен, пола и зная индекс помещения, по таблице определяем коэффициент использования светового потока:

= 35%;

Световой поток лампы ЛБ 40 равен 3120 лк. Коэффициент минимальной освещенности для люминесцентных ламп Z = 1,1. Согласно требованиям к освещению на рабочих местах, оборудованных ПЭВМ, коэффициент запаса (Кз) для осветительных установок общего освещения должен приниматься равным 1,4.

Определим количество светильников:

                                                          (5.6)

Таким образом, для обеспечения нормированной освещенности необходимо иметь 3 светильника типа ЛПО 01-2х400/Д-01 по 2 лампы типа ЛБ40 в каждом.

Заключение

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

1. Дж. Грофф, П. Вайнберг,  SQL: Полное руководство: Пер. с англ. – 2-е изд., перераб. и доп. – К.: Издательская группа BHV, 2001. – 816с., ил.

2. Шапошников И. В, Справочник WEB мастера.XML: Спб.:БХВ – Петербург, 2002. – 304 с.

3. Грабер М, Введение в SQL: – М.: Лори, 1998.

4. С. Байдачный, Д. Маленко, Ю. Лозинский, SQL Server 2005.Новые возможности для разработчиков – К.: Издательская группа BHV, 2006. – 746 с.

5. К.Дэйт , Введение в системы баз данных:  К.: Издательский дом «Вильямс», 2000. – 512 с.

Приложение А

ActiveCoupons.dtd:

<?xml version="1.0" encoding="Windows-1251" ?>

<!-- VPOffice, DTD для печати отчета по активным талонам на указанный момент времени, -->

<!-- только итоговые суммы, придеживаемся жесткой структуры документа,  -->

<!-- при появлении нового вида топлива требуются изменения -->

<!-- DTD root element -->

<!ELEMENT report (head, clients+) >

<!ELEMENT head (startdate, enddate) >

<!ELEMENT clients (client+, petrosoftData) >

<!ELEMENT client (clientName, gas, pricesSumma ) >

<!ELEMENT gas (gas65, gas67, gas69, gas71) >

<!ELEMENT gas65 (gas_coupon) >

<!ELEMENT gas67 (gas_coupon) >

<!ELEMENT gas69 (gas_coupon) >

<!ELEMENT gas71 (gas_coupon) >

<!ELEMENT petrosoftData (nominal65, nominal 67, nominal 69, nominal 71) >

<!ELEMENT gas (gasName, gasLiters, gasPrices) >

<!-- client properties -->

<!ELEMENT clientName (#PCDATA) > <!-- client title -->

<!ELEMENT pricesSumma (#PCDATA) > <!-- Full price summary -->

<!-- gas types, summary prices and amounts in liters -->

<!ELEMENT gasLiters (#PCDATA) > <!-- Total number of liters -->

<!ELEMENT gasPrices (#PCDATA) > <!-- Total price -->

<!-- PETROSOFT data -->

<!ELEMENT gasLiters65 (#PCDATA) > <!-- Number of liters -->

<!ELEMENT gasLiters67 (#PCDATA) > <!-- Number of liters -->

<!ELEMENT gasLiters69 (#PCDATA) > <!-- Number of liters -->

<!ELEMENT gasLiters71 (#PCDATA) > <!-- Number of liters -->

<!-- end of DTD -->

ActiveCoupons.xsl:

<?xml version="1.0" encoding="Windows-1251"?>

<xsl:stylesheet

     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

     version="1.0">

  <xsl:template match="report">

     <HTML>

 <style>

  <!--

   /* Style Definitions */

   p.MsoNormal, li.MsoNormal, div.MsoNormal

   {mso-style-parent:"";

   margin:0cm;

   margin-bottom:.0001pt;

   mso-pagination:widow-orphan;

   font-size:12.0pt;

   font-family:"Times New Roman";

   mso-fareast-font-family:"Times New Roman";}

  @page Section1

   {size:841.9pt 595.3pt;

   mso-page-orientation:landscape;

   margin:3.0cm 2.0cm 42.55pt 2.0cm;

   mso-header-margin:35.45pt;

   mso-footer-margin:35.45pt;

   mso-paper-source:0;}

  div.Section1

   {page:Section1;}

  -->

 </style>

 <HEAD>

 <TITLE>

Активные талоны

на <!-- xsl:apply-templates select="head/enddate"/ -->

текущий момент времени

 </TITLE>

 </HEAD>

 <BODY>

  <xsl:apply-templates select="head"/>

  <BR></BR>

  <BR></BR>

  <xsl:apply-templates select="clients"/>

  <BR></BR>

 </BODY>

    </HTML>

  </xsl:template>

  <xsl:template match="head">

<H2><DIV align="center">

        ОТЧЕТ

 <BR/>

 ПО АКТИВНЫМ ТАЛОНАМ (ИТОГИ)

</DIV></H2>

<DIV align="center">

        на <!-- xsl:apply-templates select="enddate"/ -->

 текущий момент времени

 <BR></BR>

</DIV>

  </xsl:template>

  <xsl:template match="clientName">

       <xsl:value-of select="."/>

  </xsl:template>

  <xsl:template match="fuelName">

<TD ALIGN="left">

 <B>

 <FONT SIZE="-3">

         <xsl:value-of select="."/>

 </FONT>

 </B>

</TD>

  </xsl:template>

  <xsl:template match="fuelLiters">

<TD ALIGN="right">

 <FONT SIZE="-3" COLOR="BLUE">

  <xsl:value-of select="format-number(., '#')"/>

 </FONT>

</TD>

  </xsl:template>

  <xsl:template match="fuelPrices">

<TD ALIGN="right">

 <FONT SIZE="-3" COLOR="RED">

  <xsl:value-of select="format-number(., '#')"/>

 </FONT>

</TD>

  </xsl:template>

  <xsl:template match="clients">

<xsl:variable name="fuelLiters65" select="sum(client/fuels/fuel65/fuel/fuelLiters)"/>

<xsl:variable name="fuelPrices65" select="sum(client/fuels/fuel65/fuel/fuelPrices)"/>

<xsl:variable name="fuelLiters67" select="sum(client/fuels/fuel67/fuel/fuelLiters)"/>

<xsl:variable name="fuelPrices67" select="sum(client/fuels/fuel67/fuel/fuelPrices)"/>

<xsl:variable name="fuelLiters69" select="sum(client/fuels/fuel69/fuel/fuelLiters)"/>

<xsl:variable name="fuelPrices69" select="sum(client/fuels/fuel69/fuel/fuelPrices)"/>

<xsl:variable name="fuelLiters71" select="sum(client/fuels/fuel71/fuel/fuelLiters)"/>

<xsl:variable name="fuelPrices71" select="sum(client/fuels/fuel71/fuel/fuelPrices)"/>

<xsl:variable name="pricesSumma" select="sum(client/pricesSumma)"/>

<TABLE  class="MsoTableGrid" border="3" cellspacing="0" cellpadding="2" width="100%"

  style="border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;

  mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh:

  .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext">

 <TR>

  <TH ROWSPAN="2" ALIGN="center" WIDTH="3%"><SMALL>№ пп</SMALL></TH>

  <TH ROWSPAN="2" ALIGN="center" WIDTH="31%"><SMALL>Клиент</SMALL></TH>

  <TH COLSPAN="2" ALIGN="center" WIDTH="14%"><SMALL>A-76</SMALL></TH>

  <TH COLSPAN="2" ALIGN="center" WIDTH="14%"><SMALL>AИ-92</SMALL></TH>

  <TH COLSPAN="2" ALIGN="center" WIDTH="14%"><SMALL>АИ-95</SMALL></TH>

  <TH COLSPAN="2" ALIGN="center" WIDTH="14%"><SMALL>ДТ</SMALL></TH>

  <TH ROWSPAN="2" ALIGN="center" WIDTH="10%"><SMALL>Итого р.</SMALL></TH>

 </TR>

 <TR>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Объём, л </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Сумма, р </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Объём, л </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Сумма, р </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Объём, л </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Сумма, р </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Объём, л </SMALL></TH>

  <TH ALIGN="center" WIDTH="7%"><SMALL> Сумма, р </SMALL></TH>

 </TR>

        <xsl:apply-templates select="client"/>

 <TR>

  <TD COLSPAN="2" ALIGN="right">

   <FONT size="-1">

   <B>

    ИТОГО по отчету:  

   </B>

   </FONT>

  </TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelLiters67, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelPrices67, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelLiters65, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelPrices65, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelLiters69, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelPrices69, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelLiters71, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($fuelPrices71, '#')"/></B></FONT></TD>

  <TD ALIGN="right">

   <FONT size="-1">

   <B>

    <xsl:value-of select="format-number($pricesSumma, '#')"/>

   </B>

   </FONT>

  </TD>

 </TR>

 <xsl:variable name="petrosoftFuelLiters65" select="petrosoftData/fuelLiters65"/>

 <xsl:variable name="petrosoftFuelLiters67" select="petrosoftData/fuelLiters67"/>

 <xsl:variable name="petrosoftFuelLiters69" select="petrosoftData/fuelLiters69"/>

 <xsl:variable name="petrosoftFuelLiters71" select="petrosoftData/fuelLiters71"/>

 <TR>

  <TD COLSPAN="2" ALIGN="right">

   <FONT size="-1">

   <B>

    ПЕТРОСОФТ данные:  

   </B>

   </FONT>

  </TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($petrosoftFuelLiters67, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($petrosoftFuelLiters65, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($petrosoftFuelLiters69, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B><xsl:value-of select="format-number($petrosoftFuelLiters71, '#')"/></B></FONT></TD>

  <TD ALIGN="right"><FONT size="-1"><B></B></FONT></TD>

  <TD ALIGN="right">

   <FONT size="-1">

   <B>

   </B>

   </FONT>

  </TD>

 </TR>

</TABLE>

  </xsl:template>

  <xsl:template match="client">

<TR>

 <xsl:if test="position() mod 2 = 0">

  <xsl:attribute name="BGCOLOR">SILVER</xsl:attribute>

 </xsl:if>

 <TD ALIGN="center"><SMALL><xsl:value-of select="position()"/></SMALL></TD>

 <TD ALIGN="left">

  <FONT SIZE="-1">

   <B>

    <xsl:apply-templates select="clientName"/>

   </B>

  </FONT>

 </TD>

 <xsl:apply-templates select="fuels"/>

 <TD ALIGN="right">

  <FONT size="-2">

   <B>

    <xsl:apply-templates select="pricesSumma"/>

   </B>

  </FONT>

 </TD>

</TR>

  </xsl:template>

  <xsl:template match="fuels">

 <xsl:apply-templates select="fuel67"/>

 <xsl:apply-templates select="fuel65"/>

 <xsl:apply-templates select="fuel69"/>

 <xsl:apply-templates select="fuel71"/>

  </xsl:template>

  <xsl:template match="fuel65">

 <xsl:apply-templates select="fuel"/>

  </xsl:template>

  <xsl:template match="fuel67">

 <xsl:apply-templates select="fuel"/>

  </xsl:template>

  <xsl:template match="fuel69">

 <xsl:apply-templates select="fuel"/>

  </xsl:template>

  <xsl:template match="fuel71">

 <xsl:apply-templates select="fuel"/>

  </xsl:template>

  <xsl:template match="fuel">

 <FONT SIZE="-1">

  <xsl:apply-templates select="fuelLiters"/>

  <xsl:apply-templates select="fuelPrices"/>

 </FONT>

  </xsl:template>

</xsl:stylesheet>

ActiveCoupons.sql:

USE [VP_OFFICE]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[docClientActiveCoupons]

@DTD   varchar(261), -- DTD file

@XSL   varchar(261), -- XSL file

@Station  int,   -- not used

@sDate   datetime,

@fDate   datetime

AS

SET NOCOUNT ON

-- Create tempory folder

if OBJECT_ID('tempdb..#tmptext') is not null

 drop table #TmpText

CREATE TABLE #TmpText (

    ID int IDENTITY(1,1),

    docstr Varchar(5000) COLLATE Cyrillic_General_CI_AS

   )

--------------------------------------------------------------------------------------------------------------------

INSERT INTO #TmpText (docstr)

 (SELECT '<?xml version="1.0" encoding="Windows-1251"?>' + char(13))

INSERT INTO #TmpText (docstr)

 (SELECT '<?xml-stylesheet type="text/xsl" href="'

  + @XSL

  + '"?>' + char(13)

 )

INSERT INTO #TmpText (docstr)

 (SELECT '<!DOCTYPE clientReport SYSTEM "'

  + @DTD

  + '">'  + char(13)

 )

INSERT INTO #TmpText (docstr)

 (SELECT '<report>' + char(13))

 

--------------------------------------------------------------------------------------------------------------------

 --- report title

INSERT INTO #TmpText (docstr)

 (SELECT '<head>'

   +  '<startdate>'

    + CASE

    WHEN @sDate is not NULL THEN

     CONVERT(varchar, CAST(@sDate AS datetime), 104)

      +  ' '

      +  CONVERT(varchar, CAST(@sDate AS datetime), 108)

    ELSE

     'нет данных'

    END

   + '</startdate>'

   + '<enddate>'

    + CASE

    WHEN @fDate is not NULL THEN

     CONVERT(varchar, CAST(@fDate AS datetime), 104)

      +  ' '

      +  CONVERT(varchar, CAST(@fDate AS datetime), 108)

    ELSE

     'нет данных'

    END

   + '</enddate>'

  +  '</head>' + char(13)

 )

--------------------------------------------------------------------------------------------------------------------

DECLARE @minDate datetime, @maxDate datetime

SET @minDate = DATEADD(dd, -1, @sDate)

SET @maxDate = DATEADD(dd,  1, @fDate)

-- Open the "clients" tag to declare a start of list of clients.

INSERT INTO #TmpText (docstr)

 (SELECT '<clients>' + char(13))

-- Create a table with results

CREATE TABLE #TempTable (AUTOID int IDENTITY(1,1) NOT NULL,

      ID int,     -- Coupon database unique id.

      Date varchar(255),  -- Coupon last update.

      Status int,    -- Coupon status.

      FuelType tinyint,  -- Coupon fuel type.

      Volume int,    -- Coupon face-value.

      Price bigint,   -- Coupon liter price.

      ClientName varchar(255) COLLATE Cyrillic_General_CI_AS ) -- Coupon owner.

/*

-- Create temporary table to contain coupons issued to the specified moment of time.

-- Attention: there is no need to take into account all the coupons that were primarily canceled and issued after that.

INSERT INTO #TempTable( ID, Date, Status, FuelType, Volume, Price, ClientName )

 SELECT DISTINCT couponHistory.couponID, couponHistory.Date, couponHistory.Status,

  couponHistory.FuelType, couponHistory.Volume, couponHistory.Price * couponHistory.Volume / 10000,

  (SELECT Name FROM Client WHERE ID1C = (SELECT ClientID1C FROM [dbo].[1CBill] WHERE ID = couponHistory.BillID))

 FROM [dbo].[CouponHistory] couponHistory

 /******** select issued to the specified moment of time *******/

 WHERE Status = 1 AND Date <= @fDate

  AND couponHistory.couponID in

  (

   /******** and select current status == 1 also ********/

   SELECT DISTINCT ch.CouponID

   FROM [dbo].[Coupon] c, [dbo].[CouponHistory] ch

   WHERE c.ID = ch.CouponID AND c.Date = ch.Date AND ch.Status = 1 AND c.Date <= @fDate

  )

*/

-- Create temporary table to contain coupons issued inside the specified period and still issued currently.

INSERT INTO #TempTable( ID, Date, Status, FuelType, Volume, Price, ClientName )

 SELECT DISTINCT couponHistory.couponID, couponHistory.Date, couponHistory.Status,

  couponHistory.FuelType, couponHistory.Volume, couponHistory.Price * couponHistory.Volume / 10000,

  (SELECT Name FROM Client WHERE ID1C = (SELECT ClientID1C FROM [dbo].[1CBill] WHERE ID = couponHistory.BillID))

 FROM [dbo].[Coupon] coupon, [dbo].[CouponHistory] couponHistory

 /******** select issued to the current moment of time *******/

 WHERE coupon.ID = couponHistory.CouponID AND coupon.Date = couponHistory.Date AND couponHistory.Status = 1

DECLARE @CLIENTNAME  varchar(255) -- Stores a coupon owner.

DECLARE @FUELTYPE  int    -- Stores a coupon fuel type.

DECLARE @QUANTITY  int    -- Stores summary coupons' quantity.

DECLARE @TOTALPRICE  int    -- Stores summary price.

DECLARE @TOTALVOLUME int    -- Stores summary liters.

 DECLARE RecordsForAnalysis CURSOR FOR

 SELECT ClientName, FuelType, COUNT( FuelType ) Quantity, SUM( Price ) Price, SUM( Volume ) Liters

 FROM #TempTable

 GROUP BY ClientName, FuelType

 ORDER BY ClientName, FuelType

DECLARE @CURRENT_CLIENTNAME varchar(255) -- Current owner.

SET @CURRENT_CLIENTNAME = ''

DECLARE @CURRENT_FUELTYPE varchar(255) -- Current coupon fuel type.

SET @CURRENT_FUELTYPE = ''

DECLARE @PRICESSUMMA  int    -- Stores summary coupons' prices.

DECLARE @FUELLITERS65  int

DECLARE @FUELPRICES65  int

DECLARE @FUELLITERS67  int

DECLARE @FUELPRICES67  int

DECLARE @FUELLITERS69  int

DECLARE @FUELPRICES69  int

DECLARE @FUELLITERS71  int

DECLARE @FUELPRICES71  int

 OPEN  RecordsForAnalysis

 FETCH NEXT FROM RecordsForAnalysis INTO @CLIENTNAME, @FUELTYPE, @QUANTITY, @TOTALPRICE, @TOTALVOLUME

-- Analyze the last history record of every coupon.

 WHILE @@FETCH_STATUS = 0

 BEGIN

 -- Check a current client identifier.

 IF @CURRENT_CLIENTNAME <> @CLIENTNAME

 BEGIN

  IF @CURRENT_CLIENTNAME <> ''

  BEGIN

 -- Section to fill every record ---------------------------------

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel65>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS65 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES65 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel65>' + char(13))

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel67>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS67 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES67 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel67>' + char(13))

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel69>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS69 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES69 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel69>' + char(13))

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel71>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS71 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES71 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel71>' + char(13))

 SET @PRICESSUMMA = @FUELPRICES65 + @FUELPRICES67 + @FUELPRICES69 + @FUELPRICES71

 -- Section to fill every record ---------------------------------

   -- Close the tag for all records

   INSERT INTO #TmpText (docstr) (SELECT '</fuels>' + char(13))

   -- Add a summa title

   INSERT INTO #TmpText (docstr)

    (SELECT '<pricesSumma>' + char(13)

     + CONVERT(varchar, CAST(@PRICESSUMMA AS money), 0)

     + '</pricesSumma>' + char(13)

    )

   -- Close the tag for the client

   INSERT INTO #TmpText (docstr) (SELECT '</client>' + char(13))

  END

  -- Specify the new current client identifier.

  SET @CURRENT_CLIENTNAME = @CLIENTNAME

  -- Open a tag for a client

  INSERT INTO #TmpText (docstr) (SELECT '<client>' + char(13))

  -- Add a client title

  INSERT INTO #TmpText (docstr)

   (SELECT '<clientName>' + char(13)

    + @CURRENT_CLIENTNAME

    + '</clientName>' + char(13)

   )

  SET @PRICESSUMMA = 0

  -- Open a tag for all records

  INSERT INTO #TmpText (docstr) (SELECT '<fuels>' + char(13))

  SET @FUELLITERS65 = 0

  SET @FUELPRICES65 = 0

  SET @FUELLITERS67 = 0

  SET @FUELPRICES67 = 0

  SET @FUELLITERS69 = 0

  SET @FUELPRICES69 = 0

  SET @FUELLITERS71 = 0

  SET @FUELPRICES71 = 0

 END -- END OF IF @CURRENT_CLIENTNAME <> @CLIENTNAME

 -- Determine correct coupon fuel type and coupon face-value

 IF @FUELTYPE = 65

  BEGIN

   SET @FUELLITERS65 = @TOTALVOLUME

   SET @FUELPRICES65 = @TOTALPRICE

  END

 ELSE IF @FUELTYPE = 67

  BEGIN

   SET @FUELLITERS67 = @TOTALVOLUME

   SET @FUELPRICES67 = @TOTALPRICE

  END

 ELSE IF @FUELTYPE = 69

  BEGIN

   SET @FUELLITERS69 = @TOTALVOLUME

   SET @FUELPRICES69 = @TOTALPRICE

  END

 ELSE IF @FUELTYPE = 71

  BEGIN

   SET @FUELLITERS71 = @TOTALVOLUME

   SET @FUELPRICES71 = @TOTALPRICE

  END

  FETCH NEXT FROM RecordsForAnalysis INTO @CLIENTNAME, @FUELTYPE, @QUANTITY, @TOTALPRICE, @TOTALVOLUME

 END -- END OF WHILE

 CLOSE  RecordsForAnalysis

DEALLOCATE RecordsForAnalysis

IF @CURRENT_CLIENTNAME <> ''

BEGIN

 -- Section to fill every record ---------------------------------

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel65>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS65 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES65 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel65>' + char(13))

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel67>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS67 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES67 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel67>' + char(13))

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel69>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS69 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES69 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel69>' + char(13))

 -- Open tag for a new record.

 INSERT INTO #TmpText (docstr) (SELECT '<fuel71>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '<fuel>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters>' + char(13) + CONVERT(varchar, CAST(@FUELLITERS71 AS money), 0) + '</fuelLiters>' + char(13))

  INSERT INTO #TmpText (docstr) (SELECT '<fuelPrices>' + char(13) + CONVERT(varchar, CAST(@FUELPRICES71 AS money), 0) + '</fuelPrices>' + char(13))

 -- Close tag for the new record.

 INSERT INTO #TmpText (docstr) (SELECT '</fuel>' + char(13))

 INSERT INTO #TmpText (docstr) (SELECT '</fuel71>' + char(13))

 SET @PRICESSUMMA = @FUELPRICES65 + @FUELPRICES67 + @FUELPRICES69 + @FUELPRICES71

 -- Section to fill every record ---------------------------------

 -- Close the tag for all records

 INSERT INTO #TmpText (docstr) (SELECT '</fuels>' + char(13))

 -- Add a summa title

 INSERT INTO #TmpText (docstr)

  (SELECT '<pricesSumma>' + char(13)

   + CONVERT(varchar, CAST(@PRICESSUMMA AS money), 0)   

   + '</pricesSumma>' + char(13)

  )

 -- Close the tag for the client

 INSERT INTO #TmpText (docstr) (SELECT '</client>' + char(13))

END

INSERT INTO #TmpText (docstr) (SELECT '<petrosoftData>' + char(13))

DECLARE @COUPONS65  int -- Number of coupons 92 type

DECLARE @COUPONS67  int -- Number of coupons 76 type

DECLARE @COUPONS69  int -- Number of coupons 95 type

DECLARE @COUPONS71  int -- Number of coupons DT type

-- PETROSOFT DATA: active number of coupons in the previous BDF database.

-- (WHERE cac.Number = chc.Number): 803 = 235 + 447 + 82 + 39

SET @COUPONS65 = 57799 + 447

SET @COUPONS67 = 27453 + 235

SET @COUPONS69 = 11465 + 82

SET @COUPONS71 = 10668 + 39

DECLARE @COUPONFUELTYPE varchar(255) -- The fuel type of coupons.

DECLARE @COUPONNUMBERS int -- The quantity of these coupons.

 DECLARE NumberOfCoupons CURSOR FOR

 SELECT SUBSTRING( Number, 3, 1 ), COUNT( SUBSTRING( Number, 3, 1 ) )

 FROM [dbo].[CouponAbnormalCancellation]

 WHERE Number NOT IN ( SELECT Number FROM [dbo].[Coupon] )

 GROUP BY SUBSTRING( Number, 3, 1 )

 ORDER BY SUBSTRING( Number, 3, 1 )

 OPEN NumberOfCoupons

 FETCH NEXT FROM NumberOfCoupons INTO @COUPONFUELTYPE, @COUPONNUMBERS

 WHILE @@FETCH_STATUS = 0

 BEGIN

 IF @COUPONFUELTYPE = 'A'

  BEGIN

   SET @COUPONS67 = (@COUPONS67 - @COUPONNUMBERS) * 20

  END

 ELSE IF @COUPONFUELTYPE = 'B'

  BEGIN

   SET @COUPONS65 = (@COUPONS65 - @COUPONNUMBERS) * 20

  END

 ELSE IF @COUPONFUELTYPE = 'C'

  BEGIN

   SET @COUPONS69 = (@COUPONS69 - @COUPONNUMBERS) * 20

  END

 ELSE IF @COUPONFUELTYPE = 'J'

  BEGIN

   SET @COUPONS71 = (@COUPONS71 - @COUPONNUMBERS) * 40

  END

  FETCH NEXT FROM NumberOfCoupons INTO @COUPONFUELTYPE, @COUPONNUMBERS

 END -- END OF WHILE

 CLOSE NumberOfCoupons

DEALLOCATE NumberOfCoupons

INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters65>' + char(13) + CONVERT(varchar, CAST(@COUPONS65 AS money), 0))

INSERT INTO #TmpText (docstr) (SELECT '</fuelLiters65>' + char(13))

INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters67>' + char(13) + CONVERT(varchar, CAST(@COUPONS67 AS money), 0))

INSERT INTO #TmpText (docstr) (SELECT '</fuelLiters67>' + char(13))

INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters69>' + char(13) + CONVERT(varchar, CAST(@COUPONS69 AS money), 0))

INSERT INTO #TmpText (docstr) (SELECT '</fuelLiters69>' + char(13))

INSERT INTO #TmpText (docstr) (SELECT '<fuelLiters71>' + char(13) + CONVERT(varchar, CAST(@COUPONS71 AS money), 0))

INSERT INTO #TmpText (docstr) (SELECT '</fuelLiters71>' + char(13))

INSERT INTO #TmpText (docstr) (SELECT '</petrosoftData>' + char(13))

-- Close the "clients" tag to declare the end of list of clients.

INSERT INTO #TmpText (docstr)

 (SELECT '</clients>' + char(13))

INSERT INTO #TmpText (docstr)

 (SELECT '</report>' + char(13))

--------------------------------------------------------------------------------------------------------------------

INSERT INTO #TmpText (docstr)  VALUES('')

 

SELECT docstr FROM #TmpText ORDER BY ID

 

DROP TABLE #TmpText

DROP TABLE #TempTable



 

Другие похожие работы, которые могут вас заинтересовать.
6243. Системы класса CSRP (Customer Synchronized Resource Planning). Системы CRM (Customer Relationships Management, управление отношениями с клиентами) 44.47 KB
  Системы класса CSRP Customer Synchronized Resource Plnning. Системы CRM Customer Reltionships Mngement управление отношениями с клиентами. Системы класса ЕАМ. Несмотря на то что передовые предприятия для укрепления на рынке внедряют мощнейшие системы класса ERP этого уже оказывается недостаточно для повышения доходов предприятия.
13757. Создание сетевой системы тестирования электронного сопровождения курса Операционные системы (на примере инструментальной оболочки Joomla) 1.83 MB
  Программа для составления тестов позволит работать с вопросами в электронном виде использовать все виды цифровой информации для отображения содержания вопроса. Целью курсовой работы является создание современной модели webсервиса тестирования знаний с помощью средств webразработки и программная реализация для эффективной работы тестовой системы – защита от копирования информации и списывания при контроле знаний т. Последние два означают создание равных для всех условий прохождения контроля знаний невозможность списывания и...
1760. Разработка базы данных системы автоматизации документооборота отдела по работе с физическими лицами коммерческого банка 5.37 MB
  Прием поступающих в организацию документов осуществляется централизованно экспедицией или сотрудниками службы документационного обеспечения управления (ДОУ). Факсимильные сообщения и сообщения, поступающие по электронной почте, могут приниматься децентрализовано
5975. Создание информационной системы Интернет-магазин 2.73 MB
  Нужды администраторов интернет магазина в складском, торговом, бухгалтерском и налоговом учете должны поддерживаться невидимой посетителям частью интернет-магазина — бэк-офисом. Экономически эффективной практикой создания интернет магазинов является применение специализированных систем учета.
11927. Создание системы сличения шкал времени 18.16 KB
  Разработан способ сличения шкал времени и устройство для его реализации. Изобретение относится к области средств связи и навигации и предназначено для повышения оперативности сличения пространственноразнесенных шкал хранителей времени а также для повышения надежности и достоверности обмена сообщениями между подвижными объектами и наземным центром управления в условиях организованных и непреднамеренных помех. Существует ряд методов с помощью которых производится сличение шкал времени ШВ с погрешностью в несколько наносекунд и менее.
9984. Создание логистической системы группы компаний О’КЕЙ 446.54 KB
  Транспортная логистика — это система по организации доставки, а именно по перемещению каких-либо материальных предметов, веществ и пр. из
20491. Лизинговые отношения с клиентами АО «АльянсБанк» 329.62 KB
  Факторы сдерживающие развитие лизинга в Республике Казахстан. Форма лизинга примиряет противоречия между предприятием у которого нет средств на модернизацию и банком который неохотно предоставит этому предприятию кредит так как не имеет достаточных гарантий возврата инвестированных средств. Лизинговая операция выгодна всем участвующим: одна сторона получает кредит который выплачивает поэтапно и нужное оборудование; другая сторона – гарантию возврата кредита так как объект...
15708. Создание мобильного приложения колледжа “Угреша” для операционной системы iOS 12.18 MB
  Целью данной работы является разработка приложение для ОС Ios назначением которого будет доступ к информации колледжа Угреша. Для достижения поставленной цели требуется решить следующие задачи: Провести обзор отечественной и зарубежной литературы по выбранной тематике; Изучить архитектуру инструменты и особенности разработки приложений для ОС Ios...
1537. Создание информационной системы управления закупками для магазина «Цифровой Мир» 4.37 MB
  Интернет магазин «Техномир» —это сайт, созданный для того, чтобы связывать покупателей и продавцов напрямую без посредников. Вам предлагается огромный ассортимент товаров бытовой
13142. Создание готовой информационной системы учета движения материалов на складе 647.09 KB
  В автоматизированных ИС часть функций управления и обработки данных выполняется компьютерами а часть человеком. Компьютер не только облегчает учет сокращая время требующееся на оформление документов и обобщение накопленных данных для анализа хода торговой деятельности необходимого для управления ею.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.