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

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

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

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

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

1

49

AUTHORSTAT

Автор изменения статуса (ITEMS)

Numeric

1

50

DATE_CH

Дата последнего изменения записи в локальной БД страховой компании

Date

8

51

KLADRST

Для жителей иных областей - код территории проживания по КЛАДР, детализированный до уровня улицы (KLADRST)

Character

17

52

LDBL

Ветка логического дублирования

Character

16

53

IDQ

Идентификатор запроса в системе ЕМСР ТФОМС

Character

10

54

IDQ_SBJ

Идентификатор запроса в системе «Система информационного обмена для СМО»

Character

20

55

OPERDATE

Дата проведенной операции

Date

8

56

NUMQ

Код запроса (NUMQUERY)

Character

3

57

SILENCE

Признак действия по умолчания (ITEMS)

Numeric

1

58

SOURCETAB

Имя таблицы-источника

Character

8

59

RESULTID

Код результата обработки запроса (RESULTS)

Integer

4

16. SETTING.DBF

1

SETTINGID

Код

Integer

4

2

VARNAME

Имя переменной

Character

20

3

VARVALUE

Значение

Character

200

4

VARTEXT

Назначение

Character

100

17. ITEMS.DBF

1

CKEY

Уникальный код пункта прейскуранта

Numeric

6

2

CREF

Ссылка на родительский пункт

Numeric

6

3

CNUM

Пор. № пункта.в своей иерархии

Numeric

4

4

CEND

Флаг наличия подпунктов

Numeric

1

5

FIELD

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

Character

10

6

CODE

Значение перечислимого параметра

Numeric

2

7

DESCRIPT

Описание значения перечислимого параметра

Character

64

8

ACTPACK

Идентификатор актуального пакета НСИ

Character

3

9

CHANGE_R

Признак внесения изменений в запись

Numeric

1

10

D_FIN

Дата окончания действия кода

Date

8

11

D_START

Дата ввода кода в действие

Date

8

12

D_MODIF

Дата последней модификации содержательной части записи

Date

8

13

DELETED

Признак логического удаления записи

Numeric

1

18. STREETS.DBF

1

STREET

Код улицы

Numeric

4

2

NAME

Наименование улицы текущее

Character

24

3

DELETED

Признак логического удаления записи

Numeric

1

4

STREET_NEW

Код улицы при переименовании

Numeric

4

5

ACTPACK

Идентификатор актуального пакета НСИ

Character

3

6

CHANGE_R

Признак внесения изменений в запись

Numeric

1

7

D_FIN

Дата окончания действия кода

Date

8

8

D_START

Дата ввода кода в действие

Date

8

9

D_MODIF

Дата последней модификации содержательной части записи

Date

8

19. STANDART.DBF

1

RGN1

Код города или сельского района

Numeric

3

2

RGN2

Гор. район, поселок или сельсовет

Numeric

3

3

RGN3

Населенный пункт

Numeric

3

4

NAME

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

Character

24

5

LABEL

Метка

Numeric

3

6

INSURER

Код базовой СМО на данной территории

Numeric

5

7

OR1

Код города или сельского района по ОКАТО

Numeric

2

8

OR2

Гор. район, поселок или сельсовет по ОКАТО

Numeric

3

9

OR3

Населенный пункт по ОКАТО

Numeric

6

10

ACTPACK

Идентификатор актуального пакета НСИ

Character

3

11

CHANGE_R

Признак внесения изменений в запись

Numeric

1

12

D_FIN

Дата окончания действия кода

Date

8

13

D_START

Дата ввода кода в действие

Date

8

14

D_MODIF

Дата последней модификации содержательной части записи

Date

8

15

DELETED

Признак логического удаления записи

Numeric

1

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

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

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

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

Программа

Начало

Инициализировать глобальные значения

Вывести окно приложения с заголовком и строкой меню

Выполнять

Если Выбрана команда пункта меню

То Выполнить команду

Конец-если

До Команда меню = Выход

Конец

Блок-схема алгоритма представлена на рисунке 2.2.

Рисунок 2.2 - Блок-схема алгоритма основной программы

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

Детализируем операцию Выполнить команду:

Выполнить команду

Выбор Команда

Файл:

Свернуть в трей

Выход

Настройка:

Параметры

Планировщик

Выгрузка первичного запроса

Запросы:

Формирование

Обработка

Навигатор

Отчеты

Конец - выбор

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

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

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

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

В результате, получим следующий алгоритм.

Программа

Начало

Запуск приложения

Выполнять

Если Выбрана команда пункта меню

То

Выбор команда

Файл:

Сворачивание приложения в трей

Настройка:

Вывод на экран формы «Параметры»

Вывод на экран формы «Планировщик»

Вывод на экран формы «Выгрузка первичного запроса»

Запросы:

Запуск модуля «Формирование запроса»

Запуск модуля «Обработка запроса»

Вывод на экран формы «Навигатор»

Вывод на экран формы «Отчеты»

Конец - выбор

Конец - если

До Команда = Выход

Конец

Блок-схема алгоритма представлена на рисунке 2.3.

Детализируем модули «Формирование запроса» и «Обработка запроса».

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

выгрузка из ЛБД на первичный запрос;

