Разработка программной системы для автоматизации информационного обмена между страховыми медицинскими организациями
Создание системы информационного обмена для страховой медицинской организации. Разработка алгоритмов, интерфейса пользователя, экранных форм и отчетов, процедур и функций приложения. Расчет цены разработанной программы, капитальных вложений и расходов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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,lnRGN3lnStreet,lnFlat - адрес |
Код записи из ответа |
|
5 |
fncProcessQ1_2 |
Обработка первичного запроса |
lcIdq_sbj - код |
Результат |
|
6 |
fncIdent |
Функция идентификации записей в ответе |
lnReplyID - код записи в ответе,lcSurName - фамилия,lcName - имя,lcSecName - отчество,ldBirthday - дата рождения,lnNpolis - номер полиса,lcSpolis - серия полиса,lnNdoc - номер документа,lcSdoc - серия документа,lnNsdoc - номер серии документа,lnDocType - тип документа,lnRGN1,lnRGN2,lnRGN3lnStreet,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,lnRGN3lnStreet,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
Подобные документы
Комплексная система автоматизации кредитной деятельности банка RS-LOANS. Построение схемы бизнес-процессов кредитования. Оценка платежеспособности заемщика и поручителя. Разработка интерфейса пользователя, алгоритмов функций, экранных форм и отчетов.
дипломная работа [3,0 M], добавлен 20.07.2014Создание программы на платформе "1С: Предприятие" для учета продуктов, доходов, формирования печатных форм документов. Логическая и физическая модель информационной системы. Разработка экранных форм ввода-вывода, отчетов и функциональных модулей.
курсовая работа [2,4 M], добавлен 26.11.2013Разработка программы для автоматизации складского учета. Описание предметной области и технологии функционирования информационной системы. Физическое проектирование базы данных. Создание экранных форм ввода-вывода, отчетов, модулей для прикладных решений.
курсовая работа [3,6 M], добавлен 08.12.2013Мобильное приложение и его предназначение для организации информационного обмена между мобильными сотрудниками компании (водитель эвакуатора, мастер техпомощи) и CRM системой. Синхронизация данных о заказах. Пользовательский интерфейс приложения.
дипломная работа [594,5 K], добавлен 12.08.2017Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.
курсовая работа [1,8 M], добавлен 17.05.2016- Создание приложения автоматизации анализа финансово-хозяйственной деятельности в ООО "Уралэнерготел"
Разработка информационной системы по автоматизации расчетов экономических показателей финансово-хозяйственной деятельности, процесса подготовки отчетов. Создание структуры базы данных, интерфейса системы с использованием среды программирования Делфи.
курсовая работа [4,1 M], добавлен 28.10.2014 Разработка технологии и средств реализации Java-приложения, сокращающих трудоемкость создания и гибкость модификации интерфейса пользователя. Использование XML-документов для описания внешнего представления, элементов управления и событий экранных форм.
дипломная работа [2,8 M], добавлен 19.08.2011Программный комплекс автоматизации телефонных соединений. Разработка графического интерфейса пользователя, технологической инструкции для пользователя программы, контроля и аттестации программ. Расчет затрат при автоматизации телефонных соединений.
дипломная работа [4,7 M], добавлен 15.10.2013Разработка информационного обеспечения задачи, определение логической структуры реляционной базы данных. Разработка запросов и отчетов для обработки и отображения информации, интерфейса пользователя. Методика и этапы физического проектирования задачи.
курсовая работа [33,5 K], добавлен 25.07.2012Теоретические основы разработки приложения, реализующего подсвечивание ключевых слов. Описание используемых процедур и функций, структуры программы, интерфейса пользователя. Системные требования для работы приложения, анализ результаты его тестирования.
курсовая работа [1,2 M], добавлен 07.07.2012