Проектирование АСУ 'Управления Здравоохранения Администрации Ленинского муниципального района'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,48 Мб
  • Опубликовано:
    2013-03-14
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование АСУ 'Управления Здравоохранения Администрации Ленинского муниципального района'

Введение

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

Целью работы является проектирование АСУ «Управления Здравоохранения Администрации Ленинского муниципального района» и разработка конкретных проектных решений по одной из подсистем АСУ.

В процессе проектирования были проведены следующие этапы:

§  Анализ деятельности и существующей системы управления «Управления Здравоохранения Администрации Ленинского муниципального района».

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

§  Проведение декомпозиции АСУ «Управления Здравоохранения Администрации Ленинского муниципального района» на подсистемы и комплексы задач.

§  Выбор подсистемы АСУ и комплекса задач, подлежащих автоматизации.

§  Разработка постановки задач.

§  Выбор и обоснование проектных решений по информационному обеспечению задач.

§  Разработка программного обеспечения решения задач.

§  Выбор и обоснование комплекса технических средств.

§  Разработка комплекса мер по охране труда при эксплуатации комплекса технических средств.

§  Определялась возможность повышения эффективности деятельности за счет внедрения АСУ.

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

Глава 1. Анализ существующей системы управления

.1 Общая характеристика деятельности организации

Здравоохранение Ленинского района представлено 24 муниципальными лечебно-профилактическими учреждениями: головное учреждение - Видновская районная больница, 2 специализированных диспансера, родильный дом, стоматологическая поликлиника, станция скорой медицинской помощи (СМП), центр медицинской профилактики, санаторий профилактория пос. Развилка, 4 участковые больницы, 9 амбулаторий.

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

1.1.1 Общие положения

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

2. Управление здравоохранения администрации Ленинского муниципального района в своей деятельности руководствуется Конституцией Российской Федерации, законодательством Российской Федерации, законодательством Московской области, Уставом Ленинского муниципального района, а также настоящим Положением.

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

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

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

1.1.2 Место нахождения и место хранения документов организации

Московская область, г.Видное, ул. Заводская, дом № 17.

1.1.3 Цели, функции и задачи организации

Глобальная цель Управления Здравоохранения Администрации ленинского района - Оптимальное удовлетворение потребности населения Ленинского района в профилактической, медико-социальной и лекарственной помощи; повышение эффективной деятельности системы здравоохранения района

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

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

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

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

. Реализация в пределах своей компетенции на территории Ленинского муниципального района государственной политики в сфере здравоохранения.

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

Основными задачами Управления Здравоохранения являются:

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

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

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

4. Организация деятельности в области медицинского просвещения, санитарно-гигиенического воспитания населения.

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

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

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

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

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

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

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

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

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

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

1.1.4 Трудовые ресурсы

1.1.8. Численность рабочих

Общая численность рабочих составляет: 1510 человека

·        Центральный Аппарат - 25

·        Производственная служба - 44

·        Рабочие - 956

Соотношение: 1 : 13,9

.2 Основные технико-экономические показатели деятельности организации

Основные технико-экономические показатель деятельности для Управления Здравоохранения Администрации Ленинского района характеризуется следующими показателями:

Финансирование (в млн.руб.):

Год

Муниципальный бюджет

ДМС

ОМС

2004

325 408

30 374

114 370

2005

311 821

32 276

119 259

2006

342 809

32 440

162 817

2007

412 880

36 641

-


1.3 Организационная и функциональная структура

.3.1 Организационная структура

Организационная структура Управления Здравоохранения Администрации Ленинского района является простой линейной структурой. Данная структура образована в результате построения аппарата управления при взаимоподчинённости органов в виде иерархической лестницы. Специалисты, находящиеся на низших уровнях управления находятся в непосредственном подчинении только одного руководителя. Через этого руководителя они связанны с руководителем организации. Таким образом, реализуется принцип единоначалия. Линейные руководители принимают решения и управляют исполнителями. В качестве линейных руководителей Управления здравоохранения выступают начальники отделов.

Трудовые ресурсы (перечень отделов и их состав)

Администрация управления здравоохранения:

1. Начальник управления здравоохранения

. Заместитель начальника управления здравоохранения

. Заместитель начальника управления здравоохранения

Организационно-правовой отдел:

1. Начальник отдела

. Главный специалист

. Старший инспектор

. Главный специалист

. Специалист 1 кат.

. Специалист 1 кат.

Отдел информационно-аналитических работ:

1. Начальник отдела

. Главный специалист

. Главный специалист

. Специалист 1 кат.

Отдел по организации медицинской деятельности:

1. Начальник отдела

. Главный специалист

. Главный специалист

. Ведущий специалист

Отдел экономики:

1. Начальник отдела

. Главный специалист

. Главный специалист

. Главный специалист

. Главный специалист

Отдел по организации медико-социальной помощи матерям и детям:

1. Начальник отдела

. Главный специалист

. Ведущий специалист


Управление Здравоохранения Администрации Ленинского муниципального района осуществляет взаимодействие с внешними организациями. Такими как: службы города, финансовые организации, поставщики.

Госслужбы:

1. Государственный санитарно-эпидемиологический надзор

. Финансовое управление

. Минздрав Московской обл.

. Налоговая инспекция

. Пенсионный фонд

. Фонд социального страхования

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

. Энергоинспекция

Финансовые организации:

1. ЗАО Медицинская Страховая Компания «МАКС-М»

. ОАО «Сберегательный Банк России»

Поставщики мед. оборудования:

1. ООО «Гигасофт»

. ООО «Медпроек - Вита»

. ООО «Стоманторг»

. ООО «Медтехника»

Поставщики медикаментов:

1. ЗАО «Аптека-Холдинг»

. ЗАО «Р-Фарм»

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

1.3.2 Функциональная структура

При функционировании Управления Здравоохранения Администрации Ленинского района осуществляются следующие основные функции управления:

. Контрактация

. Подготовка производства

. Планирование

. Контроль

. Учет и отчетность

. Анализ

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

- Прием пациентов в амбулаториях

Лечение пациентов в стационарах

Оказание скорой медицинской помощи

Организация работ по профилактике заболеваний

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

Определение потенциальных клиентов

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

Функция контрактации выполняется для обеспечения правильного лечения пациентов:

Подготовка договора на оказание платных медицинских и профилактических услуг

Подписание договора на оказание платных медицинских и профилактических услуг

Заполнение амбулаторной карты больного

Выписка рецепта для отпуска лекарственных средств

Составление больничных листов и историй болезней.

При организации работы ЛПУ одну из важнейших ролей играет подготовка производства:

Подготовка документации по лечению болезней

Подготовка документации по применению лекарственных средств

Подготовка по проведению операционного вмешательства

Подготовка оборудование для операционного вмешательства

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

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

Подготовка документации по дезинфекции помещений

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

Разработка планов приема больных в амбулаториях на неделю

Разработка планов лечения больных в стационарах не неделю

Разработка планов операционных вмешательств на неделю

Разработка планов выезда бригад СМП на общественные мероприятия на месяц

Разработка планов по проведению профилактических работ на год

Разработка планов по проведению профилактических работ на месяц

Разработка плавно по проведению дезинфекции на месяц.

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

- Контроль планов приема пациентов в амбулаториях

Контроль планов лечения больных в стационарах

Контроль планов проведения операционных вмешательств

Контроль планов по выезду бригад СМП на общественные мероприятия

Контроль планов по проведению профилактических работ

Контроль плавно по проведению дезинфекции

Функция учёта и отчётности также имеет существенное значение. При реализации этой функции осуществляется:

- Учет приёма пациентов в амбулаториях

Отчет о выполнении планов приема пациентов в амбулаториях

Учет выписки больных из стационара

Отчет о выполнении планов лечения больных в стационарах

Учет проведения операционных вмешательств

Отчет о выполнении планов операционных вмешательств

Учет выезда бригад СМП по вызовам граждан

Отчет о выполнении планов по выезду бригад СМП на общественные мероприятия

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

Отчет о выполнении планов по проведению дезинфекции

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

- Анализ состояния здоровья и заболеваемости жителей района

Анализ и прогнозирование потребности населения в медицинской помощи

Анализ преобладающих заболеваний и обращений пациентов к врачам

Анализ деятельности ЛПУ

Анализ деятельности мед. персонала

Анализ деятельности станции СМП

Анализ эффективности проводимых профилактических работ

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

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

Эксплуатация и ремонт медицинского оборудования

- Поверка средств измерения

- Заказ и прием медицинского оборудования

- Проведении ПНР

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

Анализ рынка оборудования

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

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

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

Проведение открытого конкурса

Заключение договоров на поставку медицинского оборудования

Заключение договоров на ремонт медицинского оборудования

Закрытие договоров

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

Определение потребности в медицинском оборудовании

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

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

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

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

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

Составление планов проведения ПНР

В рамках функции контроля выполняется проверка выполнения планов и графиков:

Контроль выполнения планов списания, медицинского оборудования

Контроль выполнения графиков ремонта и поверки медицинского оборудования

Контроль планов поставки медицинского оборудования

Контроль выполнения планов проведения ПНР

Функция учета обязательна при осуществления поставок и отслеживания выполнения контракта:

Учет списания медицинского оборудования

Учет продолжительности работы медицинского оборудования

Учет выполнения ремонта и поверки медицинского оборудования

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

Учет имеющегося медицинского оборудования

Учет проведенных ПНР

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

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

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

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

Анализ качества ремонтных работ и поверки оборудования

Анализ выполнения ПНР

1.4 Выявление недостатков существующей системы управления «Управления Здравоохранения Администрации Ленинского муниципального района» и предложения по ее усовершенствованию

Серьёзных недостатков в системе управления выявлено не было. Это связанно с тем, что в начале 2004 году было проведено реформирование Управления Здравоохранения, которое позволило устранить существующие недостатки.

На основании анализа системы управления «Управления Здравоохранения Администрации Ленинского муниципального района» были выявлены следующие узкие места в ее работе:

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

не автоматизирована переписка в организации, что может привести к утере важных писем.

связь между ЛПУ и «Управлением Здравоохранения» осуществляется только физически, что увеличивает время доставки необходимых данных

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

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

Предложения по усовершенствованию существующей системы управления «Управления Здравоохранения»

Необходимо обеспечить «Управление Здравоохранения» и ЛПУ района связью между ПЭВМ (внутренние сети и Интернет), что обеспечит обмен информацией в кратчайшие сроки.

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

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

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

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

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

Глава 2. Декомпозиция асу на подсистемы и комплексы задач

2.1 Концепция и цель создания АСУ

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

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

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

Основной вид деятельности «Управления Здравоохранения» - обеспечение функции управления и координации деятельности в сфере охраны здоровья населения.

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

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

2.2 Принципы выделения подсистем

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

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

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

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

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

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

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

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

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

В результате декомпозиции функциональной части АСУ на подсистемы было выделено восемь подсистем:

·        Подсистема финансово-экономического планирования;

·        Подсистема управления закупкой медицинского оборудования;

·        Подсистема учета и отчетности деятельности учреждений здравоохранения района;

·        Подсистема учета и поверки медицинского;

·        Подсистема управления кадрами;

·        Подсистема оказанием медицинских услуг;

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

·        Подсистема бухгалтерского учета.

2.3 Цели и задачи подсистем.

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

2.3.1 Подсистема управления закупкой оборудования

Цель подсистемы: обеспечить своевременное, комплексное и планомерное снабжение ЛПУ необходимым высококачественным оборудованием при минимальных затратах на их закупку, доставку, проведения пуско-наладочных работ.

Задачи подсистемы:

. Определение потребности в медицинском оборудовании на год для нужд ЛПУ

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

. Выбор поставщиков по лотам

. Составление плана поставки оборудования (общий)

. Составление плана поставки оборудования (для Поставщиков)

. Составление плана поставки оборудования (для ЛПУ)

. Составление плана проведения пуско-наладочных работ (общий)

. Составление плана проведения пуско-наладочных работ (для Поставщиков)

. Составление плана проведения пуско-наладочных работ (для ЛПУ)

. Контроль поставки оборудования

. Контроль проведения пуско-наладочных работ

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

·        Подсистема учета и поверки медицинского;

·        Подсистема финансово-экономического планирования.

.3.2 Подсистема финансово - экономического планирования

Цель подсистемы: повысить точность составления планов распределения бюджетных средств, средств ОМС, ДМС.

Задачи подсистемы:

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

. Формирование планов финансирования учреждений здравоохранения по средствам ОМС

. Определение объема услуг по бюджету, ОМС, ДМС и спецсредствам

. Контроль расходования фонда заработной платы

. Составление сметы расхода средств бюджета, фондов ОМС, ДМС

. Контроль использования средств бюджета, фондов ОМС, ДМС

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

·        Подсистема управления закупкой оборудования;

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

·        Подсистема бухгалтерского учета;

·        Подсистема управления оказанием медицинских услуг.

2.3.3 Подсистема учета и отчетности деятельности лечебно-профилактических учреждений (ЛПУ)

Цель подсистемы: повысить точность составления отчетов о деятельности учреждений здравоохранения

Задачи подсистемы:

. Учет деятельности ЛПУ

. Учет деятельности специалистов

. Разработка оперативной информации по работе ЛПУ района

. Разработка оперативной информации по работе специалистов

. Контроль деятельности ЛПУ

. Контроль деятельности специалистов

. Формирование счетов-фактур

. Формирование реестров медицинских услуг

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

·        Подсистема бухгалтерского учета;

·        Подсистема управления оказанием медицинских услуг.

2.3.4 Подсистема учета и поверки медицинского оборудования

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

Задачи подсистемы:

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

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

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

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

. Учет оборудования подлежащего списанию

. Учет оборудования по ЛПУ, по кабинетам

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

·        Подсистема управления закупкой оборудования;

·        Подсистема управления оказанием медицинских услуг.

2.3.5 Подсистема управления кадрами

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

Задачи подсистемы:

. Составление графика обучения и повышения квалификации кадров.

. Контроль выполнения графика обучения и повышения квалификации кадров.

. Составление штатного расписания.

. Формирование графика отпусков.

. Контроль выполнения графика отпусков.

. Анализ текучести кадров.

. Прогнозирование потребности в кадрах на год.

. Расчет численности и профессионального состава кадров.

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

·        Подсистема бухгалтерского учета;

·        Подсистема управления оказанием медицинских услуг.

2.3.6 Подсистема управления оказанием медицинских услуг

Цель подсистемы: повысить эффективность выполнения планов лечебно - профилактической деятельности ЛПУ

Задачи подсистемы:

. Анализ состояние здоровья и заболеваемости жителей района.

. Анализ и прогнозирование потребность населения в медицинской помощи

. Анализ и прогнозирование потребности населения в лекарственной помощи.

. Формирование плана проведения профилактических мероприятий в учреждениях района

. Контроль выполнения плана профилактических мероприятий в учреждениях района

. Контроль состояния лечебно-профилактической деятельности ЛПУ района.

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

·        Подсистема бухгалтерского учета;

·        Подсистема финансово-экономического планирования;

·        Подсистема управления закупкой оборудования;

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

·        Подсистема учета и отчетности деятельности учреждений здравоохранения района;

.3.7 Подсистема управления закупкой медикаментов и расходных материалов

Цель подсистемы: обеспечить своевременное, комплексное и планомерное снабжение ЛПУ необходимым высококачественными медикаментами и расходными материалами при минимальных затратах на их закупку и доставку.

Задачи подсистемы:

. Формирование общей заявки на закупку медикаментов и расходных материалов

. Корректировка общей заявки под годовой бюджет

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

. Выбор поставщиков

. Формирование плана поставки медикаментов и расходных материалов (для МТС, общий)

. Формирование плана поставки медикаментов и расходных материалов (для Поставщиков, по ЛПУ)

. Формирование плана поставки медикаментов и расходных материалов (для ЛПУ, по поставщикам)

. Контроль поставки медикаментов и расходных материалов

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

·        Подсистема финансово-экономического планирования.

·        Подсистема управления оказанием медицинских услуг.

2.3.8 Подсистема бухгалтерского учета

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

Задачи подсистемы:

1. Составление годового финансового плана.

. Составление годового баланса по ЛПУ и учреждениям здравоохранения.

. Учет материальных ценностей.

. Учет основных средств.

. Учет прибыли и затрат.

. Определение дебиторской и кредиторской задолженности.

. Учет расчетов с поставщиками

. Учет денежных средств.

. Расчет затрат по труду и з/п на год.

. Составление и контроль годового плана по труду и з/п.

. Контроль годового финансового план.

. Составление годового балансового отчета.

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

·        Подсистема учета и поверки оборудования;

·        Подсистема финансово-экономического планирования;

·        Подсистема управления оказанием медицинских услуг.

2.4 Требования к видам обеспечения АСУ

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

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

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

Для этого сначала необходимо сформулировать требования к видам обеспечения.

2.4.1 Требования к информационному и лингвистическому обеспечению

Информационное обеспечение - это совокупность единой системы классификация и кодирования технико-экономической информации, унифицированных систем документов и массивов информации, используемых в АСУ.

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

Требования к входным, нормативно-справочным и выходным данным:

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

·        состав входных документов должен обеспечивать потребности всех задач из состава АСУ;

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

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

Для обеспечения рационального использования дискового пространства ЭВМ и повышения скорости обработки информации необходимо использовать системы классификации и кодирования.

Требования к системам классификации и кодирования.

·        При разработке информационного обеспечения должны использоваться локальные классификаторы, разработанные в данной организации - классификаторы несоответствий и т. д. Если придется разрабатывать новый классификатор, то он должен обладать достаточной емкостью и резервом не менее 25%. Кодирование признаков должно быть обосновано;

·        В качестве системы кодирования должна использоваться порядковая, серийная или позиционная система;

·        Не допускается включать в систему кодирования признаки, не относящиеся ко всем объектам;

·        Длина кодов должна быть минимальной;

·        Алфавит кодов для всех кодируемых множеств должен быть одинаков.

2.4.2 Требования к математическому обеспечению

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

В различных подсистемах всей АСУ организации потребуются различные методы и модели для решения задач прогнозирования, оптимизации и распределения. Это будут методы, направленные на решение задач:

·        задачи многокритериального выбора;

·        задачи поиска (оптимизации);

·        методы математической статистики.

Все эти задачи решаются с помощью моделей и методов исследования операций.

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

2.4.3 Требования к программному обеспечению

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

Предъявляются следующие требования:

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

·        автоматизированное рабочее место должно работать под управлением операционной системы не ниже Windows’98;

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

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

·        вновь разрабатываемые программные средства должны быть согласованы с имеющимся фондом алгоритмов и программ;

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

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

2.4.4 Требования к техническому обеспечению

Техническое обеспечение - это комплекс технических средств, предназначенных для обеспечения работы АСУ. Это средства регистрации и передачи данных; средства, предназначенные для решения задач и обработки информации; средства для размножения документов и выдачи информации.

Предъявляются следующие требования:

·        в качестве ПЭВМ должен использоваться IBM-совместимый компьютер;

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

·        для вывода документов на печать необходимо использовать сетевые или локальные принтеры и/или плоттеры;

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

·        обеспечивать возможности сбора, хранения, обработки и использования информации в требуемых объемах;

·        осуществлять в установленные сроки и в необходимых объемах передачу информации между отдельными пользователями;

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

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

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

2.5 Обоснование выбора подсистемы для дипломного проекта

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

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

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

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

Глава 3. Информационное обеспечение решения комплекса задач подсистемы управления закупкой оборудования

3.1 Определение потребности в медицинском оборудовании на год для нужд ЛПУ

Цель: Определить необходимое количество оборудования для обеспечения нужд ЛПУ Ленинского района на год.

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

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

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

Входная информация:

·        Заявки на закупку медицинского оборудования по кабинетам

·        Табель оснащения медицинским оборудованием по кабинетам

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

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник кабинетов ЛПУ

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        zayavka

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed_izm

·        spr_kab

·        oboryd

·        tabel_osn

Заявки на закупку медицинского оборудования по кабинетам


Табель оснащения медицинским оборудованием по кабинетам


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


Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения

Справочник кабинетов ЛПУ

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

Общая заявка на закупку медицинского оборудования для нужд ЛПУ


Пошаговый алгоритм

шаг 1. Вводим год на который составляется Общая заявка

шаг 2. По году определяются все Заявки на закупку присланные в данном году

шаг 3. Выбираем нерассмотренную строку для этого года

шаг 4. Из поля LPU_id получаем наименование ЛПУ приславшего заявку, из поля type_id получаем тип оборудования, из поля model_id получаем модель оборудования, из поля kab_id получаем справочный номер кабинета, из поля date_post выбираем дату когда необходимо поставить оборудование ,из поля pos_mes получаем количество посещений в месяц для данного кабинета, из поля kol получаем количество оборудования которое ЛПУ хочет заказать.

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

шаг 6. Имеется ли оборудования в данном кабинете по Перечню оборудования, по учреждениям? Определяем с помощью LPU_id, type_id, kab_id. Если ответ «да», то переходим на шаг 8, если ответ «нет» - переходим на шаг 7.

шаг 7. Данное оборудование отсутствует в кабинете kol_fakt_neobx = kol_neobx. Переходим на шаг 10.

шаг 8. Из Перечень оборудования, по учреждениям получаем количество имеющегося в данном кабинете данного ЛПУ оборудования kol_fakt

шаг 9. Получаем фактическое необходимое кол-во оборудования: kol_fakt_neobx = kol_neobx - kol_fakt

шаг 10. kol больше либо равно kol_fakt_neobx?. Если ответ «да» - то переходим на шаг 11, иначе переходим на шаг 12.

шаг 11. kol_zakyp = kol_fakt_neobx. Переходим на шаг 13.

шаг 12. kol_zakyp = kol. Переходим на шаг 13.

шаг 13. Добавляем строку в выходной документ из значений LPU_id, type_id, model_id, ed_izm_id, kol_zakyp, cena, date

шаг 14. Все строки всех заявок обработаны? Если ответ «да», то переходим на шаг 15, если ответ «нет», тогда переходим на шаг 3.

шаг 15. Формирование выходного документа

Укрупненная блок-схема решения задачи


Контрольный пример.

Входные данные

Заявки на закупку медицинского оборудования по кабинетам


Табель оснащения медицинским оборудованием по кабинетам


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


Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования

Справочник единиц измерения


Справочник кабинетов ЛПУ

Выходные данные

Общая заявка на закупку медицинского оборудования для нужд ЛПУ


3.2 Определение состава лотов для закупки медицинского оборудования

Цель: Разбить Общую заявку на закупку медицинского оборудования для ЛПУ по лотам для формирования Спецификации медицинского оборудования по лотам.

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

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

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

Входная информация:

·        Общая заявка на закупку медицинского оборудования для ЛПУ

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        ob_zayavka

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed_izm

Общая заявка на закупку медицинского оборудования для нужд ЛПУ


Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Выходная информация: В результате решения данной задачи формируется документ «Спецификация медицинского оборудования для нужд ЛПУ по лотам», а так же полученная информация заносится в таблицу “spec_lot”. Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

Спецификация медицинского оборудования для нужд ЛПУ по лотам

 

Пошаговый алгоритм

шаг 1. Вводим год на который составляется Спецификация медицинского оборудования по лотам

шаг 2. По году определяется Общая заявка на закупку медицинского оборудования для ЛПУ

шаг 3. Выбираем нерассмотренную строку для этого года

шаг 4. Выбираем из Общей заявки данные id_LPU, id_type, id_model, id_ed, kol_zakyp, cena, date

шаг 5. Имеется ли в выходном документе строки со значением поля lot_id и type_id = type_id из общей заявки? Если «да» переходим на шаг 6, если «нет» переходим на шаг 7.

шаг 6. Присваиваем выбранной строке lot_id из спецификации. Переходим на шаг 8.

шаг 7. Присваиваем выбранной строке уникальный номер lot_id.

шаг 8. Добавляем строку в выходной документ из значений lot_id, id_obl, id_LPU, id_type, id_model, id_ed, kol_zakyp, cena, date

шаг 9. Все строки общей заявки обработаны? Если ответ «да» переходим на шаг 3, если ответ «нет» переходим на шаг 10.

шаг 10. Формирование выходного документа.

 

Укрупненная блок-схема решения задачи


Контрольный пример

Входная информация

Общая заявка на закупку медицинского оборудования для нужд ЛПУ


Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Выходная информация


3.3 Выбор поставщиков по лотам

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

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

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

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

Входная информация:

·        Спецификация медицинского оборудования для нужд ЛПУ по лотам

·        Справочник типов медицинского оборудования

·        Справочник поставщиков

·        Критерии оценки поставщиков

·        Предложение на конкурс от поставщика

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        spec_lot

·        spr_type

·        spr_post

·        krit_table

·        tender_post

Спецификация медицинского оборудования для нужд ЛПУ по лотам


Справочник типов медицинского оборудования


Справочник поставщиков


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


Таблица нормированных весов критериев выбора поставщиков

Выходная информация: В результате решения данной задачи формируется документ «Список выбранных поставщиков к лоту №___», а так же полученная информация заносится в таблицу tender_post. Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

Список поставщиков к лоту


Пошаговый алгоритм

шаг 1. Выбираем лот.

шаг 2. Выбор лота lot_id и оборудования id_str для оценки поставщиков post_id

шаг 3. Ввод данных в анкету поставщика post_id по выбранному лоту lot_id

шаг 4. По всем поставщикам для данного оборудования составлена анкета? Если «да» - переходим на шаг 5, если нет переходим на шаг 3.

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

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

шаг 7. Требуется ли проводить выбор поставщиков post_id по другим лотам? Если ответ «да», тогда переходим на шаг 2, если ответ «нет» переходим на шаг 8.

шаг 8. Получение итогового балла по каждому поставщику для каждого лота.

шаг 9. Требуется ли сохранить выходной документ с выбранным лотом? Если ответ «да», тогда переходим на шаг 10, если ответ «нет» - конец задачи.

шаг 10. Выбор лота lot_id, для печати выбранных поставщиков post_id

шаг 11. Формирование выходного документа. Переходим на шаг 9.

Укрупненная блок-схема решения задачи


Входная информация

Спецификация медицинского оборудования для нужд ЛПУ по лотам


Справочник типов медицинского оборудования

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

Справочник поставщиков


Таблица нормированных весов критериев выбора поставщиков

Выходная информация

Список поставщиков к лоту

3.4 Составление плана поставки оборудования (общий)

