Проектирование базы данных страховой компании ОАО «Согаз-Мед»
Содержание
Введение………………………………………………………………..………3
1. Анализ деятельности страховой компании ОАО «Согаз-Мед».….5
1.1. Экономический анализ деятельности страховой компании
ОАО «Согаз-Мед»……………………………………………………………..5
1.2.Оценка документооборота страховой компании ОАО«Согаз-Мед»…..7
1.3. Разработка функциональной модели «как есть»…………………..10
2. Проектирование базы данных страховой компании ОАО «Согаз-Мед»……………………………….16
2.1. Разработка функциональной модели «как должно быть»…………………...……………13
2.2. Разработка логико-физической модели………………………………16
3. Разработка БД для компании ОАО «Согаз-Мед»………...……………19
3.1. Выбор программной среды для разработки БД……………………
3.2. Основные функции и процедуры,используемые при разработке БД….(запрос по сортировке,фильтрации ит.п)
3.3. Тестирование приложения……
Заключение……………………………………………………………..…….25
Список литературы……………………………………………………..…...26
Приложения……………………………………………………………………..28
Введение
В современных условиях возрастает значение информационных систем, позволяющих обеспечить информационную поддержку процессов принятия решений. Базы данных являются одним из основных элементов большинства информационных систем.
Рассматривая такую предметную область как деятельность страховой компании, несомненно, невозможно обойтись без структурирования информации в базу данных.
Страховые компании - это финансовые посредники, которые специализируются на предоставлении страховых услуг. Их деятельность состоит в формировании на основании договоров с юридическими и физическими лицами (через продажу страховых полисов) специальных денежных фондов, из которых осуществляются выплаты страхователям денежных средств в обусловленных размерах в случае наступления определенных событий (страховых случаев).
Страховая компания работает с очень большим объемом информации, как о сотрудниках, так и о клиентах. Для этого нужна общая база данных, включающая всю необходимую информацию. Это является очень удобным для пользователя и необходимо для автоматизации процесса. Поэтому автоматизация страхового бизнеса в России весьма перспективна во многих отечественных страховых компаниях лишь совсем недавно начали серьезно задумываться о необходимости развертывания комплексных корпоративных систем.
Актуальность состоит в том, что большой объем информации, проходящей через отдел, является главной причиной применения вычислительной техники. Автоматизация деятельности страховщиков облегчает ведение базы договоров и ускоряет доступ к ней, упрощает составление отчетной документации, тем самым повышает производительность труда. Устраняются также такие недостатки, как сложность контроля достоверности информации (велика вероятность ошибок, пропусков при заполнении вручную), необходимость расчета некоторых показателей с помощью калькулятора и их недостаточная точность.
Целью курсового проекта является разработка базы данных «Страхование население» для ОАО «Согаз-Мед» в среде Delphi 7.0.
Объект: страховая компания ОАО «Согаз-Мед»
Задачи:
- Анализ деятельности страховой компании ОАО «Согаз-Мед»;
- Проектирование базы данных «Страхование населения»;
- Реализация БД «Страхование населения».
1. Анализ деятельности страховой компании ОАО «Согаз-Мед»
- Экономический анализ деятельности страховой компании
ОАО «Согаз-Мед»
Страховая медицинская компания ОАО «Согаз-Мед» создана в 1998 году как дочерняя компания «Газпрома» под наименованием «Газпроммедстрах», летом 2003 года в ходе консолидации страхового бизнеса включена в группу «Согаз».
Основные цели и задачи ОАО «Согаз-Мед»: совершенствование системы медицинского обеспечения, организация медицинской помощи и контроль её качества, рациональное использование средств, выделяемых на медицинское обеспечение, и защита прав застрахованных.
ОАО «Согаз-Мед» специализируется на осуществлении обязательного медицинского страхования (ОМС). По итогам 2013 года компания заняла 2 место в рейтинге страховых медицинских компаний России по страховым поступлениям по ОМС. На сегодняшний день ОАО «Согаз-Мед» - одна из крупнейших страховых медицинских компаний Российской Федерации с количеством застрахованных более 15,7 млн человек (более 11% населения России). Региональная сеть насчитывает более 550 подразделений на территории 38 субъектов Российской Федерации. Оплаченный уставный капитал Компании составляет 102,5 млн. рублей, по состоянию на 30 сентября 2014, что полностью соответствует требованиям действующего законодательства Российской Федерации к размеру уставного капитала и позволяет ОАО «Согаз-Мед» планировать свою деятельность по ОМС на долгосрочной основе.
ОАО «СОГАЗ-Мед продолжает реализацию программы внедрения современных технологических средств для развития системы ОМС. Ряд филиалов компании принял участие в реализации федерального проекта «Универсальная электронная карта» (УЭК). За истекший период количество принятых заявлений на выпуск УЭК на базе пунктов выдачи полисов филиалов ОАО «СОГАЗ-Мед» составило около 2,3 тыс. штук. Во многих офисах компании осуществляется выдача полисов ОМС единого образца в виде пластиковой карты с электронным носителем («электронный полис»).
ОАО «СОГАЗ-Мед» пользуется заслуженным авторитетом в профессиональном сообществе. В марте 2013 года Рейтинговое агентство «Эксперт РА» подтвердило рейтинг надежности и качества услуг на уровне «А++» страховой компании ОАО «СОГАЗ-Мед» («Исключительно высокий уровень надежности и качества услуг»)
Данная компания является участником следующих специализированных объединений:
- всероссийский союз страховщиков;
- межрегиональный союз медицинских страховщиков.
Генеральный директор ОАО «Страховая компания «СОГАЗ-Мед» Д.В. Толстов входит в состав Президиума Межрегионального союза медицинских страховщиков.
Экономический анализ показал, что по итогам 2014 года объем страховых сборов Общества по обязательному медицинскому страхованию составил 44,45 млн. рублей, что в 1,3 раза выше показателей предыдущего года. К тому же, страховые выплаты по ОМС составили 34,434 млрд. рублей или 95,34% от общей суммы страховых сборов.
Что же касается имущественного состояния, то в процессе функционирования предприятия величина активов и их структура претерпевают постоянные изменения. Наиболее общие представления об имевших место качественных изменениях в структуре средств и их источников можно получить с помощью вертикального и горизонтального анализа отчетности.
Вертикальный анализ показывает структуру средств предприятий и их источников. Преимущество вертикального анализа по сравнению с горизонтальным, является использование в нем относительных показателей, которые в определенной степени сглаживают негативное влияние инфляционных процессов, которые могут существенно искажать абсолютные показатели финансовой отчетности и тем самым затруднять их сопоставление в динамике.(см. Таблицу 1)
Таблица1- Структура активов ОАО»Согаз-Мед»
Из приведенных данных можно сделать вывод, что в 2012 году произошло увеличение суммы основных средств предприятия на 1724 тыс. руб., однако в структуре активов доля основных средств уменьшилась на 0,55%. В 2013 году произошло снижение на 406 тыс. руб.
Нематериальных активов компания не имеет. Удельный вес долгосрочных финансовых активов в структуре активов также незначителен и имеет непостоянную динамику: 2012 год - 5,11%, 2013 - 7,19%, 2014- 3,13%.
В целом удельный вес внеоборотных активов в 2013 году вырос на 1,55%, в 2014 сократился на 4,36%.
Показатель второй группы активов - оборотные активы, имеет обратную тенденцию. В 2012 году их удельный вес составлял 93,30%, в 2013 году - 91,75%, в 2014 году он увеличился до 96,11%.
За анализируемый период основную часть оборотных активов составляет дебиторская задолженность, на ее долю приходится в 2012 - 66,38%, 2013- 62,24%, в 2014 доля сокращается до 46,63%.
Сумма денежных средств увеличивалась с каждым годом почти в 2 раза: с 401732 тыс. руб. в 2012 году до 740367 тыс. руб. в 2013 году и до 1705579 в 2014 году.
Все вышеперечисленное говорит о том, что финансовое состояние компании ОАО«Согаз-Мед» с каждым годом становится только лучше, а значит данная организация развивается, увеличивает клиентскую базу, что в свою очередь ведет к увеличению объемов работ в процессе документооборота организации.
1.2. Оценка документооборота страховой компании ОАО«Согаз-Мед»
Своевременный анализ и оценка документооборота организации являются условиями её эффективного функционирования и стабильного развития. Реально повысить эффективность работы организации невозможно без постоянного совершенствования документирования всех ключевых и обеспечивающих бизнес-процессов, а также без улучшения постановки делопроизводства.
Так и в компании ОАО«Согаз-Мед» документооборот является одним из важнейших бизнес-процессов организации. Для примера, рассмотрим перечень документов, которые нужны для получения полиса ОМС.
К заявлению о выборе (замене) страховой медицинской организации прилагаются следующие документы или их заверенные копии, необходимые для регистрации в качестве застрахованного лица:
1) для детей после государственной регистрации рождения и до четырнадцати лет, являющихся гражданами Российской Федерации:
- свидетельств о рождении;
- документ, удостоверяющий личность законного представителя ребенка;
- СНИЛС (при наличии).
2) для граждан Российской Федерации в возрасте четырнадцати лет и старше:
- документ, удостоверяющий личность (паспорт гражданина Российской Федерации, временное удостоверение личности гражданина Российской Федерации, выдаваемое на период оформления паспорта);
- СНИЛС (при наличии).
3) для лиц, имеющих право на медицинскую помощь в соответствии с Федеральным законом «О беженцах»:
- удостоверение беженца;
- или свидетельство о рассмотрении ходатайства о признании беженцем по существу;
- или копия жалобы на решение о лишении статуса беженца в Федеральную миграционную службу с отметкой о ее приеме к рассмотрению;
- или свидетельство о предоставлении временного убежища на территории Российской Федерации.
4) для иностранных граждан, постоянно проживающих в Российской Федерации:
- паспорт иностранного гражданина либо иной документ, установленный федеральным законом или признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность иностранного гражданина;
- вид на жительство;
- СНИЛС (при наличии).
5) для лиц без гражданства, постоянно проживающих в Российской Федерации:
- документ, признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность лица без гражданства;
- вид на жительство;
- СНИЛС (при наличии).
6) для иностранных граждан, временно проживающих в Российской Федерации:
- паспорт иностранного гражданина либо иной документ, установленный федеральным законом или признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность иностранного гражданина, с отметкой о разрешении на временное проживание в Российской Федерации;
- СНИЛС (при наличии).
7) для лиц без гражданства, временно проживающих в Российской Федерации:
- документ, признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность лица без гражданства, с отметкой о разрешении на временное проживание в Российской Федерации;
- либо документ установленной формы, выдаваемый в Российской Федерации лицу без гражданства, не имеющему документа, удостоверяющего его личность;
- СНИЛС (при наличии).
8) для представителя застрахованного лица:
- документ, удостоверяющий личность;
- доверенность на регистрацию в качестве застрахованного лица в выбранной страховой медицинской организации, оформленной в соответствии со статьей 185 части первой Гражданского кодекса Российской Федерации.
9) для законного представителя застрахованного лица:
- документ, удостоверяющий личность и (или) документ, подтверждающий полномочия законного представителя.
Из вышеперечисленного понятно, что сотрудникам страховой компании ОАО «Согаз-Мед» приходится тратить много времени на работу с документами, причем зачастую на работу, напрямую не связанную с профессиональным бизнесом. Распространена ситуация, когда недостаточно внимания уделяется коммуникации с клиентами, так как большую часть времени страховщики занимаются сканированием документов и освоением систем документооборота.
В итоге нерациональное использование ресурсов и смещенные приоритеты страховой компании серьезно снижают конкурентоспособность компании на страховом рынке и препятствуют расширению бизнеса.
Поэтому компании нужно оптимизировать документооборот так, чтобы он не требовал привлечения большого количества людских ресурсов и позволял легко и оперативно извлекать из хранилища необходимую в данный момент информацию. Для компании это будет означать два выигрышных момента: безусловное улучшение качества предоставляемого сервиса и снижение времени обслуживания одного клиента, благодаря чему можно сократить численность персонала.
Важно и то, что оптимизация не просто позволит упорядочить потоки документов, но и поможет сократить расходы на их создание и обработку.
Преимущества автоматизации документооборота страховой компании ОАО «Согаз-Мед»:
- исключаются потери документов, а поиск упрощается до уровня элементарной задачи;
- становится более полными и совершенными учет и контроль использования информационных материалов;
- сохранность информационного ресурса значительно повышается.
- . Разработка модели «как есть»
Для разработки модели «как есть» предназначено CASE-средство верхнего уровня AllFusion Process Modeler (BPwin), поддерживающее методологии:
- IDEF0 (функциональная модель);
- DFD (DataFlow Diagram);
- IDEF3 (Workflow Diagram).
Создание модели в стандарте IDEF0.
Функциональная модель предназначена для описания существующих бизнес процессов на предприятии (так называемая модель AS-IS «как есть») и идеального положения вещей того, к чему нужно стремиться (модель ТО-ВЕ «как должно быть»). Методология IDEF0 предписывает построение иерархической системы диаграмм единичных описаний фрагментов системы.
Построение модели ИС начинается с описания функционирования предприятия (системы) или отдельной ее части (в нашем случае это страхование населения) в целом в виде контекстной диаграммы. На Рис.2 представлена контекстная диаграмма ИС «Страхование населения»:
Рис.2. Контекстная диаграмма страхования населения
На контекстной диаграмме видно, что в страховую компанию от клиента поступает заявление на замену или выдачу полиса, а так же паспорт, СНИЛС, действующий полис (в случае замены). Механизмами управления являются нормативно-правовые акты, должностные инструкции, устав предприятия, а так же дополнительные соглашения. Сотрудники ресурсы, необходимые для бесперебойной работы в сфере страхования населения. Результатами страхования будет новый страховой полис, отчеты по выданным полюсам и отчёты о финансовом состоянии предприятия, которые направляются в главный офис для отслеживания динамики.
Далее весь процесс страхования разбивается на подпроцессы, которые в свою очередь могут быть декомпозированы на ещё более мелкие подпроцессы. В результате такого разбиения, каждый фрагмент системы изображается на отдельной диаграмме декомпозиции. (см. Рис.3):
Рис.3. Диаграмма декомпозиции IDEF0.Страхование населения
. В результате дальнейшего разбиения функции «Работа с населением» получаем следующую диаграмму декомпозиции (см. Рис.4):
Рис.4. Диаграмма декомпозиции IDEF0.Работа с населением.
Производим декомпозицию функции «Прием документов и регистрация» и получаем конечную диаграмму(см.Рис.5):
Рис.5. Диаграмма декомпозиции IDEF0.Прием и регистрация документов.
На диаграммах наглядно показаны, процессы, протекающие при получении полиса, начиная с процесса получения документов от клиента и заканчивая выдачей ему полиса. Также полученные документы проходят проверку, а каждый клиент, получивший полис, учитывается, в результате чего составляются отчеты, необходимые вышестоящему руководству.
1.4. Разработка модели «как должно быть»
Теперь добавляется такой ресурс как БД, с помощью которой можно упростить процесс документооборота в ОАО «Согаз-Мед (см.Рис.6) :
Рис.6.Контекстная диаграмма модели «как должно быть».
На диаграммах «Страхование населения», «Работа с населением» и «Прием и регистрация документов» так же добавился ресурс БД. В ранее уже рассмотренной диаграмме декомпозиции «Прием и регистрация документов» произошли изменения. Теперь прием документов и их проверка-это единый процесс, к результате чего выявляется наличие полиса у клиента. Так же можно отследить дату, когда действие полиса заканчивается и заранее уведомить об этом клиента.(см.Рис.7):
Рис.7. Диаграмма декомпозиции IDEF0.Прием и регистрация документов.
Из модели «как должно быть» следует, что применение в сфере страхования населения БД, заметно уменьшает время обработки не только поступивших от клиентов документов, но и дает возможность более тщательно отслеживать сроки действия полисов, что в свою очередь ведет к благоприятным успехам в работе с клиентской базой и улучшению имиджа компании.
Глава 2.Программный раздел
2.1 Описание логической модели
На рисунке 8 представлена логическая модель системы, реализованная с помощью программы ERWin фирмы ComputerAssociates:
Рис.8. Логическая модель данных.
Логическая модель содержит 3 сущности.
Сущность «Вид документа» содержит в себе информацию о названии документа. Ключевое поле «ИД документа» с типом данных «целое число». Не ключевое поле «Вид документа» с типом данных «char(100)».
Сущность «Страховой полис» содержит в себе данные о клиенте, полисе и сотруднике. Ключевое поле «Номер страхового полиса» с типом данных «целое число». Не ключевые поля «ФИО» с типом данных «char(100)», «Дата рождения» с типом данных «», «ИД документа» int, «Серия номер документа» int, «СНИЛС» int, «Номер телефона застрахованного лица» int, «Дата регистрации полиса» DateTime, «Срок действия полиса» DateTime, «ИД сотрудника» int
Сущность «Сотрудник» содержит в себеданные о сотруднике. Ключевое поле «ИД сотрудника» с типом данных «целое число». Не ключевые поля «ФИО» и «Должность» с типами данных «char(100)».
2.2. Физическая модель данных
Рис.9.Физическая модель данных.
Генерация физической модели сделана с помощью возможностей программы CA Erwin Data Modeler. Выбираем меню Tools->Forward Engineer->Schema Generation и в появившемся окне нажимаем кнопку Generate. В появившемся окне указываем имя базы данных, созданной в Microsofr Server 2008, и сервер. База данных успешно сгенерирована.
Описать связи и нормалицацию)
Глава 3. Программный раздел
По нажатию на Radiobutton1 (100 дней) срабатывает функция.
procedure TForm1.RadioButton1Click(Sender: TObject);
var s:string;
begin
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select Number,FIO,SNILS,Telephone from dbo.OMS ');
Form1.Query2.SQL.Add('where (Date_reg_doc+100<:newdate1) ');
Form1.Query2.ParamByName('newDate1').AsdateTime:=Form1.DateTimePicker1.DateTime;
Form1.Query2.ExecSQL;
end;
По нажатию на Radiobutton2 (50 дней) срабатывает функция.
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select Number,FIO,SNILS,Telephone from dbo.OMS ');
Form1.Query2.SQL.Add('where (Date_reg_doc+50>:newdate1) ');
Form1.Query2.ParamByName('newDate1').AsdateTime:=Form1.DateTimePicker1.DateTime;
Form1.Query2.ExecSQL;
end;
По нажатию на Radiobutton3 (10 дней) срабатывает функция
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select Number,FIO,SNILS,Telephone from dbo.OMS ');
Form1.Query2.SQL.Add('where (Date_reg_doc+50>:newdate1)');
Form1.Query2.ParamByName('newDate1').AsdateTime:=Form1.DateTimePicker1.DateTime;
Form1.Query2.ExecSQL;
end;
При нажатии на кнопку в меню «Настройки» - > Регистрация сотрудника появляется диалоговое окно «Регистрация сотрудника» с двумя полями и кнопкой «Зарегистрировать»
Button1
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Query1.Close;
Form3.Query1.SQL.Clear;
Form3.Query1.SQL.Add('Insert into dbo.Employee (FIO,Position) ');
Form3.Query1.SQL.Add('Values(:newFIO,:newPosition)');
Form3.Query1.ParamByName('newFIO').AsString:=Edit1.Text;
Form3.Query1.ParamByName('newPosition').AsString:=Edit2.Text;
Form3.Query1.ExecSQL;
end;
При нажатии на клавишу зарегистрировать срабатывает процедура TForm2.Button1Click
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Query3.Close;
Form2.Query3.SQL.Clear;
Form2.Query3.SQL.Add('Insert into dbo.OMS (FIO,DB,ID_doc,number_doc,SNILS,Telephone,Date_reg_doc,Srok,ID_employee) ');
Form2.Query3.SQL.Add('Values(:newFIO,:newDB,(Select ID_doc from dbo.DOc where Name_doc = :newDoc1),:newNumber_doc,:newSNILS,:newTelephone,:newDate_reg_doc,:newSrok,(Select ID_employee from dbo.employee where FIO = :newDoc))');
Form2.Query3.ParamByName('newFIO').AsString:=Edit1.Text;
Form2.Query3.ParamByName('newDB').AsdateTime:=Form2.DateTimePicker1.DateTime;
Form2.Query3.ParamByName('newDoc1').AsString:=Combobox1.Items.Text;
Form2.Query3.ParamByName('newNumber_doc').AsString:=Edit2.Text;
Form2.Query3.ParamByName('newSNILS').AsString:=Edit3.Text;
Form2.Query3.ParamByName('newTelephone').AsString:=Edit4.Text;
Form2.Query3.ParamByName('newDate_reg_doc').AsdateTime:=Form2.DateTimePicker2.DateTime;
Form2.Query3.ParamByName('newSrok').AsdateTime:=Form2.DateTimePicker3.DateTime;
Form2.Query3.ParamByName('newDoc').AsString:=Combobox1.Items.Text;
Form2.Query3.ExecSQL;
Form2.Query4.Active:=FALSE;
Form2.Query4.Active:=TRUE;
end;
Заключение
В настоящее время, компании нуждаются в решении задач,связанных с документооборотом, на более высоком уровне. Постоянно изменяющиеся, огромные потоки информации требуют от персонала предприятия, быстроты и точности принимаемых решений, направленных на получение максимальной прибыли при минимальных издержках. Поэтому перед предприятиями всё чаще встают проблемы связанные с обработкой поступающей информации. Их можно решить с помощью автоматизации протекающих в компаниях процессов.
Автоматизация помогает снизить расходы на ведение дел за счет, регламентации и упрощения доступа сотрудников компании к нужной информации. Изменяет характер труда сотрудников, избавляя их от выполнения рутинной работы и давая возможность сосредоточиться на профессионально важных обязанностях.
В данном курсовом проекте было рассмотрен процесс страхования населения в компании ОАО «Согаз-Мед». Были описаны и изображены бизнес-процессы, протекающие при получении полиса. А также предложено решение проблемы данного предприятия, связанной с обработкой поступающего товара на склад и сопутствующих ему документов.
Затем, были разработаны функциональные модели «как есть» и «как должно быть».Далее описаны логическая и физическая модель программы. На основе полученных сведений была создана БД «Страхование населения» в среде программирования Delphi 7.0, предоставляющая средства для управления данными в информационной системе поддержки работы получения полиса. Полученная программа была протестирована.
Список литературы
- Файзрахманов Р. А., Селезнев К. А. Учебное пособие к практическим занятиям «Структурно функциональный подход к проектированию информационных технологий и автоматизированных систем с использованием CASE-средств» / Перм. гос. техн. ун-т. -Пермь, 2012. - 245 с.
- Ехлаков Ю.П. Теоретические основы автоматизированного управления. Томск: Изд-во Том. гос. ун-та систем управления и радиоэлектроники, 2013. 337 c.
- Галисеев Г.В. Программирование в среде Delphi 7. Самоучитель. М.: Издательский дом «Вильямс», 2012.
- Митчелл К. Керман Программирование и отладка в Delphi: Учебный курс: М.; СПб.; Киев, 2014.
- Фаронов В.В. Delphi 6: Учебный курс. СПб.: Питер, 2011.
- 1. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. СПб.: БХВ-Петербург, 2002.
- Архипов, А. П. Страхование : учебник / А. П. Архипов. М. : КНОРУС, 2012. 288 с.
- http://www.sogaz-med.ru/
Приложение
Листинг
Unit1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ComCtrls, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
DateTimePicker1: TDateTimePicker;
Query2: TQuery;
DataSource1: TDataSource;
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.dfm}
procedure TForm1.N4Click(Sender: TObject);
begin
Form2.show;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form3.show;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);//динамические запросы
var s:string;
begin
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select Number,FIO,SNILS,Telephone from dbo.OMS ');
Form1.Query2.SQL.Add('where (Date_reg_doc+100<:newdate1) ');
Form1.Query2.ParamByName('newDate1').AsdateTime:=Form1.DateTimePicker1.DateTime;
Form1.Query2.ExecSQL;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select Number,FIO,SNILS,Telephone from dbo.OMS ');
Form1.Query2.SQL.Add('where (Date_reg_doc+50>:newdate1) ');
Form1.Query2.ParamByName('newDate1').AsdateTime:=Form1.DateTimePicker1.DateTime;
Form1.Query2.ExecSQL;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select Number,FIO,SNILS,Telephone from dbo.OMS ');
Form1.Query2.SQL.Add('where (Date_reg_doc+50>:newdate1)');
Form1.Query2.ParamByName('newDate1').AsdateTime:=Form1.DateTimePicker1.DateTime;
Form1.Query2.ExecSQL;
end;
end.
Unit2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, DB, DBCtrls, DBTables;
type
TForm2 = class(TForm)
Label9: TLabel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
DateTimePicker1: TDateTimePicker;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
GroupBox2: TGroupBox;
Label7: TLabel;
DateTimePicker2: TDateTimePicker;
Label8: TLabel;
Button1: TButton;
DBGrid1: TDBGrid;
Query1: TQuery;
Table1: TTable;
DataSource1: TDataSource;
Table2: TTable;
DataSource2: TDataSource;
ComboBox1: TComboBox;
Query2: TQuery;
ComboBox3: TComboBox;
Query3: TQuery;
DateTimePicker3: TDateTimePicker;
Query4: TQuery;
DataSource3: TDataSource;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
while not query1.eof do begin
combobox1.items.add(query1.fieldbyname('Name_doc').asstring);
query1.next
end;
while not query2.eof do begin
combobox3.items.add(query2.fieldbyname('FIO').asstring);
query2.next
end;
Form2.Query4.Active:=FALSE;
Form2.Query4.Active:=TRUE;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Query3.Close;
Form2.Query3.SQL.Clear;
Form2.Query3.SQL.Add('Insert into dbo.OMS (FIO,DB,ID_doc,number_doc,SNILS,Telephone,Date_reg_doc,Srok,ID_employee) ');
Form2.Query3.SQL.Add('Values(:newFIO,:newDB,(Select ID_doc from dbo.DOc where Name_doc = :newDoc1),:newNumber_doc,:newSNILS,:newTelephone,:newDate_reg_doc,:newSrok,(Select ID_employee from dbo.employee where FIO = :newDoc))');
Form2.Query3.ParamByName('newFIO').AsString:=Edit1.Text;
Form2.Query3.ParamByName('newDB').AsdateTime:=Form2.DateTimePicker1.DateTime;
Form2.Query3.ParamByName('newDoc1').AsString:=Combobox1.Items.Text;
Form2.Query3.ParamByName('newNumber_doc').AsString:=Edit2.Text;
Form2.Query3.ParamByName('newSNILS').AsString:=Edit3.Text;
Form2.Query3.ParamByName('newTelephone').AsString:=Edit4.Text;
Form2.Query3.ParamByName('newDate_reg_doc').AsdateTime:=Form2.DateTimePicker2.DateTime;
Form2.Query3.ParamByName('newSrok').AsdateTime:=Form2.DateTimePicker3.DateTime;
Form2.Query3.ParamByName('newDoc').AsString:=Combobox1.Items.Text;
Form2.Query3.ExecSQL;
Form2.Query4.Active:=FALSE;
Form2.Query4.Active:=TRUE;
end;
end.
Unit3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables;
type
TForm3 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
Query1: TQuery;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Query1.Close;
Form3.Query1.SQL.Clear;
Form3.Query1.SQL.Add('Insert into dbo.Employee (FIO,Position) ');
Form3.Query1.SQL.Add('Values(:newFIO,:newPosition)');
Form3.Query1.ParamByName('newFIO').AsString:=Edit1.Text;
Form3.Query1.ParamByName('newPosition').AsString:=Edit2.Text;
Form3.Query1.ExecSQL;
end;
end.
Project
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end.
Проектирование базы данных страховой компании ОАО «Согаз-Мед»