выгрузка из ЛБД на последующий запрос;

присвоение имени пакету;

регистрация пакета;

запаковка архиватором;

отправка по электронной почте.

В свою очередь, процесс обработки запроса, содержит:

получение пакета из электронной почты;

распаковка архиватором;

анализ полученной информации;

обновление ЛБД.

Рисунок 2.3 - Блок-схема основной программы

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

Таблица 2.4 - Спецификация процедур и функций

№ п/п

Процедура/Функция

Описание

Параметры

На входе

На выходе

1

Выгрузка на первичный запрос

Выгружает из ЛБД в соответствии с интервалом времени данные для отправки на первичный запрос

Начальная дата, конечная дата

Dbf-таблица

2

Выгрузка на последующий запрос

Выгружает из ЛБД в соответствии с результатом обработки данные для отправки на последующий запрос

-

Dbf-таблица

3

Присвоение имени пакету

Генерирует имя пакета

Дата, номер и тип пакета

Имя пакета

4

Регистрация пакета

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

Dbf-таблица, имя и тип пакета

Идентификатор пакета

5

Запаковка

Запаковывает архиватором с паролем dbf-таблицу в пакет

Dbf-таблица, имя пакета

Пакет

6

Отправка

Отсылает пакет по электронной почте

Пакет

-

7

Получение

Проверяет электронную почту на наличие новых пакетов

-

Пакет

8

Распаковка

Распаковывает архиватором с паролем пакет

Пакет

-

9

Анализ ответа

В зависимости от вида запроса и полученной в ответ информации формирует результат

-

Обработанные данные

10

Обновление ЛБД

В соответствии с результатом обработки обновляет ЛБД

-

Обновленные данные

Исходя из полученной спецификации алгоритм модуля «Формирование запроса» будет выглядеть так:

Выгрузка на первичный запрос (Начальная дата, Конечная дата);

Выгрузка на последующий запрос ();

Если Выборка пуста

То

Конец

Иначе

Если Порядковый номер пакета > лимита (9)

То

Конец

Иначе

Присвоение имени пакету (Дата, Номер, Тип пакета)

Регистрация пакета (Выборка, Имя пакета, Тип пакета)

Запаковка (Выборка, Имя пакета)

Отправка (Пакет)

Конец - если

Конец - если

Блок-схема алгоритма, показана на рисунке 2.4.

Рисунок 2.4 - блок-схема алгоритма формирование запроса

Алгоритм модуля «Обработка запроса» будет иметь следующий вид:

Получение

Если Пакета нет

То

Конец

Иначе

Распаковка (Пакет)

Анализ ответа ()

Обновление ЛБД ()

Конец - если

Блок-схема алгоритма, показана на рисунке 2.5.

Рисунок 2.5 - Блок-схема алгоритма обработки запроса

2.3 Разработка интерфейса пользователя, экранных форм и отчетов

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

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

Рисунок 2.6 - Структура меню приложения

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

На рисунке 2.7 показана форма параметров выгрузки на первичный запрос, позволяющая изменять интервал выборки данных из ЛБД.

Рисунок 2.7 - Форма «Параметры выгрузки на первичный запрос»

Система предоставляет пользователю возможность пункты «Формирование» и «Обработка» запускать в двух режимах:

- ручной - посредством выбора соответствующего пункта меню;

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

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

Рисунок 2.8 - форма задания расписания запуска

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

Выполнение данных задач визуализировано при помощи формы, представленной на рисунке 2.9.

Рисунок 2.9 - Форма, демонстрирующая выполнение формирования запроса

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

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

Рисунок 2.10 - Форма навигации

Не менее важным в любой системе является формирование отчетных форм.

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

Спецификация всех форм приложения, представлена в таблице 2.5.

Таблица 2.5 - Спецификация форм приложения

Файл формы

Название

Описание

1

frmSet.scx

Параметры работы приложения

Установка настроек приложения, путей и постоянных значений

2

frmSetQuery.scx

Параметры выгрузки на первичный запрос

Изменяет интервал выгрузки данных из ЛБД на первичный запрос

3

frmPlaner.scx

Планировщик задач

Составляет расписание запуска задач

4

frmNavigator.scx

Навигатор

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

5

frmReports.scx

Отчеты

Формирует отчеты

2.4 Разработка процедур и функций приложения

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

Таблица 2.6 - Спецификация процедур и функций

№ п/п

Процедура/Функция

Описание

Параметры на входе

Результат

1. Файл Main.prg

1

prcSetting

Устанавливает пути и постоянные значения

-

Начальные установки

2

prcExitApp

Процедура выхода из приложения

-

Выход

2. Файл mldPackets.prg

1

fncPrepareProcess

Осуществляет подготовку к обработке

-

1 - есть новые пакеты, 0 - нет новых пакетов

2

fncUnPack

Распаковывает архиватором полученный пакет

lcNamePak - пакет

Распакованный пакет

3

fncPrepareQuery

Осуществляет подготовку запроса

lcAlias - алиас таблицы

Алиас готовой таблицы

4

fncGetDataForQ1_2

Выбирает из ЛБД записи на первичный запрос

ldStartDate - начальная дата ldFinishDate - конечная дата

