Проектирование АСУ "Управления Здравоохранения Администрации Ленинского муниципального района"
Общая характеристика деятельности организации. Выявление недостатков существующей системы управления. Определение потребности в медицинском оборудовании. Выбор поставщиков по лотам. Контроль пуско-наладочных работ. Анализ надежности и отказоустойчивости.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.03.2013 |
Размер файла | 4,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Экономический эффект от внедрения АСУ проявляется в увеличении прибыли организаций. Дополнительный экономический эффект получают также от снижения сроков производства работ.
При внедрении АСУ и ее использовании для решения комплексов задач необходимо удостовериться, что она действительно эффективнее, чем неавтоматизированный способ решения задач.
При определении эффективности следует учесть преимущества АСУ перед неавтоматизированным способом решения задач:
- Уменьшение времени ввода необходимой информации;
- Уменьшение времени обработки данных и решения задач на основании этих данных;
- Уменьшение вероятности появления ошибок в выходных показателях, а также при их расчетах.
Поскольку в процессе своей деятельности специалист должен использовать большой объем информации, а также держать в голове большое количество информации, то неизбежно увеличение времени решения задач, появление ошибок. При отсутствии должной системы нормирования труда, нарушения эргономических требований рабочего места и других факторов увеличивается вероятность появления ошибок. Как следствие, может потребоваться дополнительное время для пересчета показателей, перепроверки результатов и т.д. В реальном мире, где большое количество решений принимается в условиях дефицита времени, задержки, связанные с проведением расчетов могут повлечь фатальные последствия для организации. Бесспорен и тот факт, что ЭВМ проводит расчет в большое количество раз быстрее, чем человек.
В качестве примера, демонстрирующего преимущества автоматизированного способа обработки информации можно рассмотреть комплекс задач подсистемы управления закупкой оборудования.
В рамках данной подсистемы разрабатывается 11 выходных документов.
Основные показатели:
- периодичность - частота разработки документа,
- значимость - количество символов в документе,
- трудоемкость - количество часов, требующееся для разработки документа одним сотрудником.
Перечень документов подсистемы и их параметры при неавтоматизированных расчетах
Наименование документа |
Периодичность |
Значимость |
Трудоемкость (Т) |
|
1. Общая заявка на закупку медицинского оборудования для нужд ЛПУ |
Раз в год |
764*кол-во оборудования |
0,6 чел-ч*кол-во оборудования |
|
2. Спецификация медицинского оборудования для нужд ЛПУ по лотам |
Раз в год |
844*кол-во оборудования |
0,8 чел-ч*кол-во оборудования |
|
3. Список выбранных поставщиков |
Раз в год |
220*кол-во поставщиков*кол-во лотов |
1,75 чел-ч*кол-во поставщиков* кол-во лотов |
|
4. План поставки оборудования (общий) |
Раз в год |
792*кол-во договоров*кол-во оборудования |
1,15 чел-ч*кол-во договоров*кол-во оборудования |
|
5. План поставки оборудования (для Поставщиков) |
Раз в год |
624*кол-во поставщиков*кол-во оборудования |
1,3 чел-ч*кол-во поставщиков*кол-во оборудования |
|
6. План поставки оборудования (для ЛПУ) |
Раз в год |
624* кол-во оборудования*кол-во ЛПУ |
1,3 чел-ч*кол-во ЛПУ*кол-во оборудования |
|
7. План проведения ПНР (общий) |
Раз в год |
824*кол-во оборудования |
1,2 чел-ч *кол-во оборудования |
|
8. План проведения ПНР (для поставщиков) |
Раз в год |
656*кол-во поставщиков* кол-во оборудования |
1,35 чел-ч*кол-во поставщиков*кол-во оборудования |
|
9. План проведения ПНР (для ЛПУ) |
Раз в год |
656*кол-во ЛПУ*кол-во оборудования |
1,35 чел-ч*кол-во ЛПУ*кол-во оборудования |
|
10. Претензии к поставщику (поставка) |
Раз в месяц |
884* кол-во договоров*кол-во оборудования |
1,1* кол-во договоров*кол-во оборудования |
|
11. Претензии к поставщику (ПНР) |
Раз в месяц |
940* кол-во договоров*кол-во оборудования |
1,2* кол-во договоров*кол-во оборудования |
Расчет:
1. Значимость:
Общая заявка на закупку медицинского оборудования для нужд ЛПУ:
Кол-во цифр: 23
Кол-во букв: 84
Значимость: 23*4+84*8=764
Спецификация медицинского оборудования:
Кол-во цифр: 23
Кол-во букв: 94
Значимость: 23*4+94*8=844
Список выбранных поставщиков:
Кол-во цифр: 5
Кол-во букв: 25
Значимость: 5*4+25*8=220
План поставки оборудования (общий):
Кол-во цифр: 10
Кол-во букв: 94
Значимость: 10*4+94*8=792
План поставки оборудования (для Поставщиков):
Кол-во цифр: 10
Кол-во букв: 73
Значимость: 10*4+73*8=624
План поставки оборудования (для ЛПУ):
Кол-во цифр: 10
Кол-во букв: 73
Значимость: 10*4+73*8=624
План проведения ПНР (общий):
Кол-во цифр: 18
Кол-во букв: 94
Значимость: 18*4+94*8=824
План проведения ПНР (для Поставщиков):
Кол-во цифр: 18
Кол-во букв: 73
Значимость: 18*4+73*8=656
План проведения ПНР (для ЛПУ):
Кол-во цифр: 18
Кол-во букв: 73
Значимость: 18*4+73*8=656
Претензии к поставщику (поставка):
Кол-во цифр: 33
Кол-во букв: 94
Значимость: 33*4+94*8=884
Претензии к поставщику (ПНР):
Кол-во цифр: 47
Кол-во букв: 94
Значимость: 47*4+94*8=940
При этом стоит учесть также, что источником данных служит несколько документов, для каждого объекта необходимо повторять одни и те же операции. При расчете документов проводят типовые вычисления, и как следствие увеличивается вероятность появления ошибки. В ряде документов для расчета поля необходимо производить сложные операции, с большим количеством данных с большой значимостью.
При автоматизации процесса решения задачи стоит рассматривать время ввода необходимой информации в таблицы базы данных и время оформления итогового документа, в котором используются получившиеся данные. Непосредственное время расчета значительно меньше времени ввода и времени оформления документа и занимает период времени от долей до нескольких секунд.
Перечень документов подсистемы и их характеристики при автоматизации функций ввода и расчетов выходных показателей
Наименование документа |
Время ввода данных (Тв) |
Время на создание документа (Тс) |
Эффект (Т/(Тс+Тв)) |
|
1. Общая заявка на закупку медицинского оборудования для нужд ЛПУ |
0,2*кол-во оборудования |
0,03*кол-во оборудования |
2,6 |
|
2. Спецификация медицинского оборудования для нужд ЛПУ по лотам |
0,2*кол-во оборудования |
0,05*кол-во оборудования |
3,2 |
|
3. Список выбранных поставщиков |
0,8* кол-во поставщиков*кол-во лотов |
0,11* кол-во поставщиков*кол-во лотов |
1,92 |
|
4. План поставки оборудования (общий) |
0,3*кол-во договоров*кол-во оборудования |
0,09*кол-во договоров*кол-во оборудования |
2,95 |
|
5. План поставки оборудования (для Поставщиков) |
0,4*кол-во поставщиков*кол-во оборудования |
0,06*кол-во поставщиков*кол-во оборудования |
2,87 |
|
6. План поставки оборудования (для ЛПУ) |
0,4* кол-во оборудования*кол-во ЛПУ |
0,06* кол-во оборудования*кол-во ЛПУ |
2,87 |
|
7. План проведения ПНР (общий) |
0,3*кол-во оборудования |
0,09*кол-во оборудования |
3,08 |
|
8. План проведения ПНР (для поставщиков) |
0,4*кол-во поставщиков* кол-во оборудования |
0,06*кол-во поставщиков* кол-во оборудования |
2,93 |
|
9. План проведения ПНР (для ЛПУ) |
0,4*кол-во ЛПУ*кол-во оборудования |
0,06*кол-во ЛПУ*кол-во оборудования |
2,93 |
|
10. Претензии к поставщику (поставка) |
0,6* кол-во договоров*кол-во оборудования |
0,03* кол-во договоров*кол-во оборудования |
1,75 |
|
11. Претензии к поставщику (ПНР) |
0,7* кол-во договоров*кол-во оборудования |
0,03* кол-во договоров*кол-во оборудования |
1,64 |
Таким образом, становится видно, что использование автоматизированного способа решения задач позволит значительно (от 1,64 до 3,2 раз) сократить время расчетов и трудозатраты на них, уменьшит вероятность неправильного расчета. Стоит отметить также, что реальные цифры по времени ввода данных могут различаться, поскольку множество данных вводимых для одной задачи может частично или полностью включаться в множество данных для другой задачи, а время на ввод требуется всего один раз.
При такой организации труда необходимо контролировать не результаты расчетов, а только правильность ввода исходной информации.
При сравнении результатов неавтоматизированного и автоматизированного способов решения комплекса задач указанной подсистемы, необходимо выяснить эффект от внедрения АСУ в свете его влияния на эффективность деятельности организации.
В результате внедрения АСУ в Управление Здравоохранение Администрации Ленинского муниципального района удастся добиться более высоких показателей в точности и скорости подготовки документации для проведения тендера, более точного и качественного подбора поставщиков для поставки медицинского оборудования, что, несомненно, положительно скажется на общем уровне оказания услуг в сфере здравоохранения во всём Ленинском районе.
Заключение
В представленном дипломном проекте была спроектирована АСУ для муниципального учреждения здравоохранения «Управления Здравоохранения Администрации Ленинского муниципального района» и разработаны конкретные проектные решения для подсистемы управления закупкой оборудования. В ходе дипломного проектирования были выполнены следующие работы.
Была описана общая характеристика деятельности учреждения, его организационная и функциональная структуры, были изучены цели, стоящие перед учреждением и стратегии по их достижению. После анализа существующей системы управления были выявлены узкие места, мешающие эффективному функционированию и развитию учреждения в условиях современной экономики. После выявления узких мест Управления Здравоохранения было разработано предложение по усовершенствованию существующей системы управления.
На основе анализа механизма работы муниципального учреждения здравоохранения, были определены задачи, входящие в АСУ Управления Здравоохранения Администрации Ленинского муниципального района, автоматизированное решение которых позволит оптимизировать процесс управления, тем самым максимально повысить эффективность деятельности организации.
Затем была проведена декомпозиция Управления Здравоохранения Администрации Ленинского муниципального района на подсистемы и комплексы задач.
Для дальнейшего проектирования была выбрана подсистема управления закупкой оборудования. По каждой задаче выбранной подсистемы были определены все входные и выходные данные, а также разработаны алгоритмы решения задач на ЭВМ.
Для комплекса задач подсистемы управления закупкой оборудования было спроектировано информационное обеспечение, проведена нормализация входных и выходных данных для устранения избыточности и осуществлено кодирование повторяющейся информации, а также построена концептуальная модель данных и определена структура таблиц базы данных.
Для всей организации были разработаны проектные решения по техническому обеспечению АСУ: в целях совершенствования технологического и организационного уровня работы с документами была предложена структура локальной вычислительной сети, для которой была определена топология, состав аппаратного обеспечения и кабельной системы, выбор и настройка различных сетевых служб, а также предложены различные методы защиты и восстановления информации, средства отказоустойчивости.
На основании анализа условий трудовой деятельности работников Управления Здравоохранения Администрации Ленинского муниципального района, был разработан комплекс мероприятий по охране труда на рабочих местах экономического отдела, направленный на предупреждение производственного травматизма и профессиональных заболеваний, а также на обеспечение комфортных условий производственной среды, а также предложены меры по обеспечению противопожарной безопасности.
Расчёт экономической эффективности внедрения АСУ в учреждении показал, что такое внедрение будет целесообразно, и затраты на него окупятся примерно через ____ года.
В заключении следует отметить, что внедрение в организации спроектированного комплекса задач и последующая автоматизация решения задач остальных подсистем позволит Управлению Здравоохранения Администрации Ленинского муниципального района осуществлять более полное, своевременно и качественное лечение, тем самым уменьшим заболеваемость в районе.
Литература
1. Барановская Т.П., Лойко В.И., Семёнов М.И., Трубилин И.Т., Автоматизированные информационные технологии в экономике. - М.: «Финансы и статистика», 2010.
2. Беляев И.П., Основы теории принятия решений. - М.: Типография МГСУ, 2005.
3. Булыгин В.И., Гаряев Н.А., Сапожников В.Н., Охрана труда на рабочем месте с компьютером. Методические рекомендации раздела «Охрана труда» дипломного проекта. - М.: - БФРГТЗ «Слово», 2005.
4. Волкова К.А., Казакова Ф.К., Предприятие: положения об отделах и службах, должностные инструкции. - М.: «Экономика», 2009.
5. Гордеев А.В., Гордеев А.В., Молчанов А.Ю., Системное программное обеспечение. - СПб.: «Питер», 2001.
6. Грабер М., SQL. - М.: «Лори», 2012.
7. Олифер В.Г., Олифер Н.А., Компьютерные сети. 3-е издание. - СПб.: «Питер», 2006.
8. Задворьев И.С., Смирнов С.Н., Работаем с Oracle. - М.: «Гелиос АРВ», 2010.
9. Кайт Т., Oracle для профессионалов. - М.: «Dia-Soft», 2009.
10. Ильин Н.И., Лукманова И.Г., Шапиро В.Д., Управление проектами. - СПб.: «ДваТрИ», 2006.
11. Олифер В.Г., Олифер Н.А., Сетевые операционные системы. - СПб.: «Питер», 2002.
12. СанПин 2.2.1/2.1.1.1278-03 Гигиенические требования к естественному, искусственному и смешанному освещению жилых и общественных зданий.
13. СНиП 21-01-97 Пожарная безопасность зданий и сооружений
14. Смирнов С.Н., Обработка документов средствами Oracle. - М.: «Гелиос АРВ», 2007.
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();
Подобные документы
Декомпозиция автоматической системы управления на подсистемы и комплексы задач. Программное обеспечение комплекса задач подсистемы управления закупкой оборудования. Анализ существующей локальной вычислительной сети. Выбор дополнительных сетевых сервисов.
дипломная работа [4,0 M], добавлен 06.03.2013Характеристика, наладка и регулировка автоматизированного электропривода. Предназначение и возможности прикладных пакетов программ MATLAB и Simulink. Проектирование автоматизированной системы информационной поддержки наладочных работ электропривода.
дипломная работа [3,3 M], добавлен 09.11.2010Роль электронных систем управления в деятельности предприятий и организаций. Повышение качества основных процессов муниципального управления культуры Нефтеюганского района; разработка электронной системы управления информацией, оценка ее эффективности.
дипломная работа [2,3 M], добавлен 10.03.2012Исследование современного состояния и совершенствования информационных технологий управления администрации Динского района. Анализ информационных технологий поддержки принятия решения для контроля налогообложения в области муниципального управления.
дипломная работа [1,1 M], добавлен 24.01.2018Понятие, назначение, задачи и классификация системы контроля и управления доступом, ее основные компоненты. Сравнительный анализ деятельности производителей данных систем: Legos, Parsec, PERCo. Выбор архитектуры системы, оборудование и его размещение.
дипломная работа [7,7 M], добавлен 07.06.2014Анализ состояния и оценка положения дел на предприятии. Сравнение методик проектирования и автоматизированная система управления складским хозяйством. Определение потребности в собственной разработке. Выбор языка программирования, расчет себестоимости.
дипломная работа [4,4 M], добавлен 07.11.2011Проектирование аппаратной составляющей отказоустойчивого кластерного сервера для компании. Расчет полезной и полной пропускной способности сети. Требования к системе управления, дисковой подсистеме, сетевой инфраструктуре, надежности и отказоустойчивости.
курсовая работа [161,5 K], добавлен 04.12.2013Анализ организационной структуры и информационной системы академии. Выявление недостатков и выбор метода устранения недостатков. Проектирование и принципы разработки базы данных. Тестирование, апробация, внедрение информационной системы, эффективность.
курсовая работа [2,1 M], добавлен 02.12.2014Общая характеристика предприятия, анализ существующей системы управления. Проект программы "Автоматизированное рабочее место кассира в отделе контроля и сбора выручки", в современной объектно-ориентированной интерактивной среде Delphi 7 фирмы Borland.
дипломная работа [771,5 K], добавлен 10.10.2011Контроль и управление технологическим процессом очистки диффузионного сока. Разработка функциональной схемы автоматизации. Выбор средств управления и разработка структурной схемы. Расчет системы управления. Формализованные задачи и алгоритмы управления.
курсовая работа [206,8 K], добавлен 21.04.2012