⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atddata.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
procedure TFormatddata.originalClick(Sender: TObject);
begin
     //cardno,rq 是Formatddata中定义的用来查找某人的打卡记录
     workno:=datamod.adoatddataworkno.AsString;
     cardno:=datamod.adoatddatacardno.asstring;
     rq:=datamod.adoatddatarq.asdatetime;
     if not assigned(formoriginal) then
        formoriginal:=TFormoriginal.create(application);
        formoriginal.show;
end;

procedure TFormatddata.ToolButton7Click(Sender: TObject);
var fmat1:string;
begin
  if fmat='/' then
    fmat1:='    /  /  ';
  if fmat='-' then
    fmat1:='    -  -  ';
  case pagecontrol1.activepageindex of
  0:begin
      datamod.adodaytotal.filter:='';
      datamod.adodaytotal.close;
      if toolbutton8.down then
         datamod.adodaytotal.commandtext:='select * from atd32010bk '
      else datamod.adodaytotal.CommandText:=' Select * from atd32010  ';
      datamod.adodaytotal.open;
      maskedit1.Text:=fmat1;
      maskedit2.Text:=fmat1;
      edit1.text:='';
    end;
  1:begin
      adoatdmonth.filter:='';
      adoatdmonth.close;
      if toolbutton8.down then
         adoatdmonth.CommandText:='Select * from atd34010bk'
      else adoatdmonth.commandtext:='Select * from atd34010';
      adoatdmonth.open;
      Adoatdmonthsun.close;
      if toolbutton8.down then
         Adoatdmonthsun.commandtext:= 'Select * from atd32010bk where workno=:workno and '+
                                   ' (convert(varchar,year(rq))+''/''+case when len(convert(varchar,month(rq)))=1 then ''0''+ '+
                                   ' convert(varchar,month(rq)) else convert(varchar,month(rq)) end)=:monthy '
      else
        Adoatdmonthsun.commandtext:='Select * from atd32010 where workno=:workno and '+
                                   ' (convert(varchar,year(rq))+''/''+case when len(convert(varchar,month(rq)))=1 then ''0''+ '+
                                   ' convert(varchar,month(rq)) else convert(varchar,month(rq)) end)=:monthy ';
      adoatdmonthsun.open;
      if fmat='/' then
      maskedit3.Text:='    /  ';
      if fmat='-' then
      maskedit3.Text:='    -  ';
      edit4.text:='';
    end;
  end;
end;
procedure TFormatddata.ToolButton10Click(Sender: TObject);
begin
  close;
end;

procedure TFormatddata.DBGrid2TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   Adoatdmonth.Sort :=column.FieldName+' '+f;
end;

procedure TFormatddata.dbgrid1TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   datamod.adodaytotal.Sort :=column.FieldName+' '+f;
end;

procedure TFormatddata.DBGrid3TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   Adoatdmonthsun.Sort :=column.FieldName+' '+f;
end;

procedure TFormatddata.N1Click(Sender: TObject);
var i:integer;
   db:Tdbgrid;
begin
  if dbgrid=0 then exit;
  case dbgrid of
  1:db:=dbgrid1;
  2:db:=dbgrid2;
  3:db:=dbgrid3;
  end;
  for i:=1 to fcount do
   if db.SelectedIndex =findex[i] then
    begin
     fsort[i]:='ASC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=db.selectedindex;
    fsort[fcount]:='ASC';
    db.Columns[db.selectedindex].Color :=clgray;
   end;
end;

procedure TFormatddata.N2Click(Sender: TObject);
var i:integer;
   db:Tdbgrid;
begin
  if dbgrid=0 then exit;
  case dbgrid of
  1:db:=dbgrid1;
  2:db:=dbgrid2;
  3:db:=dbgrid3;
  end;
  for i:=1 to fcount do
   if db.SelectedIndex =findex[i] then
    begin
     fsort[i]:='DESC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=db.selectedindex;
    fsort[fcount]:='DESC';
    db.Columns[db.selectedindex].Color :=clgray;
   end;
end;

procedure TFormatddata.N4Click(Sender: TObject);
var i:1..5;
   db:Tdbgrid;
begin
  if dbgrid=0 then
    exit;
  case dbgrid of
  1:begin
     db:=dbgrid1;
     datamod.ADOdaytotal.Sort :='';
    end;
  2:begin
     db:=dbgrid2;
     ADOatdmonth.Sort :='';
    end;
  3:begin
     db:=dbgrid3;
     ADOatdmonthsun.Sort :='';
    end;
  end;
  for i:=1 to fcount do
   if db.Columns[findex[i]].Color=clgray then
     case dbgrid of
     1:begin
        datamod.ADOdaytotal.Sort :=datamod.ADOdaytotal.Sort+db.Columns[findex[i]].FieldName+' '+fsort[i];
        if i<fcount then datamod.ADOdaytotal.Sort:=datamod.ADOdaytotal.Sort+',';
       end;
     2:begin
        ADOatdmonth.Sort :=ADOatdmonth.Sort+db.Columns[findex[i]].FieldName+' '+fsort[i];
        if i<fcount then ADOatdmonth.Sort:=ADOatdmonth.Sort+',';
       end;
     3:begin
        ADOatdmonthsun.Sort :=ADOatdmonthsun.Sort+db.Columns[findex[i]].FieldName+' '+fsort[i];
        if i<fcount then ADOatdmonthsun.Sort:=ADOatdmonthsun.Sort+',';
      end;
    end;