Алиас таблицы

5

fncGetDataForQ_Other

Выбирает записи из ЛБД на запросы модификации (последующий запрос)

-

Алиас таблицы

6

fncPack

Запаковывает архиватором таблицу в пакет

lcAlias - алиас таблицы,

lcNamePak - имя пакета

Пакет

7

fncGetTemplate

Определяет имя шаблона таблицы

lnIdType - идентификатор типа пакета

Имя шаблона таблицы пакета

8

fncGetRegPacket

Функция регистрации пакета в журнале и отметка о статистике по запросам

lnNamePak - имя пакета,

lnType - тип пакета

lcAlias - алиас таблицы

Идентификатор пакета

9

fncGetNamePak

Функция генерации имени пакета

-

Имя пакета

10

fncGetTypePacket

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

lnId - идентификатор типа

Тип пакета

11

fncDateToYMD

Функция перевода даты в формат ГМД

ldDate - дата

ГМД

12

fncSystem32

Функция перевода каждого числа даты в число в систему счисления по основанию 32

lcPartDate - часть даты

часть даты в системе счисления по основанию 32

13

fncGetNextPakNum

Функция определения следующего порядкового номера пакета

ldDate - дата

Номер пакета

14

RunProcess

Функция запуска приложение с ожиданием его завершения

tcCmdLine - командная строка запуска приложениея,

ExDirectory - директория

0 - если Ошибка, 1- все в норме

3. Файл CreateQuery.prg

1

prcCreateQuery

Формирование запроса

-

Готовый запрос

4. Файл ProcessQuery.prg

1

prcProcessQuery

Обработка запроса

-

Обработанные и обновленные данные

5. Файл mdlProcess.prg

1

fncProcess

Обработка записей

-

Обработанные данные

2

fncGetUpdateLBD

Обновление ЛБД

-

Обновленные данные

3

fncGetProcessQ_Other

Обработка запросов модификации

lcNumq - вид запроса

Результат обработки

4

fncGetReplyIDForQ1_2

Определят запись из ответа для обработки запроса

lcIdq_sbj - код,

lcSurName - фамилия,

lcName - имя,

lcSecName - отчество,

ldBirthday - дата рождения,

lnNpolis - номер полиса,

lcSpolis - серия полиса,

lnNdoc - номер документа,

lcSdoc - серия документа,

lnNsdoc - номер серии документа,

lnDocType - тип документа,

lnRGN1,

lnRGN2,

lnRGN3

lnStreet,

lnFlat - адрес

Код записи из ответа

5

fncProcessQ1_2

Обработка первичного запроса

lcIdq_sbj - код

Результат

6

fncIdent

Функция идентификации записей в ответе

lnReplyID - код записи в ответе,

lcSurName - фамилия,

lcName - имя,

lcSecName - отчество,

ldBirthday - дата рождения,

lnNpolis - номер полиса,

lcSpolis - серия полиса,

lnNdoc - номер документа,

lcSdoc - серия документа,

lnNsdoc - номер серии документа,

lnDocType - тип документа,

lnRGN1,

lnRGN2,

lnRGN3

lnStreet,

lnFlat - адрес

Истина если запись идентифицирована, Ложь в обратном случае

7

fncKeyFIOB

Функция проверки по ключу FIOB

lnReplyID - код записи в ответе,

lcSurName - фамилия,

lcName - имя,

lcSecName - отчество,

ldBirthday - дата рождения

Истина - запись совпала по ключу, ложь в обратном случае

8

fncKeyFIB

Функция проверки по ключу FIB

lnReplyID - код записи в ответе,

lcSurName - фамилия,

lcName - имя,

ldBirthday - дата рождения

Истина - запись совпала по ключу, ложь в обратном случае

9

fncKeyFIO

Функция проверки по ключу FIO

lnReplyID - код записи в ответе,

lcSurName - фамилия,

lcName - имя,

lcSecName - отчество

Истина - запись совпала по ключу, ложь в обратном случае

10

fncKeyIOB

Функция проверки по ключу IOB

lnReplyID - код записи в ответе,

lcName - имя,

lcSecName - отчество

ldBirthday - дата рождения

Истина - запись совпала по ключу, ложь в обратном случае

11

fncKeyFOB

Функция проверки по ключу FOB

lcSurName - фамилия,

lcSecName - отчество

ldBirthday - дата рождения

Истина - запись совпала по ключу, ложь в обратном случае

12

fncAtrPolis

Функция проверки по атрибуту полис

lnReplyID - код записи в ответе,

lnNpolis - номер полиса,

lcSpolis - серия полиса

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

13

fncAtrDoc

Функция проверки по атрибуту документ

lnReplyID - код записи в ответе,

lnNdoc - номер документа,

lcSdoc - серия документа,

lnNsdoc - номер серии документа,

lnDocType - тип документа,

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

14

fncAtrAdres

Функция проверки по атрибуту адрес

lnRGN1,

lnRGN2,

lnRGN3

lnStreet,

lnFlat - адрес

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

3. Технико-экономическое обоснование разработки ПО

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

Технико-экономическое обоснование разработки системы информационного обмена включает в себя следующее:

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

