Проектирование информационной системы «Отдел кадров»

Автор работы: Пользователь скрыл имя, 01 Июля 2013 в 11:07, курсовая работа

Краткое описание

Отдел кадров – это визитная карточка предприятия комплекс организационных, содержательных мер и последовательных шагов, направленных на эффективное использование способностей и профессиональных навыков каждого отдельного работника в реализации конечных целей организации. Располагая заинтересованными в работе кадрами, компания способна вести конкурентную борьбу. Обязанности и структура отдела кадров может быть различной в зависимости от вида деятельности компании.
Необходимость оформления трудовых отношений, закрепления фактов трудовой биографии работников, ведения учета кадров, сопровождения их движения давно уже стала аксиомой и сегодня приобретает особую актуальность.

Содержание

Введение 5
1 Информационная система 8 1.1 Общее представление 8
1.2 Анализ информационной системы «Отдел кадров» 17
2 Проектирование информационной системы «Отдел кадров» 19
2.1 Структура информационной системы 19
2.2 Описание процедур информационной системы «Отдел кадров» 23
Заключение 28
Список использованных источников

Прикрепленные файлы: 1 файл

moya_kursovaayaya.doc

— 1.01 Мб (Скачать документ)

begin

  kol_vo := 1;

  assignfile (data_file, filename);

  reset (data_file);

  while not(eof(data_file)) do

    begin

      read (data_file, otdelkadrov[kol_vo]);

      inc (kol_vo);

    end;

  dec (kol_vo);

  closefile (data_file);

end;

end.

unit Unit1;   // модуль  первой формы

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls, Buttons, XPMan, my_class_methods;

type

  TForm1 = class(TForm)

    Image1: TImage;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    Label6: TLabel;

    XPManifest1: TXPManifest;

    Label7: TLabel;

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

uses Unit2, Unit7;

{$R *.dfm}

procedure TForm1.BitBtn2Click(Sender: TObject); // Уверены, что хотите выйди?

begin

if MessageDlg('Вы уверены,  что хотите выйти?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then

    begin

     form7.show;

     form1.Hide;

    end;

end;

procedure TForm1.BitBtn1Click(Sender: TObject); //открываем следующую форму 

begin

    form2.show;

    form1.hide;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); // обработчик на закрытие  формы 

begin

  //закрыта форма

  //закрываем все приложение

  application.Terminate;

end;

end.

unit Unit2;    // модуль формы управления приложением

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, ComCtrls, ToolWin, ImgList,

  Menus, my_class_methods, ShellAPI;

type

  TForm2 = class(TForm)

    StringGrid1: TStringGrid;

    Image1: TImage;

    SaveDialog1: TSaveDialog;

    OpenDialog1: TOpenDialog;

    ImageList1: TImageList;

    ToolBar1: TToolBar;

    ToolButton1: TToolButton;

    ToolButton2: TToolButton;

    ToolButton3: TToolButton;

    ToolButton4: TToolButton;

    ToolButton5: TToolButton;

    ToolButton6: TToolButton;

    ToolButton7: TToolButton;

    ToolButton9: TToolButton;

    ToolButton11: TToolButton;

    ToolButton12: TToolButton;

    ToolButton8: TToolButton;

    ToolButton13: TToolButton;

    ToolButton10: TToolButton;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    N8: TMenuItem;

    N9: TMenuItem;

    N10: TMenuItem;

    N11: TMenuItem;

    N12: TMenuItem;

    N13: TMenuItem;

    N14: TMenuItem;

    Label1: TLabel;

    Memo1: TMemo;

    N15: TMenuItem;

    N16: TMenuItem;

    procedure BitBtn1Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure N11Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure ToolButton13Click(Sender: TObject);

    procedure N14Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure N10Click(Sender: TObject);

    procedure N9Click(Sender: TObject);

    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;

      var CanSelect: Boolean);

    procedure N8Click(Sender: TObject);

    procedure N12Click(Sender: TObject);

    procedure N13Click(Sender: TObject);

    procedure N16Click(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

   Form2: TForm2;

   otdel : TDannue ;

   curent_row:integer;

   change:boolean;

implementation

uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject); // Хотите сохранить измененные  данные?

begin

if change=true then

begin

