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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
97
procedure view_dbgrid;
procedure add_sotrudnik;
procedure update_sotrudnik;
procedure view_sotrudnik;
procedure FormShow(Sender: TObject);
procedure view_dolgnost;
procedure DBGrid_otdelCellClick(Column: TColumn);
procedure CheckBox_loginClick(Sender: TObject);
procedure view_otdel;
procedure view_dbgrid_otdel;
procedure view_dbgrid_dolgnost;
procedure view_dolgnost_view;
procedure DBGrid_zavodCellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_sotrudnik: TForm_sotrudnik;
implementation
uses datamodule;
{$R *.dfm}
procedure TForm_sotrudnik.view_dbgrid;
begin
form_sotrudnik.DBGrid_sotrudnik.Columns[0].Width := 70;
form_sotrudnik.DBGrid_sotrudnik.Columns[1].Width := 150;
form_sotrudnik.DBGrid_sotrudnik.Columns[2].Width := 150;
form_sotrudnik.DBGrid_sotrudnik.Columns[3].Width := 150;
form_sotrudnik.DBGrid_sotrudnik.Columns[4].Width := 70; //телефон
form_sotrudnik.DBGrid_sotrudnik.Columns[5].Width := 150;
form_sotrudnik.DBGrid_sotrudnik.Columns[6].Width := 150;
form_sotrudnik.DBGrid_sotrudnik.Columns[7].Width := 150;//должность
form_sotrudnik.DBGrid_sotrudnik.Columns[8].Width := 150;
form_sotrudnik.DBGrid_sotrudnik.Columns[9].Width := 100;
form_sotrudnik.DBGrid_sotrudnik.Columns[10].Width := 100;
end;
procedure TForm_sotrudnik.clear_label;
begin
form_sotrudnik.Label2.Caption := '';
98
form_sotrudnik.Label3.Caption := ''; form_sotrudnik.Label7.Caption := '';
form_sotrudnik.Label8.Caption := ''; form_sotrudnik.Label9.Caption := '';
form_sotrudnik.Label10.Caption := ''; form_sotrudnik.Label26.Caption := '';
form_sotrudnik.Label27.Caption := '';end;
procedure TForm_sotrudnik.DBGrid_otdelCellClick(Column: TColumn);
begin view_dolgnost; end;
procedure TForm_sotrudnik.DBGrid_zavodCellClick(Column: TColumn);
begin view_otdel; view_dolgnost; end;
procedure TForm_sotrudnik.Button_addClick(Sender: TObject);
var run_procedure : boolean;
buf_zapros, buf_kav : string;
begin
clear_label; run_procedure := True; buf_kav := '''';
//проверяю введенные данные
if length(form_sotrudnik.Edit_tabel.Text) < 8 then
begin
run_procedure := False;
form_sotrudnik.Label2.Caption := 'Табельный номер меньше 8';
end
else
if form_sotrudnik.Button_add.Caption = 'Добавить' then
begin
buf_zapros :='SELECT tabel_nomer FROM sotrudnik WHERE tabel_nomer
='+buf_kav+form_sotrudnik.Edit_tabel.Text+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
begin
run_procedure := False;
form_sotrudnik.Label2.Caption := 'Такой номер есть в БД';
end;
end;
if length(Form_sotrudnik.Edit_family.Text) = 0 then
begin run_procedure := False; form_sotrudnik.Label3.Caption := 'Не введена фамилия';
end;
if length(form_sotrudnik.Edit_name.Text) = 0 then
begin
run_procedure := False; form_sotrudnik.Label7.Caption := 'Не введено имя';
end;
if length(form_sotrudnik.Edit_secondname.Text) = 0 then
99
begin
run_procedure := False; form_sotrudnik.Label8.Caption := 'Не введено отчество';
end;
if length(form_sotrudnik.Edit_phone.Text) = 0 then
begin run_procedure := False; form_sotrudnik.Label9.Caption := 'Не введен телефон';
end;
if (length(Form_sotrudnik.Edit_login.Text) <> 0) AND (length(form_sotrudnik.Edit_password.Text) <> 0) then
begin if length(Form_sotrudnik.Edit_login.Text) = 0 then begin
run_procedure := False; form_sotrudnik.Label26.Caption := 'Не введен логин'; end
else
if form_sotrudnik.Button_add.Caption = 'Добавить' then
begin
buf_zapros := 'SELECT login FROM login_password WHERE login =
'+buf_kav+form_sotrudnik.Edit_login.Text+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
begin
run_procedure := False; form_sotrudnik.Label26.Caption := 'Такой логин есть в БД'; end;
end;
if length(form_sotrudnik.Edit_password.Text) < 8 then
begin run_procedure := False; form_sotrudnik.Label27.Caption := 'Пароль меньше 8 символов';
end; end;
if form_sotrudnik.DBGrid_dolgnost.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False; form_sotrudnik.Label10.Caption := 'Не выбрана должность';
end;
//проверка закнчена
if run_procedure then begin
if form_sotrudnik.Button_add.Caption = 'Добавить' then
add_sotrudnik;
if form_sotrudnik.Button_add.Caption = 'Исправить' then
update_sotrudnik; end; end;
procedure TForm_sotrudnik.update_sotrudnik;
var buf_kav, buf_zapros : string;
begin buf_kav := '''';
if (length(Form_sotrudnik.Edit_login.Text) <> 0) AND (length(form_sotrudnik.Edit_password.Text) <> 0) then
begin
buf_zapros := 'UPDATE login_password SET login = '+buf_kav+form_sotrudnik.Edit_login.Text+buf_kav+','
+'password_user= '+buf_kav+form_sotrudnik.Edit_password.Text+buf_kav
100
+' WHERE login = '+buf_kav+form_sotrudnik.Label_login.Caption+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
buf_zapros :='UPDATE sotrudnik SET tabel_nomer = '+buf_kav+form_sotrudnik.Edit_tabel.Text+buf_kav+','
+'Family = '+buf_kav+form_sotrudnik.Edit_family.Text+buf_kav+','
+'First_name ='+buf_kav+form_sotrudnik.Edit_name.Text+buf_kav+','
+'second_name = '+buf_kav+form_sotrudnik.Edit_secondname.Text+buf_kav+','
+'id_dolgnost =
'+form_sotrudnik.DBGrid_dolgnost.DataSource.DataSet.FieldByName('id_dolgnost').AsString+','
+'phone = '+buf_kav+form_sotrudnik.Edit_phone.Text+buf_kav+','
+'login = '+buf_kav+form_sotrudnik.Edit_login.Text+buf_kav+','
+'dostup = ' +form_sotrudnik.DBGrid_dostup.DataSource.DataSet.FieldByName('id_dostup').AsString
+' WHERE tabel_nomer = '+buf_kav+form_sotrudnik.Label_tabel.Caption+buf_kav+';';
end
else
buf_zapros :='UPDATE sotrudnik SET tabel_nomer = '+buf_kav+form_sotrudnik.Edit_tabel.Text+buf_kav+','
+'Family = '+buf_kav+form_sotrudnik.Edit_family.Text+buf_kav+','
+'First_name ='+buf_kav+form_sotrudnik.Edit_name.Text+buf_kav+','
+'second_name = '+buf_kav+form_sotrudnik.Edit_secondname.Text+buf_kav+','
+'id_dolgnost =
'+form_sotrudnik.DBGrid_dolgnost.DataSource.DataSet.FieldByName('id_dolgnost').AsString+','
+'phone = '+buf_kav+form_sotrudnik.Edit_phone.Text+buf_kav
+' WHERE tabel_nomer = '+buf_kav+form_sotrudnik.Label_tabel.Caption+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
//чищу поля ввода
form_sotrudnik.Edit_tabel.Text := ''; form_sotrudnik.Edit_family.Text := '';
form_sotrudnik.Edit_name.Text := ''; form_sotrudnik.Edit_secondname.Text := '';
form_sotrudnik.Edit_phone.Text := ''; form_sotrudnik.Edit_login.Text := '';
form_sotrudnik.Edit_password.Text := '';
//обновляю данные на фоме
datamodule1.Query_view_sotrudnik.Active := False; datamodule1.Query_view_sotrudnik.Active := True;
view_dbgrid;
//переименовываю кнопку
form_sotrudnik.Button_add.Caption := 'Добавить';end;
procedure TForm_sotrudnik.add_sotrudnik;
var buf_kav, buf_zapros : string;
begin
buf_kav := '''';
if (length(Form_sotrudnik.Edit_login.Text) <> 0) AND (length(form_sotrudnik.Edit_password.Text) <> 0) then
101
begin
buf_zapros := 'INSERT INTO login_password (login,password_user) VALUES ('
+buf_kav+form_sotrudnik.Edit_login.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_password.Text+buf_kav+');';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
buf_zapros :='INSERT INTO sotrudnik (tabel_nomer,Family,First_name,second_name, id_dolgnost, phone,
login,dostup) VALUES ('
+buf_kav+form_sotrudnik.Edit_tabel.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_family.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_name.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_secondname.Text+buf_kav+','
+form_sotrudnik.DBGrid_dolgnost.DataSource.DataSet.FieldByName('id_dolgnost').AsString+','
+buf_kav+form_sotrudnik.Edit_phone.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_login.Text+buf_kav+','
+form_sotrudnik.DBGrid_dostup.DataSource.DataSet.FieldByName('id_dostup').AsString+');';
end else
buf_zapros :='INSERT INTO sotrudnik (tabel_nomer,Family,First_name,second_name, id_dolgnost, phone)
VALUES ('
+buf_kav+form_sotrudnik.Edit_tabel.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_family.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_name.Text+buf_kav+','
+buf_kav+form_sotrudnik.Edit_secondname.Text+buf_kav+','
+form_sotrudnik.DBGrid_dolgnost.DataSource.DataSet.FieldByName('id_dolgnost').AsString+','
+buf_kav+form_sotrudnik.Edit_phone.Text+buf_kav
+');';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
//чищу поля ввода
form_sotrudnik.Edit_tabel.Text := ''; form_sotrudnik.Edit_family.Text := '';
form_sotrudnik.Edit_name.Text := ''; form_sotrudnik.Edit_secondname.Text := '';
form_sotrudnik.Edit_phone.Text := ''; form_sotrudnik.Edit_login.Text := '';
form_sotrudnik.Edit_password.Text := '';
//обновляю данные на фоме
datamodule1.Query_view_sotrudnik.Active := False; datamodule1.Query_view_sotrudnik.Active := True;
view_dbgrid;
end;
procedure TForm_sotrudnik.Button_deleteClick(Sender: TObject);
var buf_zapros, buf_kav, buf_login : string;
begin
Источник: https://baza.diplomsite.ru/previewfile/2418