определение трудоемкости и стоимости программного обеспечения (ПО);

расчет цены ПО;

расчет капитальных и эксплуатационных затрат на разработку;

определение показателей финансово-экономической эффективности.

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

Таблица 3.1 - Исходные данные

№ п/п

Обозначение

Наименование показателя

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

Значение показателя

1

СЭВМ

Стоимость ЭВМ

Тыс. руб.

12

2

ДМ

Среднее количество дней в месяце

Дни

22

3

?н

Норматив рентабельности

-

0,20

4

?д

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

-

0,10

5

?с

Коэффициент, учитывающий начисления органам социального страхования

-

0,356

6

?н

Коэффициент, учитывающий накладные расходы организации

-

1,15

7

qI

Количество I-задач, решаемых потребителем

Зад. год

60

8

tM.B.I

Время, решаемой I-ой задачи разработанной программы

Маш. час

1

9

t'M.B.I

Время решаемой I-задачи базовой программой

Маш. час

6

10

nп

Количество организаций, которые приобретут данную программу

Шт.

7

11

ZЭЛ

Тариф за 1кВт/час

Руб.

1,63

12

?н

Нормативный коэффициент эффективности капиталовложений

-

0,25

13

ТС

Срок службы разработанной программы

Год

4

14

НДС

Налог на добавленную стоимость

%

18

15

ТР

Количество рабочих дней в году

Дни

264

16

NCM

Количество смен работы ЭВМ

-

3

17

tСМ

Продолжительность смены

Часы

8

18

?

Простои ЭВМ

%

1

19

Р

Мощность, потребляемая ЭВМ

кВТ

0,25

20

NCP

Среднее количество ремонтов в год

-

1

21

SД

Стоимость деталей, заменяемых при ремонте

Руб.

500

3.1 Расчет затрат на разработку ПО

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

(3.1)

где: - затраты по заработной плате инженера-программиста;

- накладные расходы.

Затраты по заработной плате инженера-программиста рассчитываются по формуле:

(3.2)

где: - основная заработная плата инженера программиста за месяц (8000 руб.);

- время, необходимое для разработки приложения программистом I-го разряда (чел.-мес.);

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

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

Приложение разрабатывалось 30 дней, если учесть что в одном месяце 22 рабочих дня, то:

(чел.-мес.)

Таким образом, затраты по заработной плате инженера-программиста составят:

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

(3.3)

Таким образом, суммарные затраты на разработку приложения составляют:

В качестве базы сравнения будем использовать АИС «ОМС».

3.2 Расчет цена разработанной программы

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

(3.4)

где: - оптовая цена (цена разработчика) (руб.);

- суммарные затраты на разработку системы (руб.);

- прибыль, рассчитанная по формуле:

(3.5)

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

Итак,

Розничная цена системы рассчитывается с учетом налога на добавленную стоимость () по формуле:

(3.6)

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

(3.7)

3.3 Расчет капитальных вложений

Капиталовложения, связанные с работой ПК рассчитываются по формуле:

(3.8)

где: - стоимость ПК (руб.);

- стоимость транспортировки ПК (руб.);

- стоимость монтажа ПК (руб.);

- стоимость запасных частей (руб.);

- стоимость площади установки ПК (руб.).

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

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

; (руб.);

; (руб.);

; (руб.).

Капиталовложения в ПК составляют:

3.4 Расчет эксплуатационных расходов

Эксплуатационные расходы на ПК рассчитываются по формуле:

(3.9)

где: - машинное время для решения задач с помощью разработанной системы, (маш.час/год);

- эксплуатационные расходы, приходящиеся на 1 час работы ПК;

- цена, по которой продается система (руб.);

- срок службы системы (г.).

Полезный фонд времени работы ПК рассчитывается по формуле:

(3.10)

где: - общий фонд времени работы ПК (дни); ;

- количество смен работы ПК;

- время одного рабочего дня (час);

- простои ПК (в % от общего фонда времени работы ПК).

Полезный фонд времени работы ПК получим:

Машинное время для решения задач с помощью данной ситемырассчитывается по формуле:

(3.11)

где: - количество I-задач, решаемых потребителем в год (шт.);

- время для решения I-задачи, разработанной системой (маш.час).

(маш.час/год)

Эксплуатационные расходы, приходящиеся на 1 час работы ЭПК, оцениваются по формуле:

(3.12)

где: - амортизационные отчисления (руб.);

- затраты по заработной плате инженера в год (руб./год);

- стоимость потребляемой энергии (руб.);

- затраты на ремонт ПК (руб.);

- полезный годовой фонд работы ПК (маш.час/год).

Амортизационные отчисления рассчитываются с учетом нормы амортизации ();

Затраты по заработной плате инженера за год рассчитываются по формуле:

(3.13)

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

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

- основная заработная плата инженера за месяц 6-го разряда (10000 руб.).

Рассчитываем годовые затраты по заработной плате и социальным отчислениям инженера:

(руб./год)

Стоимость потребляемой энергии оценивается по формуле:

(3.14)

где: - мощность, потребляемая ПК (кВт);

- полезный годовой фонд работы ЭПК (маш.час/год);

- тариф за 1 кВт/час (руб./кВт).

