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

📄 employee.~pas

📁 毕业设计时候开发的人事管理系统
💻 ~PAS
字号:
unit employee;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, ToolWin, Grids, DBGrids,
  DB, ADODB;

type
  Tfrmemployee = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Panel1: TPanel;
    Label15: TLabel;
    edid: TEdit;
    edname: TEdit;
    cmbsex: TComboBox;
    cmbjg: TComboBox;
    cmbmz: TComboBox;
    cmbhf: TComboBox;
    edposition: TEdit;
    cmbworkkind: TComboBox;
    edbirthday: TEdit;
    DateTimePicker1: TDateTimePicker;
    edbm: TComboBox;
    edrcrq: TEdit;
    DateTimePicker2: TDateTimePicker;
    ToolBar1: TToolBar;
    btnadd: TBitBtn;
    btnmodify: TBitBtn;
    btndel: TBitBtn;
    btnfind: TBitBtn;
    btnrefresh: TBitBtn;
    btncancel: TBitBtn;
    GroupBox2: TGroupBox;
    StatusBar1: TStatusBar;
    dbgdshow: TDBGrid;
    ygphoto: TImage;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Label16: TLabel;
    cmbeducation: TComboBox;
    edphone: TEdit;
    edjy: TEdit;
    procedure btncancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure edphoneKeyPress(Sender: TObject; var Key: Char);
    procedure btnaddClick(Sender: TObject);
    procedure btnrefreshClick(Sender: TObject);
    procedure btnfindClick(Sender: TObject);
    procedure btnmodifyClick(Sender: TObject);
    procedure btndelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmemployee: Tfrmemployee;

implementation

uses datarsgl, find, updaters;

{$R *.dfm}

procedure Tfrmemployee.btncancelClick(Sender: TObject);
begin
close; //退出当前操作
end;

procedure Tfrmemployee.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
action:=cafree; //关闭当前子窗口
end;

procedure Tfrmemployee.FormShow(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Add('select * from employeer');
active:=true;
if RecordCount=0 then
begin
showmessage('对不起,您的人事库存在0条记录。请增加人事资料记录!');
edid.SetFocus;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end
else
dbgdshow.DataSource:=datasource1;
dbgdshow.Columns[0].Field:=datasource1.DataSet.FieldByName('number');
dbgdshow.Columns[0].Width:=datasource1.DataSet.Fields[0].DisplayWidth+50;
dbgdshow.Columns[1].Field:=datasource1.DataSet.FieldByName('name');
dbgdshow.Columns[1].Width:=datasource1.DataSet.Fields[1].DisplayWidth+40;
dbgdshow.Columns[2].Field:=datasource1.DataSet.FieldByName('sex');
dbgdshow.Columns[2].Width:=datasource1.DataSet.Fields[2].DisplayWidth+50;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end;
end;

procedure Tfrmemployee.DateTimePicker1CloseUp(Sender: TObject);
begin
edbirthday.Text:=formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime);
end;

procedure Tfrmemployee.DateTimePicker2CloseUp(Sender: TObject);
begin
edrcrq.Text:=formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime);
end;

procedure Tfrmemployee.edphoneKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8]) then
showmessage('请输入正确的数据,本项只能输入数字.');
edphone.Clear;
edphone.setfocus;
end;

procedure Tfrmemployee.FormCreate(Sender: TObject);
begin
cmbsex.Items.Add('男');
cmbsex.Items.Add('女');
cmbhf.Items.Add('是');
cmbhf.Items.Add('否');
cmbeducation.Items.Add('博士');
cmbeducation.Items.Add('硕士');
cmbeducation.Items.Add('本科');
cmbeducation.Items.Add('大专');
cmbeducation.Items.Add('中专');
cmbeducation.Items.Add('高中');
cmbeducation.Items.Add('初中');
cmbeducation.Items.Add('小学');
end;

procedure Tfrmemployee.btnaddClick(Sender: TObject);
begin
if edid.Text='' then
   begin
   showmessage('员工编号不可以为空');
   edid.SetFocus;
   end
else
begin
dmrsgl.ygjbzlqry.Close;
dmrsgl.ygjbzlqry.SQL.Clear;
dmrsgl.ygjbzlqry.SQL.Add('select number from employeer where number='+quotedstr(edid.Text));
dmrsgl.ygjbzlqry.Open;
if dmrsgl.ygjbzlqry.RecordCount<>0 then
   begin
   showmessage('由于人事档案库中已存在相同编号的记录,系统不允许添加.');
   edid.Text:='';
   edid.SetFocus;
   exit;
   end
else
begin
if edname.Text='' then
   begin
   showmessage('员工姓名不能为空');
   edname.SetFocus;
   end
else
begin
if cmbsex.Text='' then
   begin
   showmessage('员工性别不能为空');
   cmbsex.SetFocus;
   end
else
begin
if cmbjg.Text='' then
   begin
   showmessage('员工籍贯不能为空');
   cmbjg.SetFocus;
   end
else
begin
if cmbmz.Text='' then
   begin
   showmessage('员工所在部门不能为空');
   cmbmz.SetFocus;
   end
else
begin
if cmbhf.Text='' then
   begin
   showmessage('员工是否已婚不能为空');
   cmbhf.SetFocus;
   end
else
begin
if cmbeducation.Text='' then
   begin
   showmessage('员工现有学历程度不能为空');
   cmbeducation.SetFocus;
   end
else
begin
if edposition.Text='' then
   begin
   showmessage('员工现任职务不能为空');
   edposition.SetFocus;
   end
else
begin
if cmbworkkind.Text='' then
   begin
   showmessage('员工所做工种不能为空');
   cmbworkkind.SetFocus;
   end
else
begin
if edbirthday.Text='' then
   begin
   showmessage('员工出生日期不能为空');
   edbirthday.SetFocus;
   end
else
begin
if edbm.Text='' then
   begin
   showmessage('员工所在部门不能为空');
   edbm.SetFocus;
   end
else
begin
if (edphone.Text='') or (length(edphone.Text)<7) or (length(edphone.Text)>13) then
   begin
   showmessage('员工联系电话输入内容不符合标准,请重输.');
   edphone.Text:='';
   edphone.SetFocus;
   end
else
begin
if (edrcrq.Text='') or ((edrcrq.Text)<(edbirthday.Text)) then
   begin
   showmessage('输入员工入厂日期不符合系统要求, 请重输.');
   edrcrq.SetFocus;
   end
else
begin
if edjy.Text='' then
   begin
   showmessage('员工工作经历如没有请录入为0'+#13+'其他请如实填写');
   edjy.SetFocus;
   end
else
begin
with dmrsgl.ygjbzlqry do
begin
close;
sql.Clear;
sql.Add('select * from employeer');
open;
append;
fieldbyname('number').AsString:=trim(edid.Text);
fieldbyname('name').AsString:=trim(edname.Text);
fieldbyname('sex').AsString:=trim(cmbsex.Text);
fieldbyname('comefrom').AsString:=trim(cmbjg.Text);
fieldbyname('birthday').AsDateTime:=strtodatetime(trim(edbirthday.Text));
fieldbyname('ygmz').AsString:=trim(cmbmz.Text);
fieldbyname('education').AsString:=trim(cmbeducation.Text);
fieldbyname('phone').AsString:=trim(edphone.Text);
fieldbyname('isjh').AsString:=trim(cmbhf.Text);
fieldbyname('worksort').AsString:=trim(cmbworkkind.Text);
fieldbyname('position').AsString:=trim(edposition.Text);
fieldbyname('ygbm').AsString:=trim(edbm.Text);
fieldbyname('rcrq').AsDateTime:=strtodatetime(trim(edrcrq.Text));
fieldbyname('ygjy').AsString:=trim(edjy.Text);
if messagedlg('请确认输入的数据无误,然后写入系统!',mtconfirmation,[mbyes,mbno],0)=mryes then
   begin
   post;
   edid.Text:='';
   edname.Text:='';
   cmbsex.Text:='';
   cmbjg.Text:='';
   edbirthday.Text:='';
   cmbmz.Text:='';
   cmbeducation.Text:='';
   edphone.Text:='';
   cmbhf.Text:='';
   cmbworkkind.Text:='';
   edposition.Text:='';
   edbm.Text:='';
   edrcrq.Text:='';
   edjy.Text:='';
   end
else
   cancel;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
procedure Tfrmemployee.btnrefreshClick(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Add('select * from employeer');
active:=true;
if RecordCount=0 then
begin
showmessage('对不起,您的人事库存在0条记录。请增加人事资料记录!');
edid.SetFocus;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end
else
dbgdshow.DataSource:=datasource1;
dbgdshow.Columns[0].Field:=datasource1.DataSet.FieldByName('number');
dbgdshow.Columns[0].Width:=datasource1.DataSet.Fields[0].DisplayWidth+50;
dbgdshow.Columns[1].Field:=datasource1.DataSet.FieldByName('name');
dbgdshow.Columns[1].Width:=datasource1.DataSet.Fields[1].DisplayWidth+40;
dbgdshow.Columns[2].Field:=datasource1.DataSet.FieldByName('sex');
dbgdshow.Columns[2].Width:=datasource1.DataSet.Fields[2].DisplayWidth+50;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
edid.SetFocus;
end;
end;

procedure Tfrmemployee.btnfindClick(Sender: TObject);
begin
application.CreateForm(tfrmfind,frmfind);
frmfind.Show;
end;

procedure Tfrmemployee.btnmodifyClick(Sender: TObject);
begin
application.CreateForm(tfrmupdaters,frmupdaters);
frmupdaters.Show;
end;

procedure Tfrmemployee.btndelClick(Sender: TObject);
begin
application.CreateForm(tfrmupdaters,frmupdaters);
frmupdaters.Show;
end;

end.

⌨️ 快捷键说明

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