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

📄 empsave.pas

📁 pasa人力资源考勤管理系统
💻 PAS
字号:
unit empsave;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBCtrls, Buttons, Mask, Grids, DBGrids, RXDBCtrl, ImgList,
  ComCtrls, ToolWin, ExtCtrls, Db, ADODB, Menus, ppDB, ppCtrls, ppBands,
  myChkBox, ppStrtch, ppMemo, ppVar, ppPrnabl, ppClass, ppCache, ppProd,
  ppReport, ppComm, ppRelatv, ppDBPipe, ppDBBDE;

type
  TFormempsave = class(TForm)
    Label7: TLabel;
    Panel1: TPanel;
    ImageList1: TImageList;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N3: TMenuItem;
    DBGrid1: TDBGrid;
    N5: TMenuItem;
    ToolBar1: TToolBar;
    tbnsort: TToolButton;
    tbnfind: TToolButton;
    tbnprint: TToolButton;
    TBEXIT: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton17: TToolButton;
    ToolButton18: TToolButton;
    ToolButton19: TToolButton;
    ToolButton20: TToolButton;
    ToolButton21: TToolButton;
    ToolButton22: TToolButton;
    ppBDEPipeline1: TppBDEPipeline;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppTitleBand1: TppTitleBand;
    ppLabel1: TppLabel;
    ppDBText1: TppDBText;
    ppLabel2: TppLabel;
    ppDBText2: TppDBText;
    ppLabel3: TppLabel;
    ppDBText3: TppDBText;
    ppLabel4: TppLabel;
    ppDBText4: TppDBText;
    ppLabel5: TppLabel;
    ppDBText5: TppDBText;
    ppLabel6: TppLabel;
    ppDBText6: TppDBText;
    ppLabel7: TppLabel;
    ppDBText7: TppDBText;
    ppLabel8: TppLabel;
    ppDBText8: TppDBText;
    ppLabel9: TppLabel;
    ppDBText9: TppDBText;
    ppLabel10: TppLabel;
    ppDBText10: TppDBText;
    ppLabel11: TppLabel;
    ppLabel12: TppLabel;
    ppDBText12: TppDBText;
    ppLabel13: TppLabel;
    ppDBText13: TppDBText;
    ppLabel14: TppLabel;
    ppDBText14: TppDBText;
    ppLabel15: TppLabel;
    ppDBText15: TppDBText;
    ppLabel16: TppLabel;
    ppDBMemo1: TppDBMemo;
    ppLabel17: TppLabel;
    ppDBText16: TppDBText;
    ppLabel18: TppLabel;
    ppDBText17: TppDBText;
    ppLabel19: TppLabel;
    ppDBText18: TppDBText;
    ppLabel20: TppLabel;
    ppDBText19: TppDBText;
    ppLabel21: TppLabel;
    ppDBText20: TppDBText;
    ppLabel22: TppLabel;
    ppDBText21: TppDBText;
    ppLabel23: TppLabel;
    ppDBText22: TppDBText;
    ppLabel24: TppLabel;
    ppDBText23: TppDBText;
    ppLabel25: TppLabel;
    ppLine1: TppLine;
    ppSummaryBand1: TppSummaryBand;
    ppLabel53: TppLabel;
    ppLabel54: TppLabel;
    ppSystemVariable5: TppSystemVariable;
    ppLabel55: TppLabel;
    ppLabel56: TppLabel;
    ppSystemVariable6: TppSystemVariable;
    ppLabel57: TppLabel;
    ppLabel67: TppLabel;
    ppDBCalc4: TppDBCalc;
    ppLabel68: TppLabel;
    ppLine8: TppLine;
    ppDBText11: TppDBText;
    ToolButton1: TToolButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure tbnfindClick(Sender: TObject);
    procedure RxDBGrid1TitleClick(Column: TColumn);
    procedure tbnsortClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure FormActivate(Sender: TObject);
    procedure TBEXITClick(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton14Click(Sender: TObject);
    procedure ToolButton15Click(Sender: TObject);
    procedure ToolButton16Click(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ppReport1BeforePrint(Sender: TObject);
    procedure tbnprintClick(Sender: TObject);
    procedure ppReport1PreviewFormCreate(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    { Private declarations }
    manyfield:boolean;
    findex:array[1..5] of integer;
    fsort:array[1..5] of string;
    fcount:0..5;
    f:string;
  public
    { Public declarations }
  end;

var
  Formempsave: TFormempsave;

implementation

uses formzonghe, empset, datamol,publicfunction,main;

{$R *.DFM}

procedure TFormempsave.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  setdbgridwidth(dbgrid1,'p'+'empsave');
  formempsave:=nil;
  action:=cafree;
end;

procedure TFormempsave.FormCreate(Sender: TObject);
var  i:double;
begin
//  datamod.ADOempsave.Close;
//  datamod.ADOempsave.CursorType :=ctKeyset;
//  datamod.ADOempsave.LockType :=ltpessimistic;
//  datamod.adoempsave.open;
  with datamod.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.add('select * from emp07010 where ifok=0 and cdate<='''+datetostr(date+7)+''' ');
    open;
    if not eof then
      begin
       datamod.adoquery2.Close;
       datamod.adoquery2.SQL.Clear;
       datamod.adoquery2.SQL.add('select isnull(max([id]),0) as mx from emp08010');
       datamod.adoquery2.open;
      end;
        if not datamod.adoquery2.eof then
          if datamod.adoquery2.FieldByName('mx').asinteger>0 then
             begin
               i:=datamod.adoquery2.fieldbyname('mx').asinteger;
               datamod.adoquery2.close;
             end;
    while not eof do
    begin
      i:=i+1;
      datamod.ADOQuery2.Close;
      datamod.ADOQuery2.SQL.Clear;
      datamod.ADOQuery2.SQL.Add ('insert emp08010 values('''+floattostr(i)+''','''+fieldbyname('faceno').asstring+''','''+fieldbyname('facerq').asstring+''',' +
      ' '''+fieldbyname('reqprof').asstring+''','''+fieldbyname('reqdept').asstring+''','''+fieldbyname('masterface').asstring+''','''+fieldbyname('secondface').asstring+''',' +
      ' '''+fieldbyname('empno').asstring+''','''+fieldbyname('name').asstring+''','''+fieldbyname('sex').asstring+''','''+fieldbyname('blood').asstring+''','''+fieldbyname('marry').asstring+''' ,' +
      ' '''+fieldbyname('province').asstring+''','''+fieldbyname('address').asstring+''','''+fieldbyname('peopleid').asstring+''','''+fieldbyname('reladd').asstring+''','+
      ' '''+fieldbyname('reltel').asstring+''','''+fieldbyname('age').asstring+''','''+fieldbyname('expe').asstring+''','''+fieldbyname('empprof').asstring+''','''+fieldbyname('factprof').asstring+''','+
      ' '''+fieldbyname('source').asstring+''','''+fieldbyname('introduce').asstring+''','''+fieldbyname('degree').asstring+''','+fieldbyname('wantmoney').asstring+','+fieldbyname('factmoney').asstring+','+
      ' '''+fieldbyname('factprof').asstring+''','''+fieldbyname('memo').asstring+''','''+fieldbyname('operator').asstring+''','''+fieldbyname('cdate').asstring+''') ');
      datamod.adoquery2.ExecSQL;
      datamod.adoquery2.close;
      next;
    end;
    close;
    sql.clear;
    sql.add('delete emp07010 where ifok=0 and cdate<='''+datetostr(date+7)+''' ');
    execsql;
    Close;
    SQL.Clear;
    SQL.Add('truncate table emp08010');
    SQL.Add(' insert into  emp08010(faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate) '+
            ' select faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID '+
            ' ,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate from emp07010  where [save]=1');
    ExecSQL;
    datamod.adoempsave.Close;
    datamod.ADOempsave.CursorType :=ctKeyset;
    datamod.ADOempsave.LockType :=ltpessimistic;
    datamod.adoempsave.open;
    Close;
  end;
end;

procedure TFormempsave.tbnfindClick(Sender: TObject);
begin
  findrecorder(datamod.adoempsave,'Adoempsave','emp08010');   //调用publicfuction中的查询功能
end;

procedure TFormempsave.RxDBGrid1TitleClick(Column: TColumn);
begin
 if not manyfield then
  begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   datamod.ADOempface.Sort :=column.FieldName+' '+f;
  end;
end;

procedure TFormempsave.tbnsortClick(Sender: TObject);
var i:1..5;
begin
  if manyfield then
   begin
     manyfield:=false;
     tbnsort.hint:='设定多字段排序';
     popupmenu1.Items[0].Enabled :=false;
     popupmenu1.Items[1].Enabled :=false;
     popupmenu1.Items[2].Enabled :=false;
     popupmenu1.Items[3].Enabled :=false;
   end
  else begin
    manyfield:=true;
    tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
    f:='';
    popupmenu1.Items[0].Enabled :=true;
    popupmenu1.Items[1].Enabled :=true;
    popupmenu1.Items[2].Enabled :=true;
    popupmenu1.Items[3].Enabled :=true;
    fcount:=0;
    for i:=1 to 5 do
     begin
      findex[i]:=0;
      fsort[i]:='';
     end;
  end;
end;

procedure TFormempsave.N1Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to fcount do
   if dbgrid1.SelectedIndex =findex[i] then
    begin
     fsort[i]:='ASC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid1.selectedindex;
    fsort[fcount]:='ASC';
    dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
   end;
end;

procedure TFormempsave.N2Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to fcount do
   if dbgrid1.SelectedIndex =findex[i] then
    begin
     fsort[i]:='DESC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid1.selectedindex;
    fsort[fcount]:='DESC';
    dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
   end;
end;

procedure TFormempsave.N4Click(Sender: TObject);
var i:1..5;
    sortexp:string;
begin
  sortexp:='';
  for i:=1 to fcount do
  begin
   if dbgrid1.Columns[findex[i]].Color=clgray then
    begin
     sortexp :=sortexp+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
     if i<fcount then sortexp:=sortexp+',';
    end;
  end;
  if sortexp<>'' then datamod.ADOempsave.sort:=sortexp;
end;

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

procedure TFormempsave.DBGrid1TitleClick(Column: TColumn);
begin
 if not manyfield then
  begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   datamod.ADOempsave.Sort :=column.FieldName+' '+f;
  end;
end;

procedure TFormempsave.FormActivate(Sender: TObject);
begin
  getdbgridwidth(dbgrid1,'p'+'empsave');
end;

procedure TFormempsave.TBEXITClick(Sender: TObject);
begin
  close;
end;

procedure TFormempsave.ToolButton13Click(Sender: TObject);
begin
  datamod.ADOempsave.First;
end;

procedure TFormempsave.ToolButton14Click(Sender: TObject);
begin
  datamod.ADOempsave.Prior;
end;

procedure TFormempsave.ToolButton15Click(Sender: TObject);
begin
  datamod.ADOempsave.Next;
end;

procedure TFormempsave.ToolButton16Click(Sender: TObject);
begin
  datamod.Adoempsave.Last;
end;

procedure TFormempsave.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_F1 then
      begin
        //showmessage('ok!')
     //MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
      Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
      application.HelpJump('SHM_CONTENTS0049');
    end;
end;

procedure TFormempsave.ppReport1BeforePrint(Sender: TObject);
begin
   pplabel57.caption:=companyname1;
   pplabel55.caption:='制表人:'+pubworkname;
end;

procedure TFormempsave.tbnprintClick(Sender: TObject);
begin
   ppreport1.devicetype:='Screen';
   ppreport1.print;
end;

procedure TFormempsave.ppReport1PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormempsave.ToolButton1Click(Sender: TObject);
begin
  with datamod do
  begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('truncate table emp08010');
    adoquery1.SQL.Add(' insert into  emp08010(faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate) '+
                      ' select faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID '+
                      ' ,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate from emp07010  where [save]=1');
    adoquery1.ExecSQL;
    adoquery1.Close;
    adoempsave.Close;
    adoempsave.CommandText:='select * from emp08010';
    adoempsave.Open;
  end;
end;

end.

⌨️ 快捷键说明

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