gz_synthunit.pas

来自「DELPHI 编写的人事管理系统,根据职工查询各种信息」· PAS 代码 · 共 337 行

PAS
337
字号
unit GZ_SynthUnit;

interface

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

type
  TGZ_SynthForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Bevel1: TBevel;
    TreeView1: TTreeView;
    DBGrid1: TDBGrid;
    TabSheet2: TTabSheet;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    DBGrid2: TDBGrid;
    Panel1: TPanel;
    Label6: TLabel;
    GroupBox2: TGroupBox;
    Memo1: TMemo;
    GroupBox3: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    Edit2: TEdit;
    ComboBox4: TComboBox;
    StringGrid1: TStringGrid;
    GroupBox4: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    DBGrid3: TDBGrid;
    ImageList1: TImageList;
    GroupBox5: TGroupBox;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    ADOQuery3: TADOQuery;
    DataSource3: TDataSource;
    ADOQuery4: TADOQuery;
    DataSource4: TDataSource;
    procedure TreeView1Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox2Click(Sender: TObject);
    procedure ComboBox3Click(Sender: TObject);
    procedure ComboBox4Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
  private
    { Private declarations }
    str0,str1:string;
  public
    { Public declarations }
  end;

var
  GZ_SynthForm: TGZ_SynthForm;

implementation
uses Login_Unit;

{$R *.dfm}

procedure TGZ_SynthForm.TreeView1Click(Sender: TObject);
{var
 i:integer;
 node:ttreenode;}
begin
if treeview1.selected.Parent=nil then
  begin
    self.ADOQuery1.Close;
    self.ADOQuery1.SQL.Clear;
    self.ADOQuery1.SQL.Add('select * from GZ_Table');
    self.ADOQuery1.Open;
  end
 else
  with self.ADOQuery1 do
   begin
    self.ADOQuery1.Close;
    self.ADOQuery1.SQL.Clear;
    self.ADOQuery1.SQL.Add('select GZ_Table.职工编号,GZ_Table.职工姓名,岗位工资,技能工资,物价补贴,书报费,卫生费,小孩补贴,工龄工资,合同补贴,奖金,工资总额 from ZG_Table,GZ_Table where ZG_Table.职工编号=GZ_Table.职工编号 and ZG_Table.工作部门=:a');
    self.ADOQuery1.Parameters.ParamByName('a').Value:=treeview1.Selected.Text;
    self.ADOQuery1.Open;
   end;
end;

procedure TGZ_SynthForm.DBGrid1DblClick(Sender: TObject);
begin
groupbox5.Visible:=true;
dbedit1.DataField:='职工编号';
dbedit2.DataField:='职工姓名';
dbedit3.DataField:='岗位工资';
dbedit4.DataField:='技能工资';
dbedit5.DataField:='物价补贴';
dbedit6.DataField:='书报费';
dbedit7.DataField:='卫生费';
dbedit8.DataField:='小孩补贴';
dbedit9.DataField:='工龄工资';
dbedit10.DataField:='合同补贴';
dbedit11.DataField:='奖金';
dbedit12.DataField:='工资总额';
end;

procedure TGZ_SynthForm.FormShow(Sender: TObject);
var
  i:integer;
  node:ttreenode;
begin
  node:=treeview1.TopItem;
  for i:=1 to self.ADOQuery4.RecordCount do
    begin
        treeview1.Items.AddChild(node,self.ADOQuery4.Fields[0].value);
        self.ADOQuery4.Next;
    end;
    self.ADOQuery4.Close;
    with self.ADOQuery2 do
  begin
    self.ADOQuery2.Close;
    self.ADOQuery2.SQL.Clear;
    self.ADOQuery2.SQL.Add('update GZ_Table set 工资总额=岗位工资+技能工资+物价补贴+书报费+卫生费+小孩补贴+合同补贴+工龄工资+奖金');
    self.ADOQuery2.ExecSQL;
  end;
  with self.ADOQuery2 do
    begin
      self.ADOQuery2.Close;
      self.ADOQuery2.SQL.Clear;
      self.ADOQuery2.SQL.Add('select * from GZ_Table');
      self.ADOQuery2.Open;
    end;
end;

procedure TGZ_SynthForm.ComboBox1Change(Sender: TObject);
begin
label2.Enabled:=true;
edit1.Enabled:=true;
label3.Enabled:=true;
end;

procedure TGZ_SynthForm.Button2Click(Sender: TObject);
begin
self.ADOQuery2.Filtered:=false;
self.ADOQuery2.Filter:='职工姓名<>'+''''+'yy'+'''';
self.ADOQuery2.Filtered:=true;
end;

procedure TGZ_SynthForm.Button1Click(Sender: TObject);
begin
if combobox1.Text='职工编号' then
  begin
    self.ADOQuery2.Filtered:=false;
    self.ADOQuery2.Filter:='职工编号='+''''+edit1.Text+'''';
    self.ADOQuery2.Filtered:=true;
  end;