Итак, произведем расчет стоимости потребляемой энергии:

Затраты на ремонт ПК вычисляются по формуле:

(3.15)

где: - среднее количество ремонтов в год;

- стоимость деталей заменяемых при одном ремонте, в среднем.

(руб.)

Произведем вычисление эксплуатационных расходов, приходящихся на 1 час работы ПК:

(руб./час)

Далее вычислим эксплуатационные расходы на ПК:

3.5 Расчет денежного годового экономического эффекта

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

(3.16)

где: - экономия стоимости машинного времени (руб.);

- нормативный коэффициент эффективности капитальных вложений;

- экономия капитальных вложений (руб.).

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

(3.17)

где: - машинное время для решения задач с помощью разработанной системы (маш.час/год);

- капиталовложения в ПК (руб.);

- полезный годовой фонд работы ПК (маш.час/год);

- машинное время для решения задач базовой системой рассчитывается с учетом - время решения I-ой задачи базовой программой:

,

(маш.час/год)

Произведем расчет экономии капитальных вложений по формуле:

Расчет экономии стоимости машинного времени производится по формуле:

(3.18)

где: - эксплуатационные расходы, приходящиеся на 1 час работы ПК;

- машинное время для решения задач базовой программой (маш.час/год);

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

Произведем расчет экономии стоимости машинного времени по формуле:

Теперь определим денежный годовой экономический эффект по формуле:

3.6 Определение показателей эффективности инвестиций

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

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

(3.19)

где: - цена капитала;

- коэффициент, учитывающий риск;

- уровень инфляции на валютном рынке.

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

(3.20)

где: - период дисконтирования.

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

- чистая дисконтированная стоимость (текущая дисконтированная стоимость), т.е. доход;

- внутренняя норма доходности;

- срок окупаемости.

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

Таблица 3.2 - План денежных потоков

№ п/п

Показатель

Значения, руб.

0-й год

1-й год

2-й год

3-й год

4-й год

1

Выручка от реализации

284 876,90

284 876,90

284 876,90

284 876,90

2

НДС (18%)

51 277,84

51 277,84

51 277,84

51 277,84

3

Выручка от реализации без НДС

233 599,06

233 599,06

233 599,06

233 599,06

4

Издержки на персонал

178 992

178 992

178 992

178 992

5

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

10 381,38

10 381,38

10 381,38

10 381,38

6

Амортизационные отчисления

1 851,75

1 851,75

1 851,75

1 851,75

7

Прибыль от реализации

42 373,93

42 373,93

42 373,93

42 373,93

8

Налог на прибыль (24%)

10 169,74

10 169,74

10 169,74

10 169,74

9

Чистая прибыль

32 204,19

32 204,19

32 204,19

32 204,19

10

Капитальные вложения

14 814

11

Прочие единовременные затраты

28 740,61

12

Денежный поток

-43 554,61

32 204,19

32 204,19

32 204,19

32 204,19

Размер выручки от реализации определяется с учетом прогнозируемой средней потребности в разработанной системе (7 шт.) и розничной цены (40 696,70 руб.).

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

(3.21)

где: - результат в -ом году;

- затраты в -ом году;

- период дисконтирования.

Вычисление чистой дисконтированной стоимости и текущей дисконтированной стоимости приведено в таблице 3.3.

Таблица 3.3 - Вычисление чистой и текущей дисконтированной стоимости

№ п/п

Год

Затраты(+)

Результаты (-)

при

(тыс. руб.)

нарастающим итогом

1

0

-43 554,61

1

-43 554,61

-43 554,61

2

1

32 204,19

0,7576

24 475,18

-19 079,43

3

2

32 204,19

0,5739

18 356,39

-723,04

4

3

32 204,19

0,4348

13 847,80

13 124,76

5

4

32 204,19

0,3294

10 627,38

23 752,14

= 23 752,14

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

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

(3.22)

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

- последнее положительное значение ;

- последнее отрицательное значение .

Зависимость чистой дисконтированной стоимости от нормы дисконта представлена в таблице 3.4. и отражена на рисунке 3.1.

Таблица 3.4 - Зависимость ЧДС от нормы дисконта

Номер

Значение нормы дисконта ()

Значение , тыс. руб.

1

0,32

23,94

2

0,47

10,29

3

0,62

0,85

4

0,77

-5,99

Рисунок 3.1 - Зависимость от нормы дисконта

Расчет внутренней нормы дисконта представлен в таблице 3.5.

Таблица 3.5 - Расчет внутренней нормы дисконта

№ п/п

Год

Денежные потоки

=63%

=64%

1

0

-43 554,61

1

-43 554,61

1

-43 554,61

2

1

32 204,19

0,6135

19 757,27

0,6098

19 636,70

3

2

32 204,19

0,3764

12 121,66

0,3718

11 973,60

4

3

32 204,19

0,2309

7 435,95

0,2267

7 300,97

5

4

32 204,19

0,1417

4 563,33

0,1382

4 451,81

Точное значение внутренней нормы доходности (рентабельность) составит:

Рассчитанное значение , составляющее 63,63%, превышает фактическую норму дисконта , следовательно, инвестиции в данный проект оправданы.

Индекс доходности рассчитывается по формуле:

(3.23)

где: - приведенная величина инвестиций, рассчитывающаяся по формуле:

(3.24)

где: - величина инвестиций в -ом году.

Индекс доходности проекта составляет:

Рассчитанное значение = 1,55 больше единицы, следовательно, разработку системы можно считать эффективной и экономически обоснованной.

Средняя рентабельность разработки рассчитывается по формуле:

(3.25)

где: - индекс доходности проекта;

- срок службы системы.

Средняя рентабельность разработки в нашем случае составит:

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

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

Рисунок 3.2 - Определение срока окупаемости проекта

Как видно из графика, значение составляет 2,05 года.

3.7 Выводы

Обобщенные технико-экономические показатели разработки системы сведены в таблицу 3.6.

Таблица 3.6 - Обобщенные технико-экономические показатели

Показатель

Значение

1

Капитальные вложения (руб.)

14 814

2

Эксплуатационные расходы (руб.)

10 381,38

3

Оптовая цена (руб.)

34 488,73

4

Свободная отпускная цена (руб.)

40 696,70

5

Затраты на проектирование

28 740,61

6

Чистая дисконтированная стоимость (при =32%) (руб.)

23 752,14

7

Внутренняя норма доходности (%)

63,63

8

Индекс доходности

1,55

9

Средняя рентабельность разработки (%)

38,63

10

Срок окупаемости

2,05

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

4. Охрана труда

4.1 Выявление явных и потенциально опасных вредных производственных факторов

Система информационного обмена для страховой медицинской организации предназначена для администратора базы данных или оператора персонального компьютера (ПК).

Пользователь разрабатываемой системы, при работе с видеодисплейными терминалами (ВДТ) и ПК, сталкивается с воздействием следующих опасных и вредных производственных факторов:

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

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

- повышенный уровень шума;

- микроклимат;

- электрический ток;

- недостаточная освещенность.

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

4.1.1 Излучение электромагнитных полей

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

ПК являются источниками таких излучений как:

- мягкого рентгеновского;

- ультрафиолетового 200-400 нм;

- видимого 400-700 нм;

- ближнего инфракрасного 700-1050 нм;

- радиочастотного 3 кГц-3О мГц;

- электростатических полей.

Ультрафиолетовое излучение полезно в небольших количествах, но в больших дозах приводит к дерматиту кожи, головной боли, рези в глазах. Инфракрасное излучение приводит к перегреву тканей человека (особенно хрусталика глаза), повышению температуры тела. Уровни напряженности электростатических полей составляют не более 20 кВ/м. При повышенной опасности электромагнитного поля на расстоянии 5-10 см от экрана и корпуса монитора уровни напряженности могут достигать 140 В/м по электрической составляющей.

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

Таблица 4.1 - Предельно допустимые значения характеристик ЭМП

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

Допустимое значение

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

10 В/м

Напряженность электромагнитного поля по магнитной составляющей на расстоянии 50 см от поверхности видеомонитора

0,3 А/м

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

- для взрослых пользователей

20 кВ/м

Напряженность электромагнитного поля на расстоянии 50 см вокруг ВДТ по электрической составляющей должна быть не более:

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

25 В/м

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

2,5 В/м

Плотность магнитного потока должна быть не более:

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

250 нТл

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

25 нТл

Поверхностный электростатический потенциал не должен превышать

500 В

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

Для предупреждения внедрения опасной техники все дисплеи проходят испытания на соответствие требованиям безопасности (например, международные стандарты MRP 2, TCO 99).

4.1.2 Шум

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

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

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

- облицовка потолка и стен звукопоглощающим материалом (снижает шум на 6-8 дб);

- экранирование рабочего места (постановкой перегородок, диафрагм);

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

- рациональная планировка помещения.

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

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

Работа администратора БД, относится к категории Іа (легкие физические работы), и соответствует следующим требованиям:

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

- в теплый период 23-25 С;

- в холодный период 22-24 С;

оптимальная относительная влажность - 40-60% (допустимая - не более 75%);

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

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

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

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

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

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

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

4.1.5 Освещенность

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

Естественное освещение - осуществляется через окна в наружных стенах здания.

Искусственное освещение - используется при недостаточном естественном освещении и осуществляется с помощью двух систем: общего и местного освещения. Общим называют освещение, светильники которого освещают всю площадь помещения. Местным называют освещение, предназначенное для определённого рабочего места.

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

В качестве источников света при искусственном освещении применяются преимущественно люминесцентные лампы типа ЛБ.

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

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

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

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

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

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

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

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

4.1.7 Организация рабочего места

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

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

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

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

Рабочий стул администратора БД снабжен подъемно-поворотным механизмом. Высота сиденья регулируется в пределах 400 - 500 мм. Глубина сиденья составляет не менее 380 мм, а ширина - не менее 400 мм. Высота опорной поверхности спинки не менее 300 мм, ширина - не менее 380 мм. Угол наклона спинки стула к плоскости сиденья изменяется в пределах 90 - 110°.

4.2 Мероприятия по устранению опасных и вредных производственных факторов

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

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

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

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

отключение компьютера от сети;

проверка отсутствия напряжения.

После выполнения этих действий проводится ремонт неисправного оборудования.

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

