Разработка информационной системы управления данными для медицинского центра СевКавГТУ, г. Ставрополь
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
=> 'Times New Roman',=> 10,=> 'center');
$format1->set_underline(1);$format2 = $workbook->add_format(font => 'Times New Roman',=> 10,=> 'center');
$format2->set_font_script(1);$format_head = $workbook->add_format(font => 'Times New Roman',=> 12,=> 'center');
#$format_head->merge_range('A1:D1', 'Vertical and horizontal', $format_head);$format_cell = $workbook->add_format(font => 'Times New Roman',=> 12);
#$format_cell->set_size(30);
#$format_cell->set_shrink(1);
#$format_cell->set_align('fill');
#$format_cell->set_center_across(1);
#$format_cell->set_text_wrap();
$worksheet->set_column(0, 0, 29.43, $format_cell);
$worksheet->set_column(1, 0, 32.71, $format_cell);
$worksheet->set_column(2, 0, 23.29, $format_cell);
##########################################Вставка данных в ячейки##############################
my $i;
#$worksheet->merge_range('A1:D1', decode('utf-8',"$_[4]"), $format_head);
#########################################################################
$worksheet->write('A1', 'Министерство здравоохранения РФ',$format);
$worksheet->write('A2', ' СевКавГТУ ',$format1);
$worksheet->write('A3', 'наименование учереждения',$format2);
#########################################################################
$worksheet->write('C1', 'Код формы по ОКУД:',$format);
$worksheet->write('C2', 'Код учереждения по ОКПО:',$format);
$worksheet->write('C3', 'Медицинская документация',$format);
$worksheet->write('C4', 'Форма № 025/у',$format);
#########################################################################my $key (@$result) {
#$key->{'id_gr'}
$worksheet->merge_range('A7:C7', qq"МЕДИЦИНСКАЯ КАРТА АМБУЛАТОРНОГО БОЛЬНОГО №".decode('utf-8',"$key->{'id_card'}"), $format_head);
$worksheet->merge_range('A9:C9', qq"ФИО студента: ".decode('utf-8',"$key->{'surname_stud'}").' '.decode('utf-8',"$key->{'name_stud'}").' '.decode('utf-8',"$key->{'middlename_stud'}"), $format_head);
$worksheet->write('A11', 'Факультет: '.decode('utf-8',"$key->{'name_fac'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('B11', 'Группа: '.decode('utf-8',"$key->{'name_grp'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('A12', '№ полиса: '.decode('utf-8',"$key->{'policy'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('B12', '№ паспорта: '.decode('utf-8',"$key->{'number_passport'}"),"font => 'Times New Roman', size => 12");$sex;($key->{'sex'} eq 1) {$sex = 'Мужской';}($key->{'sex'} eq 2) {$sex = 'Женский';}{$sex = '-';}
$worksheet->write('A14', 'Пол: '.$sex,"font => 'Times New Roman', size => 12");
$worksheet->write('B14', 'Телефон домашний: '.decode('utf-8',"$key->{'home_fone'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('A15', 'Дата рождения: '.decode('utf-8',"$key->{'birthday'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('B15', 'Телефон сотовый: '.decode('utf-8',"$key->{'mob_fone'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('A17', 'Адрес больного:',"font => 'Times New Roman', size => 12");
$worksheet->write('B17', 'регион: '.decode('utf-8',"$key->{'region'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('C17', 'район: '.decode('utf-8',"$key->{'area'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('B18', 'город: '.decode('utf-8',"$key->{'town'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('C18', 'улица: '.decode('utf-8',"$key->{'streat'}"),"font => 'Times New Roman', size => 12");
$worksheet->write('B19', 'дом №: '.decode('utf-8',"$key->{'house'}"),"font => 'Times New Roman', size => 12");$case_ = $key->{'case_'} || '-';
$worksheet->write('C19', 'корпус: '.$case_,"font => 'Times New Roman', size => 12");$kv_num = $key->{'kv_num'} || '-';
$worksheet->write('B20', 'квартира №: '.$kv_num,"font => 'Times New Roman', size => 12");
$worksheet->write('A22', 'Адрес в Ставрополе:',"font => 'Times New Roman', size => 12");$stav_streat = $key->{'stav_streat'} || '-';
$worksheet->write('B22', 'улица: '.decode('utf-8',$stav_streat),"font => 'Times New Roman', size => 12");$stav_house = $key->{'stav_house'} || '-';
$worksheet->write('C22', 'дом №: '.decode('utf-8',$stav_house),"font => 'Times New Roman', size => 12");$stav_case = $key->{'stav_case'} || '-';
$worksheet->write('B23', 'корпус: '.decode('utf-8',$stav_case),"font => 'Times New Roman', size => 12");$stav_kv_num = $key->{'stav_kv_num'} || '-';
$worksheet->write('C23', 'квартира №: '.decode('utf-8',$stav_kv_num),"font => 'Times New Roman', size => 12");
}$file;
}
;
Б.3 Код модуля kernel.pm
#!C:\www\Perl5.8.9\bin\perlmodules::kernel;strict;warnings;modules::ConnectDB;modules::ses;Templete;check_login {( $login, $pass, $wnd ) = ( $_[1], $_[2], $_[3] );$q;$id_s;$title;$CGISESSID;$query = qq"SELECTWHEN name = '$login' and pass = md5('$pass') THEN 1 ELSE 0 END AS result,_sotsot";$result = modules::ConnectDB->SelectFromDB($query);my $key (@$result) {( $key->{'result'} ) { $q = 1; $id_s = $key->{'id_sot'}; last; }{ $q = 0; }
}( $q == 1 ) { $CGISESSID = get_session('modules::kernel', $wnd, $id_s); }{ $CGISESSID = "Error"; $title = 'Не верно ввели имя или пароль'; }$CGISESSID, $title, $id_s;
}get_session {( $CGISESSID, $u_ip ) = modules::ses->new_ses();($wnd, $id_s) = ($_[1], $_[2]);$now = localtime time;$query ="select * from ses(\'$id_s\', \'$CGISESSID\', \'$now\', \'$u_ip\', \'$wnd\' )";$result = modules::ConnectDB->SelectFromDB($query, 3);$CGISESSID;
}read_last_page {$query = qq"SELECT last_wnd FROM sesion where id_sot = (select id_sot from sot where name ='$_[1]' and pass = md5('$_[2]'))";$result = modules::ConnectDB->SelectFromDB($query);$q = 0;my $key (@$result) {
$q = $key->{'last_wnd'};
}$q;
}query_file {$query = qq(SELECT file_ FROM wnd where id_button = '$_[1]');$result = modules::ConnectDB->SelectFromDB($query);$q =0;my $key (@$result) {
$q = $key->{'file_'};
}$q;
}user_id {($login, $pass, $ses) = ($_[1], $_[2], $_[3]);$query;($login eq '' or $pass eq '0' and $ses ne '0') {
$query = qq"SELECT id_sot FROM sesion WHERE sesion = '$ses'";
}($login ne '' and $pass ne '0') {
$query = qq"SELECT id_sot FROM sot WHERE name = '$login' AND pass = md5('$pass')";
}{ return 0;}$result = modules::ConnectDB->SelectFromDB($query, 2);$q =0;my $key (@$result) {
$q = $key->{'id_sot'};
}$q;
}
;
Б.4 Код модуля ses.pm
#!C:\www\Perl5.8.9\bin\perlmodules::ses;strict;warnings;CGI::Session('-ip_match');modules::ConnectDB;new_ses {#создание новой сессии
my $session = CGI::Session->new("driver:File", undef, {Directory=>'/var/www/vhosts/medic/tmpsession'});$CGISESSID = $session->id();
$session->flush();$u_ip = $session->param('_SESSION_REMOTE_ADDR');
$session->delete();
$session->flush(); $CGISESSID, $u_ip;#возвращает IP-пользователя и его ID-сессии
}
sub check_ses {#функция проверки сесси
my ($CGISESSID, $id) = ($_[1], $_[2]);$res = 0;$query = "SELECT * FROM check_ses(\'$CGISESSID\',\'$id\')";#check_ses() смотри в БД$result = modules::ConnectDB->SelectFromDB($query);my $key (@$result) {($key->{'check_ses'} == 1) {1;
}($key->{'check_ses'} == 0){0;
}{-1;
}
}
}
;
Б.5 Код модуля Templete.pm
#!C:\www\Perl5.8.9\bin\perlTemplete;strict;warnings;modules::ConnectDB;
#print "Content-type: text/html\n\n";
#
sub gen_menu{#функция генерации меню для пользователя
my $log_id = $_[1];$query = qq"SELECT a.sot_id AS sot_id,
(SELECT q.name_func FROM func q WHERE a.func_id = q.func_id) AS name_func,
(SELECT w.rus_name FROM func w WHERE a.func_id = w.func_id) AS rus_name,
(SELECT e.name FROM wnd e WHERE a.wnd_id = e.id_button) AS name_wnd,.wnd_id,
(SELECT r.file_ FROM wnd r WHERE a.wnd_id = r.id_button) AS file_,.t_f AS t_fsot_func a a.t_f = 'true' AND a.func_id = '8' AND a.sot_id = '$log_id'BY name_wnd";$result = modules::ConnectDB->SelectFromDB($query