Цель: Составить из планов поставки оборудования к контракту, общий план поставки медицинского оборудования

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

Периодичность и область применения: Данный документ составляется раз в год, в начале года после проведения тендера. В дальнейшем служит для отслеживания поставки оборудования во все ЛПУ по всем Поставщикам

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

Входная информация:

·        План поставки оборудования к контракту

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        spr_kontr

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования к контракту

Выходная информация: В результате решения данной задачи формируется документ «План поставки мед. оборудования (для МТС, общий)», а так же полученная информация заносится в таблицу plan_postavki. Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

План поставки оборудования (общий)


Пошаговый алгоритм

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

шаг 2. На основании введенного года определяем необходимые Планы поставки оборудования к контракту

шаг 3. Выбираем нерассмотренную строку для текущего года и получаем данные полей: kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_post

шаг 4. Добавляем полученные данные(kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_post) в выходную форму

шаг 5. Все строки всех Планов поставки оборудования к контракту обработаны? Если ответ «да» переходим на шаг 6, иначе переходим на шаг 3.


Укрупненная блок-схема решения задачи


Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования к контракту

Выходная информация

План поставки оборудования (общий)


3.5 Составление плана поставки оборудования (для Поставщиков)

Цель: Составить из общего плана поставки медицинского оборудования План поставки медицинского оборудования (для Поставщиков)

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

Периодичность и область применения: Данный документ составляется раз в год, в начале года после проведения тендера. В дальнейшем служит для отслеживания поставщиком поставки оборудования во все ЛПУ.

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

Входная информация:

·        План поставки оборудования (общий)

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_post

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования (общий)


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

План поставки медицинского оборудования (для Поставщиков)


Пошаговый алгоритм

шаг 1. Вводим год (date) на который составляется план поставки.

шаг 2. На основании введенного года (date), определяем поставщиков (post_id), осуществляющих поставку в этом году.

шаг 3. Выбираем поставщика из полученного списка.

шаг 4. Выбираем нерассмотренную строку для текущего года (date) и поставщика (post_id), получаем данные полей: kontr_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_post

шаг 5. Добавляем полученные данные (kontr_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_post) в выходную форму

шаг 6. Все строки всех Планов поставки оборудования к контракту обработаны? Если ответ «да» - переходим к шагу 7, если ответ «нет» на шаг 4.

шаг 7. Формирование выходного документа

Укрупненная блок-схема решения задачи

Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования (общий)


Выходная информация

План поставки медицинского оборудования (для Поставщиков)

.6 Составление плана поставки оборудования (ЛПУ)

Цель: Составить из общего плана поставки медицинского оборудования План поставки медицинского оборудования (для ЛПУ)

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

Периодичность и область применения: Данный документ составляется раз в год, в начале года после проведения тендера. В дальнейшем служит для отслеживания ЛПУ поставки оборудования от всех Поставщиков.

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

Входная информация:

·        План поставки оборудования (общий)

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_post

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования (общий)


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

План поставки медицинского оборудования (для ЛПУ)

 

Пошаговый алгоритм

шаг 1. Вводим год (date) на который составляется план поставки.

шаг 2. На основании введенного года (date), определяем ЛПУ (LPU_id), в которые осуществляется поставка в этом году.

шаг 3. Выбираем ЛПУ из полученного списка.

шаг 4. Выбираем нерассмотренную строку для текущего года (date) и ЛПУ (LPU_id), получаем данные полей: kontr_id, post_id, type_id, model_id, ed_izm_id, kol, date_post.

шаг 5. Добавляем полученные данные(kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_post) в выходную форму.

шаг 6. Все строки всех Планов поставки оборудования к контракту обработаны? Если ответ «да» - переходим к шагу 7, если ответ «нет» на шаг 4.

шаг 7. Формирование выходного документа

Укрупненная блок-схема решения задачи


Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки мед. оборудования (для МТС, общий)


Выходная информация

План поставки медицинского оборудования (для Поставщиков)


3.7 Составление плана проведения пуско-наладочных работ (общий)

Цель: Составить из планов проведения ПНР к контракту, общий план проведения ПНР

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

Периодичность и область применения: Данный документ составляется раз в год, в начале года после проведения тендера. В дальнейшем служит для контроля проведения ПНР во всех ЛПУ по всем Поставщикам

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

Входная информация:

·        План проведения ПНР к контракту

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_pnr

·        plan_pnr_ob

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков

План проведения ПНР к контракту

Выходная информация: В результате решения данной задачи формируется документ «Плана проведения ПНР (для МТС, общий)», а так же полученная информация заносится в таблицу plan_PNR. Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

Плана проведения ПНР (для МТС, общий)


Пошаговый алгоритм

шаг 1. Вводим год (date) на который составляется общий План проведения ПНР

шаг 2. На основании введенного года (date) определяем необходимые Планы проведения ПНР к контракту

шаг 3. Выбираем нерассмотренную строку для текущего года и получаем данные полей: kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_begin_PNR, date_end_PNR

шаг 4. Добавляем полученные данные(kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol,

date_PNR_n, date_PNR_o) в выходную форму

шаг 5. Все строки всех Планов проведения ПНР к контракту обработаны? Если ответ «да» переходим к шагу 6, если ответ «нет» переходим к шагу 3.

шаг 6. Формирование выходного документа

Укрупненная блок-схема решения задачи

 

Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План проведения ПНР к контракту

Выходная информация

Плана проведения ПНР (общий)

3.8 Составление плана проведения пуско-наладочных работ (для Поставщиков)

Цель: Составить из общего Плана проведения ПНР - План проведения ПНР (для Поставщиков)

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

Периодичность и область применения: Данный документ составляется раз в год, в начале года после проведения тендера. В дальнейшем служит для контроля проведения ПНР Поставщиками во всех ЛПУ

Технико-экономическая эффективность: Автоматизированное составление План проведения ПНР (для Поставщиков) существенно экономит людские и временные ресурсы, т.к. позволяет составить общий документ в кратчайшие сроки без использования бумажных носителей.

Входная информация:

·        План проведения ПНР (общий)

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_pnr

·        plan_pnr_ob

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


Плана проведения ПНР (общий)


Выходная информация: В результате решения данной задачи формируется документ «Плана проведения ПНР (для Поставщиков)». Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

План проведения ПНР (для Поставщиков)

Пошаговый алгоритм

шаг 1. Вводим год (date) на который составляется план ПНР

шаг 2. На основании введенного года (date), определяем поставщиков (post_id), осуществляющих ПНР в этом году

шаг 3. Выбираем поставщика из полученного списка

шаг 4. Выбираем нерассмотренную строку для текущего года (date) и поставщика (post_id), получаем данные полей: kontr_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_PNR_n, date_PNR_o.

шаг 5. Добавляем полученные данные(kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_PNR_n, date_PNR_o) в выходную форму

шаг 6. Все строки всех Планов проведения ПНР к контракту обработаны? Если ответ «да» - переходим к шагу 7, иначе переходим к шагу 4.

шаг 7. Формирование выходного документа

Укрупненная блок-схема решения задачи

 

Контрольный пример.

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


Плана проведения ПНР (общий)

Выходная информация

План проведения ПНР (для Поставщиков)

3.9 Составление плана проведения пуско-наладочных работ (для ЛПУ)

Цель: Составить из общего Плана проведения ПНР - План проведения ПНР (для ЛПУ)

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

Периодичность и область применения: Данный документ составляется раз в год, в начале года после проведения тендера. В дальнейшем служит для контроля со стороны ЛПУ за выполнением ПНР Поставщиками

Технико-экономическая эффективность: Автоматизированное составление План проведения ПНР (для ЛПУ) существенно экономит людские и временные ресурсы, т.к. позволяет составить общий документ в кратчайшие сроки без использования бумажных носителей.

Входная информация:

·        План проведения ПНР (общий)

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_pnr

·        plan_pnr_ob

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


Плана проведения ПНР (общий)


Выходная информация: В результате решения данной задачи формируется документ «Плана проведения ПНР (для ЛПУ)». Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

План проведения ПНР (для ЛПУ)


Пошаговый алгоритм

шаг 1. Вводим год (date) на который составляется план ПНР

шаг 2. На основании введенного года (date), определяем ЛПУ (lpu_id), в которых проводятся ПНР в этом году

шаг 3. Выбираем ЛПУ из полученного списка

шаг 4. Выбираем нерассмотренную строку для текущего года (date) и ЛПУ (lpu_id), получаем данные полей: kontr_id, post_id, type_id, model_id, ed_izm_id, kol, date_PNR_n, date_PNR_o.

шаг 5. Добавляем полученные данные(kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_PNR_n, date_PNR_o) в выходную форму

шаг 6. Все строки всех Планов проведения ПНР к контракту обработаны? Если ответ «да» переходим к шагу 4, если ответ «нет» переходим к шагу 7.

шаг 7. Формирование выходного документа

Укрупненная блок-схема решения задачи


Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков

Плана проведения ПНР (общий)

Выходная информация

3.10 Контроль поставки оборудования

Цель: Определить отклонения в поставке оборудования по дате, кол-ву и сформировать Претензию к поставщику (поставка)

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

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

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

Входная информация:

·        План поставки медицинского оборудования (общий)

·        Данные о поставке оборудования

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_post

·        post_otkl

·        fakt_postavki

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования (общий)

Данные о поставке оборудования


Выходная информация: В результате решения данной задачи формируется документ «Претензии к поставщику (поставка)», а так же выходные данные записываются в файл pretenz_post. Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

Претензии к поставщику (поставка)

Пошаговый алгоритм

шаг 1. Вводим дату (date) на которую составляется Претензия к поставщику

шаг 2. На основании введенного года (date) определяем необходимый План поставки оборудования (общий)

шаг 3. Получаем данные полей: kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_post

шаг 4. Выбираем нерассмотренного поставщика post_id

шаг 5. Находим в Данных о поставке поставщика post_id

шаг 6. Получаем данные kontr_id, type_id, model_id, ed_izm_id, kol_fakt, date_fakt

шаг 7. Выбираем нерассмотренное оборудование из общего Плана поставке медицинского оборудования и Данных о поставке

шаг 8. Находим расхождения в кол-ве поставки и дате поставке kol_pret = kol - kol_fakt, date_post_pret = date_post - date_fakt

шаг 9. Есть ли отклонения для данного поставщика? kol_pret <> 0, date_post_pret <> 0. Если ответ «да» переходим к шагу 10, если ответ «нет» переходим к шагу 11.

шаг 10. Добавляем все строки для данного поставщика в выходной документ.

шаг 11. Всё оборудование для данного поставщика рассмотрено? Если ответ «да» переходим на шаг 12, если ответ «нет» переходим на шаг 7.

шаг 12. Для всех поставщиков была произведена проверка на отклонения? Если ответ «да» переходим на шаг 4, иначе переходим на шаг 13.

шаг 13. Формирование выходного документа

Укрупненная блок-схема решения задачи


Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План поставки оборудования (общий)

 

Данные о поставке оборудования

Выходная информация

Претензии к поставщику (поставка)


3.11 Контроль проведения пуско-наладочных работ

Цель: Определить отклонения в проведении ПНР оборудования по дате и сформировать Претензию к поставщику (ПНР)

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

Выходной документ формируется на основании Плана проведении пуско-наладочных работ, Данных о начале пуско-наладочных работ и Отчета о проведении пуско-наладочных работ, путём нахождения расхождений между фактическими и плановыми сроками начала и окончания проведения пуско-наладочных работ.

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

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

Входная информация:

·        План проведения ПНР (общий)

·        Данные о начале ПНР

·        Отчет о проведении ПНР

·        Справочник ЛПУ

·        Справочник типов медицинского оборудования

·        Справочник моделей медицинского оборудования

·        Справочник единиц измерения

·        Справочник поставщиков

Информация из вышеуказанных документов заносится и (или) хранится в файлах:

·        plan_PNR

·        begin_PNR

·        otchet_PNR

·        spr_lpu

·        spr_type

·        spr_model

·        spr_ed

·        spr_post

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков


План проведения ПНР (общий)


Данные о начале ПНР

Отчет о проведенных ПНР


Выходная информация: В результате решения данной задачи формируется документ «Претензии к поставщику (ПНР)», а так же выходные данные записываются в файл pretenz_PNR. Документ представляется на листа А4 и является систематизированным, текстово-цифровым.

Претензии к поставщику (ПНР)

Пошаговый алгоритм

шаг 1. Вводим дату, на которую составляется Претензия к поставщику

шаг 2. На основании введенного года определяем все Данные о начале ПНР

шаг 3. Получаем данные полей: kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_n_fakt

шаг 4. На основании введенного года определяем все Отчеты о проведенных ПНР

шаг 5. Получаем данные полей: kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_o_fakt

шаг 6. Выбираем нерассмотренного поставщика post_id

шаг 7. Для этого поставщика получаем данные из Плана проведения ПНР

kontr_id, post_id, LPU_id, type_id, model_id, ed_izm_id, kol, date_pnr_n, date_pnr_o

шаг 8. Выбираем нерассмотренное оборудование из Отчета о проведенных ПНР

шаг 9. Для данного оборудования выбираем данные: date_pnr_n, date_pnr_o, date_n_fakt, date_o_fakt

шаг 10. Находим расхождения в дате начала ПНР и дате окончания ПНР: date_pret_begin_PNR = date_pnr_n - date_n_fakt; date_pret_end_PNR = date_pnr_o - date_o_fakt

шаг 11. Есть ли отклонения для данного поставщика? date_pret_begin_PNR <> 0 date_pret_end_PNR <> 0. Если овеет «да» переходим на шаг 12, иначе переходим на шаг 13.

шаг 12. Добавляем все строки для данного поставщика в выходной документ

шаг 13. Всё оборудование для данного поставщика рассмотрено? Если ответ «да» - переходим на шаг 14, если ответ «нет» переходим на шаг 8.

шаг 14. Для всех поставщиков была произведена проверка на отклонения? Если ответ «да», тогда переходим на шаг 15, иначе переходим на шаг 6.

шаг 15. Формирование выходного документа

Укрупненная блок-схема решения задачи

Контрольный пример

Справочник ЛПУ


Справочник типов медицинского оборудования


Справочник моделей медицинского оборудования


Справочник единиц измерения


Справочник поставщиков

План проведения ПНР (общий)


Данные о начале ПНР

Отчет о проведенных ПНР


Выходная информация

Претензии к поставщику (ПНР)

Глава 4. Проектирование концептуальной модели базы данных

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

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

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

Цель подсистемы: обеспечить своевременное, комплексное и планомерное снабжение ЛПУ необходимым высококачественным оборудованием при минимальных затратах на их закупку, доставку, проведения пуско-наладочных работ.

Задачи подсистемы:

. Определение потребности в медицинском оборудовании на год для нужд ЛПУ

. Формирование спецификации медицинского оборудования для нужд ЛПУ по лотам

. Выбор поставщиков по лотам

. Составление плана поставки оборудования (общий)

. Составление плана поставки оборудования (для Поставщиков)

. Составление плана поставки оборудования (для ЛПУ)

. Составление плана проведения пуско-наладочных работ (общий)

. Составление плана проведения пуско-наладочных работ (для Поставщиков)

. Составление плана проведения пуско-наладочных работ (для ЛПУ)

. Контроль поставки оборудования

. Контроль проведения пуско-наладочных работ

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

4.2.1 Нормализация исходной группы данных

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

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

Определения.

1. Отношение по сути сама таблица БД.

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

.Атрибут - поименованная характеристика сущности. Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: Красный, Синий, Банановый, Белая ночь и т.д.

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

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

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

1, 2, 3 нормальные формы.

Первая нормальная форма - значения всех атрибутов отношения атомарны.

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

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

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

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

Документы:

·        Заявки на закупку медицинского оборудования по кабинетам

Данная таблица находится в третьей нормальной форме, т.к. все значения атомарные и поля 3,4,5,6,7,8 зависят от составного уникального индекса, состоящего из полей 1, 2 и года из поля типа DATE номер 9.

·        Общая заявка на закупку медицинского оборудования для ЛПУ


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


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

·       
Спецификация медицинского оборудования для нужд ЛПУ по лотам

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


Таким образом получаем таблицу в 3 нормальной форме.

·        План поставки оборудования к контракту


Для нормализации данной таблицы разобьем ее на 3 отдельны таблицы

. Справочник контрактов (в которой будет так же содержаться другие данные о данном договоре):


Данная таблица приведена к 3 нормально форме

2. ТЗ на поставку к контракту (данные о поставляемом оборудовании)


Данная таблица приведена к 3 нормально форме

. План поставок к контракту


Данная таблица приведена к 3 нормально форме

·        План проведения ПНР оборудования к контракту


Данная таблица приведена к 3 нормально форме

·        План проведения ПНР (общий)

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

·       
Данные о поставке оборудования


Данная таблица приведена к 3 нормально форме

·        Данные о начале ПНР


Данная таблица приведена к 3 нормально форме

·        Отчет о проведенных ПНР


Данная таблица приведена к 3 нормально форме

·        Претензии к поставщику (ПНР)

 

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

Претензии к поставщику (ПНР)


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

·        Список выбранных поставщиков


Данная таблица приведена к 3 нормально форме

·        Таблица нормированных весов критериев выбора поставщиков


Данная таблица приведена к 3 нормально форме

Справочники:

·        Справочник ЛПУ

·       
Справочник Кабинетов


·        Справочник единиц измерения


·        Справочник поставщиков


·        Список оборудования по учреждениям, находящегося в эксплуатации


·        Справочник типов оборудования


·        Справочник моделей оборудования


Табель оснащения медицинским оборудованием


Все приведенные выше справочники уже приведены к 3 нормальной форме.

4.2.2 Системы классификации и кодирования, используемые при решении задач

Классифика́тор, или классификационная схема (от лат. classis - разряд и facere - делать) - систематизированный перечень наименований объектов, каждому из которых в соответствие дан уникальный код. Классификация объектов производится согласно правилам распределения заданного множества объектов на подмножества (классификационные группировки) в соответствии с установленными признаками их различия или сходства. Применяется в Автоматизированных системах управления и обработке информации. Классификатор является стандартным кодовым языком документов, финансовых отчётов и автоматизированных систем.

Виды классификаторов:

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

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

·              межгосударственные - классификаторы, используемые в рамках экономических союзов и других межгосударственных объединений: например, классификаторы используемые в ЕС, СНГ и т. д.

·              национальные, или межотраслевые - классификаторы, используемые в пределах государства. Не должны противоречить международным классификаторам;

·              отраслевые - классификаторы, используемые в рамках одной отрасли;

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

Методы классификации:

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

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

·              оправданная глубина;

·              обеспечение возможности решения комплекса задач различного уровня;

·              возможность расширения множества классифицируемых объектов и внесения необходимых изменений в структуры классификации;

·              обеспечение возможности сопряжения с другими классификациями однородных объектов;

·              обеспечение простоты ведения классификатора.

Иерархический метод классификации.

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

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

Требования к классификатору, построенному на иерархическом методе классификации:

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

2.      На каждой ступени классификатора для разделения вышестоящей группировки должен использоваться только один признак.

.        Сумма подмножества всегда должна давать делимое множество объектов; не должна оставаться часть объектов, не вошедших в состав классификационной группировки.

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

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

Фасетный метод классификации.

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

К классификатору, построенному на фасетном методе классификации, предъявляются следующие требования:

1.      Должен соблюдаться принцип непересекаемости фасета, то есть состав признаков одного фасета не должен повторяться в других фасетах этого же класса;

2.      В состав классификатора должны быть включены только такие фасеты и признаки, которые необходимы для решения конкретных задач.

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

Недостатками фасетного метода классификации являются неполное использование емкости, нетрадиционность и иногда сложность применения.

Методы кодирования в классификаторах.

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

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

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

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

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

Использование кодов помогает:

·        Представить информацию в виде, удобном для работы на ЭВМ.

·        Экономия места для записи.

·        Дополнение исходной информации.

·        Однозначно идентифицировать объекты кодирования.

При заработке кодов необходимо учитывать требования:

·        Алфавит только цифровой.

·        Основание кода - минимальное.

·        Кодовое обозначение должно обеспечивать резерв.

Система кодирования должна соответствовать единой системе классификации кодирования и соответствующим регламентирующим материалам и ГОСТам

4.2.3 Структура концептуальной модели

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

Между каждой парой информационных объектов связь может отсутствовать или быть одного из типов 1:1, 1:N или M:N. Если связь существует и имеет тип М:N, то в концептуальной модели данных должно присутствовать отношение, в котором используются оба ключевых атрибутов этих сущностей (если такого отношения нет, то его необходимо добавить). Если существующая связь имеет тип 1:N, то в концептуальной модели данных должно присутствовать отношение, в котором присутствуют оба ключевых атрибута этих сущностей, а ключом этого нового отношения будет являться только один атрибут (тот, на стороне которого стоит «N»).

1.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4.3 Проектирование структуры базы данных

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

При преобразовании структуры концептуальной модели в структуру выбранной СУБД производим следующие действия:

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

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

.        Учитываем ограничения выбранной СУБД:

-        ограничение на число отношений (надо выбрать другую СУБД),

-        ограничение на длину строки таблицы (таблицу надо разделить на две, а ключ установить в обе таблицы),

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

         ограничение на максимальную длину атрибута (нужно данный атрибут разделить на два атрибута),

         ограничение на тип атрибута (надо изменить тип атрибута).

4.3.2 Структура базы данных

KONTR_OBORYD

NAME

DATA TYPE

SIZE

PK

OBOR_ID

NUMBER

 

*

KONTR_ID

NUMBER

 

*

NUMBER

 

 

MODEL_ID

NUMBER

 

 

ED_IZM_ID

NUMBER

 

 

KOL

NUMBER

 

 

OBORYD

NAME

DATA TYPE

SIZE

PK

INV_NOMER

NUMBER

 

*

ZAV_NOMER

NUMBER

 

 

LPU_ID

NUMBER

 

 

KAB_ID

NUMBER

 

 

TYPE_ID

NUMBER

 

 

MODEL_ID

NUMBER

 

 

ED_IMZ_ID

NUMBER

 

 

DATE_POST

DATE

 

 

DOGOVOR_ID

NUMBER

 

 

GOD_VIPUSKA

DATE

 

 

POVERKA_LAST_DATE

DATE

 

 

POVERKA_PERIOD

NUMBER

 

 

OB_ZAYAVKA - VIEW

NAME

DATA TYPE

SIZE

PK

ID_STR

NUMBER

 

*

LPU_ID

NUMBER

 

 

TYPE_ID

NUMBER

 

 

MODEL_ID

NUMBER

 

 

ED_IZM_ID

NUMBER

 

 

KOL

NUMBER

 

 

MODEL_STOIM

FLOAT

126

 

STOIM

FLOAT

126

 

DATE_POST

DATE

 

 

PLAN_POST

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

OBOR_ID

NUMBER

 

*

DATE_POST

DATE

 

 

SPEC_LOT

NAME

DATA TYPE

SIZE

PK

ID_STR

NUMBER

 

*

LOT_ID

NUMBER

 

 

LPU_ID

NUMBER

 

 

TYPE_ID

NUMBER

 

 

MODEL_ID

NUMBER

 

 

ED_IZM_ID

NUMBER

 

 

KOL

NUMBER

 

 

MODEL_STOIM

FLOAT

126

 

STOIM

FLOAT

126

 

DATE_POST

DATE

 

 

SPR_ED_IZM

NAME

DATA TYPE

SIZE

PK

ED_IZM_ID

NUMBER

 

*

ED_IZM_SOKR

VARCHAR2

100

 

ED_IZM_OPIS

VARCHAR2

100

 

ED_IZM_DISK

VARCHAR2

100

 

SPR_KAB

NAME

DATA TYPE

SIZE

PK

KAB_ID

NUMBER

 

*

KAB_NAME

VARCHAR2

100

 

SPR_KONTR

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

POST_ID

NUMBER

 

 

LPU_ID

NUMBER

 

 

DATE_KONTR

DATE

 

 

SPR_LPU

NAME

DATA TYPE

SIZE

PK

LPU_ID

NUMBER

 

*

LPU_NAME

VARCHAR2

100

 

LPU_ADDR

VARCHAR2

255

 

LPU_TEL

VARCHAR2

255

 

SPR_MODEL

NAME

DATA TYPE

SIZE

PK

MODEL_ID

NUMBER

 

*

TYPE_ID

NUMBER

 

 

MODEL_NAME

VARCHAR2

255

 

MODEL_STOIM

FLOAT

126

 

ED_IZM_ID

NUMBER

 

 

SPR_POST

NAME

DATA TYPE

SIZE

PK

POST_ID

NUMBER

 

*

POST_NAME

VARCHAR2

255

 

POST_REKV

VARCHAR2

255

 

POST_ADDR

VARCHAR2

255

 

POST_TEL

VARCHAR2

100

 

POST_DATE_F_KONTR

DATE

 

 

POST_KOL_PRET

NUMBER

 

 

SPR_TYPE

NAME

DATA TYPE

SIZE

PK

TYPE_ID

NUMBER

 

*

TYPE_NAME

VARCHAR2

100

 

TABEL_OSN

NAME

DATA TYPE

SIZE

PK

TYPE_ID

NUMBER

 

*

KAB_ID

NUMBER

 

*

P_250

NUMBER

 

 

P_500

NUMBER

 

 

P_MAX

NUMBER

 

 

ZAYAVKA

NAME

DATA TYPE

SIZE

PK

LPU_ID

NUMBER

*

NPP

NUMBER

 

*

KAB_ID

NUMBER

 

 

POS_MES

NUMBER

 

 

TYPE_ID

NUMBER

 

 

MODEL_ID

NUMBER

 

 

ED_IZM_ID

NUMBER

 

 

KOL

NUMBER

 

 

DATE_POST

DATE

 

*

BEGIN_PNR

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

OBOR_ID

NUMBER

 

*

DATE_N_FAKT

NUMBER

 

 

OTCH_PNR

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

OBOR_ID

NUMBER

 

*

DATE_N_FAKT

NUMBER

 

 

OTV

VARCHAR2

255


PLAN_PNR

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

OBOR_ID

NUMBER

 

*

DATE_PNR_N

DATE

 

 

DATE_PNR_O

DATE



POST_FAKT

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

OBOR_ID

NUMBER

 

*

KOL_FAKT

NUMBER

 

 

DATE_FAKT

DATE



POST_FAKT

NAME

DATA TYPE

SIZE

PK