В организации используются рабочие столы с высотой рабочей поверхности 725 мм, а также рабочие кресла с подъемно-поворотным устройством. Конструкция кресел обеспечивает регулировку высоты опорной поверхности сиденья в пределах 400-500 мм и углов наклона вперед до 15 градусов и назад до 5 градусов. Каждое кресло оборудовано подлокотниками, что сводит к минимуму неблагоприятное воздействие на кистевые суставы рук.

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

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

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

Заключение

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

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

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

В ходе работы были сформулированы требования к техническому обеспечению и обоснован выбор средств автоматизации. Программное обеспечение системы разработано в среде Visual Fox Pro 9 под управлением ОС Windows XP.

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

Приложение 1

Листинг файла mdlPackets.prg

Функция подготовки к обработке, поступивших пакетов

На входе - ничего нет

На выходе - 1 - если есть новые пакеты, 0 в ином случае

FUNCTION fncPrepareProcess

LOCAL lnI as Integer,;

lnFileCnt as Integer,;

lnPacketID as Integer,;

lcNamePak as String,;

lcAlias as String

lnFileCnt = ADIR(MasFile, gcInPutPath + PADL(gcSmo,5,"0")+ "*.*")

IF lnFileCnt = 0

RETURN 0

ENDIF

FOR lnI = 1 TO lnFileCnt

goFrm.container1.label3.ForeColor = RGB(0, 128, 255)

goFrm.container1.label3.caption = ALLTRIM(STR(lnI))

goFrm.Refresh

= fncUnPack(MasFile[lnI,1])

lcNamePak = MasFile[lnI,1]

lcAlias = fncGetTemplate(gnIDTypeOut)

IF !USED(lcAlias)

USE (gcArxPath + lcAlias) IN 0 ALIAS &lcAlias

ENDIF

lnPacketID = fncGetRegPacket(lcNamePak, gnIDTypeOut, lcAlias)

IF !USED('Reply')

USE (gcDataPath + "Reply.dbf") IN 0 ALIAS Reply

ENDIF

SELECT *, lnPacketID as PacketID FROM &lcAlias INTO CURSOR cur

SELECT Reply

APPEND FROM DBF('cur')

USE IN cur

USE IN Reply

USE IN &lcAlias

ENDFOR

RETURN 1

ENDFUNC

&& Функция распаковки полученного пакета

&& На входе - полное имя пакета

&& На выходе - результат работы архиватора

FUNCTION fncUnPack

LPARAMETERS lcNamePak as String

LOCAL lnReturn as Integer

COPY FILE (gcInPutPath + ALLTRIM(lcNamePak)) TO (gcArxPath + ALLTRIM(lcNamePak))

lnReturn = RunProcess(gcArxPath+"unpack.bat"+" "+ALLTRIM(lcNamePak),gcArxPath)

RETURN lnReturn

ENDFUNC

Функция подготовки к отправке

На входе - Алиас таблицы

На выходе - Алиас готовой таблицы

FUNCTION fncPrepareQuery

LPARAMETERS lcAlias as String

LOCAL ldDate as Date,;

lnNum as Integer,;

lcYMD as String,;

lcNamePak as String,;

lnPacketID as Integer,;

lcIdq_sbj as String

IF !USED('Request')

USE (gcDataPath + "Request") IN 0 ALIAS Request

ENDIF

ldDate = DATE()

lnNum = fncGetNextPakNum(ldDate)

IF lnNum = 0

STRTOFILE(TTOC(DATETIME()) + ":";

+ " Превышен лимит пакетов в день " + CHR(10) + CHR(13),;

gcLogsPath + "Log.txt",1)

RETURN.Null.

ENDIF

lcYMD = fncDateToYMD(ldDate)

lcIdq_sbj = "S" + ALLTRIM(STR(lnNum)) + ALLTRIM(lcYMD)

lcNamePak = fncGetNamePak(lnNum,lcYMD)

goFrm.container1.label12.ForeColor = RGB(0,128,255)

goFrm.container1.label12.caption = ALLTRIM(lcNamePak)

lnPacketID = fncGetRegPacket(lcNamePak, gnIDTypeIn, lcAlias)

UPDATE &lcAlias SET PacketID = lnPacketID, idq_sbj = lcIdq_sbj + PADL(RECNO(),15,"0")

SELECT &lcAlias

IF FSIZE('RequestID') != 0

ALTER table &lcAlias drop COLUMN RequestID

ENDIF

SELECT * FROM &lcAlias INTO CURSOR cur

SELECT Request

APPEND FROM DBF('cur')

USE IN cur

USE IN Request

goFrm.container1.label4.ForeColor = RGB(0,255,64)

goFrm.container1.label12.ForeColor = RGB(0,255,64)

goFrm.container1.label5.ForeColor = RGB(0,128,255)

goFrm.container1.label13.ForeColor = RGB(0,128,255)

goFrm.container1.label13.caption = TTOC(DATETIME())

= fncPack(lcAlias,lcNamePak)

goFrm.container1.label5.ForeColor = RGB(0,255,64)

goFrm.container1.label13.ForeColor = RGB(0,255,64)

ENDFUNC

