Кадрлар бөлімі АЖО құру

Автор работы: Пользователь скрыл имя, 10 Июня 2013 в 23:36, дипломная работа

Описание работы

Қазіргі техника мен технологияның дамып, маңызы артқан XXI-ғасыр заманында автоматтандырылған жұмыс орнын құру адамзат баласы өмірінің бір бөлшегіне айналып отыр. Ал мәліметтер қоры қазіргі таңда кез келген сферада қолданылып жүргені бәрімізге мәлім. Бұл туралы тұрақты анықтама жоқ, себебі бұл ұғымның қасиеттеріне байланысты аясы кең болып саналады.

Файлы: 1 файл

Кадрлар бөлімі_принтер.doc

— 2.75 Мб (Скачать файл)

Мысалы: 3.10 суретіне  сәйкес қарай отырып, онда «Теңестіруден өтіңіз» формасында ADOQuery1, DBComboBox1 (оның Name қасиетін DBName деп өзгертеміз), TmaskEdit1 (оның Name қасиетін edPassword деп өзгертеміз) және  2 BitButton компоненттері қойылғандығы көрініп тұр, сол сияқты басқа формада да қандай компоненттер қойылғандығын анықтай аласыздар деген сенімдеміз.

 

 

Сурет 3.10 Ақпараттық жүйеге рұқсат алу формасы

 

ADOQuery1 компонентін белгілеп Connection қасиетіне dm.ADO Connec- tion1 деп жазамыз. Себебі ADOConnection1 компоненті 3.11  суретіне сәйкес  

DataModule формасында  орналасқан, оның атауын қысқартып dm деп атаймыз.

 

 

Сурет 3.11 DataModule формасы

 

 «Теңестіруден өтіңіз»  формасындағы «ОК» батырмасын шерту оқиғасына мына кодты жазамыз:

  with ADOQuery1 do

    begin

      Close;

      SQL.Text :=

        'SELECT kod ' +

        'FROM bd_rabotniki ' +

        'WHERE atijoni="' +dbName.Text + '" AND '+

        'pass="' + edPassword.Text + '"';

      Open;

    end;

  if ADOQuery1.RecordCount > 0 then

    begin

      Form1.USER := ADOQuery1.FieldByName('kod').AsInteger;

      Form1.Show;

      Visible := False;

    end

  else

    begin

      Application.MessageBox('Логин  немесе купия сөз кате терілген', '');

      edPassword.Text := '';

    end;

Ал жүйеге енгізуден  бас тарту үшін тағы бір BitButton пернесін қойып, Kind қасиетіне bkCancel мәнін көрсетеміз.

Теңестіруден өткеннен кейін 3.12 суретіне сәйкес «Кадрлар бөлімі» деп аталатын форма ашылады. Бұл формада көріп отырғанымыздай жоғарғы мәзірде үш бөлік тағайындалған.

 

 

Сурет 3.12 Негізгі терезе

 

 

Соның біріншісі –  «Бөлім» деп аталады, мұнда қызметкерлердің  қандай бөлімде жұмыс атқаратынын  анықтап алуға мүмкіндік береді. ADOQuery1 компонентін белгілеп, Filter қасиетіне bolim='Администрация'  деп, Filtered қасиетіне false мәнін көрсетеміз де, «Бөлім» пунктіндегі командасын шерту оқиғасына мына кодты жазамыз:

Form1.ADOQuery1.Filtered:=true;

t:=ADOQuery1.RecordCount;

Form1.Caption:='Кадрлар болімі - Администрацияда '+IntToStr(t)+'-адам бар';

Соңғы жолда Администрацияда  неше адам қызмет атқаратынын есептеу  келтірілген.

Қызметкердің фотосын  шығару үшін OpenDialog1, сосын DBImage1 компоненттерін қойып, оны екі рет шерту оқиғасына  мына кодты жазамыз:

procedure TForm1.DBImage1DblClick(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

ADOQuery1.Edit;

DBImage1.Picture.LoadFromFile(OpenDialog1.FileName);

end;end;

 

 

Сурет 3.13 «Бөлім» туралы ақпарат

 «Кадрлар бөлімі»  формасында негізгі және маңызды болып есептелетін алты объектіні атап көрсетуге болады. Олар: «Іздеу», «Жұмысқа қабылдау», «Келісімшарт», «Есеп беру» және «Жеке парақ» объектілері. Осылардың әрбіреуіне жеке тоқталайық. «Аты-жөні» объектісі қызметкердің «Туған күні», «Мекен-жайы», «Қызметі», «Білімі», «Стаж», «Жанұялық жағдайы», «Жынысы» критерийлері бойынша сұрыптап береді. «Іздеу» объектісінен бір ерекшелігі таңдалып алынған жазбамен ғана өңдеулер жүргізуге мүмкіндік беріледі. Ол әрекетті жүзеге асыру үшін «Табу» пернесіне шерту оқиғасына келесідей бағдарлама коды пайдаланылды:

procedure TForm1.Button1Click(Sender: TObject);

var s:string;

begin

if ComboBox1.Text<>'Таңдау  жасау' then

begin

if ComboBox1.Text='Аты-жөні' then s:='atiJoni';

if ComboBox1.Text='Туған күні' then s:='tugankuni';

if ComboBox1.Text='Мекен жайы' then s:='mekenjai';

if ComboBox1.Text='Стажы' then s:='Staj';

if ComboBox1.Text='Үй телефоны' then s:='telui';

if ComboBox1.Text='Ұялы телефоны' then s:='telsot';

if ComboBox1.Text='Кызметі' then s:='kizmeti';

ADOQuery1.Locate(s,Ed_poisk.Text,[loCaseInsensitive,loPartialKey]);

end else ShowMessage('өріс таңдаңыз');

end;

       «Фильтрлеу»  пернесін шерту оқиғасына мына кодты жазамыз:

 

procedure TForm1.Button2Click(Sender: TObject);

var ap,pr,pole:String;

begin

ap:='''';

pr:='*';

if RG_Filtr.ItemIndex<>-1 then

begin

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Аты-жөні' then pole:='atiJoni';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Мекен  жайы' then pole:='mekenjai';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Туған күні' then pole:='tugankuni';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Кызметі' then pole:='kizmeti';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Білімі' then pole:='bilimi';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Стажы' then pole:='Staj';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Жанұялық жағдайы' then

pole:='januialikjag';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Жынысы' then pole:='jinisi';

ADOQuery1.Filtered:=false;

ADOQuery1.Filter:=pole+'='+ap+Ed_filtr.Text+ap;

ADOQuery1.Filtered:=true;

end

else ShowMessage('Шарт танданыз');

end;

Фильтрді алып тастау үшін мына кодты жазамыз:

procedure TForm1.Button3Click(Sender: TObject);

begin

ADOQuery1.Filtered:=false;  end;

          Қызметкер жұмысқа қабылданғаннан кейін оның жеке парағын да автоматты түрде жасай аламыз,3.13 суретіне сәйкес жеке парақты жасау бұл бағдарламаның жұмысына енеді.

 

 

Сурет 3.14 Қызметкер туралы негізгі мәліметтер

 

Бас мәзірдің екінші пункті – «Іс-қимыл» бөлігі, мұнда қызметкерлерді жұмысқа қабылдау және жұмыстан шығару, статистика әрекеттері жүзеге асырылады. Қызметкерлерді іздеу үшін арнайы сұраныс құа отырып жүзеге асырамыз.

 

Сурет 3.15 Қызметкерлер туралы мәліметтер терезесі

 

 «Жұмысқа қабылдау» бөлігінің формасы frm_Prin_Rab деп аталады (18-суретке сәйкес), оның көмегімен кадрлар бөліміне келіп жұмысқа қабылданған қызметкерлер туралы деректерді базаға сақтауды ұйымдастыру керек болсын. Ол үшін «Іс-қимыл» пунктінің «Жұмысқа қабылдау»  командасын шерту оқиғасына мына кодты жазамыз:

frm_Prin_Rab.Show;

form1.Enabled:=false;

Form11.enabled:=false;

 

 

Сурет 3.16 Мәліметтерді сақтау

 

Сұрыптау үшін мына төмендегә суреттегідей болады. Мұнда аты-жөні бойынша сұрыпталған. Сақтау қажет болғанда сақтау батырмасын басамыз.

 

Сурет 3.17 Аты-жөні бойынша сұрыптау

 

«Жұмысқа қабылдау»  қалыбындағы бос орындар сәйкесінше  толтырылады да «ОК» пернесін шерту оқиғасына мына кодты жазамыз:

Form1.ADOQuery1.First;

Form1.ADOQuery1.Append;

Form1.ADOQuery1['atiJoni']:=Ed_fio.Text;

Form1.ADOQuery1['mekenjai']:=Ed_adres.Text;

Form1.ADOQuery1['telui']:=Ed_tel.Text;

Form1.ADOQuery1['telsot']:=Ed_sot.Text;

Form1.ADOQuery1['tugankuni']:=Ed_god_rozh.Text;

Form1.ADOQuery1['kizmeti']:=Ed_dolzh.Text;

Form1.ADOQuery1['bilimi']:=CB_obraz.Text;

Form1.ADOQuery1['azamattik']:=Ed_grazh.Text;

Form1.ADOQuery1['ulti']:=Ed_nacia.Text;

Form1.ADOQuery1['januialikjag']:=CB_Sem_pol.Text;

Form1.ADOQuery1['Staj']:=Ed_stazh.Text;

Form1.ADOQuery1['jinisi']:=CB_pol.Text;

if CB_child.Checked then Form1.ADOQuery1['balalari']:=true

else          

Form1.ADOQuery1['balalari']:=false;

Form1.ADOQuery1['bolim']:=CB_Otdel.Text;

Form1.ADOQuery1.Post;

frm_Prin_Rab.Hide;

form1.Enabled:=true;

end;

 

 

Сурет 3.18 Нөмірлері бойынша сұрыптау

 

Ал қызметкер жұмысқа  алынатын болған жағдайда бағдарлама автоматты түрде сол адамның  мәліметтерін пайдалана отырып, келісімшартты  даярлап береді. Келісімшарттың үлгісін 3.14 суретіне сәйкес  Form4.QRM_rab формасына жасап аламыз.

procedure TForm1.Button2Click(Sender: TObject);

var ap,pr,pole:String;

begin

ap:='''';

pr:='*';

if RG_Filtr.ItemIndex<>-1 then

begin

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Аты-жөні' then pole:='atiJoni';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Мекен  жайы' then pole:='mekenjai';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Туған күні' then pole:='tugankuni';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Кызметі' then pole:='kizmeti';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Білімі' then pole:='bilimi';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Стажы' then pole:='Staj';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Жанұялық жағдайы' then

pole:='januialikjag';

if RG_Filtr.Items[RG_Filtr.ItemIndex]='Жынысы' then pole:='jinisi';

ADOQuery1.Filtered:=false;

ADOQuery1.Filter:=pole+'='+ap+Ed_filtr.Text+ap;

ADOQuery1.Filtered:=true;

end

 

 

Сурет 3.19 Жұмысқа қабылдау

 

Ол үшін осы формадағы  шерту оқиғасына мына кодты жазамыз:

Form4.QRL_fio.Caption:=Ed_fio.Text;

form4.Label1.Caption:=frm_Prin_Rab.Ed_dolzh.Text;

Form4.QRM_rab.Lines.Clear;

Form4.QRM_rab.Lines.Add('"Жумысшы"');

Form4.QRM_rab.Lines.Add(Ed_fio.Text);

Form4.QRM_rab.Lines.Add('Мекен-жай: '+Ed_adres.Text);

Form4.QRM_rab.Lines.Add('Телефон: '+Ed_tel.Text);

form4.QRLabel21.Caption:=form1.Edit1.Text ;

Form4.QuickRep1.Preview;

end;

«Іс-қимыл» пунктіндегі 3.15 суретіне сәйкес «Жұмыстан шығару» командасын басқанда белгіленіп тұрған қызметкер жұмыстан шығарылды деп есептеліп, осы кестеден өшіріледі де басқа формадағы базаға сақталады . Жұмыстан шыққан қызметкерге жарлық шығару үшін «Өкімдер» - «Жұмыстан босату» командасын орындау керек. Бұл формадағы «Бұйрық» пернесін шерту оқиғасына мына кодты жазамыз:

form6.QRLabel22.Caption:=form14.ADOQuery1['atijoni'];

form6.QRLabel25.Caption:=form14.ADOQuery1['kizmeti'];

form6.QRLabel23.caption:=form14.Edit1.Text;

form6.QRLabel29.caption:=form14.ADOQuery1['atijoni'];

form6.QRLabel30.caption:=form14.Edit1.Text;

form6.QuickRep1.Preview;

end;

 

Бұл кодтың орындалуы  үшін 6-форма құрып, оған 3.16 суретіне сәйкес жұмыстан босату үлгісін жасап қоямыз.

Жұмыстан шығару туралы өкім шығарылғаннан кейін қызметкер  туралы деректі кестеден өшіруге  болады, ол үшін «Жұмыстан босату өкімі  формасындағы» «Өшіру пернесін шерту  оқиғасына мына кодты жазамыз:

procedure TForm14.Button2Click(Sender: TObject);

begin

  with dm.GetTempQuery do

    try

      Close;

      SQL.Text := 'DELETE FROM sapar WHERE fionom = ' +

        ADOQuery1.FieldByName('kod').AsString;

      ExecSQL;

    finally

      Free;

    end;

  ADOQuery1.Delete;

  Form10.ADOQuery1.Active := False;

  Form10.ADOQuery1.Active := True;

end;

«Іс-қимыл» бөлігінің  «Статистика» бөлімінде жалпы мекеменің  қызметкерлерінің орташа жас мөлшері, білімдері және қанша ер  адам мен әйел адам жұмыс істейтінін есептеп, статистиканы көрсетеді.

Бұл амалдарды орындау  үшін «Есептеу» батырмасына мына кодты жазамыз:

procedure TForm13.Button1Click(Sender: TObject);

var bilimi,otd:string;  t,i,s,d,dd,s1:integer;p:string;ddd:real;

begin

s1:=0;

Form13.ADOquery1.First;

i := 1;

while not(form13.ADOquery1.Eof) do begin

  inc(i);

s:=strtoint(mes_f(form13.ADOQuery1['tugankuni']));

p:=mes_f(DateToStr(Date));

d:=strtoint(p);

dd:=d-s;

s1:=s1+dd;

  form13.ADOquery1.Next;

ddd:=s1/form13.ADOQuery1.recordcount;

form13.Edit1.Text:=floattostr(ddd);

end;

begin

otd:='jinisi';

form13.ADOQuery1.Filtered:=false;

form13.ADOQuery1.Filter:='jinisi='+''''+'Ер'+'''';

ADOQuery1.Filtered:=true;

t:=ADOQuery1.RecordCount;

form13.Edit2.Text:=IntToStr(t);

Form4.QRM_rab.Lines.Add(Ed_fio.Text);

Form4.QRM_rab.Lines.Add('Мекен-жай: '+Ed_adres.Text);

Form4.QRM_rab.Lines.Add('Телефон: '+Ed_tel.Text);

form4.QRLabel21.Caption:=form1.Edit1.Text ;

end;

begin

otd:='jinisi';

form13.ADOQuery1.Filtered:=false;

form13.ADOQuery1.Filter:='jinisi='+''''+'Әйел'+'''';

ADOQuery1.Filtered:=true;

t:=ADOQuery1.RecordCount;

form13.Edit3.Text:=IntToStr(t);

end;

begin

otd:='bilimi';

form13.ADOQuery1.Filtered:=false;

form13.ADOQuery1.Filter:='bilimi='+''''+'жоғары'+'''';

ADOQuery1.Filtered:=true;

t:=ADOQuery1.RecordCount;

form13.Edit4.Text:=IntToStr(t);   end;

begin

otd:='bilimi';

form13.ADOQuery1.Filtered:=false;

form13.ADOQuery1.Filter:='bilimi='+''''+'орта  арнаулы'+'''';

ADOQuery1.Filtered:=true;

t:=ADOQuery1.RecordCount;

form13.Edit5.Text:=IntToStr(t);   end;

begin

otd:='bilimi';

form13.ADOQuery1.Filtered:=false;

form13.ADOQuery1.Filter:='bilimi='+''''+'орта'+'''';

ADOQuery1.Filtered:=true;

t:=ADOQuery1.RecordCount;

form13.Edit6.Text:=IntToStr(t)

end;  


Сурет 3.20 Барлық қызметкерлер тізімі

 

Мұндағы  mes_f функциясы  қызметкерлердің туған датасынан тек қана жылды қиып алуға жазылды. Оны модульдің бас жағына жазып қою керек:

Информация о работе Кадрлар бөлімі АЖО құру