Диплом: Автоматизация управления кадрами в Местной администрации городского округа Нальчик

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
построения системы коммуникаций между сотрудниками и накопительной базой
данных.
Реализация данных задач предполагала проведение исследовательских
работ, в результате которых были найдены оптимальные пути решения их
реализации. Были определены необходимые технические и программные
средства, произведен отбор наиболее подходящих из них.
Внедрение данного программного продукта приносит прибыль
организации в размере 17695 рублей, то есть снижает финансовые затраты на
78,6%. Снижение трудовых затрат за год составить 2470 часов.
Программа удачно влилась в существующую инфраструктуру Местной
администрации г.о. Нальчик. Преимуществом разработанной программы
является простота в эксплуатации. Программа не требует длительного обучения
пользователей работе. Так же преимуществом программы является ее гибкость.
Ее с легкостью можно адаптировать к новым условиям.
Советник
Помощник
Помощник -
руководитель
Информационно
аналитический отдел
С тр у к тур а М е ст н о й адм и н и стр ац и и г.о. Н а л ьчи к
Управление
П р и лож ен и е 1
_
Управление делами
Отдел бухгалтерского
учета и отчетности
Хозяйственный отдел,
ТЛ\/1 I I Л I I /Л /"■ I / I Л 1~Л ПЛ1ЛЛ/М 1^ л"1*
Глава местной ад м и ни стр аци и
Департамент
архитектуры и
градостроительства
г
-----------------------------------------
1
ЧС, ЬДДС, АРС-ОЬ»
I
Фонд поддержки малого |
program OK;
ЛИСТИНГ ПРОГРАММЫ
uses
Forms,
Main in 'Main.pas' {MainForm},
Employers in 'Employers.pas' {FEmployers},
DataModule in 'DataModule.pas' {DM: TDataModule},
EditEmployers in 'EditEmployers.pas' {FEditEmployers},
SelectPhoto in 'SelectPhoto.pas' {FSelectPhoto},
JobTitles in 'JobTitles.pas' {FJobTitles},
EditJobTitles in 'EditJobTitles.pas' {FEditJobTitles},
FoundJobTitle in 'FoundJobTitle.pas' {FFoundJobTitles},
EditMotions in 'EditMotions.pas' {FEditMotions},
EditFamilys in 'EditFamilys.pas' {FEditFamilys},
EditChangesFIO in 'EditChangesFIO.pas' {FEditChangesFIO},
EditBookWorks in 'EditBookWorks.pas' {FEditBookWorks},
EditFormations in 'EditFormations.pas' {FEditFormations},
EditQualifications in 'EditQualifications.pas' {FEditQualifications},
EditIncQualifics in 'EditIncQualifics.pas' {FEditIncQualifics},
EditFurloughs in 'EditFurloughs.pas' {FEditFurloughs},
EditAwards in 'EditAwards.pas' {FEditAwards},
FoundEmployers in 'FoundEmployers.pas' {FFoundEmployers},
SaveLoad in 'SaveLoad.pas' {FSaveLoad},
Properties in 'Properties.pas' {FProperties},
Start in 'Start.pas' {FStart},
Select in 'Select.pas' {FSelect},
EditEnterPrises in 'EditEnterPrises.pas' {FEditEnterPrises};
{$R *.res}
begin
Application.Initialize;
try
F Start:=TF Start.Create(Application);
FStart.Show;
FStart.Update;
Applicati on.CreateF orm(TMainF orm, MainF orm);
Application.CreateForm(TFEmployers, FEmployers);
Application.CreateForm(TDM, DM);
Application.CreateForm(TFEditEmployers, FEditEmployers);
Application.CreateForm(TFSelectPhoto, FSelectPhoto);
Application.CreateForm(TFJobTitles, FJobTitles);
Application.CreateForm(TFEditJobTitles, FEditJobTitles);
Application.CreateForm(TFFoundJobTitles, FFoundJobTitles);
Application.CreateForm(TFEditMotions, FEditMotions);
Application.CreateForm(TFEditFamilys, FEditFamilys);
Application.CreateForm(TFEditChangesFIO, FEditChangesFIO);
Application.CreateForm(TFEditBookWorks, FEditBookWorks);
Application.CreateForm(TFEditFormations, FEditFormations);
Application.CreateForm(TFEditQualifications, FEditQualifications);
Application.CreateForm(TFEditIncQualifics, FEditlncQualifics);
Application.CreateForm(TFEditFurloughs, FEditFurloughs);
Application.CreateForm(TFEditAwards, FEditAwards);
Application.CreateForm(TFFoundEmployers, FFoundEmployers);
Application.CreateForm(TFSaveLoad, FSaveLoad);
Application.CreateForm(TFProperties, FProperties);
Application.CreateForm(TFSelect, FSelect);
Application.CreateForm(TFEditEnterPrises, FEditEnterPrises);
repeat
Application.ProcessMessages;
until FStart.CloseQuery;
finally
FStart.Free;
end;
Application.Run;
end.
unit JobTitles;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ComCtrls, ExtCtrls, DB;
type
TFJobTitles = class(TForm)
PanelJobTitles: TPanel;
SBJobTitles: TStatusBar;
DBGrJobTitles: TDBGrid;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FJobTitles: TFJobTitles;
SelectJobTitle:Byte;
RecSave: LongInt;
implementation
uses DataModule, EditJobTitles, FoundJobTitle, Employers, EditMotions,
EditEmployers, Select;
{$R *.dfm}
procedure AddJobTitle;
begin
EditJobTitles.JobTitleAdd:=True;
FJobTitles.Enabled:=False;
FEditJ obTitles.Show;
end;
procedure EditJobTitle;
begin
with DM do
if IBQJobTitles.RecordCount>0 then begin
EditJobTitles.JobTitleAdd:=False;
FJobTitles.Enabled:=False;
FEditJ obTitles.Show;
end else Application.MessageBox('HeT данных для
редактирования...','Message' ,MB_OK);
end;
procedure DeleteJobTitle;
var RecSave:LongInt;
begin
with DM do
if IBQJobTitles.RecordCount>0 then begin
if Application.MessageBox(Pchar('Удалить должность:
'+Trim(IBQJobTitlesJobTitle.AsString)+'?'),",ID_OK)=ID_OK then begin
if IBQJobTitles.RecordCount>1 then RecSave:=IBQJobTitles.RecNo-1;
IBQExecSQL.SQL.Clear;
IBQExecSQL.SQL.Append('Delete from JobTitles');
IBQExecSQL.SQL.Append('where ID='+IntToStr(IBQJobTitlesID.AsInteger));
IBQExecSQL.ExecSQL;
IBQJobTitles.Close;
IBQJobTitles.Open;
IBQJobTitles.RecNo:=RecSave;
end;
end else Application.MessageBox(rНет данных для
удаления','Сообщение',MB_OK);
end;
procedure JobTitleFound;
begin
with DM do FoundJobTitle.RecSave:=IBQJobTitlesID.AsInteger;
FJobTitles.Enabled:=False;
FF oundJ obTitles.Show;
end;
procedure TFJobTitles.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
with DM do
case key of
VK_F2: AddJobTitle;
VK_F4: EditJobTitle;
VK_F7: JobTitleFound;
VK_F8: DeleteJobTitle;
13: case SelectJobTitle of
2: if IBQJobTitles.RecordCount>0 then begin
FJobTitles.Close;
FEditMotions.Show;
end else Application.MessageBox('HeT должностей... Добавте должности в БД
должностей',rMessage',MB_OK);
3: begin
FEditEmployers.Enabled:=True;
FJobTitles.Close;
end;
4: begin
FEditMotions.Enabled:=True;
FJobTitles.Close;
end;
end;
27: case SelectJobTitle of
1: begin
FSelect.Enabled:=True;
IBQJobTitles.Close;
FJobTitles.Close;
end;
2: begin
FEditEmployers.Enabled:=True;
FJobTitles.Close;
end;
3: begin
IBQJobTitles.Locate('ID',RecSave,[loCaseInsensitive]);
FEditEmployers.Enabled:=True;
FJobTitles.Close;
end;
4: begin
IBQJobTitles.Locate('ID',RecSave,[loCaseInsensitive]);
FEditMotions.Enabled:=True;
FJobTitles.Close;
end;
end;
end;
end;
procedure TFJobTitles.FormActivate(Sender: TObject);
begin
Left:=Round((GetSystemMetrics(SM_CXSCREEN)-Width)/2);
Top:=Round((GetSystemMetrics(SM_CYSCREEN)-Height)/2);
end;
end.
unit Properties;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls, IniFiles, ShellApi, ShlObj;
type
TFProperties = class(TForm)
PanelProperties: TPanel;
SBProperties: TStatusBar;
EditPathDataBase: TEdit;
LabelPathDataBase: TLabel;
OpenDialogPathDataBase: TOpenDialog;
LabelArhive: TLabel;
EditPathArhive: TEdit;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EditPathDataBaseEnter(Sender: TObject);
procedure EditPathDataBaseExit(Sender: TObject);
procedure EditPathDataBaseKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EditPathArhiveEnter(Sender: TObject);
procedure EditPathArhiveKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FProperties: TFProperties;
implementation
uses Main;
{$R *.dfm}
procedure TFProperties.FormActivate(Sender: TObject);
begin
Left:=Round((GetsystemMetrics(SM_CXSCREEN)-Width)/2);
Top:=Round((GetsystemMetrics(SM_CYSCREEN)-Height)/2);
EditPathDataBase.Text:=PathDataBase;
EditPathArhive.T ext:=PathArhive;
end;
procedure TFProperties.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
MainForm.Enabled:=True;
end;
procedure TFProperties.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var Ini: TIniFile;
begin
case key of
13: begin
Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'Ok.ini');
Ini.WriteString('Path','DataBase',Trim(EditPathDataBase.Text));
Ini.WriteString('Path','Arhive',Trim(EditPathArhive.Text));
Ini.Free;
PathDataBase:=EditPathDataBase.Text;
PathArhive:=EditPathArhive.T ext;
FProperties.Close;
end;
27: FProperties.Close;
end;
end;
procedure TFProperties.EditPathDataBaseEnter(Sender: TObject);
begin
SBProperties.SimpleText:='<Enter>-Сохранить >-Выход F4-Bbi6op файла базы
данных';
end;
procedure TFProperties.EditPathDataBaseExit(Sender: TObject);
begin
SBProperties.SimpleText:='<Enter>-Сохранить >-Выход';
end;
procedure TFProperties.EditPathDataBaseKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var Stroka:String;
i:integer;
begin
if key=VK_F4 then
if OpenDialogPathDataBase.Execute then begin
PathDataBase:=OpenDialogPathDataBase.FileName;
EditPathDataBase.Text:=PathDataBase;
end;
end;
procedure TFProperties.EditPathArhiveEnter(Sender: TObject);
begin
SBProperties.SimpleText:='<Enter>-Сохранить >-Выход F4-Bыбор каталога архива
базы данных';
end;
procedure TFProperties.EditPathArhiveKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var TitleName : string;
LpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..max_path] of char;
TempPath : array[0..max_path] of char;
begin
if key=VK_F4 then begin
FillChar(BrowseInfo, SizeOf(TBrowseInfo), #0);
BrowseInfo.HwnDownEr := FProperties.Handle;
BrowseInfo.PSzDisplayName := @DisplayName;
TitleName := 'Пожалуйста выберите директорию для архива БД';
BrowseInfo.LpSzTitle := PChar(TitleName);
BrowseInfo.UlFlags := Bif_ReturnOnLyfsDirs;
LpItemID := SHBrowseForFolder(BrowseInfo);
if LpItemid <> nil then begin
SHGetPathF romIDList(LpItemID, TempPath);
EditPathArhive.T ext:=TempPath;
{ ShowMessage(T empPath);}
GlobalF reePtr(LpItemID);
end;
end;
end;
end.
unit SaveLoad;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls;
type
TFSaveLoad = class(TForm)
ButtonSave: TButton;
PanelMain: TPanel;
SBMain: TStatusBar;
ButtonLoads: TButton;
OpenDialogFile: TOpenDialog;
procedure ButtonSaveClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ButtonLoadsClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FSaveLoad: TFSaveLoad;
implementation
uses UtilityPasZlib, Main, DataModule, Select;
{$R *.dfm}
procedure TFSaveLoad.ButtonSaveClick(Sender: TObject);
var
sFilenameInput,sFilenameOutput, DateForFile,TimeForFile: string;
Level: TCompLevel;
begin
with DM do begin
IBDB Connected:=False;
S creen.Cursor: =crHourGlass;
Level:=clDefault;
DateF orF ile:=DateToStr(Date());
TimeForFile:=TimeToStr(Time());
sFilenameInput:=PathDataBase;
sFilenameOutput:=PathArhive+'\Ok'+copy(DateForFile,0,2)+copy(DateForFile,4,2)+copy(Da
teForFile,9,2)+copy(TimeForFile,0,2)+copy(TimeForFile,4,2)+copy(TimeForFile,7,2);
Level:=clMax;
try
CompressFile(sFilenameInput,sFilenameOutput+'.zip',Level);
ShowMessage('Файл: '+sFilenameOutput+'.zip успешно сохранен...');
finally
Screen.Cursor:=crDefault;
end;
IBDB.Connected:=True;
end;
end;
procedure TFSaveLoad.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FSelect.Enabled:=True;
end;
procedure TFSaveLoad.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
27: FSaveLoad.Close;
end;
end;
procedure TFSaveLoad.ButtonLoadsClick(Sender: TObject);
var
sFilename, sDestFile: string;
begin
with DM do begin
IBDB Connected:=False;

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

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