if MessageDlg('Вы хотите сохранить измененные данные?',

    mtInformation, [mbYes, mbNo], 0) = mrYes then

    begin

    if savedialog1.Execute then

       begin

         otdel.Save(savedialog1.filename);

       end;

    end;

end;

     form1.show;

     form2.Hide;

     form2.StringGrid1.RowCount:=2;

     form2.StringGrid1.Rows[1].Clear;

     form2.Memo1.Lines.Clear;

     change:=false;

end;

procedure TForm2.N7Click(Sender: TObject); // редактирование записи

if otdel.kol_vo>1 then

   begin

      form4.LabeledEdit1.Text:=otdel.otdelkadrov[curent_row].familia;

      form4.LabeledEdit2.Text:=otdel.otdelkadrov[curent_row].name;

      form4.LabeledEdit3.Text:=otdel.otdelkadrov[curent_row].surname;

      form4.LabeledEdit5.Text:=inttostr(otdel.otdelkadrov[curent_row].pasport);

      form4.LabeledEdit6.Text:=inttostr(otdel.otdelkadrov[curent_row].zarplata);

      form4.LabeledEdit4.Text:=otdel.otdelkadrov[curent_row].dolzhnost;

      form4.Memo1.Lines.Text:=otdel.otdelkadrov[curent_row].info;

      form4.show;

   end else

   showmessage('редактирование  невожможно')

end;

procedure TForm2.BitBtn3Click(Sender: TObject); //Хотите сохранить измененные данные?

begin

if change=true then

begin

if MessageDlg('Вы хотите  сохранить измененные данные?',

    mtInformation, [mbYes, mbNo], 0) = mrYes then

    begin

    if savedialog1.Execute then

       begin

         otdel.Save(savedialog1.filename);

       end;

    end;

end;

if MessageDlg('Вы уверены,  что хотите выйти?',

    mtConfirmation, [mbYes, mbNo], 0) = mrYes then

    begin

     form7.show;

     form2.Hide;

    end;

end;

procedure TForm2.N11Click(Sender: TObject); // выходим из прриложения

begin

    if change=true then

begin

if MessageDlg('Вы хотите сохранить измененные данные?',

    mtInformation, [mbYes, mbNo], 0) = mrYes then

    begin

    if savedialog1.Execute then

       begin

         otdel.Save(savedialog1.filename);

       end;

    end;

end;

if MessageDlg('Вы уверены,  что хотите выйти?',

    mtConfirmation, [mbYes, mbNo], 0) = mrYes then

    begin

     form7.show;

     form2.Hide;

    end;

end;

procedure TForm2.N5Click(Sender: TObject); // создаем базу данных

begin

    form3.show;

end;

procedure TForm2.ToolButton13Click(Sender: TObject); // форма поиска

begin

      form5.show;

      form2.Hide;

end;

procedure TForm2.N14Click(Sender: TObject); // рисуем график, выводим максимальную, минимальную, среднюю

var i:integer; max, min, sum : integer;     //суммарную заработную плату

begin

    if otdel.kol_vo>1 then

    begin

    form6.Show;

    form2.Hide;

    form6.series1.clear;

    form6.LabeledEdit1.Clear;

    form6.LabeledEdit2.Clear;

    form6.LabeledEdit3.Clear;

    form6.LabeledEdit4.Clear;

    for i:=1 to otdel.kol_vo-1 do

    form6.series1.AddY(strtoint(form2.StringGrid1.cells[6,i]),form2.StringGrid1.Cells[1,i]);

    max:=strtoint(form2.StringGrid1.Cells[6,1]);

    min:=strtoint(form2.StringGrid1.Cells[6,1]);

    sum:=0;

    for i:=1 to otdel.kol_vo-1 do

    begin

      sum:=sum + strtoint(form2.StringGrid1.cells[6,i]);

      if strtoint(form2.StringGrid1.cells[6,i])>max then

      max:=strtoint(form2.StringGrid1.cells[6,i]);

      if strtoint(form2.StringGrid1.cells[6,i])<min then

      min:=strtoint(form2.StringGrid1.cells[6,i]);

    end;

    form6.LabeledEdit3.Text:=floattostr(sum/(otdel.kol_vo-1));

    form6.LabeledEdit1.Text:=inttostr(max);

    form6.LabeledEdit2.Text:=inttostr(min);

    form6.LabeledEdit4.Text:=inttostr(sum);

    end

    else showmessage('Данных  в таблице нет');

    end;

