116
buf_zapros := 'SELECT sotrudnik.tabel_nomer, CONCAT(sotrudnik.family,'+buf_kav+' '+buf_kav+',
sotrudnik.first_name,'+buf_kav+' '+buf_kav+', sotrudnik.second_name) AS FIO '
+' FROM otdel INNER JOIN (dolgnost INNER JOIN sotrudnik ON dolgnost.id_dolgnost =
sotrudnik.id_dolgnost) ON otdel.id_otdel = dolgnost.id_otdel '
+' WHERE otdel.id_otdel = '+form_time.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_time.StringGrid_time.RowCount := datamodule1.Query_buf.RecordCount+1;
//заполняю столбцы
i:= 0;
form_time.StringGrid_time.Cells[0,i] := 'Табель_номер';
form_time.StringGrid_time.Cells[1,i] := 'ФИО';
form_time.StringGrid_time.Cells[2,i] := 'Время';
datamodule1.Query_buf.First;
i := 1;
while not datamodule1.Query_buf.eof do
begin
//узнаю время работы
buf_Zapros := 'SELECT IfNull(kolvo_hours,0) as kolvo_hours1'
+' FROM work_time '
+' WHERE work_time.date_work = '+date_time
+' AND work_time.tabel_nomer =
'+buf_kav+datamodule1.Query_buf.FieldByName('tabel_nomer').AsString+buf_kav+';';
datamodule1.Query_buf1.Close;
datamodule1.Query_buf1.SQL.Clear;
datamodule1.Query_buf1.SQL.Text := buf_Zapros;
datamodule1.Query_buf1.Open;
if datamodule1.Query_buf1.RecordCount = 0 then
kolvo_hours1 := 0
else
kolvo_hours1 := datamodule1.Query_buf1.FieldByName('kolvo_hours1').AsFloat;
form_time.StringGrid_time.Cells[0,i] := datamodule1.Query_buf.FieldByName('tabel_nomer').AsString;
form_time.StringGrid_time.Cells[1,i] := datamodule1.Query_buf.FieldByName('FIO').AsString;
form_time.StringGrid_time.Cells[2,i] := floattostr(kolvo_hours1);
i:= i+1;
datamodule1.Query_buf.Next;
end;
end;
procedure TForm_time.view_otdel;
var buf_zapros : string;
begin
if form_time.DBGrid_zavod.DataSource.DataSet.RecordCount <> 0 then
begin
buf_zapros := 'SELECT otdel.id_otdel, otdel.name_otdel as Название_отдела '
+' FROM otdel '
+' WHERE otdel.id_zavod =
'+form_time.DBGrid_zavod.DataSource.DataSet.FieldByName('id_zavod').AsString
+' ORDER BY otdel.name_otdel;';
datamodule1.Query_otdel_view.Close;
datamodule1.Query_otdel_view.SQL.Clear;
datamodule1.Query_otdel_view.SQL.Text := buf_zapros;