KONTR_ID

NUMBER

 

*

OBOR_ID

NUMBER

 

*

KOL_FAKT

NUMBER

 

 

DATE_FAKT

DATE



TENDER_POST

NAME

DATA TYPE

SIZE

PK

POST_ID

NUMBER

 

*

LOT_ID

NUMBER

 

*

EST

NUMBER

 

 

KRIT_TABLE

NAME

DATA TYPE

SIZE

PK

TIP

NUMBER


*

CENA

NUMBER

 


OHVAT

NUMBER

 


PNR

NUMBER

 

 

HISTORY

NUMBER

 

 

PROBLEM

NUMBER

 

 

PROBLEM_TYPES

NUMBER

 

 

FREQ

NUMBER

 

 

W

NUMBER

 

 

W1

NUMBER

 



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

5.1 Схема взаимосвязи меню и программных модулей

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

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

Справочники:

§    Справочник ЛПУ

§  Справочник типов оборудования

§  Справочник моделей оборудования

§  Справочник единиц измерения

§  Справочник кабинетов

§  Табель оснащения

§  Справочник поставщиков

Входные документы:

§    Заявки от ЛПУ

§  Перечень оборудования в ЛПУ

§  Справочник контрактов

§  Техническое задание к контрактам

§  План поставки оборудования к контракту

§  План ПНР к контракту

§  Данные о поставке оборудования

§  Данные о начале ПНР

§  Отчет о проведенных ПНР

Выходные документы:

§    Общая заявка

§  Спецификация медицинского оборудования по лотам

§  Выбор поставщиков (Тендер)

§  План поставки оборудования (общий)

§  План поставки оборудования (по ЛПУ)

§  План поставки оборудования (по поставщикам)

§  План проведения ПНР (общий)

§  План проведения ПНР (по ЛПУ)

§  План проведения ПНР (по поставщикам)

§  Претензии к поставщику (поставка)

§  Претензии к поставщику (ПНР)

Настройки:

§    Доступ к справочникам

§  Отключение от БД

§  Подключение к БД

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

Доступ к входным документам и справочникам ограничен. Изменения в справочники вносятся по согласования с начальником отдела и зам. начальника управления. Внесением изменений и обновлений данных занимается Администратор Баз Данных.

Начальные входные документы получаются из других ЛПУ и не требуют редактирования.

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

5.2 Структура программного продукта

Программное обеспечение (ПО) - это совокупность программ для реализации целей и задач АСУ и обеспечения функционирования комплекса технических средств АСУ.

Автоматизированное рабочее место должно работать под управлением операционной системы не ниже Microsoft Windows 2000 SP4. Имеющих в своем составе Microsoft Framework 2 и Java от Sun Microsystems.

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

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

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

5.3 Инструкция пользователю

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

1. После запуска программы откроется главное окно:


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


. Откроется окно для формирования Плана поставки. Для того что бы сформировать план поставки, нам необходимо выбрать ЛПУ. Это можно сделать двумя способами. Ввести код ЛПУ или выбрать ЛПУ из справочника. Пойдем вторым путем и нажмем кнопку «…» рядом с полем для ввода кода.


. Откроется окно справочника ЛПУ. В этом окне требуется выбрать ЛПУ и нажать кнопку ОК (или 2 раза ЛКМ по нужному ЛПУ), выберем Видновскую Районную Больницу.


5. Мы вернулись к предыдущему окну, но поле для ввода кода ЛПУ будет заполнено необходимым нам кодом. Для формирования Плана Поставки необходимо нажать кнопку сформировать.


. Для сохранения данных нажмите кнопку Сохранить. Таблица будет сохранена в папке с программой в формате .html. Что бы открыть данный файл используйте стандартный браузер ОС.


. Для закрытия программы нажмите кнопку закрыть, а в главном меню программы нажмите Х, в правом верхнем углу.

Описание действий при выборе поставщиков.

1. Из меню Выходные таблицы выберите пункт Выбор Поставщиков (тендер)


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

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


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

Что бы привязать поставщика выбранному лоту требуется его выбрать в левой таблице и нажать кнопку «Добавить». Для того что бы удалить поставщика из Списка поставщиков «привязанных» к данному лоту требуется нажать кнопку «Удалить».

Если какого либо поставщика не хватает, нажмите кнопку «Добавить поставщика».

4. Для добавления поставщика в справочник поставщиков нажмите на кнопку «+»


. В появившейся новой строке заполните все необходимые поля, при этом поле «Номер пост.» (Номер поставщика), должно быть уникально. Советуется заполнять данное поле по порядку. После заполнения нажмите кнопку «V» и закрыть. Что бы поставщик появился в списке поставщиков в окне «Список поставщиков» при «привязывании» поставщиков к лоту, после добавления в справочник нового поставщика, требуется закрыть окно «Добавления поставщика к выбранному лоту» и открыть его заново следуя пункту 2.

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


. Для начала выбора поставщиков по лоту, выберите в верхней таблице необходимый лот, после чего нажмите кнопку «Выбор поставщиков для лота №___».

8. Заполните все пункты анкеты для поставщика (Название поставщика и номер лота, Вы можете видеть в верхней части окна). После заполнения анкеты нажмите кнопку «Принять, следующий поставщик».

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

9. В открывшемся окне выберите необходимы № лота в верхней части окна.

10. Для сохранения результатов в файл, нажмите кнопку «Сохранить результаты» и выберите папку куда вам требуется сохранить результаты выбора. Так же вы можете открыть окно сохранения из окна описанного в пункте 1. Для завершения работы с программой вернитесь к главному окну программы и нажмите кнопку «выход».

Глава 6. Техническое обеспечение асу управления здравоохранения администарции ленинского муниципального района

6.1 Требования к ЛВС

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

Управление Здравоохранения Администрации Ленинского района (далее Управление Здаровоохранения) специализируется на управлении и координации деятельности ЛПУ в сфере охраны здоровья населения.

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

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

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

При проектировании локальной вычислительной сети (ЛВС) можно выделить следующие основные этапы:

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

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

разработка средств обеспечения отказоустойчивости и надёжности.

6.1.1 Общие требования к сети

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

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

·              организация печати со всех рабочих мест (в случае необходимости);

·              защита локальной сети от несанкционированного доступа из сети Интернет;

·              обеспечение отказоустойчивости серверов во время падения напряжения или отказа оборудования;

·              обеспечение сохранности данных, хранящихся на серверах, и защиты их от искажений;

·              разграничение прав доступа в рамках локальной сети;

·              организация доступа в Интернет со всех компьютеров;

·              организация доступа к БД из внешней сети (интернета);

·              обеспечение автоматического конфигурирования настроек TCP/IP;

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

6.1.2 Требования к программному обеспечению

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

офисные приложения (Microsoft Office 2007);

СУБД (Oracle 10g);

бухгалтерские приложения (1С);

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

антивирусные программы (рекомендуется от www.AVIRA.com);

другие программы.

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

6.1.3 Требования к аппаратному обеспечению

Аппаратное обеспечение пользовательских ЭВМ и серверов должно отвечать следующим требованиям:

высокая производительность, особенно для работы сервера баз данных;

отказоустойчивость всех серверных машин;

средства печати требуются по необходимости.

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

6.2 Анализ существующей локальной вычислительной сети

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

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

организация размещена на 1-ом этаже;

компьютеры имеются на каждом рабочем месте штатного сотрудника (кроме водителя):

−   Начальник упр-я - 1шт.

−   Зам. Нач. Упр-я - 1шт.

−   Зам. Нач. Упр-я - 1шт.

−   Секретари - 3шт.

−   Организационно правовой отдел - 6 шт.

−   Отдел Информационно-аналитических работ - 4 шт.

−   Отдел по орг-ии мед. деятельности - 4 шт.

−   Отдел экономики - 5 шт.

−   Отдел по организации медико-социальной помощи матерям и детям - 3 шт.;

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

на имеющихся машинах установлены системы Windows 2000, ХР PRO;

принтеры имеются в каждом отделе:

−   Начальник упр-я - 1шт.

−   Зам. Нач. Упр-я - 1шт.

−   Зам. Нач. Упр-я - 1шт.

−   Секретари - 3шт.

−   Организационно правовой отдел - 3 шт.

−   Отдел Информационно-аналитических работ - 2 шт.

−   Отдел по орг-ии мед. деятельности - 2 шт.

−   Отдел экономики - 3 шт.

−   Отдел по организации медико-социальной помощи матерям и детям - 2 шт.;

имеется один ксерокс, но некоторые принтеры имеют встроенный сканер;

в организации не имеется серверов

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

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

Сеть в организации отсутствует, поэтому для решения задач организации и внедрения АСУ необходимо проектирование сети в соответствии с определёнными требованиями. Доступ в Интернет при помощи модемного соединения также не может удовлетворять организацию по удобству и скорости. Поэтому требуется организовать выход в Интернет на тех машинах, где это необходимо.

6.3 Проектирование сети

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

6.3.1 Выбор топологии сети

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

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

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

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

Сеть типа клиент-сервер может иметь различную топологию:

шинная топология;

топология «звезда»;


Топология

Достоинства

Недостатки

Шинная топология - представляет собой центральную линию, к которой подключены сервер и рабочие станции

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

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

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

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

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

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

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

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


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

шинная топология и топология «кольцо» не могут обеспечить требуемый уровень надёжности сети: обрыв кабеля приведёт к полной потере работоспособности всей сети;

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

шинная топология не удовлетворяет требованию производительности: топология «звезда» и топология «кольцо» позволяют достичь большей производительности.

Исходя из всего вышеперечисленного выбирается физическая топология «звезда».

Используя данную топологию, сеть будет построена на основе формата Ethernet. Стандарт определяет битовую скорость передачи данных 10 Мбит/с и максимальное расстояние отрезка витой пары между двумя непосредственно связанными узлами (станциями и концентраторами) не более 100 м. Однако сегменты Ethernet могут перегрузиться, реакция серверов в них значительно упадёт, а частота возникновения коллизий существенно возрастёт, существенно снизив полезную пропускную способность. Поэтому при построении сети нужно использовать не технологию Ethernet, а её развитие - технологию Fast Ethernet, обеспечивающую скорость передачи данных до 100 Мбит/с, что с избытком удовлетворяет требованиям к сети.

Далее необходимо определить общую физическую структуру сети.

Как предполагает топология «звезда» необходимо наличие центрального сетевого устройства, которое бы объединяло рабочие станции. Применение только одного коммуникационного сетевого устройства накладывает ограничения на число рабочих станций, которые могут применяться в сети.

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

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

6.3.2 Выбор типа кабеля и сетевого оборудования

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

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

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

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

В качестве среды передачи данных для Ethernet может использоваться толстый или тонкий коаксиальный кабель, витая пара, оптоволокно или радиоволны (беспроводная связь).

Тип кабеля

Характеристики

Достоинства

Недостатки

Тонкий коаксиальный кабель

Коаксиальный кабель состоит из центрального проводника и внешней экранирующей оплетки. Между ними находится внутренний изолирующий материал. Коаксиальный кабель обеспечивает скорость передачи данных 5-10 Мбит/с.  Диаметр тонкого кабеля составляет 0,2 дюйма

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

- худшие механические и электрические характеристики по сравнению с «толстым» коаксиальным кабелем; - можно подключить только 30 рабочих станций, причём при увеличении трафика между рабочими станциями это числа может быть ещё больше уменьшено; - высокая вероятность обрыва кабеля (низкая надёжность всей сети); - максимальная длина сегмента кабеля - 185 м.

Толстый коаксиальный кабель

Внешний диаметр 0,5 дюйма. Имеет достаточно толстый внутренний проводник, который обеспечивает хорошие механические и электрические характеристики.

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

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

Экранированная витая пара (Shielded Twistedpair, STP)

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

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

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

Неэкранированная витая пара (Unshielded TwistedPair, UTP)

Скрученная пара медных проводов без изоляции. Скорость передачи данных от 10 Мбит/с до 100 Мбит/с, диапазон частот - до 10, до 16, до 100, до 200, до 500 МГц (в зависимости от категории)

- доступность по цене;  - доступность инструментов для установки разъемов (RJ45);  - удобство прокладки кабеля (гибкий);  - относительная простота ремонта при повреждении; - обрыв кабеля не приводит к выходу из строя всей сети; - поддержка высокоскоростных сетей (Fast и Gygabit Ethernet) при использовании кабеля категории 5 или выше.

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

Оптоволоконный кабель 

Состоит из тонких (5-60 микрон) волокон, по которым распространяются световые сигналы, и оболочки, обладающей меньшим показателем преломления. Обеспечивает передачу данных с очень высокой скоростью (до 10 Гбит/с и выше) и защиту данных от внешних помех.

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

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

Беспроводная связь

Образуются с помощью передатчика и приемника радиоволн. Скорость передачи данных до 54 Мбит/с

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

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

Исходя из рассмотренных выше характеристик типов кабелей, можно сделать вывод:

коаксиальные кабели не подходят требованиям, предъявляемым к ЛВС, так как не могут обеспечить требуемый уровень надёжности из-за возможности разрывов. Кроме того, коаксиальный кабель не предусмотрен в использовании с технологией Fast Ethernet, так как считается устаревшим.

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

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

экранированная и неэкранированная витая пара обладают примерно одинаковыми характеристиками, однако стоимость экранированной витой пары и её монтажа выше, чем стоимость и монтаж неэкранированной витой пары. Но для повышенной помехоустойчивости, и вообщем надежности будем применять экранированную витую пару. Так как наиболее высокой пропускной способностью обладает экранированная витая пара категории 5 (100 Мбит/с), к тому же расстояние между узлом и концентратором не должно превышать 80 метров, то наиболее целесообразно применять именно этот тип кабеля, но так же имеется витая пара категории 5е который выше по качеству передавемого сигнала.

Таким образом, исходя из описанных особенностей применения каждой из кабельных систем, выбираем кабель типа экранированная витая пара категории 5е, применение которого предусматривается в спецификации 100Base-TX стандарта на Fast Ethernet.

Здание, в котором располагается ОАО «ЗРТП», имеет 1 этаж с площадью каждого этажа 24*15. Исходя их выбранной ранее топологии и с учётом расположения этаже сетевого устройства, объединяющего в единый физический сегмент все компьютеры этажа, вычисляем общую протяжённость кабельной системы: 450 м. (с запасом)

.3.3 Выбор сетевого оборудования и сетевых адаптеров

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

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

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

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

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

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

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

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

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

Остаётся сделать выбор между двумя устройствами: концентратор и коммутатор. При выборе необходимо отметить следующее:

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

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

концентратор создаёт нагрузку на другие сегменты, даже если происходит обмен данными в одном из сегментов;

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

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

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

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

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

Далее необходимо выбрать модель коммутатора. Основные характеристики коммутатора:

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

скорость передачи данных. Так как при проектировании сети применяется технология Fast Ethernet, то необходимая скорость передачи данных - 10/100 Мбит/с.

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

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

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

Cisco Catalyst 2960 WS-C2960-24TT-L - Коммутатор с 24 портами 10/100Base-TX + 2 Gigabit Ethernet. Скорость передачи данных: 10/100 Мбит/с. Память - 64 Мб DRAM, 32 Мб Flash. В количестве 2-х штук с проводом Stacking Bus.

.3.4 Выбор сетевых адаптеров

При выборе сетевых адаптеров (NIC, Network Interface Card) необходимо учитывать топологию создаваемой сети. Так как уже был определён тип сети - Fast Ethernet, то необходимы сетевые адаптеры Fast Ethernet.

Сетевые адаптеры Ethernet и Fast Ethernet могут сопрягаться с компьютером через один из стандартных интерфейсов:

·              шина ISA - не используются в настоящее время;

·              шина PCI - основной тип адаптеров, обеспечивает обмен 32 и 64 разрядными данными, а также пропускную способность, полностью удовлетворяющую требованиям Fast Ethernet.

·              шина PC Card (она же PCMCIA) - применяется только в ноутбуках.

·              сетевые адаптеры, встроенные в системную плату. В этом случае достаточно только подключить сетевой кабель к внешнему разъему компьютера.

К другим важнейшим характеристикам сетевых адаптеров можно отнести:

·              возможность подключения адаптера к разным типам среды передачи (необходим разъём RJ-45);

·              используемая адаптером скорость передачи по сети и наличие функции ее переключения (10/100 Мбит/с);

·              совместимость адаптера (драйвера адаптера) с используемыми сетевыми программными средствами (Microsoft).

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

Исходя из того, что сейчас на рынке большинство материнских плат имеют встроенные сетевые адаптеры, то есть смысл закупать отдельные сетевые карты только для тех ЭВМ, для которых не имеет смысла заменять материнские платы (то есть в которых установленные материнские платы удовлетворяют требованиям, предъявляемым к сети и техническому обеспечению). Для таких ЭВМ выбирается исходя из приведённых требований следующая плата:

3Com 3C905CX-TM Карта Fast E-net PCI 10/100 Mbps

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

6.3.5 Конфигурирование серверов

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

1.          Серверное оборудование должно удовлетворять системным требованиям устанавливаемого программного обеспечения.

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

К серверам предъявляются следующие общие требования:

−   высокая частота процессора (от 3,0 ГГц), при необходимости использовать процессор Intel Xeon;

−   высокая производительность материнской платы (не менее 800 МГц);

−   большой объем оперативной памяти (от 2048 Мб) с возможностью расширения;

−   большой объём жестких дисков с высокой скоростью доступа к данным;

−   RAID-контроллер (при построении отказоустойчивых серверных систем);

−   SCSI-контроллер (при построении дисковых систем на дисках SCSI);

−   надежная система охлаждения;

−   мощное устройство электропитания;

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

−   наличие устройства записи на CD и DVD носители для осуществления резервного копирования;

−   невысокие требования к графике.

Поскольку серверные материнские платы имеют встроенный сетевой адаптер, нет смысла выбирать отдельно сетевые адаптеры. Необходимо только, чтобы встроенный адаптер соответствовал выбранному стандарту Fast Ethernet.

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

При проектировании ЛВС Управления Здаровоохранения были спроектированы четыре сервера:

Сервер базы данных;

Сервер DMZ/NAT/VPN;

2 x Сервер AD/DNS/DHCP

1)    Сервер БД

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

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

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

В организации предполагается использовать СУБД Oracle, которая предъявляет следующие требования к ресурсам (исходя из 50 пользователей):

процессор: Intel Xeon Quad Core, с частотой не менее 1,86 ГГц;

не менее 2048 Мб оперативной памяти;

не менее 10 Гб на жестком диске для хранения СУБД;

не менее 120 Гб на жестком диске для хранения информации.

Также необходимо предусмотреть следующие параметры:

RAID-SATA2 - контроллер - для построения отказоустойчивых наборов;

SCSI-контроллер - для использования дисков с большой скоростью доступа к данным(в случае если скорость RAID-SATA будет недостаточной);

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

обеспечение запаса ресурсов в случае расширения сети.

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

Тип устройства

Модель устройства, характеристики

Процессор

Intel Xeon 5335 Quad Core 2,0GHz BOX  - тактовая частота 1 ядря: 2 ГГц; - частота шины: 1333 МГц - охлаждение: боксовый куллер, но возможна замена, если темепратурный режим будет выходить из нормального показателя.

Материнская плата

Gigabyte GA-7BESH-RH - разъем процессора - Socket LGA771 - частота шины - 1066/1333MHz; - интегрирована видеокарта ATI®ES1000 with 16MB SDRAM; - формат платы: Extended ATX (xATX);  - 6 х SATA 3.0Gb/second  - RAID: · Intel® SW RAID 0, 1, 10, 5(Windows® only)  · Option al LSI® SW RAID 0, 1, 10(Linux, Option) for SATA RAID  · GC-SAS01-RH SAS daughter card supports 8 independant SAS 3.0Gb/s with Host RAID 0,1,10  · Host RAID for SAS HDD - сеть: 2х канальный сетевой контроллер Intel® 82563EB GbE controller 10/100/1000 Мбит/с; - звук: отсутствует.

Сервер кейс

GenesysRack E400LB + БП FSP Kingcraft 1000W - мощность блока питания: 1000 Вт - охлаждение - 6 вентиляторов;  - материнские платы mATX/ATX/xATX.

Оперативная память

FB-DIMM 1024Mb PC2-5300(667Mhz) ECC, Samsung original - 2 модуля.

Жесткий диск

IBM 160GB 7200 RPM Hot-swap SATA II HDD х 2шт. - объём: 160 Гб; - винчестер предназначен для систем с поддержкой горячей замены жестких дисков; - интерфейс: SATAII

Привод компакт-дисков

DVD±RW Pioneer DVR-212(D), SATA

Дисковод

FDD 3.5 HD NEC

Дополнительный кулер для жёстких дисков

Cooler Master (LHD-V06-UK) CoolDrive VI (HDD Cooler, 5.25"панель, индикаторы температуры и активности HDD ).


2)  Сервера AD/DNS/DHCP

К серверам AD/DNS/DHCP предъявляются менее строгие требования касательно мощности процессора и скорости и объёма жесткого диска. Примерная конфигурация этих серверов может быть следующей.

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

В качестве серверной операционной системы будет использоваться Microsoft Windows 2003 Server Standard Edition, которая предъявляет следующие системные требования:

Процессор: Intel Pentium 4 с частотой от 2,0 ГГц;

не менее 1024 Мб оперативной памяти;

не менее 4 Гб на жестком диске для хранения операционной системы.

Также необходимо учитывать требования, предъявляемые сетевыми службами и службой каталога Active Directory. С учетом того, что на сервере будут установлены службы DHCP, DNS, RIS, а также служба каталога Active Directory, то необходимы следующие ресурсы системы:

не менее 10 Гб для хранения дерева папок службы RIS;

до 1024 Мб оперативной памяти для функционирования сетевых служб и службы каталога Active Directory;

дополнительно свободное пространство для хранения базы данных сетевых служб и объектов службы каталога Active Directory

массив RAID-1 для обеспечения отказоустойчивости сервера

Исходя из этого, можно предложить следующую конфигурацию сервера AD/DNS/DHCP.

Тип устройства

Модель устройства, характеристики

Процессор

Intel Intel Core 2 Duo E6400, 2,13GHz, 2Mb, 1066MHz Socket-775  - тактовая частота: 2,13GHz. - частота шины: 1066MHz. - охлаждение: боксового кулера будет хватать при замене термоинтерфейса.

Материнская плата

GigaByte GA-73PVM-S2H Socket775  - частота шины: 800/1066/1333 МГц. - формат платы: Micro ATX .  - Чипсет: nVidia GeForce 7150/nForce 630i - 4xSATA II  - RAID- Встроен в чипсет, возможно построение RAID массивов уровней RAID 0, 1, 0+1, 5, JBOD из Serial ATA устройств. IEEE1394 - Texas Instrument TSB43AB23, 1 порт IEEE1394a на панели разъемов и 1 на монтажной планке.  - сеть: RTL8211B 10/100/1000 Мбит/сек.  - видео: интегрировано в чипсет. - звук: Realtek ALC889A 8-ch

Корпус

Gigabyte 3D Mars Silver (GZ-FA2CA-AJS) Aluminium 1.0mm  - тип: Midi-Tower  - блока питания: 400W (FSP400-**PNF) 12cm 24pin Passive PFC - охлаждение: 3 вентилятора.  - материнские платы mATX/ATX

Оперативная память

2xDIMM 512Mb PC2-6400(800Mhz) Kingston HyperX (KHX6400D2K2/1G)

Жесткий диск

IBM 160GB 7200 RPM Hot-swap SATA II HDD х 2шт. - объём: 160 Гб; - винчестер предназначен для систем с поддержкой горячей замены жестких дисков; - интерфейс: SATAII

Привод компакт-дисков

DVD±RW Pioneer DVR-212(D), SATA

Дисковод

FDD 3.5 HD NEC

3) Сервер DMZ/NAT/VPN

Данный сервер будет использоваться для выхода в Интернет, и подключения внутрь сети внешних компьютеров из отсальных ЛПУ при помощи Virtual Private Network (Remote Access VPN). Так же этот сервер будет выполнять роль DMZ (De-Militarized Zone - демилитаризованная зона), для защиты сети от посигательств из интернета.

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

Для выполнения данных задач будем использовать Систему сетевой защиты Cisco PIX 515E-UR Bundle.

Тип устройстваМодель устройства, характеристики


Корпус (модуль)

монтируемый в 19-ти дюймовую стойку или отдельный модуль

Процессор

200 MГц Intel Pentium MMX

Оперативная память

128 Mб

Flash память

16 Mб

Консольный порт

RJ-45

Failover порт

DB-25 EIA/TIA-232

Стандарты EMI

CE, VCCI class II, FCC, BCIQ, Austel

6.3.6 Конфигурирование рабочих станций

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

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

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

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

1)      Мощность процессора - не менее 1 ГГц.

2)      Объём пространства на жестком диске - до 2 Гб.

)        Объём оперативной памяти - не менее 256 Мб.

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

1)      Мощность процессора - не менее 1,5 ГГц.

2)      Объём пространства на жестком диске - не менее 40 Гб.

)        Объём оперативной памяти - от 512 Мб.

)        Хранимые документы требуют до 20 Гб пространства на жестком диске.

При выборе, нужен или нет привод компакт дисков необходимо учесть следующее: применение бездисковых рабочих станций с загрузкой операционной системы и всех приложений через сеть сразу снизит стоимость сети в целом (правда, с учётом стоимости обычного DVDROM’a, снижение стоимости будет не столь сильным). К тому же, при отказе от использования DVDROM на каждом компьютере сети можно существенно повысить ее устойчивость к вирусам и несанкционированному доступу к данным. Однако, в настоящее время использование бездисковых компьютеров считается не самым лучшим решением. Ведь в этом случае всю информацию компьютер получает через сеть и передает в сеть, что может вызвать чрезмерную загрузку сети. Поэтому, стоит предусмотреть использование DVDROM’ов. Так же возможно небезосновательным будет покупать к каждому компьютеру Флеш-носители данных. Они компактны, а объем в 1-2 Гб достаточен для хранения необходимых документов. Так же это послужит еще одной мерой защиты от утери электронных документов.

Для данных целей вполне достаточно будет ПК готовой конфигурации. Всем нашим требованиям удовлетворят ПК HP Compaq dc7800 GV974EA. Он является компактным и малошумным решением.

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

Тип устройства

Модель устройства, характеристики

Процессор

Intel® Core™ 2 Duo E4500

Чипсет