if combobox1.Text='职工姓名' then
  begin
    self.ADOQuery2.Filtered:=false;
    self.ADOQuery2.Filter:='职工姓名='+''''+edit1.Text+'''';
    self.ADOQuery2.Filtered:=true;
  end;
 edit1.Text:='';
 label5.Visible:=true;
 label4.Caption:=self.ADOQuery2.fieldbyname('工资总额').AsString;
end;

procedure TGZ_SynthForm.ComboBox2Click(Sender: TObject);
begin
   str0:=combobox2.Text;
   label8.Enabled:=true;
   combobox3.Enabled:=true;
end;

procedure TGZ_SynthForm.ComboBox3Click(Sender: TObject);
begin
   if combobox3.Text='不等于' then
    str1:='<>'
   else if combobox3.Text='等于' then
           str1:='='
        else
           str1:=' like ';
           label9.Enabled:=true;
           edit2.Enabled:=true;
end;

procedure TGZ_SynthForm.ComboBox4Click(Sender: TObject);
begin
  stringgrid1.Cells[3,stringgrid1.rowcount-1]:=combobox3.Text;
  stringgrid1.RowCount:=stringgrid1.RowCount+1;
  if combobox4.Text='和' then
    memo1.Text:=memo1.Text+' and '
    else
     memo1.Text:=memo1.Text+' or ';
  combobox4.Enabled:=false;
  edit2.Text:='';
end;

procedure TGZ_SynthForm.Edit2Change(Sender: TObject);
begin
     if edit2.Text<>'' then
        bitbtn1.Enabled:=true
     else
        bitbtn1.Enabled:=false;
end;

procedure TGZ_SynthForm.BitBtn1Click(Sender: TObject);
var
  str2:string;
begin
    stringgrid1.Cells[0,stringgrid1.rowcount-1]:=combobox2.Text;
    stringgrid1.Cells[1,stringgrid1.rowcount-1]:=combobox3.Text;
    stringgrid1.Cells[2,stringgrid1.rowcount-1]:=edit2.Text;
    if combobox3.Text='前含于' then
       str2:=edit2.Text+'%'
      else if combobox3.Text='后含于' then
              str2:='%'+edit2.Text
            else if combobox3.Text='含于' then
                    str2:='%'+edit2.Text+'%'
                 else
                    str2:=edit2.Text;
    memo1.Lines.Add(str0+str1+''''+str2+'''');
    bitbtn5.Enabled:=true;
    combobox4.enabled:=true;
    bitbtn6.Enabled:=true;
end;

procedure TGZ_SynthForm.BitBtn6Click(Sender: TObject);
begin
if (edit2.Text='') or (combobox2.Text='') or (combobox3.Text='') then
   begin
    messagebox(GZ_SynthForm.handle,'条件不正确,请检查所设条件式!','提示',mb_iconerror);
     end
  else
  begin
  ADOquery1.Close;
  ADOquery1.SQL.Clear;
  ADOquery1.sql.Add('select * from GZ_Table where '+memo1.Text);
 if ADOquery1.Prepared=false then ADOquery1.Prepared;
   begin
    ADOquery1.Open;
    bitbtn2.Enabled:=true;
  end;
 end
end;

procedure TGZ_SynthForm.BitBtn5Click(Sender: TObject);
begin
    stringgrid1.RowCount:=2;
    stringgrid1.Cells[0,stringgrid1.rowcount-1]:='';
    stringgrid1.Cells[1,stringgrid1.rowcount-1]:='';
    stringgrid1.Cells[2,stringgrid1.rowcount-1]:='';
    stringgrid1.Cells[3,stringgrid1.rowcount-1]:='';
   memo1.Text:='';
   label8.Enabled:=false;
   label9.Enabled:=false;
     combobox3.Enabled:=false;
     edit2.Enabled:=false;
   edit2.Text:='';
   bitbtn5.Enabled:=false;
    bitbtn6.Enabled:=false;
   combobox4.Enabled:=false;
end;

procedure TGZ_SynthForm.BitBtn3Click(Sender: TObject);
begin
  self.ADOQuery1.close;
  self.ADOQuery1.sql.clear;
  self.ADOQuery1.sql.Add('select * from GZ_Table');
  if self.ADOQuery1.Prepared=false then self.ADOQuery1.Prepared;
     self.ADOQuery1.open;
end;

procedure TGZ_SynthForm.BitBtn2Click(Sender: TObject);
begin
  self.ADOQuery1.close;
  self.ADOQuery1.sql.clear;
  self.ADOQuery1.sql.Add('delete from ZG_Table where '+memo1.Text);
  self.ADOQuery1.ExecSQL;
  bitbtn2.Enabled:=false;
end;

procedure TGZ_SynthForm.BitBtn4Click(Sender: TObject);
begin
close;
end;

end.

⌨️ 快捷键说明

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