Диплом: Автоматизация расчета заработной платы отдела технического сопровождения в ООО «DataPro»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
88
СПИСОК ИНФОРМАЦИОННЫХ ИСТОЧНИКОВ
1. Автоматизированные системы обработки учетно-аналитической
информации: Учебник / Под ред. В.С. Рожнова. – М.: Финансы и статистика,
20016. – 336 с.
2. Архангельский А Я. Delphi: справочное пособие : язык Delphi,
классы, функции Win32 и .NET / А. Я. Архангельский. - Москва : БИНОМ,
2018.
3. Банк В. Р. Информационные системы в экономике / В. Р. Банк, В.
С. Зверев. - М.: Экономист, 2015. – 409 с.
4. Безручко, В. Т. Информатика: (курс лекций) / В. Т. Безручко. –
Москва: ИНФРА-М, 2006. – 125 с.
5. Бойко, М. А. Основные термины и определения по дисциплине
«Информатика» / М. А. Бойко, В. А. Журкин - Мурманск: Мурманский
центр научно-технической информации, 2018. – 280 с.
6. Веллинг Люк. Разработка Web-приложений с помощью PHP и
MySQL : [перевод с английского] / Люк Веллинг, Лора Томсон. - 3-е изд. -
Москва [и др.] :Вильямс, 2017.
7. Волченко И. О. Программирование и основы алгоритмизации :
[учеб. пособие по курсу " Программирование и основы алгоритмизации" для
специальности 220301 "Автоматизация технол. процессов и пр-в"] / И. О.
Волченко ; Федер. агентство по рыболовству, Федер. гос. образоват. учре-
ждение высш. проф. образования "Мурм. гос. техн. ун-т". - Мурманск : Изд-
во МГТУ, 2016.
8. Гальперин, М В. Автоматическое управление / М. В. Гальперин.
- Москва: Инфра-М, 2007. – 339 с.
9. Гандэрлой Майк. ADO и ADO.NET : полное руководство : [архи-
тектура доступа к данным, основы технологии . NET, использование ADO и
ADO.NET для извлечения и редактирования данных, работа с отключенными
наборами данных, использование ADO из .NET, управление данными в Web
89
с помощью ASP.NET, синхронизация наборов данных с помощью XML, ра-
бота с различными клиентами и провайдерами данных : перевод с английско-
го] / Майк Ганделрой. - Санкт-Петербург [и др.] : КОРОНА принт [и др.],
2017. - 906 с.
10. Голицына О. Л. Базы данных : [учебное пособие для студентов
учреждений среднего профессионального образования, обучающихся по спе-
циальностям Автоматизированные системы обработки информации и управ-
ления (по отраслям), Программное обеспечение вычислительной техники и
автоматизированных систем, Техническое обслуживание средств вычисли-
тельной техники и компьютерных сетей] / О. Л. Голицына, Н. В. Максимов,
И. И. Попов. - Изд. 2-е, испр. и доп. - Москва : Форум : ИНФРА-М, 2019. -
399 с.
11. Голицына О. Л. Языки программирования : [учебное пособие для
студентов образовательных учреждений среднего профессионального обра-
зования] / О. Л. Голицына, Т. Л. Партыка, И. И. Попов. - Москва : ФОРУМ :
ИНФРА-М, 2018. - 397 с.
12. Емельянова, Н. З. Информационные системы в экономике / Н. З.
Емельянова, Т. Л. Партыка, И. И. Попов. - Москва: ИНФРА-М, 2016. – 421 с.
13. Зубов, Артем. Программирование на DELPHI. / Артем Зубов. -
СПб. [и др.] : Питер, 2015. - 396 с.
14. Илюшечкин В. М. Основы использования и проектирования баз
данных : учебное пособие : [для студентов высших учебных заведений, обу-
чающихся по направлению " Информатика и вычислительная техника"] / В.
М. Илюшечкин. - Москва : Высшее образование, 2017. - 213 с.
15. Кантарь, И. Л. Автоматизированные рабочие места управленче-
ского аппарата / И.Л. Кантарь – СПб: Нива, 2016. – 306 с.
16. Карпиленко Е. В. Основы программирования : [учебник для сту-
дентов образовательных учреждений среднего профессионального образова-
ния] / Е. В. Карпиленко. - Ростов-на-Дону : Феникс, 2017. – 317 с.
90
17. Кириллов В. В. Введение в реляционные базы данных : [базы
данных и управление ими, реляционная модель данных, SQL - стандартный
язык для работы с реляционными базами данных, основы проектирования
реляционных баз данных, создание приложений на языке SQL и его проце-
дурных расширениях, хранимые процедуры, примеры создания баз данных,
инструментарий для создания баз данных и приложений к ним] / Владимир
Кириллов, Геннадий Громов. - Санкт-Петербург : БХВ-Петербург, 2015. - 454
с.
18. Ковалева, В.Д. Автоматизированное рабочее место экономиста:
учебник / В.Д. Ковалева . - М.: Финансы и статистика, 2017. – 601 с.
19. Козлов А В. Программирование для Интернет в DELPHI / А.В.
Козлов ; Под общ. ред. А.Я.Архангельского. - М. : Бином, 2016. - 366 с.
20. Коробко И. В. Справочник системного администратора по про-
граммированию Windows : [объектная модель Active Directory, интерфейсы
ADO и IADs, идентификаторы безопасности и NTFS, групповые политики и
реестр, синтаксис командных файлов, Windows Script Host, Windows Installer]
/ Иван Коробко. - Санкт-Петербург : БХВ-Петербург, 2016. - 556 с.
21. Культин Н. Б. Основы программирования в Delphi : [среда разра-
ботки, назначение базовых компонентов, программирование графики, муль-
тимедиа и баз данных, создание справочной системы и установочного CD] /
Никита Культин. - 2-е изд. - Санкт-Петербург : БХВ-Петербург, 2015. - 630 с.
22. Кучеренко В. Тонкости программирования на DELPHI / В. Ку-
черенко. - М. : Познават. кн. плюс, 2015. -192 с.:
23. Малыхина М. П. Базы данных: основы, проектирование, исполь-
зование : [принципы построения баз данных и СУБД, концептуальное проек-
тирование баз данных, реляционная модель данных, языки программирова-
ния баз данных, администрирование баз данных : учебное пособие для сту-
дентов вузов, обучающихся по направлению подготовки "Информатика и
вычислительная техника"] / М. П. Малыхина. - 2-е изд. - Санкт-Петербург :
БХВ-Петербург, 2017. -528 с.
91
24. Мишенин А. И. Сборник задач по программированию[ : про-
стейшие программы, циклы и массивы, обработка матриц, численные мето-
ды, обработка символьной информации : учебно-методическое пособие для
студентов высших учебных заведений, обучающихся по специальности
080801 "Прикладная информатика (по областям)" и другим междисципли-
нарным специальностям] / А. И. Мишенин. - Москва : Финансы и статистика
: ИНФРА-М, 2017. - 221с.
25. Никсон Робин. Создаем динамические веб-сайты с помощью
PHP, MySQL и JavaScript / Робин Никсон ; [пер. с англ. Н. Вильчинский]. -
Санкт-Петербург : Питер, 2015.
26. Романова, Ю. Д. Информатика и информационные технологии:
конспект лекций / Ю. Д. Романова, И. Г. Лесничая - Москва: Эксмо, 2016. –
440 с.
27. Савицкий, Н. И. Экономическая информатика / Н. И. Савицкий. -
М.: Экономистъ, 2005. – 334 с.
28. Симонович, С. В. Общая информатика / С. В. Симонович. -
Санкт-Петербург: Питер, 2018. – 561 с.
29. Сингаевская Г. И. Функции в Microsoft Office Excel 2007 : [осно-
вы работы в Excel 2007, включая создание графиков и диаграмм, работу с
формулами, использование имен, использование функций и других средств
Excel 2007 в научных и прикладных задачах, в статистическом анализе, фи-
нансовых расчетах, программирование на языке VBA - создание макросов,
программ, разработка собственных функций] / Г. И. Сингаевская. - Москва [и
др.] : Диалектика, 2018.
30. Фаронов В. В. Delphi : программирование на яз. Высокого уров-
ня: [Учеб. для вузов по направлению подгот. дипломир. специалистов "Ин-
форматика и вычисл. техника" / В. В. Фаронов. - СПб. и др. : Питер, 2015. -
639 с.
31. Фаронов В. В. Delphi. Программирование на языке высокого
уровня : [учебник для студентов высших учебных заведений, обучающихся
92
по направлению подготовки дипломированных специалистов "Информатика
и вычислительная техника"] / В. В. Фаронов. - Санкт- Петербург [и др.] : Пи-
тер, 2017. - 639 с.
32. Фаронов В. В. Программирование баз данных в Delphi : [реали-
зация соврем. технологий баз данных средствами Delphi] / В. Фаронов. - СПб.
[и др.] : Питер, 2015. - 458 с.
33. Фельдман С. К. Система программирования DELPHI без секре-
тов: как создать приложение для Windows с "нуля" : энциклопедия / Сергей
Фельдман.- М. : Новый изд. дом [и др.], 2015. – 688 с.
34. Фролов И. М. Энциклопедия Microsoft Office 2003 : [рук. по но-
вейшей версии пакета Microsoft office] / Иван Фролов. - М. : Новый изд. дом,
2015. – 911 с.
.
93
ПРИЛОЖЕНИЯ
Приложение 1
Файл form__zapros1.pas
unit Form__zapros1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.DBGrids, Vcl.StdCtrls,
Vcl.ComCtrls, Vcl.Grids,DateUtils,Excel2000,ComObj;
type
TForm_zapros1 = class(TForm)
StringGrid_time: TStringGrid;
MonthCalendar_begin: TMonthCalendar;
MonthCalendar_end: TMonthCalendar;
Label1: TLabel;
Label2: TLabel;
DBGrid_otdel: TDBGrid;
Label3: TLabel;
Button1: TButton;
DBGrid_zavod: TDBGrid;
Label4: TLabel;
Label5: TLabel;
procedure FormCreate(Sender: TObject);
procedure view_time;
procedure FormShow(Sender: TObject);
procedure MonthCalendar_endClick(Sender: TObject);
procedure MonthCalendar_beginClick(Sender: TObject);
procedure DBGrid_otdelCellClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
procedure view_otdel;
procedure view_dbgrid_otdel;
procedure DBGrid_zavodCellClick(Column: TColumn);
private
{ Private declarations }
94
public
{ Public declarations }
end;
var
Form_zapros1: TForm_zapros1;
implementation
{$R *.dfm}
uses datamodule;
procedure TForm_zapros1.Button1Click(Sender: TObject);
var E,myRange, Sheet : variant;
buf_zapros : string;
i,j : integer;
begin
//создаю айл Excle
E := CreateOleObject('Excel.Application');
E.WorkBooks.open(GetCurrentDir+'\шаблоны\tabel.xlsx');
E.Visible := True;//включаю отображение программы Excel
Sheet:=E.Sheets.Item[1];
E.Cells[1,2] := 'Табель учета рабочего времени и зарплаты за период с
'+datetostr(form_zapros1.MonthCalendar_begin.Date)
+' до '+ datetostr(form_zapros1.MonthCalendar_end.Date);
for i := 0 to form_zapros1.StringGrid_time.RowCount do
for j := 0 to form_zapros1.StringGrid_time.ColCount do
E.Cells[i+1+2,j+1] := form_zapros1.StringGrid_time.Cells[j,i];
end;
procedure TForm_zapros1.DBGrid_otdelCellClick(Column: TColumn);
begin
view_time;
end;
procedure TForm_zapros1.DBGrid_zavodCellClick(Column: TColumn);
begin
view_otdel;
95
end;
procedure TForm_zapros1.FormCreate(Sender: TObject);
begin
form_zapros1.MonthCalendar_begin.Date := IncMonth(Now(),-1);
form_zapros1.MonthCalendar_end.Date := Now();
end;
procedure TForm_zapros1.FormShow(Sender: TObject);
begin
view_otdel;
view_time;
end;
procedure TForm_zapros1.MonthCalendar_beginClick(Sender: TObject);
begin
view_time;
end;
procedure TForm_zapros1.MonthCalendar_endClick(Sender: TObject);
begin
view_time;
end;
procedure TForm_zapros1.view_time;
var buf_Zapros : string;
buf_kav : string;
i,j : integer;
myYear, myMonth, myDay : Word;
date_time_begin,date_time_end : string;
kolvo_hours1,zarplata : real;
begin
buf_kav := '''';
//получаю дату
DecodeDate(form_zapros1.MonthCalendar_begin.Date, myYear, myMonth, myDay);
date_time_begin := buf_kav+inttostr(myYear)+'-'+inttostr(myMonth)+'-'+inttostr(myDay)+buf_kav;//YYYY-
MM-DD
DecodeDate(form_zapros1.MonthCalendar_end.Date, myYear, myMonth, myDay);
date_time_end := buf_kav+inttostr(myYear)+'-'+inttostr(myMonth)+'-'+inttostr(myDay)+buf_kav;//YYYY-MM-
DD
96
form_zapros1.StringGrid_time.ColWidths[0] := 90;//табельный номер
form_zapros1.StringGrid_time.ColWidths[1] := 250;//фио
form_zapros1.StringGrid_time.ColWidths[2] := 70;//время
buf_zapros := 'SELECT sotrudnik.tabel_nomer, CONCAT(sotrudnik.family,'+buf_kav+' '+buf_kav+', sotrud-
nik.first_name,'+buf_kav+' '+buf_kav+', sotrudnik.second_name) AS FIO '
+' FROM otdel INNER JOIN (dolgnost INNER JOIN sotrudnik ON dolgnost.id_dolgnost = sotrud-
nik.id_dolgnost) ON otdel.id_otdel = dolgnost.id_otdel '
+' WHERE otdel.id_otdel =
'+form_zapros1.DBGrid_otdel.DataSource.DataSet.FieldByName('id_otdel').AsString
+' ORDER BY sotrudnik.family, sotrudnik.first_name;';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.Open;
//вывожу количество строк
form_zapros1.StringGrid_time.RowCount := datamodule1.Query_buf.RecordCount+1;
//вывожу количество столбцов
form_zapros1.StringGrid_time.ColCount := DaysBe-
tween(form_zapros1.MonthCalendar_end.Date,form_zapros1.MonthCalendar_begin.Date)+3+2;
//заполняю нулями
for i := 1 to form_zapros1.StringGrid_time.RowCount do
for j := 1 to form_zapros1.StringGrid_time.ColCount do
form_zapros1.StringGrid_time.Cells[j,i] := '0';
//заполняю столбцы
i:= 0;
form_zapros1.StringGrid_time.Cells[0,i] := 'Табель_номер';
form_zapros1.StringGrid_time.Cells[1,i] := 'ФИО';
datamodule1.Query_buf.First;
i := 1;
//вывожу фио и табельный номер
while not datamodule1.Query_buf.eof do
begin
form_zapros1.StringGrid_time.Cells[0,i] := datamodule1.Query_buf.FieldByName('tabel_nomer').AsString;
form_zapros1.StringGrid_time.Cells[1,i] := datamodule1.Query_buf.FieldByName('FIO').AsString;
i:= i+1;
datamodule1.Query_buf.Next;
97
end;
//вывожу даты в загаловки
for i := 0 to form_zapros1.StringGrid_time.colCount-1 do
form_zapros1.StringGrid_time.Cells[i+2+2,0] := datetostr(incday(form_zapros1.MonthCalendar_begin.Date,i));
//вывожу время работы
for i := 1 to form_zapros1.StringGrid_time.RowCount do
for j := 2+2 to form_zapros1.StringGrid_time.ColCount do
begin
//плучаю дату
// DecodeDate(incday(form_zapros1.MonthCalendar_begin.Date,j), myYear, myMonth, myDay);
DecodeDate(strtodate(form_zapros1.StringGrid_time.Cells[j,0]), myYear, myMonth, myDay);
date_time_begin := buf_kav+inttostr(myYear)+'-'+inttostr(myMonth)+'-'+inttostr(myDay)+buf_kav;//YYYY-
MM-DD
buf_Zapros :='SELECT kolvo_hours '
+' FROM work_time '
+' WHERE work_time.date_work = '+date_time_begin
+' AND work_time.tabel_nomer = '+buf_kav+form_zapros1.StringGrid_time.Cells[0,i]+buf_kav+';';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.Open;
if datamodule1.Query_buf.RecordCount <> 0 then
form_zapros1.StringGrid_time.Cells[j,i] := datamodule1.Query_buf.FieldByName('kolvo_hours').AsString;
end;
//вывожу кол-ыво часови зарплату
//вывжу названия столбцов
form_zapros1.StringGrid_time.Cells[2,0] := 'Сумма часов';
form_zapros1.StringGrid_time.Cells[3,0] := 'Зарплата';
for i := 1 to form_zapros1.StringGrid_time.RowCount-1 do
begin
kolvo_hours1 := 0;
for j := 2+2 to form_zapros1.StringGrid_time.ColCount do
begin
kolvo_hours1 := kolvo_hours1 +strtofloat(form_zapros1.StringGrid_time.Cells[j,i]); //подсчитываю кол-во
часов в строке
end;
form_zapros1.StringGrid_time.Cells[2,i] := floattostr(kolvo_hours1);
//узнаю оклад
buf_zapros := 'SELECT dolgnost.oklad '

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

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")