Intel® Q965 Express

Оперативная память

1 Гб

Жесткий диск

160 Гб

Оптические приводы

DVD+/-RW 16x SuperMulti LightScribe и считыватель карт памяти HP 16 в 1 (3,5" с PCI)


Для всех компьютеров из соображений компактности и удобства сотрудников, может быть выбран следующий ЖК-монитор: 17" Samsung 740N LEBB TFT.

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

6.3.7 Выбор ОС для серверов и рабочих станций

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

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

- ОС Microfoft Windows;

- UNIX-системы (Linux, FreeBSD, Solaris). -системы стоят недорого, и являются неплохим вариантом для построения ЛВС. Однако для простоты установки в небольшой сети можно и не использовать UNIX. Почти все современные системные администраторы знают UNIX, поэтому хорошего системного администратора по Unix-системам найти вполне возможно и не проблематично.

Семейство Windows 2003 включает следующие продукты:

−   Windows Server 2003 Standard Edition - это относительно надежная сетевая операционная система для быстрого создания надежных бизнес-решений. Эта гибкая платформа является возможным выбором для предприятий малого бизнеса и отдельных подразделений организации.

−   Windows Server 2003 Enterprise Edition разработана для удовлетворения общих ИТ-требований предприятий любого размера. Данная платформа предназначена для приложений, веб-служб и инфраструктур и обеспечивает высокую надежность, производительность и превосходные экономические показатели. Windows Server 2003 Enterprise Edition основана на функциональности Windows Server 2003 Standard Edition, с добавлением средств обеспечения надежности, необходимых для ответственных бизнес-приложений.

−   Windows Server 2003 Datacenter Edition разработана для ответственных бизнес-приложений и для приложений, используемых для выполнения важных задач, требующих масштабируемости и доступности высокого уровня. Windows Server 2003 Datacenter Edition наиболее мощная и функциональная серверная операционная система из всех, когда либо предлагаемых корпорацией Microsoft.

−   Windows Server 2003 Web Edition - предназначена для использования в качестве веб-сервера. Windows Server 2003 Web Edition используется для разработки и хостинга веб-приложений, веб-страниц и веб-служб XML.

На основании изложенного можно заключить, что для установки на сервер подойдут системы Windows Server 2003 Standard Edition и Windows Server 2003 Enterprise Edition.

Второй из этих вариантов обладает более широким спектром средств обеспечения надежности, но ориентирован на крупные организации и предприятия. Стоит отметить, что данный вариант операционной системы имеет очень высокую стоимость. В данной организации этот вариант операционной сиcтемы использовать нецелесообразно. Следовательно, в качестве серверной операционной системы выбираем Windows 2003 Server Standard Edition.

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

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

- Windows 2000 Professional;

Windows XP;

Windows Vista

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

Windows Vista - явялется молодой операционной системой. Несколько непривычный интерфейс, излишние сообщение от ОС, и чрезмерное использование ресурсов ПК, не возможность поддержки некоторых дейвайсов (нет драйверов) делают крайне проблематичным использование Windows Vista в офисе. Поэтому от этой ОС откажемся.

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

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

Среди двух версий операционной системы Windows XP - Professional Edition и Home Edition - наиболее целесообразно выбирать первый вариант, поскольку второй этой системы является более «облегченным» и не обладает рядом возможностей, которые присутствуют в первом варианте.

6.3.8 Выбор принтеров

Важным моментом при проектировании сети является выбор принтеров и их места в сетевой структуре.

При выборе принтеров необходимо определить, сколько будет сетевых принтеров и на какую группу будет выделен каждый сетевой принтер. Также необходимо определить потребность в цветной печати. Выбор принтера, также как и выбор всего аппаратного обеспечения должен вестись с учётом соотношения «цена/качество».

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

Принтеры буду устанавливаться в расчете один принтер на 2 рабочих места, кроме начальника управления, зам. начальников и их секретарей. Принтеры подключенные на 2 рабочих места - будут иместь подключения через перключатель (switch) TrendNet TK-209K, 2 ports, USB. Где каждый специалист при необходимости будет переключать принтер на свой компьютер.

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

HP Color LaserJet 2840:

Нагрузка (месяц): 30000 страниц

Процессор: 264 МГц

Память: 96 Мб

Скорость копирования (чёрный/цветной): 19 копий в минуту

Совместимость с OC: Microsoft Windows XP, 2000 / 98 SE, Me / NT 4.0 / Apple Mac OS 9.2.2, OS 10.2.8, OS 10.3.x

Ресурс картриджа при 5% заполнения: 5000 страниц

6.3.9 Выбор дополнительных сетевых сервисов

Дополнительные сетевые сервисы должны обеспечить выполнение общих требований предъявляемых предприятием к вычислительной системе. К таким требованиям относятся предоставление определённым машинам доступа в Интернет (а значит, разрешение имён), предоставление IP-адресов в сети.

Для удовлетворения этих требований необходимо установить следующие сетевые службы:

DMZ cервер;

NAT сервер;

VPN сервер;

-        DHCP сервер;

-        DNS-сервер.

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

При этом для DMZ осуществляется раздельная защита файрволами соединения со внешней средой и с основной внутренней сетью.

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

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

NAT сервер (Network Address Translation, NAT) - механизм трансляции сетевых адресов, осуществляет преобразование IP-адресов и номеров портов пакетов TCP и датаграмм UDP, которыми обмениваются локальная и внешняя сети. Сервер NAT позволяет для организации доступа в Интернет для локальной сети использовать один действительный IP-адрес, который имеет NAT-сервер, а остальные узлы сети будут иметь частные адреса из специального диапазона зарезервированных IP-адресов. Механизм NAT осуществляет трансляцию частных адресов в действительные адреса Интернета. Пакеты, исходящие из локальной сети, имеют частные адреса, которые NAT транслирует в действительные адреса. Поступающие из Интернета пакеты имеют, соответственно, действительные адреса, и механизм NAT выполняет их трансляцию в частные адреса.

Аналогичные функции предоставляет прокси-сервер (соединение внутренней локальной сети и внешней сети через один IP-адрес) и протокол ICS (Internet Connection Sharing), однако прокси-сервер требует установку специальных программ, а установка службы NAT происходит без использования специальных программ силами самой операционной системы, а служба ICS является менее функциональной, чем NAT. Поэтому для установки связи с Интернетом будет применяться именно служба NAT.

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

Настройка сервера DMZ и NAT (PAT) для PIX 515

nameif ethernet0 outside security0 (приписываем уровень security на e0 интерфейс) ethernet1 inside security100 (приписываем уровень security на e1 интерфейс) ethernet0 auto (обозначаем скорость) ethernet1 100full (обозначаем скорость) address outside 192.168.200.35 255.255.255.0 (прописываем внешний ip) address inside 192.168.1.1 255.255.255.0 (прописываем внутренний ip) PIX1 (имя файрволла) (inside) 1 192.168.1.1 255.255.255.0 (делаем нат на е1 интерфейсе) (outside) 1 213.247.170.77 (делаем для нат адресов внешний ip, можно написать еще так global (outside) interface) outside 0.0.0.0 0.0.0.0 192.168.200.1 1 (делаем роутинг на сервер провайдера)

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

Пользователи Microsoft Windows обозначают термином «VPN» одну из реализаций виртуальной сети - PPTP, причём используемую зачастую как раз не для создания частных сетей.

Чаще всего для создания виртуальной сети используется инкапсуляция протокола PPP в какой-нибудь другой протокол - IP (такой способ использует реализация PPTP - Point-to-Point Tunneling Protocol) или Ethernet([ (PPPoE)([хотя и они имеют различия). Технология VPN последнее время используется не только для создания собственно частных сетей, но и некоторыми провайдерами «последней мили» для предоставления выхода в Интернет.

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

Настройка файрволла PIX для удаленного доступа в локальную сеть, с использованием Cisco VPN Clien (4.8.02.0010):

. Выделяем пул адресов для доступа:

ip local pool RA_POOL 192.168.1.200-192.168.1.255 mask 255.255.255.0

2. Отменяем трансляцию адресов для сети удаленного доступа.

object-group network NET_RA network-object 192.168.1.200-192.168.1.255 255.255.255.0 access-list ACL_NO_NAT extended permit ip any object-group NET_RA nat (lan) 0 access-list ACL_NO_NAT

 3. Создаем групповую политику:

group-policy RA_GROUP internal group-policy RA_GROUP attributes dns-server value 192.168.1.2 192.168.1.4 vpn-simultaneous-logins 1 vpn-tunnel-protocol IPSec  В команде dns-server value нужно указать адрес (-а) локальных DNS серверов. При работе с PIX она не используется. 4. Создаем пользователя и назначаем его в группу:

username RA_User password PWD_1234 privilege 7 username RA_User attributes vpn-group-policy RA_GROUP  5. Создаем политику isakmp и разрешаем ее на интерфейсе:

isakmp policy 10 authentication pre-share isakmp policy 10 encryption 3des isakmp policy 10 hash sha isakmp policy 10 group 2 isakmp policy 10 lifetime 86400 isakmp enable wan isakmp nat-traversal 20

Последняя команда нужна для доступа в сеть за NAT'ом. Если ее не ввести, то туннель будет устанавливаться, но трафик в сеть ходить не будет. 6. Определяем шифрование и хеширование IPSec:

crypto ipsec transform-set 3DESSHA esp-3des esp-sha-hmac

7. Настраиваем динамическую карту для удаленного доступа:

access-list WAN_RA_DYN extended permit ip any object-group NET_RA crypto dynamic-map WAN_DYN_MAP 20 match address WAN_RA_DYN crypto dynamic-map WAN_DYN_MAP 20 set transform-set 3DESSHA crypto dynamic-map WAN_DYN_MAP 20 set reverse-route

8. Активируем эту карту для интерфейса:

crypto map WAN_MAP 10 ipsec-isakmp dynamic WAN_DYN_MAP crypto map WAN_MAP interface wan

9. В завершении настраиваем туннельную группу:

tunnel-group RA_GROUP type ipsec-ra tunnel-group RA_GROUP general-attributes address-pool RA_POOL tunnel-group RA_GROUP ipsec-attributes pre-shared-key PSK_1234

DHCP сервер (Dynamic Host Configuration Protocol), протокол динамической конфигурации хоста) - открытый промышленный стандарт, который позволяет каждому компьютеру, подключенному к сети, назначить уникальный IP-адрес. Протокол DHCP освобождает сетевых администраторов от необходимости настраивать все компьютеры вручную. Применение DHCP сервера является необходимостью в современных сетях.

DHCP сервер позволяет:

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

автоматически конфигурировать настройки TCP/IP во время загрузки компьютера, такие как IP-адрес компьютера, маску подсети, адрес шлюза и адрес сервера DNS;

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

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

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

чтобы адрес не "простаивал", сервер DHCP предоставляет его на определенный администратором срок (арендный договор). По истечении половины срока арендного договора клиент DHCP запрашивает его возобновление, и сервер DHCP продлевает арендный договор.

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

Для установки и настройки сервера DHCP:

1.      Изучение требований к серверу DHCP и планирование его конфигурации: области, арендные договоры и опции.

2.      Определение диапазона IP-адресов или диапазонов, для которых необходим DHCP, для поддержки службы конфигурации сети.

.        Ручная настройка TCP/IP для компьютера, на котором будет располагаться сервер DHCP.

.        Установка службы DHCP.

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

В Управлении Здравоохраенения необходимо установить следующие параметры работы службы DHCP:

IP-адрес сервера DHCP: 192.168.1.2

Маска подсети: 255.255.255.0

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

Начальный IP-адрес области: 192.168.1.1

Конечный IP-адрес области: 192.168.1.200

Маска подсети: 255.255.255.0

IP-адрес DNS сервера: 192.168.1.2

Шлюз по умолчанию: 192.168.1.1

Диапазон исключений 1 (включает адреса всех серверов, которые задаются статически): 192.168.1.1 - 192.168.1.4 Диапазон исключений 2 (включает адреса всех сетевых принтеров, которые задаются статически): 192.168.1.199. МФУ на случай непредвиденной ситуации: 192.168.1.199.

Зарезервированные IP-адреса: нет.

Время арендного адреса: 15 минут.

DNS (Domain Name System) - это распределенная база данных в сетях TCP/IP для преобразования имен компьютеров (имен узлов) в IP-адреса. Служба DNS осуществляет разрешение, или преобразование, символьных имен (Fully Qualified Domain Name, FQDN) в IP-адреса и используется для поиска компьютеров в ЛВС или Интернете.

Сервер DNS активно применяется в частных сетях для разрешения имён узлов и определения местоположения компьютеров в ЛВС и Интернете.

Для разрешения имён служба DNS использует модель клиент-сервер. Клиент передаёт прямой запрос на поиск имени локальному серверу. Этот сервер разрешает запрос сам или предаёт его другому серверу имён.

Используемые в зоне привязки «IP-адрес/имя» хранятся в файле БД зоны. Каждая зона прикреплена к определенному домену - корневому домену зоны. Файл БД зоны может содержать сведения не обо всех поддоменах корневого домена зоны.

Настройка службы DNS

После установки службы DNS можно перейти к ее настройке и обслуживанию. Настройка осуществляется из оснастки DNS.

Так как создаваемая сеть будет основана на службе каталогов Active Directory, то сервер DNS должен быть интегрированный в Active Directory сервером DNS. Для этого сервера файл зоны хранится как объект в Active Directory, а не как несколько файлов на жестком диске.

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

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

После этого можно создать зону обратного просмотра, интегрированную в AD. Зона обратного просмотра позволяет генерировать обратные запросы на поиск имени. Эта зона не обязательна, однако она нужна для работы утилит устранения неполадок, а также потому, что многие приложения используют обратный обзор как инструмент безопасности.

Имя файла зоны прямого просмотра определяется названием корневого домена зоны. Имя домена - ypr.ru, поэтому имя файла зоны будет ypr.ru.dns.

Имя файла зоны обратного просмотра определяется идентификатором сети и суффиксом in-addr.arpa. Тогда, имя зоны обратного просмотра (адрес DNS-сервера - 192.168.1.2) - 1.168.192.in-addr.arpa, а имя файла зоны - 1.168.192.in-addr.arpa.dns.

Настройка сервера

DNS сервер интегрированный в Active Directory server, имеет IP-адрес: 192.168.1.2.

Прямая зона облуживания: ypr.ru

Обратная зона облуживания: 1.168.192.in-addr.arpa.

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

в зонах прямого просмотра DNS-сервера следует удалить зону «.», если она там есть. После этого перезапустить службу DNS-сервер. Иначе DNS-сервер будет считать себя вышестоящим доменом, и организовать сообщение с Интернетом будет невозможно.

добавление и удаление записей о ресурсах. Каждая запись идентифицирует в БД конкретный ресурс в зависимости от типа записи. Существует множество типов записей ресурса. При создании зоны DNS автоматически добавляет две: Start of Authority (SOA) и Name Server (NS). SOA определяет сервер имен, являющийся в этом домене полномочным источником данных, а также предоставляет информацию о зоне. NS представляет собой список серверов имен, выделенных конкретному домену. Основной тип записей - A - адресная запись - хранит информацию о преобразовании доменного имени в IP-адрес.

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

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

задание автоматического обновления («Dynamic Updates»). Динамическое обновление - клиенты имеют возможность автоматически обновлять свои записи, которые главным образом используются в среде, где клиенты подключаются к серверу DHCP для получения IP-адресов. Динамическая DNS также очень удобна для контроллеров домена, которые также могут автоматически регистрировать записи своих сервисов.

- на контроллере домена, на котором работает DNS-сервер, в "Свойствах TCP/IP" следует указать первым сервером DNS - самих себя (192.168.1.2), вторым сервером DNS - не указывать ничего.

на всех рабочих станциях домена в "Свойствах TCP/IP" "Предпочитаемым сервером DNS" следует указывать IP-адрес ближайшего контроллера домена (192.168.1.2), "Альтернативным DNS-сервером" - ничего.

для подключения к Интернету и корректного разрешения имён в глобальной сети необходимо соответствующим образом настроить DNS-сервер. Для этого необходимо настроить пересылку запросов с DNS-сервера на сервер интернет-провайдера (закладка "Пересылка" - "Forwarding") путём указания вышестоящего домена или перечисления DNS-серверов, к которым будет обращаться DNS-сервер.

 

6.3.10 Определение механизма развертывания

При развертывании сети необходимо произвести следующие действия:

смонтировать аппаратное обеспечение;

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

установить ОС на сервера;

установить ОС на рабочие станции.

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

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

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

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

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

кабельная система должна иметь "прозрачную" и документировано оформленную структуру. Это необходимо как для обеспечения возможности внесения изменений в эту структуру, так и для поиска неисправностей.

Установка ОС Windows 2003 на сервера

Установка будет производиться с компакт-диска Windows 2003. Установка производиться на сервера, не имеющие операционных систем. В первую очередь необходимо разбить жёсткие диски на разделы. На каждой машине будет создано по два раздела, один из которых будет системным, а второй - для пользовательских данных. На одной из машин может также быть выделен один раздел для хранения образа ОС при использовании сервера RIS. Размер этого раздела должен быть не менее 4 Гбайт. Такой машиной будет сервер AD/DHCP/DNS. После этого начнётся установка системы. Необходимо выполнять все указания мастера и отвечать на его вопросы, периодически задавая необходимы параметры.

После установки системы необходимо произвести установку дополнительных сетевых сервисов, установить и настроить службу каталогов Active Directory.

Установка ОС на рабочие станции

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

RIS (Remote Installation Services) - служба удалённой установки, предназначен для удалённой установки на сетевые машины готовых образов операционных систем (Windows 2000 Professional, Windows 2000 Server, Windows XP и др.) из сети. Использование RIS предполагает:

DHCP - выделяет клиенту IP адрес;

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

Поднятый Active Directory - сообщает клиенту, где находится RIS-сервер;

ОС - Windows XP Professional.

Для использования службы RIS для удалённой установки необходимо:

установить службу;

указать директории, где будет храниться образ ОС, где расположен дистрибутив ОС и папку установки, а также имя и описание образа;

Установить флажок «Не отвечать неизвестным клиентским компьютерам»;

авторизовать RIS в DHCP;

установить Windows ХР Pro и все необходимые приложения на один из компьютеров. Система и все приложения должны храниться в одном разделе. Установка может производиться с диска. Все приложения и саму операционную систему следует настроить необходимым образом. Помимо ОС необходима установка следующих приложений:

-   MS Office XP/2003;

-       MS Visio 2003;

-       Антивирусное программное обеспечение;

-       Архиваторы;

-       Файл-менеджеры;

-       Программное обеспечение АСУ.

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

запустить Riprep.exe на данной машине для создания ее образа. Riprep.exe удаляет все индивидуальные настройки машины для создания образа. Программа запускается путем ввода команды \\имя_сервера(AD/DHCP/DNS)\REMINST\Admin\I386\RIPrep.exe.

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

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

ввести имя папки на сервере RIS, в которую образ установки будет скопирован (F:\RemoteInstall).

после этого образ будет реплицирован на сервер RIS. После завершения репликации образ установки автоматически добавляется к списку возможных вариантов установки операционных систем и становится доступным компьютерам-клиентам, использующим технологию удаленной загрузки. Мастер создания образа приводит исходный компьютер к универсальному состоянию, т. е. удаляет уникальные параметры установки клиента, например уникальный код безопасности компьютера (SID), имя компьютера и любые параметры реестра, уникальные для исходного компьютера. Оборудование компьютера-клиента, для которого разрешена удаленная загрузка, не обязательно должно совпадать с оборудованием исходного компьютера, на котором создавался образ. Мастер подготовки удаленной установки использует возможность Plug and Play для выявления различий в оборудовании исходного компьютера и компьютера-приемника при установке образа. Таким образом, проверяется, что для каждого из устройств Plug and Play установлен нужный драйвер.

также необходимо провести настройку для компьютеров, на которые будет производиться установка ОС. Для этих компьютеров необходимо задать учётную запись в AD, сопоставив эту учётную запись глобальному однозначному идентификатору (globally unique identifier, GUID). GUID можно посмотреть в BIOS или использовать МАС адрес клиента, расширенный добавлением нулей впереди него. После этого RIS сервер позволяет получать доступ к образу только тем компьютерам, которые были предустановленны в AD.

необходимо убедиться, что все клиенты поддерживают загрузку по сети. Для клиентов, не поддерживающих её, создать загрузочную дискету для загрузки по сети: \\имя_сервера (AD/DHCP/DNS) \REMINST\Admin\I386\RBFG.exe, и выбрать Создать диск.

после этого можно начать запускать машины. В начале сервер DHCP назначает клиенту IP-адрес. Кроме того, клиент получает IP-адрес сервера RIS. Затем регистрируется пользователь, осуществляющий инициализацию этого ПК. Установку будут производить администраторы домена. Служба AD проверяет полномочия пользователя и предоставляет ему список образов операционной системы и вариантов установки. Используется Автоматическая установка.

6.4 Планирование внедрения Active Directory

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

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

Установка Active Directory будет производиться на компьютер с сетевым адресом 192.168.1.2. Этот сервер будет являться первичным сервером и хранителем глобального каталога. После установки Active Directory необходимо правильно произвести настройки во всех необходимых оснастках.

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

6.4.1 Выбор доменной модели

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

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

определить структуру доменной модели.

При выборе доменной модели необходимо учитывать следующее:

учреждение Управление Здравоохарения расположена в одном здании, но имеются Лечебно Профилактические учреждения (ЛПУ), которые разбросаны географически по району.

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

в организации имеются 29 компьютеров и 4 сервера. Возможно небольшое увеличение количества компьютеров.

подключение к Интернету происходит при помощи сервера DMZ/NAT.

доменное имя ypr.ru выбрано по организационному признаку.

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

При выборе, будут ли совпадать внешнее (ypr.ru) и внутренне пространство имен, необходимо учитывать следующее:

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

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

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

6.4.2 Планирование структуры домена

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

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

Организационная единица не требует отдельного контроллера домена и не участвует в репликации. Для её реализации требуется меньший объём ресурсов, чем для домена.

Для Управления Здравоохранения не имеет смысла создавать более одного домена, так как:

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

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

организация находится в одной подсети.

Несколько доменов усложняют структуру AD, поэтому нет смысла создавать несколько доменов, если в этом действительно нет необходимости. Как было показано, в этом необходимости нет, поэтому для Управления Здравоохранения будет использоваться один домен.

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

Сервер Глобального каталога

Глобальный каталог (global catalog) представляет собой базу данных, содержащую информацию обо всех объектах дерева или леса AD. Глобальный каталог создаётся на первом контроллере домена (то есть на сервере AD/DHCP/DNS - 192.168.1.2). Глобальный каталог хранит не все объекты целиком, а только подмножество их атрибутов. Выбираются те атрибуты, которые чаще всего присутствуют в запросах пользователей.

Сервер глобального каталога выполняет две функции.

·              Поиск объектов. Клиенты могут обращаться к глобальному каталогу с запросами на поиск объектов, основываясь на известных значениях атрибутов. Фактически использование сервера глобального каталога является единственным способом осуществлять поиск объектов по всему лесу доменов.

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

.4.3 Планирование учетных записей пользователей

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

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

имя, фамилия, отчество пользователя;

имя для входа в систему - уникальное имя в пределах домена, является производным от фамилии, имени, отчества (например, IvanIvanov или IvanovI);

пароль. При первом входе в систему пароль должен быть изменен (User must change password at next logon - Да). Кроме того, необходимо установить, чтобы пароль устаревал (Password never expires - Нет).

User Cannot Change Password - Да - Пользователю разрешено изменять пароль

Account Disable - Нет - учётная запись включена;

дополнительная информация. Здесь потребуется указать более полные сведения о пользователе, такие как, его адрес, телефон, e-mail и прочее. Здесь важным оказывается указать часы входа в систему Logon Hours, то есть те часы, когда пользователю разрешено подключаться к домену. Так как рабочий день для сотрудников Управления Здравоохранения установлен с 8:00-17:00 с понедельника по пятницу, то разрешать подключение необходимо только в эти часы (исходя из характера работы организации нет надобности выходить в выходные дни на работу). При этом, когда время работы истекло, то необходимо не блокировать доступ, а разрешать сотруднику продолжить работу - так как вполне возможно, что кому нужно задержаться на работе. Также здесь определяются компьютеры, с которых может произойти подключение к системе. Логично предоставить пользователям возможность подключаться со всех компьютеров отдела, в котором они работают, а администраторам или программистам - с любого компьютера системы.

6.4.4 Планирование учетных записей групп

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

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

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

Существуют группы двух типов: группы безопасности (security groups) и группы рассылки (distributed groups). Группы безопасности рассматриваются подсистемой безопасности в качестве своих субъектов. Другими словами, они могут использоваться для разграничения доступа к ресурсам сети. Выдавая разрешение на доступ к объекту определенной группе, администратор автоматически разрешает доступ к данному объекту всем членам данной группы. Группы рассылки ориентированы на использование почтовой системы, как средства одновременной передачи сообщения некоторому коллективу пользователей.

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

Область действия групп:

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

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

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

В организации будет применяться следующая стратегия для организации групп:

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

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

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

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

Такая стратегия называется AGLP - Accounts - учетные записи (помещаются в…) Global Groups - глобальные группы (которые затем помещаются в…) Local Groups - локальные группы (которым, в конечном счете, назначаются…) Permissions - разрешения.

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


6.4.5 Планирование внедрения групповой политики

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

Групповые политики могут быть применены на трех уровнях Active Directory: сайте, домене, организационной единице).

Так как в Управлении Здравоохранения создан только один домен, то групповые политики будут применяться на уровне этого домена.

Однако, с учетом того, что требования к безопасности обычных компьютеров, входящих в состав домена, и контроллера домена будут различаться, то необходимо контроллер домена (сервер AD/DHCP/DNS) поместить во встроенное подразделение «Контроллеры домена». После этого будет возможность применить к контроллеру домена Default Domain Controllers Policy. Тогда к остальным компьютерам организации будет применен объект групповой политики Default Domain Policy.

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

1. Default Domain Policy

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

Политики учетных записей

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

Политика паролей - определяют параметры паролей:

1.  Максимальный срок действия пароля - 90 дней.

2.  Минимальная длина пароля - 6 символов.

3.      Минимальный срок действия пароля - 10 дней.

.        Одновременно можно хранить не более 24 паролей.

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

Политика блокировки учётной записи - определяют условия и время блокировки учётной записи:

. Блокировка учётной записи на 15 минут.

. Пороговое значение блокировки: 5 ошибки входа в систему.

. Сброс счётчика блокировки через 3 часа.

Локальные политики

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

·      Аудит событий входа в систему: Нет аудита

·              Аудит управления учетными записями: Нет аудита

·              Аудит входа в систему: Успех, Отказ

·              Аудит доступа к объектам: Нет аудита

·              Аудит изменения политики: Нет аудита

·              Аудит использования привилегий: Нет аудита

·              Аудит отслеживания процессов: Отказ

·              Аудит системных событий: Успех, Отказ

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

1.      Доступ к компьютеру из сети - все.

.  Разрешение локального входа в систему - администраторы, опытные пользователи, пользователи своего отдела, операторы архива.

3.      Архивирование файлов и каталогов - администраторы и операторы архива.

.        Принудительное удаленное завершение работы - администраторы, операторы сервера, опытные пользователи.

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

6.  Выполнение задач по обслуживанию томов - администраторы.

7.      Профилирование одного процесса - администраторы, опытные пользователи, операторы сервера (на серверах).

.        Профилирование загруженности - системы администраторы, опытные пользователи, операторы сервера (на серверах).

.        Восстановление файлов и каталогов - администраторы, операторы архива.

.        Завершение работы системы - администраторы, операторы архива, опытные пользователи, пользователи.

.        Смена владельца файлов или иных объектов - администраторы.

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

·      Аудит: немедленное отключение системы, если невозможно внести в журнал записи об аудите безопасности - включен.

·      Устройства: разрешено форматировать и извлекать съемные носители - администраторы.

·              Устройства: запретить пользователям установку драйверов принтера - включен.

·              Устройства: разрешить доступ к дисководам компакт-дисков только локальным пользователям - включен.

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

·      Член домена: максимальный срок действия пароля учетных записей компьютера - 90 дней.

·      Интерактивный вход в систему: напоминать пользователям об истечении срока действия пароля заранее - 5 дней.

·  Интерактивный вход в систему: не требовать нажатия CTRL+ALT+DEL - Отключен.

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

·              Сервер сети Microsoft: длительность простоя перед отключением сеанса - 15 минут для всех.

·      Сетевой доступ: разрешать анонимный доступ к общим ресурсам - Отключен.

·              Сетевой доступ: модель совместного доступа и безопасности для локальных учетных записей - Классическая.

·              Завершение работы: очистка страничного файла виртуальной памяти - Включен.

Установка программ

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

архиваторы;

Total Commander (или другие файл-менеджеры);

антивирусное программное обеспечение;

ПО АСУ.

Конфигурация компьютера

1. Интервал обновления групповой политики: 3 часа

. Действия при отключении от сервера: Работать автономно.

Конфигурация пользователя

1.       Запретить изменение параметров панели задач и меню «Пуск».

2.      Отключить Active Desktop.

.        Запретить пользователям изменять путь к папке «Мои документы».

.        Запретить удаление принтеров.

.        Запрашивать пароль при выходе из спящего или ждущего режима.

6.       Не запускать автоматически Windows Messenger при входе.

7.      Запретить выполнение Windows Messenger.

Перенаправление папки (Folder Redirection)

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

Необходимо осуществить перенаправление папок пользователей Мои документы (My Documents) на сервер БД: SERVER_BD\\HOME\\USERS\\%username%

2. Default Controllers Domain Policy

Политики учетных записей

Контроллер домена всегда получает политику учетных записей от объекта групповой политики «Default Domain Policy», даже если имеется другая политика учетных записей, примененная к организационному подразделению, которое содержит контроллер домена.

Локальные политики

Политика аудита

Аудит событий входа в систему: Успех, Отказ

Аудит управления учетными записями: Успех, Отказ

Аудит доступа к службе каталогов: Отказ

Аудит входа в систему: Успех, Отказ

Аудит доступа к объектам: Нет аудита

Аудит изменения политики: Успех, Отказ

Аудит использования привилегий: Нет аудита

Аудит отслеживания процессов: Нет аудита

Аудит системных событий: Успех, Отказ

Назначение прав пользователя

1.      Доступ к компьютеру из сети: Администраторы.

.        Разрешение локального входа в систему: Администраторы.

3.      Принудительное удаленное завершение работы: Администраторы

.        Восстановление файлов и каталогов: Администраторы, Операторы Архива

.        Завершение работы системы: Администраторы

Параметры безопасности

Для данной политики могут быть применены параметры по умолчанию, а также параметры для групповой политики Default Domain Policy.

Конфигурация компьютера

1.       Отключить автозапуск.

2.      Максимальный размер файла журнала: 10 Мбайт.

.        Интервал обновления групповой политики для контроллеров домена: 10 минут.

Конфигурация пользователя

1.       Отключить Active Desktop.

2.      Запрашивать пароль при выходе из спящего или ждущего режима.

.        Запретить появление сообщения Вы знаете.

.        Не запускать автоматически Windows Messenger при входе.

.        Запретить выполнение Windows Messenger.

6.4.6 Планирование общих папок

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

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

Read (Чтение) - просмотр списка папок и файлов, содержимого файлов, доступ к вложенным папкам и запуск приложений.

Read&Execute (Чтение и выполнение) - позволяет выполнять действий разрешения Read, а также запускать на выполнение файлы приложений. Данное разрешение необходимо использовать для организации доступа к общим приложениям.

Modify (Изменение) - создание в общей папке вложенных папок, добавление к ним файлов, изменение и добавление данных в файлах, удаление файлов и вложенных папок и выполнение действий, допускаемых разрешением Read.

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

Print (Печать) - разрешение для принтеров, позволяет отправлять на печать файлы.

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

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

·  доступ ко всем папкам разрешен в полном объеме только администраторам, начальнику управления и замам разрешен доступ на изменение;

·        структура доступа к общим папкам должна соответствовать организационной структуре.

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

·        доступ к принтеру для печати имеют право все отделы.

6.5 Проектирование надежности и отказоустойчивости

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

.5.1 Защита от сбоев электропитания

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

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

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

Для серверов: ИБП Powercom Smart King 1500A LCD ~ 10-30 минут после откл питания;

Для рабочих станций: ИБП PowerCom BNT 500AP, ~ 7 минут после отлк. питания

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

.5.2 Резервное копирование данных

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

Резервному копированию подлежат, в первую очередь, данные, хранящиеся на серверах: сервере БД и сервере AD. Так как сервера снабжены DVD приводом, то резервные копии следует хранить на CD или DVD дисках.

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

В организации будет применяться два способа архивации:

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

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

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

вначале создаётся обычная резервная копия данных всех серверов. Соответственно для сервера БД необходимо использовать DVD-диск большей ёмкости, чем для сервера AD и, тем более, сервера NAT. Обычная резервная копия должна храниться вне офиса для обеспечения сохранности данных в случае пожара, кражи или другого форс-мажорного обстоятельства.

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

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

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

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

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

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

Состав резервной копии

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

·   загрузочные файлы (включая системные файлы) и все файлы, контролируемые системным средством защиты файлов Windows;

·        каталог Active Directory;

·        файлы из папки System Volume Information;

·        реестр;

·        база данных регистрации классов служб компонентов

·        данные пользователей (общие пользовательские папки);

·        база данных (файлы резервной копии базы данных Oracle).

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

Кроме того, необходимо собрать основную информацию о системе (причём не только серверных, но и рабочих станциях) и сохранить ее в безопасном месте. К такой информации относится: конфигурация диска, используемые устройства, имя компьютера и IP-адрес. Эта информация может быть собрана с помощью команды Msinfo32 и записи информации о системе в текстовый файл. Все файлы о каждой системе могут быть собраны в одну папку, и эта папка должна будет включаться в каждую резервную копию.

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

- при выборе элементов архивации для серверов выбрать указанные выше объекты;

в качестве носителя выбирать DVD/CD-привод, название файла архива - backup+дата_создания_архива;

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

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

Ситуации, в которых будет применено восстановление резервных копий:

Ситуация

Выполняемые действия

Восстановление файлов, по ошибке удалённых пользователем в общих папках на сервере БД

Загрузить последнюю резервную копию сервера БД. Запустить утилиту backup Выбрать вставленный с резервной копией диск, а затем выбрать на нём нужный файл пользователя. Восстановление проходит в выбранную папку или папку, из которой файл был удалён.

Восстановление корректной работы системы при перезаписи системного файла или несовместимого драйвера

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

Восстановление AD

Запустить контроллер домена в режиме восстановления службы каталогов. Запустить программу backup. Загрузить резервную копию контроллера домена. Выбрать состояние системы и все архивные файлы AD, а также все файлы, которые необходимо восстановить. Выбрать установку в исходное размещение и замену существующих файлов. Далее в командной строке необходимо ввести:  > ntdsutil "auth restore" "restore database" q 6. Перезагрузить контроллер домена.

Восстановление отдельных объектов AD

Выполнить действия 1-5 предыдущего пункта.  В командной строке необходимо ввести команду: > ntdsutil "auth restore" "restore object cn=”имя учётной записи”,ou=”имя орг.единицы”,dc=ypr,dc=ru" q  Перезагрузить контроллер домена.

Восстановление базы данных в случае потери или повреждения файла БД

Холодное резервное копирование - копирование файлов непосредственно на диск. При восстановлении все изменения теряются.  Горячее резервное копирование - вводится команда SQL, после чего начинается копирование, причём пользователи могут проводить изменения при копировании. После этого можно восстановить БД в актуальное состояние без потери данных, используя журнальные файлы. Использование утилиты экспорта для создания дампа БД или отдельных объектов, и использование утилиты импорта для извлечения данных из этого дампа.

Восстановление всей системы сервере при пожаре, вирусах, критичных ошибках самого RAID-массива и прочее.

Подготовить сервер к установке системы. Установить на сервер Windows 2003 с прежними исходными параметрами. Установить все необходимые приложения и службы на серверах, поднять службу AD на контроллере домена, установить Oracle на сервере БД. Восстановить все системные настройки из последней резервной копии.

6.5.3 Отказоустойчивые диски

В основе средств обеспечения отказоустойчивости дисковой памяти лежит общий для всех отказоустойчивых систем принцип избыточности, и дисковые подсистемы RAID (Redundant Array of Independent Disks). Идея технологии RAID - массивов состоит в том, что для хранения данных используется несколько дисков, даже в тех случаях, когда бы хватило и одного.

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

Существуют следующие основные виды массивов RAID:

Массив RAID

Преимущества

Недостатки

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

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

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

RAID-1 реализует подход зеркальное копирование. Состоит из одной или нескольких пар дисков, данные на которых дублируются

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

- высокая стоимость на единицу объема - 100% избыточность; - невысокая скорость передачи данных.

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

- высокая скорость записи данных; - достаточно высокая скорость чтения данных; - высокая производительность при большой интенсивности запросов чтения/записи данных; - малые накладные расходы для реализации избыточности.

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

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

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

- очень высокая стоимость; - ограниченное масштабирование;  - минимум дисков - 4.


Таким образом, наибольшую производительность обеспечивает RAID-1+0, однако он требует как минимум 4 жёстких диска, поэтому его применение в организации невыгодно.

Вариант RAID-5 требует три диска, покупка которых выйдет дороже, чем покупка одного диска для RAID-1. RAID-1 производительнее чем RAID-5. К тому же наличие 2-х жёстких дисков для записи данных для серверов AD и NAT избыточно. Поэтому, несмотря на меньшую избыточность RAID-5, будет установлен тип RAID-1.

Таким образом, для каждого сервера требуется приобретение дополнительного жёсткого диска.

Восстановление RAID-массивов

Ситуация

Действия по восстановлению RAID-массива

Отказ одного (несистемного) тома «зеркала»

1. Разрушить «зеркало»: с помощью утилиты Disk Management - Break Mirrored Volume - Yes. В результате будут созданы два независимых тома. 2. Необходимо восстановить работоспособность отказавшего тома. В данном случае рассматривается аппаратный сбой, в результате которого дальнейшее использование диска невозможно или нецелесообразно. В таком случае необходимо извлечь неисправный диск и заменит его другим такой же модели. Если возможно восстановить работоспособность диска, то необходимо произвести её программными средствами, а затем перейти к следующему шагу. 3. Необходимо восстановить «зеркало» После замены отказавшего диска новым, необходимо восстановить зеркальный набор. Для этого следует в утилите Disk Management, выбрать исправный том разрушенного зеркального набора и нажать Add Mirror и далее следовать указанием раздела «Зеркальное отображение существующих томов».

Отказ системного тома «зеркала»

1. При зеркальном отображении системного тома в файл boot.ini должна быть добавлена строка типа, позволяющая загружаться с вторичного зеркального диска: Multi(0) disk(0) rdisk(1) partition(1)\WINNT=”Boot Mirror D: - Secondary plex” Для SCSI первое слово не multi, a scsi. 2. Загрузившись с вторичного диска, необходимо восстановить зеркало (при необходимости заменить повреждённый диск).  Для этого необходимо в Disk Management выбрать исправный том разрушенного зеркального набора, нажать Add Mirror и далее следовать указанием раздела «Зеркальное отображение существующих томов».  3. По завершении восстановления зеркального набора с помощью утилиты Disk Management повторно разрушить «зеркало» и убедиться, что основной диск в оригинальном зеркальном наборе получил ту же букву, которая ранее была у набора. Если буква другая, необходимо вручную назначить ту же букву, что и у первого тома.  4. После этого выбрать Add Mirror. 5. Изменить файл boot.ini, чтобы система загружалась с исходного диска.

Нарушение синхронизации зеркального набора

Подобная ситуация может произойти, например, если один из томов зеркала был, по какой-либо причине, временно выведен из его состава, без потерь данных. При этом, на другом (исправном) томе «зеркала» данные продолжили обновляться. Для восстановления нормальной работы зеркального набора, необходимо провести ресинхронизацию набора. Для ресинхронизации отказавшего дискового набора необходимо провести следующие действия. 1. Необходимо убедиться, что статус зеркального набора - отказавшая избыточность (Failed Redundancy). В случае статуса Отключен (Offline) или потерян (Missing), необходимо проверить, подключен ли диск.  2. Если статус диска Не читается (Unreadable), то необходимо выбрать в меню Action пункт Rescan Disks. Если вновь подключенный том не вернулся в подключенное состояние, то необходимо выбрать пункт Remove Mirror, а затем Add Mirror щелчком на исправном томе. 3. В утилите Disk Management - Выделить отказавший диск - Reactivate Disk. Статус диска должен измениться на Регенерация (Regenerating), а затем Исправен (Healthy). 4. Щелчком правой кнопки мыши выбрать Ресинхронизировать зеркало (Resynchronize Mirror).


Глава 7. Охрана условий труда

7.1 Анализ условий труда на рабочем месте

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

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

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

 

7.1.1 Характеристика рабочих мест

Рассматриваемый выше комплекс задач подсистемы закупки оборудования муниципального учреждения Управления Здравоохранения Администрации Ленинского муниципального района предназначен для автоматизации функций, выполняемых сотрудниками экономического отдела. Эксплуатация этих задач предполагает создание в отделе автоматизированных рабочих мест, оборудованных вычислительными комплексами на базе персональных ЭВМ (ПЭВМ) IBM PC ATX или IBM-совместимых.

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

Помещение экономического отдела имеет следующие размеры: ширина - 4000 мм; длина - 7000 мм; высота - 3500 мм; количество принтеров - 3. В помещении расположены 3 рабочих места. Они оборудованы ПЭВМ, потребляемая мощность каждой из которых составляет 0,8 кВт. Схема помещения отдела экономики представлена на рисунке ниже.

Тяжесть труда в соответствии с выделяемым человеком количеством тепла в час, можно определить как легкую. Самочувствие и работоспособность человека зависят от состояния метеорологических условий производственной среды, под которыми согласно ГОСТ 12.1.005-88 понимается сочетание температуры, относительной влажности и скорости движения воздуха.

СанПин 2.2.2.542-96 устанавливает конкретные и допустимые нормы параметров микроклимата. Кроме того, работоспособность и самочувствие человека зависит от ряда других факторов, которые воздействуют на человека на рабочих местах.

Схема помещения экономического отдела

7.1.2 Оценка опасных и вредных производственных факторов

На сотрудников экономического отдела возможно негативное влияние следующих факторов:

. Несоответствие пространственных и эргономических характеристик рабочих мест необходимым требования.

Это несоответствие включает в себя неправильный выбор рабочей позы, объема пространства рабочего места и проектирование моторного поля (пространство, в котором размещены средства управления машиной) рабочего места. Для соответствия рабочего места требованиям эргономики, необходимо правильно выбрать рабочую позу, размеры пространства и организацию рабочего места. В частности по ГОСТ при работе на ЭВМ площадь рабочего места должна быть не менее 6 м2, а объем рабочего пространства - не менее 19м3. Площадь МТС 28 м2, а объем рабочего пространства в отделе 98 м3, что соответствует требованиям. Кроме того, необходимо правильно разместить клавиатуру (80-100 мм от края) и дисплей (600-700 мм от глаз пользователя). Также необходимо должным образом подобрать и отрегулировать компьютерное кресло, подобрать стол нужной высоты и площади для удобной работы. Также важно настроить визуальные параметры, то есть правильно установить яркость и контрастность дисплея. При несоблюдении требований эргономики быстро появляется утомляемость, а также могут возникнуть травмы повторяющихся нагрузок (заболевания сухожилий запястий, рук и плеч). Основными данными для проектирования пространственных и эргономических характеристики является рост человека. Также необходимо рационализировать режим работы, делать перерывы для выполнения физических упражнений для разогрева рук и плеч.

2. Опасное напряжение электрического тока.

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

3. Несоответствие нормам параметров микроклимата.

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

·   температура воздуха t°C = 20-23°C в холодный и переходный сезоны и 22-25°С в теплый сезон;

·        атмосферное давление Р=1013,15± 266 ГПа;

·        скорость движения воздуха V=0,22 ± 0,2 м/сек.

Для отдела экономики Управления Здравоохранения Администрации Ленинского муниципального района наиболее вероятны такие отклонения параметров микроклимата, как изменение температуры (повышение до +30 градусов летом и снижение до +10 градусов зимой) и влажности воздуха. Для поддержания в отделе оптимальных (комфортных) параметров микроклимата следует устанавливать дополнительные к центральному отоплению нагревательные приборы, проветривать помещение, осуществлять кондиционирование воздуха и т.д.

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

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

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

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

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

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

6. Высокий уровень шума.

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

7. Недостаточность производственного освещения рабочего места.

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

. Пожарная опасность.

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

7.1.3 Рекомендации по улучшению условий труда

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

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

Основной нормирующий параметр - освещенность (Е, лк - для искусственного освещения, КЕО, % - для естественного).

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

Для снижения вредных излучений предлагается оснастить все мониторы защитными экранами и расположить рабочие места, оборудованные ЭВМ на расстоянии 2 м друг от друга и на расстоянии не менее 1,5 м от рабочих мест, не оборудованных ЭВМ. Так же крайне рекомендуется не использовать устаревшие ЭЛТ мониторы, а переходить на современные жидкокристаллические мониторы.

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

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

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

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

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

·        недостаточная проветриваемость помещений;

·        пожарная опасность;

·        несоответствие оборудования рабочего места требования эргономики.

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

·        оптимизировать рабочее место в соответствии с нормами;

·        рассчитать и выбрать автоматическую систему тушения пожара;

·        выбрать кондиционер для поддержания оптимального микроклимата в помещении.

.2 Выбор кондиционера для поддержания микроклимата в помещении

Для обеспечения оптимального микроклимата в данном помещении необходимо установить кондиционер.

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

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

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

Источники тепла:

·        ПЭВМ (300Вт) х 3

·        Человек (100Вт) х 3

·        Принтер (300Вт) х 3

·        Освещение (40Вт) х 16

1. Определение количества тепла:

Qобщ = (Q1 + Q2 + Q3)/ 1.2

Q1 - теплопотеря за счет разности температур

q - большое остывание 40 вт\м3

Q1 = Vq = (7*4*3,5)*40 = 3920Вт

Q2 - теплопоток от людей

Q2 = n * 100 Вт = 300Вт

Q3 - теплоемкость от орг.техники

Q3 = 300*3 + 300*3 + 40*16 = 2440Вт

Qобщ = (3920 + 300 + 2440) / 1.2 = 5.5кВт

2. Определение объема и количества воздуха, которое необходимо заменять в час

G = m * V, где m - кол-во замен воздуха в час ( = 5)

G = 5 * 98 = 490 м3

3. Величина требуемого воздухообмена по избытку тепла определяется по формуле:

Gm = Qконд / (kэф • с • (tn - tb)), где

kэф - коэффициент эффективности воздухообмена (kэф= 1);

с - объемная теплоемкость воздуха при постоянном давлении, принимаемая

с = 0.24 ккал/м3 • град = 0.279 Вт/м3 • град • ч.

Gm = 5550 /[1· 0.279 · (32 - 24)] = 2464 м3

Для данного кабинета подойдет кондиционер Hitachi RAS-24СH7

Потребляемая мощность 2.270-2.400 Вт

Расход воздуха (макс.), м3/ч 810

7.3 Расчет автоматической и аэрозольной системы тушения пожара

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

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

-    предотвращение распространения пожара на соседние комнаты;

-        требуемая огнестойкость здания;

         применение средств тушения пожара (огнетушители);

         применение пожарной сигнализации;

         применение автоматических средств тушения или обнаружения пожара;

         обеспечение безопасной эвакуации людей во время пожара (план эвакуации).

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

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

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

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

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

В организации в качестве огнетушащего состава будет использован ХЛАДОН 114 В2 (тетрафтордибромэтан). Хладон характеризуется высокой огнетушащей эффективностью, им можно тушить электронные установки. В отделе экономики будут установлены модули газового пожаротушения, предназначенные для хранения и выпуска огнетушащих составов. Используемый тип - модули газового пожаротушения МПХ65-50-50 - модули предназначены для использования в составе автоматических установок газового пожаротушения для защиты помещений и технологического оборудования объемным или локальным способом.

Модули могут быть активированы при подаче электрического импульса пневматического давления или с помощью устройства ручного пуска. Вместимость модулей - 50 л, масса хладона в балоне - 75 кг. Габариты модуля: габаритные размеры, мм: высота - 930мм (1450мм), диаметр 357мм. Диаметр оросителя принимается - 10мм.

В таблице 1.4. приведены все необходимые для расчета величины и формулы для их расчета.

Таблица 1.4

Величина

Пояснение

Значение

k

коэффициент компенсации неучтенных потерь, принимаемый по СН75-76, 1,07-1,25 в зависимости от степени герметичности защищаемого помещения

по СН 75 - 76

qn

массовая огнетушащая концентрация огнетушащего средства

по СН 75 - 76

Wc

свободный объем защищаемого помещения

Wc = Vпом - Vоборуд

Jp

расчетная масса огнетушащего состава (кг);

Jp = k * qn * Wc

k2

коэффициент, учитывающий остаток состава в баллонах

по СН 75 - 76

kl

коэффициент, неучтенных потерь огнетушащих веществ

по СН 75 - 76

Jo6щ

общее количество огнетушащего вещества (кг)

Jo6щ = l,l * Jp *(1 + k2/kl)

nбал

число баллонов

nбал = 2 * Jобщ / Jбал, где 2 - коэффициент, учитывающий 100% - запас огнетушащего средства;

Jбал

масса огнетушащего средства в баллоне

75 кг

dM

диаметр магистрального трубопровода

dM = dc * 0,5

dp

диаметр распределительного трубопровода

dp = dM * (Jp / Jm) * 0,5

dc

диаметр сифонной трубки в рабочем баллоне

(10, 12, 17 мм)

пор

требуемое число выпускных оросителей

пор = qp / qop

qp

расчетный расход хладона, кг/с

qp = Jp / (te- tз)

tиc

время истечения хладона

tиc = tн - t3

время заполнения трубопровода

Норматив (30 с)

нормативное время тушения

Норматив (120 с)

qop

расход хладона через ороситель (кг/с)

qop = m*f*p*(2*g*h)*0,5

m

коэффициент истечения хладона для оросителей

0,6

f

площадь отверстия оросителя (м2)

f = 3,14*(10/2/1000)^2 = 0,00008

р

плотность хладона (кг/м3)

11,5 кг/ м3

g

ускорение силы тяжести (м/с^2 )

g = 9,8

h

напор у наиболее удаленного оросителя к концу работы

h = 12

Исходные данные:

Рассчитываемая автоматическая система тушения пожара предназначена для защиты помещения отдела экономики размером 7 х 4 х 3,5 м. Строительный объем помещения - 98 м3. Суммарный объем оборудования - 30 м3.

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

k = 1,2; qn = 0,202 кг/м3 (категория помещения по пожарной опасности "В").

k2 = 0,1

m =0,6

p=11,5 кг/м

Также принимаем dc = 12 мм.

Расчет:

Wс = 98-30 = 68 м3;

Расчетная масса хладона:

Jp= 1,2*0,202*68 = 16,48 кг.

Общее количество хладона:

Jобщ = 1,1 * 16,48 * (1 + 0,1/1,2) = 19,64 кг

Число баллонов:

nбал = 2 * 19,64 / 75 = 0,52 - округляется до 1 баллона.

Определяем dM и dp при

Jm = 16,48 кг и Jp = 16,48 кг:

dM= 12*(1)*0,5 = 6 мм

dp = 6 * (16,48 /16,48) * 0,5 = 3 мм

Расход хладона через ороситель:

qop = 0,6 * 0,00008 * 11,5 * (2* 9,8* 12) * 0,5 = 0,069 кг/с

Расчетный расход хладона qp (кг/с):

qp = 16,48 / (120 - 30) = 0,18 кг/с

Расчетное число оросителей:

пор = 0,18 / 0,069 = 2,6 = 3 штуки.

Таким образом, для обеспечения пожарной безопасности отдела экономики Управления Здравоохранения Администрации Ленинского муниципального района, необходима установка 1 баллона МПХ65-50-50 с хладоном 114 В2, а также установка 3 оросителей.

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

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

Эксплуатация комплекса задач подсистемы закупки оборудования Управления Здравоохранения Администрации Ленинского муниципального района предполагает создание автоматизированных рабочих мест на базе ЭВМ. Сотрудник, обслуживающий систему, большую часть рабочего времени проводит сидя за рабочим местом. Поэтому оно должно быть спроектировано и оборудовано согласно требованиям Р2.2.013-94 («Рабочее место при выполнении работ сидя»). Конструкция рабочего места и взаимное расположение всех его элементов (сиденье, органы управления, средства отображения информации и др.) должны соответствовать антропологическим, физиологическим и психологическим требованиям, а также характеру выполняемой работы.

При создании рабочих мест следует исходить из того, что они должны быть приспособлены для комфортного труда не менее чем 90 - 95% всех работающих за счет возможности легко изменять их параметры. К основным компоновочным параметрам рабочего места при работе сидя относятся: рабочий стол; рабочие поверхности (высота над опорной поверхностью, ширина, глубина, толщина); рабочие сиденья (высота над полом, диапазон и шаг регулирования высоты) и спинки (угол наклона, диапазон и шаг регулирования угла наклона, диапазон и шаг подвижности - вперед, назад); параметры подставки для ног (ширина, глубина или длина, высота над полом переднего и заднего края, диапазон и шаг регулирования высоты, угол, диапазон и шаг регулирования наклона подставки для ног); пространство для ног (высота над опорной поверхностью, над сиденьем, ширина и глубина на уровне колен, глубина на уровне стоп); параметры подвижность рабочего сидения (диапазон подвижности рабочего сидения вперед-назад и в стороны, шаг его подвижности, угол вращения сидения вокруг вертикальной оси). А также досягаемость в моторном пространстве по высоте (от пола до приводного элемента каждого органа управления, независимо от того, где он находится); по глубине при свободно подвижном сидении (проекционные расстояния от фронтальной (воображаемой) плоскости, параллельной переднему краю оборудования, до приводных элементов органов управления); при ограниченной подвижности сидения вперед-назад (проекционное расстояние от фронтальной (воображаемой) плоскости, параллельной заднему краю плоскости сидения, до приводных элементов органов управления); а также по ширине (проекционное расстояние от срединносочитательной профильной плоскости сидения до приводных элементов органов управления).

ЭВМ устанавливают ниже глаз оператора при условии, что угол наблюдения экрана относительно горизонтальной линии взгляда не будет превышать 60°. Это позволяет хорошо различать изображение в любой точке экрана, без необходимости поднимать или опускать голову. Экран располагается на оптимальном расстоянии от глаз оператора в пределах 600-700 мм (допустимо 500 мм), зависит это расстояние главным образом от размеров читаемых (вводимых) алфавитно-цифровых знаков и символов.

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

Рабочий стол должен обеспечивать возможность наилучшего размещения на нем необходимого комплекта оборудования и документов с учетом характера выполняемой пользователем работы. Рабочие столы могут быть: регулируемыми или нерегулируемыми по высоте; иметь две независимые регулируемые по высоте поверхности; с двумя регулируемыми поверхностями, одна из которых регулируется только по высоте, а другая по высоте и наклону. Изменяться высота рабочей поверхности стола должна в пределах 650…850 мм при рабочей позе оператора сидя, без лишних усилий и надежно фиксироваться. Регулировочные приспособления (механизмы) должны быть удобными и легко досягаемыми для рук оператора. Нерегулируемые столы должны иметь высоту равной 725 мм, а также пространство для ног высотой - не менее 600 мм, шириной - не менее 500 мм, глубиной на уровне колен - не менее 450 мм и на уровне вытянутых ног - не менее 650 мм. Размеры рабочей поверхности стола должны быть: глубина - не менее 600 мм (предпочтительно 800 мм), ширина - не менее 1200 мм (предпочтительно 1600 мм). На ней не должно быть острых углов и краев, а покрытие рабочей поверхности стола должно быть выполнено из диффузно отражающего материала с коэффициентом отражения 0,45…0,5. Рабочий стул выбирается в зависимости от характера и продолжительности работы с учетом роста оператора. Он должен обеспечивать поддержание физиологически рациональной рабочей позы в процессе всего трудового периода, создавать условия для изменения позы с целью снижения статического напряжения мышц шейно-плечевой области и спины, а также во избежании нарушения циркуляции крови в нижних конечностях. Рабочий стул должен быть подъемно-поворотным и регулироваться по высоте и углом наклона сиденья и спинки, а также расстояния спинки от предельного края сидения. Кроме того, сиденье должно быть оснащено стационарными или съемными подлокотниками, регулируемыми по высоте над сиденьем, а также между собой. Регулирование каждого положения должно быть независимым, легко осуществимым и иметь надежную фиксацию.

Поверхность сидения должна иметь ширину и глубину не менее 400 мм, а конструкция должна предусматривать возможность изменять угол наклона поверхности сиденья на 15° вперед и до 5° назад. Передний край поверхности сиденья должен быть закруглен. Высота поверхности сиденья регулируется в пределах 300…500 мм. Опорная поверхность спинки стула должна иметь высоту 300+20 мм, ширину не менее 380 мм и радиус кривизны в горизонтальной плоскости 400мм. Угол наклона спинки в вертикальной плоскости регулируется в пределах 0°+30° от вертикального ее положения. Расстояние спинки от переднего края сиденья должно регулироваться в пределах 260…400 мм. Подлокотники должны иметь длину не менее 250 мм, ширину - 50…70 мм, а также регулироваться по высоте под сиденьем в пределах 230…30 мм и внутри между собой в пределах 350…500 мм. Регулирование каждого положения сидения должно быть независимо, легко осуществляться и надежно фиксироваться. Поверхность сиденья и спинки должна быть полумягкой, с нескользящим, неэлектризующимся и воздухопроницаемым покрытием, допускающим мокрую очистку от загрязнений. Наилучший вариант, если сиденья и спинки снабжены еще и лнгкосъемными чехлами.

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

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

Зона досягаемости моторного поля в вертикальной плоскости

Зона досягаемости моторного поля в горизонтальной плоскости при высоте рабочей поверхности над полом 725 мм


Зоны для выполнения ручных операций и размещения органов управления

Зоны зрительного наблюдения в вертикальной плоскости

Зоны зрительного наблюдения в горизонтальной плоскости


Пример под личные параметры.

Спроектировать рабочее место пользователя ПК, отвечающее требованиям эргономики.

По ГОСТ 12.2.032-78 ("Рабочее место при выполнении работ сидя") оптимальная высота сидения в зависимости от роста приведена в таблице.

Таблица

Рост человека, мм

1500

1600

1700

1800

1900

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

300

400

420

470

500

Пространство для ног, мм

550

580

620

670

710

Высота рабочей поверхности, мм

650

700

750

800

850

 

Исходные данные.

Оператор женщина. Рост 1600 мм. Компьютер включает следующие элементы: дисплей, системный блок, принтер, клавиатура, мышь. Компьютерный стол имеет постоянную высоту 750 мм и размеры 1600*650 мм. Кресло регулируемое.

Решение.

. Определение высоты стула. Для роста 1600 мм высота стула равна 400 мм.

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

. Определение размещения дисплея. Дисплей должен располагаться на уровне глаз оператора. Высота глаз от пола для роста 1600 мм равна 1100+97=1197 мм. Расстояние до экрана берем равным 600 мм.

. Определение расположения клавиатуры. Клавиатуру следует располагать на расстоянии 100 мм от края стола.

. Остальные приборы комплекта следует располагать в зоне досягаемости моторного поля. Не далее 457 мм от края стола.

Глава 8. Эффективность внедрения АСУ

Внедрение АСУ направлено на улучшение управления и повышение эффективности производства. Получаемый эффект делится на социальный и экономический.

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

Экономический эффект от внедрения АСУ проявляется в увеличении прибыли организаций. Дополнительный экономический эффект получают также от снижения сроков производства работ.

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

При определении эффективности следует учесть преимущества АСУ перед неавтоматизированным способом решения задач:

- Уменьшение времени ввода необходимой информации;

- Уменьшение времени обработки данных и решения задач на основании этих данных;

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

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

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

В рамках данной подсистемы разрабатывается 11 выходных документов.

Основные показатели:

периодичность - частота разработки документа,

значимость - количество символов в документе,

трудоемкость - количество часов, требующееся для разработки документа одним сотрудником.

Перечень документов подсистемы и их параметры при неавтоматизированных расчетах

Наименование документа

Периодичность

Значимость

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

1. Общая заявка на закупку медицинского оборудования для нужд ЛПУ

Раз в год

764*кол-во оборудования

0,6 чел-ч*кол-во оборудования

2. Спецификация медицинского оборудования для нужд ЛПУ по лотам

Раз в год

844*кол-во оборудования

0,8 чел-ч*кол-во оборудования

3. Список выбранных поставщиков

Раз в год

220*кол-во поставщиков*кол-во лотов

1,75 чел-ч*кол-во поставщиков* кол-во лотов

4. План поставки оборудования (общий)

Раз в год

792*кол-во договоров*кол-во оборудования

1,15 чел-ч*кол-во договоров*кол-во оборудования

5. План поставки оборудования (для Поставщиков)

Раз в год

624*кол-во поставщиков*кол-во оборудования

1,3 чел-ч*кол-во поставщиков*кол-во оборудования

6. План поставки оборудования (для ЛПУ)

Раз в год

624* кол-во оборудования*кол-во ЛПУ

1,3 чел-ч*кол-во ЛПУ*кол-во оборудования

7. План проведения ПНР (общий)

Раз в год

824*кол-во оборудования

1,2 чел-ч *кол-во оборудования

8. План проведения ПНР (для поставщиков)

Раз в год

656*кол-во поставщиков* кол-во оборудования

1,35 чел-ч*кол-во поставщиков*кол-во оборудования

9. План проведения ПНР (для ЛПУ)

Раз в год

656*кол-во ЛПУ*кол-во оборудования

1,35 чел-ч*кол-во ЛПУ*кол-во оборудования

10. Претензии к поставщику (поставка)

Раз в месяц

884* кол-во договоров*кол-во оборудования

1,1* кол-во договоров*кол-во оборудования

11. Претензии к поставщику (ПНР)

Раз в месяц

940* кол-во договоров*кол-во оборудования

1,2* кол-во договоров*кол-во оборудования


Расчет:

1. Значимость:

Общая заявка на закупку медицинского оборудования для нужд ЛПУ:

Кол-во цифр: 23

Кол-во букв: 84

Значимость: 23*4+84*8=764

Спецификация медицинского оборудования:

Кол-во цифр: 23

Кол-во букв: 94

Значимость: 23*4+94*8=844

Список выбранных поставщиков:

Кол-во цифр: 5

Кол-во букв: 25

Значимость: 5*4+25*8=220

План поставки оборудования (общий):

Кол-во цифр: 10

Кол-во букв: 94

Значимость: 10*4+94*8=792

План поставки оборудования (для Поставщиков):

Кол-во цифр: 10

Кол-во букв: 73

Значимость: 10*4+73*8=624

         План поставки оборудования (для ЛПУ):

Кол-во цифр: 10

Кол-во букв: 73

Значимость: 10*4+73*8=624

План проведения ПНР (общий):

Кол-во цифр: 18

Кол-во букв: 94

Значимость: 18*4+94*8=824

         План проведения ПНР (для Поставщиков):

Кол-во цифр: 18

Кол-во букв: 73

Значимость: 18*4+73*8=656

План проведения ПНР (для ЛПУ):

Кол-во цифр: 18

Кол-во букв: 73

Значимость: 18*4+73*8=656

Претензии к поставщику (поставка):

Кол-во цифр: 33

Кол-во букв: 94

Значимость: 33*4+94*8=884

Претензии к поставщику (ПНР):

Кол-во цифр: 47

Кол-во букв: 94

Значимость: 47*4+94*8=940

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

Перечень документов подсистемы и их характеристики при автоматизации функций ввода и расчетов выходных показателей

Наименование документа

Время ввода данных (Тв)

Время на создание документа (Тс)

Эффект (Т/(Тс+Тв))

1. Общая заявка на закупку медицинского оборудования для нужд ЛПУ

0,2*кол-во оборудования

0,03*кол-во оборудования

2,6

2. Спецификация медицинского оборудования для нужд ЛПУ по лотам

0,2*кол-во оборудования

0,05*кол-во оборудования

3,2

3. Список выбранных поставщиков

0,8* кол-во поставщиков*кол-во лотов

0,11* кол-во поставщиков*кол-во лотов

1,92

4. План поставки оборудования (общий)

0,3*кол-во договоров*кол-во оборудования

0,09*кол-во договоров*кол-во оборудования

2,95

5. План поставки оборудования (для Поставщиков)

0,4*кол-во поставщиков*кол-во оборудования

0,06*кол-во поставщиков*кол-во оборудования

2,87

6. План поставки оборудования (для ЛПУ)

0,4* кол-во оборудования*кол-во ЛПУ

0,06* кол-во оборудования*кол-во ЛПУ

2,87

7. План проведения ПНР (общий)

0,3*кол-во оборудования

0,09*кол-во оборудования

3,08

8. План проведения ПНР (для поставщиков)

0,4*кол-во поставщиков* кол-во оборудования

0,06*кол-во поставщиков* кол-во оборудования

2,93

9. План проведения ПНР (для ЛПУ)

0,4*кол-во ЛПУ*кол-во оборудования

0,06*кол-во ЛПУ*кол-во оборудования

2,93

10. Претензии к поставщику (поставка)

0,6* кол-во договоров*кол-во оборудования

0,03* кол-во договоров*кол-во оборудования

1,75

11. Претензии к поставщику (ПНР)

0,7* кол-во договоров*кол-во оборудования

0,03* кол-во договоров*кол-во оборудования

1,64


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

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

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

В результате внедрения АСУ в Управление Здравоохранение Администрации Ленинского муниципального района удастся добиться более высоких показателей в точности и скорости подготовки документации для проведения тендера, более точного и качественного подбора поставщиков для поставки медицинского оборудования, что, несомненно, положительно скажется на общем уровне оказания услуг в сфере здравоохранения во всём Ленинском районе.

Заключение

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

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

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

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

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

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

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

На основании анализа условий трудовой деятельности работников Управления Здравоохранения Администрации Ленинского муниципального района, был разработан комплекс мероприятий по охране труда на рабочих местах экономического отдела, направленный на предупреждение производственного травматизма и профессиональных заболеваний, а также на обеспечение комфортных условий производственной среды, а также предложены меры по обеспечению противопожарной безопасности.

Расчёт экономической эффективности внедрения АСУ в учреждении показал, что такое внедрение будет целесообразно, и затраты на него окупятся примерно через ____ года.

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

Литература

1.  Барановская Т.П., Лойко В.И., Семёнов М.И., Трубилин И.Т., Автоматизированные информационные технологии в экономике. - М.: «Финансы и статистика», 2010.

2.      Беляев И.П., Основы теории принятия решений. - М.: Типография МГСУ, 2005.

.        Булыгин В.И., Гаряев Н.А., Сапожников В.Н., Охрана труда на рабочем месте с компьютером. Методические рекомендации раздела «Охрана труда» дипломного проекта. - М.: - БФРГТЗ «Слово», 2005.

.        Волкова К.А., Казакова Ф.К., Предприятие: положения об отделах и службах, должностные инструкции. - М.: «Экономика», 2009.

.        Гордеев А.В., Гордеев А.В., Молчанов А.Ю., Системное программное обеспечение. - СПб.: «Питер», 2001.

.        Грабер М., SQL. - М.: «Лори», 2012.

.        Олифер В.Г., Олифер Н.А., Компьютерные сети. 3-е издание. - СПб.: «Питер», 2006.

.        Задворьев И.С., Смирнов С.Н., Работаем с Oracle. - М.: «Гелиос АРВ», 2010.

.        Кайт Т., Oracle для профессионалов. - М.: «Dia-Soft», 2009.

.        Ильин Н.И., Лукманова И.Г., Шапиро В.Д., Управление проектами. - СПб.: «ДваТрИ», 2006.

.        Олифер В.Г., Олифер Н.А., Сетевые операционные системы. - СПб.: «Питер», 2002.

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

.        СНиП 21-01-97 Пожарная безопасность зданий и сооружений

.        Смирнов С.Н., Обработка документов средствами Oracle. - М.: «Гелиос АРВ», 2007.

.        Станек У.Р., Microsoft Windows Server 2003. Справочник администратора. - М.: «Microsoft Press - Русская редакция», 2004.

Приложение

Текст программы

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit5.h"

#include "Unit6.h"

#include "Unit8.h"

#include "Unit9.h"

#include "Unit10.h"

#include "Unit11.h"

#include "Unit12.h"

#include "Unit13.h"

#include "Unit14.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm1::N2Click(TObject *Sender)

{_1 = 1;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N3Click(TObject *Sender)

{_1 = 2;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N4Click(TObject *Sender)

{_1 = 3;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N5Click(TObject *Sender)

{_1 = 4;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N6Click(TObject *Sender)

{_1 = 5;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N7Click(TObject *Sender)

{_1 = 6;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N9Click(TObject *Sender)

{_1 = 7;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N10Click(TObject *Sender)

{_1 = 8;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N12Click(TObject *Sender)

{= new TForm3(this);(Form3->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N13Click(TObject *Sender)

{= new TForm4(this);(Form4->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N15Click(TObject *Sender)

{->Connected = false;CS = PromptDataSource(reinterpret_cast<unsigned int>(Handle), "");->ConnectionString = CS;->Connected = true;->Enabled = false;->Enabled = true;

}

//---------------------------------------------------------------------------__fastcall TForm1::N16Click(TObject *Sender)

{->Connected = false;->ConnectionString = "";->Enabled = true;->Enabled = false;

}

//---------------------------------------------------------------------------__fastcall TForm1::FormActivate(TObject *Sender)

{(ADOConnection1->Connected == true)

{

         N15->Enabled = false;

         N16->Enabled = true;

}

{

         N15->Enabled = true;

         N16->Enabled = false;

}

}

//---------------------------------------------------------------------------__fastcall TForm1::N17Click(TObject *Sender)

{_1 = 9;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N18Click(TObject *Sender)

{_1 = 10;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N19Click(TObject *Sender)

{_1 = 11;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N20Click(TObject *Sender)

{_1 = 12;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N21Click(TObject *Sender)

{= new TForm5(this);(Form5->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N22Click(TObject *Sender)

{= new TForm6(this);(Form6->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N23Click(TObject *Sender)

{= new TForm8(this);(Form8->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N24Click(TObject *Sender)

{= new TForm9(this);(Form9->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N25Click(TObject *Sender)

{_1 = 13;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N26Click(TObject *Sender)

{= new TForm10(this);(Form10->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N27Click(TObject *Sender)

{= new TForm11(this);(Form11->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N28Click(TObject *Sender)

{= new TForm12(this);(Form12->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N29Click(TObject *Sender)

{_1 = 14;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N30Click(TObject *Sender)

{= new TForm13(this);(Form13->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N31Click(TObject *Sender)

{_1 = 15;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N32Click(TObject *Sender)

{_1 = 16;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::N33Click(TObject *Sender)

{= new TForm14(this);(Form14->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)

{->DestroyHandle();->Close();

}

//---------------------------------------------------------------------------__fastcall TForm1::N34Click(TObject *Sender)

{->Visible=true;->Visible=true;

}

//---------------------------------------------------------------------------__fastcall TForm1::MaskEdit1Change(TObject *Sender)

{(MaskEdit1->Text == "lfq vyt ljcneg")

{

         N1->Enabled = true;

         N8->Enabled = true;

         Label1->Visible=false;

         MaskEdit1->Visible=false;

}

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm2::FormShow(TObject *Sender)

{(Form1->sw_1)

{

         case 1:

                   Caption = "Справочник ЛПУ";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT lpu_id \"Номер ЛПУ\", lpu_name \"Наименование ЛПУ\", lpu_addr \"Адрес\", lpu_tel \"Телефон\" FROM spr_lpu");

                   ADOQuery1->Active = true;

                   break;

         case 2:

                   Caption = "Справочник Типов Оборудования";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT type_id \"Номер типа\", type_name \"Наименование типа\" FROM spr_type");

                   ADOQuery1->Active = true;

                   break;

         case 3:

                   Caption = "Справочник Моделей Оборудования";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT type_id \"Номер типа\", model_id \"Номер модели\", model_name \"Наименование модели\", ed_izm_id \"Ед. изм.\", model_stoim \"Стоимость\" FROM spr_model");

                   ADOQuery1->Active = true;

                   break;

         case 4:

                   Caption = "Справочник Ед. Измерения";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM spr_ed_izm");

                   ADOQuery1->Active = true;

                   break;

         case 5:

                   Caption = "Справочник Кабинетов";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM spr_kab");

                   ADOQuery1->Active = true;

                   break;

         case 6:

                   Caption = "Табель Оснащения";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM tabel_osn");

                   ADOQuery1->Active = true;

                   break;

         case 7:

                   Caption = "Заявка на закупку медицинского оборудования по кабинетам";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM zayavka");

                   ADOQuery1->Active = true;

                   break;

         case 8:

                   Caption = "Перечень оборудования, по учреждениям, находящегося в эксплуатации";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM oboryd");

                   ADOQuery1->Active = true;

                   break;

         case 9:

                   Caption = "Справочник поставщиков";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("select POST_ID \"Номер пост.\", POST_NAME \"Наименование\", POST_REKV \"Реквизиты\", POST_ADDR \"Адрес\", POST_TEL \"Конт. номер. тел\", POST_DATE_F_KONTR \"Дата последнего контракта\", POST_KOL_PRET \"Кол-во претензий\" from spr_post");

                   ADOQuery1->Active = true;

                   break;

         case 10:

                   Caption = "Справочник контрактов";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM spr_kontr");

                   ADOQuery1->Active = true;

                   break;

         case 11:

                   Caption = "Технические задания к контрактам";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM kontr_oboryd");

                   ADOQuery1->Active = true;

                   break;

         case 12:

                   Caption = "План поставки по контракту";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM plan_post");

                   ADOQuery1->Active = true;

                   break;

         case 13:

                   Caption = "План ПНР по контракту";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM plan_pnr");

                   ADOQuery1->Active = true;

                   break;

         case 14:

                   Caption = "Данные о поставке оборудования";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM post_fakt");

                   ADOQuery1->Active = true;

                   break;

         case 15:

                   Caption = "Данные о начале ПНР";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM begin_pnr");

                   ADOQuery1->Active = true;

                   break;

         case 16:

                   Caption = "Отчет о проведении ПНР";

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Clear();

                   ADOQuery1->SQL->Add("SELECT * FROM otch_pnr");

                   ADOQuery1->Active = true;

                   break;

}

}

#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form3;

//---------------------------------------------------------------------------

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm3::Button1Click(TObject *Sender)

{->Active = false;

//Очищаем таблицу с общей заявкой->SQL->Text = "DELETE FROM ob_zayavka";

ADOQuery2->ExecSQL();

//Открываем таблицу с заявками

String ado2 = "SELECT * FROM zayavka WHERE TO_CHAR(date_post, 'YYYY') = " + Edit1->Text;->SQL->Text = ado2;->Open();

//Начинаем проверку построчно->First();

int tmp_kab, tmp_pos, tmp_type, tmp_kol;ado3;(!ADOQuery2->Eof)

{

         tmp_kab = ADOQuery2->FieldByName("KAB_ID")->AsInteger;

         tmp_pos = ADOQuery2->FieldByName("POS_MES")->AsInteger;

         tmp_type = ADOQuery2->FieldByName("TYPE_ID")->AsInteger;

         tmp_kol = ADOQuery2->FieldByName("KOL")->AsInteger;

         ado3 = "SELECT * FROM tabel_osn WHERE type_id = ";

         ado3 = ado3 + tmp_type + " AND kab_id = " + tmp_kab;

         ADOQuery3->Close();

         ADOQuery3->SQL->Text = ado3;

         ADOQuery3->Open();

         //Проверяем на количество посещений

         int i, tmp_max;

         //Получаем максимальное число обоурдования для данного кабинета

         if( tmp_pos <= 250 )

         {

                   tmp_max = ADOQuery3->FieldByName("P_250")->AsInteger;

         }

         else

         {

                   if( tmp_pos <= 500 )

                   {

                            tmp_max = ADOQuery3->FieldByName("P_500")->AsInteger;

                   }

                   else

                   {

                            tmp_max = ADOQuery3->FieldByName("P_MAX")->AsInteger;

                   }

         }

         ado3 = "SELECT * FROM oboryd WHERE lpu_id = ";

         ado3 += ADOQuery2->FieldByName("lpu_id")->AsString + " AND kab_id = " + tmp_kab + " AND type_id = " + tmp_type;

         ADOQuery3->Close();

         ADOQuery3->SQL->Text = ado3;

         ADOQuery3->Open();

         i = 0;

         //Подсчитываем имеющееся в наличии оборудование

         while(!ADOQuery3->Eof)

         {

                   i++;

                   ADOQuery3->Next();

         }

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

         i = tmp_max - i;

         if(tmp_kol > i)

                   tmp_kol = i;

         if(tmp_kol != 0)

         {

                            //Получим стоимость данной модели из справочника моделей

                   ado3 = "SELECT * FROM spr_model WHERE model_id = ";

                   ado3 += ADOQuery2->FieldByName("model_id")->AsString + " AND type_id = " + tmp_type;

                   ADOQuery3->Close();

                   ADOQuery3->SQL->Text = ado3;

                   ADOQuery3->Open();

                   //Добавляем строку в таблицу грид1 через грид3

                   ado3 = "INSERT INTO ob_zayavka VALUES (";

                   ADOQuery1->Active = true;

                   ADOQuery1->First();

                   i = 1;

                   while(!ADOQuery1->Eof)

                   {

                            i++;

                            ADOQuery1->Next();

                   }

                   ado3 = ado3 + i + "," + ADOQuery2->FieldByName("lpu_id")->AsString + "," + tmp_type + ",";

                   ado3 = ado3 + ADOQuery2->FieldByName("model_id")->AsString + "," + ADOQuery2->FieldByName("ed_izm_id")->AsString;

                   ado3 = ado3 + "," + tmp_kol + ",'" + ADOQuery3->FieldByName("model_stoim")->AsString + "','";

                   double i2;

                   i2 = ADOQuery3->FieldByName("model_stoim")->AsFloat * tmp_kol;

                   ado3 = ado3 + i2 + "',TO_DATE('" + ADOQuery2->FieldByName("date_post")->AsString + "','DD.MM.YYYY'))";

                   ADOQuery3->Close();

                   ADOQuery3->SQL->Text = ado3;

                   ADOQuery3->ExecSQL();

                   ADOQuery1->Active = false;

         }

         ADOQuery2->Next();

}->Active = true;

}

//---------------------------------------------------------------------------__fastcall TForm3::Button2Click(TObject *Sender)

{ado3;->Lines->Add("<Table border=1 align=center>");

Memo1->Lines->Add("<CAPTION><EM><B><H3>Общая заявка на закупку медицинского оборудования для нужд ЛПУ</H2></B></EM></CAPTION>");

ADOQuery1->First();->Lines->Add("<tr>");->Lines->Add("<td>");->Lines->Add(" Наименование ЛПУ ");->Lines->Add("<td>");->Lines->Add(" Тип оборудования ");->Lines->Add("<td>");->Lines->Add(" Модель оборудования ");->Lines->Add("<td>");->Lines->Add(" Ед.Изм. ");->Lines->Add("<td>");->Lines->Add(" Кол-во ");->Lines->Add("<td>");->Lines->Add(" Цена, руб. ");->Lines->Add("<td>");->Lines->Add(" Стоимость, руб. ");->Lines->Add("<td>");->Lines->Add(" Дата поставки ");->Lines->Add("<br>");(!ADOQuery1->Eof)

{

         //Делаем выборку из справочников

         Memo1->Lines->Add("<tr>");

         Memo1->Lines->Add("<td>");

         ado3 = "SELECT spr_lpu.lpu_name, spr_type.type_name, spr_model.model_name, spr_ed_izm.ed_izm_sokr FROM spr_lpu, spr_type, spr_model, spr_ed_izm WHERE spr_lpu.lpu_id =";

         ado3 = ado3 + ADOQuery1->FieldByName("lpu_id")->AsString + " AND spr_type.type_id = ";

         ado3 = ado3 + ADOQuery1->FieldByName("type_id")->AsString + " AND spr_model.model_id = ";

         ado3 = ado3 + ADOQuery1->FieldByName("model_id")->AsString + " AND spr_ed_izm.ed_izm_id = ";

         ado3 = ado3 + ADOQuery1->FieldByName("ed_izm_id")->AsString;

         ADOQuery3->SQL->Text = ado3;

         ADOQuery3->Open();

         Memo1->Lines->Add(ADOQuery3->FieldByName("lpu_name")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery3->FieldByName("type_name")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery3->FieldByName("model_name")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery3->FieldByName("ed_izm_sokr")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery1->FieldByName("kol")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery1->FieldByName("model_stoim")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery1->FieldByName("stoim")->AsString);

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add(ADOQuery1->FieldByName("date_post")->AsString);

         Memo1->Lines->Add("<br>");

         ADOQuery1->Next();

}->Lines->Add("</table><br>");save_str;_str = ExtractFilePath(Application->ExeName);_str += "\ob_zayavka.html";->Lines->SaveToFile(save_str);

}__fastcall TForm3::Button3Click(TObject *Sender)

{->Active = false;->Close();

}__fastcall TForm3::FormShow(TObject *Sender)

{->Active = true;

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit4.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form4;

//---------------------------------------------------------------------------

__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm4::Button1Click(TObject *Sender)

{->Active = false;->SQL->Text = "DELETE FROM spec_lot";->ExecSQL();->Active = true;ado2 = "SELECT * FROM ob_zayavka WHERE TO_CHAR(date_post, 'YYYY') = ";= ado2 + Edit1->Text;->Close();->SQL->Text = ado2;->Open();ins;i, lot, lot_max;->First();(!ADOQuery2->Eof)

{

         ins = "INSERT INTO spec_lot VALUES (";

         i = 1;

         lot = 1;

         lot_max = 1;

         while(!ADOQuery1->Eof)

         {

                   i++;

                   ADOQuery1->Next();

         }

         ins = ins + i + ",";->First();

         while(!ADOQuery1->Eof)

         {

                   if(lot_max < ADOQuery1->FieldByName("lot_id")->AsInteger)

                            lot_max = ADOQuery1->FieldByName("lot_id")->AsInteger;

                   if(ADOQuery1->FieldByName("type_id")->AsInteger == ADOQuery2->FieldByName("type_id")->AsInteger)

                   {

                            lot = ADOQuery1->FieldByName("lot_id")->AsInteger;

                            break;

                   }

                   lot = lot_max + 1;

                   ADOQuery1->Next();

         }

         ins = ins + lot + "," + ADOQuery2->FieldByName("lpu_id")->AsString + ",";

         ins = ins + ADOQuery2->FieldByName("type_id")->AsString + ",";

         ins = ins + ADOQuery2->FieldByName("model_id")->AsString + ",";

         ins = ins + ADOQuery2->FieldByName("ed_izm_id")->AsString + ",";

         ins = ins + ADOQuery2->FieldByName("kol")->AsString + ",'";

         ins = ins + ADOQuery2->FieldByName("model_stoim")->AsFloat + "','";

         ins = ins + ADOQuery2->FieldByName("stoim")->AsFloat + "',TO_DATE('";

         ins = ins + ADOQuery2->FieldByName("date_post")->AsString + "','DD.MM.YYYY'))";

         ADOQuery1->Active = false;

         ADOQuery3->Close();

         ADOQuery3->SQL->Text = ins;

         ADOQuery3->ExecSQL();

         ADOQuery1->Active = true;

         ADOQuery2->Next();

}

}

//---------------------------------------------------------------------------__fastcall TForm4::FormShow(TObject *Sender)

{->Active = true;

}

//---------------------------------------------------------------------------__fastcall TForm4::Button2Click(TObject *Sender)

{ado2;ado3;->Active = true;

Memo1->Lines->Add("<p align=center><B><H3>Cпецификация медицинского оборудования для нужд ЛПУ, по лотам</H3></B></p>");

Memo1->Lines->Add("<br>");->First();

int lot = 0;

//Подсчитываем количество лотов(!ADOQuery1->Eof)

{

         if(lot < ADOQuery1->FieldByName("lot_id")->AsInteger)

                   lot = ADOQuery1->FieldByName("lot_id")->AsInteger;

         ADOQuery1->Next();

}->First();i;

String lot_str;

//Добавляем названия лотов и таблицы(i = 1; i <= lot; i++)

{

         //Добавляем номер и название лота

         lot_str = "<p align=center><B><H4>Лот №";

         lot_str = lot_str + i + "<br>";

         ado3 = "SELECT * FROM spec_lot WHERE lot_id =";

         ado3 = ado3 + i;

         ADOQuery3->Close();

         ADOQuery3->SQL->Text = ado3;

         ADOQuery3->Open();

         ado2 = "SELECT * FROM spr_type WHERE type_id = " + ADOQuery3->FieldByName("type_id")->AsString;

         ADOQuery2->Close();

         ADOQuery2->SQL->Text = ado2;

         ADOQuery2->Open();

         lot_str = lot_str + ADOQuery2->FieldByName("type_name")->AsString + "</H4></B></p>";

         Memo1->Lines->Add(lot_str);

         Memo1->Lines->Add("<Table border=1 align=center>");

         Memo1->Lines->Add("<tr>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Наименование ЛПУ </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Тип оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Модель оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Ед.Изм. </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Кол-во </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Цена, руб. </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Стоимость, руб. </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Дата поставки </b>");

         Memo1->Lines->Add("<br>");

         //Делаем выборку из справочников по данному лоту

         //ado2 = "SELECT * FROM spec_lot WHERE lot_id = ";

         //ado2 = ado2 + i;

         //ADOQuery2->Close();

         //ADOQuery2->SQL->Text = ado2;

         //ADOQuery2->Open();

         while(!ADOQuery3->Eof)

         {

                   Memo1->Lines->Add("<tr>");

                   Memo1->Lines->Add("<td>");

                   ado2 = "SELECT spr_lpu.lpu_name, spr_type.type_name, spr_model.model_name, spr_ed_izm.ed_izm_sokr FROM spr_lpu, spr_type, spr_model, spr_ed_izm WHERE spr_lpu.lpu_id =";

                   ado2 = ado2 + ADOQuery3->FieldByName("lpu_id")->AsString + " AND spr_type.type_id = ";

                   ado2 = ado2 + ADOQuery3->FieldByName("type_id")->AsString + " AND spr_model.model_id = ";

                   ado2 = ado2 + ADOQuery3->FieldByName("model_id")->AsString + " AND spr_ed_izm.ed_izm_id = ";

                   ado2 = ado2 + ADOQuery3->FieldByName("ed_izm_id")->AsString;

                   ADOQuery2->Close();

                   ADOQuery2->SQL->Text = ado2;

                   ADOQuery2->Open();

                   Memo1->Lines->Add(ADOQuery2->FieldByName("lpu_name")->AsString);

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery2->FieldByName("type_name")->AsString);

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery2->FieldByName("model_name")->AsString);

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery2->FieldByName("ed_izm_sokr")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery3->FieldByName("kol")->AsString);

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery3->FieldByName("model_stoim")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery3->FieldByName("stoim")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery3->FieldByName("date_post")->AsString);

                   Memo1->Lines->Add("<br>");

                   ADOQuery3->Next();

         }

         Memo1->Lines->Add("</table><br>");

}save_str;_str = ExtractFilePath(Application->ExeName);

save_str += "\спецификаия по лотам.html";

Memo1->Lines->SaveToFile(save_str);

}__fastcall TForm4::Button3Click(TObject *Sender)

{->Close();

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit5.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form5;

//---------------------------------------------------------------------------

__fastcall TForm5::TForm5(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm5::Button1Click(TObject *Sender)

{->Close();->SQL->Clear();->SQL->Add("SELECT spr_kontr.kontr_id \"Номер контракта\", spr_post.post_name \"Поставщик\", spr_lpu.lpu_name \"ЛПУ\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель оборудования\", spr_ed_izm.ed_izm_sokr \"Ед.изм.\", kontr_oboryd.kol \"Кол-во\", plan_post.date_post \"Дата поставки\" FROM spr_kontr, spr_post, spr_lpu, spr_type, kontr_oboryd, spr_model, spr_ed_izm, plan_post WHERE spr_kontr.post_id = spr_post.post_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND kontr_oboryd.kontr_id = spr_kontr.kontr_id AND kontr_oboryd.type_id = spr_type.type_id AND kontr_oboryd.model_id = spr_model.model_id AND kontr_oboryd.ed_izm_id = spr_ed_izm.ed_izm_id AND plan_post.kontr_id = spr_kontr.kontr_id AND plan_post.obor_id = kontr_oboryd.obor_id AND TO_CHAR(plan_post.date_post, 'YYYY') = "+ Edit1->Text + " ORDER BY plan_post.date_post ASC;");->Open();->Close();->SQL->Text = "CREATE OR REPLACE VIEW plan_post_ob AS SELECT spr_kontr.kontr_id \"Номер контракта\", spr_post.post_name \"Поставщик\", spr_lpu.lpu_name \"ЛПУ\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель оборудования\", spr_ed_izm.ed_izm_sokr \"Ед.изм.\", kontr_oboryd.kol \"Кол-во\", plan_post.date_post \"Дата поставки\" FROM spr_kontr, spr_post, spr_lpu, spr_type, kontr_oboryd, spr_model, spr_ed_izm, plan_post WHERE spr_kontr.post_id = spr_post.post_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND kontr_oboryd.kontr_id = spr_kontr.kontr_id AND kontr_oboryd.type_id = spr_type.type_id AND kontr_oboryd.model_id = spr_model.model_id AND kontr_oboryd.ed_izm_id = spr_ed_izm.ed_izm_id AND plan_post.kontr_id = spr_kontr.kontr_id AND plan_post.obor_id = kontr_oboryd.obor_id AND TO_CHAR(plan_post.date_post, 'YYYY') = " + Edit1->Text + " ORDER BY plan_post.date_post ASC;";->ExecSQL();

}

//---------------------------------------------------------------------------__fastcall TForm5::Button2Click(TObject *Sender)

{(ADOQuery1->Active == true)

{

         Memo1->Lines->Add("<Table border=1 align=center>");

         Memo1->Lines->Add("<CAPTION><EM><B><H3>План поставки оборудования (общий)</H3></B></EM></CAPTION>");

         ADOQuery1->First();

         Memo1->Lines->Add("<tr>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Номер договора </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Поставщик </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> ЛПУ </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Тип оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Модель оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Ед.Изм. </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Кол-во </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Дата поставки </b>");

         Memo1->Lines->Add("<br>");

         while(!ADOQuery1->Eof)

         {

                   Memo1->Lines->Add("<tr>");

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Номер контракта")->AsString);

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery1->FieldByName("Поставщик")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("ЛПУ")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Тип оборудования")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Модель оборудования")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Ед.изм.")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Кол-во")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Дата поставки")->AsString);

                   Memo1->Lines->Add("<br>");

                   ADOQuery1->Next();

         }

         Memo1->Lines->Add("</table><br>");

         Memo1->Lines->SaveToFile(ExtractFilePath(Application->ExeName) + "\План поставки оборудования (общий).html");

}

MessageBox(0, "План поставки не сформирован","Ошибка", 0);

}

//---------------------------------------------------------------------------

#include <vcl.h>

#include "Unit6.h"

#include "Unit1.h"

#include "Unit7.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form6;

//---------------------------------------------------------------------------

__fastcall TForm6::TForm6(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm6::Edit1Change(TObject *Sender)

{(Edit1->Text != "")

{

         ADOQuery2->Close();

         ADOQuery2->SQL->Text = "SELECT lpu_name FROM spr_lpu WHERE lpu_id = " + Edit1->Text;

         ADOQuery2->Open();

         Label3->Caption = ADOQuery2->FieldByName("lpu_name")->AsString;

}

}

//---------------------------------------------------------------------------__fastcall TForm6::Button1Click(TObject *Sender)

{->sw_1 = 1;= new TForm7(this);(Form7->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm6::Button2Click(TObject *Sender)

{(Label3->Caption != "")

{

         ADOQuery1->Close();

         ADOQuery1->SQL->Text = "SELECT * FROM plan_post_ob WHERE \"ЛПУ\" = '" + Label3->Caption + "'";

         ADOQuery1->Open();

}

         MessageBox(0,"Введи номер или выбирите нужный ЛПУ из справочника","Ошибка",0);

}

//---------------------------------------------------------------------------__fastcall TForm6::Button3Click(TObject *Sender)

{(ADOQuery1->Active == true)

{->Lines->Clear();

         Memo1->Lines->Add("<Table border=1 align=center>");

         Memo1->Lines->Add("<CAPTION><EM><B><H3>План поставки оборудования (для " + Label3->Caption + ")</H3></B></EM></CAPTION>");

         ADOQuery1->First();

         Memo1->Lines->Add("<tr>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Номер договора </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Поставщик </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Тип оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Модель оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Ед.Изм. </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Кол-во </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Дата поставки </b>");

         Memo1->Lines->Add("<br>");

         while(!ADOQuery1->Eof)

         {

                   Memo1->Lines->Add("<tr>");

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Номер контракта")->AsString);

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery1->FieldByName("Поставщик")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Тип оборудования")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Модель оборудования")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Ед.изм.")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Кол-во")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Дата поставки")->AsString);

                   Memo1->Lines->Add("<br>");

                   ADOQuery1->Next();

         }

         Memo1->Lines->Add("</table><br>");

         Memo1->Lines->SaveToFile(ExtractFilePath(Application->ExeName) + "\План поставки оборудования (" + Edit1->Text + ").html");

}

MessageBox(0, "План поставки не сформирован","Ошибка", 0);

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit7.h"

#include "Unit6.h"

#include "Unit1.h"

#include "Unit8.h"

#include "Unit10.h"

#include "Unit11.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form7;

//---------------------------------------------------------------------------

__fastcall TForm7::TForm7(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm7::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect,*Field, TGridDrawState State)

{(Form1->sw_1)

{

         case 1:

                   DBGrid1->Columns->Items[0]->Width = 86;

                   DBGrid1->Columns->Items[1]->Width = 288;

                   break;

         case 2:

                   DBGrid1->Columns->Items[0]->Width = 43;

                   DBGrid1->Columns->Items[1]->Width = 288;

                   break;

         case 3:

                   DBGrid1->Columns->Items[0]->Width = 86;

                   DBGrid1->Columns->Items[1]->Width = 288;

                   break;

         case 4:

                   DBGrid1->Columns->Items[0]->Width = 43;

                   DBGrid1->Columns->Items[1]->Width = 288;

                   break;

}

}

//---------------------------------------------------------------------------__fastcall TForm7::Button1Click(TObject *Sender)

{(Form1->sw_1)

{

         case 1:

                   Form6->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;

                   Form6->ADOQuery1->Close();

                   Form7->Close();

                   break;

         case 2:

                   Form8->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;

                   Form8->ADOQuery1->Close();

                   Form7->Close();

                   break;

         case 3:

                   Form10->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;

                   Form10->ADOQuery1->Close();

                   Form7->Close();

                   break;

         case 4:

                   Form11->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;

                   Form11->ADOQuery1->Close();

                   Form7->Close();

                   break;

}

}

//---------------------------------------------------------------------------__fastcall TForm7::DBGrid1DblClick(TObject *Sender)

{(Form1->sw_1)

{

         case 1:

                   Form6->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;

                   Form6->ADOQuery1->Close();

                   Form7->Close();

                   break;

         case 2:

                   Form8->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;

                   Form8->ADOQuery1->Close();

                   Form7->Close();

                   break;

         case 3:

                   Form10->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;

                   Form10->ADOQuery1->Close();

                   Form7->Close();

                   break;

         case 4:

                   Form11->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;

                   Form11->ADOQuery1->Close();

                   Form7->Close();

                   break;

}

}

//---------------------------------------------------------------------------__fastcall TForm7::FormShow(TObject *Sender)

{(Form1->sw_1)

{

         case 1:

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Text = "SELECT lpu_id \"Номер ЛПУ\", lpu_name \"Название ЛПУ\" FROM spr_lpu";

                   ADOQuery1->Active = true;

                   break;

         case 2:

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Text = "SELECT post_id \"Номер\", post_name \"Название орг-ии\" FROM spr_post";

                   ADOQuery1->Active = true;

                   break;

         case 3:

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Text = "SELECT lpu_id \"Номер ЛПУ\", lpu_name \"Название ЛПУ\" FROM spr_lpu";

                   ADOQuery1->Active = true;

                   break;

         case 4:

                   ADOQuery1->Active = false;

                   ADOQuery1->SQL->Text = "SELECT post_id \"Номер\", post_name \"Название орг-ии\" FROM spr_post";

                   ADOQuery1->Active = true;

                   break;

}

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit8.h"

#include "Unit1.h"

#include "Unit7.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form8;

//---------------------------------------------------------------------------

__fastcall TForm8::TForm8(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm8::Edit1Change(TObject *Sender)

{(Edit1->Text != "")

{

         ADOQuery2->Close();

         ADOQuery2->SQL->Text = "SELECT post_name FROM spr_post WHERE post_id = " + Edit1->Text;

         ADOQuery2->Open();

         Label3->Caption = ADOQuery2->FieldByName("post_name")->AsString;

}

}

//---------------------------------------------------------------------------__fastcall TForm8::Button1Click(TObject *Sender)

{->sw_1 = 2;= new TForm7(this);(Form7->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm8::Button2Click(TObject *Sender)

{(Label3->Caption != "")

{

         ADOQuery1->Close();

         ADOQuery1->SQL->Text = "SELECT * FROM plan_post_ob WHERE \"Поставщик\" = '" + Label3->Caption + "'";

         ADOQuery1->Open();

}

         MessageBox(0,"Введи номер или выбирите нужного поставщика из справочника","Ошибка",0);

}

//---------------------------------------------------------------------------__fastcall TForm8::Button3Click(TObject *Sender)

{(ADOQuery1->Active == true)

{->Lines->Clear();

         Memo1->Lines->Add("<Table border=1 align=center>");

         Memo1->Lines->Add("<CAPTION><EM><B><H3>План поставки оборудования (для " + Label3->Caption + ")</H3></B></EM></CAPTION>");

         ADOQuery1->First();

         Memo1->Lines->Add("<tr>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Номер договора </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> ЛПУ </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Тип оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Модель оборудования </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Ед.Изм. </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Кол-во </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> Дата поставки </b>");

         Memo1->Lines->Add("<br>");

         while(!ADOQuery1->Eof)

         {

                   Memo1->Lines->Add("<tr>");

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Номер контракта")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("ЛПУ")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Тип оборудования")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Модель оборудования")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Ед.изм.")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Кол-во")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("Дата поставки")->AsString);

                   Memo1->Lines->Add("<br>");

                   ADOQuery1->Next();

         }

         Memo1->Lines->Add("</table><br>");

         Memo1->Lines->SaveToFile(ExtractFilePath(Application->ExeName) + "\План поставки оборудования (пост. #" + Edit1->Text + ").html");

}

MessageBox(0, "План поставки не сформирован","Ошибка", 0);       

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit9.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form9;

//---------------------------------------------------------------------------

__fastcall TForm9::TForm9(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm9::Button1Click(TObject *Sender)

{->Close();->SQL->Clear();->SQL->Add("SELECT plan_pnr.kontr_id \"Номер контракта\", spr_lpu.lpu_name \"ЛПУ\", spr_post.post_name \"Поставщик\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель\", spr_ed_izm.ed_izm_sokr \"Ед.Изм\", kontr_oboryd.kol \"Кол-во\", plan_pnr.date_pnr_n \"Дата начала ПНР\", plan_pnr.date_pnr_o \"Дата окончания ПНР\" FROM plan_pnr, spr_post, spr_kontr, kontr_oboryd, spr_type, spr_model, spr_ed_izm, spr_lpu WHERE plan_pnr.kontr_id = spr_kontr.kontr_id AND spr_kontr.post_id = spr_post.post_id AND plan_pnr.obor_id = kontr_oboryd.obor_id AND kontr_oboryd.type_id = spr_type.type_id AND spr_model.model_id = kontr_oboryd.model_id AND spr_ed_izm.ed_izm_id = kontr_oboryd.ed_izm_id AND plan_pnr.kontr_id = kontr_oboryd.kontr_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND TO_CHAR(plan_pnr.date_pnr_n, 'YYYY') = "+ Edit1->Text + "ORDER BY plan_pnr.date_pnr_n ASC");->Open();->Close();->SQL->Text = "CREATE OR REPLACE VIEW plan_pnr_ob AS SELECT plan_pnr.kontr_id \"Номер контракта\", spr_lpu.lpu_name \"ЛПУ\", spr_post.post_name \"Поставщик\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель\", spr_ed_izm.ed_izm_sokr \"Ед.Изм\", kontr_oboryd.kol \"Кол-во\", plan_pnr.date_pnr_n \"Дата начала ПНР\", plan_pnr.date_pnr_o \"Дата окончания ПНР\" FROM plan_pnr, spr_post, spr_kontr, kontr_oboryd, spr_type, spr_model, spr_ed_izm, spr_lpu WHERE plan_pnr.kontr_id = spr_kontr.kontr_id AND spr_kontr.post_id = spr_post.post_id AND plan_pnr.obor_id = kontr_oboryd.obor_id AND kontr_oboryd.type_id = spr_type.type_id AND spr_model.model_id = kontr_oboryd.model_id AND spr_ed_izm.ed_izm_id = kontr_oboryd.ed_izm_id AND plan_pnr.kontr_id = kontr_oboryd.kontr_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND TO_CHAR(plan_pnr.date_pnr_n, 'YYYY') = "+ Edit1->Text + "ORDER BY plan_pnr.date_pnr_n ASC";->ExecSQL();

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit10.h"

#include "Unit1.h"

#include "Unit7.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form10;

//---------------------------------------------------------------------------

__fastcall TForm10::TForm10(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm10::Edit1Change(TObject *Sender)

{(Edit1->Text != "")

{

         ADOQuery2->Close();

         ADOQuery2->SQL->Text = "SELECT lpu_name FROM spr_lpu WHERE lpu_id = " + Edit1->Text;

         ADOQuery2->Open();

         Label3->Caption = ADOQuery2->FieldByName("lpu_name")->AsString;

}       

}

//---------------------------------------------------------------------------__fastcall TForm10::Button1Click(TObject *Sender)

{->sw_1 = 3;= new TForm7(this);(Form7->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm10::Button2Click(TObject *Sender)

{(Label3->Caption != "")

{

         ADOQuery1->Close();

         ADOQuery1->SQL->Text = "SELECT * FROM plan_pnr_ob WHERE \"ЛПУ\" = '" + Label3->Caption + "'";

         ADOQuery1->Open();

}

         MessageBox(0,"Введи номер или выбирите нужный ЛПУ из справочника","Ошибка",0);

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit11.h"

#include "Unit1.h"

#include "Unit7.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form11;

//---------------------------------------------------------------------------

__fastcall TForm11::TForm11(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm11::Edit1Change(TObject *Sender)

{(Edit1->Text != "")

{

         ADOQuery2->Close();

         ADOQuery2->SQL->Text = "SELECT post_name FROM spr_post WHERE post_id = " + Edit1->Text;

         ADOQuery2->Open();

         Label3->Caption = ADOQuery2->FieldByName("post_name")->AsString;

}

}

//---------------------------------------------------------------------------__fastcall TForm11::Button1Click(TObject *Sender)

{->sw_1 = 4;= new TForm7(this);(Form7->ShowModal()==mrCancel) return;

//---------------------------------------------------------------------------__fastcall TForm11::Button2Click(TObject *Sender)

{(Label3->Caption != "")

{

         ADOQuery1->Close();

         ADOQuery1->SQL->Text = "SELECT * FROM plan_pnr_ob WHERE \"Поставщик\" = '" + Label3->Caption + "'";

         ADOQuery1->Open();

}

         MessageBox(0,"Введи номер или выбирите нужного поставщика из справочника","Ошибка",0);

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit12.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form12;

//---------------------------------------------------------------------------

__fastcall TForm12::TForm12(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm12::Button2Click(TObject *Sender)

{->SQL->Text = "CREATE OR REPLACE VIEW post_otkl AS SELECT plan_post.kontr_id \"№ договора\", spr_lpu.lpu_name \"ЛПУ\", spr_post.post_name \"Поставщик\", spr_type.type_name \"Тип\", spr_model.model_name \"Модель\", spr_ed_izm.ed_izm_sokr \"Ед.изм.\", kontr_oboryd.kol \"Кол-во по контр.\", post_fakt.kol_fakt \"Кол-во факт.\", kontr_oboryd.kol - post_fakt.kol_fakt \"Отклонение по кол-ву\", plan_post.date_post \"Дата поставки по плану\", post_fakt.date_fakt \"Дата факт. поставки\", post_fakt.date_fakt - plan_post.date_post \"Отклонения по сроку поставки\" FROM plan_post, spr_lpu, spr_kontr, spr_post, spr_type, kontr_oboryd, spr_model, spr_ed_izm, post_fakt WHERE plan_post.kontr_id = spr_kontr.kontr_id AND spr_lpu.lpu_id = spr_kontr.lpu_id AND spr_post.post_id = spr_kontr.post_id AND kontr_oboryd.kontr_id = plan_post.kontr_id AND kontr_oboryd.obor_id = plan_post.obor_id AND kontr_oboryd.type_id = spr_type.type_id AND kontr_oboryd.model_id = spr_model.model_id AND kontr_oboryd.ed_izm_id = spr_ed_izm.ed_izm_id AND kontr_oboryd.obor_id = post_fakt.obor_id AND kontr_oboryd.kontr_id = post_fakt.kontr_id AND post_fakt.date_fakt <= TO_DATE('" + MaskEdit1->Text + "','DD.MM.YYYY')";->ExecSQL();->Close();->SQL->Text = "SELECT * FROM post_otkl WHERE \"Отклонение по кол-ву\" > 0 OR \"Отклонения по сроку поставки\" > 0";->Open();

}

//---------------------------------------------------------------------------__fastcall TForm12::Button1Click(TObject *Sender)

{(MonthCalendar1->Visible == false)

         MonthCalendar1->Visible = true;

         MonthCalendar1->Visible = false;

}

//---------------------------------------------------------------------------__fastcall TForm12::MonthCalendar1DblClick(TObject *Sender)

{->Text = MonthCalendar1->Date;->Visible = false;  

}

//---------------------------------------------------------------------------__fastcall TForm12::FormShow(TObject *Sender)

{->Date = Date();->Text = MonthCalendar1->Date;

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit13.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form13;flag;

//---------------------------------------------------------------------------

__fastcall TForm13::TForm13(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm13::FormShow(TObject *Sender)

{->Date = Date();->Text = MonthCalendar1->Date;   

}

//---------------------------------------------------------------------------__fastcall TForm13::Button1Click(TObject *Sender)

{(MonthCalendar1->Visible == false)

         MonthCalendar1->Visible = true;

         MonthCalendar1->Visible = false;

}

//---------------------------------------------------------------------------__fastcall TForm13::MonthCalendar1DblClick(TObject *Sender)

{->Text = MonthCalendar1->Date;->Visible = false;  

}

//---------------------------------------------------------------------------__fastcall TForm13::Button2Click(TObject *Sender)

{->SQL->Text = "CREATE OR REPLACE VIEW pnr_otkl AS SELECT otch_pnr.kontr_id \"Номер контр.\", spr_post.post_name \"Поставщик\", spr_lpu.lpu_name \"ЛПУ\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель оборудования\", spr_ed_izm.ed_izm_sokr \"Ед.изм\", kontr_oboryd.kol \"Kол-во\", plan_pnr.date_pnr_n \"Дата начала ПНР по плану\" , begin_pnr.date_n_fakt \"Дата начала ПНР фактическая\", begin_pnr.date_n_fakt - plan_pnr.date_pnr_n \"Отклонение по сроку начала ПНР\", plan_pnr.date_pnr_o \"Дата окончания ПНР по плану\", otch_pnr.date_o_fakt \"Дата окончания ПНР фактическая\", otch_pnr.date_o_fakt - plan_pnr.date_pnr_o \"Откл-ие по сроку окончания ПНР\" FROM otch_pnr, spr_post, spr_kontr, spr_lpu, spr_type, kontr_oboryd, spr_model, spr_ed_izm, plan_pnr, begin_pnr WHERE otch_pnr.kontr_id = spr_kontr.kontr_id AND spr_kontr.post_id = spr_post.post_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND kontr_oboryd.kontr_id = otch_pnr.kontr_id AND kontr_oboryd.obor_id = otch_pnr.obor_id AND kontr_oboryd.type_id = spr_type.type_id AND spr_model.model_id = kontr_oboryd.model_id AND spr_model.ed_izm_id = spr_ed_izm.ed_izm_id AND plan_pnr.kontr_id = otch_pnr.kontr_id AND plan_pnr.obor_id = otch_pnr.obor_id AND begin_pnr.kontr_id = otch_pnr.kontr_id AND otch_pnr.obor_id = otch_pnr.obor_id AND ((begin_pnr.date_n_fakt - plan_pnr.date_pnr_n) <> 0 OR (plan_pnr.date_pnr_o - otch_pnr.date_o_fakt) <> 0) AND otch_pnr.date_o_fakt <= TO_DATE('" + MaskEdit1->Text + "','DD.MM.YYYY')";->ExecSQL();->Close();->SQL->Text = "SELECT * FROM pnr_otkl";->Open();

}

#include <vcl.h>

#pragma hdrstop

#include "Unit14.h"

#include "Unit1.h"

#include "Unit15.h"

#include "Unit16.h"

#include "Unit17.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form14;

//---------------------------------------------------------------------------

__fastcall TForm14::TForm14(TComponent* Owner)

: TForm(Owner)

{->Active = true;->Columns->Items[0]->Width = 65;->Columns->Items[1]->Width = 550;sql;= "select a.post_id \"Номер поставщика\", b.post_name \"Наименование\" from tender_post a, spr_post b where a.post_id = b.post_id and lot_id = ";+= ADOQuery1->FieldByName("Номер лота")->AsString;->SQL->Text = sql;->Open();->Columns->Items[1]->Width = 550;->Caption = "Выбор поставщиков для лота № ";->Caption = Button2->Caption + ADOQuery1->FieldByName("Номер лота")->AsString;

}

//---------------------------------------------------------------------------__fastcall TForm14::Button1Click(TObject *Sender)

{= new TForm15(this);(Form15->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm14::DBGrid1CellClick(TColumn *Column)

{sql;= "select a.post_id \"Номер поставщика\", b.post_name \"Наименование\" from tender_post a, spr_post b where a.post_id = b.post_id and lot_id = ";+= ADOQuery1->FieldByName("Номер лота")->AsString;->SQL->Text = sql;->Open();->Columns->Items[1]->Width = 550;->Caption = "Выбор поставщиков для лота № ";->Caption = Button2->Caption + ADOQuery1->FieldByName("Номер лота")->AsString;

}

//---------------------------------------------------------------------------__fastcall TForm14::Button2Click(TObject *Sender)

{= new TForm16(this);(Form16->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm14::Button4Click(TObject *Sender)

{= new TForm17(this);(Form17->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit14.h"

#include "Unit1.h"

#include "Unit15.h"

#include "Unit16.h"

#include "Unit17.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form14;

//---------------------------------------------------------------------------

__fastcall TForm14::TForm14(TComponent* Owner)

: TForm(Owner)

{->Active = true;->Columns->Items[0]->Width = 65;->Columns->Items[1]->Width = 550;sql;= "select a.post_id \"Номер поставщика\", b.post_name \"Наименование\" from tender_post a, spr_post b where a.post_id = b.post_id and lot_id = ";+= ADOQuery1->FieldByName("Номер лота")->AsString;->SQL->Text = sql;->Open();->Columns->Items[1]->Width = 550;->Caption = "Выбор поставщиков для лота № ";->Caption = Button2->Caption + ADOQuery1->FieldByName("Номер лота")->AsString;

}

//---------------------------------------------------------------------------__fastcall TForm14::Button1Click(TObject *Sender)

{= new TForm15(this);(Form15->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm14::DBGrid1CellClick(TColumn *Column)

{sql;= "select a.post_id \"Номер поставщика\", b.post_name \"Наименование\" from tender_post a, spr_post b where a.post_id = b.post_id and lot_id = ";+= ADOQuery1->FieldByName("Номер лота")->AsString;->SQL->Text = sql;->Open();->Columns->Items[1]->Width = 550;->Caption = "Выбор поставщиков для лота № ";->Caption = Button2->Caption + ADOQuery1->FieldByName("Номер лота")->AsString;

}

//---------------------------------------------------------------------------__fastcall TForm14::Button2Click(TObject *Sender)

{= new TForm16(this);(Form16->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------__fastcall TForm14::Button4Click(TObject *Sender)

{= new TForm17(this);(Form17->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit15.h"

#include "Unit14.h"

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form15;

//---------------------------------------------------------------------------

__fastcall TForm15::TForm15(TComponent* Owner)

: TForm(Owner)

{->Caption = "Список поставщиков для лота № " + Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->Caption = "Список поставщиков для лота № " + Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->SQL->Text = "select a.post_id \"Номер\", b.post_name \"Наименование\" from spr_post b, tender_post a where b.post_id = a.post_id and a.lot_id = " + Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->Active = true;->First();(ADOQuery2->Eof)

{

         ADOQuery1->SQL->Text = "select a.post_id \"Номер\" , a.post_name \"Наименование\" from spr_post a";

}

{

         ADOQuery1->SQL->Text = "select a.post_id \"Номер\", a.post_name \"Наименование\" from spr_post a where post_id not in (0";

         while(!ADOQuery2->Eof)

         {

                   ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ",";

                   ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ADOQuery2->FieldByName("Номер")->AsString;

                   ADOQuery2->Next();

         }

         ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ")";

}->Active = true;->Columns->Items[0]->Width = 35;->Columns->Items[1]->Width = 255;->Columns->Items[0]->Width = 35;->Columns->Items[1]->Width = 255;->First();->First();(ADOQuery1->Eof)

         Button1->Enabled = false;

         Button1->Enabled = true;(ADOQuery2->Eof)

         Button2->Enabled = false;

         Button2->Enabled = true;

}

//---------------------------------------------------------------------------__fastcall TForm15::Button1Click(TObject *Sender)

{->Active = false;

//       int i = 1, f = 0, max = -1;

//       ADOQuery2->SQL->Text = "select * from tender_post order by id_str asc";

//       ADOQuery2->Active = true;

//       ADOQuery2->First();

//Считаем ПК

//       while(!ADOQuery2->Eof)

//       {

//                 i = i + 1;

//                 ADOQuery2->Next();

//       }

//Проверяем на уникальность и делаем i уникальным

//       ADOQuery2->First();

//       while(!ADOQuery2->Eof)

//       {

//                 if(i == ADOQuery2->FieldByName("id_str")->AsInteger)

//                          f = 1;

//                 ADOQuery2->Next();

//       }

//       ADOQuery2->First();

//       if(f == 1)

//       {

//                 while(!ADOQuery2->Eof)

//                 {

//                          if(max < ADOQuery2->FieldByName("id_str")->AsInteger)

//                                    max = ADOQuery2->FieldByName("id_str")->AsInteger;

//                          ADOQuery2->Next();

//                 }

//                 i = max + 1;

//       }

//       ADOQuery2->Active = false;

//Вставляем данныеsql;= "insert into tender_post values (";

//       sql += i;

//       sql += "," + ADOQuery1->FieldByName("Номер")->AsString + "," + Form14->ADOQuery1->FieldByName("Номер лота")->AsString + ",'')";+= ADOQuery1->FieldByName("Номер")->AsString + "," + Form14->ADOQuery1->FieldByName("Номер лота")->AsString + ",'')";

//ADOQuery2->SQL->Text =

//ADOQuery2->SQL->Text = ADOQuery2->SQL->Text + i;

//ADOQuery2->SQL->Text = ADOQuery2->SQL->Text + "," + ADOQuery1->FieldByName("Номер")->AsString + "," + Form14->ADOQuery1->FieldByName("Номер лота")->AsString + ")";->SQL->Text = sql;->ExecSQL();

//Открывает АДО2->SQL->Text = "select a.post_id \"Номер\", b.post_name \"Наименование\" from spr_post b, tender_post a where b.post_id = a.post_id and a.lot_id = " + Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->Open();

//Открываем АДО1->Active = false;->SQL->Text = "select a.post_id \"Номер\", a.post_name \"Наименование\" from spr_post a where post_id not in (0";->First();(!ADOQuery2->Eof)

{

         ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ",";

         ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ADOQuery2->FieldByName("Номер")->AsString;

         ADOQuery2->Next();

}->SQL->Text = ADOQuery1->SQL->Text + ")";->Active = true;->Columns->Items[0]->Width = 35;->Columns->Items[1]->Width = 255;->Columns->Items[0]->Width = 35;->Columns->Items[1]->Width = 255;->First();->First();(ADOQuery1->Eof)

         Button1->Enabled = false;

         Button1->Enabled = true;(ADOQuery2->Eof)

         Button2->Enabled = false;

         Button2->Enabled = true;

}

//---------------------------------------------------------------------------__fastcall TForm15::Button2Click(TObject *Sender)

{sql;= "delete from tender_post where post_id = ";+= ADOQuery2->FieldByName("Номер")->AsString;+= " and lot_id = ";+= Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->Active = false;->SQL->Text = sql;->ExecSQL();

//Открывает АДО2->SQL->Text = "select a.post_id \"Номер\", b.post_name \"Наименование\" from spr_post b, tender_post a where b.post_id = a.post_id and a.lot_id = " + Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->Open();

//Открываем АДО1->Active = false;->SQL->Text = "select a.post_id \"Номер\", a.post_name \"Наименование\" from spr_post a where post_id not in (0";->First();(!ADOQuery2->Eof)

{

         ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ",";

         ADOQuery1->SQL->Text = ADOQuery1->SQL->Text + ADOQuery2->FieldByName("Номер")->AsString;

         ADOQuery2->Next();

}->SQL->Text = ADOQuery1->SQL->Text + ")";->Active = true;->Columns->Items[0]->Width = 35;->Columns->Items[1]->Width = 255;->Columns->Items[0]->Width = 35;->Columns->Items[1]->Width = 255;->First();->First();(ADOQuery1->Eof)

         Button1->Enabled = false;

         Button1->Enabled = true;(ADOQuery2->Eof)

         Button2->Enabled = false;

         Button2->Enabled = true;

}

//---------------------------------------------------------------------------__fastcall TForm15::Button3Click(TObject *Sender)

{->sw_1 = 9;= new TForm2(this);(Form2->ShowModal()==mrCancel) return;

}__fastcall TForm15::Button4Click(TObject *Sender)

{->ADOQuery1->Active = true;->DBGrid1->Columns->Items[0]->Width = 65;->DBGrid1->Columns->Items[1]->Width = 550;sql;= "select a.post_id \"Номер поставщика\", b.post_name \"Наименование\" from tender_post a, spr_post b where a.post_id = b.post_id and lot_id = ";+= Form14->ADOQuery1->FieldByName("Номер лота")->AsString;->ADOQuery2->SQL->Text = sql;->ADOQuery2->Open();->DBGrid2->Columns->Items[1]->Width = 550;

Form14->Button2->Caption = "Выбор поставщиков для лота № ";

Form14->Button2->Caption = Form14->Button2->Caption + Form14->ADOQuery1->FieldByName("Номер лота")->AsString;

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit16.h"

#include "Unit14.h"

#include "Unit1.h"

#include "Unit17.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form16;

//---------------------------------------------------------------------------k;g=0;

__fastcall TForm16::TForm16(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm16::FormShow(TObject *Sender)

{= 0;->Caption = "╦ε≥ ╣ " + Form14->ADOQuery1->FieldByName("═ε∞σ≡ δε≥α")->AsString;->ADOQuery2->First();->Caption = "╧ε±≥αΓ∙ΦΩ: " + Form14->ADOQuery2->FieldByName("═αΦ∞σφεΓαφΦσ")->AsString;(!Form14->ADOQuery2->Eof)

{

         k++;

         Form14->ADOQuery2->Next();

}->ADOQuery2->First();->ColCount = k+1;->ColCount = k+1;

}

//---------------------------------------------------------------------------__fastcall TForm16::TrackBar1Change(TObject *Sender)

{->Text = TrackBar1->Position;

}

//---------------------------------------------------------------------------__fastcall TForm16::TrackBar2Change(TObject *Sender)

{->Text = TrackBar2->Position;

}

//---------------------------------------------------------------------------__fastcall TForm16::RadioGroup1Click(TObject *Sender)

{(RadioGroup1->ItemIndex == 0)

{

         RadioGroup2->Enabled = false;

         CheckBox1->Enabled = false;

         CheckBox2->Enabled = false;

         CheckBox3->Enabled = false;

         RadioGroup3->Enabled = false;

         RadioGroup2->ItemIndex = -1;

         CheckBox1->Checked = false;

         CheckBox2->Checked = false;

         CheckBox3->Checked = false;

         RadioGroup3->ItemIndex = -1;

}

{

         RadioGroup2->Enabled = true;

         CheckBox1->Enabled = true;

         CheckBox2->Enabled = true;

         CheckBox3->Enabled = true;

         RadioGroup3->Enabled = true;

}

}

//---------------------------------------------------------------------------__fastcall TForm16::Button1Click(TObject *Sender)

{t;(!Form14->ADOQuery2->Eof)

{

         //if(RadioGroup4->ItemIndex >= 0 && RadioGroup1->ItemIndex >= 0 && RadioGroup2->ItemIndex >= 0 && (CheckBox1->Checked == true || CheckBox2->Checked == true || CheckBox3->Checked == true) && RadioGroup3->ItemIndex >= 0)

         if(RadioGroup4->ItemIndex >= 0 && ((RadioGroup1->ItemIndex > 0 && RadioGroup2->ItemIndex == 0 && (CheckBox1->Checked == true || CheckBox2->Checked == true || CheckBox3->Checked == true) && RadioGroup3->ItemIndex >= 0) || (RadioGroup1->ItemIndex > 0 && RadioGroup2->ItemIndex == 1) || RadioGroup1->ItemIndex == 0))

         {

                   StringGrid1->Cells[g][0] = (TrackBar1->Position+100)/2;

                   StringGrid1->Cells[g][1] = TrackBar2->Position;

                   if(RadioGroup4->ItemIndex == 0)

                                               StringGrid1->Cells[g][2] = 100;

                   else

                                               StringGrid1->Cells[g][2] = 0;

                   switch(RadioGroup1->ItemIndex)

                   {

                            case 0:

                                      StringGrid1->Cells[g][3] = 0;

                                      StringGrid1->Cells[g][4] = 50;

                                      StringGrid1->Cells[g][5] = 50;

                                      StringGrid1->Cells[g][6] = 50;

                                      break;

                            case 1:

                                      StringGrid1->Cells[g][3] = 25;

                                      break;

                            case 2:

                                      StringGrid1->Cells[g][3] = 75;

                                      break;

                            case 3:

                                      StringGrid1->Cells[g][3] = 100;

                                      break;

                   }

                   if(RadioGroup1->ItemIndex > 0)

                   {

                            switch(RadioGroup2->ItemIndex)

                            {

                                      case 0:

                                               StringGrid1->Cells[g][4] = 0;

                                               break;

                                      case 1:

                                               StringGrid1->Cells[g][4] = 100;

                                               StringGrid1->Cells[g][5] = 100;

                                               StringGrid1->Cells[g][6] = 100;

                                               break;

                            }

                   }

                   if(RadioGroup1->ItemIndex > 0 && RadioGroup2->ItemIndex == 0)

                   {

                            t = 100;

                            if(CheckBox1->Checked == true)

                                      t = t - 35;

                            if(CheckBox2->Checked == true)

                                      t = t - 45;

                            if(CheckBox3->Checked == true)

                                      t = t - 20;

                            StringGrid1->Cells[g][5] = t;

                            switch(RadioGroup3->ItemIndex)

                            {

                                      case 0:

                                               StringGrid1->Cells[g][6] = 85;

                                               break;

                                      case 1:

                                               StringGrid1->Cells[g][6] = 50;

                                               break;

                                      case 2:

                                               StringGrid1->Cells[g][6] = 0;

                                               break;

                            }

                   }

                   g++;

                   Form14->ADOQuery2->Next();

                   Label2->Caption = "╧ε±≥αΓ∙ΦΩ: " + Form14->ADOQuery2->FieldByName("═αΦ∞σφεΓαφΦσ")->AsString;

         }

}

{

         double b;

         for(int i=0; i<=6; i++)

         {

                   t = 0;

                   for(int j=0; j<k; j++)

                   {

                            b = StringGrid1->Cells[j][i].ToInt();

                   }

                   if(t != 0)

                   {

                            for(int j=0; j<k; j++)

                            {

                                      b = StringGrid1->Cells[j][i].ToInt();

                                      StringGrid2->Cells[j][i] = b/t;

                            }

                   }

                   else

                   {

                            for(int j=0; j<k; j++)

                            {

                                      StringGrid2->Cells[j][i] = 0;

                            }

                   }

         }

         ADOQuery1->Active = true;

         double summ;

         String sql;

         Form14->ADOQuery2->First();

         for(int j=0; j<k; j++)

         {

                   summ = 0;

                   for(int i=0; i<=6; i++)

                   {

                            b = StringGrid2->Cells[j][i].ToDouble();

                            b = b * (ADOQuery1->FieldByName("W1")->AsFloat);

                            ADOQuery1->Next();

                            summ = summ + b;

                   }

                   summ = summ * 100;

                   sql = "update tender_post set est = ";

                   sql += summ;

                   sql += " WHERE lot_id = ";

                   sql += Form14->ADOQuery1->FieldByName("═ε∞σ≡ δε≥α")->AsString;

                   sql += " AND post_id = ";

                   sql += Form14->ADOQuery2->FieldByName("═ε∞σ≡ ∩ε±≥αΓ∙ΦΩα")->AsString;

                   ADOQuery2->SQL->Text = sql;

                   ADOQuery2->ExecSQL();

                   Form14->ADOQuery2->Next();

         }

         Button1->Enabled = false;

         Button3->Enabled = true;

}

}

//---------------------------------------------------------------------------__fastcall TForm16::RadioGroup2Click(TObject *Sender)

{(RadioGroup2->ItemIndex == 1)

{

         CheckBox1->Enabled = false;

         CheckBox2->Enabled = false;

         CheckBox3->Enabled = false;

         RadioGroup3->Enabled = false;

         CheckBox1->Checked = false;

         CheckBox2->Checked = false;

         CheckBox3->Checked = false;

         RadioGroup3->ItemIndex = -1;

}

{

         CheckBox1->Enabled = true;

         CheckBox2->Enabled = true;

         CheckBox3->Enabled = true;

         RadioGroup3->Enabled = true;

}

}

//---------------------------------------------------------------------------__fastcall TForm16::Button3Click(TObject *Sender)

{= new TForm17(this);(Form17->ShowModal()==mrCancel) return;

}

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit17.h"

#include "Unit14.h"

#include "Unit16.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form17;

//---------------------------------------------------------------------------

__fastcall TForm17::TForm17(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm17::FormShow(TObject *Sender)

{->ADOQuery1->First();->Items->Clear();(!Form14->ADOQuery1->Eof)

{

         ComboBox1->Items->Add(Form14->ADOQuery1->FieldByName("═ε∞σ≡ δε≥α")->AsString);

         Form14->ADOQuery1->Next();

}

}

//---------------------------------------------------------------------------__fastcall TForm17::ComboBox1Change(TObject *Sender)

{->Enabled = true;sql;= "select b.post_name \"╧ε±≥αΓ∙ΦΩ\" , a.est \"┴αδδ√\" from tender_post a, spr_post b where a.post_id = b.post_id and lot_id = ";+= ComboBox1->Text;+= " AND est is not null order by est desc";->SQL->Text = sql;->Open();->First();(ADOQuery1->Eof)

         ShowMessage("─δ Σαφφεπε δε≥α φσ≥ Γ√ß≡αφφ√⌡ ∩ε±≥αΓ∙ΦΩεΓ \n ΦδΦ φσ ∩≡εΓεΣΦδ± Γ√ßε≡ ∩ε±≥αΓ∙ΦΩεΓ");->Columns->Items[0]->Width = 250;->Columns->Items[1]->Width = 150;

}

//---------------------------------------------------------------------------__fastcall TForm17::Button1Click(TObject *Sender)

{->First();(!ADOQuery1->Eof)

{

         ADOQuery2->SQL->Text = "select distinct(b.type_name) from spec_lot a, spr_type b where b.type_id = a.type_id and lot_id = " + ComboBox1->Text;

         ADOQuery2->Open();

         Memo1->Lines->Clear();

         Memo1->Lines->Add("<Table border=1 align=center>");

         Memo1->Lines->Add("<CAPTION><EM><B><H3>╤∩Φ±εΩ Γ√ß≡αφφ√⌡ ∩ε±≥αΓ∙ΦΩ (Σδ ╦ε≥α ╣ " + ComboBox1->Text + ")<br>" + ADOQuery2->FieldByName("type_name")->AsString + "</H3></B></EM></CAPTION>");

         ADOQuery1->First();

         Memo1->Lines->Add("<tr>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> ╧ε±≥αΓ∙ΦΩ </b>");

         Memo1->Lines->Add("<td>");

         Memo1->Lines->Add("<b> ┴αδδ√ </b>");

         Memo1->Lines->Add("<br>");

         while(!ADOQuery1->Eof)

         {

                   Memo1->Lines->Add("<tr>");

                   Memo1->Lines->Add("<td>");

                  Memo1->Lines->Add(ADOQuery1->FieldByName("╧ε±≥αΓ∙ΦΩ")->AsString);

                   Memo1->Lines->Add("<td>");

                   Memo1->Lines->Add(ADOQuery1->FieldByName("┴αδδ√")->AsString);

                   Memo1->Lines->Add("<br>");

                   ADOQuery1->Next();

         }

         Memo1->Lines->Add("</table><br>");

         SaveDialog1->FileName = "╤∩Φ±εΩ Γ√ß≡αφφ√⌡ ∩ε±≥αΓ∙ΦΩεΓ Σδ δε≥α ╣" + ComboBox1->Text + ".html";

         if(SaveDialog1->Execute())

         {

                   Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".html");

         }

}

MessageBox(0, "─δ Σαφφεπε δε≥α φσ≥ Γ√ß≡αφφ√⌡ ∩ε±≥αΓ∙ΦΩεΓ \n ΦδΦ φσ ∩≡εΓεΣΦδ± Γ√ßε≡ ∩ε±≥αΓ∙ΦΩεΓ","╬°ΦßΩα", 0);

}

Похожие работы на - Проектирование АСУ 'Управления Здравоохранения Администрации Ленинского муниципального района'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!