Функция, создающая выборку для запросов Q1,2

На входе - интервал времени

На выходе - Алиас выборки

FUNCTION fncGetDataForQ1_2

LPARAMETERS ldStartDate, ldFinishDate as Datetime

IF !USED('Request')

USE (gcDataPath + "Request.dbf") IN 0 ALIAS Request

ENDIF

SELECT Request

COPY STRUCTURE TO (gcTempPath + "tmp1.dbf")

USE (gcTempPath + "tmp1.dbf") IN 0 ALIAS tmp1

USE IN Request

OPEN DATABASE (gcLBDPath + "dbins.dbc") SHARED

USE dbins!Fullins IN 0 ALIAS Fullins SHARED

k = 0

goFrm.container1.label2.ForeColor = RGB(0,128,255)

goFrm.container1.label3.ForeColor = RGB(0,128,255)

goFrm.container1.label14.caption = "Внимание! Идет выборка на первичный запрос"

SELECT Fullins

SCAN FOR BETWEEN(Fullins.changedate, ldStartDate, ldFinishDate)

k = k + 1

goFrm.container1.label3.Caption = ALLTRIM(STR(k))

goFrm.refresh

SCATTER MEMVAR

SELECT Tmp1

APPEND BLANK

GATHER MEMVAR

IF EMPTY(ein) OR VAL(ALLTRIM(ein)) = 0

replace numq WITH 'Q01' IN Tmp1

ELSE

replace numq WITH 'Q02' IN Tmp1

ENDIF

replace ResultID WITH 25,;

Flag WITH.F. IN Tmp1

SELECT Fullins

ENDSCAN

goFrm.container1.label2.ForeColor = RGB(0,255,64)

goFrm.container1.label3.ForeColor = RGB(0,255,64)

goFrm.refresh

USE IN Fullins

CLOSE DATABASES

IF RECCOUNT('tmp1') = 0

STRTOFILE(TTOC(DATETIME()) + ":";

+ " Нет данных за период: с " +;

TTOC(ldStartDate) + " по " +;

TTOC(ldFinishDate)+ CHR(10) + CHR(13),;

gcLogsPath + "Log.txt",1)

RETURN 'tmp1'

ENDIF

RETURN 'tmp1'

ENDFUNC

Функция создающая выборку для запросов модификации

На входе - ничего нет

На выходе - алиас

FUNCTION fncGetDataForQ_Other

LOCAL lnNumq as Integer

IF !USED('Results')

USE (gcDataPath + "Results.dbf") IN 0 ALIAS Results

ENDIF

IF !USED('Request')

USE (gcDataPath + "Request.dbf") IN 0 ALIAS Request

ENDIF

SELECT Request

COPY STRUCTURE TO (gcTempPath + "tmp2.dbf")

USE (gcTempPath + "tmp2.dbf") IN 0 ALIAS tmp2

OPEN DATABASE (gcLBDPath + "dbins.dbc") SHARED

USE dbins!Fullins IN 0 ALIAS Fullins SHARED

SELECT requestID, MAX(operdate) FROM Request WHERE Flag AND ResultID in;

(SELECT ResultID FROM Results WHERE groupid = 1) GROUP BY 1 INTO CURSOR cur

IF RECCOUNT('cur') = 0

STRTOFILE(TTOC(DATETIME()) + ":";

+ " Нет данных для отправки на запросы модификации" + CHR(10) + CHR(13),;

gcLogsPath + "Log.txt",1)

RETURN 'tmp2'

ENDIF

k = 0

goFrm.container1.label2.ForeColor = RGB(0,128,255)

goFrm.container1.label3.ForeColor = RGB(0,128,255)

goFrm.container1.label14.caption = "Внимание! Идет выборка на запросы модификации"

SELECT cur

SCAN ALL

k = k + 1

goFrm.container1.label3.Caption = ALLTRIM(STR(k))

goFrm.refresh

IF SEEK(cur.RequestID, 'Request', 'RequestID')

SELECT Request

lnNumq = Request.ResultID

IF SEEK(Request.tkey, 'Fullins', 'tkey')

SELECT Fullins

SCATTER MEMVAR

SELECT Tmp2

APPEND BLANK

GATHER MEMVAR

replace ResultID WITH 25,;

Flag WITH.F. IN Tmp2

IF lnNumq = 1

replace numq WITH "Q01" IN Tmp2

ENDIF

IF lnNumq = 2

replace numq WITH "Q03" IN Tmp2

ENDIF

IF lnNumq = 3

replace numq WITH "Q04" IN Tmp2

ENDIF

IF lnNumq = 4

replace numq WITH "Q05" IN Tmp2

ENDIF

IF lnNumq = 5

replace numq WITH "Q05" IN Tmp2

ENDIF

IF lnNumq = 6

replace numq WITH "Q08" IN Tmp2

ENDIF

IF lnNumq = 7

replace numq WITH "Q09" IN Tmp2

ENDIF

ENDIF

ENDIF

ENDSCAN

USE IN Fullins

CLOSE DATABASES

USE IN cur

USE IN Results

USE IN Request

IF !USED('Reply')

USE (gcDataPath + "Reply.dbf") IN 0 ALIAS Reply


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

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