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

📄 attendancemanager.pas

📁 本系统是一个基于delphi7环境开发的人事管理系统
💻 PAS
字号:
unit AttendanceManager;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ComCtrls;

type
  TForm15 = class(TForm)
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label11: TLabel;
    Button5: TButton;
    Button6: TButton;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label23: TLabel;
    Label24: TLabel;
    Button7: TButton;
    StatusBar1: TStatusBar;
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    procedure deldata(Sender: TObject);
    procedure InPutClear;
    procedure putdata;
    procedure adddata;
    { Public declarations }
  end;

var
  Form15: TForm15;

implementation
uses RealTimeCheck, WelcomePicture, MainMenu, QueryAttendanceInformation;
{$R *.dfm}

procedure TForm15.Button6Click(Sender: TObject);
begin
form17.Show;
end;

procedure TForm15.Button1Click(Sender: TObject);
var
check_no:String[5];
check_Data:String[20];
begin
check_no:='';
check_Data:='';

if (self.Edit1.Text='') or (combobox1.Text='') or (combobox2.Text='') then
begin
showmessage('员工编号和登记年月都不能为空值!');
exit;
end;
 form1.ADOTable1.Active:=false;
form1.ADOTable1.TableName:='employees';
//if form1.ADOTable1.Active=false then
form1.ADOTable1.Active:=true;
//check_no:='';
check_no:=self.Edit1.Text;
if  form1.adotable1.Locate('员工编号',check_no,[])  then       //登记所属年月
begin
 form1.ADOTable1.Active:=false;
form1.ADOTable1.TableName:='Checkin';
//if form1.ADOTable1.Active=false then
form1.ADOTable1.Active:=true;
check_Data:=self.ComboBox1.Text+'年'+self.ComboBox2.Text+'月';
//showmessage(check_Data);
    if form1.adotable1.Locate('员工编号',check_no,[])then //and form1.adotable1.Locate('登记所属年月',check_Data,[]) then    //验证密码
          begin
          while  not form1.ADOTable1.Eof  do  ////////这里非常关键的语句阿,哈哈
          begin
         if form1.ADOTable1.FieldByName('登记所属年月').AsString=check_Data then
         begin
         showmessage('同一员工每月不能多于一条记录!操作失败!');
         exit;
         end;
           form1.ADOTable1.Next;        ////////这里非常关键的语句阿,哈哈
         end;
           end;
end else begin
showmessage('公司没此员工号,操作失败!');
edit1.Text:='';
exit;
end;


adddata;
{    ////增加 员工信息操作
with Form1.adoquery1 do
begin
   close;
   sql.Clear;
   sql.add('insert into Checkin(员工编号,全勤天数,事假天数,旷工天数,迟到天数,早退天数,休假天数,日常加班天数,法定节假日加班,周末加班,登记所属年月)');
   sql.add('values(:员工编号,:全勤天数,:事假天数,:旷工天数,:迟到天数,:早退天数,:休假天数,:日常加班天数,:法定节假日加班,:周末加班,:登记所属年月)');
   parameters[0].Value:=edit1.Text;
   parameters[1].Value:=edit2.Text;
   parameters[2].Value:=edit3.Text;
   parameters[3].Value:=edit4.Text;
   parameters[4].Value:=edit5.Text;
   parameters[5].Value:=edit6.Text;
   parameters[6].Value:=edit7.Text;
   parameters[7].Value:=edit8.Text;
   parameters[8].Value:=edit9.Text;
   parameters[9].Value:=edit10.Text;
   parameters[10].Value:=self.ComboBox1.Text+'年'+self.ComboBox2.Text+'月' ;
   execsql;
   form1.ADOQuery1.Active:=false;
   close;
   sql.Clear;
   sql.Add('select * from Checkin');
   if form1.ADOQuery1.Active=false  then
       form1.ADOQuery1.Active:=true;
   open;
   messageBeep(0);
   end;     }
InputClear;
  Button2.Enabled:=true;
  Button3.Enabled:=true;
 Button4.Enabled:=false;
//showmessage('增加数据成功!');
//self.Label26.Caption:='增加数据成功!';
 statusbar1.Panels[0].Text:='增加数据成功!';
end;

procedure TForm15.Button2Click(Sender: TObject);
begin
if (self.DBGrid1.FieldCount<>0) and
(MessageDlg('确认要删除  "员工编号:'+self.DBGrid1.Fields[0].AsString+' 考勤年月: '+self.DBGrid1.Fields[10].AsString+'..."   记录吗?',mtConfirmation,[mbOK,mbCancel],0)=mrOK) then
 self.deldata(Sender);
InputClear;

//inputString:=inputbox('删除数据','请输入员工的编号','');
with Form1.adoquery1 do
begin
 {  close;
   sql.Clear;
   sql.add('delete from Checkin where 员工编号=:员工编号');
    parameters[0].Value:=inputString;
   execsql;      }
   close;
   sql.Clear;
   sql.Add('select * from Checkin');
   if form1.ADOQuery1.Active=false  then
       form1.ADOQuery1.Active:=true;
   open;
   messageBeep(0);
   end;
   //self.Label26.Caption:='删除数据成功!';
    statusbar1.Panels[0].Text:='删除数据成功!';
end;

procedure TForm15.Button3Click(Sender: TObject);    ///修改按钮
begin
if (self.DBGrid1.FieldCount<>0) and
(MessageDlg('确认要修改  "员工编号:'+self.DBGrid1.Fields[0].AsString+'考勤年月: '+self.DBGrid1.Fields[10].AsString+'..."   记录吗?',mtConfirmation,[mbOK,mbCancel],0)=mrOK) then
begin
putdata;
  Button2.Enabled:=false;
 Button3.Enabled:=false;
 Button4.Enabled:=true;
//adddata;
end;
{with Form1.adoquery1 do
begin
   close;
   sql.Clear;
   sql.Add('select * from Checkin');
   if form1.ADOQuery1.Active=false  then
       form1.ADOQuery1.Active:=true;
   open;
   messageBeep(0);
   end;
showmessage('请在列表上修改');
dbgrid1.ReadOnly:=false;  }
//self.Label26.Caption:='请在上面输入框内修改所需数据!';
   statusbar1.Panels[0].Text:='请在上面输入框内修改所需数据!';
end;

procedure TForm15.Button4Click(Sender: TObject);   ////修改提交按钮
begin
 dbgrid1.ReadOnly:=true;
 deldata(Sender);
 adddata;
 Inputclear;
  Button2.Enabled:=true;
  Button3.Enabled:=true;
 Button4.Enabled:=false;
// showmessage('修改数据成功!');
//self.Label26.Caption:='修改数据成功!';
   statusbar1.Panels[0].Text:='修改数据成功!';
end;

procedure TForm15.Button5Click(Sender: TObject);
begin
form15.close;
end;

procedure TForm15.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form3.Enabled:=true;
form1.ADOQuery1.SQL.Clear;
end;

procedure TForm15.FormShow(Sender: TObject);
begin
form1.ADOQuery1.SQL.Clear;
statusbar1.Panels[0].Text:='欢迎使用考勤管理操作!';
self.Button4.Enabled:=false;
 with Form1.adoquery1 do
begin
   close;
   sql.Clear;
   sql.Add('select * from Checkin');
   if form1.ADOQuery1.Active=false  then
       form1.ADOQuery1.Active:=true;
   open;
      execsql;
   //messageBeep(0);
   end;
end;

procedure TForm15.deldata(Sender: TObject);
var
work_no:String;
FilData:String;
begin
work_no:=self.DBGrid1.Fields[0].AsString;
FilData:=self.DBGrid1.Fields[10].AsString;
//showmessage(inputString);
with Form1.adoquery1 do
begin
   close;
   sql.Clear;
   sql.add('delete from Checkin where 员工编号=:员工编号 and 登记所属年月=:登记所属年月 ');
   parameters[0].Value:=work_no;
  parameters[1].Value:=FilData;
   execsql;
  {close;
   sql.Clear;
   sql.Add('select * from Checkin');
  // if form1.ADOQuery1.Active=false  then
    //   form1.ADOQuery1.Active:=true;
   open;        }
   messageBeep(0);  
   end;         
end;

procedure TForm15.InPutClear;
begin
edit1.Text:='';
edit2.Text:='0';
edit3.Text:='0';
edit4.Text:='0';
edit5.Text:='0';
edit6.Text:='0';
edit7.Text:='0';
edit8.Text:='0';
edit9.Text:='0';
edit10.Text:='0';
self.ComboBox1.Text:='2006';
self.ComboBox2.Text:='1';
end;

procedure TForm15.putdata;
begin
edit1.Text:=self.DBGrid1.Fields[0].AsString;
edit2.Text:=self.DBGrid1.Fields[1].AsString;
edit3.Text:=self.DBGrid1.Fields[2].AsString;
edit4.Text:=self.DBGrid1.Fields[3].AsString;
edit5.Text:=self.DBGrid1.Fields[4].AsString;
edit6.Text:=self.DBGrid1.Fields[5].AsString;
edit7.Text:=self.DBGrid1.Fields[6].AsString;
edit8.Text:=self.DBGrid1.Fields[7].AsString;
edit9.Text:=self.DBGrid1.Fields[8].AsString;
edit10.Text:=self.DBGrid1.Fields[9].AsString;
end;

procedure TForm15.adddata;
begin

with Form1.adoquery1 do
begin
   close;
   sql.Clear;
   sql.add('insert into Checkin(员工编号,全勤天数,事假天数,旷工天数,迟到天数,早退天数,休假天数,日常加班天数,法定节假日加班,周末加班,登记所属年月)');
   sql.add('values(:员工编号,:全勤天数,:事假天数,:旷工天数,:迟到天数,:早退天数,:休假天数,:日常加班天数,:法定节假日加班,:周末加班,:登记所属年月)');
   parameters[0].Value:=edit1.Text;
   parameters[1].Value:=edit2.Text;
   parameters[2].Value:=edit3.Text;
   parameters[3].Value:=edit4.Text;
   parameters[4].Value:=edit5.Text;
   parameters[5].Value:=edit6.Text;
   parameters[6].Value:=edit7.Text;
   parameters[7].Value:=edit8.Text;
   parameters[8].Value:=edit9.Text;
   parameters[9].Value:=edit10.Text;
   parameters[10].Value:=self.ComboBox1.Text+'年'+self.ComboBox2.Text+'月' ;
   execsql;
   form1.ADOQuery1.Active:=false;
   close;
   sql.Clear;
   sql.Add('select * from Checkin');
   if form1.ADOQuery1.Active=false  then
       form1.ADOQuery1.Active:=true;
   open;
   messageBeep(0);
   end;
end;

procedure TForm15.Button7Click(Sender: TObject);
begin
form16.Show;
form15.Close;
form3.Enabled:=false;
end;

procedure TForm15.FormCreate(Sender: TObject);
begin
//self.Label26.Caption:='';

end;

end.

⌨️ 快捷键说明

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