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

📄 htgl.pas

📁 实现人力资源的管理
💻 PAS
字号:
unit htgl;

interface

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

type
  Thtglfrm = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    Memo1: TMemo;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    SpeedButton2: TSpeedButton;
    procedure FormShow(Sender: TObject);
    procedure editvalue;
    procedure editclear;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  htglfrm: Thtglfrm;

implementation

uses dbdata;

{$R *.dfm}

procedure Thtglfrm.FormShow(Sender: TObject);
begin

with data.ADOQYhtgl do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 合同表');
      open;
   end;
      data.ADOQYhtgl.Active:=true;
      if data.ADOQYhtgl.FieldByName('合同编号').Value<>null then
          editvalue
      else
         application.MessageBox('数据库中没有数据,请添加数据!','提示',64);
with data.ADOpublic do
   begin
      close;
      sql.Clear;
      sql.Add('select distinct 编号 from 人事表');
      open;
   end;
   while not data.ADOpublic.Eof do
      begin
         combobox1.Items.Add(data.ADOpublic.FieldByName('编号').Value);
         data.ADOpublic.Next;
      end;
with data.ADOpublic do
   begin
      close;
      sql.Clear;
      sql.Add('select distinct 合同类型 from 合同类型表');
      open;
   end;
   while Not Data.ADOpublic.Eof do
  begin
    ComboBox3.Items.Add(Data.ADOpublic.FieldByName('合同类型').Value);
    Data.ADOpublic.Next;
  end;
  editclear;
end;

procedure Thtglfrm.editvalue;
begin
edit1.Text:=data.ADOQYhtgl.FieldByName('合同编号').Value;
combobox1.Text:=data.ADOQYhtgl.FieldByName('员工编号').Value;
datetimepicker1.Date:=data.ADOQYhtgl.FieldByName('登记日期').Value;
datetimepicker2.Date:=data.ADOQYhtgl.FieldByName('合同开始日期').Value;
datetimepicker3.Date:=data.ADOQYhtgl.FieldByName('合同结束日期').Value;
combobox3.Text:=data.ADOQYhtgl.FieldByName('合同类型').Value;
edit2.Text:=data.ADOQYhtgl.FieldByName('合同期限').Value;
edit3.Text:=data.ADOQYhtgl.FieldByName('合同期工资').Value;
combobox2.Text:=data.ADOQYhtgl.FieldByName('状态').Value;
memo1.Text:=data.ADOQYhtgl.FieldByName('备注').Value;
end;

procedure Thtglfrm.editclear;
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
combobox1.Text:='';
combobox2.Text:='';
combobox3.Text:='';
datetimepicker1.Date:=date();
datetimepicker2.Date:=date();
datetimepicker3.Date:=date();
memo1.Clear;
end;

procedure Thtglfrm.SpeedButton1Click(Sender: TObject);
var
s,m:string;
i:integer;
begin
editclear;
s:= FormatDateTime('yyyy',Now());
  With data.ADOpublic do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(合同编号) as ss From 合同表 ');
    Open;
  end;
If data.ADOpublic.FieldByName('ss').Value = null then
    s := s + '001'
  else
  begin
    m:= Trim(data.ADOpublic.FieldByName('ss').Value) ;
    i:= StrToInt(copy(m,6,5)) ;
    if i<9 then
      s:= s + '00'+ InttoStr(i +1)
    else if i<99 then
      s:= s + '0'+ InttoStr(i +1)
    else
      s:= s +InttoStr(i +1);
  end;
  edit1.Text:=s;
  combobox1.SetFocus;
  combobox3.SetFocus;
end;

procedure Thtglfrm.SpeedButton2Click(Sender: TObject);
var
a,b,c:string;
begin
if messagebox(self.Handle,'确定要修改该信息吗?','提示',mb_yesno+mb_iconquestion)=idyes then
a:=datetostr(datetimepicker1.Date);
b:=datetostr(datetimepicker2.Date);
c:=datetostr(datetimepicker3.Date);
with data.ADOQYhtgl do
   begin
      edit;
      fieldbyname('合同编号').Value:=edit1.Text;
      fieldbyname('员工编号').Value:=combobox1.Text;
      fieldbyname('登记日期').Value:=a;
      fieldbyname('合同开始日期').Value:=b;
      fieldbyname('合同结束日期').Value:=c;
      fieldbyname('合同类型').Value:=combobox3.Text;
      fieldbyname('合同期限').Value:=edit2.Text;
      fieldbyname('合同期工资').Value:=edit3.Text;
      fieldbyname('状态').Value:=combobox2.Text;
      fieldbyname('备注').Value:=memo1.Text;
      post;
   end;
      editclear;
      application.MessageBox('修改成功','提示',64);
end;

procedure Thtglfrm.SpeedButton3Click(Sender: TObject);
var
a,b,c:string;
begin
a:=datetostr(datetimepicker1.Date);
b:=datetostr(datetimepicker2.Date);
c:=datetostr(datetimepicker3.Date);
if (combobox3.Text<>'') and (edit2.Text<>'') and (edit3.Text<>'') and (combobox2.Text<>'') then
try
with data.ADOQYhtgl do
   begin
      close;
      sql.Clear;
      sql.Add('insert 合同表 values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j)');
      parameters.ParamByName('a').Value:=trim(edit1.Text);
      parameters.ParamByName('b').Value:=trim(combobox1.Text);
      parameters.ParamByName('c').Value:=a;
      parameters.ParamByName('d').Value:=b;
      parameters.ParamByName('e').Value:=c;
      parameters.ParamByName('f').Value:=trim(combobox3.Text);
      parameters.ParamByName('g').Value:=trim(edit2.Text);
      parameters.ParamByName('h').Value:=trim(edit3.Text);
      parameters.ParamByName('i').Value:=trim(combobox2.Text);
      parameters.ParamByName('j').Value:=trim(memo1.Text);
      execsql;
   end;
      self.OnShow(sender);
      editclear;
      application.MessageBox('保存成功','提示',64);
      close;
except
   application.MessageBox('保存失败','提示',64);
end
else
   application.MessageBox('请完整添写信息','提示',64);
end;

procedure Thtglfrm.SpeedButton4Click(Sender: TObject);
var
djdate,zzdate:Tdatetime;
state:string;
begin
state:=data.ADOQYhtgl.FieldByName('状态').Value;
djdate:=date();
zzdate:=data.ADOQYhtgl.FieldByName('合同结束日期').Value;
if (djdate<zzdate) and (state='在职') then
application.MessageBox('该员工的合同期还未满,不能删除!','提示',64)
else
if messagebox(self.Handle,'真的要删除吗?','提示',mb_yesno+mb_iconquestion)=idyes then
data.ADOQYhtgl.Delete;
editclear;
end;

procedure Thtglfrm.SpeedButton5Click(Sender: TObject);
begin
close;
end;

procedure Thtglfrm.DBGrid1CellClick(Column: TColumn);
begin
if dbgrid1.DataSource.DataSet<>nil then
   if dbgrid1.DataSource.DataSet.RecordCount>0 then
      editvalue;
end;

end.

⌨️ 快捷键说明

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