end;

procedure TFormatddata.N3Click(Sender: TObject);
var i:1..5;
begin
  for i:=1 to fcount do
   begin
    dbgrid1.Columns[findex[i]].Color :=clwindow;
    dbgrid2.Columns[findex[i]].Color :=clwindow;
    dbgrid3.Columns[findex[i]].Color :=clwindow;
   end;
  fcount:=0;
end;

procedure TFormatddata.PopupMenu2Popup(Sender: TObject);
begin
    if datamod.ADOatddata.RecordCount=0 then
    begin
       modify.Enabled:=false;
       sche.Enabled:=false;
       original.Enabled:=false;
    end else
    begin
       modify.Enabled:=true;
       sche.Enabled:=true;
       original.Enabled:=true;
    end;
end;

procedure TFormatddata.PageControl1Change(Sender: TObject);
begin
  Adoatdmonth.Close ;
  Adoatdmonth.open ;
  adoatdmonth.Filtered:=false;
  adoatdmonth.Filter:='monthy='''+maskedit3.text+'''';
  adoatdmonth.Filtered:=true;
  Adoatdmonthsun.Close ;
  Adoatdmonthsun.open ;
end;

procedure TFormatddata.MaskEdit3Exit(Sender: TObject);
var s1,s2,s:string;
begin
  s1:=''; s2:=''; s:='';
  if trim(edit4.text)<>'' then
     s1:='(workno='''+edit4.text+''' or cardno='''+edit4.text+''' or name='''+edit4.text+''') ';
  if trim(maskedit3.text)<>fmat then
     s2:='(monthy='''+maskedit3.text+''') ';
  if s1<>'' then
     if s2<>'' then s:=s1+' and '+s2
     else s:=s1
  else if s2<>'' then s:=s2;
  if s<>'' then
  begin
    adoatdmonth.close;
    adoatdmonth.filter:='';
    adoatdmonth.filtered:=false;
    if toolbutton8.down then
       adoatdmonth.CommandText:='Select * from atd34010bk where '+s+' '
    else adoatdmonth.commandtext:='Select * from atd34010 where '+s+' ';
    adoatdmonth.open;
  end;
end;

procedure TFormatddata.MaskEdit2Exit(Sender: TObject);
var s1,s2,str,s3,s4,fmat1:string;
begin
  if fmat='/' then
   fmat1:='/  /';
  if fmat='-' then
   fmat1:='-  -';
  s1:='';s2:='';s3:='';s4:='';
  if trim(edit1.text)<>'' then
     s1:=' (workno='''+edit1.text+''' or cardno='''+edit1.text+''' or name='''+edit1.text+''') ';
  if trim(maskedit2.text)<>fmat1 then
    if (not isdate(maskedit1.Text)) or (not isdate(maskedit2.text)) then
    begin
       Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
       maskedit1.SetFocus;
       exit;
    end
    else s2:=' and (rq<='''+maskedit2.text+''' and rq>='''+maskedit1.text+''')';
  if trim(combobox2.text)='' then
    combobox2.Text:='全部';
  if combobox2.Text<>'全部' then
    s3:=' and dept='''+combobox2.text+'''';
  if trim(combobox1.text)='' then
    combobox1.Text:='全部';
  if combobox1.Text<>'全部' then
  begin
    case  Combobox1.ItemIndex of
    1:
      s4:=' and kuanggong<>0';
    2:
      s4:=' and leavehave<>0';
    3:
      s4:=' and late<>0';
    4:
      s4:=' and early<>0';
    end;
  end;

  str:=s1+s2+s3+s4;
  if trim(str)<>'' then
   if s1<>'' then
     str:=copy(str,1,length(str))
   else
     str:=copy(str,pos(' and',str)+5,length(str));
    datamod.adodaytotal.close;
    datamod.adodaytotal.filter:='';
    datamod.adodaytotal.filtered:=false;
    if trim(str)<>'' then
      if toolbutton8.down then
       datamod.adodaytotal.CommandText:='Select * from atd32010bk where '+str+' '
      else
       datamod.adodaytotal.commandtext:='Select * from atd32010 where '+str+' '
    else
      if toolbutton8.down then
       datamod.adodaytotal.CommandText:='Select * from atd32010bk'
      else
       datamod.adodaytotal.commandtext:='Select * from atd32010';
    datamod.adodaytotal.open;
end;


procedure TFormatddata.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if datamod.adodaytotal.FieldByName('late').value>0 then
    dbgrid1.Canvas.Font.Color :=clFuchsia;
  if datamod.ADOdaytotal.FieldByName('early').value>0 then
    dbgrid1.Canvas.Font.Color :=clFuchsia;
  if datamod.ADOdaytotal.FieldByName('Kuanggong').value>0 then
    dbgrid1.Canvas.Font.Color :=clblue;
  if datamod.ADOdaytotal.fieldbyname('leavehave').value>0 then
    dbgrid1.Canvas.Font.Color :=clred;
  dbgrid1.DefaultDrawColumnCell(Rect,Datacol,column,state);
end;

procedure TFormatddata.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    begin
      selectnext(activecontrol,true,true);
      key:=#0;
    end;
end;

procedure TFormatddata.tbnfindClick(Sender: TObject);
begin
  adoatdmonth.close;
  adoatdmonth.open;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -