Диплом: Автоматизация процесса внутрикорпоративного взаимодействия сотрудников компании ООО "Ситилинк"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
103
учебник / В.Д. Ковалева . - М.: Финансы и статистика, 2016. – 218 с.
29. Козлов А В. Программирование для Интернет в DELPHI 2010 / А.В.
Козлов ; Под общ. ред. А.Я.Архангельского. - М. : Бином, 2016. – 228 с.
30. Коробко И. В. Справочник системного администратора по
программированию Windows : [объектная модель Active Directory, интерфейсы
ADO и IADs, идентификаторы безопасности и NTFS, групповые политики и реестр,
синтаксис командных файлов, Windows Script Host, Windows Installer] / Иван
Коробко. - Санкт-Петербург : БХВ-Петербург, 2017.. – 386 с.
31. Кудинов Ю. И. Основы современной информатики : [учебное пособие
для студентов высших учебных заведений, обучающихся по специальности
"Прикладная информатика"]. - Изд. 3-е, стер. - Санкт-Петербург [и др.] : Лань,
2016. – 388 с.
32. Кузин А. В. Разработка баз данных в системе MySQL : [учебник для
студентов учреждений среднего профессионального образования, обучающихся по
специальностям "Автоматизированные системы обработки информации и
управления (по отраслям)", "Программное обеспечение вычислительной техники и
автоматизированных систем"] / А. В. Кузин, В. М. Демин. - 3-е изд. - Москва :
ФОРУМ, 2017. – 348 с.
33. Культин Н. Б. Основы программирования в Delphi 7 : [среда
разработки, назначение базовых компонентов, программирование графики,
мультимедиа и баз данных, создание справочной системы и установочного CD] /
Никита Культин. - 2-е изд. - Санкт-Петербург : БХВ-Петербург, 2015. – 322 с.
34. Кучеренко В. Тонкости программирования на DELPHI / В.
Кучеренко. - М. : Познават. кн. плюс, 2017. – 246 с.
35. Лапыгин Ю. Н. Бизнес-план: стратегии и тактика развития компании :
практическое пособие / Ю. Н. Лапыгин, Д. Ю. Лапыгин. - Москва : Омега-Л, 2017.
– 266 с.
36. Максимов Н. В. Информационные технологии в профессиональной
деятельности : [учебное пособие для студентов образовательных учреждений
среднего профессионального образования]. - Москва : ФОРУМ, 2015. – 286 с.
37. Малыхина М. П. Базы данных: основы, проектирование,
использование : [принципы построения баз данных и СУБД, концептуальное
104
проектирование баз данных, реляционная модель данных, языки
программирования баз данных, администрирование баз данных : учебное пособие
для студентов вузов, обучающихся по направлению подготовки "Информатика и
вычислительная техника"] / М. П. Малыхина. - 2-е изд. - Санкт-Петербург : БХВ-
Петербург, 2017. – 248 с.
38. Методические указания. Экономическое обоснование дипломных
проектов “Организация и планирование производства. Управление предприятием ”,
- СПб.: СЗПИ 2016. – 274 с.
39. Методы и модели информационного менеджмента / под ред. А. В.
Кострова. - Москва: Финансы и статистика, 2017. 326 с.
40. Мишенин А. И. Сборник задач по программированию[ : простейшие
программы, циклы и массивы, обработка матриц, численные методы, обработка
символьной информации : учебно-методическое пособие для студентов высших
учебных заведений, обучающихся по специальности 080801 "Прикладная
информатика (по областям)" и другим междисциплинарным специальностям] / А.
И. Мишенин. - Москва : Финансы и статистика : ИНФРА-М, 2015. – 412 с.
41. Романова, Ю. Д. Информатика и информационные технологии:
конспект лекций / Ю. Д. Романова, И. Г. Лесничая - Москва: Эксмо, 2016. – 408 с.
42. Савицкий, Н. И. Экономическая информатика / Н. И. Савицкий. - М.:
Экономистъ, 2015. – 312 с.
43. Сибикин Ю. Д. Охрана труда и электробезопасность / Ю. Д. Сибикин.
- Москва : РадиоСофт, 2017. – 256 с.
44. Симонович, С. В. Общая информатика / С. В. Симонович. - Санкт-
Петербург: Питер, 2018. – 312 с.
45. Фаронов В. В. Delphi : программирование на яз. Высокого уровня:
[Учеб. для вузов по направлению подгот. дипломир. специалистов "Информатика и
вычисл. техника" / В. В. Фаронов. - СПб. и др. : Питер, 2016. – 214 с.
46. Фаронов В. В. Delphi. Программирование на языке высокого уровня :
[учебник для студентов высших учебных заведений, обучающихся по направлению
подготовки дипломированных специалистов "Информатика и вычислительная
техника"] / В. В. Фаронов. - Санкт- Петербург [и др.] : Питер, 2017. – 232 с.
47. Фаронов В. В. Программирование баз данных в Delphi 7 : [реализация
105
соврем. технологий баз данных средствами Delphi] / В. Фаронов. - СПб. [и др.] :
Питер, 2015. – 254 с.
48. Фельдман С. К. Система программирования DELPHI без секретов: как
создать приложение для Windows с "нуля" : энциклопедия / Сергей Фельдман.- М. :
Новый изд. дом [и др.], 2015. – 228 с.
49. Фокеев В. А. Библиографоведение. Информатика: терминологический
словарь / В. А. Фокеев. - Москва: Литера, 2016. – 260 с.
50. Фролов И. М. Энциклопедия Microsoft Office 2013 : [рук. по новейшей
версии пакета Microsoft office] / Иван Фролов. - М. : Новый изд. дом, 2016. – 268 с.
51. Шураков, В. В. «Автоматизированное рабочее место для статической
обработки данных» / В.В. Шураков – М.: Наука, 2015. – 230 с.
106
Приложение 1
Файл Form_podproekt.pas
unit Form__podproekt;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.Grids,
Vcl.DBGrids;
var put_dir : string = 'c:\citilinks\';
type
TForm_podproekt = class(TForm)
DBGrid_proekt: TDBGrid;
DBGrid_podproekt: TDBGrid;
Label1: TLabel;
Label2: TLabel;
DBGrid_sotrudnik: TDBGrid;
Label3: TLabel;
DBGrid_document: TDBGrid;
DBGrid_comment: TDBGrid;
Label4: TLabel;
Button_add_document: TButton;
Label5: TLabel;
GroupBox_add_comment: TGroupBox;
Edit_text: TEdit;
Button_add_text: TButton;
OpenDialog: TOpenDialog;
Label6: TLabel;
Button_delete_document: TButton;
procedure view_proekt;
procedure view_podproekt;
procedure view_sotrudnik_proekt;
procedure view_dbgrid_sotrudnik;
procedure view_dbgrid_proekt;
procedure view_dbgrid_podproekt;
procedure DBGrid_proektCellClick(Column: TColumn);
procedure DBGrid_podproektCellClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
107
procedure view_document;
procedure view_dbgrid_document;
procedure add_document;
procedure view_comment;
procedure add_file(name_file : string);
procedure Button_add_documentClick(Sender: TObject);
procedure view_dbgrid_comment;
procedure open_document_comment;
procedure close_document_comment;
procedure Button_add_textClick(Sender: TObject);
procedure clear_label;
procedure add_comment;
procedure Button_delete_documentClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_podproekt: TForm_podproekt;
implementation
{$R *.dfm}
uses datamodule, form__main;
procedure TForm_podproekt.view_proekt;
var buf_Zapros, buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'SELECT distinctrow proekt.id_proekt, proekt.name_proekt as
Название_проекта '
+' FROM proekt INNER JOIN (pod_proekt INNER JOIN
sotrudnik_pod_proekt ON pod_proekt.id_pod_proekt =
sotrudnik_pod_proekt.id_pod_proekt) ON proekt.id_proekt = pod_proekt.id_proekt '
+' WHERE sotrudnik_pod_proekt.sotrudnik =
'+buf_kav+form_main.Label_tabel.Caption+buf_kav
+' AND pod_proekt.status="0"'
+' ORDER BY proekt.name_proekt, proekt.date_creat DESC , proekt.status;';
datamodule1.Query_proekt.Close;
datamodule1.Query_proekt.SQL.Clear;
datamodule1.Query_proekt.SQL.Text := buf_zapros;
datamodule1.Query_proekt.Open;
view_dbgrid_proekt;
view_podproekt;
108
end;
procedure TForm_podproekt.view_podproekt;
var buf_Zapros, buf_kav : string;
begin
if Form_podproekt.DBGrid_proekt.DataSource.DataSet.RecordCount <> 0 then
begin
buf_kav := '''';
buf_zapros := 'SELECT pod_proekt.id_pod_proekt,
pod_proekt.name_pod_proekt as Название_подпроекта, pod_proekt.date_begin as
Дата_начала, pod_proekt.date_end as Дата_конца_проекта '
+' FROM pod_proekt '
+' WHERE pod_proekt.id_proekt =
'+Form_podproekt.DBGrid_proekt.DataSource.DataSet.FieldByName('id_proekt').AsStri
ng
+' and status = 0'
+' ORDER BY pod_proekt.date_begin, pod_proekt.date_end;';
datamodule1.Query_podproekt.Close;
datamodule1.Query_podproekt.SQL.Clear;
datamodule1.Query_podproekt.SQL.Text := buf_Zapros;
datamodule1.Query_podproekt.Open;
view_dbgrid_podproekt;
open_document_comment;
end
else
begin
datamodule1.Query_view_podproekt.Active := False;
close_document_comment;
end;
view_sotrudnik_proekt;
view_document;
view_comment;
end;
procedure TForm_podproekt.close_document_comment;
begin
Form_podproekt.Button_add_document.Visible := False;
Form_podproekt.GroupBox_add_comment.Visible := False;
end;
procedure TForm_podproekt.open_document_comment;
begin
Form_podproekt.Button_add_document.Visible := True;
Form_podproekt.GroupBox_add_comment.Visible := True;
end;
procedure TForm_podproekt.view_sotrudnik_proekt;
var buf_zapros, buf_kav : string;
109
begin
if datamodule1.Query_podproekt.Active <> False then
begin
buf_kav := '''';
buf_zapros := 'SELECT sotrudnik.tabel_nomer as Табель_номер,
sotrudnik.family as Фамилия, sotrudnik.first_name as Имя, sotrudnik.second_name as
Отчество '
+' FROM sotrudnik INNER JOIN sotrudnik_pod_proekt ON
sotrudnik.tabel_nomer = sotrudnik_pod_proekt.sotrudnik '
+' WHERE sotrudnik_pod_proekt.id_pod_proekt =
'+Form_podproekt.DBGrid_podproekt.DataSource.DataSet.FieldByName('id_pod_proek
t').AsString
+' ORDER BY sotrudnik.family, sotrudnik.first_name,
sotrudnik.second_name;';
datamodule1.Query_avtor.Close;
datamodule1.Query_avtor.SQL.Clear;
datamodule1.Query_avtor.SQL.Text := buf_zapros;
datamodule1.Query_avtor.Open;
view_dbgrid_sotrudnik;
open_document_comment;
end
else
begin
datamodule1.Query_avtor.Active := False;
close_document_comment;
end;
end;
procedure TForm_podproekt.view_dbgrid_sotrudnik;
begin
Form_podproekt.DBGrid_sotrudnik.Columns[0].Width := 150;
Form_podproekt.DBGrid_sotrudnik.Columns[1].Width := 150;
Form_podproekt.DBGrid_sotrudnik.Columns[2].Width := 150;
Form_podproekt.DBGrid_sotrudnik.Columns[3].Width := 150;
end;
procedure TForm_podproekt.Button_add_documentClick(Sender: TObject);
var run_procedure : boolean;
begin
if (Form_podproekt.DBGrid_podproekt.DataSource.DataSet.RecordCount <> 0)
OR (Form_podproekt.DBGrid_sotrudnik.DataSource.DataSet.RecordCount <> 0) then
begin
add_document;
end;
end;
procedure TForm_podproekt.Button_add_textClick(Sender: TObject);
var run_procedure : boolean;
110
begin
//присваиваю начальные хнччения
run_procedure := True;
//чиищу сообщение об оишбке
clear_label;
//проверяю сообщение
if length(Form_podproekt.Edit_text.Text) = 0 then
begin
run_procedure := False;
Form_podproekt.Label6.Caption := 'Не введен текст сообщения';
end;
//проверка закнчена
if run_procedure then
begin
add_comment;
end;
end;
procedure TForm_podproekt.Button_delete_documentClick(Sender: TObject);
var buf_zapros, buf_kav, buf_name,put : string;
begin
if Form_podproekt.DBGrid_document.DataSource.DataSet.RecordCount <> 0
then
begin
buf_kav := '''';
//удаляю файлы даже если их нет
//put :=
put_dir+Form_podproekt.DBGrid_proekt.DataSource.DataSet.FieldByName('id_proekt')
.AsString+'\'+Form_podproekt.DBGrid_podproekt.DataSource.DataSet.FieldByName('id
_pod_proekt').AsString+'\';
buf_name :=
put_dir+Form_podproekt.DBGrid_proekt.DataSource.DataSet.FieldByName('id_proekt')
.AsString+'\'+Form_podproekt.DBGrid_podproekt.DataSource.DataSet.FieldByName('id
_pod_proekt').AsString+'\'+Form_podproekt.DBGrid_document.DataSource.DataSet.Fiel
dByName('Документ').AsString;
deletefile(buf_name);
//удаляю из БД
buf_zapros := 'DELETE FROM document WHERE name_file =
'+buf_kav+Form_podproekt.DBGrid_document.DataSource.DataSet.FieldByName('Док
умент').AsString+buf_kav
+' AND id_pod_proekt =
'+Form_podproekt.DBGrid_podproekt.DataSource.DataSet.FieldByName('id_pod_proek
t').AsString+';';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
111
datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
view_document;
end;
end;
procedure TForm_podproekt.add_comment;
var buf_kav, buf_zapros : string;
begin
buf_kav := '''';
buf_Zapros := 'INSERT INTO
comment(id_pod_proekt,avtor,date_add_comment,text_comment) VALUES ('
+Form_podproekt.DBGrid_podproekt.DataSource.DataSet.FieldByName('id_pod_proekt
').AsString+','
+form_main.Label_tabel.Caption+','
+'Now(),'
+buf_kav+Form_podproekt.Edit_text.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;
//обновляю комменты
datamodule1.Query_comment.Active := False;
datamodule1.Query_comment.Active := True;
view_dbgrid_comment;
//чищу поле вввода
Form_podproekt.Edit_text.Text := '';
end;
procedure TForm_podproekt.clear_label;
begin
Form_podproekt.Label6.Caption := '';
end;
procedure TForm_podproekt.DBGrid_podproektCellClick(Column: TColumn);
begin
view_sotrudnik_proekt;
view_document;
view_comment;
end;
procedure TForm_podproekt.DBGrid_proektCellClick(Column: TColumn);
begin
view_podproekt;
end;
112
procedure TForm_podproekt.FormCreate(Sender: TObject);
begin
clear_label;
end;
procedure TForm_podproekt.FormShow(Sender: TObject);
begin
view_proekt;
end;
procedure TForm_podproekt.view_dbgrid_podproekt;
begin
Form_podproekt.DBGrid_podproekt.Columns[1].Width := 250;
Form_podproekt.DBGrid_podproekt.Columns[2].Width := 150;
Form_podproekt.DBGrid_podproekt.Columns[3].Width := 250;
Form_podproekt.DBGrid_podproekt.Columns[0].Visible := False;
end;
procedure TForm_podproekt.view_dbgrid_proekt;
begin
Form_podproekt.DBGrid_proekt.Columns[1].Width := 450;
Form_podproekt.DBGrid_proekt.Columns[0].Visible := False;
end;
procedure TForm_podproekt.view_document;
var buf_zapros, buf_kav : string;
begin
if datamodule1.Query_podproekt.Active <> False then
begin
buf_kav := '''';
buf_zapros := 'SELECT document.name_file as Документ, document.date_add
as Дата_добавления, '
+' CONCAT(sotrudnik.family,'+buf_kav+' '+buf_kav+',
sotrudnik.first_name,'+buf_kav+' '+buf_kav+', sotrudnik.second_name) as Автор'
+' FROM sotrudnik INNER JOIN document ON sotrudnik.tabel_nomer =
document.avtor '
+' WHERE document.id_pod_proekt
='+form_podproekt.DBGrid_podproekt.DataSource.DataSet.FieldByName('id_pod_proe
kt').AsString+';';
datamodule1.Query_document.Close;
datamodule1.Query_document.SQL.Clear;
datamodule1.Query_document.SQL.Text := buf_zapros;
datamodule1.Query_document.Open;
view_dbgrid_document;
end
else
datamodule1.Query_document.Active := False;
end;

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

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