procedure TForm2.BitBtn2Click(Sender: TObject);// выходим из приложения

begin

if change=true then

begin

if MessageDlg('Вы хотите сохранить измененные данные?',

    mtInformation, [mbYes, mbNo], 0) = mrYes then

    begin

    if savedialog1.Execute then

       begin

         otdel.Save(savedialog1.filename);

       end;

    end;

end;

     form7.Show;

     form2.Hide;

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

     otdel := TDannue.Create;

     curent_row:=1;

     change:=false;

     form2.StringGrid1.Cells[0,0]:='№';

     form2.StringGrid1.Cells[1,0]:='Фамилия';

     form2.StringGrid1.Cells[2,0]:=' Имя   ';

     form2.StringGrid1.Cells[3,0]:='Отчество';

     form2.StringGrid1.Cells[4,0]:='Должность ';

     form2.StringGrid1.Cells[5,0]:='Паспорт';

     form2.StringGrid1.Cells[6,0]:='Зарплата';

end;

procedure TForm2.N10Click(Sender: TObject);  // сохраняем базу

begin

if savedialog1.Execute then

begin

   otdel.Save(savedialog1.filename);

end;

end;

procedure TForm2.N9Click(Sender: TObject);   // открываем базу

var

    i:integer;

begin

for i:=1  to 100 do

  form2.StringGrid1.Rows[i].Clear;

if opendialog1.Execute then

begin

otdel.load(opendialog1.filename);

    for i:= 1 to (otdel.kol_vo - 1 ) do

      begin

        stringgrid1.cells[0,i]:=inttostr(i);

        stringgrid1.cells[2,i]:= otdel.otdelkadrov[i].name;

        stringgrid1.cells[1,i]:= otdel.otdelkadrov[i].familia ;

        stringgrid1.cells[3,i]:= otdel.otdelkadrov[i].surname;

        stringgrid1.cells[4,i]:= otdel.otdelkadrov[i].dolzhnost;

        memo1.Lines[i]:=otdel.otdelkadrov[i].info;

        stringgrid1.cells[5,i]:= inttostr(otdel.otdelkadrov[i].pasport);

        stringgrid1.cells[6,i]:= inttostr(otdel.otdelkadrov[i].zarplata);

        StringGrid1.RowCount := stringgrid1.RowCount + 1;

      end;

   end;

end;

procedure TForm2.StringGrid1SelectCell(Sender: TObject; ACol,

  ARow: Integer; var CanSelect: Boolean);

begin

     curent_row:=arow;

     memo1.Clear;

     memo1.Lines.text:=otdel.otdelkadrov[arow].info;

     if form5.StringGrid1.Cells[0, curent_row] <> '' then

     begin

     form5.Memo1.Clear;

     form5.Memo1.Lines.text:=otdel.otdelkadrov[strtoint(stringgrid1.cells[0, curent_row])].info;

     end;

end;

procedure TForm2.N8Click(Sender: TObject);  //удаляем запись

var i : integer;

begin

if otdel.kol_vo>1 then

begin

//выводим предупреждение

  if MessageDlg('Вы уверены, что хотите удалить запись?',

    mtWarning, [mbYes, mbNo], 0) = mrYes then

      begin

        //упертый пользователь -- уверен

        otdel.Del_Dannue(curent_row);

        //сдвигаем все записи на одну  назад

        //в таблице

        for i := curent_row to (otdel.kol_vo) do

          begin

            stringgrid1.Cells[1, i] := stringgrid1.Cells[1, i+1];

            stringgrid1.Cells[2, i] := stringgrid1.Cells[2, i+1];

            stringgrid1.Cells[3, i] := stringgrid1.Cells[3, i+1];

            stringgrid1.Cells[4, i] := stringgrid1.Cells[4, i+1];

            stringgrid1.Cells[5, i] := stringgrid1.Cells[5, i+1];

            stringgrid1.Cells[6, i] := stringgrid1.Cells[6, i+1];

Информация о работе Проектирование информационной системы «Отдел кадров»