Диплом: Автоматизация процесса ведения документации и отчетности в НУЗ "Отделенческая больница на станции Муром "Структурное подразделение на ст. Владимир"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
117
run_procedure : boolean;
begin
//присваиваю начальыне значения
run_procedure := True; buf_kav := '''';
//чищу сообщения об олибке
clear_label;
//првоеряю введенные данные
if form_street.Edit_street.Text = '' then
begin run_procedure := False; form_street.Label2.Caption := 'Не введено название улицы';
end;
///првоерка закончена
if run_procedure then
begin
if form_street.Button_add.Caption = 'Добавить' then add_street;
if form_street.Button_add.Caption = 'Исправить' then update_street;
end;
end;
procedure TForm_street.Button_deleteClick(Sender: TObject);
begin
if form_street.DBGrid_street.DataSource.DataSet.RecordCount <> 0 then
datamodule1.Table_street.Delete;
end;
procedure TForm_street.Button_updateClick(Sender: TObject);
begin
if form_street.DBGrid_street.DataSource.DataSet.RecordCount <> 0 then
begin
form_street.Label_id.Caption := form_street.DBGrid_street.DataSource.DataSet.FieldByName('id_ulica').AsString;
form_street.Edit_street.Text :=
form_street.DBGrid_street.DataSource.DataSet.FieldByName('name_ulica').AsString;
form_street.Button_add.Caption := 'Исправить';
end;
end;
procedure TForm_street.add_street;
var buf_zapros, buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'INSERT INTO ulica (name_ulica) VALUES ('
+buf_kav+form_street.Edit_street.Text+buf_kav+');';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//чищу поля ввода
form_street.Edit_street.Text := '';
//обновляю данные на форме
datamodule1.Table_street.Active := False; datamodule1.Table_street.Active := True;
datamodule1.Table_street.Sort := 'name_ulica ASC';
end;
procedure TForm_street.update_street;
var buf_zapros, buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'UPDATE ulica SET name_ulica = '+buf_kav+form_street.Edit_street.Text+buf_kav
+' WHERE id_ulica = ' + form_street.Label_id.Caption+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//чищу поля ввода
form_street.Edit_street.Text := ';
//обновляю данные на форме
datamodule1.Table_street.Active := False; datamodule1.Table_street.Active := True; datamodule1.Table_street.Sort
:= 'name_ulica ASC';
118
//переименовываю кнопку
form_street.Button_add.Caption := 'Добавить';
end;
procedure TForm_street.clear_label;
begin
form_street.Label2.Caption := '';
end;
procedure TForm_street.FormCreate(Sender: TObject);
begin
clear_label;
datamodule1.Table_street.Sort := 'name_ulica ASC';
end;
Файл form_special.pas
unit Form__special;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids,
Data.DB;
type
TForm_special = class(TForm)
DBGrid_special: TDBGrid;
GroupBox1: TGroupBox;
Button_delete: TButton;
Button_update: TButton;
Edit_special: TEdit;
Label1: TLabel;
Label2: TLabel;
RadioButton_no_uchastok: TRadioButton;
RadioButton_s_uchastok: TRadioButton;
Button_add: TButton;
DBGrid_uchastok: TDBGrid;
Label3: TLabel;
Label_id: TLabel;
procedure clear_label;
procedure RadioButton_no_uchastokClick(Sender: TObject);
procedure RadioButton_s_uchastokClick(Sender: TObject);
procedure Button_addClick(Sender: TObject);
procedure update_special;
procedure add_special;
procedure FormCreate(Sender: TObject);
procedure Button_updateClick(Sender: TObject);
procedure Button_deleteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_special: TForm_special;
implementation
uses DataModule;
{$R *.dfm}
procedure TForm_special.Button_addClick(Sender: TObject);
var run_procedure : boolean;
buf_kav : string;
begin
//чищу сообщение об ошибке
clear_label; //присваиваю начальные значения
119
buf_kav := ''''; run_procedure := True;
//проверяю веденные данные
if form_special.Edit_special.Text = '' then
begin
run_procedure := False; form_special.Label2.Caption := ''; end;
if form_special.RadioButton_s_uchastok.Checked = True then
if form_special.DBGrid_uchastok.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False; form_special.Label2.Caption := 'Не выбран участок'; end;
//проверка закончена
if run_procedure then
begin
if form_special.Button_add.Caption = 'Добавить' then
add_special;
if form_special.Button_add.Caption = 'Изменить' then
update_special;
end;
end;
procedure TForm_special.Button_deleteClick(Sender: TObject);
begin
if form_special.DBGrid_special.DataSource.DataSet.RecordCount <> 0 then
form_special.DBGrid_special.DataSource.DataSet.Delete;
end;
procedure TForm_special.Button_updateClick(Sender: TObject);
begin
form_special.Label_id.Caption := form_special.DBGrid_special.DataSource.DataSet.FieldByName('Код').AsString;
form_special.Button_add.Caption := 'Изменить';
form_special.Edit_special.Text :=
form_special.DBGrid_special.DataSource.DataSet.FieldByName('name_special').AsString;
if form_special.DBGrid_special.DataSource.DataSet.FieldByName('uchastok').AsString <> '' then
begin
form_special.RadioButton_s_uchastok.Checked := True;
form_special.DBGrid_uchastok.Visible := True;
form_special.DBGrid_uchastok.DataSource.DataSet.Locate('nomer_uchastok',form_special.DBGrid_special.DataSourc
e.DataSet.FieldByName('uchastok').AsString,[]);
end;
end;
procedure TForm_special.add_special;
var buf_zapros, buf_kav : string;
begin
buf_kav := '''';
if form_special.RadioButton_no_uchastok.Checked then
buf_zapros := 'INSERT INTO Special (name_special) VALUES ('
+buf_kav+form_special.Edit_special.Text+buf_kav+');';
if form_special.RadioButton_s_uchastok.Checked then
buf_zapros := 'INSERT INTO Special (name_special,uchastok) VALUES ('
+buf_kav+form_special.Edit_special.Text+buf_kav+','
+buf_kav+form_special.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString+buf_kav+');'
;
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//чищу поля ввода
form_special.Edit_special.Text := ''; datamodule1.Table_special.Active := False;
datamodule1.Table_special.Active := True; datamodule1.Table_special.Sort := 'name_special ASC';
end;
procedure TForm_special.update_special;
var buf_zapros, buf_kav : string;
begin
buf_kav := '''';
if form_special.RadioButton_no_uchastok.Checked then
buf_zapros := 'UPDATE Special SET name_special = '
120
+buf_kav+form_special.Edit_special.Text+buf_kav
+' WHERE Код = '+form_special.Label_id.Caption+';';
if form_special.RadioButton_s_uchastok.Checked then
buf_zapros := 'UPDATE Special SET name_special = '
+buf_kav+form_special.Edit_special.Text+buf_kav+','
+' uchastok =
'+buf_kav+form_special.DBGrid_uchastok.DataSource.DataSet.FieldByName('nomer_uchastok').AsString+buf_kav
+' WHERE Код = '+form_special.Label_id.Caption+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//чищу поля ввода
form_special.Edit_special.Text := ''; datamodule1.Table_special.Active := False;
datamodule1.Table_special.Active := True; datamodule1.Table_special.Sort := 'name_special ASC';
//переименовываю кнопку
form_special.Button_add.Caption := 'Добавить';
end;
procedure TForm_special.clear_label;
begin
form_special.Label2.Caption := ''; form_special.Label3.Caption := '';end;
procedure TForm_special.FormCreate(Sender: TObject);
begin
datamodule1.Table_special.Sort := 'name_special ASC'; clear_label;end;
procedure TForm_special.RadioButton_no_uchastokClick(Sender: TObject);
begin form_special.DBGrid_uchastok.Visible := False;end;
procedure TForm_special.RadioButton_s_uchastokClick(Sender: TObject);
begin form_special.DBGrid_uchastok.Visible := True;end;
end.
end.
Файл Form_doctor_talon.pas
unit Form__doctor_talon;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, ComObj,Excel2000, Data.DB;
type
TForm_doctor_talon = class(TForm) DBGrid_doctor: TDBGrid;
MonthCalendar_begin: TMonthCalendar; Label1: TLabel;
Label2: TLabel; Button1: TButton; DBGrid_view_talon: TDBGrid; MonthCalendar_end: TMonthCalendar;
Label3: TLabel; Label4: TLabel; procedure FormShow(Sender: TObject);
procedure view_talon; procedure view_dbgrid_talon; procedure DBGrid_doctorCellClick(Column: TColumn);
procedure DBGrid_doctorColEnter(Sender: TObject); procedure DBGrid_doctorDblClick(Sender: TObject);
procedure DBGrid_doctorMouseActivate(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y,
HitTest: Integer; var MouseActivate: TMouseActivate);
procedure MonthCalendar_beginClick(Sender: TObject); procedure MonthCalendar_beginDblClick(Sender:
TObject); procedure MonthCalendar_beginMouseEnter(Sender: TObject); procedure Button1Click(Sender:
TObject); procedure view_doctor; procedure dbgrid_doctor_talon; procedure MonthCalendar_endClick(Sender:
TObject) procedure MonthCalendar_endDblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_doctor_talon: TForm_doctor_talon;
implementation
uses DataModule;
{$R *.dfm}
procedure TForm_doctor_talon.Button1Click(Sender: TObject);
121
var E,myRange, Sheet : variant;
buf_zapros : string; buf_kav : string;
nomer : integer;
begin
//храню кавычку
buf_kav := ''''; nomer := 1;
//создаю айл Excle
E := CreateOleObject('Excel.Application'); E.WorkBooks.open(GetCurrentDir+'\шаблоны\talon.xlsx');;
//открываю файд Excel
// E.Workbooks.Add; Sheet:=E.Sheets.Item[1];
//вывожу даныне клиента
E.Cells[nomer,1]:= 'Список талонов на период с '+datetostr(Form_doctor_talon.MonthCalendar_begin.Date)+' по
'+datetostr(Form_doctor_talon.MonthCalendar_end.Date)
+' к врачу '+Form_doctor_talon.DBGrid_doctor.DataSource.DataSet.FieldByName('Фамилия').AsString+' '
+Form_doctor_talon.DBGrid_doctor.DataSource.DataSet.FieldByName('Имя').AsString+'
'+Form_doctor_talon.DBGrid_doctor.DataSource.DataSet.FieldByName('Отчество').AsString;
nomer:= nomer+1;
//вывожу закголов таблицы
E.Cells[nomer,1]:= 'Время приема';
nomer:= nomer+2; datamodule1.Query_view_talon.First;
while not datamodule1.Query_view_talon.Eof do
begin
E.Cells[nomer,1]:=datamodule1.Query_view_talon.FieldByName('Время_приема').AsString;
E.Cells[nomer,2]:=datamodule1.Query_view_talon.FieldByName('СНИЛС').AsString;
E.Cells[nomer,3]:=datamodule1.Query_view_talon.FieldByName('Фамилия').AsString;
E.Cells[nomer,4]:=datamodule1.Query_view_talon.FieldByName('Имя').AsString;
E.Cells[nomer,5]:=datamodule1.Query_view_talon.FieldByName('Отчество').AsString;
E.Cells[nomer,6]:=datamodule1.Query_view_talon.FieldByName('Дата_рождения').AsString;
E.Cells[nomer,7]:=datamodule1.Query_view_talon.FieldByName('Полис').AsString;
nomer := nomer+1; datamodule1.Query_view_talon.Next;
end;
E.Cells[nomer,1]:= 'Итого '+inttostr(datamodule1.Query_view_talon.RecordCount)+' записей' ;
//выставляю ширину столбцов
// myRange :=Sheet.Cells[1,1];// myRange.ColumnWidth := 30;
E.Visible := True;//включаю отображение программы Excel
end;
procedure TForm_doctor_talon.DBGrid_doctorCellClick(Column: TColumn);
begin view_talon;end;
procedure TForm_doctor_talon.DBGrid_doctorColEnter(Sender: TObject);
begin view_talon; end;
procedure TForm_doctor_talon.DBGrid_doctorDblClick(Sender: TObject);
begin view_talon; end;
procedure TForm_doctor_talon.DBGrid_doctorMouseActivate(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
begin view_talon; end;
procedure TForm_doctor_talon.FormCreate(Sender: TObject);
begin
Form_doctor_talon.MonthCalendar_begin.Date := IncMonth(now(), -1);
Form_doctor_talon.MonthCalendar_end.Date := Now();
end;
procedure TForm_doctor_talon.FormShow(Sender: TObject);
begin
view_doctor; dbgrid_doctor_talon; view_talon; end;
procedure TForm_doctor_talon.MonthCalendar_beginClick(Sender: TObject);
begin view_talon; end;
procedure TForm_doctor_talon.MonthCalendar_beginDblClick(Sender: TObject);
begin view_talon; end;
procedure TForm_doctor_talon.MonthCalendar_beginMouseEnter(Sender: TObject);
begin view_talon; end;
procedure TForm_doctor_talon.MonthCalendar_endClick(Sender: TObject);
begin view_talon; end;
122
procedure TForm_doctor_talon.MonthCalendar_endDblClick(Sender: TObject);
begin view_talon; end;
procedure TForm_doctor_talon.view_talon;
var buf_zapros,buf_kav : string;
myYear, myMonth, myDay : Word;
date_talon_begin : string;
date_talon_end : string;
begin
DecodeDate(Form_doctor_talon.MonthCalendar_begin.Date, myYear, myMonth, myDay);
date_talon_begin := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
DecodeDate(Form_doctor_talon.MonthCalendar_end.Date, myYear, myMonth, myDay);
date_talon_end := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
buf_zapros := 'SELECT talon.time_talon as Время_приема, pacient.snils as СНИЛС, pacient.Family as Фамилия,
pacient.first_name as Имя, pacient.second_name as Отчество, pacient.date_born as Дата_рождения, pacient.polis as
Полис '
+' FROM pol INNER JOIN (Special INNER JOIN (pacient INNER JOIN talon ON pacient.snils = talon.snils) ON
Special.Код = talon.doctor) ON pol.id_pol = pacient.pol '
+' WHERE talon.date_talon >= '+date_talon_begin + ' AND talon.date_talon <= '+date_talon_end
+' AND Special.Код = '+ Form_doctor_talon.DBGrid_doctor.DataSource.DataSet.FieldByName('Код').AsString
+' ORDER BY talon.date_talon,talon.time_talon;';
datamodule1.Query_view_talon.Close; datamodule1.Query_view_talon.SQL.Clear;
datamodule1.Query_view_talon.SQL.Text := buf_zapros; datamodule1.Query_view_talon.Open;
view_dbgrid_talon;
end;
procedure TForm_doctor_talon.view_dbgrid_talon;
begin
Form_doctor_talon.DBGrid_view_talon.Columns[0].Width := 100;
Form_doctor_talon.DBGrid_view_talon.Columns[1].Width := 100;
Form_doctor_talon.DBGrid_view_talon.Columns[2].Width := 100;
Form_doctor_talon.DBGrid_view_talon.Columns[3].Width := 100;
Form_doctor_talon.DBGrid_view_talon.Columns[4].Width := 100;
Form_doctor_talon.DBGrid_view_talon.Columns[5].Width := 100;
Form_doctor_talon.DBGrid_view_talon.Columns[6].Width := 100;end;
procedure TForm_doctor_talon.view_doctor;
var buf_zapros,buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'SELECT Special.Код, Special.name_special as Специальность,Special.uchastok as Участок,
Doctor.Family as Фамилия, Doctor.first_name as Имя, Doctor.Second_name as Отчество '
+' FROM Special INNER JOIN (Doctor INNER JOIN doctor_special ON Doctor.tabel_nomer =
doctor_special.doctor) ON Special.Код = doctor_special.special '
+' ORDER BY Special.name_special;';
datamodule1.Query_doctor_talon.Close; datamodule1.Query_doctor_talon.SQL.Clear;
datamodule1.Query_doctor_talon.SQL.Text := buf_zapros; datamodule1.Query_doctor_talon.Open;
dbgrid_doctor_talon;end;
procedure TForm_doctor_talon.dbgrid_doctor_talon;
begin
Form_doctor_talon.DBGrid_doctor.Columns[0].Visible := False;
Form_doctor_talon.DBGrid_doctor.Columns[1].Width := 150;
Form_doctor_talon.DBGrid_doctor.Columns[2].Width := 150;
Form_doctor_talon.DBGrid_doctor.Columns[3].Width := 150;
Form_doctor_talon.DBGrid_doctor.Columns[4].Width := 150;end;
end.
123
ПРИЛОЖЕНИЕ 2
Рис. 1. Приказ о приеме врача на работу
124
Рис. 2. Талон на прием к врачу
Рис. 3. Приказ о закреплении улиц за врачебным заведением

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)