Проектирование и разработка АСУ для муниципального учреждения здравоохранения
Декомпозиция автоматической системы управления на подсистемы и комплексы задач. Программное обеспечение комплекса задач подсистемы управления закупкой оборудования. Анализ существующей локальной вычислительной сети. Выбор дополнительных сетевых сервисов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 06.03.2013 |
Размер файла | 4,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
7. План проведения ПНР
(общий)
Раз в год
824*кол-во оборудования
1,2 чел-ч *кол-во оборудования
8. План проведения ПНР
(для поставщиков)
Раз в год
656*кол-во поставщиков* кол-во оборудования
1,35 чел-ч*кол-во поставщиков*кол-во оборудования
9. План проведения ПНР
(для ЛПУ)
Раз в год
656*кол-во ЛПУ*кол-во оборудования
1,35 чел-ч*кол-во ЛПУ*кол-во оборудования
10. Претензии к поставщику (поставка)
Раз в месяц
884* кол-во договоров*кол-во оборудования
1,1* кол-во договоров*кол-во оборудования
11. Претензии к поставщику (ПНР)
Раз в месяц
940* кол-во договоров*кол-во оборудования
1,2* кол-во договоров*кол-во оборудования
Расчет:
1. Значимость:
Общая заявка на закупку медицинского оборудования для нужд ЛПУ:
Кол-во цифр: 23
Кол-во букв: 84
Значимость: 23*4+84*8=764
Спецификация медицинского оборудования:
Кол-во цифр: 23
Кол-во букв: 94
Значимость: 23*4+94*8=844
Список выбранных поставщиков:
Кол-во цифр: 5
Кол-во букв: 25
Значимость: 5*4+25*8=220
План поставки оборудования (общий):
Кол-во цифр: 10
Кол-во букв: 94
Значимость: 10*4+94*8=792
План поставки оборудования (для Поставщиков):
Кол-во цифр: 10
Кол-во букв: 73
Значимость: 10*4+73*8=624
План поставки оборудования (для ЛПУ):
Кол-во цифр: 10
Кол-во букв: 73
Значимость: 10*4+73*8=624
План проведения ПНР (общий):
Кол-во цифр: 18
Кол-во букв: 94
Значимость: 18*4+94*8=824
План проведения ПНР (для Поставщиков):
Кол-во цифр: 18
Кол-во букв: 73
Значимость: 18*4+73*8=656
План проведения ПНР (для ЛПУ):
Кол-во цифр: 18
Кол-во букв: 73
Значимость: 18*4+73*8=656
Претензии к поставщику (поставка):
Кол-во цифр: 33
Кол-во букв: 94
Значимость: 33*4+94*8=884
Претензии к поставщику (ПНР):
Кол-во цифр: 47
Кол-во букв: 94
Значимость: 47*4+94*8=940
При этом стоит учесть также, что источником данных служит несколько документов, для каждого объекта необходимо повторять одни и те же операции. При расчете документов проводят типовые вычисления, и как следствие увеличивается вероятность появления ошибки. В ряде документов для расчета поля необходимо производить сложные операции, с большим количеством данных с большой значимостью.
При автоматизации процесса решения задачи стоит рассматривать время ввода необходимой информации в таблицы базы данных и время оформления итогового документа, в котором используются получившиеся данные. Непосредственное время расчета значительно меньше времени ввода и времени оформления документа и занимает период времени от долей до нескольких секунд.
Перечень документов подсистемы и их характеристики при автоматизации функций ввода и расчетов выходных показателей
Наименование документа |
Время ввода данных (Тв) |
Время на создание документа (Тс) |
Эффект (Т/(Тс+Тв)) |
|
1. Общая заявка на закупку медицинского оборудования для нужд ЛПУ |
0,2*кол-во оборудования |
0,03*кол-во оборудования |
2,6 |
|
2. Спецификация медицинского оборудования для нужд ЛПУ по лотам |
0,2*кол-во оборудования |
0,05*кол-во оборудования |
3,2 |
|
3. Список выбранных поставщиков |
0,8* кол-во поставщиков*кол-во лотов |
0,11* кол-во поставщиков*кол-во лотов |
1,92 |
|
4. План поставки оборудования (общий) |
0,3*кол-во договоров*кол-во оборудования |
0,09*кол-во договоров*кол-во оборудования |
2,95 |
|
5. План поставки оборудования (для Поставщиков) |
0,4*кол-во поставщиков*кол-во оборудования |
0,06*кол-во поставщиков*кол-во оборудования |
2,87 |
|
6. План поставки оборудования (для ЛПУ) |
0,4* кол-во оборудования*кол-во ЛПУ |
0,06* кол-во оборудования*кол-во ЛПУ |
2,87 |
|
7. План проведения ПНР (общий) |
0,3*кол-во оборудования |
0,09*кол-во оборудования |
3,08 |
|
8. План проведения ПНР (для поставщиков) |
0,4*кол-во поставщиков* кол-во оборудования |
0,06*кол-во поставщиков* кол-во оборудования |
2,93 |
|
9. План проведения ПНР (для ЛПУ) |
0,4*кол-во ЛПУ*кол-во оборудования |
0,06*кол-во ЛПУ*кол-во оборудования |
2,93 |
|
10. Претензии к поставщику (поставка) |
0,6* кол-во договоров*кол-во оборудования |
0,03* кол-во договоров*кол-во оборудования |
1,75 |
|
11. Претензии к поставщику (ПНР) |
0,7* кол-во договоров*кол-во оборудования |
0,03* кол-во договоров*кол-во оборудования |
1,64 |
Таким образом, становится видно, что использование автоматизированного способа решения задач позволит значительно (от 1,64 до 3,2 раз) сократить время расчетов и трудозатраты на них, уменьшит вероятность неправильного расчета. Стоит отметить также, что реальные цифры по времени ввода данных могут различаться, поскольку множество данных вводимых для одной задачи может частично или полностью включаться в множество данных для другой задачи, а время на ввод требуется всего один раз.
При такой организации труда необходимо контролировать не результаты расчетов, а только правильность ввода исходной информации.
При сравнении результатов неавтоматизированного и автоматизированного способов решения комплекса задач указанной подсистемы, необходимо выяснить эффект от внедрения АСУ в свете его влияния на эффективность деятельности организации.
В результате внедрения АСУ в Управление Здравоохранение Администрации Ленинского муниципального района удастся добиться более высоких показателей в точности и скорости подготовки документации для проведения тендера, более точного и качественного подбора поставщиков для поставки медицинского оборудования, что, несомненно, положительно скажется на общем уровне оказания услуг в сфере здравоохранения во всём Ленинском районе.
ЗАКЛЮЧЕНИЕ
В представленном дипломном проекте была спроектирована АСУ для муниципального учреждения здравоохранения «Управления Здравоохранения Администрации Ленинского муниципального района» и разработаны конкретные проектные решения для подсистемы управления закупкой оборудования. В ходе дипломного проектирования были выполнены следующие работы.
Была описана общая характеристика деятельности учреждения, его организационная и функциональная структуры, были изучены цели, стоящие перед учреждением и стратегии по их достижению. После анализа существующей системы управления были выявлены узкие места, мешающие эффективному функционированию и развитию учреждения в условиях современной экономики. После выявления узких мест Управления Здравоохранения было разработано предложение по усовершенствованию существующей системы управления.
На основе анализа механизма работы муниципального учреждения здравоохранения, были определены задачи, входящие в АСУ Управления Здравоохранения Администрации Ленинского муниципального района, автоматизированное решение которых позволит оптимизировать процесс управления, тем самым максимально повысить эффективность деятельности организации.
Затем была проведена декомпозиция Управления Здравоохранения Администрации Ленинского муниципального района на подсистемы и комплексы задач.
Для дальнейшего проектирования была выбрана подсистема управления закупкой оборудования. По каждой задаче выбранной подсистемы были определены все входные и выходные данные, а также разработаны алгоритмы решения задач на ЭВМ.
Для комплекса задач подсистемы управления закупкой оборудования было спроектировано информационное обеспечение, проведена нормализация входных и выходных данных для устранения избыточности и осуществлено кодирование повторяющейся информации, а также построена концептуальная модель данных и определена структура таблиц базы данных.
Для всей организации были разработаны проектные решения по техническому обеспечению АСУ: в целях совершенствования технологического и организационного уровня работы с документами была предложена структура локальной вычислительной сети, для которой была определена топология, состав аппаратного обеспечения и кабельной системы, выбор и настройка различных сетевых служб, а также предложены различные методы защиты и восстановления информации, средства отказоустойчивости.
На основании анализа условий трудовой деятельности работников Управления Здравоохранения Администрации Ленинского муниципального района, был разработан комплекс мероприятий по охране труда на рабочих местах экономического отдела, направленный на предупреждение производственного травматизма и профессиональных заболеваний, а также на обеспечение комфортных условий производственной среды, а также предложены меры по обеспечению противопожарной безопасности.
Расчёт экономической эффективности внедрения АСУ в учреждении показал, что такое внедрение будет целесообразно, и затраты на него окупятся примерно через ____ года.
В заключении следует отметить, что внедрение в организации спроектированного комплекса задач и последующая автоматизация решения задач остальных подсистем позволит Управлению Здравоохранения Администрации Ленинского муниципального района осуществлять более полное, своевременно и качественное лечение, тем самым уменьшим заболеваемость в районе.
Литература
1. Барановская Т.П., Лойко В.И., Семёнов М.И., Трубилин И.Т., Автоматизированные информационные технологии в экономике. - М.: «Финансы и статистика», 2000.
2. Беляев И.П., Основы теории принятия решений. - М.: Типография МГСУ, 2005.
3. Булыгин В.И., Гаряев Н.А., Сапожников В.Н., Охрана труда на рабочем месте с компьютером. Методические рекомендации раздела «Охрана труда» дипломного проекта. - М.: - БФРГТЗ «Слово», 2005.
4. Волкова К.А., Казакова Ф.К., Предприятие: положения об отделах и службах, должностные инструкции. - М.: «Экономика», 2003.
5. Гордеев А.В., Гордеев А.В., Молчанов А.Ю., Системное программное обеспечение. - СПб.: «Питер», 2001.
6. Грабер М., SQL. - М.: «Лори», 2003.
7. Олифер В.Г., Олифер Н.А., Компьютерные сети. 3-е издание. - СПб.: «Питер», 2006.
8. Задворьев И.С., Смирнов С.Н., Работаем с Oracle. - М.: «Гелиос АРВ», 2002.
9. Кайт Т., Oracle для профессионалов. - М.: «Dia-Soft», 2003.
10. Ильин Н.И., Лукманова И.Г., Шапиро В.Д., Управление проектами. - СПб.: «ДваТрИ», 1996.
11. Олифер В.Г., Олифер Н.А., Сетевые операционные системы. - СПб.: «Питер», 2002.
12. СанПин 2.2.1/2.1.1.1278-03 Гигиенические требования к естественному, искусственному и смешанному освещению жилых и общественных зданий.
13. СНиП 21-01-97 Пожарная безопасность зданий и сооружений
14. Смирнов С.Н., Обработка документов средствами Oracle. - М.: «Гелиос АРВ», 2004.
15. Станек У.Р., Microsoft Windows Server 2003. Справочник администратора. - М.: «Microsoft Press - Русская редакция», 2004.
ПРИЛОЖЕНИЯ
Текст программы
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit4.h"
#include "Unit5.h"
#include "Unit6.h"
#include "Unit8.h"
#include "Unit9.h"
#include "Unit10.h"
#include "Unit11.h"
#include "Unit12.h"
#include "Unit13.h"
#include "Unit14.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
sw_1 = 1;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
sw_1 = 2;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{
sw_1 = 3;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
{
sw_1 = 4;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N6Click(TObject *Sender)
{
sw_1 = 5;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
sw_1 = 6;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N9Click(TObject *Sender)
{
sw_1 = 7;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N10Click(TObject *Sender)
{
sw_1 = 8;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N12Click(TObject *Sender)
{
Form3 = new TForm3(this);
if (Form3->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N13Click(TObject *Sender)
{
Form4 = new TForm4(this);
if (Form4->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N15Click(TObject *Sender)
{
ADOConnection1->Connected = false;
WideString CS = PromptDataSource(reinterpret_cast<unsigned int>(Handle), "");
ADOConnection1->ConnectionString = CS;
ADOConnection1->Connected = true;
N15->Enabled = false;
N16->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N16Click(TObject *Sender)
{
ADOConnection1->Connected = false;
ADOConnection1->ConnectionString = "";
N15->Enabled = true;
N16->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
if(ADOConnection1->Connected == true)
{
N15->Enabled = false;
N16->Enabled = true;
}
else
{
N15->Enabled = true;
N16->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N17Click(TObject *Sender)
{
sw_1 = 9;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N18Click(TObject *Sender)
{
sw_1 = 10;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N19Click(TObject *Sender)
{
sw_1 = 11;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N20Click(TObject *Sender)
{
sw_1 = 12;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N21Click(TObject *Sender)
{
Form5 = new TForm5(this);
if (Form5->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N22Click(TObject *Sender)
{
Form6 = new TForm6(this);
if (Form6->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N23Click(TObject *Sender)
{
Form8 = new TForm8(this);
if (Form8->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N24Click(TObject *Sender)
{
Form9 = new TForm9(this);
if (Form9->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N25Click(TObject *Sender)
{
sw_1 = 13;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N26Click(TObject *Sender)
{
Form10 = new TForm10(this);
if (Form10->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N27Click(TObject *Sender)
{
Form11 = new TForm11(this);
if (Form11->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N28Click(TObject *Sender)
{
Form12 = new TForm12(this);
if (Form12->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N29Click(TObject *Sender)
{
sw_1 = 14;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N30Click(TObject *Sender)
{
Form13 = new TForm13(this);
if (Form13->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N31Click(TObject *Sender)
{
sw_1 = 15;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N32Click(TObject *Sender)
{
sw_1 = 16;
Form2 = new TForm2(this);
if (Form2->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N33Click(TObject *Sender)
{
Form14 = new TForm14(this);
if (Form14->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form1->DestroyHandle();
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N34Click(TObject *Sender)
{
Label1->Visible=true;
MaskEdit1->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MaskEdit1Change(TObject *Sender)
{
if(MaskEdit1->Text == "lfq vyt ljcneg")
{
N1->Enabled = true;
N8->Enabled = true;
Label1->Visible=false;
MaskEdit1->Visible=false;
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::FormShow(TObject *Sender)
{
switch(Form1->sw_1)
{
case 1:
Caption = "Справочник ЛПУ";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT lpu_id \"Номер ЛПУ\", lpu_name \"Наименование ЛПУ\", lpu_addr \"Адрес\", lpu_tel \"Телефон\" FROM spr_lpu");
ADOQuery1->Active = true;
break;
case 2:
Caption = "Справочник Типов Оборудования";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT type_id \"Номер типа\", type_name \"Наименование типа\" FROM spr_type");
ADOQuery1->Active = true;
break;
case 3:
Caption = "Справочник Моделей Оборудования";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT type_id \"Номер типа\", model_id \"Номер модели\", model_name \"Наименование модели\", ed_izm_id \"Ед. изм.\", model_stoim \"Стоимость\" FROM spr_model");
ADOQuery1->Active = true;
break;
case 4:
Caption = "Справочник Ед. Измерения";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM spr_ed_izm");
ADOQuery1->Active = true;
break;
case 5:
Caption = "Справочник Кабинетов";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM spr_kab");
ADOQuery1->Active = true;
break;
case 6:
Caption = "Табель Оснащения";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM tabel_osn");
ADOQuery1->Active = true;
break;
case 7:
Caption = "Заявка на закупку медицинского оборудования по кабинетам";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM zayavka");
ADOQuery1->Active = true;
break;
case 8:
Caption = "Перечень оборудования, по учреждениям, находящегося в эксплуатации";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM oboryd");
ADOQuery1->Active = true;
break;
case 9:
Caption = "Справочник поставщиков";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select POST_ID \"Номер пост.\", POST_NAME \"Наименование\", POST_REKV \"Реквизиты\", POST_ADDR \"Адрес\", POST_TEL \"Конт. номер. тел\", POST_DATE_F_KONTR \"Дата последнего контракта\", POST_KOL_PRET \"Кол-во претензий\" from spr_post");
ADOQuery1->Active = true;
break;
case 10:
Caption = "Справочник контрактов";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM spr_kontr");
ADOQuery1->Active = true;
break;
case 11:
Caption = "Технические задания к контрактам";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM kontr_oboryd");
ADOQuery1->Active = true;
break;
case 12:
Caption = "План поставки по контракту";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM plan_post");
ADOQuery1->Active = true;
break;
case 13:
Caption = "План ПНР по контракту";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM plan_pnr");
ADOQuery1->Active = true;
break;
case 14:
Caption = "Данные о поставке оборудования";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM post_fakt");
ADOQuery1->Active = true;
break;
case 15:
Caption = "Данные о начале ПНР";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM begin_pnr");
ADOQuery1->Active = true;
break;
case 16:
Caption = "Отчет о проведении ПНР";
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM otch_pnr");
ADOQuery1->Active = true;
break;
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
ADOQuery1->Active = false;
//Очищаем таблицу с общей заявкой
ADOQuery2->SQL->Text = "DELETE FROM ob_zayavka";
ADOQuery2->ExecSQL();
//Открываем таблицу с заявками
String ado2 = "SELECT * FROM zayavka WHERE TO_CHAR(date_post, 'YYYY') = " + Edit1->Text;
ADOQuery2->SQL->Text = ado2;
ADOQuery2->Open();
//Начинаем проверку построчно
ADOQuery2->First();
int tmp_kab, tmp_pos, tmp_type, tmp_kol;
String ado3;
while(!ADOQuery2->Eof)
{
tmp_kab = ADOQuery2->FieldByName("KAB_ID")->AsInteger;
tmp_pos = ADOQuery2->FieldByName("POS_MES")->AsInteger;
tmp_type = ADOQuery2->FieldByName("TYPE_ID")->AsInteger;
tmp_kol = ADOQuery2->FieldByName("KOL")->AsInteger;
ado3 = "SELECT * FROM tabel_osn WHERE type_id = ";
ado3 = ado3 + tmp_type + " AND kab_id = " + tmp_kab;
ADOQuery3->Close();
ADOQuery3->SQL->Text = ado3;
ADOQuery3->Open();
//Проверяем на количество посещений
int i, tmp_max;
//Получаем максимальное число обоурдования для данного кабинета
if( tmp_pos <= 250 )
{
tmp_max = ADOQuery3->FieldByName("P_250")->AsInteger;
}
else
{
if( tmp_pos <= 500 )
{
tmp_max = ADOQuery3->FieldByName("P_500")->AsInteger;
}
else
{
tmp_max = ADOQuery3->FieldByName("P_MAX")->AsInteger;
}
}
ado3 = "SELECT * FROM oboryd WHERE lpu_id = ";
ado3 += ADOQuery2->FieldByName("lpu_id")->AsString + " AND kab_id = " + tmp_kab + " AND type_id = " + tmp_type;
ADOQuery3->Close();
ADOQuery3->SQL->Text = ado3;
ADOQuery3->Open();
i = 0;
//Подсчитываем имеющееся в наличии оборудование
while(!ADOQuery3->Eof)
{
i++;
ADOQuery3->Next();
}
//Получаем реальное число для закупки
i = tmp_max - i;
if(tmp_kol > i)
tmp_kol = i;
if(tmp_kol != 0)
{
//Получим стоимость данной модели из справочника моделей
ado3 = "SELECT * FROM spr_model WHERE model_id = ";
ado3 += ADOQuery2->FieldByName("model_id")->AsString + " AND type_id = " + tmp_type;
ADOQuery3->Close();
ADOQuery3->SQL->Text = ado3;
ADOQuery3->Open();
//Добавляем строку в таблицу грид1 через грид3
ado3 = "INSERT INTO ob_zayavka VALUES (";
ADOQuery1->Active = true;
ADOQuery1->First();
i = 1;
while(!ADOQuery1->Eof)
{
i++;
ADOQuery1->Next();
}
ado3 = ado3 + i + "," + ADOQuery2->FieldByName("lpu_id")->AsString + "," + tmp_type + ",";
ado3 = ado3 + ADOQuery2->FieldByName("model_id")->AsString + "," + ADOQuery2->FieldByName("ed_izm_id")->AsString;
ado3 = ado3 + "," + tmp_kol + ",'" + ADOQuery3->FieldByName("model_stoim")->AsString + "','";
double i2;
i2 = ADOQuery3->FieldByName("model_stoim")->AsFloat * tmp_kol;
ado3 = ado3 + i2 + "',TO_DATE('" + ADOQuery2->FieldByName("date_post")->AsString + "','DD.MM.YYYY'))";
ADOQuery3->Close();
ADOQuery3->SQL->Text = ado3;
ADOQuery3->ExecSQL();
ADOQuery1->Active = false;
}
ADOQuery2->Next();
}
ADOQuery1->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
String ado3;
Memo1->Lines->Add("<Table border=1 align=center width=80%>");
Memo1->Lines->Add("<CAPTION><EM><B><H3>Общая заявка на закупку медицинского оборудования для нужд ЛПУ</H2></B></EM></CAPTION>");
ADOQuery1->First();
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Наименование ЛПУ ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Тип оборудования ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Модель оборудования ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Ед.Изм. ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Кол-во ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Цена, руб. ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Стоимость, руб. ");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(" Дата поставки ");
Memo1->Lines->Add("<br>");
while(!ADOQuery1->Eof)
{
//Делаем выборку из справочников
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
ado3 = "SELECT spr_lpu.lpu_name, spr_type.type_name, spr_model.model_name, spr_ed_izm.ed_izm_sokr FROM spr_lpu, spr_type, spr_model, spr_ed_izm WHERE spr_lpu.lpu_id =";
ado3 = ado3 + ADOQuery1->FieldByName("lpu_id")->AsString + " AND spr_type.type_id = ";
ado3 = ado3 + ADOQuery1->FieldByName("type_id")->AsString + " AND spr_model.model_id = ";
ado3 = ado3 + ADOQuery1->FieldByName("model_id")->AsString + " AND spr_ed_izm.ed_izm_id = ";
ado3 = ado3 + ADOQuery1->FieldByName("ed_izm_id")->AsString;
ADOQuery3->SQL->Text = ado3;
ADOQuery3->Open();
Memo1->Lines->Add(ADOQuery3->FieldByName("lpu_name")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("type_name")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("model_name")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("ed_izm_sokr")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("kol")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("model_stoim")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("stoim")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("date_post")->AsString);
Memo1->Lines->Add("<br>");
ADOQuery1->Next();
}
Memo1->Lines->Add("</table><br>");
String save_str;
save_str = ExtractFilePath(Application->ExeName);
save_str += "\ob_zayavka.html";
Memo1->Lines->SaveToFile(save_str);
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
ADOQuery1->Active = false;
Form3->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::FormShow(TObject *Sender)
{
ADOQuery1->Active = true;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit4.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm4::Button1Click(TObject *Sender)
{
ADOQuery1->Active = false;
ADOQuery3->SQL->Text = "DELETE FROM spec_lot";
ADOQuery3->ExecSQL();
ADOQuery1->Active = true;
String ado2 = "SELECT * FROM ob_zayavka WHERE TO_CHAR(date_post, 'YYYY') = ";
ado2 = ado2 + Edit1->Text;
ADOQuery2->Close();
ADOQuery2->SQL->Text = ado2;
ADOQuery2->Open();
String ins;
int i, lot, lot_max;
ADOQuery2->First();
while(!ADOQuery2->Eof)
{
ins = "INSERT INTO spec_lot VALUES (";
i = 1;
lot = 1;
lot_max = 1;
while(!ADOQuery1->Eof)
{
i++;
ADOQuery1->Next();
}
ins = ins + i + ",";
ADOQuery1->First();
while(!ADOQuery1->Eof)
{
if(lot_max < ADOQuery1->FieldByName("lot_id")->AsInteger)
lot_max = ADOQuery1->FieldByName("lot_id")->AsInteger;
if(ADOQuery1->FieldByName("type_id")->AsInteger == ADOQuery2->FieldByName("type_id")->AsInteger)
{
lot = ADOQuery1->FieldByName("lot_id")->AsInteger;
break;
}
lot = lot_max + 1;
ADOQuery1->Next();
}
ins = ins + lot + "," + ADOQuery2->FieldByName("lpu_id")->AsString + ",";
ins = ins + ADOQuery2->FieldByName("type_id")->AsString + ",";
ins = ins + ADOQuery2->FieldByName("model_id")->AsString + ",";
ins = ins + ADOQuery2->FieldByName("ed_izm_id")->AsString + ",";
ins = ins + ADOQuery2->FieldByName("kol")->AsString + ",'";
ins = ins + ADOQuery2->FieldByName("model_stoim")->AsFloat + "','";
ins = ins + ADOQuery2->FieldByName("stoim")->AsFloat + "',TO_DATE('";
ins = ins + ADOQuery2->FieldByName("date_post")->AsString + "','DD.MM.YYYY'))";
ADOQuery1->Active = false;
ADOQuery3->Close();
ADOQuery3->SQL->Text = ins;
ADOQuery3->ExecSQL();
ADOQuery1->Active = true;
ADOQuery2->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm4::FormShow(TObject *Sender)
{
ADOQuery1->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm4::Button2Click(TObject *Sender)
{
String ado2;
String ado3;
ADOQuery1->Active = true;
Memo1->Lines->Add("<p align=center><B><H3>Cпецификация медицинского оборудования для нужд ЛПУ, по лотам</H3></B></p>");
Memo1->Lines->Add("<br>");
ADOQuery1->First();
int lot = 0;
//Подсчитываем количество лотов
while(!ADOQuery1->Eof)
{
if(lot < ADOQuery1->FieldByName("lot_id")->AsInteger)
lot = ADOQuery1->FieldByName("lot_id")->AsInteger;
ADOQuery1->Next();
}
ADOQuery1->First();
int i;
String lot_str;
//Добавляем названия лотов и таблицы
for(i = 1; i <= lot; i++)
{
//Добавляем номер и название лота
lot_str = "<p align=center><B><H4>Лот №";
lot_str = lot_str + i + "<br>";
ado3 = "SELECT * FROM spec_lot WHERE lot_id =";
ado3 = ado3 + i;
ADOQuery3->Close();
ADOQuery3->SQL->Text = ado3;
ADOQuery3->Open();
ado2 = "SELECT * FROM spr_type WHERE type_id = " + ADOQuery3->FieldByName("type_id")->AsString;
ADOQuery2->Close();
ADOQuery2->SQL->Text = ado2;
ADOQuery2->Open();
lot_str = lot_str + ADOQuery2->FieldByName("type_name")->AsString + "</H4></B></p>";
Memo1->Lines->Add(lot_str);
Memo1->Lines->Add("<Table border=1 align=center width=80%>");
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Наименование ЛПУ </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Тип оборудования </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Модель оборудования </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Ед.Изм. </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Кол-во </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Цена, руб. </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Стоимость, руб. </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Дата поставки </b>");
Memo1->Lines->Add("<br>");
//Делаем выборку из справочников по данному лоту
//ado2 = "SELECT * FROM spec_lot WHERE lot_id = ";
//ado2 = ado2 + i;
//ADOQuery2->Close();
//ADOQuery2->SQL->Text = ado2;
//ADOQuery2->Open();
while(!ADOQuery3->Eof)
{
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
ado2 = "SELECT spr_lpu.lpu_name, spr_type.type_name, spr_model.model_name, spr_ed_izm.ed_izm_sokr FROM spr_lpu, spr_type, spr_model, spr_ed_izm WHERE spr_lpu.lpu_id =";
ado2 = ado2 + ADOQuery3->FieldByName("lpu_id")->AsString + " AND spr_type.type_id = ";
ado2 = ado2 + ADOQuery3->FieldByName("type_id")->AsString + " AND spr_model.model_id = ";
ado2 = ado2 + ADOQuery3->FieldByName("model_id")->AsString + " AND spr_ed_izm.ed_izm_id = ";
ado2 = ado2 + ADOQuery3->FieldByName("ed_izm_id")->AsString;
ADOQuery2->Close();
ADOQuery2->SQL->Text = ado2;
ADOQuery2->Open();
Memo1->Lines->Add(ADOQuery2->FieldByName("lpu_name")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery2->FieldByName("type_name")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery2->FieldByName("model_name")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery2->FieldByName("ed_izm_sokr")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("kol")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("model_stoim")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("stoim")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery3->FieldByName("date_post")->AsString);
Memo1->Lines->Add("<br>");
ADOQuery3->Next();
}
Memo1->Lines->Add("</table><br>");
}
String save_str;
save_str = ExtractFilePath(Application->ExeName);
save_str += "\спецификаия по лотам.html";
Memo1->Lines->SaveToFile(save_str);
}
//---------------------------------------------------------------------------
void __fastcall TForm4::Button3Click(TObject *Sender)
{
Form4->Close();
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit5.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm5 *Form5;
//---------------------------------------------------------------------------
__fastcall TForm5::TForm5(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm5::Button1Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT spr_kontr.kontr_id \"Номер контракта\", spr_post.post_name \"Поставщик\", spr_lpu.lpu_name \"ЛПУ\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель оборудования\", spr_ed_izm.ed_izm_sokr \"Ед.изм.\", kontr_oboryd.kol \"Кол-во\", plan_post.date_post \"Дата поставки\" FROM spr_kontr, spr_post, spr_lpu, spr_type, kontr_oboryd, spr_model, spr_ed_izm, plan_post WHERE spr_kontr.post_id = spr_post.post_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND kontr_oboryd.kontr_id = spr_kontr.kontr_id AND kontr_oboryd.type_id = spr_type.type_id AND kontr_oboryd.model_id = spr_model.model_id AND kontr_oboryd.ed_izm_id = spr_ed_izm.ed_izm_id AND plan_post.kontr_id = spr_kontr.kontr_id AND plan_post.obor_id = kontr_oboryd.obor_id AND TO_CHAR(plan_post.date_post, 'YYYY') = "+ Edit1->Text + " ORDER BY plan_post.date_post ASC;");
ADOQuery1->Open();
ADOQuery2->Close();
ADOQuery2->SQL->Text = "CREATE OR REPLACE VIEW plan_post_ob AS SELECT spr_kontr.kontr_id \"Номер контракта\", spr_post.post_name \"Поставщик\", spr_lpu.lpu_name \"ЛПУ\", spr_type.type_name \"Тип оборудования\", spr_model.model_name \"Модель оборудования\", spr_ed_izm.ed_izm_sokr \"Ед.изм.\", kontr_oboryd.kol \"Кол-во\", plan_post.date_post \"Дата поставки\" FROM spr_kontr, spr_post, spr_lpu, spr_type, kontr_oboryd, spr_model, spr_ed_izm, plan_post WHERE spr_kontr.post_id = spr_post.post_id AND spr_kontr.lpu_id = spr_lpu.lpu_id AND kontr_oboryd.kontr_id = spr_kontr.kontr_id AND kontr_oboryd.type_id = spr_type.type_id AND kontr_oboryd.model_id = spr_model.model_id AND kontr_oboryd.ed_izm_id = spr_ed_izm.ed_izm_id AND plan_post.kontr_id = spr_kontr.kontr_id AND plan_post.obor_id = kontr_oboryd.obor_id AND TO_CHAR(plan_post.date_post, 'YYYY') = " + Edit1->Text + " ORDER BY plan_post.date_post ASC;";
ADOQuery2->ExecSQL();
}
//---------------------------------------------------------------------------
void __fastcall TForm5::Button2Click(TObject *Sender)
{
if(ADOQuery1->Active == true)
{
Memo1->Lines->Add("<Table border=1 align=center width=80%>");
Memo1->Lines->Add("<CAPTION><EM><B><H3>План поставки оборудования (общий)</H3></B></EM></CAPTION>");
ADOQuery1->First();
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Номер договора </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Поставщик </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> ЛПУ </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Тип оборудования </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Модель оборудования </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Ед.Изм. </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Кол-во </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Дата поставки </b>");
Memo1->Lines->Add("<br>");
while(!ADOQuery1->Eof)
{
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Номер контракта")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Поставщик")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("ЛПУ")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Тип оборудования")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Модель оборудования")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Ед.изм.")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Кол-во")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Дата поставки")->AsString);
Memo1->Lines->Add("<br>");
ADOQuery1->Next();
}
Memo1->Lines->Add("</table><br>");
Memo1->Lines->SaveToFile(ExtractFilePath(Application->ExeName) + "\План поставки оборудования (общий).html");
}
else
MessageBox(0, "План поставки не сформирован","Ошибка", 0);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit6.h"
#include "Unit1.h"
#include "Unit7.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm6 *Form6;
//---------------------------------------------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm6::Edit1Change(TObject *Sender)
{
if(Edit1->Text != "")
{
ADOQuery2->Close();
ADOQuery2->SQL->Text = "SELECT lpu_name FROM spr_lpu WHERE lpu_id = " + Edit1->Text;
ADOQuery2->Open();
Label3->Caption = ADOQuery2->FieldByName("lpu_name")->AsString;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm6::Button1Click(TObject *Sender)
{
Form1->sw_1 = 1;
Form7 = new TForm7(this);
if (Form7->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm6::Button2Click(TObject *Sender)
{
if(Label3->Caption != "")
{
ADOQuery1->Close();
ADOQuery1->SQL->Text = "SELECT * FROM plan_post_ob WHERE \"ЛПУ\" = '" + Label3->Caption + "'";
ADOQuery1->Open();
}
else
MessageBox(0,"Введи номер или выбирите нужный ЛПУ из справочника","Ошибка",0);
}
//---------------------------------------------------------------------------
void __fastcall TForm6::Button3Click(TObject *Sender)
{
if(ADOQuery1->Active == true)
{
Memo1->Lines->Clear();
Memo1->Lines->Add("<Table border=1 align=center width=80%>");
Memo1->Lines->Add("<CAPTION><EM><B><H3>План поставки оборудования (для " + Label3->Caption + ")</H3></B></EM></CAPTION>");
ADOQuery1->First();
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Номер договора </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Поставщик </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Тип оборудования </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Модель оборудования </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Ед.Изм. </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Кол-во </b>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add("<b> Дата поставки </b>");
Memo1->Lines->Add("<br>");
while(!ADOQuery1->Eof)
{
Memo1->Lines->Add("<tr>");
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Номер контракта")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Поставщик")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Тип оборудования")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Модель оборудования")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Ед.изм.")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Кол-во")->AsString);
Memo1->Lines->Add("<td>");
Memo1->Lines->Add(ADOQuery1->FieldByName("Дата поставки")->AsString);
Memo1->Lines->Add("<br>");
ADOQuery1->Next();
}
Memo1->Lines->Add("</table><br>");
Memo1->Lines->SaveToFile(ExtractFilePath(Application->ExeName) + "\План поставки оборудования (" + Edit1->Text + ").html");
}
else
MessageBox(0, "План поставки не сформирован","Ошибка", 0);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit7.h"
#include "Unit6.h"
#include "Unit1.h"
#include "Unit8.h"
#include "Unit10.h"
#include "Unit11.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm7 *Form7;
//---------------------------------------------------------------------------
__fastcall TForm7::TForm7(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm7::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect,
TField *Field, TGridDrawState State)
{
switch(Form1->sw_1)
{
case 1:
DBGrid1->Columns->Items[0]->Width = 86;
DBGrid1->Columns->Items[1]->Width = 288;
break;
case 2:
DBGrid1->Columns->Items[0]->Width = 43;
DBGrid1->Columns->Items[1]->Width = 288;
break;
case 3:
DBGrid1->Columns->Items[0]->Width = 86;
DBGrid1->Columns->Items[1]->Width = 288;
break;
case 4:
DBGrid1->Columns->Items[0]->Width = 43;
DBGrid1->Columns->Items[1]->Width = 288;
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm7::Button1Click(TObject *Sender)
{
switch(Form1->sw_1)
{
case 1:
Form6->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;
Form6->ADOQuery1->Close();
Form7->Close();
break;
case 2:
Form8->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;
Form8->ADOQuery1->Close();
Form7->Close();
break;
case 3:
Form10->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;
Form10->ADOQuery1->Close();
Form7->Close();
break;
case 4:
Form11->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;
Form11->ADOQuery1->Close();
Form7->Close();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm7::DBGrid1DblClick(TObject *Sender)
{
switch(Form1->sw_1)
{
case 1:
Form6->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;
Form6->ADOQuery1->Close();
Form7->Close();
break;
case 2:
Form8->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;
Form8->ADOQuery1->Close();
Form7->Close();
break;
case 3:
Form10->Edit1->Text = ADOQuery1->FieldByName("Номер ЛПУ")->AsString;
Form10->ADOQuery1->Close();
Form7->Close();
break;
case 4:
Form11->Edit1->Text = ADOQuery1->FieldByName("Номер")->AsString;
Form11->ADOQuery1->Close();
Form7->Close();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm7::FormShow(TObject *Sender)
{
switch(Form1->sw_1)
{
case 1:
ADOQuery1->Active = false;
ADOQuery1->SQL->Text = "SELECT lpu_id \"Номер ЛПУ\", lpu_name \"Название ЛПУ\" FROM spr_lpu";
ADOQuery1->Active = true;
break;
case 2:
ADOQuery1->Active = false;
ADOQuery1->SQL->Text = "SELECT post_id \"Номер\", post_name \"Название орг-ии\" FROM spr_post";
ADOQuery1->Active = true;
break;
case 3:
ADOQuery1->Active = false;
ADOQuery1->SQL->Text = "SELECT lpu_id \"Номер ЛПУ\", lpu_name \"Название ЛПУ\" FROM spr_lpu";
ADOQuery1->Active = true;
break;
case 4:
ADOQuery1->Active = false;
ADOQuery1->SQL->Text = "SELECT post_id \"Номер\", post_name \"Название орг-ии\" FROM spr_post";
ADOQuery1->Active = true;
break;
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit8.h"
#include "Unit1.h"
#include "Unit7.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm8 *Form8;
//---------------------------------------------------------------------------
__fastcall TForm8::TForm8(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm8::Edit1Change(TObject *Sender)
{
if(Edit1->Text != "")
{
ADOQuery2->Close();
ADOQuery2->SQL->Text = "SELECT post_name FROM spr_post WHERE post_id = " + Edit1->Text;
ADOQuery2->Open();
Label3->Caption = ADOQuery2->FieldByName("post_name")->AsString;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm8::Button1Click(TObject *Sender)
{
Form1->sw_1 = 2;
Form7 = new TForm7(this);
if (Form7->ShowModal()==mrCancel) return;
}
//---------------------------------------------------------------------------
void __fastcall TForm8::Button2Click(TObject *Sender)
{
if(Label3->Caption != "")
{
ADOQuery1->Close();
ADOQuery1->SQL->Text = "SELECT * FROM plan_post_ob WHERE \"Поставщик\" = '" + Label3->Caption + "'";
ADOQuery1->Open();
}
else
MessageBox(0,"Введи номер или выбирите нужного поставщика из справочника","Ошибка",0);
}
//---------------------------------------------------------------------------
void __fastcall TForm8::Button3Click(TObject *Sender)
{
if(ADOQuery1->Active == true)
{
Memo1->Lines->Clear();
Memo1->Lines->Add("<Table border=1 align=center width=80%>");
Memo1->Lines->Add("<CAPTION><EM><B><H3>План поставки оборудования (для " + Label3->Caption + ")</H3></B></EM></CAPTION>");
Подобные документы
Проектирование локальной вычислительной сети для предприятия c главным офисом в центре города и двумя филиалами на удалении не более 1,5 км. Выбор топологии сети и основного оборудования. Программное обеспечение для клиент-серверного взаимодействия сети.
курсовая работа [3,4 M], добавлен 27.02.2015Функции пользователей в локальной вычислительной сети, анализ и выбор организации ресурсов. Выбор сетевой операционной системы. Сервисное программное обеспечение. Выбор протокола, сетевой технологии и кабеля. Резервирование и архивирование данных.
дипломная работа [2,0 M], добавлен 22.02.2013Характеристика туристической фирмы ООО "Эй Кью Би" как объекта управления. Выбор и обоснование метода решения задачи "Оптимальное планирование Интернет-проекта". Программное и техническое обеспечение подсистемы "Финансы" автоматической системы управления.
дипломная работа [2,8 M], добавлен 13.02.2016Создание локальной вычислительной сети, ее топология, кабельная система, технология, аппаратное и программное обеспечение, минимальные требования к серверу. Физическое построение локальной сети и организация выхода в интернет, расчет кабельной системы.
курсовая работа [749,1 K], добавлен 05.05.2010Варианты использования информационной подсистемы "InventoryManagement". Основные проблемные ситуации, возникающие при функционировании, методы и средства для их решения. Информационное и программное обеспечение подсистемы. Разработка базы данных.
дипломная работа [6,7 M], добавлен 29.06.2011Управление предприятием ООО "Автотрансобслуживание", цели его деятельности. Концептуальный план создания автоматической системы управления (АСУ). Проектирование подсистемы производственно-диспетчерской службы, выбор системы управления базой данных.
дипломная работа [2,6 M], добавлен 28.06.2011Подключение рабочих станций к локальной вычислительной сети по стандарту IEEE 802.3 10/100 BASET. Расчёт длины витой пары, затраченной на реализацию сети и количества разъёмов RJ-45. Построение топологии локальной вычислительной сети учреждения.
курсовая работа [1,4 M], добавлен 14.04.2016Механизмы управления транзакциями в СУБД. Обзор средств удаленного взаимодействия с объектами. Разработка подсистемы управления транзакциями. Практический анализ производительности подсистемы. Способы защиты пользователей от опасных и вредных факторов.
дипломная работа [449,9 K], добавлен 14.03.2013Проектирование функциональной структуры подсистемы учёта средств вычислительной техники. Применяемые средства защиты информации в БД, базовый алгоритм, программное и техническое обеспечение. Вопросы об экономической эффективности и охране труда.
дипломная работа [7,5 M], добавлен 26.06.2011Цели и функции, а также принципы и этапы организации локальной вычислительной сети, оценка ее роли и значения в деятельности предприятия. Выбор основных сетевых решений и способов управления. Структурная схема кабельной сети и оценка ее безопасности.
контрольная работа [2,0 M], добавлен 16.04.2016